smart-home-engine 1.11.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,232 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-tUihOf0o.js","assets/monaco-langs-Dt8a9eeo.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-CVSpCHxf.js"])))=>i.map(i=>d[i]);
2
- var $F=Object.defineProperty;var SS=o=>{throw TypeError(o)};var UF=(o,e,t)=>e in o?$F(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var wn=(o,e,t)=>UF(o,typeof e!="symbol"?e+"":e,t),Kb=(o,e,t)=>e.has(o)||SS("Cannot "+t);var ke=(o,e,t)=>(Kb(o,e,"read from private field"),t?t.call(o):e.get(o)),xn=(o,e,t)=>e.has(o)?SS("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),mn=(o,e,t,i)=>(Kb(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),Zn=(o,e,t)=>(Kb(o,e,"access private method"),t);import{_ as e2,m as t2,l as gi,A as wo,C as qe,I as Qn,D as pp,a as vs,g as i2,M as Xt,b as $i,E as aa,c as U,r as Nn,d as Pr,e as S,f as qF,h as Kn,R as vn,S as Hi,i as oo,j as Tr,k as Dn,n as an,o as Te,p as bt,K as ys,q as li,s as Mt,t as Is,u as ee,v as fn,O as Oa,w as ks,P as _i,x as Zb,y as xp,z as n2,B as xl,F as la,G as XC,H as Gs,U as On,J as m0,L as bi,N as El,Q as GF,T as vo,V as YC,W as KF,X as s2,$ as ai,Y as Fn,Z as Sn,a0 as is,a1 as en,a2 as Xo,a3 as bg,a4 as It,a5 as $x,a6 as ZF,a7 as XF,a8 as Ls,a9 as YF,aa as ca,ab as So,ac as Di,ad as o2,ae as Xn,af as QF,ag as JF,ah as Co,ai as G0,aj as ws,ak as T_,al as go,am as zc,an as ww,ao as M_,ap as $s,aq as v0,ar as Us,as as R_,at as N_,au as e3,av as mp,aw as K0,ax as Pl,ay as t3,az as Z0,aA as i3,aB as Sw,aC as n3,aD as s3,aE as DS,aF as ms,aG as ml,aH as po,aI as on,aJ as hl,aK as o3,aL as Va,aM as Go,aN as Ws,aO as da,aP as Dw,aQ as Ps,aR as gs,aS as vm,aT as sn,aU as r2,aV as r3,aW as Aw,aX as O_,aY as kw,aZ as Bw,a_ as Cd,a$ as a3,b0 as Fw,b1 as l3,b2 as Lw,b3 as Tl,b4 as Ml,b5 as _0,b6 as Cg,b7 as Ro,b8 as vp,b9 as _m,ba as Xb,bb as zn,bc as Iw,bd as _p,be as H_,bf as c3,bg as a2,bh as Eg,bi as b0,bj as yg,bk as bp,bl as W_,bm as An,bn as Vc,bo as Cp,bp as d3,bq as u3,br as Pw,bs as h3,bt as bm,bu as cr,bv as Tw,bw as C0,bx as Rl,by as X0,bz as un,bA as E0,bB as l2,bC as Ep,bD as f3,bE as Ed,bF as ei,bG as AS,bH as Ux,bI as c2,bJ as Nr,bK as ia,bL as Un,bM as y0,bN as Ar,bO as w0,bP as ts,bQ as wg,bR as Hu,bS as QC,bT as d2,bU as u2,bV as h2,bW as Mw,bX as Fo,bY as Mn,bZ as yp,b_ as f2,b$ as vl,c0 as z_,c1 as g3,c2 as Fh,c3 as kS,c4 as wp,c5 as g2,c6 as Lh,c7 as p3,c8 as br,c9 as V_,ca as x3,cb as Do,cc as ua,cd as Sp,ce as Sg,cf as p2,cg as or,ch as Dp,ci as j_,cj as m3,ck as v3,cl as _3,cm as Y0,cn as ja,co as zs,cp as b3,cq as Rw,cr as C3,cs as E3,ct as BS,cu as y3,cv as Ap,cw as yl,cx as JC,cy as _u,cz as wl,cA as w3,cB as Ha,cC as kr,cD as jo,cE as FS,cF as ao,cG as kp,cH as Ic,cI as $a,cJ as S3,cK as ha,cL as Dg,cM as $_,cN as x2,cO as D3,cP as A3,cQ as Nw,cR as k3,cS as Ag,cT as B3,cU as oc,cV as kg,cW as LS,cX as F3,cY as L3,cZ as Ga,c_ as I3,c$ as Ow,d0 as m2,d1 as v2,d2 as _2,d3 as b2,d4 as P3,d5 as T3,d6 as C2,d7 as E2,d8 as M3,d9 as Hw,da as R3,db as N3,dc as os,dd as O3,de as Ww,df as H3,dg as Ih,dh as IS,di as W3,dj as z3,dk as V3,dl as j3,dm as $3,dn as U3,dp as S0,dq as U_,dr as e1,ds as q3,dt as G3,du as PS,dv as t1,dw as K3,dx as TS,dy as Yb,dz as Z3,dA as y2,dB as X3,dC as w2,dD as i1,dE as Y3,dF as Q3,dG as J3,dH as S2,dI as D2,dJ as e4,dK as Cm,dL as A2,dM as q_,dN as t4,dO as i4,dP as Pc,dQ as zw,dR as n4,dS as MS,dT as RS,dU as s4,dV as Ph,dW as k2,dX as o4,dY as r4,dZ as a4,d_ as l4,d$ as B2,e0 as F2,e1 as L2,e2 as I2,e3 as c4,e4 as Wa,e5 as NS,e6 as d4,e7 as Bp,e8 as u4,e9 as Mf,ea as P2,eb as OS,ec as Bg,ed as T2,ee as Em,ef as h4,eg as M2,eh as f4,ei as R2,ej as g4,ek as p4,el as N2,em as O2,en as Sl,eo as G_,ep as x4,eq as H2,er as Ko,es as yd,et as W2,eu as m4,ev as v4,ew as z2,ex as V2,ey as _4,ez as j2,eA as $2,eB as Fg,eC as b4,eD as C4,eE as E4,eF as y4,eG as wf,eH as HS,eI as w4,eJ as S4,eK as D4,eL as ym,eM as Js,eN as A4,eO as n1,eP as Wu,eQ as k4,eR as dl,eS as B4,eT as F4,eU as U2,eV as L4,eW as Jf,eX as I4,eY as P4,eZ as T4,e_ as M4,e$ as WS,f0 as zS,f1 as VS,f2 as zu,f3 as Vw,f4 as q2,f5 as s1,f6 as qx,f7 as G2,f8 as wm,f9 as R4,fa as N4,fb as O4,fc as H4,fd as jw,fe as K2,ff as W4,fg as Sm,fh as Z2,fi as X2,fj as z4,fk as V4,fl as j4,fm as $4,fn as U4,fo as q4,fp as G4,fq as K4,fr as Y2,fs as Z4,ft as Dm,fu as Q2,fv as X4,fw as J2,fx as Y4,fy as ek,fz as tk,fA as Q4,fB as jS,fC as ik,fD as $S,fE as J4,fF as Qb,fG as US,fH as eL,fI as tL,fJ as iL,fK as La,fL as Tc,fM as nL,fN as qS,fO as Gx,fP as sL,fQ as fl,fR as K_,fS as o1,fT as oL,fU as nk,fV as sk,fW as lo,fX as GS,fY as dx,fZ as $w,f_ as rL,f$ as aL,g0 as lL,g1 as cL,g2 as dL,g3 as uL,g4 as hL,g5 as fL,g6 as KS,g7 as gL,g8 as pL,g9 as xL,ga as D0,gb as eg,gc as ok,gd as mL,ge as Uw,gf as Kx,gg as ux,gh as Jb,gi as vL,gj as _L,gk as rk,gl as bL,gm as qw,gn as CL,go as EL,gp as ak,gq as Z_,gr as yL,gs as Am,gt as Gw,gu as Kw,gv as Zw,gw as lk,gx as ck,gy as dk,gz as uk,gA as hk,gB as fk,gC as gk,gD as ZS,gE as pk,gF as ah,gG as wL,gH as SL,gI as DL,gJ as AL,gK as xk,gL as kL,gM as BL,gN as XS,gO as r1,gP as hc,gQ as FL,gR as LL,gS as IL,gT as PL,gU as TL,gV as ML,gW as YS,gX as Xw,gY as a1,gZ as RL,g_ as l1,g$ as NL,h0 as OL,h1 as HL,h2 as WL,h3 as Yw,h4 as mk,h5 as QS,h6 as JS,h7 as zL,h8 as VL,h9 as jL,ha as e8,hb as eC,hc as $L,hd as UL,he as qL,hf as tC,hg as vk,hh as _k,hi as bk,hj as Ck,hk as Dl,hl as Ek,hm as Qw,hn as t8,ho as GL,hp as yk,hq as KL,hr as ZL,hs as X_,ht as Y_,hu as Vu,hv as Q_,hw as Fp,hx as XL,hy as J_,hz as YL,hA as QL,hB as JL,hC as wk,hD as Sf,hE as e7,hF as t7,hG as i7,hH as n7,hI as Lp,hJ as s7,hK as Sk,hL as Dk,hM as Ak,hN as c1,hO as o7,hP as r7,hQ as a7,hR as l7,hS as c7,hT as d1,hU as d7,hV as u7,hW as h7,hX as f7,hY as g7,hZ as p7,h_ as x7,h$ as m7,i0 as kk,i1 as v7,i2 as _7,i3 as b7,i4 as i8,i5 as C7,i6 as E7,i7 as ad,i8 as xr,i9 as n8,ia as y7,ib as w7,ic as S7}from"./monaco-langs-Dt8a9eeo.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))i(n);new MutationObserver(n=>{for(const s of n)if(s.type==="childList")for(const r of s.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&i(r)}).observe(document,{childList:!0,subtree:!0});function t(n){const s={};return n.integrity&&(s.integrity=n.integrity),n.referrerPolicy&&(s.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?s.credentials="include":n.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(n){if(n.ep)return;n.ep=!0;const s=t(n);fetch(n.href,s)}})();const Bk=!1;var Jw=Array.isArray,D7=Array.prototype.indexOf,km=Array.prototype.includes,eb=Array.from,A7=Object.defineProperty,Kh=Object.getOwnPropertyDescriptor,k7=Object.getOwnPropertyDescriptors,B7=Object.prototype,F7=Array.prototype,Fk=Object.getPrototypeOf,s8=Object.isExtensible;const tb=()=>{};function L7(o){for(var e=0;e<o.length;e++)o[e]()}function Lk(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function I7(o,e,t=!1){return o===void 0?t?e():e:o}function o8(o,e){if(Array.isArray(o))return o;if(!(Symbol.iterator in o))return Array.from(o);const t=[];for(const i of o)if(t.push(i),t.length===e)break;return t}const ho=2,A0=4,ib=8,Ik=1<<24,na=16,ra=32,Mc=64,u1=128,Lr=512,eo=1024,no=2048,Ua=4096,Io=8192,Ir=16384,Q0=32768,h1=1<<25,k0=65536,Bm=1<<17,P7=1<<18,J0=1<<19,T7=1<<20,Ma=1<<25,bu=65536,Fm=1<<21,Zh=1<<22,fc=1<<23,wd=Symbol("$state"),M7=Symbol("legacy props"),R7=Symbol(""),Zx=Symbol("attributes"),f1=Symbol("class"),g1=Symbol("style"),Rf=Symbol("text"),Xx=Symbol("form reset"),nb=new class extends Error{constructor(){super(...arguments);wn(this,"name","StaleReactionError");wn(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var YA;const N7=!!((YA=globalThis.document)!=null&&YA.contentType)&&globalThis.document.contentType.includes("xml");function Pk(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function O7(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function H7(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function W7(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function z7(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function V7(o){throw new Error("https://svelte.dev/e/effect_orphan")}function j7(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function $7(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function U7(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function q7(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function G7(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function K7(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Z7=1,X7=2,Tk=4,Y7=8,Q7=16,J7=1,eI=4,tI=8,iI=16,nI=1,sI=2,Qs=Symbol("uninitialized"),Mk="http://www.w3.org/1999/xhtml",oI="http://www.w3.org/2000/svg",rI="http://www.w3.org/1998/Math/MathML";function aI(){console.warn("https://svelte.dev/e/derived_inert")}function lI(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function cI(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Rk(o){return o===this.v}function dI(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function Nk(o){return!dI(o,this.v)}let uI=!1,uo=null;function B0(o){uo=o}function Vs(o,e=!1,t){uo={p:uo,i:!1,c:null,e:null,s:o,x:null,r:Rn,l:null}}function js(o){var e=uo,t=e.e;if(t!==null){e.e=null;for(var i of t)o6(i)}return o!==void 0&&(e.x=o),e.i=!0,uo=e.p,o??{}}function Ok(){return!0}let hd=[];function Hk(){var o=hd;hd=[],L7(o)}function gc(o){if(hd.length===0&&!ig){var e=hd;queueMicrotask(()=>{e===hd&&Hk()})}hd.push(o)}function hI(){for(;hd.length>0;)Hk()}function Wk(o){var e=Rn;if(e===null)return Tn.f|=fc,o;if((e.f&Q0)===0&&(e.f&A0)===0)throw o;rc(o,e)}function rc(o,e){for(;e!==null;){if((e.f&u1)!==0){if((e.f&Q0)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const fI=-7169;function Os(o,e){o.f=o.f&fI|e}function e9(o){(o.f&Lr)!==0||o.deps===null?Os(o,eo):Os(o,Ua)}function zk(o){if(o!==null)for(const e of o)(e.f&ho)===0||(e.f&bu)===0||(e.f^=bu,zk(e.deps))}function Vk(o,e,t){(o.f&no)!==0?e.add(o):(o.f&Ua)!==0&&t.add(o),zk(o.deps),Os(o,eo)}let hx=!1;function gI(o){var e=hx;try{return hx=!1,[o(),hx]}finally{hx=e}}let iC=null,lh=null,nn=null,tg=null,ro=null,p1=null,ig=!1,nC=!1,Th=null,Yx=null;var r8=0;let pI=1;var Jh,ic,xd,e0,t0,i0,rl,n0,Wo,cp,al,Gr,Aa,s0,md,rs,x1,Nf,m1,jk,$k,wh,xI,Of;const zv=class zv{constructor(){xn(this,rs);wn(this,"id",pI++);xn(this,Jh,!1);wn(this,"linked",!0);xn(this,ic,null);xn(this,xd,null);wn(this,"async_deriveds",new Map);wn(this,"current",new Map);wn(this,"previous",new Map);xn(this,e0,new Set);xn(this,t0,new Set);xn(this,i0,0);xn(this,rl,new Map);xn(this,n0,null);xn(this,Wo,[]);xn(this,cp,[]);xn(this,al,new Set);xn(this,Gr,new Set);xn(this,Aa,new Map);xn(this,s0,new Set);wn(this,"is_fork",!1);xn(this,md,!1);lh===null?iC=lh=this:(mn(lh,xd,this),mn(this,ic,lh)),lh=this}skip_effect(e){ke(this,Aa).has(e)||ke(this,Aa).set(e,{d:[],m:[]}),ke(this,s0).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=ke(this,Aa).get(e);if(i){ke(this,Aa).delete(e);for(var n of i.d)Os(n,no),t(n);for(n of i.m)Os(n,Ua),t(n)}ke(this,s0).add(e)}capture(e,t,i=!1){e.v!==Qs&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&fc)===0&&(this.current.set(e,[t,i]),ro==null||ro.set(e,t)),this.is_fork||(e.v=t)}activate(){nn=this}deactivate(){nn=null,ro=null}flush(){try{nC=!0,nn=this,Zn(this,rs,Nf).call(this)}finally{r8=0,p1=null,Th=null,Yx=null,nC=!1,nn=null,ro=null,Sd.clear()}}discard(){var e;for(const t of ke(this,t0))t(this);ke(this,t0).clear(),Zn(this,rs,Of).call(this),(e=ke(this,n0))==null||e.resolve()}register_created_effect(e){ke(this,cp).push(e)}increment(e,t){if(mn(this,i0,ke(this,i0)+1),e){let i=ke(this,rl).get(t)??0;ke(this,rl).set(t,i+1)}}decrement(e,t){if(mn(this,i0,ke(this,i0)-1),e){let i=ke(this,rl).get(t)??0;i===1?ke(this,rl).delete(t):ke(this,rl).set(t,i-1)}ke(this,md)||(mn(this,md,!0),gc(()=>{mn(this,md,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)ke(this,al).add(i);for(const i of t)ke(this,Gr).add(i);e.clear(),t.clear()}oncommit(e){ke(this,e0).add(e)}ondiscard(e){ke(this,t0).add(e)}settled(){return(ke(this,n0)??mn(this,n0,Lk())).promise}static ensure(){if(nn===null){const e=nn=new zv;!nC&&!ig&&gc(()=>{ke(e,Jh)||e.flush()})}return nn}apply(){{ro=null;return}}schedule(e){var n;if(p1=e,(n=e.b)!=null&&n.is_pending&&(e.f&(A0|ib|Ik))!==0&&(e.f&Q0)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(Th!==null&&t===Rn&&(Tn===null||(Tn.f&ho)===0))return;if((i&(Mc|ra))!==0){if((i&eo)===0)return;t.f^=eo}}ke(this,Wo).push(t)}};Jh=new WeakMap,ic=new WeakMap,xd=new WeakMap,e0=new WeakMap,t0=new WeakMap,i0=new WeakMap,rl=new WeakMap,n0=new WeakMap,Wo=new WeakMap,cp=new WeakMap,al=new WeakMap,Gr=new WeakMap,Aa=new WeakMap,s0=new WeakMap,md=new WeakMap,rs=new WeakSet,x1=function(){if(this.is_fork)return!0;for(const i of ke(this,rl).keys()){for(var e=i,t=!1;e.parent!==null;){if(ke(this,Aa).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},Nf=function(){var d,u,f,g;mn(this,Jh,!0),r8++>1e3&&(Zn(this,rs,Of).call(this),vI());for(const p of ke(this,al))ke(this,Gr).delete(p),Os(p,no),this.schedule(p);for(const p of ke(this,Gr))Os(p,Ua),this.schedule(p);const e=ke(this,Wo);mn(this,Wo,[]),this.apply();var t=Th=[],i=[],n=Yx=[];for(const p of e)try{Zn(this,rs,m1).call(this,p,t,i)}catch(C){throw Gk(p),Zn(this,rs,x1).call(this)||this.discard(),C}if(nn=null,n.length>0){var s=zv.ensure();for(const p of n)s.schedule(p)}if(Th=null,Yx=null,Zn(this,rs,x1).call(this)){Zn(this,rs,wh).call(this,i),Zn(this,rs,wh).call(this,t);for(const[p,C]of ke(this,Aa))qk(p,C);n.length>0&&Zn(d=nn,rs,Nf).call(d);return}const r=Zn(this,rs,jk).call(this);if(r){Zn(this,rs,wh).call(this,i),Zn(this,rs,wh).call(this,t),Zn(u=r,rs,$k).call(u,this);return}ke(this,al).clear(),ke(this,Gr).clear();for(const p of ke(this,e0))p(this);ke(this,e0).clear(),tg=this,a8(i),a8(t),tg=null,(f=ke(this,n0))==null||f.resolve();var a=nn;if(ke(this,i0)===0&&(ke(this,Wo).length===0||a!==null)&&Zn(this,rs,Of).call(this),ke(this,Wo).length>0)if(a!==null){const p=a;ke(p,Wo).push(...ke(this,Wo).filter(C=>!ke(p,Wo).includes(C)))}else a=this;a!==null&&Zn(g=a,rs,Nf).call(g)},m1=function(e,t,i){e.f^=eo;for(var n=e.first;n!==null;){var s=n.f,r=(s&(ra|Mc))!==0,a=r&&(s&eo)!==0,d=a||(s&Io)!==0||ke(this,Aa).has(n);if(!d&&n.fn!==null){r?n.f^=eo:(s&A0)!==0?t.push(n):Pp(n)&&((s&na)!==0&&ke(this,Gr).add(n),L0(n));var u=n.first;if(u!==null){n=u;continue}}for(;n!==null;){var f=n.next;if(f!==null){n=f;break}n=n.parent}}},jk=function(){for(var e=ke(this,ic);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=ke(e,ic)}return null},$k=function(e){var i;for(const[n,s]of e.current)!this.previous.has(n)&&e.previous.has(n)&&this.previous.set(n,e.previous.get(n)),this.current.set(n,s);for(const[n,s]of e.async_deriveds){const r=this.async_deriveds.get(n);r&&s.promise.then(r.resolve).catch(r.reject)}this.transfer_effects(ke(e,al),ke(e,Gr));const t=n=>{var s=n.reactions;if(s!==null)for(const d of s){var r=d.f;if((r&ho)!==0)t(d);else{var a=d;r&(Zh|na)&&!this.async_deriveds.has(a)&&(ke(this,Gr).delete(a),Os(a,no),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),Zn(i=e,rs,Of).call(i),nn=this,Zn(this,rs,Nf).call(this)},wh=function(e){for(var t=0;t<e.length;t+=1)Vk(e[t],ke(this,al),ke(this,Gr))},xI=function(){var f;for(let g=iC;g!==null;g=ke(g,xd)){var e=g.id<this.id,t=[];for(const[p,[C,b]]of this.current){if(g.current.has(p)){var i=g.current.get(p)[0];if(e&&C!==i)g.current.set(p,[C,b]);else continue}t.push(p)}if(e)for(const[p,C]of this.async_deriveds){const b=g.async_deriveds.get(p);b&&C.promise.then(b.resolve).catch(b.reject)}if(ke(g,Jh)){var n=[...g.current.keys()].filter(p=>!g.current.get(p)[1]&&!this.current.has(p));if(n.length===0)e&&g.discard();else if(t.length>0){if(e)for(const p of ke(this,s0))g.unskip_effect(p,C=>{var b;(C.f&(na|Zh))!==0?g.schedule(C):Zn(b=g,rs,wh).call(b,[C])});g.activate();var s=new Set,r=new Map;for(var a of t)Uk(a,n,s,r);r=new Map;var d=[...g.current].filter(([p,C])=>{const b=this.current.get(p);return b?b[0]!==C[0]||b[1]!==C[1]:!0}).map(([p])=>p);if(d.length>0)for(const p of ke(this,cp))(p.f&(Ir|Io|Bm))===0&&t9(p,d,r)&&((p.f&(Zh|na))!==0?(Os(p,no),g.schedule(p)):ke(g,al).add(p));if(ke(g,Wo).length>0&&!ke(g,md)){g.apply();for(var u of ke(g,Wo))Zn(f=g,rs,m1).call(f,u,[],[]);mn(g,Wo,[])}g.deactivate()}}}},Of=function(){if(this.linked){var e=ke(this,ic),t=ke(this,xd);e===null?iC=t:mn(e,xd,t),t===null?lh=e:mn(t,ic,e),this.linked=!1}};let Cu=zv;function mI(o){var e=ig;ig=!0;try{for(var t;;){if(hI(),nn===null)return t;nn.flush()}}finally{ig=e}}function vI(){try{j7()}catch(o){rc(o,p1)}}let $r=null;function a8(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(Ir|Io))===0&&Pp(i)&&($r=new Set,L0(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&l6(i),($r==null?void 0:$r.size)>0)){Sd.clear();for(const n of $r){if((n.f&(Ir|Io))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)$r.has(r)&&($r.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const d=s[a];(d.f&(Ir|Io))===0&&L0(d)}}$r.clear()}}$r=null}}function Uk(o,e,t,i){if(!t.has(o)&&(t.add(o),o.reactions!==null))for(const n of o.reactions){const s=n.f;(s&ho)!==0?Uk(n,e,t,i):(s&(Zh|na))!==0&&(s&no)===0&&t9(n,e,i)&&(Os(n,no),i9(n))}}function t9(o,e,t){const i=t.get(o);if(i!==void 0)return i;if(o.deps!==null)for(const n of o.deps){if(km.call(e,n))return!0;if((n.f&ho)!==0&&t9(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function i9(o){nn.schedule(o)}function qk(o,e){if(!((o.f&ra)!==0&&(o.f&eo)!==0)){(o.f&no)!==0?e.d.push(o):(o.f&Ua)!==0&&e.m.push(o),Os(o,eo);for(var t=o.first;t!==null;)qk(t,e),t=t.next}}function Gk(o){Os(o,eo);for(var e=o.first;e!==null;)Gk(e),e=e.next}function _I(o){let e=0,t=Eu(0),i;return()=>{r9()&&(c(t),ob(()=>(e===0&&(i=Ol(()=>o(()=>ng(t)))),e+=1,()=>{gc(()=>{e-=1,e===0&&(i==null||i(),i=void 0,ng(t))})})))}}var bI=k0|J0;function CI(o,e,t,i){new EI(o,e,t,i)}var Er,yw,yr,vd,zo,wr,ko,tr,ll,_d,nc,o0,dp,up,cl,Vv,Hs,yI,wI,SI,v1,Qx,Jx,_1,b1;class EI{constructor(e,t,i,n){xn(this,Hs);wn(this,"parent");wn(this,"is_pending",!1);wn(this,"transform_error");xn(this,Er);xn(this,yw,null);xn(this,yr);xn(this,vd);xn(this,zo);xn(this,wr,null);xn(this,ko,null);xn(this,tr,null);xn(this,ll,null);xn(this,_d,0);xn(this,nc,0);xn(this,o0,!1);xn(this,dp,new Set);xn(this,up,new Set);xn(this,cl,null);xn(this,Vv,_I(()=>(mn(this,cl,Eu(ke(this,_d))),()=>{mn(this,cl,null)})));var s;mn(this,Er,e),mn(this,yr,t),mn(this,vd,r=>{var a=Rn;a.b=this,a.f|=u1,i(r)}),this.parent=Rn.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),mn(this,zo,c9(()=>{Zn(this,Hs,v1).call(this)},bI))}defer_effect(e){Vk(e,ke(this,dp),ke(this,up))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!ke(this,yr).pending}update_pending_count(e,t){Zn(this,Hs,_1).call(this,e,t),mn(this,_d,ke(this,_d)+e),!(!ke(this,cl)||ke(this,o0))&&(mn(this,o0,!0),gc(()=>{mn(this,o0,!1),ke(this,cl)&&F0(ke(this,cl),ke(this,_d))}))}get_effect_pending(){return ke(this,Vv).call(this),c(ke(this,cl))}error(e){if(!ke(this,yr).onerror&&!ke(this,yr).failed)throw e;nn!=null&&nn.is_fork?(ke(this,wr)&&nn.skip_effect(ke(this,wr)),ke(this,ko)&&nn.skip_effect(ke(this,ko)),ke(this,tr)&&nn.skip_effect(ke(this,tr)),nn.oncommit(()=>{Zn(this,Hs,b1).call(this,e)})):Zn(this,Hs,b1).call(this,e)}}Er=new WeakMap,yw=new WeakMap,yr=new WeakMap,vd=new WeakMap,zo=new WeakMap,wr=new WeakMap,ko=new WeakMap,tr=new WeakMap,ll=new WeakMap,_d=new WeakMap,nc=new WeakMap,o0=new WeakMap,dp=new WeakMap,up=new WeakMap,cl=new WeakMap,Vv=new WeakMap,Hs=new WeakSet,yI=function(){try{mn(this,wr,Sr(()=>ke(this,vd).call(this,ke(this,Er))))}catch(e){this.error(e)}},wI=function(e){const t=ke(this,yr).failed;t&&mn(this,tr,Sr(()=>{t(ke(this,Er),()=>e,()=>()=>{})}))},SI=function(){const e=ke(this,yr).pending;e&&(this.is_pending=!0,mn(this,ko,Sr(()=>e(ke(this,Er)))),gc(()=>{var t=mn(this,ll,document.createDocumentFragment()),i=_l();t.append(i),mn(this,wr,Zn(this,Hs,Jx).call(this,()=>Sr(()=>ke(this,vd).call(this,i)))),ke(this,nc)===0&&(ke(this,Er).before(t),mn(this,ll,null),Ad(ke(this,ko),()=>{mn(this,ko,null)}),Zn(this,Hs,Qx).call(this,nn))}))},v1=function(){try{if(this.is_pending=this.has_pending_snippet(),mn(this,nc,0),mn(this,_d,0),mn(this,wr,Sr(()=>{ke(this,vd).call(this,ke(this,Er))})),ke(this,nc)>0){var e=mn(this,ll,document.createDocumentFragment());u9(ke(this,wr),e);const t=ke(this,yr).pending;mn(this,ko,Sr(()=>t(ke(this,Er))))}else Zn(this,Hs,Qx).call(this,nn)}catch(t){this.error(t)}},Qx=function(e){this.is_pending=!1,e.transfer_effects(ke(this,dp),ke(this,up))},Jx=function(e){var t=Rn,i=Tn,n=uo;qa(ke(this,zo)),Mr(ke(this,zo)),B0(ke(this,zo).ctx);try{return Cu.ensure(),e()}catch(s){return Wk(s),null}finally{qa(t),Mr(i),B0(n)}},_1=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&Zn(i=this.parent,Hs,_1).call(i,e,t);return}mn(this,nc,ke(this,nc)+e),ke(this,nc)===0&&(Zn(this,Hs,Qx).call(this,t),ke(this,ko)&&Ad(ke(this,ko),()=>{mn(this,ko,null)}),ke(this,ll)&&(ke(this,Er).before(ke(this,ll)),mn(this,ll,null)))},b1=function(e){ke(this,wr)&&(Zo(ke(this,wr)),mn(this,wr,null)),ke(this,ko)&&(Zo(ke(this,ko)),mn(this,ko,null)),ke(this,tr)&&(Zo(ke(this,tr)),mn(this,tr,null));var t=ke(this,yr).onerror;let i=ke(this,yr).failed;var n=!1,s=!1;const r=()=>{if(n){cI();return}n=!0,s&&K7(),ke(this,tr)!==null&&Ad(ke(this,tr),()=>{mn(this,tr,null)}),Zn(this,Hs,Jx).call(this,()=>{Zn(this,Hs,v1).call(this)})},a=d=>{try{s=!0,t==null||t(d,r),s=!1}catch(u){rc(u,ke(this,zo)&&ke(this,zo).parent)}i&&mn(this,tr,Zn(this,Hs,Jx).call(this,()=>{try{return Sr(()=>{var u=Rn;u.b=this,u.f|=u1,i(ke(this,Er),()=>d,()=>r)})}catch(u){return rc(u,ke(this,zo).parent),null}}))};gc(()=>{var d;try{d=this.transform_error(e)}catch(u){rc(u,ke(this,zo)&&ke(this,zo).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(a,u=>rc(u,ke(this,zo)&&ke(this,zo).parent)):a(d)})};function DI(o,e,t,i){const n=Lg;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=Rn,a=AI(),d=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function u(p){if((r.f&Ir)===0){a();try{i(p)}catch(C){rc(C,r)}Lm()}}var f=Kk();if(t.length===0){d.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>kI(p))).then(p=>u([...e.map(n),...p])).catch(p=>rc(p,r)).finally(f)}d?d.then(()=>{a(),g(),Lm()}):g()}function AI(){var o=Rn,e=Tn,t=uo,i=nn;return function(s=!0){qa(o),Mr(e),B0(t),s&&(o.f&Ir)===0&&(i==null||i.activate(),i==null||i.apply())}}function Lm(o=!0){qa(null),Mr(null),B0(null),o&&(nn==null||nn.deactivate())}function Kk(){var o=Rn,e=o.b,t=nn,i=!!(e!=null&&e.is_rendered());return e==null||e.update_pending_count(1,t),t.increment(i,o),()=>{e==null||e.update_pending_count(-1,t),t.decrement(i,o)}}function Lg(o){var e=ho|no;return Rn!==null&&(Rn.f|=J0),{ctx:uo,deps:null,effects:null,equals:Rk,f:e,fn:o,reactions:null,rv:0,v:Qs,wv:0,parent:Rn,ac:null}}const fx=Symbol("obsolete");function kI(o,e,t){let i=Rn;i===null&&O7();var n=void 0,s=Eu(Qs),r=!Tn,a=new Set;return WI(()=>{var C,b;var d=Rn,u=Lk();n=u.promise;try{Promise.resolve(o()).then(u.resolve,y=>{y!==nb&&u.reject(y)}).finally(Lm)}catch(y){u.reject(y),Lm()}var f=nn;if(r){if((d.f&Q0)!==0)var g=Kk();if((C=i.b)!=null&&C.is_rendered())(b=f.async_deriveds.get(d))==null||b.reject(fx);else for(const y of a.values())y.reject(fx);a.add(u),f.async_deriveds.set(d,u)}const p=(y,w=void 0)=>{g==null||g(),a.delete(u),w!==fx&&(f.activate(),w?(s.f|=fc,F0(s,w)):((s.f&fc)!==0&&(s.f^=fc),F0(s,y)),f.deactivate())};u.promise.then(p,y=>p(null,y||"unknown"))}),a9(()=>{for(const d of a)d.reject(fx)}),new Promise(d=>{function u(f){function g(){f===n?d(s):u(n)}f.then(g,g)}u(n)})}function Lt(o){const e=Lg(o);return u6(e),e}function n9(o){const e=Lg(o);return e.equals=Nk,e}function BI(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Zo(e[t])}}function s9(o){var e,t=Rn,i=o.parent;if(!Al&&i!==null&&o.v!==Qs&&(i.f&(Ir|Io))!==0)return aI(),o.v;qa(i);try{o.f&=~bu,BI(o),e=p6(o)}finally{qa(t)}return e}function Zk(o){var e=s9(o);if(!o.equals(e)&&(o.wv=f6(),(!(nn!=null&&nn.is_fork)||o.deps===null)&&(nn!==null?(nn.capture(o,e,!0),tg==null||tg.capture(o,e,!0)):o.v=e,o.deps===null))){Os(o,eo);return}Al||(ro!==null?(r9()||nn!=null&&nn.is_fork)&&ro.set(o,e):e9(o))}function FI(o){var e,t;if(o.effects!==null)for(const i of o.effects)(i.teardown||i.ac)&&((e=i.teardown)==null||e.call(i),(t=i.ac)==null||t.abort(nb),i.fn!==null&&(i.teardown=tb),i.ac=null,Ig(i,0),d9(i))}function Xk(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&L0(e)}let Im=new Set;const Sd=new Map;let Yk=!1;function Eu(o,e){var t={f:0,v:o,reactions:null,equals:Rk,rv:0,wv:0};return t}function F(o,e){const t=Eu(o);return u6(t),t}function LI(o,e=!1,t=!0){const i=Eu(o);return e||(i.equals=Nk),i}function m(o,e,t=!1){Tn!==null&&(!sa||(Tn.f&Bm)!==0)&&Ok()&&(Tn.f&(ho|na|Zh|Bm))!==0&&(za===null||!za.has(o))&&G7();let i=t?yi(e):e;return F0(o,i,Yx)}function F0(o,e,t=null){if(!o.equals(e)){Sd.set(o,Al?e:o.v);var i=Cu.ensure();if(i.capture(o,e),(o.f&ho)!==0){const n=o;(o.f&no)!==0&&s9(n),ro===null&&e9(n)}o.wv=f6(),Qk(o,no,t),Rn!==null&&(Rn.f&eo)!==0&&(Rn.f&(ra|Mc))===0&&(Cr===null?VI([o]):Cr.push(o)),!i.is_fork&&Im.size>0&&!Yk&&II()}return e}function II(){Yk=!1;for(const o of Im){(o.f&eo)!==0&&Os(o,Ua);let e;try{e=Pp(o)}catch{e=!0}e&&L0(o)}Im.clear()}function l8(o,e=1){var t=c(o),i=e===1?t++:t--;return m(o,t),i}function ng(o){m(o,o.v+1)}function Qk(o,e,t){var i=o.reactions;if(i!==null)for(var n=i.length,s=0;s<n;s++){var r=i[s],a=r.f,d=(a&no)===0;if(d&&Os(r,e),(a&Bm)!==0)Im.add(r);else if((a&ho)!==0){var u=r;ro==null||ro.delete(u),(a&bu)===0&&(a&Lr&&(Rn===null||(Rn.f&Fm)===0)&&(r.f|=bu),Qk(u,Ua,t))}else if(d){var f=r;(a&na)!==0&&$r!==null&&$r.add(f),t!==null?t.push(f):i9(f)}}}function yi(o){if(typeof o!="object"||o===null||wd in o)return o;const e=Fk(o);if(e!==B7&&e!==F7)return o;var t=new Map,i=Jw(o),n=F(0),s=kd,r=a=>{if(kd===s)return a();var d=Tn,u=kd;Mr(null),h8(s);var f=a();return Mr(d),h8(u),f};return i&&t.set("length",F(o.length)),new Proxy(o,{defineProperty(a,d,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&U7();var f=t.get(d);return f===void 0?r(()=>{var g=F(u.value);return t.set(d,g),g}):m(f,u.value,!0),!0},deleteProperty(a,d){var u=t.get(d);if(u===void 0){if(d in a){const f=r(()=>F(Qs));t.set(d,f),ng(n)}}else m(u,Qs),ng(n);return!0},get(a,d,u){var C;if(d===wd)return o;var f=t.get(d),g=d in a;if(f===void 0&&(!g||(C=Kh(a,d))!=null&&C.writable)&&(f=r(()=>{var b=yi(g?a[d]:Qs),y=F(b);return y}),t.set(d,f)),f!==void 0){var p=c(f);return p===Qs?void 0:p}return Reflect.get(a,d,u)},getOwnPropertyDescriptor(a,d){var u=Reflect.getOwnPropertyDescriptor(a,d);if(u&&"value"in u){var f=t.get(d);f&&(u.value=c(f))}else if(u===void 0){var g=t.get(d),p=g==null?void 0:g.v;if(g!==void 0&&p!==Qs)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return u},has(a,d){var p;if(d===wd)return!0;var u=t.get(d),f=u!==void 0&&u.v!==Qs||Reflect.has(a,d);if(u!==void 0||Rn!==null&&(!f||(p=Kh(a,d))!=null&&p.writable)){u===void 0&&(u=r(()=>{var C=f?yi(a[d]):Qs,b=F(C);return b}),t.set(d,u));var g=c(u);if(g===Qs)return!1}return f},set(a,d,u,f){var M;var g=t.get(d),p=d in a;if(i&&d==="length")for(var C=u;C<g.v;C+=1){var b=t.get(C+"");b!==void 0?m(b,Qs):C in a&&(b=r(()=>F(Qs)),t.set(C+"",b))}if(g===void 0)(!p||(M=Kh(a,d))!=null&&M.writable)&&(g=r(()=>F(void 0)),m(g,yi(u)),t.set(d,g));else{p=g.v!==Qs;var y=r(()=>yi(u));m(g,y)}var w=Reflect.getOwnPropertyDescriptor(a,d);if(w!=null&&w.set&&w.set.call(f,u),!p){if(i&&typeof d=="string"){var A=t.get("length"),P=Number(d);Number.isInteger(P)&&P>=A.v&&m(A,P+1)}ng(n)}return!0},ownKeys(a){c(n);var d=Reflect.ownKeys(a).filter(g=>{var p=t.get(g);return p===void 0||p.v!==Qs});for(var[u,f]of t)f.v!==Qs&&!(u in a)&&d.push(u);return d},setPrototypeOf(){q7()}})}function c8(o){try{if(o!==null&&typeof o=="object"&&wd in o)return o[wd]}catch{}return o}function PI(o,e){return Object.is(c8(o),c8(e))}var Dd,Jk,e6,t6,i6;function TI(){if(Dd===void 0){Dd=window,Jk=document,e6=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;t6=Kh(e,"firstChild").get,i6=Kh(e,"nextSibling").get,s8(o)&&(o[f1]=void 0,o[Zx]=null,o[g1]=void 0,o.__e=void 0),s8(t)&&(t[Rf]=void 0)}}function _l(o=""){return document.createTextNode(o)}function Ra(o){return t6.call(o)}function Ip(o){return i6.call(o)}function _(o,e){return Ra(o)}function yt(o,e=!1){{var t=Ra(o);return t instanceof Comment&&t.data===""?Ip(t):t}}function v(o,e=1,t=!1){let i=o;for(;e--;)i=Ip(i);return i}function MI(o){o.textContent=""}function n6(){return!1}function s6(o,e,t){return e==null||e===Mk?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let d8=!1;function RI(){d8||(d8=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[Xx])==null||e.call(t)})},{capture:!0}))}function sb(o){var e=Tn,t=Rn;Mr(null),qa(null);try{return o()}finally{Mr(e),qa(t)}}function o9(o,e,t,i=t){o.addEventListener(e,()=>sb(t));const n=o[Xx];n?o[Xx]=()=>{n(),i(!0)}:o[Xx]=()=>i(!0),RI()}function NI(o){Rn===null&&(Tn===null&&V7(),z7()),Al&&W7()}function OI(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function Nl(o,e){var t=Rn;t!==null&&(t.f&Io)!==0&&(o|=Io);var i={ctx:uo,deps:null,nodes:null,f:o|no|Lr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};nn==null||nn.register_created_effect(i);var n=i;if((o&A0)!==0)Th!==null?Th.push(i):Cu.ensure().schedule(i);else if(e!==null){try{L0(i)}catch(r){throw Zo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&J0)===0&&(n=n.first,(o&na)!==0&&(o&k0)!==0&&n!==null&&(n.f|=k0))}if(n!==null&&(n.parent=t,t!==null&&OI(n,t),Tn!==null&&(Tn.f&ho)!==0&&(o&Mc)===0)){var s=Tn;(s.effects??(s.effects=[])).push(n)}return i}function r9(){return Tn!==null&&!sa}function a9(o){const e=Nl(ib,null);return Os(e,eo),e.teardown=o,e}function $n(o){NI();var e=Rn.f,t=!Tn&&(e&ra)!==0&&uo!==null&&!uo.i;if(t){var i=uo;(i.e??(i.e=[])).push(o)}else return o6(o)}function o6(o){return Nl(A0|T7,o)}function HI(o){Cu.ensure();const e=Nl(Mc|J0,o);return(t={})=>new Promise(i=>{t.outro?Ad(e,()=>{Zo(e),i(void 0)}):(Zo(e),i(void 0))})}function l9(o){return Nl(A0,o)}function WI(o){return Nl(Zh|J0,o)}function ob(o,e=0){return Nl(ib|e,o)}function j(o,e=[],t=[],i=[]){DI(i,e,t,n=>{Nl(ib,()=>o(...n.map(c)))})}function c9(o,e=0){var t=Nl(na|e,o);return t}function Sr(o){return Nl(ra|J0,o)}function r6(o){var e=o.teardown;if(e!==null){const t=Al,i=Tn;u8(!0),Mr(null);try{e.call(null)}finally{u8(t),Mr(i)}}}function d9(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&sb(()=>{n.abort(nb)});var i=t.next;(t.f&Mc)!==0?t.parent=null:Zo(t,e),t=i}}function zI(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&ra)===0&&Zo(e),e=t}}function Zo(o,e=!0){var t=!1;(e||(o.f&P7)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(a6(o.nodes.start,o.nodes.end),t=!0),Os(o,h1),d9(o,e&&!t),Ig(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();r6(o),o.f^=h1,o.f|=Ir;var n=o.parent;n!==null&&n.first!==null&&l6(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function a6(o,e){for(;o!==null;){var t=o===e?null:Ip(o);o.remove(),o=t}}function l6(o){var e=o.parent,t=o.prev,i=o.next;t!==null&&(t.next=i),i!==null&&(i.prev=t),e!==null&&(e.first===o&&(e.first=i),e.last===o&&(e.last=t))}function Ad(o,e,t=!0){var i=[];c6(o,i,!0);var n=()=>{t&&Zo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function c6(o,e,t){if((o.f&Io)===0){o.f^=Io;var i=o.nodes&&o.nodes.t;if(i!==null)for(const a of i)(a.is_global||t)&&e.push(a);for(var n=o.first;n!==null;){var s=n.next;if((n.f&Mc)===0){var r=(n.f&k0)!==0||(n.f&ra)!==0&&(o.f&na)!==0;c6(n,e,r?t:!1)}n=s}}}function Pm(o){d6(o,!0)}function d6(o,e){if((o.f&Io)!==0){o.f^=Io,(o.f&eo)===0&&(Os(o,no),Cu.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&k0)!==0||(t.f&ra)!==0;d6(t,n?e:!1),t=i}var s=o.nodes&&o.nodes.t;if(s!==null)for(const r of s)(r.is_global||e)&&r.in()}}function u9(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:Ip(t);e.append(t),t=n}}let em=!1,Al=!1;function u8(o){Al=o}let Tn=null,sa=!1;function Mr(o){Tn=o}let Rn=null;function qa(o){Rn=o}let za=null;function u6(o){Tn!==null&&(za??(za=new Set)).add(o)}let Vo=null,Jo=0,Cr=null;function VI(o){Cr=o}let h6=1,fd=0,kd=fd;function h8(o){kd=o}function f6(){return++h6}function Pp(o){var e=o.f;if((e&no)!==0)return!0;if(e&ho&&(o.f&=~bu),(e&Ua)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(Pp(s)&&Zk(s),s.wv>o.wv)return!0}(e&Lr)!==0&&ro===null&&Os(o,eo)}return!1}function g6(o,e,t=!0){var i=o.reactions;if(i!==null&&!(za!==null&&za.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&ho)!==0?g6(s,e,!1):e===s&&(t?Os(s,no):(s.f&eo)!==0&&Os(s,Ua),i9(s))}}function p6(o){var y;var e=Vo,t=Jo,i=Cr,n=Tn,s=za,r=uo,a=sa,d=kd,u=o.f;Vo=null,Jo=0,Cr=null,Tn=(u&(ra|Mc))===0?o:null,za=null,B0(o.ctx),sa=!1,kd=++fd,o.ac!==null&&(sb(()=>{o.ac.abort(nb)}),o.ac=null);try{o.f|=Fm;var f=o.fn,g=f();o.f|=Q0;var p=o.deps,C=nn==null?void 0:nn.is_fork;if(Vo!==null){var b;if(C||Ig(o,Jo),p!==null&&Jo>0)for(p.length=Jo+Vo.length,b=0;b<Vo.length;b++)p[Jo+b]=Vo[b];else o.deps=p=Vo;if(r9()&&(o.f&Lr)!==0)for(b=Jo;b<p.length;b++)((y=p[b]).reactions??(y.reactions=[])).push(o)}else!C&&p!==null&&Jo<p.length&&(Ig(o,Jo),p.length=Jo);if(Ok()&&Cr!==null&&!sa&&p!==null&&(o.f&(ho|Ua|no))===0)for(b=0;b<Cr.length;b++)g6(Cr[b],o);if(n!==null&&n!==o){if(fd++,n.deps!==null)for(let w=0;w<t;w+=1)n.deps[w].rv=fd;if(e!==null)for(const w of e)w.rv=fd;Cr!==null&&(i===null?i=Cr:i.push(...Cr))}return(o.f&fc)!==0&&(o.f^=fc),g}catch(w){return Wk(w)}finally{o.f^=Fm,Vo=e,Jo=t,Cr=i,Tn=n,za=s,B0(r),sa=a,kd=d}}function jI(o,e){let t=e.reactions;if(t!==null){var i=D7.call(t,o);if(i!==-1){var n=t.length-1;n===0?t=e.reactions=null:(t[i]=t[n],t.pop())}}if(t===null&&(e.f&ho)!==0&&(Vo===null||!km.call(Vo,e))){var s=e;(s.f&Lr)!==0&&(s.f^=Lr,s.f&=~bu),s.v!==Qs&&e9(s),FI(s),Ig(s,0)}}function Ig(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)jI(o,t[i])}function L0(o){var e=o.f;if((e&Ir)===0){Os(o,eo);var t=Rn,i=em;Rn=o,em=!0;try{(e&(na|Ik))!==0?zI(o):d9(o),r6(o);var n=p6(o);o.teardown=typeof n=="function"?n:null,o.wv=h6;var s;Bk&&uI&&(o.f&no)!==0&&o.deps}finally{em=i,Rn=t}}}async function ul(){await Promise.resolve(),mI()}function c(o){var e=o.f,t=(e&ho)!==0;if(Tn!==null&&!sa){var i=Rn!==null&&(Rn.f&Ir)!==0;if(!i&&(za===null||!za.has(o))){var n=Tn.deps;if((Tn.f&Fm)!==0)o.rv<fd&&(o.rv=fd,Vo===null&&n!==null&&n[Jo]===o?Jo++:Vo===null?Vo=[o]:Vo.push(o));else{Tn.deps??(Tn.deps=[]),km.call(Tn.deps,o)||Tn.deps.push(o);var s=o.reactions;s===null?o.reactions=[Tn]:km.call(s,Tn)||s.push(Tn)}}}if(Al&&Sd.has(o))return Sd.get(o);if(t){var r=o;if(Al){var a=r.v;return((r.f&eo)===0&&r.reactions!==null||m6(r))&&(a=s9(r)),Sd.set(r,a),a}var d=(r.f&Lr)===0&&!sa&&Tn!==null&&(em||(Tn.f&Lr)!==0),u=(r.f&Q0)===0;Pp(r)&&(d&&(r.f|=Lr),Zk(r)),d&&!u&&(Xk(r),x6(r))}if(ro!=null&&ro.has(o))return ro.get(o);if((o.f&fc)!==0)throw o.v;return o.v}function x6(o){if(o.f|=Lr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&ho)!==0&&(e.f&Lr)===0&&(Xk(e),x6(e))}function m6(o){if(o.v===Qs)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(Sd.has(e)||(e.f&ho)!==0&&m6(e))return!0;return!1}function Ol(o){var e=sa;try{return sa=!0,o()}finally{sa=e}}const $I=["touchstart","touchmove"];function UI(o){return $I.includes(o)}const gd=Symbol("events"),v6=new Set,C1=new Set;function qI(o,e,t,i={}){function n(s){if(i.capture||E1.call(e,s),!s.cancelBubble)return sb(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?gc(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function fs(o,e,t,i,n){var s={capture:i,passive:n},r=qI(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&a9(()=>{e.removeEventListener(o,r,s)})}function $(o,e,t){(e[gd]??(e[gd]={}))[o]=t}function Zs(o){for(var e=0;e<o.length;e++)v6.add(o[e]);for(var t of C1)t(o)}let f8=null;function E1(o){var y,w;var e=this,t=e.ownerDocument,i=o.type,n=((y=o.composedPath)==null?void 0:y.call(o))||[],s=n[0]||o.target;f8=o;var r=0,a=f8===o&&o[gd];if(a){var d=n.indexOf(a);if(d!==-1&&(e===document||e===window)){o[gd]=e;return}var u=n.indexOf(e);if(u===-1)return;d<=u&&(r=d)}if(s=n[r]||o.target,s!==e){A7(o,"currentTarget",{configurable:!0,get(){return s||t}});var f=Tn,g=Rn;Mr(null),qa(null);try{for(var p,C=[];s!==null&&s!==e;){try{var b=(w=s[gd])==null?void 0:w[i];b!=null&&(!s.disabled||o.target===s)&&b.call(s,o)}catch(A){p?C.push(A):p=A}if(o.cancelBubble)break;r++,s=r<n.length?n[r]:null}if(p){for(let A of C)queueMicrotask(()=>{throw A});throw p}}finally{o[gd]=e,delete o.currentTarget,Mr(f),qa(g)}}}var QA;const sC=((QA=globalThis==null?void 0:globalThis.window)==null?void 0:QA.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function GI(o){return(sC==null?void 0:sC.createHTML(o))??o}function _6(o){var e=s6("template");return e.innerHTML=GI(o.replaceAll("<!>","<!---->")),e.content}function yu(o,e){var t=Rn;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function B(o,e){var t=(e&nI)!==0,i=(e&sI)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=_6(s?o:"<!>"+o),t||(n=Ra(n)));var r=i||e6?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Ra(r),d=r.lastChild;yu(a,d)}else yu(r,r);return r}}function KI(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=_6(n),a=Ra(r);s=Ra(a)}var d=s.cloneNode(!0);return yu(d,d),d}}function b6(o,e){return KI(o,e,"svg")}function _o(o=""){{var e=_l(o+"");return yu(e,e),e}}function Es(){var o=document.createDocumentFragment(),e=document.createComment(""),t=_l();return o.append(e,t),yu(e,t),o}function D(o,e){o!==null&&o.before(e)}function O(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[Rf]??(o[Rf]=o.nodeValue))&&(o[Rf]=t,o.nodeValue=`${t}`)}function ZI(o,e){return XI(o,e)}const gx=new Map;function XI(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){TI();var d=void 0,u=HI(()=>{var f=t??e.appendChild(_l());CI(f,{pending:()=>{}},C=>{Vs({});var b=uo;s&&(b.c=s),n&&(i.$$events=n),d=o(C,i)||{},js()},a);var g=new Set,p=C=>{for(var b=0;b<C.length;b++){var y=C[b];if(!g.has(y)){g.add(y);var w=UI(y);for(const M of[e,document]){var A=gx.get(M);A===void 0&&(A=new Map,gx.set(M,A));var P=A.get(y);P===void 0?(M.addEventListener(y,E1,{passive:w}),A.set(y,1)):A.set(y,P+1)}}}};return p(eb(v6)),C1.add(p),()=>{var w;for(var C of g)for(const A of[e,document]){var b=gx.get(A),y=b.get(C);--y==0?(A.removeEventListener(C,E1),b.delete(C),b.size===0&&gx.delete(A)):b.set(C,y)}C1.delete(p),f!==t&&((w=f.parentNode)==null||w.removeChild(f))}});return YI.set(d,u),d}let YI=new WeakMap;var Kr,ka,ir,bd,hp,fp,jv;class QI{constructor(e,t=!0){wn(this,"anchor");xn(this,Kr,new Map);xn(this,ka,new Map);xn(this,ir,new Map);xn(this,bd,new Set);xn(this,hp,!0);xn(this,fp,e=>{if(ke(this,Kr).has(e)){var t=ke(this,Kr).get(e),i=ke(this,ka).get(t);if(i)Pm(i),ke(this,bd).delete(t);else{var n=ke(this,ir).get(t);n&&(Pm(n.effect),ke(this,ka).set(t,n.effect),ke(this,ir).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of ke(this,Kr)){if(ke(this,Kr).delete(s),s===e)break;const a=ke(this,ir).get(r);a&&(Zo(a.effect),ke(this,ir).delete(r))}for(const[s,r]of ke(this,ka)){if(s===t||ke(this,bd).has(s))continue;const a=()=>{if(Array.from(ke(this,Kr).values()).includes(s)){var u=document.createDocumentFragment();u9(r,u),u.append(_l()),ke(this,ir).set(s,{effect:r,fragment:u})}else Zo(r);ke(this,bd).delete(s),ke(this,ka).delete(s)};ke(this,hp)||!i?(ke(this,bd).add(s),Ad(r,a,!1)):a()}}});xn(this,jv,e=>{ke(this,Kr).delete(e);const t=Array.from(ke(this,Kr).values());for(const[i,n]of ke(this,ir))t.includes(i)||(Zo(n.effect),ke(this,ir).delete(i))});this.anchor=e,mn(this,hp,t)}ensure(e,t){var i=nn,n=n6();if(t&&!ke(this,ka).has(e)&&!ke(this,ir).has(e))if(n){var s=document.createDocumentFragment(),r=_l();s.append(r),ke(this,ir).set(e,{effect:Sr(()=>t(r)),fragment:s})}else ke(this,ka).set(e,Sr(()=>t(this.anchor)));if(ke(this,Kr).set(i,e),n){for(const[a,d]of ke(this,ka))a===e?i.unskip_effect(d):i.skip_effect(d);for(const[a,d]of ke(this,ir))a===e?i.unskip_effect(d.effect):i.skip_effect(d.effect);i.oncommit(ke(this,fp)),i.ondiscard(ke(this,jv))}else ke(this,fp).call(this,i)}}Kr=new WeakMap,ka=new WeakMap,ir=new WeakMap,bd=new WeakMap,hp=new WeakMap,fp=new WeakMap,jv=new WeakMap;function z(o,e,t=!1){var i=new QI(o),n=t?k0:0;function s(r,a){i.ensure(r,a)}c9(()=>{var r=!1;e((a,d=0)=>{r=!0,s(d,a)}),r||s(-1,null)},n)}function Ni(o,e){return e}function JI(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let g=e[a];Ad(g,()=>{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var p=o.outrogroups;y1(o,eb(s.done)),p.delete(s),p.size===0&&(o.outrogroups=null)}}else r-=1},!1)}if(r===0){var d=i.length===0&&t!==null;if(d){var u=t,f=u.parentNode;MI(f),f.append(u),o.items.clear()}y1(o,e,!d)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function y1(o,e,t=!0){var i;if(o.pending.size>0){i=new Set;for(const r of o.pending.values())for(const a of r)i.add(o.items.get(a).e)}for(var n=0;n<e.length;n++){var s=e[n];if(i!=null&&i.has(s)){s.f|=Ma;const r=document.createDocumentFragment();u9(s,r)}else Zo(e[n],t)}}var g8;function Zt(o,e,t,i,n,s=null){var r=o,a=new Map,d=(e&Tk)!==0;if(d){var u=o;r=u.appendChild(_l())}var f=null,g=n9(()=>{var M=t();return Jw(M)?M:M==null?[]:eb(M)}),p,C=new Map,b=!0;function y(M){(P.effect.f&Ir)===0&&(P.pending.delete(M),P.fallback=f,eP(P,p,r,e,i),f!==null&&(p.length===0?(f.f&Ma)===0?Pm(f):(f.f^=Ma,Hf(f,null,r)):Ad(f,()=>{f=null})))}function w(M){P.pending.delete(M)}var A=c9(()=>{p=c(g);for(var M=p.length,R=new Set,T=nn,V=n6(),H=0;H<M;H+=1){var J=p[H],se=i(J,H),ue=b?null:a.get(se);ue?(ue.v&&F0(ue.v,J),ue.i&&F0(ue.i,H),V&&T.unskip_effect(ue.e)):(ue=tP(a,b?r:g8??(g8=_l()),J,se,H,n,e,t),b||(ue.e.f|=Ma),a.set(se,ue)),R.add(se)}if(M===0&&s&&!f&&(b?f=Sr(()=>s(r)):(f=Sr(()=>s(g8??(g8=_l()))),f.f|=Ma)),M>R.size&&H7(),!b)if(C.set(T,R),V){for(const[ie,de]of a)R.has(ie)||T.skip_effect(de.e);T.oncommit(y),T.ondiscard(w)}else y(T);c(g)}),P={effect:A,items:a,pending:C,outrogroups:null,fallback:f};b=!1}function Df(o){for(;o!==null&&(o.f&ra)===0;)o=o.next;return o}function eP(o,e,t,i,n){var ue,ie,de,Ce,oe,fe,Be,Ne,ve;var s=(i&Y7)!==0,r=e.length,a=o.items,d=Df(o.effect.first),u,f=null,g,p=[],C=[],b,y,w,A;if(s)for(A=0;A<r;A+=1)b=e[A],y=n(b,A),w=a.get(y).e,(w.f&Ma)===0&&((ie=(ue=w.nodes)==null?void 0:ue.a)==null||ie.measure(),(g??(g=new Set)).add(w));for(A=0;A<r;A+=1){if(b=e[A],y=n(b,A),w=a.get(y).e,o.outrogroups!==null)for(const rt of o.outrogroups)rt.pending.delete(w),rt.done.delete(w);if((w.f&Io)!==0&&(Pm(w),s&&((Ce=(de=w.nodes)==null?void 0:de.a)==null||Ce.unfix(),(g??(g=new Set)).delete(w))),(w.f&Ma)!==0)if(w.f^=Ma,w===d)Hf(w,null,t);else{var P=f?f.next:d;w===o.effect.last&&(o.effect.last=w.prev),w.prev&&(w.prev.next=w.next),w.next&&(w.next.prev=w.prev),jl(o,f,w),jl(o,w,P),Hf(w,P,t),f=w,p=[],C=[],d=Df(f.next);continue}if(w!==d){if(u!==void 0&&u.has(w)){if(p.length<C.length){var M=C[0],R;f=M.prev;var T=p[0],V=p[p.length-1];for(R=0;R<p.length;R+=1)Hf(p[R],M,t);for(R=0;R<C.length;R+=1)u.delete(C[R]);jl(o,T.prev,V.next),jl(o,f,T),jl(o,V,M),d=M,f=V,A-=1,p=[],C=[]}else u.delete(w),Hf(w,d,t),jl(o,w.prev,w.next),jl(o,w,f===null?o.effect.first:f.next),jl(o,f,w),f=w;continue}for(p=[],C=[];d!==null&&d!==w;)(u??(u=new Set)).add(d),C.push(d),d=Df(d.next);if(d===null)continue}(w.f&Ma)===0&&p.push(w),f=w,d=Df(w.next)}if(o.outrogroups!==null){for(const rt of o.outrogroups)rt.pending.size===0&&(y1(o,eb(rt.done)),(oe=o.outrogroups)==null||oe.delete(rt));o.outrogroups.size===0&&(o.outrogroups=null)}if(d!==null||u!==void 0){var H=[];if(u!==void 0)for(w of u)(w.f&Io)===0&&H.push(w);for(;d!==null;)(d.f&Io)===0&&d!==o.fallback&&H.push(d),d=Df(d.next);var J=H.length;if(J>0){var se=(i&Tk)!==0&&r===0?t:null;if(s){for(A=0;A<J;A+=1)(Be=(fe=H[A].nodes)==null?void 0:fe.a)==null||Be.measure();for(A=0;A<J;A+=1)(ve=(Ne=H[A].nodes)==null?void 0:Ne.a)==null||ve.fix()}JI(o,H,se)}}s&&gc(()=>{var rt,We;if(g!==void 0)for(w of g)(We=(rt=w.nodes)==null?void 0:rt.a)==null||We.apply()})}function tP(o,e,t,i,n,s,r,a){var d=(r&Z7)!==0?(r&Q7)===0?LI(t,!1,!1):Eu(t):null,u=(r&X7)!==0?Eu(n):null;return{v:d,i:u,e:Sr(()=>(s(e,d??t,u??n,a),()=>{o.delete(i)}))}}function Hf(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Ma)===0?e.nodes.start:t;i!==null;){var r=Ip(i);if(s.before(i),i===n)return;i=r}}function jl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function ac(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var d=o;j(()=>{var u=Rn;if(a!==(a=e()??"")){if(t){u.nodes=null,d.innerHTML=a,a!==""&&yu(Ra(d),d.lastChild);return}if(u.nodes!==null&&(a6(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?oI:n?rI:void 0,g=s6(i?"svg":n?"math":"template",f);g.innerHTML=a;var p=i||n?g:g.content;if(yu(Ra(p),p.lastChild),i||n)for(;Ra(p);)r.before(Ra(p));else r.before(p)}}})}function C6(o){var e,t,i="";if(typeof o=="string"||typeof o=="number")i+=o;else if(typeof o=="object")if(Array.isArray(o)){var n=o.length;for(e=0;e<n;e++)o[e]&&(t=C6(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function iP(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=C6(o))&&(i&&(i+=" "),i+=e);return i}function sg(o){return typeof o=="object"?iP(o):o??""}const p8=[...`
3
- \r\f \v\uFEFF`];function nP(o,e,t){var i=o==null?"":""+o;if(e&&(i=i?i+" "+e:e),t){for(var n of Object.keys(t))if(t[n])i=i?i+" "+n:n;else if(i.length)for(var s=n.length,r=0;(r=i.indexOf(n,r))>=0;){var a=r+s;(r===0||p8.includes(i[r-1]))&&(a===i.length||p8.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function x8(o,e=!1){var t=e?" !important;":";",i="";for(var n of Object.keys(o)){var s=o[n];s!=null&&s!==""&&(i+=" "+n+": "+s+t)}return i}function oC(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function sP(o,e){if(e){var t="",i,n;if(Array.isArray(e)?(i=e[0],n=e[1]):i=e,o){o=String(o).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var s=!1,r=0,a=!1,d=[];i&&d.push(...Object.keys(i).map(oC)),n&&d.push(...Object.keys(n).map(oC));var u=0,f=-1;const y=o.length;for(var g=0;g<y;g++){var p=o[g];if(a?p==="/"&&o[g-1]==="*"&&(a=!1):s?s===p&&(s=!1):p==="/"&&o[g+1]==="*"?a=!0:p==='"'||p==="'"?s=p:p==="("?r++:p===")"&&r--,!a&&s===!1&&r===0){if(p===":"&&f===-1)f=g;else if(p===";"||g===y-1){if(f!==-1){var C=oC(o.substring(u,f).trim());if(!d.includes(C)){p!==";"&&g++;var b=o.substring(u,g).trim();t+=" "+b+";"}}u=g+1,f=-1}}}}return i&&(t+=x8(i)),n&&(t+=x8(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function Dt(o,e,t,i,n,s){var r=o[f1];if(r!==t||r===void 0){var a=nP(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[f1]=t}else if(s&&n!==s)for(var d in s){var u=!!s[d];(n==null||u!==!!n[d])&&o.classList.toggle(d,u)}return s}function rC(o,e={},t,i){for(var n in t){var s=t[n];e[n]!==s&&(t[n]==null?o.style.removeProperty(n):o.style.setProperty(n,s,i))}}function $o(o,e,t,i){var n=o[g1];if(n!==e){var s=sP(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[g1]=e}else i&&(Array.isArray(i)?(rC(o,t==null?void 0:t[0],i[0]),rC(o,t==null?void 0:t[1],i[1],"important")):rC(o,t,i));return i}function Tm(o,e,t=!1){if(o.multiple){if(e==null)return;if(!Jw(e))return lI();for(var i of o.options)i.selected=e.includes(og(i));return}for(i of o.options){var n=og(i);if(PI(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function w1(o){var e=new MutationObserver(()=>{Tm(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),a9(()=>{e.disconnect()})}function Bs(o,e,t=e){var i=new WeakSet,n=!0;o9(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),og);else{var d=o.querySelector(r)??o.querySelector("option:not([disabled])");a=d&&og(d)}t(a),o.__value=a,nn!==null&&i.add(nn)}),l9(()=>{var s=e();if(o===document.activeElement){var r=nn;if(i.has(r))return}if(Tm(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=og(a),t(s))}o.__value=s,n=!1}),w1(o)}function og(o){return"__value"in o?o.__value:o.value}const oP=Symbol("is custom element"),rP=Symbol("is html"),aP=N7?"progress":"PROGRESS";function S1(o,e){var t=h9(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==aP)||(o.value=e??"")}function oa(o,e){var t=h9(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function rn(o,e,t,i){var n=h9(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[R7]=t),t==null?o.removeAttribute(e):typeof t!="string"&&lP(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function h9(o){return o[Zx]??(o[Zx]={[oP]:o.nodeName.includes("-"),[rP]:o.namespaceURI===Mk})}var m8=new Map;function lP(o){var e=o.getAttribute("is")||o.nodeName,t=m8.get(e);if(t)return t;m8.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=k7(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=Fk(n)}return t}function Ht(o,e,t=e){var i=new WeakSet;o9(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=aC(o)?lC(s):s,t(s),nn!==null&&i.add(nn),await ul(),s!==(s=e())){var r=o.selectionStart,a=o.selectionEnd,d=o.value.length;if(o.value=s??"",a!==null){var u=o.value.length;r===a&&a===d&&u>d?(o.selectionStart=u,o.selectionEnd=u):(o.selectionStart=r,o.selectionEnd=Math.min(a,u))}}}),Ol(e)==null&&o.value&&(t(aC(o)?lC(o.value):o.value),nn!==null&&i.add(nn)),ob(()=>{var n=e();if(o===document.activeElement){var s=nn;if(i.has(s))return}aC(o)&&n===lC(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function Cs(o,e,t=e){o9(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),Ol(e)==null&&t(o.checked),ob(()=>{var i=e();o.checked=!!i})}function aC(o){var e=o.type;return e==="number"||e==="range"}function lC(o){return o===""?null:+o}var sc,r0,gp,$v,E6;const Uv=class Uv{constructor(e){xn(this,$v);xn(this,sc,new WeakMap);xn(this,r0);xn(this,gp);mn(this,gp,e)}observe(e,t){var i=ke(this,sc).get(e)||new Set;return i.add(t),ke(this,sc).set(e,i),Zn(this,$v,E6).call(this).observe(e,ke(this,gp)),()=>{var n=ke(this,sc).get(e);n.delete(t),n.size===0&&(ke(this,sc).delete(e),ke(this,r0).unobserve(e))}}};sc=new WeakMap,r0=new WeakMap,gp=new WeakMap,$v=new WeakSet,E6=function(){return ke(this,r0)??mn(this,r0,new ResizeObserver(e=>{for(var t of e){Uv.entries.set(t.target,t);for(var i of ke(this,sc).get(t.target)||[])i(t)}}))},wn(Uv,"entries",new WeakMap);let D1=Uv;var cP=new D1({box:"border-box"});function dP(o,e,t){var i=cP.observe(o,()=>t(o[e]));l9(()=>(Ol(()=>t(o[e])),i))}function cC(o,e){return o===e||(o==null?void 0:o[wd])===e}function us(o={},e,t,i){var n=uo.r,s=Rn;return l9(()=>{var r,a;return ob(()=>{r=a,a=[],Ol(()=>{cC(t(...a),o)||(e(o,...a),r&&cC(t(...r),o)&&e(null,...r))})}),()=>{let d=s;for(;d!==n&&d.parent!==null&&d.parent.f&h1;)d=d.parent;const u=()=>{a&&cC(t(...a),o)&&e(null,...a)},f=d.teardown;d.teardown=()=>{u(),f==null||f()}}}),o}function wu(o,e,t,i){var R;var n=!0,s=(t&tI)!==0,r=(t&iI)!==0,a=i,d=!0,u=void 0,f=()=>r&&n?(u??(u=Lg(i)),c(u)):(d&&(d=!1,a=r?Ol(i):i),a);let g;if(s){var p=wd in o||M7 in o;g=((R=Kh(o,e))==null?void 0:R.set)??(p&&e in o?T=>o[e]=T:void 0)}var C,b=!1;s?[C,b]=gI(()=>o[e]):C=o[e],C===void 0&&i!==void 0&&(C=f(),g&&($7(),g(C)));var y;if(y=()=>{var T=o[e];return T===void 0?f():(d=!0,T)},(t&eI)===0)return y;if(g){var w=o.$$legacy;return(function(T,V){return arguments.length>0?((!V||w||b)&&g(V?y():T),T):y()})}var A=!1,P=((t&J7)!==0?Lg:n9)(()=>(A=!1,y()));s&&c(P);var M=Rn;return(function(T,V){if(arguments.length>0){const H=V?c(P):s?yi(T):T;return m(P,H),A=!0,a!==void 0&&(a=H),T}return Al&&A||(M.f&Ir)!==0?P.v:c(P)})}function Ks(o){uo===null&&Pk(),$n(()=>{const e=Ol(o);if(typeof e=="function")return e})}function Tp(o){uo===null&&Pk(),Ks(()=>()=>Ol(o))}const uP="5";var JA;typeof window<"u"&&((JA=window.__svelte??(window.__svelte={})).v??(JA.v=new Set)).add(uP);/*!-----------------------------------------------------------------------------
4
- * Copyright (c) Microsoft Corporation. All rights reserved.
5
- * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
6
- * Released under the MIT license
7
- * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
8
- *-----------------------------------------------------------------------------*/var hP=Object.defineProperty,fP=Object.getOwnPropertyDescriptor,gP=Object.getOwnPropertyNames,pP=Object.prototype.hasOwnProperty,xP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of gP(e))!pP.call(o,n)&&n!==t&&hP(o,n,{get:()=>e[n],enumerable:!(i=fP(e,n))||i.enumerable});return o},mP=(o,e,t)=>(xP(o,e,"default"),t),Mp={};mP(Mp,t2);var vP=class{constructor(e,t,i){this._onDidChange=new Mp.Emitter,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},_P={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},bP={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},y6=new vP("json",_P,bP),CP=()=>w6().then(o=>o.getWorker());Mp.languages.json={jsonDefaults:y6,getWorker:CP};function w6(){return e2(()=>import("./jsonMode-tUihOf0o.js"),__vite__mapDeps([0,1,2]))}Mp.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});Mp.languages.onLanguage("json",()=>{w6().then(o=>o.setupMode(y6))});/*!-----------------------------------------------------------------------------
9
- * Copyright (c) Microsoft Corporation. All rights reserved.
10
- * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
11
- * Released under the MIT license
12
- * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
13
- *-----------------------------------------------------------------------------*/var EP=Object.defineProperty,yP=Object.getOwnPropertyDescriptor,wP=Object.getOwnPropertyNames,SP=Object.prototype.hasOwnProperty,DP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of wP(e))!SP.call(o,n)&&n!==t&&EP(o,n,{get:()=>e[n],enumerable:!(i=yP(e,n))||i.enumerable});return o},AP=(o,e,t)=>(DP(o,e,"default"),t),kP="5.4.5",I0={};AP(I0,t2);var S6=(o=>(o[o.None=0]="None",o[o.CommonJS=1]="CommonJS",o[o.AMD=2]="AMD",o[o.UMD=3]="UMD",o[o.System=4]="System",o[o.ES2015=5]="ES2015",o[o.ESNext=99]="ESNext",o))(S6||{}),D6=(o=>(o[o.None=0]="None",o[o.Preserve=1]="Preserve",o[o.React=2]="React",o[o.ReactNative=3]="ReactNative",o[o.ReactJSX=4]="ReactJSX",o[o.ReactJSXDev=5]="ReactJSXDev",o))(D6||{}),A6=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(A6||{}),k6=(o=>(o[o.ES3=0]="ES3",o[o.ES5=1]="ES5",o[o.ES2015=2]="ES2015",o[o.ES2016=3]="ES2016",o[o.ES2017=4]="ES2017",o[o.ES2018=5]="ES2018",o[o.ES2019=6]="ES2019",o[o.ES2020=7]="ES2020",o[o.ESNext=99]="ESNext",o[o.JSON=100]="JSON",o[o.Latest=99]="Latest",o))(k6||{}),B6=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(B6||{}),F6=class{constructor(o,e,t,i,n){this._onDidChange=new I0.Emitter,this._onDidExtraLibsChange=new I0.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(o),this.setDiagnosticsOptions(e),this.setWorkerOptions(t),this.setInlayHintsOptions(i),this.setModeConfiguration(n),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(o,e){let t;if(typeof e>"u"?t=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t=e,this._extraLibs[t]&&this._extraLibs[t].content===o)return{dispose:()=>{}};let i=1;return this._removedExtraLibs[t]&&(i=this._removedExtraLibs[t]+1),this._extraLibs[t]&&(i=this._extraLibs[t].version+1),this._extraLibs[t]={content:o,version:i},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let n=this._extraLibs[t];n&&n.version===i&&(delete this._extraLibs[t],this._removedExtraLibs[t]=i,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(o){for(const e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),o&&o.length>0)for(const e of o){const t=e.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,i=e.content;let n=1;this._removedExtraLibs[t]&&(n=this._removedExtraLibs[t]+1),this._extraLibs[t]={content:i,version:n}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(o){this._compilerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(o){this._diagnosticsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(o){this._workerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(o){this._inlayHintsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(o){}setEagerModelSync(o){this._eagerModelSync=o}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(o){this._modeConfiguration=o||Object.create(null),this._onDidChange.fire(void 0)}},BP=kP,L6={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},I6=new F6({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},L6),P6=new F6({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},L6),FP=()=>rb().then(o=>o.getTypeScriptWorker()),LP=()=>rb().then(o=>o.getJavaScriptWorker());I0.languages.typescript={ModuleKind:S6,JsxEmit:D6,NewLineKind:A6,ScriptTarget:k6,ModuleResolutionKind:B6,typescriptVersion:BP,typescriptDefaults:I6,javascriptDefaults:P6,getTypeScriptWorker:FP,getJavaScriptWorker:LP};function rb(){return e2(()=>import("./tsMode-CVSpCHxf.js"),__vite__mapDeps([3,1,2]))}I0.languages.onLanguage("typescript",()=>rb().then(o=>o.setupTypeScript(I6)));I0.languages.onLanguage("javascript",()=>rb().then(o=>o.setupJavaScript(P6)));class IP extends wo{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:gi("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:$i.map,toggled:qe.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:qe.has("isInDiffEditor"),menu:{when:qe.has("isInDiffEditor"),id:Xt.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(Qn),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class T6 extends wo{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:gi("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:qe.has("isInDiffEditor")})}run(e,...t){const i=e.get(Qn),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class M6 extends wo{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:gi("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:qe.has("isInDiffEditor")})}run(e,...t){const i=e.get(Qn),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const Rp=gi("diffEditor","Diff Editor");class PP extends aa{constructor(){super({id:"diffEditor.switchSide",title:gi("switchSide","Switch Side"),icon:$i.arrowSwap,precondition:qe.has("isInDiffEditor"),f1:!0,category:Rp})}runEditorCommand(e,t,i){const n=ef(e);if(n instanceof pp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class TP extends aa{constructor(){super({id:"diffEditor.exitCompareMove",title:gi("exitCompareMove","Exit Compare Move"),icon:$i.close,precondition:U.comparingMovedCode,f1:!1,category:Rp,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=ef(e);n instanceof pp&&n.exitCompareMove()}}class MP extends aa{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:gi("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:$i.fold,precondition:qe.has("isInDiffEditor"),f1:!0,category:Rp})}runEditorCommand(e,t,...i){const n=ef(e);n instanceof pp&&n.collapseAllUnchangedRegions()}}class RP extends aa{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:gi("showAllUnchangedRegions","Show All Unchanged Regions"),icon:$i.unfold,precondition:qe.has("isInDiffEditor"),f1:!0,category:Rp})}runEditorCommand(e,t,...i){const n=ef(e);n instanceof pp&&n.showAllUnchangedRegions()}}class A1 extends wo{constructor(){super({id:"diffEditor.revert",title:gi("revert","Revert"),f1:!1,category:Rp})}run(e,t){const i=NP(e,t.originalUri,t.modifiedUri);i instanceof pp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const R6=gi("accessibleDiffViewer","Accessible Diff Viewer"),qv=class qv extends wo{constructor(){super({id:qv.id,title:gi("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:R6,precondition:qe.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=ef(e);t==null||t.accessibleDiffViewerNext()}};qv.id="editor.action.accessibleDiffViewer.next";let Pg=qv;const Gv=class Gv extends wo{constructor(){super({id:Gv.id,title:gi("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:R6,precondition:qe.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=ef(e);t==null||t.accessibleDiffViewerPrev()}};Gv.id="editor.action.accessibleDiffViewer.prev";let Mm=Gv;function NP(o,e,t){return o.get(vs).listDiffEditors().find(s=>{var d,u;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((d=r.getModel())==null?void 0:d.uri.toString())===t.toString()&&a&&((u=a.getModel())==null?void 0:u.uri.toString())===e.toString()})||null}function ef(o){const t=o.get(vs).listDiffEditors(),i=i2();if(i)for(const n of t){const s=n.getContainerDomNode();if(OP(s,i))return n}return null}function OP(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Nn(IP);Nn(T6);Nn(M6);Pr.appendMenuItem(Xt.EditorTitle,{command:{id:new M6().desc.id,title:S("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:qe.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:qe.has("isInDiffEditor")},order:11,group:"1_diff",when:qe.and(U.diffEditorRenderSideBySideInlineBreakpointReached,qe.has("isInDiffEditor"))});Pr.appendMenuItem(Xt.EditorTitle,{command:{id:new T6().desc.id,title:S("showMoves","Show Moved Code Blocks"),icon:$i.move,toggled:qF.create("config.diffEditor.experimental.showMoves",!0),precondition:qe.has("isInDiffEditor")},order:10,group:"1_diff",when:qe.has("isInDiffEditor")});Nn(A1);for(const o of[{icon:$i.arrowRight,key:U.diffEditorInlineMode.toNegated()},{icon:$i.discard,key:U.diffEditorInlineMode}])Pr.appendMenuItem(Xt.DiffEditorHunkToolbar,{command:{id:new A1().desc.id,title:S("revertHunk","Revert Block"),icon:o.icon},when:qe.and(U.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Pr.appendMenuItem(Xt.DiffEditorSelectionToolbar,{command:{id:new A1().desc.id,title:S("revertSelection","Revert Selection"),icon:o.icon},when:qe.and(U.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Nn(PP);Nn(TP);Nn(MP);Nn(RP);Pr.appendMenuItem(Xt.EditorTitle,{command:{id:Pg.id,title:S("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:qe.has("isInDiffEditor")},order:10,group:"2_diff",when:qe.and(U.accessibleDiffViewerVisible.negate(),qe.has("isInDiffEditor"))});Kn.registerCommandAlias("editor.action.diffReview.next",Pg.id);Nn(Pg);Kn.registerCommandAlias("editor.action.diffReview.prev",Mm.id);Nn(Mm);var HP=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},WP=function(o,e){return function(t,i){e(t,i,o)}},k1;const ab=new vn("selectionAnchorSet",!1);var Id;let Rc=(Id=class{static get(e){return e.getContribution(k1.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=ab.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(Hi.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new oo().appendText(S("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Tr(S("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(Hi.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}},k1=Id,Id.ID="editor.contrib.selectionAnchorController",Id);Rc=k1=HP([WP(1,Dn)],Rc);class zP extends bt{constructor(){super({id:"editor.action.setSelectionAnchor",label:S("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2080),weight:100}})}async run(e,t){var i;(i=Rc.get(t))==null||i.setSelectionAnchor()}}class VP extends bt{constructor(){super({id:"editor.action.goToSelectionAnchor",label:S("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:ab})}async run(e,t){var i;(i=Rc.get(t))==null||i.goToSelectionAnchor()}}class jP extends bt{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:S("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:ab,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2089),weight:100}})}async run(e,t){var i;(i=Rc.get(t))==null||i.selectFromAnchorToCursor()}}class $P extends bt{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:S("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:ab,kbOpts:{kbExpr:U.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=Rc.get(t))==null||i.cancelSelectionAnchor()}}an(Rc.ID,Rc,4);Te(zP);Te(VP);Te(jP);Te($P);const UP=li("editorOverviewRuler.bracketMatchForeground","#A0A0A0",S("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class qP extends bt{constructor(){super({id:"editor.action.jumpToBracket",label:S("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:U.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=Su.get(t))==null||i.jumpToBracket()}}class GP extends bt{constructor(){super({id:"editor.action.selectToBracket",label:S("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:gi("smartSelect.selectToBracketDescription","Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){var s;let n=!0;i&&i.selectBrackets===!1&&(n=!1),(s=Su.get(t))==null||s.selectToBracket(n)}}class KP extends bt{constructor(){super({id:"editor.action.removeBrackets",label:S("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:U.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=Su.get(t))==null||i.removeBrackets(this.id)}}class ZP{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const Yl=class Yl extends Mt{static get(e){return e.getContribution(Yl.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Is(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{const n=i.getStartPosition(),s=e.bracketPairs.matchBracket(n);let r=null;if(s)s[0].containsPosition(n)&&!s[1].containsPosition(n)?r=s[1].getStartPosition():s[1].containsPosition(n)&&(r=s[0].getStartPosition());else{const a=e.bracketPairs.findEnclosingBrackets(n);if(a)r=a[1].getStartPosition();else{const d=e.bracketPairs.findNextBracket(n);d&&d.range&&(r=d.range.getStartPosition())}}return r?new Hi(r.lineNumber,r.column,r.lineNumber,r.column):new Hi(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(n=>{const s=n.getStartPosition();let r=t.bracketPairs.matchBracket(s);if(!r&&(r=t.bracketPairs.findEnclosingBrackets(s),!r)){const u=t.bracketPairs.findNextBracket(s);u&&u.range&&(r=t.bracketPairs.matchBracket(u.range.getStartPosition()))}let a=null,d=null;if(r){r.sort(ee.compareRangesUsingStarts);const[u,f]=r;if(a=e?u.getStartPosition():u.getEndPosition(),d=e?f.getEndPosition():f.getStartPosition(),f.containsPosition(s)){const g=a;a=d,d=g}}a&&d&&i.push(new Hi(a.lineNumber,a.column,d.lineNumber,d.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach(i=>{const n=i.getPosition();let s=t.bracketPairs.matchBracket(n);s||(s=t.bracketPairs.findEnclosingBrackets(n)),s&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:s[0],text:""},{range:s[1],text:""}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const n=i.brackets;n&&(e[t++]={range:n[0],options:i.options},e[t++]={range:n[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),i=t.getVersionId();let n=[];this._lastVersionId===i&&(n=this._lastBracketsData);const s=[];let r=0;for(let g=0,p=e.length;g<p;g++){const C=e[g];C.isEmpty()&&(s[r++]=C.getStartPosition())}s.length>1&&s.sort(_i.compare);const a=[];let d=0,u=0;const f=n.length;for(let g=0,p=s.length;g<p;g++){const C=s[g];for(;u<f&&n[u].position.isBefore(C);)u++;if(u<f&&n[u].position.equals(C))a[d++]=n[u];else{let b=t.bracketPairs.matchBracket(C,20),y=Yl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!b&&this._matchBrackets==="always"&&(b=t.bracketPairs.findEnclosingBrackets(C,20),y=Yl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[d++]=new ZP(C,b,y)}}this._lastBracketsData=a,this._lastVersionId=i}};Yl.ID="editor.contrib.bracketMatchingController",Yl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=fn.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:ks(UP),position:Oa.Center}}),Yl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=fn.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Su=Yl;an(Su.ID,Su,1);Te(GP);Te(qP);Te(KP);Pr.appendMenuItem(Xt.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:S({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class XP{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const i=this._selection.startLineNumber,n=this._selection.startColumn,s=this._selection.endColumn;if(!(this._isMovingLeft&&n===1)&&!(!this._isMovingLeft&&s===e.getLineMaxColumn(i)))if(this._isMovingLeft){const r=new ee(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new ee(i,s,i,s),a)}else{const r=new ee(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new ee(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new Hi(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new Hi(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class N6 extends bt{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const i=[],n=t.getSelections();for(const s of n)i.push(new XP(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class YP extends N6{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:S("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:U.writable})}}class QP extends N6{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:S("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:U.writable})}}Te(YP);Te(QP);class JP extends bt{constructor(){super({id:"editor.action.transposeLetters",label:S("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:U.writable,kbOpts:{kbExpr:U.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=[],s=t.getSelections();for(const r of s){if(!r.isEmpty())continue;const a=r.startLineNumber,d=r.startColumn,u=i.getLineMaxColumn(a);if(a===1&&(d===1||d===2&&u===2))continue;const f=d===u?r.getPosition():Zb.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=Zb.leftPosition(i,f),p=Zb.leftPosition(i,g),C=i.getValueInRange(ee.fromPositions(p,g)),b=i.getValueInRange(ee.fromPositions(g,f)),y=ee.fromPositions(p,f);n.push(new xp(y,b+C))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}Te(JP);const lb=(function(){if(typeof crypto=="object"&&typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let o;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?o=crypto.getRandomValues.bind(crypto):o=function(i){for(let n=0;n<i.length;n++)i[n]=Math.floor(Math.random()*256);return i};const e=new Uint8Array(16),t=[];for(let i=0;i<256;i++)t.push(i.toString(16).padStart(2,"0"));return function(){o(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let n=0,s="";return s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s}})();function f9(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function eT(o,e,t){const i={id:lb(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class O6{constructor(){this._entries=new Map}get size(){let e=0;for(const t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){const t=[...this._entries.keys()];return xl.some(this,([i,n])=>n.asFile())&&t.push("files"),W6(Rm(e),t)}get(e){var t;return(t=this._entries.get(this.toKey(e)))==null?void 0:t[0]}append(e,t){const i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(const[e,t]of this._entries)for(const i of t)yield[e,i]}toKey(e){return Rm(e)}}function Rm(o){return o.toLowerCase()}function H6(o,e){return W6(Rm(o),e.map(Rm))}function W6(o,e){if(o==="*/*")return e.length>0;if(e.includes(o))return!0;const t=o.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!t)return!1;const[i,n,s]=t;return s==="*"?e.some(r=>r.startsWith(n+"/")):!1}const cb=Object.freeze({create:o=>n2(o.map(e=>e.toString())).join(`\r
14
- `),split:o=>o.split(`\r
15
- `),parse:o=>cb.split(o).filter(e=>!e.startsWith("#"))}),ya=class ya{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+ya.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new ya((this.value?[this.value,...e]:e).join(ya.sep))}};ya.sep=".",ya.None=new ya("@@none@@"),ya.Empty=new ya("");let Yn=ya;const v8={EDITORS:"CodeEditors",FILES:"CodeFiles"};class tT{}const iT={DragAndDropContribution:"workbench.contributions.dragAndDrop"};la.add(iT.DragAndDropContribution,new tT);const xg=class xg{constructor(){}static getInstance(){return xg.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};xg.INSTANCE=new xg;let B1=xg;function z6(o){const e=new O6;for(const t of o.items){const i=t.type;if(t.kind==="string"){const n=new Promise(s=>t.getAsString(s));e.append(i,f9(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,nT(n))}}return e}function nT(o){const e=o.path?On.parse(o.path):void 0;return eT(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const sT=Object.freeze([v8.EDITORS,v8.FILES,XC.RESOURCES,XC.INTERNAL_URI_LIST]);function V6(o,e=!1){const t=z6(o),i=t.get(XC.INTERNAL_URI_LIST);if(i)t.replace(Gs.uriList,i);else if(e||!t.has(Gs.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(On.file(a).toString()):n.push(On.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Gs.uriList,f9(cb.create(n)))}for(const n of sT)t.delete(n);return t}var g9=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Tg=function(o,e){return function(t,i){e(t,i,o)}};class p9{async provideDocumentPasteEdits(e,t,i,n,s){const r=await this.getEdit(i,s);if(r)return{edits:[{insertText:r.insertText,title:r.title,kind:r.kind,handledMimeType:r.handledMimeType,yieldTo:r.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,i,n){const s=await this.getEdit(i,n);if(s)return{edits:[{insertText:s.insertText,title:s.title,kind:s.kind,handledMimeType:s.handledMimeType,yieldTo:s.yieldTo}],dispose(){}}}}const mg=class mg extends p9{constructor(){super(...arguments),this.kind=mg.kind,this.dropMimeTypes=[Gs.text],this.pasteMimeTypes=[Gs.text]}async getEdit(e,t){const i=e.get(Gs.text);if(!i||e.has(Gs.uriList))return;const n=await i.asString();return{handledMimeType:Gs.text,title:S("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};mg.id="text",mg.kind=new Yn("text.plain");let Du=mg;class j6 extends p9{constructor(){super(...arguments),this.kind=new Yn("uri.absolute"),this.dropMimeTypes=[Gs.uriList],this.pasteMimeTypes=[Gs.uriList]}async getEdit(e,t){const i=await $6(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:d})=>a.scheme===vo.file?a.fsPath:(n++,d)).join(" ");let r;return n>0?r=i.length>1?S("defaultDropProvider.uriList.uris","Insert Uris"):S("defaultDropProvider.uriList.uri","Insert Uri"):r=i.length>1?S("defaultDropProvider.uriList.paths","Insert Paths"):S("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Gs.uriList,insertText:s,title:r,kind:this.kind}}}let Nm=class extends p9{constructor(e){super(),this._workspaceContextService=e,this.kind=new Yn("uri.relative"),this.dropMimeTypes=[Gs.uriList],this.pasteMimeTypes=[Gs.uriList]}async getEdit(e,t){const i=await $6(e);if(!i.length||t.isCancellationRequested)return;const n=El(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?GF(r.uri,s):void 0}));if(n.length)return{handledMimeType:Gs.uriList,insertText:n.join(" "),title:i.length>1?S("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):S("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};Nm=g9([Tg(0,m0)],Nm);class oT{constructor(){this.kind=new Yn("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Gs.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var d;if(n.triggerKind!==YC.PasteAs&&!((d=n.only)!=null&&d.contains(this.kind)))return;const r=i.get("text/html"),a=await(r==null?void 0:r.asString());if(!(!a||s.isCancellationRequested))return{dispose(){},edits:[{insertText:a,yieldTo:this._yieldTo,title:S("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function $6(o){const e=o.get(Gs.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of cb.parse(t))try{i.push({uri:On.parse(n),originalText:n})}catch{}return i}let F1=class extends Mt{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new Du)),this._register(e.documentDropEditProvider.register("*",new j6)),this._register(e.documentDropEditProvider.register("*",new Nm(t)))}};F1=g9([Tg(0,bi),Tg(1,m0)],F1);let L1=class extends Mt{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Du)),this._register(e.documentPasteEditProvider.register("*",new j6)),this._register(e.documentPasteEditProvider.register("*",new Nm(t))),this._register(e.documentPasteEditProvider.register("*",new oT))}};L1=g9([Tg(0,bi),Tg(1,m0)],L1);const mr=class mr{constructor(){this.value="",this.pos=0}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const e=this.pos;let t=0,i=this.value.charCodeAt(e),n;if(n=mr._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(mr.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(mr.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(mr.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(mr.isVariableCharacter(i)||mr.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}n=10;do t+=1,i=this.value.charCodeAt(e+t);while(!isNaN(i)&&typeof mr._table[i]>"u"&&!mr.isDigitCharacter(i)&&!mr.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};mr._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let I1=mr;class tf{constructor(){this._children=[]}appendChild(e){return e instanceof Lo&&this._children[this._children.length-1]instanceof Lo?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,n=i.children.indexOf(e),s=i.children.slice(0);s.splice(n,1,...t),i._children=s,(function r(a,d){for(const u of a)u.parent=d,r(u.children,u)})(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof Np)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let Lo=class U6 extends tf{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new U6(this.value)}};class q6 extends tf{}class rr extends q6{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.index<t.index?-1:e.index>t.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof nf?this._children[0]:void 0}clone(){const e=new rr(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class nf extends tf{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Lo&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new nf;return this.options.forEach(e.appendChild,e),e}}class x9 extends tf{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,n=e.replace(this.regexp,function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(s=>s instanceof Zr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Zr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new x9;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(t=>t.clone()),e}}class Zr extends tf{constructor(e,t,i,n){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=n}resolve(e){return this.shorthandName==="upcase"?e?e.toLocaleUpperCase():"":this.shorthandName==="downcase"?e?e.toLocaleLowerCase():"":this.shorthandName==="capitalize"?e?e[0].toLocaleUpperCase()+e.substr(1):"":this.shorthandName==="pascalcase"?e?this._toPascalCase(e):"":this.shorthandName==="camelcase"?e?this._toCamelCase(e):"":e&&typeof this.ifValue=="string"?this.ifValue:!e&&typeof this.elseValue=="string"?this.elseValue:e||""}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(i=>i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((i,n)=>n===0?i.charAt(0).toLowerCase()+i.substr(1):i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}clone(){return new Zr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class Mg extends q6{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),t!==void 0?(this._children=[new Lo(t)],!0):!1}clone(){const e=new Mg(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function _8(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class Np extends tf{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof rr&&(e.push(i),t=!t||t.index<i.index?i:t),!0}),this._placeholders={all:e,last:t}}return this._placeholders}get placeholders(){const{all:e}=this.placeholderInfo;return e}offset(e){let t=0,i=!1;return this.walk(n=>n===e?(i=!0,!1):(t+=n.len(),!0)),i?t:-1}fullLen(e){let t=0;return _8([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof rr&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Mg&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){const e=new Np;return this._children=this.children.map(t=>t.clone()),e}walk(e){_8(this.children,e)}}class Au{constructor(){this._scanner=new I1,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){const n=new Np;return this.parseFragment(e,n),this.ensureFinalTabstop(n,i??!1,t??!1),n}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const n=new Map,s=[];t.walk(d=>(d instanceof rr&&(d.isFinalTabstop?n.set(0,void 0):!n.has(d.index)&&d.children.length>0?n.set(d.index,d.children):s.push(d)),!0));const r=(d,u)=>{const f=n.get(d.index);if(!f)return;const g=new rr(d.index);g.transform=d.transform;for(const p of f){const C=p.clone();g.appendChild(C),C instanceof rr&&n.has(C.index)&&!u.has(C.index)&&(u.add(C.index),r(C,u),u.delete(C.index))}t.replace(d,[g])},a=new Set;for(const d of s)r(d,a);return t.children.slice(i)}ensureFinalTabstop(e,t,i){(t||i&&e.placeholders.length>0)&&(e.placeholders.find(s=>s.index===0)||e.appendChild(new rr(0)))}_accept(e,t){if(e===void 0||this._token.type===e){const i=t?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),i}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){const t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){const n=this._scanner.next();if(n.type!==0&&n.type!==4&&n.type!==5)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new Lo(t)),!0):!1}_parseTabstopOrVariableName(e){let t;const i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new rr(Number(t)):new Mg(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);const s=new rr(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Lo("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new nf;for(;;){if(this._parseChoiceElement(r)){if(this._accept(2))continue;if(this._accept(7)&&(s.appendChild(r),this._accept(4)))return e.appendChild(s),!0}return this._backTo(i),!1}}else return this._accept(6)?this._parseTransform(s)?(e.appendChild(s),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(s),!0):this._backTo(i)}_parseChoiceElement(e){const t=this._token,i=[];for(;!(this._token.type===2||this._token.type===7);){let n;if((n=this._accept(5,!0))?n=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||n:n=this._accept(void 0,!0),!n)return this._backTo(t),!1;i.push(n)}return i.length===0?(this._backTo(t),!1):(e.appendChild(new Lo(i.join(""))),!0)}_parseComplexVariable(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);const s=new Mg(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Lo("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else return this._accept(6)?this._parseTransform(s)?(e.appendChild(s),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(s),!0):this._backTo(i)}_parseTransform(e){const t=new x9;let i="",n="";for(;!this._accept(6);){let s;if(s=this._accept(5,!0)){s=this._accept(6,!0)||s,i+=s;continue}if(this._token.type!==14){i+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let s;if(s=this._accept(5,!0)){s=this._accept(5,!0)||this._accept(6,!0)||s,t.appendChild(new Lo(s));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){n+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(i,n)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);const n=this._accept(8,!0);if(n)if(i){if(this._accept(4))return e.appendChild(new Zr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Zr(Number(n))),!0;else return this._backTo(t),!1;if(this._accept(6)){const s=this._accept(9,!0);return!s||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new Zr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Zr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Zr(Number(n),void 0,void 0,s)),!0}else if(this._accept(13)){const s=this._until(1);if(s){const r=this._until(4);if(r)return e.appendChild(new Zr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Zr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new Lo(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function G6(o,e,t){var i,n;return(typeof t.insertText=="string"?t.insertText==="":t.insertText.snippet==="")?{edits:((i=t.additionalEdit)==null?void 0:i.edits)??[]}:{edits:[...e.map(s=>new KF(o,{range:s,text:typeof t.insertText=="string"?Au.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function K6(o){function e(r,a){return"mimeType"in r?r.mimeType===a.handledMimeType:!!a.kind&&r.kind.contains(a.kind)}const t=new Map;for(const r of o)for(const a of r.yieldTo??[])for(const d of o)if(d!==r&&e(a,d)){let u=t.get(r);u||(u=[],t.set(r,u)),u.push(d)}if(!t.size)return Array.from(o);const i=new Set,n=[];function s(r){if(!r.length)return[];const a=r[0];if(n.includes(a))return console.warn("Yield to cycle detected",a),r;if(i.has(a))return s(r.slice(1));let d=[];const u=t.get(a);return u&&(n.push(a),d=s(u),n.pop()),i.add(a),[...d,a,...s(r.slice(1))]}return s(Array.from(o))}var rT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},aT=function(o,e){return function(t,i){e(t,i,o)}};const lT=fn.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:s2,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Kv=class Kv extends Mt{constructor(e,t,i,n,s){super(),this.typeId=e,this.editor=t,this.range=i,this.delegate=s,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(n),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=ai(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=ai("span.icon");this.domNode.append(t),t.classList.add(...Fn.asClassNameArray($i.loading),"codicon-modifier-spin");const i=()=>{const n=this.editor.getOption(67);this.domNode.style.height=`${n}px`,this.domNode.style.width=`${Math.ceil(.8*n)}px`};i(),this._register(this.editor.onDidChangeConfiguration(n=>{(n.hasChanged(52)||n.hasChanged(67))&&i()})),this._register(Sn(this.domNode,is.CLICK,n=>{this.delegate.cancel()}))}getId(){return Kv.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}};Kv.baseId="editor.widget.inlineProgressWidget";let P1=Kv,Om=class extends Mt{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Xo),this._currentWidget=this._register(new Xo),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,i,n,s){const r=this._operationIdPool++;this._currentOperation=r,this.clear(),this._showPromise.value=bg(()=>{const a=ee.fromPositions(e);this._currentDecorations.set([{range:a,options:lT}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(P1,this.id,this._editor,a,t,n))},s??this._showDelay);try{return await i}finally{this._currentOperation===r&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};Om=rT([aT(2,en)],Om);var cT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},b8=function(o,e){return function(t,i){e(t,i,o)}},tm,xc;let Po=(xc=class{static get(e){return e.getContribution(tm.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Xo,this._messageListeners=new It,this._mouseOverMessage=!1,this._editor=e,this._visible=tm.MESSAGE_VISIBLE.bindTo(t)}dispose(){var e;(e=this._message)==null||e.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){Tr($x(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=$x(e)?ZF(e,{actionHandler:{callback:n=>{this.closeMessage(),XF(this._openerService,n,$x(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new C8(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(Ls.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&YF(i2(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(Sn(this._messageWidget.value.getDomNode(),is.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Sn(this._messageWidget.value.getDomNode(),is.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let i;this._messageListeners.add(this._editor.onMouseMove(n=>{n.target.position&&(i?i.containsPosition(n.target.position)||this.closeMessage():i=new ee(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(C8.fadeOut(this._messageWidget.value))}},tm=xc,xc.ID="editor.contrib.messageController",xc.MESSAGE_VISIBLE=new vn("messageVisible",!1,S("messageVisible","Whether the editor is currently showing an inline message")),xc);Po=tm=cT([b8(1,Dn),b8(2,ca)],Po);const dT=So.bindToContribution(Po.get);Di(new dT({id:"leaveEditorMessage",precondition:Po.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let C8=class{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},n){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const s=document.createElement("div");s.classList.add("anchor","top"),this._domNode.appendChild(s);const r=document.createElement("div");typeof n=="string"?(r.classList.add("message"),r.textContent=n):(n.classList.add("message"),r.appendChild(n)),this._domNode.appendChild(r);const a=document.createElement("div");a.classList.add("anchor","below"),this._domNode.appendChild(a),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",e===2)}};an(Po.ID,Po,4);function dC(o,e){return e&&(o.stack||o.stacktrace)?S("stackTrace.format","{0}: {1}",y8(o),E8(o.stack)||E8(o.stacktrace)):y8(o)}function E8(o){return Array.isArray(o)?o.join(`
16
- `):o}function y8(o){return o.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${o.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof o.code=="string"&&typeof o.errno=="number"&&typeof o.syscall=="string"?S("nodeExceptionMessage","A system error occurred ({0})",o.message):o.message||S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function Hm(o=null,e=!1){if(!o)return S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=El(o),i=Hm(t[0],e);return t.length>1?S("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(o2(o))return o;if(o.detail){const t=o.detail;if(t.error)return dC(t.error,e);if(t.exception)return dC(t.exception,e)}return o.stack?dC(o,e):o.message?o.message:S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var Z6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Xh=function(o,e){return function(t,i){e(t,i,o)}},T1,Pd;let M1=(Pd=class extends Mt{constructor(e,t,i,n,s,r,a,d,u,f){super(),this.typeId=e,this.editor=t,this.showCommand=n,this.range=s,this.edits=r,this.onSelectNewEdit=a,this._contextMenuService=d,this._keybindingService=f,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(u),this.visibleContext.set(!0),this._register(Xn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Xn((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(g=>{s.containsPosition(g.position)||this.dispose()})),this._register(Ls.runAndSubscribe(f.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){var t;const e=(t=this._keybindingService.lookupKeybinding(this.showCommand.id))==null?void 0:t.getLabel();this.button.element.title=this.showCommand.label+(e?` (${e})`:"")}create(){this.domNode=ai(".post-edit-widget"),this.button=this._register(new QF(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Sn(this.domNode,is.CLICK,()=>this.showSelector()))}getId(){return T1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=Co(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>JF({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},T1=Pd,Pd.baseId="editor.widget.postEditWidget",Pd);M1=T1=Z6([Xh(7,G0),Xh(8,Dn),Xh(9,ws)],M1);let Wm=class extends Mt{constructor(e,t,i,n,s,r,a){super(),this._id=e,this._editor=t,this._visibleContext=i,this._showCommand=n,this._instantiationService=s,this._bulkEditService=r,this._notificationService=a,this._currentWidget=this._register(new Xo),this._register(Ls.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,i,n,s){const r=this._editor.getModel();if(!r||!e.length)return;const a=t.allEdits.at(t.activeEditIndex);if(!a)return;const d=async w=>{const A=this._editor.getModel();A&&(await A.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:w,allEdits:t.allEdits},i,n,s))},u=(w,A)=>{zc(w)||(this._notificationService.error(A),i&&this.show(e[0],t,d))};let f;try{f=await n(a,s)}catch(w){return u(w,S("resolveError",`Error resolving edit '{0}':
17
- {1}`,a.title,Hm(w)))}if(s.isCancellationRequested)return;const g=G6(r.uri,e,f),p=e[0],C=r.deltaDecorations([],[{range:p,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let b,y;try{b=await this._bulkEditService.apply(g,{editor:this._editor,token:s}),y=r.getDecorationRange(C[0])}catch(w){return u(w,S("applyError",`Error applying edit '{0}':
18
- {1}`,a.title,Hm(w)))}finally{r.deltaDecorations(C,[])}s.isCancellationRequested||i&&b.isApplied&&t.allEdits.length>1&&this.show(y??p,t,d)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(M1,this._id,this._editor,this._visibleContext,this._showCommand,e,t,i))}clear(){this._currentWidget.clear()}tryShowSelector(){var e;(e=this._currentWidget.value)==null||e.showSelector()}};Wm=Z6([Xh(4,en),Xh(5,T_),Xh(6,go)],Wm);var uT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ch=function(o,e){return function(t,i){e(t,i,o)}},sd;const X6="editor.changePasteType",m9=new vn("pasteWidgetVisible",!1,S("pasteWidgetVisible","Whether the paste widget is showing")),uC="application/vnd.code.copyMetadata";var Td;let kl=(Td=class extends Mt{static get(e){return e.getContribution(sd.ID)}constructor(e,t,i,n,s,r,a){super(),this._bulkEditService=i,this._clipboardService=n,this._languageFeaturesService=s,this._quickInputService=r,this._progressService=a,this._editor=e;const d=e.getContainerDomNode();this._register(Sn(d,"copy",u=>this.handleCopy(u))),this._register(Sn(d,"cut",u=>this.handleCopy(u))),this._register(Sn(d,"paste",u=>this.handlePaste(u),!0)),this._pasteProgressManager=this._register(new Om("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(Wm,"pasteIntoEditor",e,m9,{id:X6,label:S("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},ww().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){var y,w,A,P;if(!this._editor.hasTextFocus()||((w=(y=this._clipboardService).clearInternalState)==null||w.call(y),!e.clipboardData||!this.isPasteAsEnabled()))return;const t=this._editor.getModel(),i=this._editor.getSelections();if(!t||!(i!=null&&i.length))return;const n=this._editor.getOption(37);let s=i;const r=i.length===1&&i[0].isEmpty();if(r){if(!n)return;s=[new ee(s[0].startLineNumber,1,s[0].startLineNumber,1+t.getLineLength(s[0].startLineNumber))]}const a=(A=this._editor._getViewModel())==null?void 0:A.getPlainTextToCopy(i,n,M_),u={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:r,mode:null},f=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(M=>!!M.prepareDocumentPaste);if(!f.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:u});return}const g=z6(e.clipboardData),p=f.flatMap(M=>M.copyMimeTypes??[]),C=lb();this.setCopyMetadata(e.clipboardData,{id:C,providerCopyMimeTypes:p,defaultPastePayload:u});const b=$s(async M=>{const R=El(await Promise.all(f.map(async T=>{try{return await T.prepareDocumentPaste(t,s,g,M)}catch(V){console.error(V);return}})));R.reverse();for(const T of R)for(const[V,H]of T)g.replace(V,H);return g});(P=sd._currentCopyOperation)==null||P.dataTransferPromise.cancel(),sd._currentCopyOperation={handle:C,dataTransferPromise:b}}async handlePaste(e){var d,u,f;if(!e.clipboardData||!this._editor.hasTextFocus())return;(d=Po.get(this._editor))==null||d.closeMessage(),(u=this._currentPasteOperation)==null||u.cancel(),this._currentPasteOperation=void 0;const t=this._editor.getModel(),i=this._editor.getSelections();if(!(i!=null&&i.length)||!t||this._editor.getOption(92)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const n=this.fetchCopyMetadata(e),s=V6(e.clipboardData);s.delete(uC);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],Gs.uriList],a=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(g=>{var C,b;const p=(C=this._pasteAsActionContext)==null?void 0:C.preferred;return p&&g.providedPasteEditKinds&&!this.providerMatchesPreference(g,p)?!1:(b=g.pasteMimeTypes)==null?void 0:b.some(y=>H6(y,r))});if(!a.length){(f=this._pasteAsActionContext)!=null&&f.preferred&&this.showPasteAsNoEditMessage(i,this._pasteAsActionContext.preferred);return}e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,a,i,s,n):this.doPasteInline(a,i,s,n,e)}showPasteAsNoEditMessage(e,t){var i;(i=Po.get(this._editor))==null||i.showMessage(S("pasteAsError","No paste edits for '{0}' found",t instanceof Yn?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new v0(r,3,void 0),d=$s(async u=>{const f=this._editor;if(!f.hasModel())return;const g=f.getModel(),p=new It,C=p.add(new Us(u));p.add(a.token.onCancellationRequested(()=>C.cancel()));const b=C.token;try{if(await this.mergeInDataFromCopy(i,n,b),b.isCancellationRequested)return;const y=e.filter(P=>this.isSupportedPasteProvider(P,i));if(!y.length||y.length===1&&y[0]instanceof Du)return this.applyDefaultPasteHandler(i,n,b,s);const w={triggerKind:YC.Automatic},A=await this.getPasteEdits(y,i,g,t,w,b);if(p.add(A),b.isCancellationRequested)return;if(A.edits.length===1&&A.edits[0].provider instanceof Du)return this.applyDefaultPasteHandler(i,n,b,s);if(A.edits.length){const P=f.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:A.edits},P,(M,R)=>new Promise((T,V)=>{(async()=>{var H,J;try{const se=(J=(H=M.provider).resolveDocumentPasteEdit)==null?void 0:J.call(H,M,R),ue=new R_,ie=se&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),S("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([ue.p,se]),{cancel:()=>(ue.cancel(),V(new N_))},0);return ie&&(M.additionalEdit=ie.additionalEdit),T(M)}catch(se){return V(se)}})()}),b)}await this.applyDefaultPasteHandler(i,n,b,s)}finally{p.dispose(),this._currentPasteOperation===d&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),S("pasteIntoEditorProgress","Running paste handlers. Click to cancel and do basic paste"),d,{cancel:async()=>{try{if(d.cancel(),a.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(i,n,a.token,s)}finally{a.dispose()}}}).then(()=>{a.dispose()}),this._currentPasteOperation=d}showPasteAsPick(e,t,i,n,s){const r=$s(async a=>{const d=this._editor;if(!d.hasModel())return;const u=d.getModel(),f=new It,g=f.add(new v0(d,3,void 0,a));try{if(await this.mergeInDataFromCopy(n,s,g.token),g.token.isCancellationRequested)return;let p=t.filter(A=>this.isSupportedPasteProvider(A,n,e));e&&(p=p.filter(A=>this.providerMatchesPreference(A,e)));const C={triggerKind:YC.PasteAs,only:e&&e instanceof Yn?e:void 0};let b=f.add(await this.getPasteEdits(p,n,u,i,C,g.token));if(g.token.isCancellationRequested)return;if(e&&(b={edits:b.edits.filter(A=>e instanceof Yn?e.contains(A.kind):e.providerId===A.provider.id),dispose:b.dispose}),!b.edits.length){C.only&&this.showPasteAsNoEditMessage(i,C.only);return}let y;if(e)y=b.edits.at(0);else{const A=await this._quickInputService.pick(b.edits.map(P=>{var M;return{label:P.title,description:(M=P.kind)==null?void 0:M.value,edit:P}}),{placeHolder:S("pasteAsPickerPlaceholder","Select Paste Action")});y=A==null?void 0:A.edit}if(!y)return;const w=G6(u.uri,i,y);await this._bulkEditService.apply(w,{editor:this._editor})}finally{f.dispose(),this._currentPasteOperation===r&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:S("pasteAsProgress","Running paste handlers")},()=>r)}setCopyMetadata(e,t){e.setData(uC,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(uC);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=e3.getTextData(e.clipboardData);if(n)return{defaultPastePayload:{mode:n.mode,multicursorText:n.multicursorText??null,pasteOnNewLine:!!n.isFromEmptySelection}}}async mergeInDataFromCopy(e,t,i){var n;if(t!=null&&t.id&&((n=sd._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await sd._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(Gs.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(Gs.uriList,f9(cb.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new It,d=await mp(Promise.all(e.map(async f=>{var g,p;try{const C=await((g=f.provideDocumentPasteEdits)==null?void 0:g.call(f,i,n,t,s,r));return C&&a.add(C),(p=C==null?void 0:C.edits)==null?void 0:p.map(b=>({...b,provider:f}))}catch(C){zc(C)||console.error(C);return}})),r),u=El(d??[]).flat().filter(f=>!s.only||s.only.contains(f.kind));return{edits:K6(u),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(Gs.text)??e.get("text"),r=await(s==null?void 0:s.asString())??"";if(i.isCancellationRequested)return;const a={clipboardEvent:n,text:r,pasteOnNewLine:(t==null?void 0:t.defaultPastePayload.pasteOnNewLine)??!1,multicursorText:(t==null?void 0:t.defaultPastePayload.multicursorText)??null,mode:null};this._editor.trigger("keyboard","paste",a)}isSupportedPasteProvider(e,t,i){var n;return(n=e.pasteMimeTypes)!=null&&n.some(s=>t.matches(s))?!i||this.providerMatchesPreference(e,i):!1}providerMatchesPreference(e,t){return t instanceof Yn?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},sd=Td,Td.ID="editor.contrib.copyPasteActionController",Td);kl=sd=uT([ch(1,en),ch(2,T_),ch(3,K0),ch(4,bi),ch(5,Pl),ch(6,t3)],kl);const ku="9_cutcopypaste",hT=Z0||document.queryCommandSupported("cut"),Y6=Z0||document.queryCommandSupported("copy"),fT=typeof navigator.clipboard>"u"||i3?document.queryCommandSupported("paste"):!0;function v9(o){return o.register(),o}const gT=hT?v9(new Sw({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Z0?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Xt.MenubarEditMenu,group:"2_ccp",title:S({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:Xt.EditorContext,group:ku,title:S("actions.clipboard.cutLabel","Cut"),when:U.writable,order:1},{menuId:Xt.CommandPalette,group:"",title:S("actions.clipboard.cutLabel","Cut"),order:1},{menuId:Xt.SimpleEditorContext,group:ku,title:S("actions.clipboard.cutLabel","Cut"),when:U.writable,order:1}]})):void 0,pT=Y6?v9(new Sw({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Z0?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Xt.MenubarEditMenu,group:"2_ccp",title:S({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:Xt.EditorContext,group:ku,title:S("actions.clipboard.copyLabel","Copy"),order:2},{menuId:Xt.CommandPalette,group:"",title:S("actions.clipboard.copyLabel","Copy"),order:1},{menuId:Xt.SimpleEditorContext,group:ku,title:S("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;Pr.appendMenuItem(Xt.MenubarEditMenu,{submenu:Xt.MenubarCopy,title:gi("copy as","Copy As"),group:"2_ccp",order:3});Pr.appendMenuItem(Xt.EditorContext,{submenu:Xt.EditorContextCopy,title:gi("copy as","Copy As"),group:ku,order:3});Pr.appendMenuItem(Xt.EditorContext,{submenu:Xt.EditorContextShare,title:gi("share","Share"),group:"11_share",order:-1,when:qe.and(qe.notEquals("resourceScheme","output"),U.editorTextFocus)});Pr.appendMenuItem(Xt.ExplorerContext,{submenu:Xt.ExplorerContextShare,title:gi("share","Share"),group:"11_share",order:-1});const hC=fT?v9(new Sw({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Z0?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Xt.MenubarEditMenu,group:"2_ccp",title:S({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:Xt.EditorContext,group:ku,title:S("actions.clipboard.pasteLabel","Paste"),when:U.writable,order:4},{menuId:Xt.CommandPalette,group:"",title:S("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:Xt.SimpleEditorContext,group:ku,title:S("actions.clipboard.pasteLabel","Paste"),when:U.writable,order:4}]})):void 0;class xT extends bt{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:S("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:U.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(DS.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),DS.forceCopyWithSyntaxHighlighting=!1)}}function Q6(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(vs).getFocusedCodeEditor();if(n&&n.hasTextFocus()){const s=n.getOption(37),r=n.getSelection();return r&&r.isEmpty()&&!s||n.getContainerDomNode().ownerDocument.execCommand(e),!0}return!1}),o.addImplementation(0,"generic-dom",(t,i)=>(ww().execCommand(e),!0)))}Q6(gT,"cut");Q6(pT,"copy");hC&&(hC.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(vs),i=o.get(K0),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=kl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():n3?(async()=>{const a=await i.readText();if(a!==""){const d=s3.INSTANCE.get(a);let u=!1,f=null,g=null;d&&(u=n.getOption(37)&&!!d.isFromEmptySelection,f=typeof d.multicursorText<"u"?d.multicursorText:null,g=d.mode),n.trigger("keyboard","paste",{text:a,pasteOnNewLine:u,multicursorText:f,mode:g})}})():!0:!1}),hC.addImplementation(0,"generic-dom",(o,e)=>(ww().execCommand("paste"),!0)));Y6&&Te(xT);const qn=new class{constructor(){this.QuickFix=new Yn("quickfix"),this.Refactor=new Yn("refactor"),this.RefactorExtract=this.Refactor.append("extract"),this.RefactorInline=this.Refactor.append("inline"),this.RefactorMove=this.Refactor.append("move"),this.RefactorRewrite=this.Refactor.append("rewrite"),this.Notebook=new Yn("notebook"),this.Source=new Yn("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var No;(function(o){o.Refactor="refactor",o.RefactorPreview="refactor preview",o.Lightbulb="lightbulb",o.Default="other (default)",o.SourceAction="source action",o.QuickFix="quick fix action",o.FixAll="fix all",o.OrganizeImports="organize imports",o.AutoFix="auto fix",o.QuickFixHover="quick fix hover window",o.OnSave="save participants",o.ProblemsView="problems view"})(No||(No={}));function mT(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>J6(e,t,o.include))||!o.includeSourceActions&&qn.Source.contains(e))}function vT(o,e){const t=e.kind?new Yn(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>J6(t,i,o.include))||!o.includeSourceActions&&t&&qn.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function J6(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class Ia{static fromUser(e,t){return!e||typeof e!="object"?new Ia(t.kind,t.apply,!1):new Ia(Ia.getKindFromUser(e,t.kind),Ia.getApplyFromUser(e,t.apply),Ia.getPreferredUser(e))}static getApplyFromUser(e,t){switch(typeof e.apply=="string"?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return typeof e.kind=="string"?new Yn(e.kind):t}static getPreferredUser(e){return typeof e.preferred=="boolean"?e.preferred:!1}constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}}class _T{constructor(e,t,i){this.action=e,this.provider=t,this.highlightRange=i}async resolve(e){var t;if((t=this.provider)!=null&&t.resolveCodeAction&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,e)}catch(n){ms(n)}i&&(this.action.edit=i.edit)}return this}}const e5="editor.action.codeAction",_9="editor.action.quickFix",t5="editor.action.autoFix",i5="editor.action.refactor",n5="editor.action.sourceAction",R1="editor.action.organizeImports",N1="editor.action.fixAll";class rg extends Mt{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:e},{action:t}){return e.isAI&&!t.isAI?1:!e.isAI&&t.isAI?-1:Go(e.diagnostics)?Go(t.diagnostics)?rg.codeActionsPreferredComparator(e,t):-1:Go(t.diagnostics)?1:rg.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(rg.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&qn.QuickFix.contains(new Yn(e.kind))&&!!e.isPreferred)}get hasAIFix(){return this.validActions.some(({action:e})=>!!e.isAI)}get allAIFixes(){return this.validActions.every(({action:e})=>!!e.isAI)}}const w8={actions:[],documentation:void 0};async function Mh(o,e,t,i,n,s){var y;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],qn.Notebook]},d={only:(y=r.include)==null?void 0:y.value,trigger:i.type},u=new o3(e,s),f=i.type===2,g=bT(o,e,f?a:r),p=new It,C=g.map(async w=>{try{n.report(w);const A=await w.provideCodeActions(e,t,d,u.token);if(A&&p.add(A),u.token.isCancellationRequested)return w8;const P=((A==null?void 0:A.actions)||[]).filter(R=>R&&vT(r,R)),M=ET(w,P,r.include);return{actions:P.map(R=>new _T(R,w)),documentation:M}}catch(A){if(zc(A))throw A;return ms(A),w8}}),b=o.onDidChange(()=>{const w=o.all(e);Va(w,g)||u.cancel()});try{const w=await Promise.all(C),A=w.map(M=>M.actions).flat(),P=[...El(w.map(M=>M.documentation)),...CT(o,e,i,A)];return new rg(A,P,p)}finally{b.dispose(),u.dispose()}}function bT(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>mT(t,new Yn(n))):!0)}function*CT(o,e,t,i){var n,s,r;if(e&&i.length)for(const a of o.all(e))a._getAdditionalMenuItems&&(yield*(r=a._getAdditionalMenuItems)==null?void 0:r.call(a,{trigger:t.type,only:(s=(n=t.filter)==null?void 0:n.include)==null?void 0:s.value},i.map(d=>d.action)))}function ET(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new Yn(n.kind),command:n.command}));if(t){let n;for(const s of i)s.kind.contains(t)&&(n?n.kind.contains(s.kind)&&(n=s):n=s);if(n)return n==null?void 0:n.command}for(const n of e)if(n.kind){for(const s of i)if(s.kind.contains(new Yn(n.kind)))return s.command}}var pd;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(pd||(pd={}));async function yT(o,e,t,i,n=on.None){var u;const s=o.get(T_),r=o.get(Ws),a=o.get(da),d=o.get(go);if(a.publicLog2("codeAction.applyCodeAction",{codeActionTitle:e.action.title,codeActionKind:e.action.kind,codeActionIsPreferred:!!e.action.isPreferred,reason:t}),await e.resolve(n),!n.isCancellationRequested&&!((u=e.action.edit)!=null&&u.edits.length&&!(await s.apply(e.action.edit,{editor:i==null?void 0:i.editor,label:e.action.title,quotableLabel:e.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:t!==pd.OnSave,showPreview:i==null?void 0:i.preview})).isApplied)&&e.action.command)try{await r.executeCommand(e.action.command.id,...e.action.command.arguments||[])}catch(f){const g=wT(f);d.error(typeof g=="string"?g:S("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function wT(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}Kn.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof On))throw ml();const{codeActionProvider:s}=o.get(bi),r=o.get(po).getModel(e);if(!r)throw ml();const a=Hi.isISelection(t)?Hi.liftSelection(t):ee.isIRange(t)?r.validateRange(t):void 0;if(!a)throw ml();const d=typeof i=="string"?new Yn(i):void 0,u=await Mh(s,r,a,{type:1,triggerAction:No.Default,filter:{includeSourceActions:!0,include:d}},hl.None,on.None),f=[],g=Math.min(u.validActions.length,typeof n=="number"?n:0);for(let p=0;p<g;p++)f.push(u.validActions[p].resolve(on.None));try{return await Promise.all(f),u.validActions.map(p=>p.action)}finally{setTimeout(()=>u.dispose(),100)}});var ST=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},DT=function(o,e){return function(t,i){e(t,i,o)}},O1,Md;let H1=(Md=class{constructor(e){this.keybindingService=e}getResolver(){const e=new Dw(()=>this.keybindingService.getKeybindings().filter(t=>O1.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===R1?i={kind:qn.SourceOrganizeImports.value}:t.command===N1&&(i={kind:qn.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...Ia.fromUser(i,{kind:Yn.None,apply:"never"})}}));return t=>{if(t.kind){const i=this.bestKeybindingForCodeAction(t,e.value);return i==null?void 0:i.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new Yn(e.kind);return t.filter(n=>n.kind.contains(i)).filter(n=>n.preferred?e.isPreferred:!0).reduceRight((n,s)=>n?n.kind.contains(s.kind)?s:n:s,void 0)}},O1=Md,Md.codeActionCommands=[i5,e5,n5,R1,N1],Md);H1=O1=ST([DT(0,ws)],H1);li("symbolIcon.arrayForeground",Ps,S("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.booleanForeground",Ps,S("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},S("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.colorForeground",Ps,S("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.constantForeground",Ps,S("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},S("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},S("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},S("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.fileForeground",Ps,S("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.folderForeground",Ps,S("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},S("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.keyForeground",Ps,S("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.keywordForeground",Ps,S("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},S("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.moduleForeground",Ps,S("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.namespaceForeground",Ps,S("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.nullForeground",Ps,S("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.numberForeground",Ps,S("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.objectForeground",Ps,S("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.operatorForeground",Ps,S("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.packageForeground",Ps,S("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.propertyForeground",Ps,S("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.referenceForeground",Ps,S("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.snippetForeground",Ps,S("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.stringForeground",Ps,S("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.structForeground",Ps,S("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.textForeground",Ps,S("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.typeParameterForeground",Ps,S("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.unitForeground",Ps,S("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));li("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const s5=Object.freeze({kind:Yn.Empty,title:S("codeAction.widget.id.more","More Actions...")}),AT=Object.freeze([{kind:qn.QuickFix,title:S("codeAction.widget.id.quickfix","Quick Fix")},{kind:qn.RefactorExtract,title:S("codeAction.widget.id.extract","Extract"),icon:$i.wrench},{kind:qn.RefactorInline,title:S("codeAction.widget.id.inline","Inline"),icon:$i.wrench},{kind:qn.RefactorRewrite,title:S("codeAction.widget.id.convert","Rewrite"),icon:$i.wrench},{kind:qn.RefactorMove,title:S("codeAction.widget.id.move","Move"),icon:$i.wrench},{kind:qn.SurroundWith,title:S("codeAction.widget.id.surround","Surround With"),icon:$i.surroundWith},{kind:qn.Source,title:S("codeAction.widget.id.source","Source Action"),icon:$i.symbolFile},s5]);function kT(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:s5,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=AT.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new Yn(s.action.kind):Yn.None;for(const a of i)if(a.group.kind.contains(r)){a.actions.push(s);break}}const n=[];for(const s of i)if(s.actions.length){n.push({kind:"header",group:s.group});for(const r of s.actions){const a=s.group;n.push({kind:"action",item:r,group:r.action.isAI?{title:a.title,kind:a.kind,icon:$i.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var BT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},FT=function(o,e){return function(t,i){e(t,i,o)}},Sh;const S8=gs("gutter-lightbulb",$i.lightBulb,S("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),D8=gs("gutter-lightbulb-auto-fix",$i.lightbulbAutofix,S("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),A8=gs("gutter-lightbulb-sparkle",$i.lightbulbSparkle,S("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),k8=gs("gutter-lightbulb-aifix-auto-fix",$i.lightbulbSparkleAutofix,S("gutterLightbulbAIFixAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.")),B8=gs("gutter-lightbulb-sparkle-filled",$i.sparkleFilled,S("gutterLightbulbSparkleFilledWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available."));var Ur;(function(o){o.Hidden={type:0};class e{constructor(i,n,s,r){this.actions=i,this.trigger=n,this.editorPosition=s,this.widgetPosition=r,this.type=1}}o.Showing=e})(Ur||(Ur={}));var gl;let Rg=(gl=class extends Mt{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new sn),this.onClick=this._onClick.event,this._state=Ur.Hidden,this._gutterState=Ur.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+S8.id,"codicon-"+k8.id,"codicon-"+D8.id,"codicon-"+A8.id,"codicon-"+B8.id],this.gutterDecoration=Sh.GUTTER_DECORATION,this._domNode=ai("div.lightBulbWidget"),this._domNode.role="listbox",this._register(r2.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(i=>{const n=this._editor.getModel();(this.state.type!==1||!n||this.state.editorPosition.lineNumber>=n.getLineCount())&&this.hide(),(this.gutterState.type!==1||!n||this.gutterState.editorPosition.lineNumber>=n.getLineCount())&&this.gutterHide()})),this._register(r3(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=Co(this._domNode),r=this._editor.getOption(67);let a=Math.floor(r/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber<this.state.editorPosition.lineNumber&&(a+=r),this._onClick.fire({x:i.posx,y:n+s+a,actions:this.state.actions,trigger:this.state.trigger})})),this._register(Sn(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(Ls.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(t5))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(_9))==null?void 0:n.getLabel())??void 0,this._updateLightBulbTitleAndIcon()})),this._register(this._editor.onMouseDown(async i=>{if(!i.target.element||!this.lightbulbClasses.some(d=>i.target.element&&i.target.element.classList.contains(d))||this.gutterState.type!==1)return;this._editor.focus();const{top:n,height:s}=Co(i.target.element),r=this._editor.getOption(67);let a=Math.floor(r/3);this.gutterState.widgetPosition.position!==null&&this.gutterState.widgetPosition.position.lineNumber<this.gutterState.editorPosition.lineNumber&&(a+=r),this._onClick.fire({x:i.event.posx,y:n+s+a,actions:this.gutterState.actions,trigger:this.gutterState.trigger})}))}dispose(){super.dispose(),this._editor.removeContentWidget(this),this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(e,t,i){if(e.validActions.length<=0)return this.gutterHide(),this.hide();if(!this._editor.hasTextFocus())return this.gutterHide(),this.hide();if(!this._editor.getOptions().get(65).enabled)return this.gutterHide(),this.hide();const r=this._editor.getModel();if(!r)return this.gutterHide(),this.hide();const{lineNumber:a,column:d}=r.validatePosition(i),u=r.getOptions().tabSize,f=this._editor.getOptions().get(50),g=r.getLineContent(a),p=Aw(g,u),C=f.spaceWidth*p>22,b=T=>T>2&&this._editor.getTopForLineNumber(T)===this._editor.getTopForLineNumber(T-1),y=this._editor.getLineDecorations(a);let w=!1;if(y)for(const T of y){const V=T.options.glyphMarginClassName;if(V&&!this.lightbulbClasses.some(H=>V.includes(H))){w=!0;break}}let A=a,P=1;if(!C){const T=V=>{const H=r.getLineContent(V);return/^\s*$|^\s+/.test(H)||H.length<=P};if(a>1&&!b(a-1)){const V=r.getLineCount(),H=a===V,J=a>1&&T(a-1),se=!H&&T(a+1),ue=T(a),ie=!se&&!J;if(!se&&!J&&!w)return this.gutterState=new Ur.Showing(e,t,i,{position:{lineNumber:A,column:P},preference:Sh._posPref}),this.renderGutterLightbub(),this.hide();J||H||J&&!ue?A-=1:(se||ie&&ue)&&(A+=1)}else if(a===1&&(a===r.getLineCount()||!T(a+1)&&!T(a)))if(this.gutterState=new Ur.Showing(e,t,i,{position:{lineNumber:A,column:P},preference:Sh._posPref}),w)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(a<r.getLineCount()&&!b(a+1))A+=1;else if(d*f.spaceWidth<22)return this.hide();P=/^\S\s*$/.test(r.getLineContent(A))?2:1}this.state=new Ur.Showing(e,t,i,{position:{lineNumber:A,column:P},preference:Sh._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const M=e.validActions,R=e.validActions[0].action.kind;if(M.length!==1||!R){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==Ur.Hidden&&(this.state=Ur.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==Ur.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=Ur.Hidden)}get state(){return this._state}set state(e){this._state=e,this._updateLightBulbTitleAndIcon()}get gutterState(){return this._gutterState}set gutterState(e){this._gutterState=e,this._updateGutterLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],this.state.type!==1)return;let e,t=!1;this.state.actions.allAIFixes?(e=$i.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=$i.lightbulbSparkleAutofix:e=$i.lightbulbAutofix:this.state.actions.hasAIFix?e=$i.lightbulbSparkle:e=$i.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=Fn.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=B8,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=k8:e=D8:this.gutterState.actions.hasAIFix?e=A8:e=S8,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=fn.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Fn.asClassName(e),glyphMargin:{position:vm.Left},stickiness:1});this.gutterDecoration=i}renderGutterLightbub(){const e=this._editor.getSelection();e&&(this._gutterDecorationID===void 0?this._addGutterDecoration(e.startLineNumber):this._updateGutterDecoration(this._gutterDecorationID,e.startLineNumber))}_addGutterDecoration(e){this._editor.changeDecorations(t=>{this._gutterDecorationID=t.addDecoration(new ee(e,0,e,0),this.gutterDecoration)})}_removeGutterDecoration(e){this._editor.changeDecorations(t=>{t.removeDecoration(e),this._gutterDecorationID=void 0})}_updateGutterDecoration(e,t){this._editor.changeDecorations(i=>{i.changeDecoration(e,new ee(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=S("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=S("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=S("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=S("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}},Sh=gl,gl.GUTTER_DECORATION=fn.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Fn.asClassName($i.lightBulb),glyphMargin:{position:vm.Left},stickiness:1}),gl.ID="editor.contrib.lightbulbWidget",gl._posPref=[0],gl);Rg=Sh=BT([FT(1,ws)],Rg);var o5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},W1=function(o,e){return function(t,i){e(t,i,o)}};const r5="acceptSelectedCodeAction",a5="previewSelectedCodeAction";class LT{get templateId(){return"header"}renderTemplate(e){e.classList.add("group-header");const t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){var n;i.text.textContent=((n=e.group)==null?void 0:n.title)??""}disposeTemplate(e){}}let z1=class{get templateId(){return"action"}constructor(e,t){this._supportsPreview=e,this._keybindingService=t}renderTemplate(e){e.classList.add(this.templateId);const t=document.createElement("div");t.className="icon",e.append(t);const i=document.createElement("span");i.className="title",e.append(i);const n=new kw(e,Bw);return{container:e,icon:t,text:i,keybinding:n}}renderElement(e,t,i){var r,a,d;if((r=e.group)!=null&&r.icon?(i.icon.className=Fn.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=Cd(e.group.icon.color.id))):(i.icon.className=Fn.asClassName($i.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=l5(e.label),i.keybinding.set(e.keybinding),a3(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(r5))==null?void 0:a.getLabel(),s=(d=this._keybindingService.lookupKeybinding(a5))==null?void 0:d.getLabel();i.container.classList.toggle("option-disabled",e.disabled),e.disabled?i.container.title=e.label:n&&s?this._supportsPreview&&e.canPreview?i.container.title=S({key:"label-preview",comment:['placeholders are keybindings, e.g "F2 to Apply, Shift+F2 to Preview"']},"{0} to Apply, {1} to Preview",n,s):i.container.title=S({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",n):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};z1=o5([W1(1,ws)],z1);class IT extends UIEvent{constructor(){super("acceptSelectedAction")}}class F8 extends UIEvent{constructor(){super("previewSelectedAction")}}function PT(o){if(o.kind==="action")return o.label}let V1=class extends Mt{constructor(e,t,i,n,s,r){super(),this._delegate=n,this._contextViewService=s,this._keybindingService=r,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new Us),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const a={getHeight:d=>d.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:d=>d.kind};this._list=this._register(new Fw(e,this.domNode,a,[new z1(t,this._keybindingService),new LT],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:PT},accessibilityProvider:{getAriaLabel:d=>{if(d.kind==="action"){let u=d.label?l5(d==null?void 0:d.label):"";return d.disabled&&(u=S({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",u,d.disabled)),u}return null},getWidgetAriaLabel:()=>S({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:d=>d.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(l3),this._register(this._list.onMouseClick(d=>this.onListClick(d))),this._register(this._list.onMouseOver(d=>this.onListHover(d))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(d=>this.onListSelection(d))),this._allMenuItems=i,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&e.kind==="action"}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){const t=this._allMenuItems.filter(d=>d.kind==="header").length,n=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(n);let s=e;if(this._allMenuItems.length>=50)s=380;else{const d=this._allMenuItems.map((u,f)=>{const g=this.domNode.ownerDocument.getElementById(this._list.getElementID(f));if(g){g.style.width="auto";const p=g.getBoundingClientRect().width;return g.style.width="",p}return 0});s=Math.max(...d,e)}const a=Math.min(n,this.domNode.ownerDocument.body.clientHeight*.7);return this._list.layout(a,s),this.domNode.style.height=`${a}px`,this._list.domFocus(),s}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(e){const t=this._list.getFocus();if(t.length===0)return;const i=t[0],n=this._list.element(i);if(!this.focusCondition(n))return;const s=e?new F8:new IT;this._list.setSelection([i],s)}onListSelection(e){if(!e.elements.length)return;const t=e.elements[0];t.item&&this.focusCondition(t)?this._delegate.onSelect(t.item,e.browserEvent instanceof F8):this._list.setSelection([])}onFocus(){var n,s;const e=this._list.getFocus();if(e.length===0)return;const t=e[0],i=this._list.element(t);(s=(n=this._delegate).onFocus)==null||s.call(n,i.item)}async onListHover(e){const t=e.element;if(t&&t.item&&this.focusCondition(t)){if(this._delegate.onHover&&!t.disabled&&t.kind==="action"){const i=await this._delegate.onHover(t.item,this.cts.token);t.canPreview=i?i.canPreview:void 0}e.index&&this._list.splice(e.index,1,[t])}this._list.setFocus(typeof e.index=="number"?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};V1=o5([W1(4,O_),W1(5,ws)],V1);function l5(o){return o.replace(/\r\n|\r|\n/g," ")}var TT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},fC=function(o,e){return function(t,i){e(t,i,o)}};li("actionBar.toggledBackground",Lw,S("actionBar.toggledBackground","Background color for toggled action items in action bar."));const Bu={Visible:new vn("codeActionMenuVisible",!1,S("codeActionMenuVisible","Whether the action widget list is visible"))},ju=Tl("actionWidgetService");let Fu=class extends Mt{get isVisible(){return Bu.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Xo)}show(e,t,i,n,s,r,a){const d=Bu.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance(V1,e,t,i,n);this._contextViewService.showContextView({getAnchor:()=>s,render:f=>(d.set(!0),this._renderWidget(f,u,a??[])),onHide:f=>{d.reset(),this._onWidgetClosed(f)}},r,!1)}acceptSelected(e){var t;(t=this._list.value)==null||t.acceptSelected(e)}focusPrevious(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusPrevious()}focusNext(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusNext()}hide(e){var t;(t=this._list.value)==null||t.hide(e),this._list.clear()}_renderWidget(e,t,i){var C;const n=document.createElement("div");if(n.classList.add("action-widget"),e.appendChild(n),this._list.value=t,this._list.value)n.appendChild(this._list.value.domNode);else throw new Error("List has no value");const s=new It,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(Sn(a,is.MOUSE_DOWN,b=>b.stopPropagation()));const d=document.createElement("div"),u=e.appendChild(d);u.classList.add("context-view-pointerBlock"),s.add(Sn(u,is.POINTER_MOVE,()=>u.remove())),s.add(Sn(u,is.MOUSE_DOWN,()=>u.remove()));let f=0;if(i.length){const b=this._createActionBar(".action-widget-action-bar",i);b&&(n.appendChild(b.getContainer().parentElement),s.add(b),f=b.getContainer().offsetWidth)}const g=(C=this._list.value)==null?void 0:C.layout(f);n.style.width=`${g}px`;const p=s.add(_0(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=ai(e),n=new Cg(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};Fu=TT([fC(0,O_),fC(1,Dn),fC(2,en)],Fu);Ml(ju,Fu,1);const Op=1100;Nn(class extends wo{constructor(){super({id:"hideCodeActionWidget",title:gi("hideCodeActionWidget.title","Hide action widget"),precondition:Bu.Visible,keybinding:{weight:Op,primary:9,secondary:[1033]}})}run(o){o.get(ju).hide(!0)}});Nn(class extends wo{constructor(){super({id:"selectPrevCodeAction",title:gi("selectPrevCodeAction.title","Select previous action"),precondition:Bu.Visible,keybinding:{weight:Op,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(ju);e instanceof Fu&&e.focusPrevious()}});Nn(class extends wo{constructor(){super({id:"selectNextCodeAction",title:gi("selectNextCodeAction.title","Select next action"),precondition:Bu.Visible,keybinding:{weight:Op,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(ju);e instanceof Fu&&e.focusNext()}});Nn(class extends wo{constructor(){super({id:r5,title:gi("acceptSelected.title","Accept selected action"),precondition:Bu.Visible,keybinding:{weight:Op,primary:3,secondary:[2137]}})}run(o){const e=o.get(ju);e instanceof Fu&&e.acceptSelected()}});Nn(class extends wo{constructor(){super({id:a5,title:gi("previewSelected.title","Preview selected action"),precondition:Bu.Visible,keybinding:{weight:Op,primary:2051}})}run(o){const e=o.get(ju);e instanceof Fu&&e.acceptSelected(!0)}});const c5=new vn("supportedCodeAction",""),L8="_typescript.applyFixAllCodeAction";class MT extends Mt{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new vp),this._register(this._markerService.onMarkerChanged(s=>this._onMarkerChanges(s))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some(i=>_m(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:No.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getSelection();if(e.type===1)return t;const i=this._editor.getOption(65).enabled;if(i!==Xb.Off){{if(i===Xb.On)return t;if(i===Xb.OnCode){if(!t.isEmpty())return t;const s=this._editor.getModel(),{lineNumber:r,column:a}=t.getPosition(),d=s.getLineContent(r);if(d.length===0)return;if(a===1){if(/\s/.test(d[0]))return}else if(a===s.getLineMaxColumn(r)){if(/\s/.test(d[d.length-1]))return}else if(/\s/.test(d[a-2])&&/\s/.test(d[a-1]))return}}return t}}}var ld;(function(o){o.Empty={type:0};class e{constructor(i,n,s){this.trigger=i,this.position=n,this._cancellablePromise=s,this.type=1,this.actions=s.catch(r=>{if(zc(r))return d5;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(ld||(ld={}));const d5=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class RT extends Mt{constructor(e,t,i,n,s,r,a){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=s,this._configurationService=r,this._telemetryService=a,this._codeActionOracle=this._register(new Xo),this._state=ld.Empty,this._onDidChangeState=this._register(new sn),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=c5.bindTo(n),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._register(this._editor.onDidChangeConfiguration(d=>{d.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(ld.Empty,!0))}_settingEnabledNearbyQuickfixes(){var t;const e=(t=this._editor)==null?void 0:t.getModel();return this._configurationService?this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:e==null?void 0:e.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(ld.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(92)){const t=this._registry.all(e).flatMap(i=>i.providedCodeActionKinds??[]);this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new MT(this._editor,this._markerService,i=>{var d;if(!i){this.setState(ld.Empty);return}const n=i.selection.getStartPosition(),s=$s(async u=>{var f,g,p,C,b,y,w,A,P,M;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===No.QuickFix||(g=(f=i.trigger.filter)==null?void 0:f.include)!=null&&g.contains(qn.QuickFix))){const R=await Mh(this._registry,e,i.selection,i.trigger,hl.None,u),T=[...R.allActions];if(u.isCancellationRequested)return d5;const V=(p=R.validActions)==null?void 0:p.some(J=>J.action.kind?qn.QuickFix.contains(new Yn(J.action.kind)):!1),H=this._markerService.read({resource:e.uri});if(V){for(const J of R.validActions)(b=(C=J.action.command)==null?void 0:C.arguments)!=null&&b.some(se=>typeof se=="string"&&se.includes(L8))&&(J.action.diagnostics=[...H.filter(se=>se.relatedInformation)]);return{validActions:R.validActions,allActions:T,documentation:R.documentation,hasAutoFix:R.hasAutoFix,hasAIFix:R.hasAIFix,allAIFixes:R.allAIFixes,dispose:()=>{R.dispose()}}}else if(!V&&H.length>0){const J=i.selection.getPosition();let se=J,ue=Number.MAX_VALUE;const ie=[...R.validActions];for(const Ce of H){const oe=Ce.endColumn,fe=Ce.endLineNumber,Be=Ce.startLineNumber;if(fe===J.lineNumber||Be===J.lineNumber){se=new _i(fe,oe);const Ne={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(y=i.trigger.filter)!=null&&y.include?(w=i.trigger.filter)==null?void 0:w.include:qn.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((A=i.trigger.context)==null?void 0:A.notAvailableMessage)||"",position:se}},ve=new Hi(se.lineNumber,se.column,se.lineNumber,se.column),rt=await Mh(this._registry,e,ve,Ne,hl.None,u);if(rt.validActions.length!==0){for(const We of rt.validActions)(M=(P=We.action.command)==null?void 0:P.arguments)!=null&&M.some(ye=>typeof ye=="string"&&ye.includes(L8))&&(We.action.diagnostics=[...H.filter(ye=>ye.relatedInformation)]);R.allActions.length===0&&T.push(...rt.allActions),Math.abs(J.column-oe)<ue?ie.unshift(...rt.validActions):ie.push(...rt.validActions)}ue=Math.abs(J.column-oe)}}const de=ie.filter((Ce,oe,fe)=>fe.findIndex(Be=>Be.action.title===Ce.action.title)===oe);return de.sort((Ce,oe)=>Ce.action.isPreferred&&!oe.action.isPreferred?-1:!Ce.action.isPreferred&&oe.action.isPreferred||Ce.action.isAI&&!oe.action.isAI?1:!Ce.action.isAI&&oe.action.isAI?-1:0),{validActions:de,allActions:T,documentation:R.documentation,hasAutoFix:R.hasAutoFix,hasAIFix:R.hasAIFix,allAIFixes:R.allAIFixes,dispose:()=>{R.dispose()}}}}if(i.trigger.type===1){const R=new Ro,T=await Mh(this._registry,e,i.selection,i.trigger,hl.None,u);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:T.validActions.length,duration:R.elapsed()}),T}return Mh(this._registry,e,i.selection,i.trigger,hl.None,u)});i.trigger.type===1&&((d=this._progressService)==null||d.showWhile(s,250));const r=new ld.Triggered(i.trigger,n,s);let a=!1;this._state.type===1&&(a=this._state.trigger.type===1&&r.type===1&&r.trigger.type===2&&this._state.position!==r.position),a?setTimeout(()=>{this.setState(r)},500):this.setState(r)},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:No.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;(t=this._codeActionOracle.value)==null||t.trigger(e)}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!this._disposed&&this._onDidChangeState.fire(e))}}var NT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ma=function(o,e){return function(t,i){e(t,i,o)}},Dh;const OT="quickfix-edit-highlight";var mc;let P0=(mc=class extends Mt{static get(e){return e.getContribution(Dh.ID)}constructor(e,t,i,n,s,r,a,d,u,f,g){super(),this._commandService=a,this._configurationService=d,this._actionWidgetService=u,this._instantiationService=f,this._telemetryService=g,this._activeCodeActions=this._register(new Xo),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new RT(this._editor,s.codeActionProvider,t,i,r,d,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new Dw(()=>{const p=this._editor.getContribution(Rg.ID);return p&&this._register(p.onClick(C=>this.showCodeActionsFromLightbulb(C.actions,C))),p}),this._resolver=n.createInstance(H1),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&e.validActions.length===1){const i=e.validActions[0],n=i.action.command;n&&n.id==="inlineChat.start"&&n.arguments&&n.arguments.length>=1&&(n.arguments[0]={...n.arguments[0],autoSend:!1}),await this._applyCodeAction(i,!1,!1,pd.FromAILightbulb);return}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,i){return this.showCodeActionList(t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,n){var r;if(!this._editor.hasModel())return;(r=Po.get(this._editor))==null||r.closeMessage();const s=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:n,context:{notAvailableMessage:e,position:s}})}_trigger(e){return this._model.trigger(e)}async _applyCodeAction(e,t,i,n){try{await this._instantiationService.invokeFunction(yT,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:No.QuickFix,filter:{}})}}hideLightBulbWidget(){var e,t;(e=this._lightBulbWidget.rawValue)==null||e.hide(),(t=this._lightBulbWidget.rawValue)==null||t.gutterHide()}async update(e){var n,s,r,a,d;if(e.type!==1){this.hideLightBulbWidget();return}let t;try{t=await e.actions}catch(u){zn(u);return}if(this._disposed)return;const i=this._editor.getSelection();if((i==null?void 0:i.startLineNumber)===e.position.lineNumber)if((n=this._lightBulbWidget.value)==null||n.update(t,e.trigger,e.position),e.trigger.type===1){if((s=e.trigger.filter)!=null&&s.include){const f=this.tryGetValidActionToApply(e.trigger,t);if(f){try{this.hideLightBulbWidget(),await this._applyCodeAction(f,!1,!1,pd.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const g=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(g&&g.action.disabled){(r=Po.get(this._editor))==null||r.showMessage(g.action.disabled,e.trigger.context.position),t.dispose();return}}}const u=!!((a=e.trigger.filter)!=null&&a.include);if(e.trigger.context&&(!t.allActions.length||!u&&!t.validActions.length)){(d=Po.get(this._editor))==null||d.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=t,t.dispose();return}this._activeCodeActions.value=t,this.showCodeActionList(t,this.toCoords(e.position),{includeDisabledActions:u,fromLightbulb:!1})}else this._actionWidgetService.isVisible?t.dispose():this._activeCodeActions.value=t}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply==="first"&&t.validActions.length===0||e.autoApply==="ifSingle"&&t.allActions.length===1))return t.allActions.find(({action:i})=>i.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply==="first"&&t.validActions.length>0||e.autoApply==="ifSingle"&&t.validActions.length===1))return t.validActions[0]}async showCodeActionList(e,t,i){const n=this._editor.createDecorationsCollection(),s=this._editor.getDomNode();if(!s)return;const r=i.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!r.length)return;const a=_i.isIPosition(t)?this.toCoords(t):t,d={onSelect:async(u,f)=>{this._applyCodeAction(u,!0,!!f,i.fromLightbulb?pd.FromAILightbulb:pd.FromCodeActions),this._actionWidgetService.hide(!1),n.clear()},onHide:u=>{var f;(f=this._editor)==null||f.focus(),n.clear()},onHover:async(u,f)=>{var C;if(f.isCancellationRequested)return;let g=!1;const p=u.action.kind;if(p){const b=new Yn(p);g=[qn.RefactorExtract,qn.RefactorInline,qn.RefactorRewrite,qn.RefactorMove,qn.Source].some(w=>w.contains(b))}return{canPreview:g||!!((C=u.action.edit)!=null&&C.edits.length)}},onFocus:u=>{var f,g;if(u&&u.action){const p=u.action.ranges,C=u.action.diagnostics;if(n.clear(),p&&p.length>0){const b=C&&(C==null?void 0:C.length)>1?C.map(y=>({range:y,options:Dh.DECORATION})):p.map(y=>({range:y,options:Dh.DECORATION}));n.set(b)}else if(C&&C.length>0){const b=C.map(w=>({range:w,options:Dh.DECORATION}));n.set(b);const y=C[0];if(y.startLineNumber&&y.startColumn){const w=(g=(f=this._editor.getModel())==null?void 0:f.getWordAtPosition({lineNumber:y.startLineNumber,column:y.startColumn}))==null?void 0:g.word;b0(S("editingNewSelection","Context: {0} at line {1} and column {2}.",w,y.startLineNumber,y.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,kT(r,this._shouldShowHeaders(),this._resolver.getResolver()),d,a,s,this._getActionBarActions(e,t,i))}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=Co(this._editor.getDomNode()),n=i.left+t.left,s=i.top+t.top+t.height;return{x:n,y:s}}_shouldShowHeaders(){var t;const e=(t=this._editor)==null?void 0:t.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:e==null?void 0:e.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];const n=e.documentation.map(s=>({id:s.id,label:s.title,tooltip:s.tooltip??"",class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(s.id,...s.arguments??[])}));return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&n.push(this._showDisabled?{id:"hideMoreActions",label:S("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:S("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}},Dh=mc,mc.ID="editor.contrib.codeActionController",mc.DECORATION=fn.register({description:"quickfix-highlight",className:OT}),mc);P0=Dh=NT([ma(1,Iw),ma(2,Dn),ma(3,en),ma(4,bi),ma(5,_p),ma(6,Ws),ma(7,Qn),ma(8,ju),ma(9,en),ma(10,da)],P0);H_((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(c3));const i=o.getColor(a2);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Eg(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function Hp(o){return qe.regex(c5.keys()[0],new RegExp("(\\s|^)"+yg(o.value)+"\\b"))}const b9={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:S("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:S("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[S("args.schema.apply.first","Always apply the first returned code action."),S("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),S("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:S("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function $u(o,e,t,i,n=No.Default){if(o.hasModel()){const s=P0.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class HT extends bt{constructor(){super({id:_9,label:S("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:qe.and(U.writable,U.hasCodeActionsProvider),kbOpts:{kbExpr:U.textInputFocus,primary:2137,weight:100}})}run(e,t){return $u(t,S("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,No.QuickFix)}}class WT extends So{constructor(){super({id:e5,precondition:qe.and(U.writable,U.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:b9}]}})}runEditorCommand(e,t,i){const n=Ia.fromUser(i,{kind:Yn.Empty,apply:"ifSingle"});return $u(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?S("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):S("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?S("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):S("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}class zT extends bt{constructor(){super({id:i5,label:S("refactor.label","Refactor..."),alias:"Refactor...",precondition:qe.and(U.writable,U.hasCodeActionsProvider),kbOpts:{kbExpr:U.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:qe.and(U.writable,Hp(qn.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:b9}]}})}run(e,t,i){const n=Ia.fromUser(i,{kind:qn.Refactor,apply:"never"});return $u(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?S("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):S("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?S("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):S("editor.action.refactor.noneMessage","No refactorings available"),{include:qn.Refactor.contains(n.kind)?n.kind:Yn.None,onlyIncludePreferredActions:n.preferred},n.apply,No.Refactor)}}class VT extends bt{constructor(){super({id:n5,label:S("source.label","Source Action..."),alias:"Source Action...",precondition:qe.and(U.writable,U.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:qe.and(U.writable,Hp(qn.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:b9}]}})}run(e,t,i){const n=Ia.fromUser(i,{kind:qn.Source,apply:"never"});return $u(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?S("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):S("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?S("editor.action.source.noneMessage.preferred","No preferred source actions available"):S("editor.action.source.noneMessage","No source actions available"),{include:qn.Source.contains(n.kind)?n.kind:Yn.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,No.SourceAction)}}class jT extends bt{constructor(){super({id:R1,label:S("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:qe.and(U.writable,Hp(qn.SourceOrganizeImports)),kbOpts:{kbExpr:U.textInputFocus,primary:1581,weight:100}})}run(e,t){return $u(t,S("editor.action.organize.noneMessage","No organize imports action available"),{include:qn.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",No.OrganizeImports)}}class $T extends bt{constructor(){super({id:N1,label:S("fixAll.label","Fix All"),alias:"Fix All",precondition:qe.and(U.writable,Hp(qn.SourceFixAll))})}run(e,t){return $u(t,S("fixAll.noneMessage","No fix all action available"),{include:qn.SourceFixAll,includeSourceActions:!0},"ifSingle",No.FixAll)}}class UT extends bt{constructor(){super({id:t5,label:S("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:qe.and(U.writable,Hp(qn.QuickFix)),kbOpts:{kbExpr:U.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return $u(t,S("editor.action.autoFix.noneMessage","No auto fixes available"),{include:qn.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",No.AutoFix)}}an(P0.ID,P0,3);an(Rg.ID,Rg,4);Te(HT);Te(zT);Te(VT);Te(jT);Te(UT);Te($T);Di(new WT);la.as(bp.Configuration).registerConfiguration({...W_,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:S("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});la.as(bp.Configuration).registerConfiguration({...W_,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:S("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});la.as(bp.Configuration).registerConfiguration({...W_,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:S("triggerOnFocusChange","Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.","`#editor.codeActionsOnSave#`","`#files.autoSave#`","`afterDelay`","`always`"),default:!1}}});class j1{constructor(){this.lenses=[],this._disposables=new It}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}async function u5(o,e,t){const i=o.ordered(e),n=new Map,s=new j1,r=i.map(async(a,d)=>{n.set(a,d);try{const u=await Promise.resolve(a.provideCodeLenses(e,t));u&&s.add(u,a)}catch(u){ms(u)}});return await Promise.all(r),s.lenses=s.lenses.sort((a,d)=>a.symbol.range.startLineNumber<d.symbol.range.startLineNumber?-1:a.symbol.range.startLineNumber>d.symbol.range.startLineNumber?1:n.get(a.provider)<n.get(d.provider)?-1:n.get(a.provider)>n.get(d.provider)?1:a.symbol.range.startColumn<d.symbol.range.startColumn?-1:a.symbol.range.startColumn>d.symbol.range.startColumn?1:0),s}Kn.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;An(On.isUri(t)),An(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(bi),s=o.get(po).getModel(t);if(!s)throw ml();const r=[],a=new It;return u5(n,s,on.None).then(d=>{a.add(d);const u=[];for(const f of d.lenses)i==null||f.symbol.command?r.push(f.symbol):i-- >0&&f.provider.resolveCodeLens&&u.push(Promise.resolve(f.provider.resolveCodeLens(s,f.symbol,on.None)).then(g=>r.push(g||f.symbol)));return Promise.all(u)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var qT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},GT=function(o,e){return function(t,i){e(t,i,o)}};const h5=Tl("ICodeLensCache");class I8{constructor(e,t){this.lineCount=e,this.data=t}}let $1=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Cp(20,.75);const t="codelens/cache";d3(u3,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=Ls.filter(e.onWillSaveState,r=>r.reason===Pw.SHUTDOWN);Ls.once(s)(r=>{e.store(i,this._serialize(),1,1)})}put(e,t){const i=t.lenses.map(r=>{var a;return{range:r.symbol.range,command:r.symbol.command&&{id:"",title:(a=r.symbol.command)==null?void 0:a.title}}}),n=new j1;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new I8(e.getLineCount(),n);this._cache.set(e.uri.toString(),s)}get(e){const t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){const e=Object.create(null);for(const[t,i]of this._cache){const n=new Set;for(const s of i.data.lenses)n.add(s.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...n.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const i in t){const n=t[i],s=[];for(const a of n.lines)s.push({range:new ee(a,1,a,11)});const r=new j1;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new I8(n.lineCount,r))}}catch{}}};$1=qT([GT(0,Vc)],$1);Ml(h5,$1,1);class KT{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){this._lastHeight===void 0?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}}const vg=class vg{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${vg._idPool++}`,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const i=[];let n=!1;for(let s=0;s<e.length;s++){const r=e[s];if(r&&(n=!0,r.command)){const a=h3(r.command.title.trim());if(r.command.id){const d=`c${vg._idPool++}`;i.push(ai("a",{id:d,title:r.command.tooltip,role:"button"},...a)),this._commands.set(d,r.command)}else i.push(ai("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(ai("span",void 0," | "))}}n?(bm(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):bm(this._domNode,ai("span",void 0,"no commands"))}getCommand(e){return e.parentElement===this._domNode?this._commands.get(e.id):void 0}getId(){return this._id}getDomNode(){return this._domNode}updatePosition(e){const t=this._editor.getModel().getLineFirstNonWhitespaceColumn(e);this._widgetPosition={position:{lineNumber:e,column:t},preference:[1]}}getPosition(){return this._widgetPosition||null}};vg._idPool=0;let U1=vg;class gC{constructor(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}addDecoration(e,t){this._addDecorations.push(e),this._addDecorationsCallbacks.push(t)}removeDecoration(e){this._removeDecorations.push(e)}commit(e){const t=e.deltaDecorations(this._removeDecorations,this._addDecorations);for(let i=0,n=t.length;i<n;i++)this._addDecorationsCallbacks[i](t[i])}}const P8=fn.register({collapseOnReplaceEdit:!0,description:"codelens"});class T8{constructor(e,t,i,n,s,r){this._isDisposed=!1,this._editor=t,this._data=e,this._decorationIds=[];let a;const d=[];this._data.forEach((u,f)=>{u.symbol.command&&d.push(u.symbol),i.addDecoration({range:u.symbol.range,options:P8},g=>this._decorationIds[f]=g),a?a=ee.plusRange(a,u.symbol.range):a=ee.lift(u.symbol.range)}),this._viewZone=new KT(a.startLineNumber-1,s,r),this._viewZoneId=n.addZone(this._viewZone),d.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(d,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new U1(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t==null||t.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),n=this._data[t].symbol;return!!(i&&ee.isEmpty(n.range)===i.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((i,n)=>{t.addDecoration({range:i.symbol.range,options:P8},s=>this._decorationIds[n]=s)})}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t<this._decorationIds.length;t++){const i=e.getDecorationRange(this._decorationIds[t]);i&&(this._data[t].symbol.range=i)}return this._data}updateCommands(e){this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(e,!0);for(let t=0;t<this._data.length;t++){const i=e[t];if(i){const{symbol:n}=this._data[t];n.command=i.command||n.command}}}getCommand(e){var t;return(t=this._contentWidget)==null?void 0:t.getCommand(e)}getLineNumber(){const e=this._editor.getModel().getDecorationRange(this._decorationIds[0]);return e?e.startLineNumber:-1}update(e){if(this.isValid()){const t=this._editor.getModel().getDecorationRange(this._decorationIds[0]);t&&(this._viewZone.afterLineNumber=t.startLineNumber-1,e.layoutZone(this._viewZoneId),this._contentWidget&&(this._contentWidget.updatePosition(t.startLineNumber),this._editor.layoutContentWidget(this._contentWidget)))}}}var ZT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Af=function(o,e){return function(t,i){e(t,i,o)}},a0;let Ng=(a0=class{constructor(e,t,i,n,s,r){this._editor=e,this._languageFeaturesService=t,this._commandService=n,this._notificationService=s,this._codeLensCache=r,this._disposables=new It,this._localToDispose=new It,this._lenses=[],this._oldCodeLensModels=new It,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new Is(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{(a.hasChanged(50)||a.hasChanged(19)||a.hasChanged(18))&&this._updateLensStyle(),a.hasChanged(17)&&this._onModelChange()})),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var e;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),(e=this._currentCodeLensModel)==null||e.dispose()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(67)/this._editor.getOption(52));let t=this._editor.getOption(19);return(!t||t<5)&&(t=this._editor.getOption(52)*.9|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(18),n=this._editor.getOption(50),{style:s}=this._editor.getContainerDomNode();s.setProperty("--vscode-editorCodeLens-lineHeight",`${e}px`),s.setProperty("--vscode-editorCodeLens-fontSize",`${t}px`),s.setProperty("--vscode-editorCodeLens-fontFeatureSettings",n.fontFeatureSettings),i&&(s.setProperty("--vscode-editorCodeLens-fontFamily",i),s.setProperty("--vscode-editorCodeLens-fontFamilyDefault",Tw.fontFamily)),this._editor.changeViewZones(r=>{for(const a of this._lenses)a.updateHeight(e,r)})}_localDispose(){var e,t,i;(e=this._getCodeLensModelPromise)==null||e.cancel(),this._getCodeLensModelPromise=void 0,(t=this._resolveCodeLensesPromise)==null||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),(i=this._currentCodeLensModel)==null||i.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e||!this._editor.getOption(17)||e.isTooLargeForTokenization())return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e)){t&&bg(()=>{const n=this._codeLensCache.get(e);t===n&&(this._codeLensCache.delete(e),this._onModelChange())},30*1e3,this._localToDispose);return}for(const n of this._languageFeaturesService.codeLensProvider.all(e))if(typeof n.onDidChange=="function"){const s=n.onDidChange(()=>i.schedule());this._localToDispose.add(s)}const i=new Is(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=$s(r=>u5(this._languageFeaturesService.codeLensProvider,e,r)),this._getCodeLensModelPromise.then(r=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=r,this._codeLensCache.put(e,r);const a=this._provideCodeLensDebounce.update(e,Date.now()-n);i.delay=a,this._renderCodeLensSymbols(r),this._resolveCodeLensesInViewportSoon()},zn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(Xn(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{var n;this._editor.changeDecorations(s=>{this._editor.changeViewZones(r=>{const a=[];let d=-1;this._lenses.forEach(f=>{!f.isValid()||d===f.getLineNumber()?a.push(f):(f.update(r),d=f.getLineNumber())});const u=new gC;a.forEach(f=>{f.dispose(u,r),this._lenses.splice(this._lenses.indexOf(f),1)}),u.commit(s)})}),i.schedule(),this._resolveCodeLensesScheduler.cancel(),(n=this._resolveCodeLensesPromise)==null||n.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorText(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{i.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(n=>{n.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(Xn(()=>{if(this._editor.getModel()){const n=C0.capture(this._editor);this._editor.changeDecorations(s=>{this._editor.changeViewZones(r=>{this._disposeAllLenses(s,r)})}),n.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(n=>{if(n.target.type!==9)return;let s=n.target.element;if((s==null?void 0:s.tagName)==="SPAN"&&(s=s.parentElement),(s==null?void 0:s.tagName)==="A")for(const r of this._lenses){const a=r.getCommand(s);if(a){this._commandService.executeCommand(a.id,...a.arguments||[]).catch(d=>this._notificationService.error(d));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new gC;for(const n of this._lenses)n.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),i=[];let n;for(const a of e.lenses){const d=a.symbol.range.startLineNumber;d<1||d>t||(n&&n[n.length-1].symbol.range.startLineNumber===d?n.push(a):(n=[a],i.push(n)))}if(!i.length&&!this._lenses.length)return;const s=C0.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(d=>{const u=new gC;let f=0,g=0;for(;g<i.length&&f<this._lenses.length;){const p=i[g][0].symbol.range.startLineNumber,C=this._lenses[f].getLineNumber();C<p?(this._lenses[f].dispose(u,d),this._lenses.splice(f,1)):C===p?(this._lenses[f].updateCodeLensSymbols(i[g],u),g++,f++):(this._lenses.splice(f,0,new T8(i[g],this._editor,u,d,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),f++,g++)}for(;f<this._lenses.length;)this._lenses[f].dispose(u,d),this._lenses.splice(f,1);for(;g<i.length;)this._lenses.push(new T8(i[g],this._editor,u,d,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),g++;u.commit(a)})}),s.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var r;(r=this._resolveCodeLensesPromise)==null||r.cancel(),this._resolveCodeLensesPromise=void 0;const e=this._editor.getModel();if(!e)return;const t=[],i=[];if(this._lenses.forEach(a=>{const d=a.computeIfNecessary(e);d&&(t.push(d),i.push(a))}),t.length===0)return;const n=Date.now(),s=$s(a=>{const d=t.map((u,f)=>{const g=new Array(u.length),p=u.map((C,b)=>!C.symbol.command&&typeof C.provider.resolveCodeLens=="function"?Promise.resolve(C.provider.resolveCodeLens(e,C.symbol,a)).then(y=>{g[b]=y},ms):(g[b]=C.symbol,Promise.resolve(void 0)));return Promise.all(p).then(()=>{!a.isCancellationRequested&&!i[f].isDisposed()&&i[f].updateCommands(g)})});return Promise.all(d)});this._resolveCodeLensesPromise=s,this._resolveCodeLensesPromise.then(()=>{const a=this._resolveCodeLensesDebounce.update(e,Date.now()-n);this._resolveCodeLensesScheduler.delay=a,this._currentCodeLensModel&&this._codeLensCache.put(e,this._currentCodeLensModel),this._oldCodeLensModels.clear(),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},a=>{zn(a),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){var e;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,(e=this._currentCodeLensModel)!=null&&e.isDisposed?void 0:this._currentCodeLensModel}},a0.ID="css.editor.codeLens",a0);Ng=ZT([Af(1,bi),Af(2,cr),Af(3,Ws),Af(4,go),Af(5,h5)],Ng);an(Ng.ID,Ng,1);Te(class extends bt{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:U.hasCodeLensProvider,label:S("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(e,t){if(!t.hasModel())return;const i=e.get(Pl),n=e.get(Ws),s=e.get(go),r=t.getSelection().positionLineNumber,a=t.getContribution(Ng.ID);if(!a)return;const d=await a.getModel();if(!d)return;const u=[];for(const p of d.lenses)p.symbol.command&&p.symbol.range.startLineNumber===r&&u.push({label:p.symbol.command.title,command:p.symbol.command});if(u.length===0)return;const f=await i.pick(u,{canPickMany:!1,placeHolder:S("placeHolder","Select a command")});if(!f)return;let g=f.command;if(d.isDisposed){const p=await a.getModel(),C=p==null?void 0:p.lenses.find(b=>{var y;return b.symbol.range.startLineNumber===r&&((y=b.symbol.command)==null?void 0:y.title)===g.title});if(!C||!C.symbol.command)return;g=C.symbol.command}try{await n.executeCommand(g.id,...g.arguments||[])}catch(p){s.error(p)}}});var f5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},q1=function(o,e){return function(t,i){e(t,i,o)}};let Og=class{constructor(e){this._editorWorkerService=e}async provideDocumentColors(e,t){return this._editorWorkerService.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,i){const n=t.range,s=t.color,r=s.alpha,a=new un(new E0(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),d=r?un.Format.CSS.formatRGB(a):un.Format.CSS.formatRGBA(a),u=r?un.Format.CSS.formatHSL(a):un.Format.CSS.formatHSLA(a),f=r?un.Format.CSS.formatHex(a):un.Format.CSS.formatHexA(a),g=[];return g.push({label:d,textEdit:{range:n,text:d}}),g.push({label:u,textEdit:{range:n,text:u}}),g.push({label:f,textEdit:{range:n,text:f}}),g}};Og=f5([q1(0,Rl)],Og);let G1=class extends Mt{constructor(e,t){super(),this._register(e.colorProvider.register("*",new Og(t)))}};G1=f5([q1(0,bi),q1(1,Rl)],G1);X0(G1);async function g5(o,e,t,i=!0){return C9(new XT,o,e,t,i)}function p5(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class XT{constructor(){}async compute(e,t,i,n){const s=await e.provideDocumentColors(t,i);if(Array.isArray(s))for(const r of s)n.push({colorInfo:r,provider:e});return Array.isArray(s)}}class YT{constructor(){}async compute(e,t,i,n){const s=await e.provideDocumentColors(t,i);if(Array.isArray(s))for(const r of s)n.push({range:r.range,color:[r.color.red,r.color.green,r.color.blue,r.color.alpha]});return Array.isArray(s)}}class QT{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,on.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function C9(o,e,t,i,n){let s=!1,r;const a=[],d=e.ordered(t);for(let u=d.length-1;u>=0;u--){const f=d[u];if(f instanceof Og)r=f;else try{await o.compute(f,t,i,a)&&(s=!0)}catch(g){ms(g)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function x5(o,e){const{colorProvider:t}=o.get(bi),i=o.get(po).getModel(e);if(!i)throw ml();const n=o.get(Qn).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}Kn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof On))throw ml();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=x5(o,t);return C9(new YT,n,i,on.None,s)});Kn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof On)||!Array.isArray(t)||t.length!==4||!ee.isIRange(s))throw ml();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:d}=x5(o,n),[u,f,g,p]=t;return C9(new QT({range:s,color:{red:u,green:f,blue:g,alpha:p}}),a,r,on.None,d)});var JT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},pC=function(o,e){return function(t,i){e(t,i,o)}},K1;const m5=Object.create({});var vc;let T0=(vc=class extends Mt{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new It),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new l2(this._editor),this._decoratorLimitReporter=new eM,this._colorDecorationClassRefs=this._register(new It),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:K1.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(e.onDidChangeModelLanguage(()=>this.updateColors())),this._register(i.colorProvider.onDidChange(()=>this.updateColors())),this._register(e.onDidChangeConfiguration(s=>{const r=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148);const a=r!==this._isColorDecoratorsEnabled||s.hasChanged(21),d=s.hasChanged(148);(a||d)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148),this.updateColors()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&typeof i=="object"){const n=i.colorDecorators;if(n&&n.enable!==void 0&&!n.enable)return n.enable}return this._editor.getOption(20)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const e=this._editor.getModel();!e||!this._languageFeaturesService.colorProvider.has(e)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new vp,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=$s(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new Ro(!1),n=await g5(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(t,i.elapsed()),n});try{const e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){zn(e)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map(i=>({range:{startLineNumber:i.colorInfo.range.startLineNumber,startColumn:i.colorInfo.range.startColumn,endLineNumber:i.colorInfo.range.endLineNumber,endColumn:i.colorInfo.range.endColumn},options:fn.EMPTY}));this._editor.changeDecorations(i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((n,s)=>this._colorDatas.set(n,e[s]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],i=this._editor.getOption(21);for(let s=0;s<e.length&&t.length<i;s++){const{red:r,green:a,blue:d,alpha:u}=e[s].colorInfo.color,f=new E0(Math.round(r*255),Math.round(a*255),Math.round(d*255),u),g=`rgba(${f.r}, ${f.g}, ${f.b}, ${f.a})`,p=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:g}));t.push({range:{startLineNumber:e[s].colorInfo.range.startLineNumber,startColumn:e[s].colorInfo.range.startColumn,endLineNumber:e[s].colorInfo.range.endLineNumber,endColumn:e[s].colorInfo.range.endColumn},options:{description:"colorDetector",before:{content:s2,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:m5}}})}const n=i<e.length?i:!1;this._decoratorLimitReporter.update(e.length,n),this._colorDecoratorIds.set(t)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(e){const t=this._editor.getModel();if(!t)return null;const i=t.getDecorationsInRange(ee.fromPositions(e,e)).filter(n=>this._colorDatas.has(n.id));return i.length===0?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}},K1=vc,vc.ID="editor.contrib.colorDetector",vc.RECOMPUTE_TIME=1e3,vc);T0=K1=JT([pC(1,Qn),pC(2,bi),pC(3,cr)],T0);class eM{constructor(){this._onDidChange=new sn,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}an(T0.ID,T0,1);class tM{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new sn,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new sn,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new sn,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let n=0;n<this.colorPresentations.length;n++)if(t.toLowerCase()===this.colorPresentations[n].label){i=n;break}if(i===-1){const n=t.split("(")[0].toLowerCase();for(let s=0;s<this.colorPresentations.length;s++)if(this.colorPresentations[s].label.toLowerCase().startsWith(n)){i=s;break}}i!==-1&&i!==this.presentationIndex&&(this.presentationIndex=i,this._onDidChangePresentation.fire(this.presentation))}flushColor(){this._onColorFlushed.fire(this._color)}}const qo=ai;class iM extends Mt{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=qo(".colorpicker-header"),ei(e,this._domNode),this._pickedColorNode=ei(this._domNode,qo(".picked-color")),ei(this._pickedColorNode,qo("span.codicon.codicon-color-mode")),this._pickedColorPresentation=ei(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const s=S("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",s),this._originalColorNode=ei(this._domNode,qo(".original-color")),this._originalColorNode.style.backgroundColor=un.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(AS)||un.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(AS)||un.white})),this._register(Sn(this._pickedColorNode,is.CLICK,()=>this.model.selectNextColorPresentation())),this._register(Sn(this._originalColorNode,is.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=un.Format.CSS.format(t.color)||"",this._pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new nM(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=un.Format.CSS.format(e)||"",this._pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}class nM extends Mt{constructor(e){super(),this._onClicked=this._register(new sn),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),ei(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),ei(this._button,t),ei(t,qo(".button"+Fn.asCSSSelector(gs("color-picker-close",$i.close,S("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(Sn(this._button,is.CLICK,()=>{this._onClicked.fire()}))}}class sM extends Mt{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=qo(".colorpicker-body"),ei(e,this._domNode),this._saturationBox=new oM(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new rM(this._domNode,this.model,n),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new aM(this._domNode,this.model,n),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),n&&(this._insertButton=this._register(new lM(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new un(new Ux(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new un(new Ux(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new un(new Ux(i===360?0:i,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}class oM extends Mt{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new sn,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new sn,this.onColorFlushed=this._onColorFlushed.event,this._domNode=qo(".saturation-wrap"),ei(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",ei(this._domNode,this._canvas),this.selection=qo(".saturation-selection"),ei(this._domNode,this.selection),this.layout(),this._register(Sn(this._domNode,is.POINTER_DOWN,n=>this.onPointerDown(n))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new c2);const t=Co(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,n=>this.onDidChangePosition(n.pageX-t.left,n.pageY-t.top),()=>null);const i=Sn(e.target.ownerDocument,is.POINTER_UP,()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(e,t){const i=Math.max(0,Math.min(1,e/this.width)),n=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,n),this._onDidChange.fire({s:i,v:n})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){const e=this.model.color.hsva,t=new un(new Ux(e.h,1,1,1)),i=this._canvas.getContext("2d"),n=i.createLinearGradient(0,0,this._canvas.width,0);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),n.addColorStop(1,"rgba(255, 255, 255, 0)");const s=i.createLinearGradient(0,0,0,this._canvas.height);s.addColorStop(0,"rgba(0, 0, 0, 0)"),s.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=un.Format.CSS.format(t),i.fill(),i.fillStyle=n,i.fill(),i.fillStyle=s,i.fill()}paintSelection(e,t){this.selection.style.left=`${e*this.width}px`,this.selection.style.top=`${this.height-t*this.height}px`}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const t=e.hsva;this.paintSelection(t.s,t.v)}}class v5 extends Mt{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new sn,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new sn,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=ei(e,qo(".standalone-strip")),this.overlay=ei(this.domNode,qo(".standalone-overlay"))):(this.domNode=ei(e,qo(".strip")),this.overlay=ei(this.domNode,qo(".overlay"))),this.slider=ei(this.domNode,qo(".slider")),this.slider.style.top="0px",this._register(Sn(this.domNode,is.POINTER_DOWN,n=>this.onPointerDown(n))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){const t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._register(new c2),i=Co(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,s=>this.onDidChangeTop(s.pageY-i.top),()=>null);const n=Sn(e.target.ownerDocument,is.POINTER_UP,()=>{this._onColorFlushed.fire(),n.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(e){const t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=`${(1-e)*this.height}px`}}class rM extends v5{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);const{r:t,g:i,b:n}=e.rgba,s=new un(new E0(t,i,n,1)),r=new un(new E0(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class aM extends v5{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class lM extends Mt{constructor(e){super(),this._onClicked=this._register(new sn),this.onClicked=this._onClicked.event,this._button=ei(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Sn(this._button,is.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class cM extends Ep{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(f3.getInstance(Ed(e)).onDidChange(()=>this.layout())),this._domNode=qo(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new iM(this._domNode,this.model,n,s)),this.body=this._register(new sM(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class xC{constructor(e,t,i,n){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=n,this.type=1}equals(e){return e.type===1&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return e.type===1&&t.lineNumber===this.range.startLineNumber}}class im{constructor(e,t,i,n,s,r){this.priority=e,this.owner=t,this.range=i,this.initialMousePosX=n,this.initialMousePosY=s,this.supportsMarkerHover=r,this.type=2}equals(e){return e.type===2&&this.owner===e.owner}canAdoptVisibleHover(e,t){return e.type===2&&this.owner===e.owner}}class Lu{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const Uu=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var _5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},b5=function(o,e){return function(t,i){e(t,i,o)}};class dM{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let Hg=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return ia.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=T0.get(this._editor);if(!n)return[];for(const s of t){if(!n.isColorDecoration(s))continue;const r=n.getColorData(s.range.getStartPosition());if(r)return[await C5(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=E5(this,this._editor,this._themeService,t,e);if(!i)return new Lu([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new Lu([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};Hg=_5([b5(1,Nr)],Hg);class uM{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let Wg=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!T0.get(this._editor))return null;const s=await g5(i,this._editor.getModel(),on.None);let r=null,a=null;for(const g of s){const p=g.colorInfo;ee.containsRange(p.range,e.range)&&(r=p,a=g.provider)}const d=r??e,u=a??t,f=!!r;return{colorHover:await C5(this,this._editor.getModel(),d,u),foundInEditor:f}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new ee(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await nm(this._editor.getModel(),t,this._color,i,e),i=y5(this._editor,i,t))}renderHoverParts(e,t){return E5(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};Wg=_5([b5(1,Nr)],Wg);async function C5(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:d}=t.color,u=new E0(Math.round(s*255),Math.round(r*255),Math.round(a*255),d),f=new un(u),g=await p5(e,t,i,on.None),p=new tM(f,[],0);return p.colorPresentations=g||[],p.guessColorPresentation(f,n),o instanceof Hg?new dM(o,ee.lift(t.range),p,i):new uM(o,ee.lift(t.range),p,i)}function E5(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new Un(302,p))}const s=new It,r=i[0],a=e.getModel(),d=r.model,u=s.add(new cM(n.fragment,d,e.getOption(144),t,o instanceof Wg));let f=!1,g=new ee(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof Wg){const p=r.model.color;o.color=p,nm(a,d,p,g,r),s.add(d.onColorFlushed(C=>{o.color=C}))}else s.add(d.onColorFlushed(async p=>{await nm(a,d,p,g,r),f=!0,g=y5(e,g,d)}));return s.add(d.onDidChangeColor(p=>{nm(a,d,p,g,r)})),s.add(e.onDidChangeModelContent(p=>{f?f=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:u,disposables:s}}function y5(o,e,t){const i=[],n=t.presentation.textEdit??{range:e,text:t.presentation.label,forceMoveMarkers:!1};i.push(n),t.presentation.additionalTextEdits&&i.push(...t.presentation.additionalTextEdits);const s=ee.lift(n.range),r=o.getModel()._setTrackedRange(null,s,3);return o.executeEdits("colorpicker",i),o.pushUndoStop(),o.getModel()._getTrackedRange(r)??s}async function nm(o,e,t,i,n){const s=await p5(o,{range:i,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},n.provider,on.None);e.colorPresentations=s||[]}const w5="editor.action.showHover",hM="editor.action.showDefinitionPreviewHover",fM="editor.action.scrollUpHover",gM="editor.action.scrollDownHover",pM="editor.action.scrollLeftHover",xM="editor.action.scrollRightHover",mM="editor.action.pageUpHover",vM="editor.action.pageDownHover",_M="editor.action.goToTopHover",bM="editor.action.goToBottomHover",db="editor.action.increaseHoverVerbosityLevel",CM=S({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),ub="editor.action.decreaseHoverVerbosityLevel",EM=S({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),S5="editor.action.inlineSuggest.commit",D5="editor.action.inlineSuggest.showPrevious",A5="editor.action.inlineSuggest.showNext";var E9=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Dr=function(o,e){return function(t,i){e(t,i,o)}},sm;let Z1=class extends Mt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=Fo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=Mn(this,n=>{var d,u;const s=(d=this.model.read(n))==null?void 0:d.primaryGhostText.read(n);if(!this.alwaysShowToolbar.read(n)||!s||s.parts.length===0)return this.sessionPosition=void 0,null;const r=s.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==s.lineNumber&&(this.sessionPosition=void 0);const a=new _i(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(yp((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=f2((u,f)=>{const g=f.add(this.instantiationService.createInstance(M0,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(g),f.add(Xn(()=>e.removeContentWidget(g))),f.add(ts(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==vl.Explicit&&r.triggerExplicitly()})),g}),d=z_(this,(u,f)=>!!this.position.read(u)||!!f);s.add(ts(u=>{d.read(u)&&a.read(u)}))}))}};Z1=E9([Dr(2,en)],Z1);const yM=gs("inline-suggestion-hints-next",$i.chevronRight,S("parameterHintsNextIcon","Icon for show next parameter hint.")),wM=gs("inline-suggestion-hints-previous",$i.chevronLeft,S("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var _c;let M0=(_c=class extends Mt{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new y0(e,t,i,!0,()=>this._commandService.executeCommand(e)),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let r=t;return s&&(r=S({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,s.getLabel())),n.tooltip=r,n}constructor(e,t,i,n,s,r,a,d,u,f,g){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=n,this._suggestionCount=s,this._extraCommands=r,this._commandService=a,this.keybindingService=u,this._contextKeyService=f,this._menuService=g,this.id=`InlineSuggestionHintsContentWidget${sm.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Ar("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Ar("div@toolBar")]),this.previousAction=this.createCommandAction(D5,S("previous","Previous"),Fn.asClassName(wM)),this.availableSuggestionCountAction=new y0("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(A5,S("next","Next"),Fn.asClassName(yM)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Xt.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new Is(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new Is(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(d.createInstance(X1,this.nodes.toolBar,Xt.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,C)=>{if(p instanceof w0)return d.createInstance(DM,p,void 0);if(p===this.availableSuggestionCountAction){const b=new SM(void 0,p,{label:!0,icon:!1});return b.setClass("availableSuggestionCount"),b}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(p=>{sm._dropDownVisible=p})),this._register(ts(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(ts(p=>{const C=this._suggestionCount.read(p),b=this._currentSuggestionIdx.read(p);C!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${b+1}/${C}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),C!==void 0&&C>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(ts(p=>{const b=this._extraCommands.read(p).map(y=>({class:void 0,id:y.id,enabled:!0,tooltip:y.tooltip||"",label:y.title,run:w=>this._commandService.executeCommand(y.id)}));for(const[y,w]of this.inlineCompletionsActionsMenus.getActions())for(const A of w)A instanceof w0&&b.push(A);b.length>0&&b.unshift(new wg),this.toolBar.setAdditionalSecondaryActions(b)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},sm=_c,_c._dropDownVisible=!1,_c.id=0,_c);M0=sm=E9([Dr(6,Ws),Dr(7,en),Dr(8,ws),Dr(9,Dn),Dr(10,Hu)],M0);class SM extends QC{constructor(){super(...arguments),this._className=void 0}setClass(e){this._className=e}render(e){super.render(e),this._className&&e.classList.add(this._className)}updateTooltip(){}}let DM=class extends d2{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Ar("div.keybinding").root;this._register(new kw(t,Bw,{disableTitle:!0,...u2})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},X1=class extends h2{constructor(e,t,i,n,s,r,a,d,u){super(e,{resetMenu:t,...i},n,s,r,a,d,u),this.menuId=t,this.options2=i,this.menuService=n,this.contextKeyService=s,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,n,s,r,a,d,u;const e=[],t=[];Mw(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(s=(n=this.options2)==null?void 0:n.toolbarOptions)==null?void 0:s.primaryGroup,(a=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:a.shouldInlineSubmenu,(u=(d=this.options2)==null?void 0:d.toolbarOptions)==null?void 0:u.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){Va(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Va(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};X1=E9([Dr(3,Hu),Dr(4,Dn),Dr(5,G0),Dr(6,ws),Dr(7,Ws),Dr(8,da)],X1);function hb(o,e,t){const i=Co(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let AM=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class k5 extends Mt{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new sn),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new Is(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new Is(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new Is(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=g3(e=>this._computer.computeAsync(e)),(async()=>{try{for await(const e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(e){zn(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){this._state===3&&this._setState(4)}_fireResult(){if(this._state===1||this._state===2)return;const e=this._state===0,t=this._state===4;this._onResult.fire(new AM(this._result.slice(0),e,t))}start(e){if(e===0)this._state===0&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}class y9{constructor(){this._onDidWillResize=new sn,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new sn,this.onDidResize=this._onDidResize.event,this._sashListener=new It,this._size=new Un(0,0),this._minSize=new Un(0,0),this._maxSize=new Un(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new Fh(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Fh(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Fh(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:kS.North}),this._southSash=new Fh(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:kS.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let e,t=0,i=0;this._sashListener.add(Ls.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{e===void 0&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)})),this._sashListener.add(Ls.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{e!==void 0&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(n=>{e&&(i=n.currentX-n.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(n=>{e&&(i=-(n.currentX-n.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(n=>{e&&(t=-(n.currentY-n.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(n=>{e&&(t=n.currentY-n.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(Ls.any(this._eastSash.onDidReset,this._westSash.onDidReset)(n=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(Ls.any(this._northSash.onDidReset,this._southSash.onDidReset)(n=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,i,n){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=n?3:0}layout(e=this.size.height,t=this.size.width){const{height:i,width:n}=this._minSize,{height:s,width:r}=this._maxSize;e=Math.max(i,Math.min(s,e)),t=Math.max(n,Math.min(r,t));const a=new Un(t,e);Un.equals(a,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=a,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}}const kM=30,BM=24;class FM extends Mt{constructor(e,t=new Un(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new y9),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=Un.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(i=>{this._resize(new Un(i.dimension.width,i.dimension.height)),i.done&&(this._isResizing=!1)})),this._register(this._resizableNode.onDidWillResize(()=>{this._isResizing=!0}))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){var e;return(e=this._contentPosition)!=null&&e.position?_i.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:Co(t).top+i.top-kM}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=Co(t),s=wp(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-BM}_findPositionPreference(e,t){const i=Math.min(this._availableVerticalSpaceBelow(t)??1/0,e),n=Math.min(this._availableVerticalSpaceAbove(t)??1/0,e),s=Math.min(Math.max(n,i),e),r=Math.min(e,s);let a;return this._editor.getOption(60).above?a=r<=n?1:2:a=r<=i?2:1,a===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),a}_resize(e){this._resizableNode.layout(e.height,e.width)}}var LM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},px=function(o,e){return function(t,i){e(t,i,o)}},Ca;const M8=30,IM=6;var bc;let Y1=(bc=class extends FM{get isVisibleFromKeyboard(){var e;return((e=this._renderedHover)==null?void 0:e.source)===1}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(e,t,i,n,s){const r=e.getOption(67)+8,a=150,d=new Un(a,r);super(e,d),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new g2),this._onDidResize=this._register(new sn),this.onDidResize=this._onDidResize.event,this._minimumSize=d,this._hoverVisibleKey=U.hoverVisible.bindTo(t),this._hoverFocusedKey=U.hoverFocused.bindTo(t),ei(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(f=>{f.hasChanged(50)&&this._updateFont()}));const u=this._register(_0(this._resizableNode.domNode));this._register(u.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(u.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){var e;super.dispose(),(e=this._renderedHover)==null||e.dispose(),this._editor.removeContentWidget(this)}getId(){return Ca.ID}static _applyDimensions(e,t,i){const n=typeof t=="number"?`${t}px`:t,s=typeof i=="number"?`${i}px`:i;e.style.width=n,e.style.height=s}_setContentsDomNodeDimensions(e,t){const i=this._hover.contentsDomNode;return Ca._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return Ca._applyDimensions(i,e,t)}_setHoverWidgetDimensions(e,t){this._setContentsDomNodeDimensions(e,t),this._setContainerDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,i){const n=typeof t=="number"?`${t}px`:t,s=typeof i=="number"?`${i}px`:i;e.style.maxWidth=n,e.style.maxHeight=s}_setHoverWidgetMaxDimensions(e,t){Ca._applyMaxDimensions(this._hover.contentsDomNode,e,t),Ca._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth",typeof e=="number"?`${e}px`:e),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions("none","none");const t=e.width,i=e.height;this._setHoverWidgetDimensions(t,i)}_updateResizableNodeMaxDimensions(){const e=this._findMaximumRenderingWidth()??1/0,t=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new Un(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){Ca._lastDimensions=new Un(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){var t;const e=(t=this._renderedHover)==null?void 0:t.showAtPosition;if(e)return this._positionPreference===1?this._availableVerticalSpaceAbove(e):this._availableVerticalSpaceBelow(e)}_findMaximumRenderingHeight(){const e=this._findAvailableSpaceVertically();if(!e)return;let t=IM;return Array.from(this._hover.contentsDomNode.children).forEach(i=>{t+=i.clientHeight}),Math.min(e,t)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const e=Array.from(this._hover.contentsDomNode.children).some(t=>t.scrollWidth>t.clientWidth);return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),e}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;const e=this._isHoverTextOverflowing(),t=typeof this._contentWidth>"u"?0:this._contentWidth-2;return e||this._hover.containerDomNode.clientWidth<t?wp(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth+2}isMouseGettingCloser(e,t){if(!this._renderedHover)return!1;if(this._renderedHover.initialMousePosX===void 0||this._renderedHover.initialMousePosY===void 0)return this._renderedHover.initialMousePosX=e,this._renderedHover.initialMousePosY=t,!1;const i=Co(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=R8(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=R8(e,t,i.left,i.top,i.width,i.height);return n>this._renderedHover.closestMouseDistance+4?!1:(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,n),!0)}_setRenderedHover(e){var t;(t=this._renderedHover)==null||t.dispose(),this._renderedHover=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){const{fontSize:e,lineHeight:t}=this._editor.getOption(50),i=this._hover.contentsDomNode;i.style.fontSize=`${e}px`,i.style.lineHeight=`${t/e}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(s=>this._editor.applyFontInfo(s))}_updateContent(e){const t=this._hover.contentsDomNode;t.style.paddingBottom="",t.textContent="",t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const e=Math.max(this._editor.getLayoutInfo().height/4,250,Ca._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,Ca._lastDimensions.width);this._setHoverWidgetMaxDimensions(t,e)}_render(e){this._setRenderedHover(e),this._updateFont(),this._updateContent(e.domNode),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){return this._renderedHover?{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[this._positionPreference??1]}:null}show(e){var r;if(!this._editor||!this._editor.hasModel())return;this._render(e);const t=Lh(this._hover.containerDomNode),i=e.showAtPosition;this._positionPreference=this._findPositionPreference(t,i)??1,this.onContentsChanged(),e.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();const s=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&p3(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),((r=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))==null?void 0:r.getAriaLabel())??"");s&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+s)}hide(){if(!this._renderedHover)return;const e=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new Un(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),e&&this._editor.focus()}_removeConstraintsRenderNormally(){const e=this._editor.getLayoutInfo();this._resizableNode.layout(e.height,e.width),this._setHoverWidgetDimensions("auto","auto")}setMinimumDimensions(e){this._minimumSize=new Un(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const e=typeof this._contentWidth>"u"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new Un(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=Lh(e),i=br(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=Lh(e),i=br(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=Lh(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(s,this._renderedHover.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-M8})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+M8})}pageUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}},Ca=bc,bc.ID="editor.contrib.resizableContentHoverWidget",bc._lastDimensions=new Un(0,0),bc);Y1=Ca=LM([px(1,Dn),px(2,Qn),px(3,V_),px(4,ws)],Y1);function R8(o,e,t,i,n,s){const r=t+n/2,a=i+s/2,d=Math.max(Math.abs(o-r)-n/2,0),u=Math.max(Math.abs(e-a)-s/2,0);return Math.sqrt(d*d+u*u)}class zm{get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}get source(){return this._source}set source(e){this._source=e}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(e){this._insistOnKeepingHoverVisible=e}constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(e,t){if(t.type!==1&&!t.supportsMarkerHover)return[];const i=e.getModel(),n=t.range.startLineNumber;if(n>i.getLineCount())return[];const s=i.getLineMaxColumn(n);return e.getLineDecorations(n).filter(r=>{if(r.options.isWholeLine)return!0;const a=r.range.startLineNumber===n?r.range.startColumn:1,d=r.range.endLineNumber===n?r.range.endColumn:s;if(r.options.showIfCollapsed){if(a>t.range.startColumn+1||t.range.endColumn-1>d)return!1}else if(a>t.range.startColumn||t.range.endColumn>d)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return ia.EMPTY;const i=zm._getLineDecorations(this._editor,t);return ia.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):ia.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=zm._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return El(t)}}class B5{constructor(e,t,i){this.anchor=e,this.hoverParts=t,this.isComplete=i}filter(e){const t=this.hoverParts.filter(i=>i.isValidForHoverAnchor(e));return t.length===this.hoverParts.length?this:new PM(this,this.anchor,t,this.isComplete)}}class PM extends B5{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var TM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},MM=function(o,e){return function(t,i){e(t,i,o)}};const N8=ai;let Vm=class extends Mt{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=N8("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=ei(this.hoverElement,N8("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(x3.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=ei(this.actionsElement,e);return this._hasContent=!0,t}};Vm=TM([MM(0,ws)],Vm);class RM{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function NM(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(ms);if(!(!s||!OM(s)))return new RM(o,s,e)}function w9(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,d)=>NM(a,d,e,t,i));return ia.fromPromises(r).coalesce()}function F5(o,e,t,i,n=!1){return w9(o,e,t,i,n).map(s=>s.hover).toPromise()}Do("_executeHoverProvider",(o,e,t)=>{const i=o.get(bi);return F5(i.hoverProvider,e,t,on.None)});Do("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(bi);return F5(i.hoverProvider,e,t,on.None,!0)});function OM(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var HM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ed=function(o,e){return function(t,i){e(t,i,o)}};const Rh=ai,WM=gs("hover-increase-verbosity",$i.add,S("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),zM=gs("hover-decrease-verbosity",$i.remove,S("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class Br{constructor(e,t,i,n,s,r=void 0){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=n,this.ordinal=s,this.source=r}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}class L5{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case or.Increase:return this.hover.canIncreaseVerbosity??!1;case or.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let zg=class{constructor(e,t,i,n,s,r,a,d){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=n,this._languageFeaturesService=s,this._keybindingService=r,this._hoverService=a,this._commandService=d,this.hoverOrdinal=3}createLoadingMessage(e){return new Br(this,e.range,[new oo().appendText(S("modesContentHover.loading","Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,s=i.getLineMaxColumn(n),r=[];let a=1e3;const d=i.getLineLength(n),u=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),f=this._editor.getOption(118),g=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:u});let p=!1;f>=0&&d>f&&e.range.startColumn>=f&&(p=!0,r.push(new Br(this,e.range,[{value:S("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!p&&typeof g=="number"&&d>=g&&r.push(new Br(this,e.range,[{value:S("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let C=!1;for(const b of t){const y=b.range.startLineNumber===n?b.range.startColumn:1,w=b.range.endLineNumber===n?b.range.endColumn:s,A=b.options.hoverMessage;if(!A||Sg(A))continue;b.options.beforeContentClassName&&(C=!0);const P=new ee(e.range.startLineNumber,y,e.range.startLineNumber,w);r.push(new Br(this,P,p2(A),C,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return ia.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):ia.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return w9(e,t,s,n).filter(d=>!Sg(d.hover.contents)).map(d=>{const u=d.hover.range?ee.lift(d.hover.range):i.range,f=new L5(d.hover,d.provider,s);return new Br(this,u,d.hover.contents,!1,d.ordinal,f)})}renderHoverParts(e,t){return this._renderedHoverParts=new VM(t,e.fragment,this,this._editor,this._languageService,this._openerService,this._commandService,this._keybindingService,this._hoverService,this._configurationService,e.onContentsChanged),this._renderedHoverParts}updateMarkdownHoverVerbosityLevel(e,t,i){var n;return Promise.resolve((n=this._renderedHoverParts)==null?void 0:n.updateMarkdownHoverPartVerbosityLevel(e,t,i))}};zg=HM([ed(1,ua),ed(2,ca),ed(3,Qn),ed(4,bi),ed(5,ws),ed(6,Sp),ed(7,Ws)],zg);class xx{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class VM{constructor(e,t,i,n,s,r,a,d,u,f,g){this._hoverParticipant=i,this._editor=n,this._languageService=s,this._openerService=r,this._commandService=a,this._keybindingService=d,this._hoverService=u,this._configurationService=f,this._onFinishedRendering=g,this._ongoingHoverOperations=new Map,this._disposables=new It,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(Xn(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(Dp(n=>n.ordinal,j_)),e.map(n=>{const s=this._renderHoverPart(n,i);return t.appendChild(s.hoverElement),s})}_renderHoverPart(e,t){const i=this._renderMarkdownHover(e,t),n=i.hoverElement,s=e.source,r=new It;if(r.add(i),!s)return new xx(e,n,r);const a=s.supportsVerbosityAction(or.Increase),d=s.supportsVerbosityAction(or.Decrease);if(!a&&!d)return new xx(e,n,r);const u=Rh("div.verbosity-actions");return n.prepend(u),r.add(this._renderHoverExpansionAction(u,or.Increase,a)),r.add(this._renderHoverExpansionAction(u,or.Decrease,d)),new xx(e,n,r)}_renderMarkdownHover(e,t){return I5(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new It,s=t===or.Increase,r=ei(e,Rh(Fn.asCSSSelector(s?WM:zM)));r.tabIndex=0;const a=new m3("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,$M(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const d=()=>this._commandService.executeCommand(t===or.Increase?db:ub);return n.add(new v3(r,d)),n.add(new _3(r,d,[3,10])),n}async updateMarkdownHoverPartVerbosityLevel(e,t,i=!0){const n=this._editor.getModel();if(!n)return;const s=this._getRenderedHoverPartAtIndex(t),r=s==null?void 0:s.hoverPart.source;if(!s||!(r!=null&&r.supportsVerbosityAction(e)))return;const a=await this._fetchHover(r,n,e);if(!a)return;const d=new L5(a,r.hoverProvider,r.hoverPosition),u=s.hoverPart,f=new Br(this._hoverParticipant,u.range,a.contents,u.isBeforeContent,u.ordinal,d),g=this._renderHoverPart(f,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(t,g,f),i&&this._focusOnHoverPartWithIndex(t),{hoverPart:f,hoverElement:g.hoverElement}}async _fetchHover(e,t,i){let n=i===or.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new Us;this._ongoingHoverOperations.set(s,{verbosityDelta:n,tokenSource:a});const d={verbosityRequest:{verbosityDelta:n,previousHover:e.hover}};let u;try{u=await Promise.resolve(s.provideHover(t,e.hoverPosition,a.token,d))}catch(f){ms(f)}return a.dispose(),this._ongoingHoverOperations.delete(s),u}_replaceRenderedHoverPartAtIndex(e,t,i){if(e>=this.renderedHoverParts.length||e<0)return;const n=this.renderedHoverParts[e],s=n.hoverElement,r=t.hoverElement,a=Array.from(r.children);s.replaceChildren(...a);const d=new xx(i,s,t.disposables);s.focus(),n.dispose(),this.renderedHoverParts[e]=d}_focusOnHoverPartWithIndex(e){this.renderedHoverParts[e].hoverElement.focus()}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}}function jM(o,e,t,i,n){e.sort(Dp(r=>r.ordinal,j_));const s=[];for(const r of e)s.push(I5(t,r,i,n,o.onContentsChanged));return new Lu(s)}function I5(o,e,t,i,n){const s=new It,r=Rh("div.hover-row"),a=Rh("div.hover-row-contents");r.appendChild(a);const d=e.contents;for(const f of d){if(Sg(f))continue;const g=Rh("div.markdown-hover"),p=ei(g,Rh("div.hover-contents")),C=s.add(new Y0({editor:o},t,i));s.add(C.onDidRenderAsync(()=>{p.className="hover-contents code-hover-contents",n()}));const b=s.add(C.render(f));p.appendChild(b.element),a.appendChild(g)}return{hoverPart:e,hoverElement:r,dispose(){s.dispose()}}}function $M(o,e){switch(e){case or.Increase:{const t=o.lookupKeybinding(db);return t?S("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):S("increaseVerbosity","Increase Hover Verbosity")}case or.Decrease:{const t=o.lookupKeybinding(ub);return t?S("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):S("decreaseVerbosity","Decrease Hover Verbosity")}}}function Q1(o,e){return!!o[e]}class mC{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=Q1(e.event,t.triggerModifier),this.hasSideBySideModifier=Q1(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class O8{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=Q1(e,t.triggerModifier)}}class mx{constructor(e,t,i,n){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=n}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function H8(o){return o==="altKey"?ja?new mx(57,"metaKey",6,"altKey"):new mx(5,"ctrlKey",6,"altKey"):ja?new mx(6,"altKey",57,"metaKey"):new mx(6,"altKey",5,"ctrlKey")}class fb extends Mt{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new sn),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new sn),this.onExecute=this._onExecute.event,this._onCancel=this._register(new sn),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=(t==null?void 0:t.extractLineNumberFromMouseEvent)??(i=>i.target.position?i.target.position.lineNumber:0),this._opts=H8(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(i=>{if(i.hasChanged(78)){const n=H8(this._editor.getOption(78));if(this._opts.equals(n))return;this._opts=n,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(i=>this._onEditorMouseMove(new mC(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new mC(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new mC(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new O8(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new O8(i,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(i=>this._onDidChangeCursorSelection(i))),this._register(this._editor.onDidChangeModel(i=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(i=>{(i.scrollTopChanged||i.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){const t=this._extractLineNumberFromMouseEvent(e);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}class P5{constructor(e,t){this.range=e,this.direction=t}}class S9{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new S9(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}async resolve(e){if(typeof this.provider.resolveInlayHint=="function"){if(this._currentResolve)return await this._currentResolve,e.isCancellationRequested?void 0:this.resolve(e);this._isResolved||(this._currentResolve=this._doResolve(e).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){try{const t=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=(t==null?void 0:t.tooltip)??this.hint.tooltip,this.hint.label=(t==null?void 0:t.label)??this.hint.label,this.hint.textEdits=(t==null?void 0:t.textEdits)??this.hint.textEdits,this._isResolved=!0}catch(t){ms(t),this._isResolved=!1}}}const jh=class jh{static async create(e,t,i,n){const s=[],r=e.ordered(t).reverse().map(a=>i.map(async d=>{try{const u=await a.provideInlayHints(t,d,n);(u!=null&&u.hints.length||a.onDidChangeInlayHints)&&s.push([u??jh._emptyInlayHintList,a])}catch(u){ms(u)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new N_;return new jh(i,s,t)}constructor(e,t,i){this._disposables=new It,this.ranges=e,this.provider=new Set;const n=[];for(const[s,r]of t){this._disposables.add(s),this.provider.add(r);for(const a of s.hints){const d=i.validatePosition(a.position);let u="before";const f=jh._getRangeAtPosition(i,d);let g;f.getStartPosition().isBefore(d)?(g=ee.fromPositions(f.getStartPosition(),d),u="after"):(g=ee.fromPositions(d,f.getEndPosition()),u="before"),n.push(new S9(a,new P5(g,u),r))}}this.items=n.sort((s,r)=>_i.compare(s.hint.position,r.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const i=t.lineNumber,n=e.getWordAtPosition(t);if(n)return new ee(i,n.startColumn,i,n.endColumn);e.tokenization.tokenizeIfCheap(i);const s=e.tokenization.getLineTokens(i),r=t.column-1,a=s.findTokenIndexAtOffset(r);let d=s.getStartOffset(a),u=s.getEndOffset(a);return u-d===1&&(d===r&&a>1?(d=s.getStartOffset(a-1),u=s.getEndOffset(a-1)):u===r&&a<s.getCount()-1&&(d=s.getStartOffset(a+1),u=s.getEndOffset(a+1))),new ee(i,d+1,i,u+1)}};jh._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let jm=jh;function UM(o){return On.from({scheme:vo.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var qM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},el=function(o,e){return function(t,i){e(t,i,o)}};let Rr=class extends b3{constructor(e,t,i,n,s,r,a,d,u,f,g,p,C){super(e,{...n.getRawOptions(),overflowWidgetsDomNode:n.getOverflowWidgetsDomNode()},i,s,r,a,d,u,f,g,p,C),this._parentEditor=n,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(n.onDidChangeConfiguration(b=>this._onParentConfigurationChanged(b)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){Rw(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Rr=qM([el(4,en),el(5,vs),el(6,Ws),el(7,Dn),el(8,Nr),el(9,go),el(10,V_),el(11,zs),el(12,bi)],Rr);const W8=new un(new E0(0,122,204)),GM={showArrow:!0,showFrame:!0,className:"",frameColor:W8,arrowColor:W8,keepEditorSelection:!1},KM="vs.editor.contrib.zoneWidget";class ZM{constructor(e,t,i,n,s,r,a,d){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=n,this.showInHiddenAreas=a,this.ordinal=d,this._onDomNodeTop=s,this._onComputedHeight=r}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class XM{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const Zv=class Zv{constructor(e){this._editor=e,this._ruleName=Zv._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),BS(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){BS(this._ruleName),y3(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px !important; margin-left: -${this._height}px; `)}show(e){e.column===1&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:ee.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};Zv._IdGenerator=new E3(".arrow-decoration-");let J1=Zv;class YM{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new It,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=C3(t),Rw(this.options,GM,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange(i=>{const n=this._getWidth(i);this.domNode.style.width=n+"px",this.domNode.style.left=this._getLeft(i)+"px",this._onWidth(n)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new J1(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){const e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&e.minimap.minimapLeft===0?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+"px"}_onViewZoneHeight(e){var t;if(this.domNode.style.height=`${e}px`,this.container){const i=e-this._decoratingElementsHeight();this.container.style.height=`${i}px`;const n=this.editor.getLayoutInfo();this._doLayout(i,this._getWidth(n))}(t=this._resizeSash)==null||t.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const i=ee.isIRange(e)?ee.lift(e):ee.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:fn.EMPTY}])}hide(){var e;this._viewZone&&(this.editor.changeViewZones(t=>{this._viewZone&&t.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),(e=this._arrow)==null||e.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const e=this.editor.getOption(67);let t=0;if(this.options.showArrow){const i=Math.round(e/3);t+=2*i}if(this.options.showFrame){const i=Math.round(e/9);t+=2*i}return t}_showImpl(e,t){const i=e.getStartPosition(),n=this.editor.getLayoutInfo(),s=this._getWidth(n);this.domNode.style.width=`${s}px`,this.domNode.style.left=this._getLeft(n)+"px";const r=document.createElement("div");r.style.overflow="hidden";const a=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const p=Math.max(12,this.editor.getLayoutInfo().height/a*.8);t=Math.min(t,p)}let d=0,u=0;if(this._arrow&&this.options.showArrow&&(d=Math.round(a/3),this._arrow.height=d,this._arrow.show(i)),this.options.showFrame&&(u=Math.round(a/9)),this.editor.changeViewZones(p=>{this._viewZone&&p.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new ZM(r,i.lineNumber,i.column,t,C=>this._onViewZoneTop(C),C=>this._onViewZoneHeight(C),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=p.addZone(this._viewZone),this._overlayWidget=new XM(KM+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const p=this.options.frameWidth?this.options.frameWidth:u;this.container.style.borderTopWidth=p+"px",this.container.style.borderBottomWidth=p+"px"}const f=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=d+"px",this.container.style.height=f+"px",this.container.style.overflow="hidden"),this._doLayout(f,s),this.options.keepEditorSelection||this.editor.setSelection(e);const g=this.editor.getModel();if(g){const p=g.validateRange(new ee(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(p,p.startLineNumber===g.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new Fh(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let e;this._disposables.add(this._resizeSash.onDidStart(t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{e=void 0})),this._disposables.add(this._resizeSash.onDidChange(t=>{if(e){const i=(t.currentY-e.startY)/this.editor.getOption(67),n=i<0?Math.ceil(i):Math.floor(i),s=e.heightInLines+n;s>5&&s<35&&this._relayout(s)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}}var T5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},M5=function(o,e){return function(t,i){e(t,i,o)}};const R5=Tl("IPeekViewService");Ml(R5,class{constructor(){this._widgets=new Map}addExclusiveWidget(o,e){const t=this._widgets.get(o);t&&(t.listener.dispose(),t.widget.dispose());const i=()=>{const n=this._widgets.get(o);n&&n.widget===e&&(n.listener.dispose(),this._widgets.delete(o))};this._widgets.set(o,{widget:e,listener:e.onDidClose(i)})}},1);var Eo;(function(o){o.inPeekEditor=new vn("inReferenceSearchEditor",!0,S("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(Eo||(Eo={}));var l0;let $m=(l0=class{constructor(e,t){e instanceof Rr&&Eo.inPeekEditor.bindTo(t)}dispose(){}},l0.ID="editor.contrib.referenceController",l0);$m=T5([M5(1,Dn)],$m);an($m.ID,$m,0);function QM(o){const e=o.get(vs).getFocusedCodeEditor();return e instanceof Rr?e.getParentEditor():e}const JM={headerBackgroundColor:un.white,primaryHeadingColor:un.fromHex("#333333"),secondaryHeadingColor:un.fromHex("#6c6c6cb3")};let Um=class extends YM{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new sn,this.onDidClose=this._onDidClose.event,Rw(this.options,JM,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){const t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();const e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass("peekview-widget"),this._headElement=ai(".head"),this._bodyElement=ai(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=ai(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),wl(this._titleElement,"click",s=>this._onTitleClick(s))),ei(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=ai("span.filename"),this._secondaryHeading=ai("span.dirname"),this._metaHeading=ai("span.meta"),ei(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=ai(".peekview-actions");ei(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new Cg(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new y0("peekview.close",S("label.close","Close"),Fn.asClassName($i.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:w3.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute("title",e),t?this._secondaryHeading.innerText=t:Ha(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,kr(this._metaHeading)):jo(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0){this.dispose();return}const i=Math.ceil(this.editor.getOption(67)*1.2),n=Math.round(e-(i+2));this._doLayoutHead(i,t),this._doLayoutBody(n,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height=`${e}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height=`${e}px`)}};Um=T5([M5(2,en)],Um);const eR=li("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:un.black,hcLight:un.white},S("peekViewTitleBackground","Background color of the peek view title area.")),N5=li("peekViewTitleLabel.foreground",{dark:un.white,light:un.black,hcDark:un.white,hcLight:Ap},S("peekViewTitleForeground","Color of the peek view title.")),O5=li("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},S("peekViewTitleInfoForeground","Color of the peek view title info.")),tR=li("peekView.border",{dark:JC,light:JC,hcDark:yl,hcLight:yl},S("peekViewBorder","Color of the peek view borders and arrow.")),iR=li("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:un.black,hcLight:un.white},S("peekViewResultsBackground","Background color of the peek view result list."));li("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:un.white,hcLight:Ap},S("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));li("peekViewResult.fileForeground",{dark:un.white,light:"#1E1E1E",hcDark:un.white,hcLight:Ap},S("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));li("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},S("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));li("peekViewResult.selectionForeground",{dark:un.white,light:"#6C6C6C",hcDark:un.white,hcLight:Ap},S("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const H5=li("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:un.black,hcLight:un.white},S("peekViewEditorBackground","Background color of the peek view editor."));li("peekViewEditorGutter.background",H5,S("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));li("peekViewEditorStickyScroll.background",H5,S("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));li("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},S("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));li("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},S("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));li("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:_u,hcLight:_u},S("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class Nc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=S3.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){var t;const e=(t=this.parent.getPreview(this))==null?void 0:t.preview(this.range);return e?S({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"{0} in {1} on line {2} at column {3}",e.value,$a(this.uri),this.range.startLineNumber,this.range.startColumn):S("aria.oneReference","in {0} on line {1} at column {2}",$a(this.uri),this.range.startLineNumber,this.range.startColumn)}}class nR{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:n,startColumn:s,endLineNumber:r,endColumn:a}=e,d=i.getWordUntilPosition({lineNumber:n,column:s-t}),u=new ee(n,d.startColumn,n,s),f=new ee(r,a,r,1073741824),g=i.getValueInRange(u).replace(/^\s+/,""),p=i.getValueInRange(e),C=i.getValueInRange(f).replace(/\s+$/,"");return{value:g+p+C,highlight:{start:g.length,end:g.length+p.length}}}}class Vg{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new Ic}dispose(){ao(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?S("aria.fileReferences.1","1 symbol in {0}, full path {1}",$a(this.uri),this.uri.fsPath):S("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,$a(this.uri),this.uri.fsPath)}async resolve(e){if(this._previews.size!==0)return this;for(const t of this.children)if(!this._previews.has(t.uri))try{const i=await e.createModelReference(t.uri);this._previews.set(t.uri,new nR(i))}catch(i){zn(i)}return this}}class To{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new sn,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(To._compareReferences);let n;for(const s of e)if((!n||!FS.isEqual(n.uri,s.uri,!0))&&(n=new Vg(this,s.uri),this.groups.push(n)),n.children.length===0||To._compareReferences(s,n.children[n.children.length-1])!==0){const r=new Nc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){ao(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new To(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?S("aria.result.0","No results found"):this.references.length===1?S("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?S("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):S("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let n=i.children.indexOf(e);const s=i.children.length,r=i.parent.groups.length;return r===1||t&&n+1<s||!t&&n>0?(t?n=(n+1)%s:n=(n+s-1)%s,i.children[n]):(n=i.parent.groups.indexOf(i),t?(n=(n+1)%r,i.parent.groups[n].children[0]):(n=(n+r-1)%r,i.parent.groups[n].children[i.parent.groups[n].children.length-1]))}nearestReference(e,t){const i=this.references.map((n,s)=>({idx:s,prefixLen:kp(n.uri.toString(),e.toString()),offsetDist:Math.abs(n.range.startLineNumber-t.lineNumber)*100+Math.abs(n.range.startColumn-t.column)})).sort((n,s)=>n.prefixLen>s.prefixLen?-1:n.prefixLen<s.prefixLen?1:n.offsetDist<s.offsetDist?-1:n.offsetDist>s.offsetDist?1:0)[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(const i of this.references)if(i.uri.toString()===e.toString()&&ee.containsPosition(i.range,t))return i}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return FS.compare(e.uri,t.uri)||ee.compareRangesUsingStarts(e.range,t.range)}}var gb=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},pb=function(o,e){return function(t,i){e(t,i,o)}},eE;let tE=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof To||e instanceof Vg}getChildren(e){if(e instanceof To)return e.groups;if(e instanceof Vg)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};tE=gb([pb(0,ha)],tE);class sR{getHeight(){return 23}getTemplateId(e){return e instanceof Vg?qm.id:Gm.id}}let iE=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof Nc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return $a(e.uri)}};iE=gb([pb(0,ws)],iE);class oR{getId(e){return e instanceof Nc?e.id:e.uri}}let nE=class extends Mt{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new x2(i,{supportHighlights:!0})),this.badge=new D3(ei(i,ai(".count")),{},A3),e.appendChild(i)}set(e,t){const i=Nw(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const n=e.children.length;this.badge.setCount(n),n>1?this.badge.setTitleFormat(S("referencesCount","{0} references",n)):this.badge.setTitleFormat(S("referenceCount","{0} reference",n))}};nE=gb([pb(1,Dg)],nE);var Rd;let qm=(Rd=class{constructor(e){this._instantiationService=e,this.templateId=eE.id}renderTemplate(e){return this._instantiationService.createInstance(nE,e)}renderElement(e,t,i){i.set(e.element,$_(e.filterData))}disposeTemplate(e){e.dispose()}},eE=Rd,Rd.id="FileReferencesRenderer",Rd);qm=eE=gb([pb(0,en)],qm);class rR extends Mt{constructor(e){super(),this.label=this._register(new k3(e))}set(e,t){var n;const i=(n=e.parent.getPreview(e))==null?void 0:n.preview(e.range);if(!i||!i.value)this.label.set(`${$a(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!Ag.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,$_(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const Xv=class Xv{constructor(){this.templateId=Xv.id}renderTemplate(e){return new rR(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Xv.id="OneReferenceRenderer";let Gm=Xv;class aR{getWidgetAriaLabel(){return S("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var lR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dh=function(o,e){return function(t,i){e(t,i,o)}};const Yv=class Yv{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new It,this._callOnModelChange=new It,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const e=this._editor.getModel();if(e){for(const t of this._model.references)if(t.uri.toString()===e.uri.toString()){this._addDecorations(t.parent);return}}}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const t=[],i=[];for(let n=0,s=e.children.length;n<s;n++){const r=e.children[n];this._decorationIgnoreSet.has(r.id)||r.uri.toString()===this._editor.getModel().uri.toString()&&(t.push({range:r.range,options:Yv.DecorationOptions}),i.push(n))}this._editor.changeDecorations(n=>{const s=n.deltaDecorations([],t);for(let r=0;r<s.length;r++)this._decorations.set(s[r],e.children[i[r]])})}_onDecorationChanged(){const e=[],t=this._editor.getModel();if(t){for(const[i,n]of this._decorations){const s=t.getDecorationRange(i);if(!s)continue;let r=!1;if(!ee.equalsRange(s,n.range)){if(ee.spansMultipleLines(s))r=!0;else{const a=n.range.endColumn-n.range.startColumn,d=s.endColumn-s.startColumn;a!==d&&(r=!0)}r?(this._decorationIgnoreSet.add(n.id),e.push(i)):n.range=s}}for(let i=0,n=e.length;i<n;i++)this._decorations.delete(e[i]);this._editor.removeDecorations(e)}}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]),this._decorations.clear()}};Yv.DecorationOptions=fn.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let sE=Yv;class cR{constructor(){this.ratio=.7,this.heightInLines=18}static fromJSON(e){let t,i;try{const n=JSON.parse(e);t=n.ratio,i=n.heightInLines}catch{}return{ratio:t||.7,heightInLines:i||18}}}class dR extends L3{}let oE=class extends Um{constructor(e,t,i,n,s,r,a,d,u){super(e,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},r),this._defaultTreeKeyboardSupport=t,this.layoutData=i,this._textModelResolverService=s,this._instantiationService=r,this._peekViewService=a,this._uriLabel=d,this._keybindingService=u,this._disposeOnNewModel=new It,this._callOnDispose=new It,this._onDidSelectReference=new sn,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new Un(0,0),this._isClosing=!1,this._applyTheme(n.getColorTheme()),this._callOnDispose.add(n.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(e,this),this.create()}get isClosing(){return this._isClosing}dispose(){this._isClosing=!0,this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),ao(this._preview),ao(this._previewNotAvailableMessage),ao(this._tree),ao(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(tR)||un.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(eR)||un.transparent,primaryHeadingColor:e.getColor(N5),secondaryHeadingColor:e.getColor(O5)})}show(e){super.show(e,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(e){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:e.ctrlKey||e.metaKey||e.altKey?"side":"open",source:"title"})}_fillBody(e){this.setCssClass("reference-zone-widget"),this._messageContainer=ei(e,ai("div.messages")),jo(this._messageContainer),this._splitView=new B3(e,{orientation:1}),this._previewContainer=ei(e,ai("div.preview.inline"));const t={scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,alwaysConsumeMouseWheel:!0},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}};this._preview=this._instantiationService.createInstance(Rr,this._previewContainer,t,{},this.editor),jo(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(oc,S("missingPreviewMessage","no preview available"),kg,oc.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=ei(e,ai("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new aR,keyboardNavigationLabelProvider:this._instantiationService.createInstance(iE),identityProvider:new oR,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:iR}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(wl(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(dR,"ReferencesWidget",this._treeContainer,new sR,[this._instantiationService.createInstance(qm),this._instantiationService.createInstance(Gm)],this._instantiationService.createInstance(tE),i),this._splitView.addView({onDidChange:Ls.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},LS.Distribute),this._splitView.addView({onDidChange:Ls.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:s=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${s}px`,this._tree.layout(this._dim.height,s)}},LS.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const n=(s,r)=>{s instanceof Nc&&(r==="show"&&this._revealReference(s,!1),this._onDidSelectReference.fire({element:s,kind:r,source:"tree"}))};this._disposables.add(this._tree.onDidOpen(s=>{s.sideBySide?n(s.element,"side"):s.editorOptions.pinned?n(s.element,"goto"):n(s.element,"show")})),jo(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Un(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=S("noResults","No results"),kr(this._messageContainer),Promise.resolve(void 0)):(jo(this._messageContainer),this._decorationsManager=new sE(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(e=>this._tree.rerender(e))),this._disposeOnNewModel.add(this._preview.onMouseDown(e=>{const{event:t,target:i}=e;if(t.detail!==2)return;const n=this._getFocusedReference();n&&this._onDidSelectReference.fire({element:{uri:n.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),kr(this._treeContainer),kr(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();if(e instanceof Nc)return e;if(e instanceof Vg&&e.children.length>0)return e.children[0]}async revealReference(e){await this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})}async _revealReference(e,t){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==vo.inMemory?this.setTitle(F3(e.uri),this._uriLabel.getUriLabel(Nw(e.uri))):this.setTitle(S("peekView.alternateTitle","References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent?this._tree.reveal(e):(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent),this._tree.reveal(e));const n=await i;if(!this._model){n.dispose();return}ao(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=ee.lift(e.range).collapseToStart();this._previewModelReference=n,this._preview.setModel(s.textEditorModel),this._preview.setSelection(a),this._preview.revealRangeInCenter(a,r)}else this._preview.setModel(this._previewNotAvailableMessage),n.dispose()}};oE=lR([dh(3,Nr),dh(4,ha),dh(5,en),dh(6,R5),dh(7,Dg),dh(8,ws)],oE);var uR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},uh=function(o,e){return function(t,i){e(t,i,o)}},om;const qu=new vn("referenceSearchVisible",!1,S("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var Nd;let Iu=(Nd=class{static get(e){return e.getContribution(om.ID)}constructor(e,t,i,n,s,r,a,d){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=s,this._instantiationService=r,this._storageService=a,this._configurationService=d,this._disposables=new It,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=qu.bindTo(i)}dispose(){var e,t;this._referenceSearchVisible.reset(),this._disposables.dispose(),(e=this._widget)==null||e.dispose(),(t=this._model)==null||t.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let n;if(this._widget&&(n=this._widget.position),this.closeWidget(),n&&e.containsPosition(n))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const s="peekViewLayout",r=cR.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(oE,this._editor,this._defaultTreeKeyboardSupport,r),this._widget.setTitle(S("labelLoading","Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget?(this._storageService.store(s,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(d=>{const{element:u,kind:f}=d;if(u)switch(f){case"open":(d.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(u,!1,!1);break;case"side":this.openReference(u,!0,!1);break;case"goto":i?this._gotoReference(u,!0):this.openReference(u,!1,!0);break}}));const a=++this._requestIdPool;t.then(d=>{var u;if(a!==this._requestIdPool||!this._widget){d.dispose();return}return(u=this._model)==null||u.dispose(),this._model=d,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(S("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const f=this._editor.getModel().uri,g=new _i(e.startLineNumber,e.startColumn),p=this._model.nearestReference(f,g);if(p)return this._widget.setSelection(p).then(()=>{this._widget&&this._editor.getOption(87)==="editor"&&this._widget.focusOnPreviewEditor()})}})},d=>{this._notificationService.error(d)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const n=this._model.nextOrPreviousReference(i,e),s=this._editor.hasTextFocus(),r=this._widget.isPreviewEditorFocused();await this._widget.setSelection(n),await this._gotoReference(n,!1),s?this._editor.focus():this._widget&&r&&this._widget.focusOnPreviewEditor()}async revealReference(e){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(e)}closeWidget(e=!0){var t,i;(t=this._widget)==null||t.dispose(),(i=this._model)==null||i.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){var n;(n=this._widget)==null||n.hide(),this._ignoreModelChangeEvent=!0;const i=ee.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:i,selectionSource:"code.jump",pinned:t}},this._editor).then(s=>{if(this._ignoreModelChangeEvent=!1,!s||!this._widget){this.closeWidget();return}if(this._editor===s)this._widget.show(i),this._widget.focusOnReferenceTree();else{const r=om.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,$s(d=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,zn(s)})}openReference(e,t,i){t||this.closeWidget();const{uri:n,range:s}=e;this._editorService.openCodeEditor({resource:n,options:{selection:s,selectionSource:"code.jump",pinned:i}},this._editor,t)}},om=Nd,Nd.ID="editor.contrib.referencesController",Nd);Iu=om=uR([uh(2,Dn),uh(3,vs),uh(4,go),uh(5,en),uh(6,Vc),uh(7,Qn)],Iu);function Gu(o,e){const t=QM(o);if(!t)return;const i=Iu.get(t);i&&e(i)}Ga.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:ys(2089,60),when:qe.or(qu,Eo.inPeekEditor),handler(o){Gu(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Ga.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:qe.or(qu,Eo.inPeekEditor),handler(o){Gu(o,e=>{e.goToNextOrPreviousReference(!0)})}});Ga.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:qe.or(qu,Eo.inPeekEditor),handler(o){Gu(o,e=>{e.goToNextOrPreviousReference(!1)})}});Kn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");Kn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");Kn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");Kn.registerCommand("closeReferenceSearch",o=>Gu(o,e=>e.closeWidget()));Ga.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:qe.and(Eo.inPeekEditor,qe.not("config.editor.stablePeek"))});Ga.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:qe.and(qu,qe.not("config.editor.stablePeek"),qe.or(U.editorTextFocus,I3.negate()))});Ga.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:qe.and(qu,m2,v2.negate(),_2.negate()),handler(o){var i;const t=(i=o.get(Ow).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Nc&&Gu(o,n=>n.revealReference(t[0]))}});Ga.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:qe.and(qu,m2,v2.negate(),_2.negate()),handler(o){var i;const t=(i=o.get(Ow).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Nc&&Gu(o,n=>n.openReference(t[0],!0,!0))}});Kn.registerCommand("openReference",o=>{var i;const t=(i=o.get(Ow).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Nc&&Gu(o,n=>n.openReference(t[0],!1,!0))});var W5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Wf=function(o,e){return function(t,i){e(t,i,o)}};const D9=new vn("hasSymbols",!1,S("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),xb=Tl("ISymbolNavigationService");let rE=class{constructor(e,t,i,n){this._editorService=t,this._notificationService=i,this._keybindingService=n,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=D9.bindTo(e)}reset(){var e,t;this._ctxHasSymbols.reset(),(e=this._currentState)==null||e.dispose(),(t=this._currentMessage)==null||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1){this.reset();return}this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const i=new aE(this._editorService),n=i.onDidChange(s=>{if(this._ignoreEditorChange)return;const r=this._editorService.getActiveCodeEditor();if(!r)return;const a=r.getModel(),d=r.getPosition();if(!a||!d)return;let u=!1,f=!1;for(const g of t.references)if(_m(g.uri,a.uri))u=!0,f=f||ee.containsPosition(g.range,d);else if(u)break;(!u||!f)&&this.reset()});this._currentState=b2(i,n)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:ee.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var i;(i=this._currentMessage)==null||i.dispose();const e=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),t=e?S("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):S("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};rE=W5([Wf(0,Dn),Wf(1,vs),Wf(2,go),Wf(3,ws)],rE);Ml(xb,rE,1);Di(new class extends So{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:D9,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(xb).revealNext(e)}});Ga.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:D9,primary:9,handler(o){o.get(xb).reset()}});let aE=class{constructor(e){this._listener=new Map,this._disposables=new It,this._onDidChange=new sn,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),ao(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,b2(e.onDidChangeCursorPosition(t=>this._onDidChange.fire({editor:e})),e.onDidChangeModelContent(t=>this._onDidChange.fire({editor:e}))))}_onDidRemoveEditor(e){var t;(t=this._listener.get(e))==null||t.dispose(),this._listener.delete(e)}};aE=W5([Wf(0,vs)],aE);function lE(o,e){return e.uri.scheme===o.uri.scheme?!0:!P3(e.uri,vo.walkThroughSnippet,vo.vscodeChatCodeBlock,vo.vscodeChatCodeCompareBlock)}async function Wp(o,e,t,i,n){const r=t.ordered(o,i).map(d=>Promise.resolve(n(d,o,e)).then(void 0,u=>{ms(u)})),a=await Promise.all(r);return El(a.flat()).filter(d=>lE(o,d))}function zp(o,e,t,i,n){return Wp(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function A9(o,e,t,i,n){return Wp(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function k9(o,e,t,i,n){return Wp(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function B9(o,e,t,i,n){return Wp(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function Vp(o,e,t,i,n,s){return Wp(e,t,o,n,async(r,a,d)=>{var g,p;const u=(g=await r.provideReferences(a,d,{includeDeclaration:!0},s))==null?void 0:g.filter(C=>lE(a,C));if(!i||!u||u.length!==2)return u;const f=(p=await r.provideReferences(a,d,{includeDeclaration:!1},s))==null?void 0:p.filter(C=>lE(a,C));return f&&f.length===1?f:u})}async function Ka(o){const e=await o(),t=new To(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}Do("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(bi),n=zp(i.definitionProvider,e,t,!1,on.None);return Ka(()=>n)});Do("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(bi),n=zp(i.definitionProvider,e,t,!0,on.None);return Ka(()=>n)});Do("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(bi),n=B9(i.typeDefinitionProvider,e,t,!1,on.None);return Ka(()=>n)});Do("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(bi),n=B9(i.typeDefinitionProvider,e,t,!0,on.None);return Ka(()=>n)});Do("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(bi),n=A9(i.declarationProvider,e,t,!1,on.None);return Ka(()=>n)});Do("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(bi),n=A9(i.declarationProvider,e,t,!0,on.None);return Ka(()=>n)});Do("_executeReferenceProvider",(o,e,t)=>{const i=o.get(bi),n=Vp(i.referenceProvider,e,t,!1,!1,on.None);return Ka(()=>n)});Do("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(bi),n=Vp(i.referenceProvider,e,t,!1,!0,on.None);return Ka(()=>n)});Do("_executeImplementationProvider",(o,e,t)=>{const i=o.get(bi),n=k9(i.implementationProvider,e,t,!1,on.None);return Ka(()=>n)});Do("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(bi),n=k9(i.implementationProvider,e,t,!0,on.None);return Ka(()=>n)});Pr.appendMenuItem(Xt.EditorContext,{submenu:Xt.EditorContextPeek,title:S("peek.submenu","Peek"),group:"navigation",order:100});class R0{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof R0||_i.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const vr=class vr extends aa{static all(){return vr._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of xl.wrap(t.menu))(i.id===Xt.EditorContext||i.id===Xt.EditorContextPeek)&&(i.when=qe.and(e.precondition,i.when));return t}constructor(e,t){super(vr._patchConfig(t)),this.configuration=e,vr._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(go),r=e.get(vs),a=e.get(_p),d=e.get(xb),u=e.get(bi),f=e.get(en),g=t.getModel(),p=t.getPosition(),C=R0.is(i)?i:new R0(g,p),b=new v0(t,5),y=mp(this._getLocationModel(u,C.model,C.position,b.token),b.token).then(async w=>{var M;if(!w||b.token.isCancellationRequested)return;Tr(w.ariaMessage);let A;if(w.referenceAt(g.uri,p)){const R=this._getAlternativeCommand(t);!vr._activeAlternativeCommands.has(R)&&vr._allSymbolNavigationCommands.has(R)&&(A=vr._allSymbolNavigationCommands.get(R))}const P=w.references.length;if(P===0){if(!this.configuration.muteMessage){const R=g.getWordAtPosition(p);(M=Po.get(t))==null||M.showMessage(this._getNoResultFoundMessage(R),p)}}else if(P===1&&A)vr._activeAlternativeCommands.add(this.desc.id),f.invokeFunction(R=>A.runEditorCommand(R,t,i,n).finally(()=>{vr._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(r,d,t,w,n)},w=>{s.error(w)}).finally(()=>{b.dispose()});return a.showWhile(y,250),y}async _onResult(e,t,i,n,s){const r=this._getGoToPreference(i);if(!(i instanceof Rr)&&(this.configuration.openInPeek||r==="peek"&&n.references.length>1))this._openInPeek(i,n,s);else{const a=n.firstReference(),d=n.references.length>1&&r==="gotoAndPeek",u=await this._openReference(i,e,a,this.configuration.openToSide,!d);d&&u?this._openInPeek(u,n,s):n.dispose(),r==="goto"&&t.put(a)}}async _openReference(e,t,i,n,s){let r;if(T3(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:ee.collapseToStart(r),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(a){if(s){const d=a.getModel(),u=a.createDecorationsCollection([{range:r,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===d&&u.clear()},350)}return a}}_openInPeek(e,t,i){const n=Iu.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),$s(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};vr._allSymbolNavigationCommands=new Map,vr._activeAlternativeCommands=new Set;let Bl=vr;class jp extends Bl{async _getLocationModel(e,t,i,n){return new To(await zp(e.definitionProvider,t,i,!1,n),S("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?S("noResultWord","No definition found for '{0}'",e.word):S("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}var Cc;Nn((Cc=class extends jp{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Cc.id,title:{...gi("actions.goToDecl.label","Go to Definition"),mnemonicTitle:S({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:U.hasDefinitionProvider,keybinding:[{when:U.editorTextFocus,primary:70,weight:100},{when:qe.and(U.editorTextFocus,C2),primary:2118,weight:100}],menu:[{id:Xt.EditorContext,group:"navigation",order:1.1},{id:Xt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Kn.registerCommandAlias("editor.action.goToDeclaration",Cc.id)}},Cc.id="editor.action.revealDefinition",Cc));var Ec;Nn((Ec=class extends jp{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:Ec.id,title:gi("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:qe.and(U.hasDefinitionProvider,U.isInEmbeddedEditor.toNegated()),keybinding:[{when:U.editorTextFocus,primary:ys(2089,70),weight:100},{when:qe.and(U.editorTextFocus,C2),primary:ys(2089,2118),weight:100}]}),Kn.registerCommandAlias("editor.action.openDeclarationToTheSide",Ec.id)}},Ec.id="editor.action.revealDefinitionAside",Ec));var yc;Nn((yc=class extends jp{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:yc.id,title:gi("actions.previewDecl.label","Peek Definition"),precondition:qe.and(U.hasDefinitionProvider,Eo.notInPeekEditor,U.isInEmbeddedEditor.toNegated()),keybinding:{when:U.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Xt.EditorContextPeek,group:"peek",order:2}}),Kn.registerCommandAlias("editor.action.previewDeclaration",yc.id)}},yc.id="editor.action.peekDefinition",yc));class z5 extends Bl{async _getLocationModel(e,t,i,n){return new To(await A9(e.declarationProvider,t,i,!1,n),S("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?S("decl.noResultWord","No declaration found for '{0}'",e.word):S("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}var Od;Nn((Od=class extends z5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Od.id,title:{...gi("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:S({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:qe.and(U.hasDeclarationProvider,U.isInEmbeddedEditor.toNegated()),menu:[{id:Xt.EditorContext,group:"navigation",order:1.3},{id:Xt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?S("decl.noResultWord","No declaration found for '{0}'",e.word):S("decl.generic.noResults","No declaration found")}},Od.id="editor.action.revealDeclaration",Od));Nn(class extends z5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:gi("actions.peekDecl.label","Peek Declaration"),precondition:qe.and(U.hasDeclarationProvider,Eo.notInPeekEditor,U.isInEmbeddedEditor.toNegated()),menu:{id:Xt.EditorContextPeek,group:"peek",order:3}})}});class V5 extends Bl{async _getLocationModel(e,t,i,n){return new To(await B9(e.typeDefinitionProvider,t,i,!1,n),S("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?S("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):S("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}var Hd;Nn((Hd=class extends V5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Hd.ID,title:{...gi("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:S({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:U.hasTypeDefinitionProvider,keybinding:{when:U.editorTextFocus,primary:0,weight:100},menu:[{id:Xt.EditorContext,group:"navigation",order:1.4},{id:Xt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Hd.ID="editor.action.goToTypeDefinition",Hd));var Wd;Nn((Wd=class extends V5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Wd.ID,title:gi("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:qe.and(U.hasTypeDefinitionProvider,Eo.notInPeekEditor,U.isInEmbeddedEditor.toNegated()),menu:{id:Xt.EditorContextPeek,group:"peek",order:4}})}},Wd.ID="editor.action.peekTypeDefinition",Wd));class j5 extends Bl{async _getLocationModel(e,t,i,n){return new To(await k9(e.implementationProvider,t,i,!1,n),S("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?S("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):S("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}var zd;Nn((zd=class extends j5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:zd.ID,title:{...gi("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:S({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:U.hasImplementationProvider,keybinding:{when:U.editorTextFocus,primary:2118,weight:100},menu:[{id:Xt.EditorContext,group:"navigation",order:1.45},{id:Xt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},zd.ID="editor.action.goToImplementation",zd));var Vd;Nn((Vd=class extends j5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Vd.ID,title:gi("actions.peekImplementation.label","Peek Implementations"),precondition:qe.and(U.hasImplementationProvider,Eo.notInPeekEditor,U.isInEmbeddedEditor.toNegated()),keybinding:{when:U.editorTextFocus,primary:3142,weight:100},menu:{id:Xt.EditorContextPeek,group:"peek",order:5}})}},Vd.ID="editor.action.peekImplementation",Vd));class $5 extends Bl{_getNoResultFoundMessage(e){return e?S("references.no","No references found for '{0}'",e.word):S("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}Nn(class extends $5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...gi("goToReferences.label","Go to References"),mnemonicTitle:S({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:qe.and(U.hasReferenceProvider,Eo.notInPeekEditor,U.isInEmbeddedEditor.toNegated()),keybinding:{when:U.editorTextFocus,primary:1094,weight:100},menu:[{id:Xt.EditorContext,group:"navigation",order:1.45},{id:Xt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new To(await Vp(e.referenceProvider,t,i,!0,!1,n),S("ref.title","References"))}});Nn(class extends $5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:gi("references.action.label","Peek References"),precondition:qe.and(U.hasReferenceProvider,Eo.notInPeekEditor,U.isInEmbeddedEditor.toNegated()),menu:{id:Xt.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new To(await Vp(e.referenceProvider,t,i,!1,!1,n),S("ref.title","References"))}});class hR extends Bl{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:gi("label.generic","Go to Any Symbol"),precondition:qe.and(Eo.notInPeekEditor,U.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new To(this._references,S("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&S("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}Kn.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:On},{name:"position",description:"The position at which to start",constraint:_i.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(o,e,t,i,n,s,r)=>{An(On.isUri(e)),An(_i.isIPosition(t)),An(Array.isArray(i)),An(typeof n>"u"||typeof n=="string"),An(typeof r>"u"||typeof r=="boolean");const a=o.get(vs),d=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(E2(d))return d.setPosition(t),d.revealPositionInCenterIfOutsideViewport(t,0),d.invokeWithinContext(u=>{const f=new class extends hR{_getNoResultFoundMessage(g){return s||super._getNoResultFoundMessage(g)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);u.get(en).invokeFunction(f.run.bind(f),d)})}});Kn.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:On},{name:"position",description:"The position at which to start",constraint:_i.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(o,e,t,i,n)=>{o.get(Ws).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});Kn.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{An(On.isUri(e)),An(_i.isIPosition(t));const i=o.get(bi),n=o.get(vs);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!E2(s)||!s.hasModel())return;const r=Iu.get(s);if(!r)return;const a=$s(u=>Vp(i.referenceProvider,s.getModel(),_i.lift(t),!1,!1,u).then(f=>new To(f,S("ref.title","References")))),d=new ee(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(d,a,!1))})}});Kn.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function fR(o,e,t,i){const n=o.get(ha),s=o.get(G0),r=o.get(Ws),a=o.get(en),d=o.get(go);if(await i.item.resolve(on.None),!i.part.location)return;const u=i.part.location,f=[],g=new Set(Pr.getMenuItems(Xt.EditorContext).map(C=>M3(C)?C.command.id:lb()));for(const C of Bl.all())g.has(C.desc.id)&&f.push(new y0(C.desc.id,w0.label(C.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const b=await n.createModelReference(u.uri);try{const y=new R0(b.object.textEditorModel,ee.getStartPosition(u.range)),w=i.item.anchor.range;await a.invokeFunction(C.runEditorCommand.bind(C),e,y,w)}finally{b.dispose()}}));if(i.part.command){const{command:C}=i.part;f.push(new wg),f.push(new y0(C.id,C.title,void 0,!0,async()=>{try{await r.executeCommand(C.id,...C.arguments??[])}catch(b){d.notify({severity:Hw.Error,source:i.item.provider.displayName,message:b})}}))}const p=e.getOption(128);s.showContextMenu({domForShadowRoot:p?e.getDomNode()??void 0:void 0,getAnchor:()=>{const C=Co(t);return{x:C.left,y:C.top+C.height+8}},getActions:()=>f,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function U5(o,e,t,i){const s=await o.get(ha).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,d=r.get(Dn),u=Eo.inPeekEditor.getValue(d),f=!a&&t.getOption(89)&&!u;return new jp({openToSide:a,openInPeek:f,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new R0(s.object.textEditorModel,ee.getStartPosition(i.range)),ee.lift(i.range))}),s.dispose()}var gR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},hh=function(o,e){return function(t,i){e(t,i,o)}},Ah;class Km{constructor(){this._entries=new Cp(50)}get(e){const t=Km._key(e);return this._entries.get(t)}set(e,t){const i=Km._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const q5=Tl("IInlayHintsCache");Ml(q5,Km,1);class cE{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return typeof e=="string"?{label:e}:e[this.index]}}class pR{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var pl;let jg=(pl=class{static get(e){return e.getContribution(Ah.ID)??void 0}constructor(e,t,i,n,s,r,a){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=n,this._commandService=s,this._notificationService=r,this._instaService=a,this._disposables=new It,this._sessionDisposables=new It,this._decorationsMetadata=new Map,this._ruleFactory=new l2(this._editor),this._activeRenderMode=0,this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(d=>{d.hasChanged(142)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(142);if(e.enabled==="off")return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if(e.enabled==="on")this._activeRenderMode=0;else{let a,d;e.enabled==="onUnlessPressed"?(a=0,d=1):(a=1,d=0),this._activeRenderMode=a,this._sessionDisposables.add(R3.getInstance().event(u=>{if(!this._editor.hasModel())return;const f=u.altKey&&u.ctrlKey&&!(u.shiftKey||u.metaKey)?d:a;if(f!==this._activeRenderMode){this._activeRenderMode=f;const g=this._editor.getModel(),p=this._copyInlayHintsWithCurrentAnchor(g);this._updateHintsDecorators([g.getFullModelRange()],p),r.schedule(0)}}))}const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(Xn(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new Is(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new Us;const d=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const u=n.token,f=await jm.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),u);if(r.delay=this._debounceInfo.update(t,Date.now()-a),u.isCancellationRequested){f.dispose();return}for(const g of f.provider)typeof g.onDidChangeInlayHints=="function"&&!s.has(g)&&(s.add(g),this._sessionDisposables.add(g.onDidChangeInlayHints(()=>{r.isScheduled()||r.schedule()})));this._sessionDisposables.add(f),this._updateHintsDecorators(f.ranges,f.items),this._cacheHintsForFastRestore(t)}catch(u){zn(u)}finally{n.dispose(),d.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(Xn(()=>n==null?void 0:n.dispose(!0))),r.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(a=>{(a.scrollTopChanged||!r.isScheduled())&&r.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(a=>{n==null||n.cancel();const d=Math.max(r.delay,1250);r.schedule(d)})),this._sessionDisposables.add(this._installDblClickGesture(()=>r.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new It,t=e.add(new fb(this._editor)),i=new It;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(n=>{const[s]=n,r=this._getInlayHintLabelPart(s),a=this._editor.getModel();if(!r||!a){i.clear();return}const d=new Us;i.add(Xn(()=>d.dispose(!0))),r.item.resolve(d.token),this._activeInlayHintPart=r.part.command||r.part.location?new pR(r,s.hasTriggerModifier):void 0;const u=a.validatePosition(r.item.hint.position).lineNumber,f=new ee(u,1,u,a.getLineMaxColumn(u)),g=this._getInlineHintsForRange(f);this._updateHintsDecorators([f],g),i.add(Xn(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([f],g)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(async n=>{const s=this._getInlayHintLabelPart(n);if(s){const r=s.part;r.location?this._instaService.invokeFunction(U5,n,this._editor,r.location):N3.is(r.command)&&await this._invokeCommand(r.command,s.item)}})),e}_getInlineHintsForRange(e){const t=new Set;for(const i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(async t=>{if(t.event.detail!==2)return;const i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),await i.item.resolve(on.None),Go(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>os.replace(ee.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!O3(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(fR,this._editor,e.event.target,t)})}_getInlayHintLabelPart(e){var i;if(e.target.type!==6)return;const t=(i=e.target.detail.injectedText)==null?void 0:i.options;if(t instanceof Ww&&(t==null?void 0:t.attachedData)instanceof cE)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:Hw.Error,source:t.provider.displayName,message:i})}}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[i,n]of this._decorationsMetadata){if(t.has(n.item))continue;const s=e.getDecorationRange(i);if(s){const r=new P5(s,n.item.anchor.direction),a=n.item.with({anchor:r});t.set(n.item,a)}}return Array.from(t.values())}_getHintsRanges(){const t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),n=[];for(const s of i.sort(ee.compareRangesUsingStarts)){const r=t.validateRange(new ee(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!ee.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=ee.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var b,y;const i=[],n=(w,A,P,M,R)=>{const T={content:P,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:A.className,cursorStops:M,attachedData:R};i.push({item:w,classNameRef:A,decoration:{range:w.anchor.range,options:{description:"InlayHint",showIfCollapsed:w.anchor.range.isEmpty(),collapseOnReplaceEdit:!w.anchor.range.isEmpty(),stickiness:0,[w.anchor.direction]:this._activeRenderMode===0?T:void 0}}})},s=(w,A)=>{const P=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(w,P," ",A?Ih.Right:Ih.None)},{fontSize:r,fontFamily:a,padding:d,isUniform:u}=this._getLayoutInfo(),f="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(f,a);let g={line:0,totalLen:0};for(const w of t){if(g.line!==w.anchor.range.startLineNumber&&(g={line:w.anchor.range.startLineNumber,totalLen:0}),g.totalLen>Ah._MAX_LABEL_LEN)continue;w.hint.paddingLeft&&s(w,!1);const A=typeof w.hint.label=="string"?[{label:w.hint.label}]:w.hint.label;for(let P=0;P<A.length;P++){const M=A[P],R=P===0,T=P===A.length-1,V={fontSize:`${r}px`,fontFamily:`var(${f}), ${Tw.fontFamily}`,verticalAlign:u?"baseline":"middle",unicodeBidi:"isolate"};Go(w.hint.textEdits)&&(V.cursor="default"),this._fillInColors(V,w.hint),(M.command||M.location)&&((b=this._activeInlayHintPart)==null?void 0:b.part.item)===w&&this._activeInlayHintPart.part.index===P&&(V.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(V.color=ks(H3),V.cursor="pointer")),d&&(R&&T?(V.padding=`1px ${Math.max(1,r/4)|0}px`,V.borderRadius=`${r/4|0}px`):R?(V.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,V.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):T?(V.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,V.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):V.padding="1px 0 1px 0");let H=M.label;g.totalLen+=H.length;let J=!1;const se=g.totalLen-Ah._MAX_LABEL_LEN;if(se>0&&(H=H.slice(0,-se)+"…",J=!0),n(w,this._ruleFactory.createClassNameRef(V),xR(H),T&&!w.hint.paddingRight?Ih.Right:Ih.None,new cE(w,P)),J)break}if(w.hint.paddingRight&&s(w,!0),i.length>Ah._MAX_DECORATORS)break}const p=[];for(const[w,A]of this._decorationsMetadata){const P=(y=this._editor.getModel())==null?void 0:y.getDecorationRange(w);P&&e.some(M=>M.containsRange(P))&&(p.push(w),A.classNameRef.dispose(),this._decorationsMetadata.delete(w))}const C=C0.capture(this._editor);this._editor.changeDecorations(w=>{const A=w.deltaDecorations(p,i.map(P=>P.decoration));for(let P=0;P<A.length;P++){const M=i[P];this._decorationsMetadata.set(A[P],M)}}),C.restore(this._editor)}_fillInColors(e,t){t.kind===IS.Parameter?(e.backgroundColor=ks(W3),e.color=ks(z3)):t.kind===IS.Type?(e.backgroundColor=ks(V3),e.color=ks(j3)):(e.backgroundColor=ks($3),e.color=ks(U3))}_getLayoutInfo(){const e=this._editor.getOption(142),t=e.padding,i=this._editor.getOption(52),n=this._editor.getOption(49);let s=e.fontSize;(!s||s<5||s>i)&&(s=i);const r=e.fontFamily||n;return{fontSize:s,fontFamily:r,padding:t,isUniform:!t&&r===n&&s===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}},Ah=pl,pl.ID="editor.contrib.InlayHints",pl._MAX_DECORATORS=1500,pl._MAX_LABEL_LEN=43,pl);jg=Ah=gR([hh(1,bi),hh(2,cr),hh(3,q5),hh(4,Ws),hh(5,go),hh(6,en)],jg);function xR(o){return o.replace(/[ \t]/g," ")}Kn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;An(On.isUri(t)),An(ee.isIRange(i));const{inlayHintsProvider:n}=o.get(bi),s=await o.get(ha).createModelReference(t);try{const r=await jm.create(n,s.object.textEditorModel,[ee.lift(i)],on.None),a=r.items.map(d=>d.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var mR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$l=function(o,e){return function(t,i){e(t,i,o)}};class z8 extends im{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let Zm=class extends zg{constructor(e,t,i,n,s,r,a,d,u){super(e,t,i,r,d,n,s,u),this._resolverService=a,this.hoverOrdinal=6}suggestHoverAnchor(e){var n;if(!jg.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof Ww&&i.attachedData instanceof cE?new z8(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof z8?new ia(async n=>{const{part:s}=e;if(await s.item.resolve(i),i.isCancellationRequested)return;let r;typeof s.item.hint.tooltip=="string"?r=new oo().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new Br(this,e.range,[r],!1,0)),Go(s.item.hint.textEdits)&&n.emitOne(new Br(this,e.range,[new oo().appendText(S("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new oo().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new Br(this,e.range,[a],!1,1)),s.part.location||s.part.command){let u;const g=this._editor.getOption(78)==="altKey"?ja?S("links.navigate.kb.meta.mac","cmd + click"):S("links.navigate.kb.meta","ctrl + click"):ja?S("links.navigate.kb.alt.mac","option + click"):S("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?u=new oo().appendText(S("hint.defAndCommand","Go to Definition ({0}), right click for more",g)):s.part.location?u=new oo().appendText(S("hint.def","Go to Definition ({0})",g)):s.part.command&&(u=new oo(`[${S("hint.cmd","Execute Command")}](${UM(s.part.command)} "${s.part.command.title}") (${g})`,{isTrusted:!0})),u&&n.emitOne(new Br(this,e.range,[u],!1,1e4))}const d=await this._resolveInlayHintLabelPartHover(s,i);for await(const u of d)n.emitOne(u)}):ia.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return ia.EMPTY;const{uri:i,range:n}=e.part.location,s=await this._resolverService.createModelReference(i);try{const r=s.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(r)?w9(this._languageFeaturesService.hoverProvider,r,new _i(n.startLineNumber,n.startColumn),t).filter(a=>!Sg(a.hover.contents)).map(a=>new Br(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):ia.EMPTY}finally{s.dispose()}}};Zm=mR([$l(1,ua),$l(2,ca),$l(3,ws),$l(4,Sp),$l(5,Qn),$l(6,ha),$l(7,bi),$l(8,Ws)],Zm);class F9 extends Mt{constructor(e,t,i,n,s,r){super();const a=t.anchor,d=t.hoverParts;this._renderedHoverParts=this._register(new dE(e,i,d,r,s));const{showAtPosition:u,showAtSecondaryPosition:f}=F9.computeHoverPositions(e,a.range,d);this.shouldAppearBeforeContent=d.some(g=>g.isBeforeContent),this.showAtPosition=u,this.showAtSecondaryPosition=f,this.initialMousePosX=a.initialMousePosX,this.initialMousePosY=a.initialMousePosY,this.shouldFocus=n.shouldFocus,this.source=n.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}async updateHoverVerbosityLevel(e,t,i){this._renderedHoverParts.updateHoverVerbosityLevel(e,t,i)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(e,t,i){let n=1;if(e.hasModel()){const f=e._getViewModel(),g=f.coordinatesConverter,p=g.convertModelRangeToViewRange(t),C=f.getLineMinColumn(p.startLineNumber),b=new _i(p.startLineNumber,C);n=g.convertViewPositionToModelPosition(b).column}const s=t.startLineNumber;let r=t.startColumn,a;for(const f of i){const g=f.range,p=g.startLineNumber===s,C=g.endLineNumber===s;if(p&&C){const y=g.startColumn,w=Math.min(r,y);r=Math.max(w,n)}f.forceShowAtRange&&(a=g)}let d,u;if(a){const f=a.getStartPosition();d=f,u=f}else d=t.getStartPosition(),u=new _i(s,r);return{showAtPosition:d,showAtSecondaryPosition:u}}}class vR{constructor(e,t){this._statusBar=t,e.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}}const Qv=class Qv extends Mt{constructor(e,t,i,n,s){super(),this._renderedParts=[],this._focusedHoverPartIndex=-1,this._context=s,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(t,i,s,n)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(e,i)),this._updateMarkdownAndColorParticipantInfo(t)}_createEditorDecorations(e,t){if(t.length===0)return Mt.None;let i=t[0].range;for(const s of t){const r=s.range;i=ee.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:Qv._DECORATION_OPTIONS}]),Xn(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new Vm(n),r={fragment:this._fragment,statusBar:s,...i},a=new It;for(const u of e){const f=this._renderHoverPartsForParticipant(t,u,r);a.add(f);for(const g of f.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:u,hoverPart:g.hoverPart,hoverElement:g.hoverElement})}const d=this._renderStatusBar(this._fragment,s);return d&&(a.add(d),this._renderedParts.push({type:"statusBar",hoverElement:d.hoverElement,actions:d.actions})),Xn(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new Lu([])}_renderStatusBar(e,t){if(t.hasContent)return new vR(e,t)}_registerListenersOnRenderedParts(){const e=new It;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(Sn(n,is.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(Sn(n,is.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof zg&&!(i instanceof Zm));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof Hg)}async updateHoverVerbosityLevel(e,t,i){if(!this._markdownHoverParticipant)return;const n=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,t);if(n===void 0)return;const s=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(e,n,i);s&&(this._renderedParts[t]={type:"hoverPart",participant:this._markdownHoverParticipant,hoverPart:s.hoverPart,hoverElement:s.hoverElement},this._context.onContentsChanged())}isColorPickerVisible(){var e;return((e=this._colorHoverParticipant)==null?void 0:e.isColorPickerVisible())??!1}_normalizedIndexToMarkdownHoverIndexRange(e,t){const i=this._renderedParts[t];if(!i||i.type!=="hoverPart"||!(i.participant===e))return;const s=this._renderedParts.findIndex(r=>r.type==="hoverPart"&&r.participant===e);if(s===-1)throw new S0;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};Qv._DECORATION_OPTIONS=fn.register({description:"content-hover-highlight",className:"hoverHighlight"});let dE=Qv;var _R=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},V8=function(o,e){return function(t,i){e(t,i,o)}};let uE=class extends Mt{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new sn),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(Y1,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new zm(this._editor,this._participants),this._hoverOperation=this._register(new k5(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of Uu.getAll()){const i=this._instantiationService.createInstance(t,this._editor);e.push(i)}return e.sort((t,i)=>t.hoverOrdinal-i.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach(t=>{var i;return(i=t.handleResize)==null?void 0:i.call(t)})})),e}_registerListeners(){this._register(this._hoverOperation.onResult(t=>{if(!this._computer.anchor)return;const i=t.hasLoadingMessage?this._addLoadingMessage(t.value):t.value;this._withResult(new B5(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(wl(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(wl(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(U_.onDidChange(()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)}))}_startShowingOrUpdateHover(e,t,i,n,s){if(!(this._contentHoverWidget.position&&this._currentResult))return e?(this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):!1;const a=this._editor.getOption(60).sticky,d=s&&this._contentHoverWidget.isMouseGettingCloser(s.event.posx,s.event.posy);return a&&d?(e&&this._startHoverOperationIfNecessary(e,t,i,n,!0),!0):e?this._currentResult.anchor.equals(e)?!0:e.canAdoptVisibleHover(this._currentResult.anchor,this._contentHoverWidget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,i,n,s){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=n,this._computer.source=i,this._computer.insistOnKeepingHoverVisible=s,this._hoverOperation.start(t))}_setCurrentResult(e){let t=e;if(this._currentResult===t)return;t&&t.hoverParts.length===0&&(t=null),this._currentResult=t,this._currentResult?this._showHover(this._currentResult):this._hideHover()}_addLoadingMessage(e){if(!this._computer.anchor)return e;for(const t of this._participants){if(!t.createLoadingMessage)continue;const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}return e}_withResult(e){if(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(e),!e.isComplete)return;const n=e.hoverParts.length===0,s=this._computer.insistOnKeepingHoverVisible;n&&s||this._setCurrentResult(e)}_showHover(e){const t=this._getHoverContext();this._renderedContentHover=new F9(this._editor,e,this._participants,this._computer,t,this._keybindingService),this._renderedContentHover.domNodeHasChildren?this._contentHoverWidget.show(this._renderedContentHover):this._renderedContentHover.dispose()}_hideHover(){this._contentHoverWidget.hide()}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._onContentsChanged.fire(),this._contentHoverWidget.onContentsChanged()},setMinimumDimensions:n=>{this._contentHoverWidget.setMinimumDimensions(n)}}}showsOrWillShow(e){if(this._contentHoverWidget.isResizing)return!0;const i=this._findHoverAnchorCandidates(e);if(!(i.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,e);const s=i[0];return this._startShowingOrUpdateHover(s,0,0,!1,e)}_findHoverAnchorCandidates(e){const t=[];for(const n of this._participants){if(!n.suggestHoverAnchor)continue;const s=n.suggestHoverAnchor(e);s&&t.push(s)}const i=e.target;switch(i.type){case 6:{t.push(new xC(0,i.range,e.event.posx,e.event.posy));break}case 7:{const n=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;if(!(!i.detail.isAfterLines&&typeof i.detail.horizontalDistanceToText=="number"&&i.detail.horizontalDistanceToText<n))break;t.push(new xC(0,i.range,e.event.posx,e.event.posy));break}}return t.sort((n,s)=>s.priority-n.priority),t}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!hb(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new xC(0,e,void 0,void 0),t,i,n,null)}async updateHoverVerbosityLevel(e,t,i){var n;(n=this._renderedContentHover)==null||n.updateHoverVerbosityLevel(e,t,i)}focusedHoverPartIndex(){var e;return((e=this._renderedContentHover)==null?void 0:e.focusedHoverPartIndex)??-1}containsNode(e){return e?this._contentHoverWidget.getDomNode().contains(e):!1}focus(){this._contentHoverWidget.focus()}scrollUp(){this._contentHoverWidget.scrollUp()}scrollDown(){this._contentHoverWidget.scrollDown()}scrollLeft(){this._contentHoverWidget.scrollLeft()}scrollRight(){this._contentHoverWidget.scrollRight()}pageUp(){this._contentHoverWidget.pageUp()}pageDown(){this._contentHoverWidget.pageDown()}goToTop(){this._contentHoverWidget.goToTop()}goToBottom(){this._contentHoverWidget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}getDomNode(){return this._contentHoverWidget.getDomNode()}get isColorPickerVisible(){var e;return((e=this._renderedContentHover)==null?void 0:e.isColorPickerVisible())??!1}get isVisibleFromKeyboard(){return this._contentHoverWidget.isVisibleFromKeyboard}get isVisible(){return this._contentHoverWidget.isVisible}get isFocused(){return this._contentHoverWidget.isFocused}get isResizing(){return this._contentHoverWidget.isResizing}get widget(){return this._contentHoverWidget}};uE=_R([V8(1,en),V8(2,ws)],uE);var bR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},j8=function(o,e){return function(t,i){e(t,i,o)}},hE,jd;let so=(jd=class extends Mt{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new sn),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new It,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new Is(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(hE.ID)}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0,!this._shouldNotHideCurrentHoverWidget(e)&&this._hideWidgets()}_shouldNotHideCurrentHoverWidget(e){return this._isMouseOnContentHoverWidget(e)||this._isContentWidgetResizing()}_isMouseOnContentHoverWidget(e){var i;const t=(i=this._contentWidget)==null?void 0:i.getDomNode();return t?hb(t,e.event.posx,e.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._shouldNotHideCurrentHoverWidget(e))||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky,i=(r,a)=>{const d=this._isMouseOnContentHoverWidget(r);return a&&d},n=r=>{var u;const a=this._isMouseOnContentHoverWidget(r),d=((u=this._contentWidget)==null?void 0:u.isColorPickerVisible)??!1;return a&&d},s=(r,a)=>{var d,u,f,g;return(a&&((u=this._contentWidget)==null?void 0:u.containsNode((d=r.event.browserEvent.view)==null?void 0:d.document.activeElement))&&!((g=(f=r.event.browserEvent.view)==null?void 0:f.getSelection())!=null&&g.isCollapsed))??!1};return i(e,t)||n(e)||s(e,t)}_onEditorMouseMove(e){var a,d,u,f;if(this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._mouseMoveEvent=e,(a=this._contentWidget)!=null&&a.isFocused||(d=this._contentWidget)!=null&&d.isResizing))return;const t=this._hoverSettings.sticky;if(t&&((u=this._contentWidget)!=null&&u.isVisibleFromKeyboard))return;if(this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}const n=this._hoverSettings.hidingDelay;if(((f=this._contentWidget)==null?void 0:f.isVisible)&&t&&n>0){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(n);return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){var d;if(!e)return;const i=(d=e.target.element)==null?void 0:d.classList.contains("colorpicker-color-decoration"),n=this._editor.getOption(149),s=this._hoverSettings.enabled,r=this._hoverState.activatedByDecoratorClick;if(i&&(n==="click"&&!r||n==="hover"&&!s||n==="clickAndHover"&&!s&&!r)||!i&&!s&&!r){this._hideWidgets();return}this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateContentWidget().showsOrWillShow(e)}_onKeyDown(e){var n;if(!this._editor.hasModel())return;const t=this._keybindingService.softDispatch(e,this._editor.getDomNode()),i=t.kind===1||t.kind===2&&(t.commandId===w5||t.commandId===db||t.commandId===ub)&&((n=this._contentWidget)==null?void 0:n.isVisible);e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4||i||this._hideWidgets()}_hideWidgets(){var e,t;this._hoverState.mouseDown&&((e=this._contentWidget)!=null&&e.isColorPickerVisible)||M0.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(uE,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}showContentHover(e,t,i,n,s=!1){this._hoverState.activatedByDecoratorClick=s,this._getOrCreateContentWidget().startShowingAtRange(e,t,i,n)}_isContentWidgetResizing(){var e;return((e=this._contentWidget)==null?void 0:e.widget.isResizing)||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(e,t,i){this._getOrCreateContentWidget().updateHoverVerbosityLevel(e,t,i)}focus(){var e;(e=this._contentWidget)==null||e.focus()}scrollUp(){var e;(e=this._contentWidget)==null||e.scrollUp()}scrollDown(){var e;(e=this._contentWidget)==null||e.scrollDown()}scrollLeft(){var e;(e=this._contentWidget)==null||e.scrollLeft()}scrollRight(){var e;(e=this._contentWidget)==null||e.scrollRight()}pageUp(){var e;(e=this._contentWidget)==null||e.pageUp()}pageDown(){var e;(e=this._contentWidget)==null||e.pageDown()}goToTop(){var e;(e=this._contentWidget)==null||e.goToTop()}goToBottom(){var e;(e=this._contentWidget)==null||e.goToBottom()}get isColorPickerVisible(){var e;return(e=this._contentWidget)==null?void 0:e.isColorPickerVisible}get isHoverVisible(){var e;return(e=this._contentWidget)==null?void 0:e.isVisible}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._contentWidget)==null||e.dispose()}},hE=jd,jd.ID="editor.contrib.contentHover",jd);so=hE=bR([j8(1,en),j8(2,ws)],so);const _S=class _S extends Mt{constructor(e){super(),this._editor=e,this._register(e.onMouseDown(t=>this.onMouseDown(t)))}dispose(){super.dispose()}onMouseDown(e){const t=this._editor.getOption(149);if(t!=="click"&&t!=="clickAndHover")return;const i=e.target;if(i.type!==6||!i.detail.injectedText||i.detail.injectedText.options.attachedData!==m5||!i.range)return;const n=this._editor.getContribution(so.ID);if(n&&!n.isColorPickerVisible){const s=new ee(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};_S.ID="editor.contrib.colorContribution";let Xm=_S;an(Xm.ID,Xm,2);Uu.register(Hg);var G5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Nh=function(o,e){return function(t,i){e(t,i,o)}},fE,gE,$d;let Pu=($d=class extends Mt{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=U.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=U.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){var e;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||(e=this._standaloneColorPickerWidget)==null||e.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(pE,this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused))}hide(){var e;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),(e=this._standaloneColorPickerWidget)==null||e.hide(),this._editor.focus()}insertColor(){var e;(e=this._standaloneColorPickerWidget)==null||e.updateEditor(),this.hide()}static get(e){return e.getContribution(fE.ID)}},fE=$d,$d.ID="editor.contrib.standaloneColorPickerController",$d);Pu=fE=G5([Nh(1,Dn),Nh(2,en)],Pu);an(Pu.ID,Pu,1);const $8=8,CR=22;var Ud;let pE=(Ud=class extends Mt{constructor(e,t,i,n,s,r,a){var g;super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._keybindingService=s,this._languageFeaturesService=r,this._editorWorkerService=a,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new sn),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(Wg,this._editor),this._position=(g=this._editor._getViewModel())==null?void 0:g.getPrimaryCursorState().modelState.position;const d=this._editor.getSelection(),u=d?{startLineNumber:d.startLineNumber,startColumn:d.startColumn,endLineNumber:d.endLineNumber,endColumn:d.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},f=this._register(_0(this._body));this._register(f.onDidBlur(p=>{this.hide()})),this._register(f.onDidFocus(p=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(p=>{var b;const C=(b=p.target.element)==null?void 0:b.classList;C&&C.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(p=>{this._render(p.value,p.foundInEditor)})),this._start(u),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return gE.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const e=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:e?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(e){const t=await this._computeAsync(e);t&&this._onResult.fire(new ER(t.result,t.foundInEditor))}async _computeAsync(e){if(!this._editor.hasModel())return null;const t={range:e,color:{red:0,green:0,blue:0,alpha:1}},i=await this._standaloneColorPickerParticipant.createColorHover(t,new Og(this._editorWorkerService),this._languageFeaturesService.colorProvider);return i?{result:i.colorHover,foundInEditor:i.foundInEditor}:null}_render(e,t){const i=document.createDocumentFragment(),n=this._register(new Vm(this._keybindingService)),s={fragment:i,statusBar:n,onContentsChanged:()=>{},hide:()=>this.hide()};this._colorHover=e;const r=this._standaloneColorPickerParticipant.renderHoverParts(s,[e]);if(!r)return;this._register(r.disposables);const a=r.colorPicker;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(i),a.layout();const d=a.body,u=d.saturationBox.domNode.clientWidth,f=d.domNode.clientWidth-u-CR-$8,g=a.body.enterButton;g==null||g.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,C=p.pickedColorNode;C.style.width=u+$8+"px";const b=p.originalColorNode;b.style.width=f+"px";const y=a.header.closeButton;y==null||y.onClicked(()=>{this.hide()}),t&&(g&&(g.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},gE=Ud,Ud.ID="editor.contrib.standaloneColorPickerWidget",Ud);pE=gE=G5([Nh(3,en),Nh(4,ws),Nh(5,bi),Nh(6,Rl)],pE);class ER{constructor(e,t){this.value=e,this.foundInEditor=t}}class yR extends aa{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...gi("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:S({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:Xt.CommandPalette}],metadata:{description:gi("showOrFocusStandaloneColorPickerDescription","Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.")}})}runEditorCommand(e,t){var i;(i=Pu.get(t))==null||i.showOrFocus()}}class wR extends bt{constructor(){super({id:"editor.action.hideColorPicker",label:S({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:U.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:gi("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=Pu.get(t))==null||i.hide()}}class SR extends bt{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:S({key:"insertColorWithStandaloneColorPicker",comment:["Action that inserts color with standalone color picker"]},"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:U.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:gi("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=Pu.get(t))==null||i.insertColor()}}Te(wR);Te(SR);Nn(yR);class lc{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const n=t.length,s=e.length;if(i+n>s)return!1;for(let r=0;r<n;r++){const a=e.charCodeAt(i+r),d=t.charCodeAt(r);if(a!==d&&!(a>=65&&a<=90&&a+32===d)&&!(d>=65&&d<=90&&d+32===a))return!1}return!0}_createOperationsForBlockComment(e,t,i,n,s,r){const a=e.startLineNumber,d=e.startColumn,u=e.endLineNumber,f=e.endColumn,g=s.getLineContent(a),p=s.getLineContent(u);let C=g.lastIndexOf(t,d-1+t.length),b=p.indexOf(i,f-1-i.length);if(C!==-1&&b!==-1)if(a===u)g.substring(C+t.length,b).indexOf(i)>=0&&(C=-1,b=-1);else{const w=g.substring(C+t.length),A=p.substring(0,b);(w.indexOf(i)>=0||A.indexOf(i)>=0)&&(C=-1,b=-1)}let y;C!==-1&&b!==-1?(n&&C+t.length<g.length&&g.charCodeAt(C+t.length)===32&&(t=t+" "),n&&b>0&&p.charCodeAt(b-1)===32&&(i=" "+i,b-=1),y=lc._createRemoveBlockCommentOperations(new ee(a,C+t.length+1,u,b+1),t,i)):(y=lc._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=y.length===1?i:null);for(const w of y)r.addTrackedEditOperation(w.range,w.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return ee.isEmpty(e)?n.push(os.delete(new ee(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(os.delete(new ee(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(os.delete(new ee(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return ee.isEmpty(e)?s.push(os.replace(new ee(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(os.insert(new _i(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(os.insert(new _i(e.endLineNumber,e.endColumn),(n?" ":"")+i))),s}getEditOperations(e,t){const i=this._selection.startLineNumber,n=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const s=e.getLanguageIdAtPosition(i,n),r=this.languageConfigurationService.getLanguageConfiguration(s).comments;!r||!r.blockCommentStartToken||!r.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,r.blockCommentStartToken,r.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(i.length===2){const n=i[0],s=i[1];return new Hi(n.range.endLineNumber,n.range.endColumn,s.range.startLineNumber,s.range.startColumn)}else{const n=i[0].range,s=this._usedEndToken?-this._usedEndToken.length-1:0;return new Hi(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class nl{constructor(e,t,i,n,s,r,a){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=n,this._insertSpace=s,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=r,this._ignoreFirstLine=a||!1}static _gatherPreflightCommentStrings(e,t,i,n){e.tokenization.tokenizeIfCheap(t);const s=e.getLanguageIdAtPosition(t,1),r=n.getLanguageConfiguration(s).comments,a=r?r.lineCommentToken:null;if(!a)return null;const d=[];for(let u=0,f=i-t+1;u<f;u++)d[u]={ignore:!1,commentStr:a,commentStrOffset:0,commentStrLength:a.length};return d}static _analyzeLines(e,t,i,n,s,r,a,d){let u=!0,f;e===0?f=!0:e===1?f=!1:f=!0;for(let g=0,p=n.length;g<p;g++){const C=n[g],b=s+g;if(b===s&&a){C.ignore=!0;continue}const y=i.getLineContent(b),w=e1(y);if(w===-1){C.ignore=r,C.commentStrOffset=y.length;continue}if(u=!1,C.ignore=!1,C.commentStrOffset=w,f&&!lc._haystackHasNeedleAtOffset(y,C.commentStr,w)&&(e===0?f=!1:e===1||(C.ignore=!0)),f&&t){const A=w+C.commentStrLength;A<y.length&&y.charCodeAt(A)===32&&(C.commentStrLength+=1)}}if(e===0&&u){f=!1;for(let g=0,p=n.length;g<p;g++)n[g].ignore=!1}return{supported:!0,shouldRemoveComments:f,lines:n}}static _gatherPreflightData(e,t,i,n,s,r,a,d){const u=nl._gatherPreflightCommentStrings(i,n,s,d);return u===null?{supported:!1}:nl._analyzeLines(e,t,i,u,n,r,a,d)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=nl._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(nl._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new _i(n.positionLineNumber,n.positionColumn);for(let a=0,d=s.length;a<d;a++)t.addEditOperation(s[a].range,s[a].text),ee.isEmpty(s[a].range)&&ee.getStartPosition(s[a].range).equals(r)&&e.getLineContent(r.lineNumber).length+1===r.column&&(this._deltaColumn=(s[a].text||"").length);this._selectionId=t.trackSelection(n)}_attemptRemoveBlockComment(e,t,i,n){let s=t.startLineNumber,r=t.endLineNumber;const a=n.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn);let d=e.getLineContent(s).lastIndexOf(i,a-1),u=e.getLineContent(r).indexOf(n,t.endColumn-1-i.length);return d!==-1&&u===-1&&(u=e.getLineContent(s).indexOf(n,d+i.length),r=s),d===-1&&u!==-1&&(d=e.getLineContent(r).lastIndexOf(i,u),s=r),t.isEmpty()&&(d===-1||u===-1)&&(d=e.getLineContent(s).indexOf(i),d!==-1&&(u=e.getLineContent(s).indexOf(n,d+i.length))),d!==-1&&e.getLineContent(s).charCodeAt(d+i.length)===32&&(i+=" "),u!==-1&&e.getLineContent(r).charCodeAt(u-1)===32&&(n=" "+n,u-=1),d!==-1&&u!==-1?lc._createRemoveBlockCommentOperations(new ee(s,d+i.length+1,r,u+1),i,n):null}_executeBlockComment(e,t,i){e.tokenization.tokenizeIfCheap(i.startLineNumber);const n=e.getLanguageIdAtPosition(i.startLineNumber,1),s=this.languageConfigurationService.getLanguageConfiguration(n).comments;if(!s||!s.blockCommentStartToken||!s.blockCommentEndToken)return;const r=s.blockCommentStartToken,a=s.blockCommentEndToken;let d=this._attemptRemoveBlockComment(e,i,r,a);if(!d){if(i.isEmpty()){const u=e.getLineContent(i.startLineNumber);let f=e1(u);f===-1&&(f=u.length),d=lc._createAddBlockCommentOperations(new ee(i.startLineNumber,f+1,i.startLineNumber,u.length+1),r,a,this._insertSpace)}else d=lc._createAddBlockCommentOperations(new ee(i.startLineNumber,e.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),r,a,this._insertSpace);d.length===1&&(this._deltaColumn=r.length+1)}this._selectionId=t.trackSelection(i);for(const u of d)t.addEditOperation(u.range,u.text)}getEditOperations(e,t){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){t.addEditOperation(new ee(i.startLineNumber,e.getLineMaxColumn(i.startLineNumber),i.startLineNumber+1,1),i.startLineNumber===e.getLineCount()?"":`
19
- `),this._selectionId=t.trackSelection(i);return}i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._moveEndPositionDown=!0,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));const n=nl._gatherPreflightData(this._type,this._insertSpace,e,i.startLineNumber,i.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return n.supported?this._executeLineComments(e,t,n,i):this._executeBlockComment(e,t,i)}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),new Hi(i.selectionStartLineNumber,i.selectionStartColumn+this._deltaColumn,i.positionLineNumber,i.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(e,t){const i=[];for(let n=0,s=e.length;n<s;n++){const r=e[n];r.ignore||i.push(os.delete(new ee(t+n,r.commentStrOffset+1,t+n,r.commentStrOffset+r.commentStrLength+1)))}return i}_createAddLineCommentsOperations(e,t){const i=[],n=this._insertSpace?" ":"";for(let s=0,r=e.length;s<r;s++){const a=e[s];a.ignore||i.push(os.insert(new _i(t+s,a.commentStrOffset+1),a.commentStr+n))}return i}static nextVisibleColumn(e,t,i,n){return i?e+(t-e%t):e+n}static _normalizeInsertionPoint(e,t,i,n){let s=1073741824,r,a;for(let d=0,u=t.length;d<u;d++){if(t[d].ignore)continue;const f=e.getLineContent(i+d);let g=0;for(let p=0,C=t[d].commentStrOffset;g<s&&p<C;p++)g=nl.nextVisibleColumn(g,n,f.charCodeAt(p)===9,1);g<s&&(s=g)}s=Math.floor(s/n)*n;for(let d=0,u=t.length;d<u;d++){if(t[d].ignore)continue;const f=e.getLineContent(i+d);let g=0;for(r=0,a=t[d].commentStrOffset;g<s&&r<a;r++)g=nl.nextVisibleColumn(g,n,f.charCodeAt(r)===9,1);g>s?t[d].commentStrOffset=r-1:t[d].commentStrOffset=r}}}class L9 extends bt{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(zs);if(!t.hasModel())return;const n=t.getModel(),s=[],r=n.getOptions(),a=t.getOption(23),d=t.getSelections().map((f,g)=>({selection:f,index:g,ignoreFirstLine:!1}));d.sort((f,g)=>ee.compareRangesUsingStarts(f.selection,g.selection));let u=d[0];for(let f=1;f<d.length;f++){const g=d[f];u.selection.endLineNumber===g.selection.startLineNumber&&(u.index<g.index?g.ignoreFirstLine=!0:(u.ignoreFirstLine=!0,u=g))}for(const f of d)s.push(new nl(i,f.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,f.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class DR extends L9{constructor(){super(0,{id:"editor.action.commentLine",label:S("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:Xt.MenubarEditMenu,group:"5_insert",title:S({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class AR extends L9{constructor(){super(1,{id:"editor.action.addCommentLine",label:S("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2081),weight:100}})}}class kR extends L9{constructor(){super(2,{id:"editor.action.removeCommentLine",label:S("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2099),weight:100}})}}class BR extends bt{constructor(){super({id:"editor.action.blockComment",label:S("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:Xt.MenubarEditMenu,group:"5_insert",title:S({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(zs);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new lc(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}Te(DR);Te(AR);Te(kR);Te(BR);var FR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},td=function(o,e){return function(t,i){e(t,i,o)}},xE,qd;let N0=(qd=class{static get(e){return e.getContribution(xE.ID)}constructor(e,t,i,n,s,r,a,d){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=n,this._keybindingService=s,this._menuService=r,this._configurationService=a,this._workspaceContextService=d,this._toDispose=new It,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(u=>this._onContextMenu(u))),this._toDispose.add(this._editor.onMouseWheel(u=>{if(this._contextMenuIsBeingShownCount>0){const f=this._contextViewService.getContextViewElement(),g=u.srcElement;g.shadowRoot&&q3(f)===g.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(u=>{this._editor.getOption(24)&&u.keyCode===58&&(u.preventDefault(),u.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);return}if(e.target.type===12||e.target.type===6&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),e.target.type===11)return this._showScrollbarContextMenu(e.event);if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let i=!1;for(const n of this._editor.getSelections())if(n.containsPosition(e.target.position)){i=!0;break}i||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24)||!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],n=this._menuService.getMenuActions(t,this._contextKeyService,{arg:e.uri});for(const s of n){const[,r]=s;let a=0;for(const d of r)if(d instanceof G3){const u=this._getMenuActions(e,d.item.submenu);u.length>0&&(i.push(new PS(d.id,d.label,u)),a++)}else i.push(d),a++;a&&i.push(new wg)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const i=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let n=t;if(!n){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const r=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),a=Co(this._editor.getDomNode()),d=a.left+r.left,u=a.top+r.top+r.height;n={x:d,y:u}}const s=this._editor.getOption(128)&&!t1;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:s?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,getAnchor:()=>n,getActions:()=>e,getActionViewItem:r=>{const a=this._keybindingFor(r);if(a)return new QC(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const d=r;return typeof d.getActionViewItem=="function"?d.getActionViewItem():new QC(r,r,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:r=>this._keybindingFor(r),onHide:r=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:i})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel()||K3(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const n=u=>({id:`menu-action-${++i}`,label:u.label,tooltip:"",class:void 0,enabled:typeof u.enabled>"u"?!0:u.enabled,checked:u.checked,run:u.run}),s=(u,f)=>new PS(`menu-action-${++i}`,u,f,void 0),r=(u,f,g,p,C)=>{if(!f)return n({label:u,enabled:f,run:()=>{}});const b=w=>()=>{this._configurationService.updateValue(g,w)},y=[];for(const w of C)y.push(n({label:w.label,checked:p===w.value,run:b(w.value)}));return s(u,y)},a=[];a.push(n({label:S("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new wg),a.push(n({label:S("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(r(S("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:S("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:S("context.minimap.size.fill","Fill"),value:"fill"},{label:S("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(r(S("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:S("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:S("context.minimap.slider.always","Always"),value:"always"}]));const d=this._editor.getOption(128)&&!t1;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:d?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>a,onHide:u=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}},xE=qd,qd.ID="editor.contrib.contextmenu",qd);N0=xE=FR([td(1,G0),td(2,O_),td(3,Dn),td(4,ws),td(5,Hu),td(6,Qn),td(7,m0)],N0);class LR extends bt{constructor(){super({id:"editor.action.showContextMenu",label:S("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:U.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=N0.get(t))==null||i.showContextMenu()}}an(N0.ID,N0,2);Te(LR);class vC{constructor(e){this.selections=e}equals(e){const t=this.selections.length,i=e.selections.length;if(t!==i)return!1;for(let n=0;n<t;n++)if(!this.selections[n].equalsSelection(e.selections[n]))return!1;return!0}}class _C{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const Jv=class Jv extends Mt{static get(e){return e.getContribution(Jv.ID)}constructor(e){super(),this._editor=e,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(e.onDidChangeModel(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;const i=new vC(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new _C(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new _C(new vC(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new _C(new vC(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}};Jv.ID="editor.contrib.cursorUndoRedoController";let O0=Jv;class IR extends bt{constructor(){super({id:"cursorUndo",label:S("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:U.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=O0.get(t))==null||n.cursorUndo()}}class PR extends bt{constructor(){super({id:"cursorRedo",label:S("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=O0.get(t))==null||n.cursorRedo()}}an(O0.ID,O0,0);Te(IR);Te(PR);class TR{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){const i=e.getValueInRange(this.selection);if(this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new ee(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new Hi(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new Hi(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber<this.selection.endLineNumber){this.targetSelection=new Hi(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new Hi(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column-this.selection.endColumn+this.selection.startColumn:this.targetPosition.column-this.selection.endColumn+this.selection.startColumn,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new Hi(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn)}computeCursorState(e,t){return this.targetSelection}}function fh(o){return ja?o.altKey:o.ctrlKey}const Ql=class Ql extends Mt{constructor(e){super(),this._editor=e,this._dndDecorationIds=this._editor.createDecorationsCollection(),this._register(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._register(this._editor.onMouseUp(t=>this._onEditorMouseUp(t))),this._register(this._editor.onMouseDrag(t=>this._onEditorMouseDrag(t))),this._register(this._editor.onMouseDrop(t=>this._onEditorMouseDrop(t))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(t=>this.onEditorKeyDown(t))),this._register(this._editor.onKeyUp(t=>this.onEditorKeyUp(t))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){!this._editor.getOption(35)||this._editor.getOption(22)||(fh(e)&&(this._modifierPressed=!0),this._mouseDown&&fh(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(fh(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Ql.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){const t=e.target;if(this._dragSelection===null){const n=(this._editor.getSelections()||[]).filter(s=>t.position&&s.containsPosition(t.position));if(n.length===1)this._dragSelection=n[0];else return}fh(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new _i(e.target.position.lineNumber,e.target.position.column);if(this._dragSelection===null){let i=null;if(e.event.shiftKey){const n=this._editor.getSelection();if(n){const{selectionStartLineNumber:s,selectionStartColumn:r}=n;i=[new Hi(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new Hi(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(fh(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Ql.ID,new TR(this._dragSelection,t,fh(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(e){this._dndDecorationIds.set([{range:new ee(e.lineNumber,e.column,e.lineNumber,e.column),options:Ql._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return e.type===6||e.type===7}_hitMargin(e){return e.type===2||e.type===3||e.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}};Ql.ID="editor.contrib.dragAndDrop",Ql.TRIGGER_KEY_VALUE=ja?6:5,Ql._DECORATION_OPTIONS=fn.register({description:"dnd-target",className:"dnd-target"});let Ym=Ql;an(Ym.ID,Ym,2);an(kl.ID,kl,0);X0(L1);Di(new class extends So{constructor(){super({id:X6,precondition:m9,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=kl.get(e))==null?void 0:t.changePasteType()}});Di(new class extends So{constructor(){super({id:"editor.hidePasteWidget",precondition:m9,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=kl.get(e))==null||t.clearWidgets()}});var Gd;Te((Gd=class extends bt{constructor(){super({id:"editor.action.pasteAs",label:S("pasteAs","Paste As..."),alias:"Paste As...",precondition:U.writable,metadata:{description:"Paste as",args:[{name:"args",schema:Gd.argsSchema}]}})}run(e,t,i){var s;let n=typeof(i==null?void 0:i.kind)=="string"?i.kind:void 0;return!n&&i&&(n=typeof i.id=="string"?i.id:void 0),(s=kl.get(t))==null?void 0:s.pasteAs(n?new Yn(n):void 0)}},Gd.argsSchema={type:"object",properties:{kind:{type:"string",description:S("pasteAs.kind","The kind of the paste edit to try applying. If not provided or there are multiple edits for this kind, the editor will show a picker.")}}},Gd));Te(class extends bt{constructor(){super({id:"editor.action.pasteAsText",label:S("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:U.writable})}run(o,e){var t;return(t=kl.get(e))==null?void 0:t.pasteAs({providerId:Du.id})}});class MR{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class U8{constructor(e){this.identifier=e}}const K5=Tl("treeViewsDndService");Ml(K5,MR,1);var RR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},vx=function(o,e){return function(t,i){e(t,i,o)}},mE;const Z5="editor.experimental.dropIntoEditor.defaultProvider",X5="editor.changeDropType",I9=new vn("dropWidgetVisible",!1,S("dropWidgetVisible","Whether the drop widget is showing"));var Kd;let H0=(Kd=class extends Mt{static get(e){return e.getContribution(mE.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=B1.getInstance(),this._dropProgressManager=this._register(t.createInstance(Om,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(Wm,"dropIntoEditor",e,I9,{id:X5,label:S("postDropWidgetTitle","Show drop options...")})),this._register(e.onDropIntoEditor(r=>this.onDropIntoEditor(e,r.position,r.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,i){var s;if(!i.dataTransfer||!e.hasModel())return;(s=this._currentOperation)==null||s.cancel(),e.focus(),e.setPosition(t);const n=$s(async r=>{const a=new It,d=a.add(new v0(e,1,void 0,r));try{const u=await this.extractDataTransferData(i);if(u.size===0||d.token.isCancellationRequested)return;const f=e.getModel();if(!f)return;const g=this._languageFeaturesService.documentDropEditProvider.ordered(f).filter(C=>C.dropMimeTypes?C.dropMimeTypes.some(b=>u.matches(b)):!0),p=a.add(await this.getDropEdits(g,f,t,u,d));if(d.token.isCancellationRequested)return;if(p.edits.length){const C=this.getInitialActiveEditIndex(f,p.edits),b=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([ee.fromPositions(t)],{activeEditIndex:C,allEdits:p.edits},b,async y=>y,r)}}finally{a.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,S("dropIntoEditorProgress","Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),this._currentOperation=n}async getDropEdits(e,t,i,n,s){const r=new It,a=await mp(Promise.all(e.map(async u=>{try{const f=await u.provideDocumentDropEdits(t,i,n,s.token);return f&&r.add(f),f==null?void 0:f.edits.map(g=>({...g,providerId:u.id}))}catch(f){console.error(f)}})),s.token),d=El(a??[]).flat();return{edits:K6(d),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(Z5,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new Yn(s),a=t.findIndex(d=>r.value===d.providerId&&d.handledMimeType&&H6(n,[d.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new O6;const t=V6(e.dataTransfer);if(this.treeItemsTransfer.hasData(U8.prototype)){const i=this.treeItemsTransfer.getData(U8.prototype);if(Array.isArray(i))for(const n of i){const s=await this._treeViewsDragAndDropService.removeDragOperationTransfer(n.identifier);if(s)for(const[r,a]of s)t.replace(r,a)}}return t}},mE=Kd,Kd.ID="editor.contrib.dropIntoEditorController",Kd);H0=mE=RR([vx(1,en),vx(2,Qn),vx(3,bi),vx(4,K5)],H0);an(H0.ID,H0,2);X0(F1);Di(new class extends So{constructor(){super({id:X5,precondition:I9,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=H0.get(e))==null||i.changeDropType()}});Di(new class extends So{constructor(){super({id:"editor.hideDropWidget",precondition:I9,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=H0.get(e))==null||i.clearWidgets()}});la.as(bp.Configuration).registerConfiguration({...W_,properties:{[Z5]:{type:"object",scope:5,description:S("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});const io=class io{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const e=this._findScopeDecorationIds.map(t=>this._editor.getModel().getDecorationRange(t)).filter(t=>!!t);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){const t=e<this._decorations.length?this._decorations[e]:null;return t?this._editor.getModel().getDecorationRange(t):null}getCurrentMatchesPosition(e){const t=this._editor.getModel().getDecorationsInRange(e);for(const i of t){const n=i.options;if(n===io._FIND_MATCH_DECORATION||n===io._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(i.id)}return 0}setCurrentFindMatch(e){let t=null,i=0;if(e)for(let n=0,s=this._decorations.length;n<s;n++){const r=this._editor.getModel().getDecorationRange(this._decorations[n]);if(e.equalsRange(r)){t=this._decorations[n],i=n+1;break}}return(this._highlightedDecorationId!==null||t!==null)&&this._editor.changeDecorations(n=>{if(this._highlightedDecorationId!==null&&(n.changeDecorationOptions(this._highlightedDecorationId,io._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,io._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(n.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),t!==null){let s=this._editor.getModel().getDecorationRange(t);if(s.startLineNumber!==s.endLineNumber&&s.endColumn===1){const r=s.endLineNumber-1,a=this._editor.getModel().getLineMaxColumn(r);s=new ee(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,io._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=io._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=io._FIND_MATCH_NO_OVERVIEW_DECORATION;const a=this._editor.getModel().getLineCount(),u=this._editor.getLayoutInfo().height/a,f=Math.max(2,Math.ceil(3/u));let g=e[0].range.startLineNumber,p=e[0].range.endLineNumber;for(let C=1,b=e.length;C<b;C++){const y=e[C].range;p+f>=y.startLineNumber?y.endLineNumber>p&&(p=y.endLineNumber):(s.push({range:new ee(g,1,p,1),options:io._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),g=y.startLineNumber,p=y.endLineNumber)}s.push({range:new ee(g,1,p,1),options:io._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const r=new Array(e.length);for(let a=0,d=e.length;a<d;a++)r[a]={range:e[a].range,options:n};this._decorations=i.deltaDecorations(this._decorations,r),this._overviewRulerApproximateDecorations=i.deltaDecorations(this._overviewRulerApproximateDecorations,s),this._rangeHighlightDecorationId&&(i.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(a=>i.removeDecoration(a)),this._findScopeDecorationIds=[]),t!=null&&t.length&&(this._findScopeDecorationIds=t.map(a=>i.addDecoration(a,io._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],n=this._editor.getModel().getDecorationRange(i);if(!(!n||n.endLineNumber>e.lineNumber)){if(n.endLineNumber<e.lineNumber)return n;if(!(n.endColumn>e.column))return n}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,i=this._decorations.length;t<i;t++){const n=this._decorations[t],s=this._editor.getModel().getDecorationRange(n);if(!(!s||s.startLineNumber<e.lineNumber)){if(s.startLineNumber>e.lineNumber)return s;if(!(s.startColumn<e.column))return s}}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let e=[];return e=e.concat(this._decorations),e=e.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length&&e.push(...this._findScopeDecorationIds),this._rangeHighlightDecorationId&&e.push(this._rangeHighlightDecorationId),e}};io._CURRENT_FIND_MATCH_DECORATION=fn.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:ks(Yb),position:Oa.Center},minimap:{color:ks(TS),position:1}}),io._FIND_MATCH_DECORATION=fn.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:ks(Yb),position:Oa.Center},minimap:{color:ks(TS),position:1}}),io._FIND_MATCH_NO_OVERVIEW_DECORATION=fn.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),io._FIND_MATCH_ONLY_OVERVIEW_DECORATION=fn.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:ks(Yb),position:Oa.Center}}),io._RANGE_HIGHLIGHT_DECORATION=fn.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),io._FIND_SCOPE_DECORATION=fn.register({description:"find-scope",className:"findScope",isWholeLine:!0});let vE=io;class NR{constructor(e,t,i){this._editorSelection=e,this._ranges=t,this._replaceStrings=i,this._trackedEditorSelectionId=null}getEditOperations(e,t){if(this._ranges.length>0){const i=[];for(let r=0;r<this._ranges.length;r++)i.push({range:this._ranges[r],text:this._replaceStrings[r]});i.sort((r,a)=>ee.compareRangesUsingStarts(r.range,a.range));const n=[];let s=i[0];for(let r=1;r<i.length;r++)s.range.endLineNumber===i[r].range.startLineNumber&&s.range.endColumn===i[r].range.startColumn?(s.range=s.range.plusRange(i[r].range),s.text=s.text+i[r].text):(n.push(s),s=i[r]);n.push(s);for(const r of n)t.addEditOperation(r.range,r.text)}this._trackedEditorSelectionId=t.trackSelection(this._editorSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._trackedEditorSelectionId)}}function Y5(o,e){if(o&&o[0]!==""){const t=q8(o,e,"-"),i=q8(o,e,"_");return t&&!i?G8(o,e,"-"):!t&&i?G8(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():Z3(o[0][0])&&e.length>0?e[0].toUpperCase()+e.substr(1):o[0][0].toUpperCase()!==o[0][0]&&e.length>0?e[0].toLowerCase()+e.substr(1):e}else return e}function q8(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function G8(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=Y5([n[a]],r)+t}),s.slice(0,-1)}class K8{constructor(e){this.staticValue=e,this.kind=0}}class OR{constructor(e){this.pieces=e,this.kind=1}}class W0{static fromStaticValue(e){return new W0([Bd.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new K8(""):e.length===1&&e[0].staticValue!==null?this._state=new K8(e[0].staticValue):this._state=new OR(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?Y5(e,this._state.staticValue):this._state.staticValue;let i="";for(let n=0,s=this._state.pieces.length;n<s;n++){const r=this._state.pieces[n];if(r.staticValue!==null){i+=r.staticValue;continue}let a=W0._substitute(r.matchIndex,e);if(r.caseOps!==null&&r.caseOps.length>0){const d=[],u=r.caseOps.length;let f=0;for(let g=0,p=a.length;g<p;g++){if(f>=u){d.push(a.slice(g));break}switch(r.caseOps[f]){case"U":d.push(a[g].toUpperCase());break;case"u":d.push(a[g].toUpperCase()),f++;break;case"L":d.push(a[g].toLowerCase());break;case"l":d.push(a[g].toLowerCase()),f++;break;default:d.push(a[g])}}a=d.join("")}i+=a}return i}static _substitute(e,t){if(t===null)return"";if(e===0)return t[0];let i="";for(;e>0;){if(e<t.length)return(t[e]||"")+i;i=String(e%10)+i,e=Math.floor(e/10)}return"$"+i}}class Bd{static staticValue(e){return new Bd(e,-1,null)}static caseOps(e,t){return new Bd(null,e,t)}constructor(e,t,i){this.staticValue=e,this.matchIndex=t,!i||i.length===0?this.caseOps=null:this.caseOps=i.slice(0)}}class HR{constructor(e){this._source=e,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=""}emitUnchanged(e){this._emitStatic(this._source.substring(this._lastCharIndex,e)),this._lastCharIndex=e}emitStatic(e,t){this._emitStatic(e),this._lastCharIndex=t}_emitStatic(e){e.length!==0&&(this._currentStaticPiece+=e)}emitMatchIndex(e,t,i){this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Bd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=Bd.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Bd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new W0(this._result)}}function WR(o){if(!o||o.length===0)return new W0(null);const e=[],t=new HR(o);for(let i=0,n=o.length;i<n;i++){const s=o.charCodeAt(i);if(s===92){if(i++,i>=n)break;const r=o.charCodeAt(i);switch(r){case 92:t.emitUnchanged(i-1),t.emitStatic("\\",i+1);break;case 110:t.emitUnchanged(i-1),t.emitStatic(`
20
- `,i+1);break;case 116:t.emitUnchanged(i-1),t.emitStatic(" ",i+1);break;case 117:case 85:case 108:case 76:t.emitUnchanged(i-1),t.emitStatic("",i+1),e.push(String.fromCharCode(r));break}continue}if(s===36){if(i++,i>=n)break;const r=o.charCodeAt(i);if(r===36){t.emitUnchanged(i-1),t.emitStatic("$",i+1);continue}if(r===48||r===38){t.emitUnchanged(i-1),t.emitMatchIndex(0,i+1,e),e.length=0;continue}if(49<=r&&r<=57){let a=r-48;if(i+1<n){const d=o.charCodeAt(i+1);if(48<=d&&d<=57){i++,a=a*10+(d-48),t.emitUnchanged(i-2),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}t.emitUnchanged(i-1),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}}return t.finalize()}const Hl=new vn("findWidgetVisible",!1);Hl.toNegated();const mb=new vn("findInputFocussed",!1),P9=new vn("replaceInputFocussed",!1),_x={primary:545,mac:{primary:2593}},bx={primary:565,mac:{primary:2613}},Cx={primary:560,mac:{primary:2608}},Ex={primary:554,mac:{primary:2602}},yx={primary:558,mac:{primary:2606}},Wn={StartFindAction:"actions.find",StartFindWithSelection:"actions.findWithSelection",StartFindWithArgs:"editor.actions.findWithArgs",NextMatchFindAction:"editor.action.nextMatchFindAction",PreviousMatchFindAction:"editor.action.previousMatchFindAction",GoToMatchFindAction:"editor.action.goToMatchFindAction",NextSelectionMatchFindAction:"editor.action.nextSelectionMatchFindAction",PreviousSelectionMatchFindAction:"editor.action.previousSelectionMatchFindAction",StartFindReplaceAction:"editor.action.startFindReplaceAction",CloseFindWidgetCommand:"closeFindWidget",ToggleCaseSensitiveCommand:"toggleFindCaseSensitive",ToggleWholeWordCommand:"toggleFindWholeWord",ToggleRegexCommand:"toggleFindRegex",ToggleSearchScopeCommand:"toggleFindInSelection",TogglePreserveCaseCommand:"togglePreserveCase",ReplaceOneAction:"editor.action.replaceOne",ReplaceAllAction:"editor.action.replaceAll",SelectAllMatchesAction:"editor.action.selectAllMatches"},cc=19999,zR=240;class ag{constructor(e,t){this._toDispose=new It,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new vp,this._decorations=new vE(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new Is(()=>{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(i=>{(i.reason===3||i.reason===5||i.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(i=>{this._ignoreModelContentChanged||(i.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(i=>this._onStateChanged(i))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,ao(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){this._isDisposed||this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)},zR)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;typeof t<"u"?t!==null&&(Array.isArray(t)?i=t:i=[t]):i=this._decorations.getFindScopes(),i!==null&&(i=i.map(a=>{if(a.startLineNumber!==a.endLineNumber){let d=a.endLineNumber;return a.endColumn===1&&(d=d-1),new ee(a.startLineNumber,1,d,this._editor.getModel().getLineMaxColumn(d))}return a}));const n=this._findMatches(i,!1,cc);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=y2(n.map(d=>d.range),d=>ee.compareRangesUsingStarts(d,s)>=0);r=a>0?a-1+1:r}this._state.changeMatchInfo(r,this._decorations.getCount(),void 0),e&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||n===1?(i===1?i=s.getLineCount():i--,n=s.getLineMaxColumn(i)):n--,new _i(i,n)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const f=this._decorations.matchAfterPosition(e);f&&this._setCurrentFindMatch(f);return}if(this._decorations.getCount()<cc){let f=this._decorations.matchBeforePosition(e);f&&f.isEmpty()&&f.getStartPosition().equals(e)&&(e=this._prevSearchPosition(e),f=this._decorations.matchBeforePosition(e)),f&&this._setCurrentFindMatch(f);return}if(this._cannotFind())return;const i=this._decorations.getFindScope(),n=ag._getSearchRange(this._editor.getModel(),i);n.getEndPosition().isBefore(e)&&(e=n.getEndPosition()),e.isBefore(n.getStartPosition())&&(e=n.getEndPosition());const{lineNumber:s,column:r}=e,a=this._editor.getModel();let d=new _i(s,r),u=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1);if(u&&u.range.isEmpty()&&u.range.getStartPosition().equals(d)&&(d=this._prevSearchPosition(d),u=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1)),!!u){if(!t&&!n.containsRange(u.range))return this._moveToPrevMatch(u.range.getStartPosition(),!0);this._setCurrentFindMatch(u.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||n===s.getLineMaxColumn(i)?(i===s.getLineCount()?i=1:i++,n=1):n++,new _i(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<cc){let i=this._decorations.matchAfterPosition(e);i&&i.isEmpty()&&i.getStartPosition().equals(e)&&(e=this._nextSearchPosition(e),i=this._decorations.matchAfterPosition(e)),i&&this._setCurrentFindMatch(i);return}const t=this._getNextMatch(e,!1,!0);t&&this._setCurrentFindMatch(t.range)}_getNextMatch(e,t,i,n=!1){if(this._cannotFind())return null;const s=this._decorations.getFindScope(),r=ag._getSearchRange(this._editor.getModel(),s);r.getEndPosition().isBefore(e)&&(e=r.getStartPosition()),e.isBefore(r.getStartPosition())&&(e=r.getStartPosition());const{lineNumber:a,column:d}=e,u=this._editor.getModel();let f=new _i(a,d),g=u.findNextMatch(this._state.searchString,f,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t);return i&&g&&g.range.isEmpty()&&g.range.getStartPosition().equals(f)&&(f=this._nextSearchPosition(f),g=u.findNextMatch(this._state.searchString,f,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t)),g?!n&&!r.containsRange(g.range)?this._getNextMatch(g.range.getEndPosition(),t,i,!0):g:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(e){const t=this._decorations.getDecorationRangeAt(e);t&&this._setCurrentFindMatch(t)}moveToMatch(e){this._moveToMatch(e)}_getReplacePattern(){return this._state.isRegex?WR(this._state.replaceString):W0.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const e=this._getReplacePattern(),t=this._editor.getSelection(),i=this._getNextMatch(t.getStartPosition(),!0,!1);if(i)if(t.equalsRange(i.range)){const n=e.buildReplaceString(i.matches,this._state.preserveCase),s=new xp(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new _i(t.startLineNumber,t.startColumn+n.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(i.range)}_findMatches(e,t,i){const n=(e||[null]).map(s=>ag._getSearchRange(this._editor.getModel(),s));return this._editor.getModel().findMatches(this._state.searchString,n,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t,i)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();e===null&&this._state.matchesCount>=cc?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new X3(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let g="mu";i.ignoreCase&&(g+="i"),i.global&&(g+="g"),i=new RegExp(i.source,g)}const n=this._editor.getModel(),s=n.getValue(1),r=n.getFullModelRange(),a=this._getReplacePattern();let d;const u=this._state.preserveCase;a.hasReplacementPatterns||u?d=s.replace(i,function(){return a.buildReplaceString(arguments,u)}):d=s.replace(i,a.buildReplaceString(null,u));const f=new w2(r,d,this._editor.getSelection());this._executeEditorCommand("replaceAll",f)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),n=[];for(let r=0,a=i.length;r<a;r++)n[r]=t.buildReplaceString(i[r].matches,this._state.preserveCase);const s=new NR(this._editor.getSelection(),i.map(r=>r.range),n);this._executeEditorCommand("replaceAll",s)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let i=this._findMatches(e,!1,1073741824).map(s=>new Hi(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn));const n=this._editor.getSelection();for(let s=0,r=i.length;s<r;s++)if(i[s].equalsRange(n)){i=[n].concat(i.slice(0,s)).concat(i.slice(s+1));break}this._editor.setSelections(i)}_executeEditorCommand(e,t){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(e,t),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}}const e_=class e_ extends Ep{constructor(e,t,i){super(),this._hideSoon=this._register(new Is(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const n={inputActiveOptionBorder:Cd(D2),inputActiveOptionForeground:Cd(S2),inputActiveOptionBackground:Cd(Lw)},s=this._register(i1());this.caseSensitive=this._register(new Y3({appendTitle:this._keybindingLabelFor(Wn.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverDelegate:s,...n})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new Q3({appendTitle:this._keybindingLabelFor(Wn.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverDelegate:s,...n})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new J3({appendTitle:this._keybindingLabelFor(Wn.ToggleRegexCommand),isChecked:this._state.isRegex,hoverDelegate:s,...n})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(r=>{let a=!1;r.isRegex&&(this.regex.checked=this._state.isRegex,a=!0),r.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,a=!0),r.matchCase&&(this.caseSensitive.checked=this._state.matchCase,a=!0),!this._state.isRevealed&&a&&this._revealTemporarily()})),this._register(Sn(this._domNode,is.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(Sn(this._domNode,"mouseover",r=>this._onMouseOver()))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return e_.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}};e_.ID="editor.contrib.findOptionsWidget";let _E=e_;function wx(o,e){return o===1?!0:o===2?!1:e}class VR extends Mt{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return wx(this._isRegexOverride,this._isRegex)}get wholeWord(){return wx(this._wholeWordOverride,this._wholeWord)}get matchCase(){return wx(this._matchCaseOverride,this._matchCase)}get preserveCase(){return wx(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new sn),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,i){const n={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,n.matchesPosition=!0,s=!0),this._matchesCount!==t&&(this._matchesCount=t,n.matchesCount=!0,s=!0),typeof i<"u"&&(ee.equalsRange(this._currentMatch,i)||(this._currentMatch=i,n.currentMatch=!0,s=!0)),s&&this._onFindReplaceStateChange.fire(n)}change(e,t,i=!0){var f;const n={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;const r=this.isRegex,a=this.wholeWord,d=this.matchCase,u=this.preserveCase;typeof e.searchString<"u"&&this._searchString!==e.searchString&&(this._searchString=e.searchString,n.searchString=!0,s=!0),typeof e.replaceString<"u"&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,n.replaceString=!0,s=!0),typeof e.isRevealed<"u"&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,n.isRevealed=!0,s=!0),typeof e.isReplaceRevealed<"u"&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,n.isReplaceRevealed=!0,s=!0),typeof e.isRegex<"u"&&(this._isRegex=e.isRegex),typeof e.wholeWord<"u"&&(this._wholeWord=e.wholeWord),typeof e.matchCase<"u"&&(this._matchCase=e.matchCase),typeof e.preserveCase<"u"&&(this._preserveCase=e.preserveCase),typeof e.searchScope<"u"&&((f=e.searchScope)!=null&&f.every(g=>{var p;return(p=this._searchScope)==null?void 0:p.some(C=>!ee.equalsRange(C,g))})||(this._searchScope=e.searchScope,n.searchScope=!0,s=!0)),typeof e.loop<"u"&&this._loop!==e.loop&&(this._loop=e.loop,n.loop=!0,s=!0),typeof e.isSearching<"u"&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,n.isSearching=!0,s=!0),typeof e.filters<"u"&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,n.filters=!0,s=!0),this._isRegexOverride=typeof e.isRegexOverride<"u"?e.isRegexOverride:0,this._wholeWordOverride=typeof e.wholeWordOverride<"u"?e.wholeWordOverride:0,this._matchCaseOverride=typeof e.matchCaseOverride<"u"?e.matchCaseOverride:0,this._preserveCaseOverride=typeof e.preserveCaseOverride<"u"?e.preserveCaseOverride:0,r!==this.isRegex&&(s=!0,n.isRegex=!0),a!==this.wholeWord&&(s=!0,n.wholeWord=!0),d!==this.matchCase&&(s=!0,n.matchCase=!0),u!==this.preserveCase&&(s=!0,n.preserveCase=!0),s&&this._onFindReplaceStateChange.fire(n)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=cc}}const jR=S("defaultLabel","input"),$R=S("label.preserveCaseToggle","Preserve Case");class UR extends A2{constructor(e){super({icon:$i.preserveCase,title:$R+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??q_("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class qR extends Ep{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new sn),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new sn),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new sn),this._onInput=this._register(new sn),this._onKeyUp=this._register(new sn),this._onPreserveCaseKeyDown=this._register(new sn),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||jR;const s=n.appendPreserveCaseLabel||"",r=n.history||[],a=!!n.flexibleHeight,d=!!n.flexibleWidth,u=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new e4(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:n.showHistoryHint,flexibleHeight:a,flexibleWidth:d,flexibleMaxHeight:u,inputBoxStyles:n.inputBoxStyles})),this.preserveCase=this._register(new UR({appendTitle:s,isChecked:!1,...n.toggleStyles})),this._register(this.preserveCase.onChange(p=>{this._onDidOptionChange.fire(p),!p&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(p=>{this._onPreserveCaseKeyDown.fire(p)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const f=[this.preserveCase.domNode];this.onkeydown(this.domNode,p=>{if(p.equals(15)||p.equals(17)||p.equals(9)){const C=f.indexOf(this.domNode.ownerDocument.activeElement);if(C>=0){let b=-1;p.equals(17)?b=(C+1)%f.length:p.equals(15)&&(C===0?b=f.length-1:b=C-1),p.equals(9)?(f[C].blur(),this.inputBox.focus()):b>=0&&f[b].focus(),Cm.stop(p,!0)}}});const g=document.createElement("div");g.className="controls",g.style.display=this._showOptionButtons?"block":"none",g.appendChild(this.preserveCase.domNode),this.domNode.appendChild(g),e==null||e.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,p=>this._onKeyDown.fire(p)),this.onkeyup(this.inputBox.inputElement,p=>this._onKeyUp.fire(p)),this.oninput(this.inputBox.inputElement,p=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,p=>this._onMouseDown.fire(p))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){var e;(e=this.inputBox)==null||e.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var Q5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},J5=function(o,e){return function(t,i){e(t,i,o)}};const T9=new vn("suggestWidgetVisible",!1,S("suggestWidgetVisible","Whether suggestion are visible")),M9="historyNavigationWidgetFocus",eB="historyNavigationForwardsEnabled",tB="historyNavigationBackwardsEnabled";let bl;const Sx=[];function iB(o,e){if(Sx.includes(e))throw new Error("Cannot register the same widget multiple times");Sx.push(e);const t=new It,i=new vn(M9,!1).bindTo(o),n=new vn(eB,!0).bindTo(o),s=new vn(tB,!0).bindTo(o),r=()=>{i.set(!0),bl=e},a=()=>{i.set(!1),bl===e&&(bl=void 0)};return i4(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(Xn(()=>{Sx.splice(Sx.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let bE=class extends t4{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(iB(s,this.inputBox))}};bE=Q5([J5(3,Dn)],bE);let CE=class extends qR{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(iB(r,this.inputBox))}};CE=Q5([J5(3,Dn)],CE);Ga.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:qe.and(qe.has(M9),qe.equals(tB,!0),qe.not("isComposing"),T9.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{bl==null||bl.showPreviousValue()}});Ga.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:qe.and(qe.has(M9),qe.equals(eB,!0),qe.not("isComposing"),T9.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{bl==null||bl.showNextValue()}});function Z8(o){var e,t;return((e=o.lookupKeybinding("history.showPrevious"))==null?void 0:e.getElectronAccelerator())==="Up"&&((t=o.lookupKeybinding("history.showNext"))==null?void 0:t.getElectronAccelerator())==="Down"}const X8=gs("find-collapsed",$i.chevronRight,S("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),Y8=gs("find-expanded",$i.chevronDown,S("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),GR=gs("find-selection",$i.selection,S("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),KR=gs("find-replace",$i.replace,S("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),ZR=gs("find-replace-all",$i.replaceAll,S("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),XR=gs("find-previous-match",$i.arrowUp,S("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),YR=gs("find-next-match",$i.arrowDown,S("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),QR=S("label.findDialog","Find / Replace"),JR=S("label.find","Find"),eN=S("placeholder.find","Find"),tN=S("label.previousMatchButton","Previous Match"),iN=S("label.nextMatchButton","Next Match"),nN=S("label.toggleSelectionFind","Find in Selection"),sN=S("label.closeButton","Close"),oN=S("label.replace","Replace"),rN=S("placeholder.replace","Replace"),aN=S("label.replaceButton","Replace"),lN=S("label.replaceAllButton","Replace All"),cN=S("label.toggleReplaceButton","Toggle Replace"),dN=S("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",cc),uN=S("label.matchesLocation","{0} of {1}"),Q8=S("label.noResults","No results"),va=419,hN=275,fN=hN-54;let kf=69;const gN=33,J8="ctrlEnterReplaceAll.windows.donotask",eD=ja?256:2048;class bC{constructor(e){this.afterLineNumber=e,this.heightInPx=gN,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function tD(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function iD(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const t_=class t_ extends Ep{constructor(e,t,i,n,s,r,a,d,u,f){super(),this._hoverService=f,this._cachedHeight=null,this._revealTimeouts=[],this._codeEditor=e,this._controller=t,this._state=i,this._contextViewProvider=n,this._keybindingService=s,this._contextKeyService=r,this._storageService=d,this._notificationService=u,this._ctrlEnterReplaceAllWarningPrompted=!!d.getBoolean(J8,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new Pc(500),this._register(Xn(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(g=>this._onStateChanged(g))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(g=>{if(g.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),g.hasChanged(146)&&this._tryUpdateWidgetWidth(),g.hasChanged(2)&&this.updateAccessibilitySupport(),g.hasChanged(41)){const p=this._codeEditor.getOption(41).loop;this._state.change({loop:p},!1);const C=this._codeEditor.getOption(41).addExtraSpaceOnTop;C&&!this._viewZone&&(this._viewZone=new bC(0),this._showViewZone()),!C&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){const g=await this._controller.getGlobalBufferTerm();g&&g!==this._state.searchString&&(this._state.change({searchString:g},!1),this._findInput.select())}})),this._findInputFocused=mb.bindTo(r),this._findFocusTracker=this._register(_0(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=P9.bindTo(r),this._replaceFocusTracker=this._register(_0(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new bC(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(g=>{if(g.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return t_.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(92)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=br(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){const t=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",t),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,zn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=kf+"px",this._state.matchesCount>=cc?this._matchesCount.title=dN:this._matchesCount.title="",(t=this._matchesCount.firstChild)==null||t.remove();let e;if(this._state.matchesCount>0){let i=String(this._state.matchesCount);this._state.matchesCount>=cc&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=zw(uN,n,i)}else e=Q8;this._matchesCount.appendChild(document.createTextNode(e)),Tr(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),kf=Math.max(kf,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===Q8)return i===""?S("ariaSearchNoResultEmpty","{0} found",e):S("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=S("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),s=this._codeEditor.getModel();return s&&t.startLineNumber<=s.getLineCount()&&t.startLineNumber>=1?`${s.getLineContent(t.startLineNumber)}, ${n}`:n}return S("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(92);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const i=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=i;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const n=Co(i),s=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),r=n.left+(s?s.left:0),a=s?s.top:0;if(this._viewZone&&a<this._viewZone.heightInPx){e.endLineNumber>e.startLineNumber&&(t=!1);const d=n4(this._domNode).left;r>d&&(t=!1);const u=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());n.left+(u?u.left:0)>d&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(t=>{clearTimeout(t)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const i=this._viewZone;this._viewZoneId!==void 0||!i||this._codeEditor.changeViewZones(n=>{i.heightInPx=this._getHeight(),this._viewZoneId=n.addZone(i),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+i.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new bC(0));const i=this._viewZone;this._codeEditor.changeViewZones(n=>{if(this._viewZoneId!==void 0){const s=this._getHeight();if(s===i.heightInPx)return;const r=s-i.heightInPx;i.heightInPx=s,n.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+r);return}else{let s=this._getHeight();if(s-=this._codeEditor.getOption(84).top,s<=0)return;i.heightInPx=s,this._viewZoneId=n.addZone(i),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+s)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{this._viewZoneId!==void 0&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!this._domNode.isConnected)return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const i=e.width,n=e.minimap.minimapWidth;let s=!1,r=!1,a=!1;if(this._resized&&br(this._domNode)>va){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=br(this._findInput.domNode);return}if(va+28+n>=i&&(r=!0),va+28+n-kf>=i&&(a=!0),va+28+n-kf>=i+50&&(s=!0),this._domNode.classList.toggle("collapsed-find-widget",s),this._domNode.classList.toggle("narrow-find-widget",a),this._domNode.classList.toggle("reduced-find-widget",r),!a&&!s&&(this._domNode.style.maxWidth=`${i-28-n-15}px`),this._findInput.layout({collapsedFindWidget:s,narrowFindWidget:a,reducedFindWidget:r}),this._resized){const d=this._findInput.inputBox.element.clientWidth;d>0&&(this._replaceInput.width=d)}else this._isReplaceVisible&&(this._replaceInput.width=br(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){const e=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===e?!1:(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const e=this._codeEditor.getSelections();e.map(t=>{t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1)));const i=this._state.currentMatch;return t.startLineNumber!==t.endLineNumber&&!ee.equalsRange(t,i)?t:null}).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(eD|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(`
21
- `),e.preventDefault();return}if(e.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return tD(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return iD(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(eD|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{M_&&Z0&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(S("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(J8,!0,0,0)),this._replaceInput.inputBox.insertAtCursor(`
22
- `),e.preventDefault();return}if(e.equals(2)){this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(1026)){this._findInput.focus(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return tD(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return iD(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){this._findInput=this._register(new bE(null,this._contextViewProvider,{width:fN,label:JR,placeholder:eN,appendCaseSensitiveLabel:this._keybindingLabelFor(Wn.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(Wn.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(Wn.ToggleRegexCommand),validation:f=>{if(f.length===0||!this._findInput.getRegex())return null;try{return new RegExp(f,"gu"),null}catch(g){return{content:g.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>Z8(this._keybindingService),inputBoxStyles:RS,toggleStyles:MS},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(f=>this._onFindInputKeyDown(f))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(f=>{f.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),f.preventDefault())})),this._register(this._findInput.onRegexKeyDown(f=>{f.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),f.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(f=>{this._tryUpdateHeight()&&this._showViewZone()})),s4&&this._register(this._findInput.onMouseDown(f=>this._onFindInputMouseDown(f))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(i1());this._prevBtn=this._register(new gh({label:tN+this._keybindingLabelFor(Wn.PreviousMatchFindAction),icon:XR,hoverDelegate:i,onTrigger:()=>{Ph(this._codeEditor.getAction(Wn.PreviousMatchFindAction)).run().then(void 0,zn)}},this._hoverService)),this._nextBtn=this._register(new gh({label:iN+this._keybindingLabelFor(Wn.NextMatchFindAction),icon:YR,hoverDelegate:i,onTrigger:()=>{Ph(this._codeEditor.getAction(Wn.NextMatchFindAction)).run().then(void 0,zn)}},this._hoverService));const n=document.createElement("div");n.className="find-part",n.appendChild(this._findInput.domNode);const s=document.createElement("div");s.className="find-actions",n.appendChild(s),s.appendChild(this._matchesCount),s.appendChild(this._prevBtn.domNode),s.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new A2({icon:GR,title:nN+this._keybindingLabelFor(Wn.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:Cd(Lw),inputActiveOptionBorder:Cd(D2),inputActiveOptionForeground:Cd(S2)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let f=this._codeEditor.getSelections();f=f.map(g=>(g.endColumn===1&&g.endLineNumber>g.startLineNumber&&(g=g.setEndPosition(g.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(g.endLineNumber-1))),g.isEmpty()?null:g)).filter(g=>!!g),f.length&&this._state.change({searchScope:f},!0)}}else this._state.change({searchScope:null},!0)})),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new gh({label:sN+this._keybindingLabelFor(Wn.CloseFindWidgetCommand),icon:k2,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:f=>{f.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),f.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new CE(null,void 0,{label:oN,placeholder:rN,appendPreserveCaseLabel:this._keybindingLabelFor(Wn.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>Z8(this._keybindingService),inputBoxStyles:RS,toggleStyles:MS},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(f=>this._onReplaceInputKeyDown(f))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(f=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(f=>{f.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),f.preventDefault())}));const r=this._register(i1());this._replaceBtn=this._register(new gh({label:aN+this._keybindingLabelFor(Wn.ReplaceOneAction),icon:KR,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:f=>{f.equals(1026)&&(this._closeBtn.focus(),f.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new gh({label:lN+this._keybindingLabelFor(Wn.ReplaceAllAction),icon:ZR,hoverDelegate:r,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const a=document.createElement("div");a.className="replace-part",a.appendChild(this._replaceInput.domNode);const d=document.createElement("div");d.className="replace-actions",a.appendChild(d),d.appendChild(this._replaceBtn.domNode),d.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new gh({label:cN,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=br(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}},this._hoverService)),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=QR,this._domNode.role="dialog",this._domNode.style.width=`${va}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(n),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(a),this._resizeSash=this._register(new Fh(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let u=va;this._register(this._resizeSash.onDidStart(()=>{u=br(this._domNode)})),this._register(this._resizeSash.onDidChange(f=>{this._resized=!0;const g=u+f.startX-f.currentX;if(g<va)return;const p=parseFloat(o4(this._domNode).maxWidth)||0;g>p||(this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=br(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const f=br(this._domNode);if(f<va)return;let g=va;if(!this._resized||f===va){const p=this._codeEditor.getLayoutInfo();g=p.width-28-p.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=br(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};t_.ID="editor.contrib.findWidget";let EE=t_;class gh extends Ep{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+Fn.asClassName(this._opts.icon)),this._domNode=document.createElement("div"),this._domNode.tabIndex=0,this._domNode.className=i,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this._register(t.setupManagedHover(e.hoverDelegate??q_("element"),this._domNode,this._opts.label)),this.onclick(this._domNode,n=>{this._opts.onTrigger(),n.preventDefault()}),this.onkeydown(this._domNode,n=>{var s,r;if(n.equals(10)||n.equals(3)){this._opts.onTrigger(),n.preventDefault();return}(r=(s=this._opts).onKeyDown)==null||r.call(s,n)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...Fn.asClassNameArray(X8)),this._domNode.classList.add(...Fn.asClassNameArray(Y8))):(this._domNode.classList.remove(...Fn.asClassNameArray(Y8)),this._domNode.classList.add(...Fn.asClassNameArray(X8)))}}H_((o,e)=>{const t=o.getColor(a2);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${Eg(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(r4);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${Eg(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(yl);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(a4);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(l4);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});var nB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nr=function(o,e){return function(t,i){e(t,i,o)}},yE;const pN=524288;function wE(o,e="single",t=!1){if(!o.hasModel())return null;const i=o.getSelection();if(e==="single"&&i.startLineNumber===i.endLineNumber||e==="multiple"){if(i.isEmpty()){const n=o.getConfiguredWordAtPosition(i.getStartPosition());if(n&&t===!1)return n.word}else if(o.getModel().getValueLengthInRange(i)<pN)return o.getModel().getValueInRange(i)}return null}var Zd;let yo=(Zd=class extends Mt{get editor(){return this._editor}static get(e){return e.getContribution(yE.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=Hl.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new Pc(500),this._state=this._register(new VR),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(a=>this._onStateChanged(a))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const a=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),a&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!mb.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let e=this._editor.getSelections();e=e.map(t=>(t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t)).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=yg(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;const i={...t,isRevealed:!0};if(e.seedSearchStringFromSelection==="single"){const n=wE(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=yg(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=wE(this._editor,e.seedSearchStringFromSelection);n&&(i.searchString=n)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){const n=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;n&&(i.searchString=n)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){const n=this._editor.getSelections();n.some(s=>!s.isEmpty())&&(i.searchScope=n)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new ag(this._editor,this._state))}start(e,t){return this._start(e,t)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}goToMatch(e){return this._model?(this._model.moveToMatch(e),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){var e;return this._model?(e=this._editor.getModel())!=null&&e.isTooLargeForHeapOperation()?(this._notificationService.warn(S("too.large.for.replaceall","The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(e){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}},yE=Zd,Zd.ID="editor.contrib.findController",Zd);yo=yE=nB([nr(1,Dn),nr(2,Vc),nr(3,K0),nr(4,go),nr(5,Sp)],yo);let SE=class extends yo{constructor(e,t,i,n,s,r,a,d,u){super(e,i,a,d,r,u),this._contextViewService=t,this._keybindingService=n,this._themeService=s,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();const i=this._editor.getSelection();let n=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":n=!0;break;case"never":n=!1;break;case"multiline":{n=!!i&&i.startLineNumber!==i.endLineNumber;break}}e.updateSearchScope=e.updateSearchScope||n,await super._start(e,t),this._widget&&(e.shouldFocus===2?this._widget.focusReplaceInput():e.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new EE(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new _E(this._editor,this._state,this._keybindingService))}};SE=nB([nr(1,O_),nr(2,Dn),nr(3,ws),nr(4,Nr),nr(5,go),nr(6,Vc),nr(7,K0),nr(8,Sp)],SE);const xN=B2(new F2({id:Wn.StartFindAction,label:S("startFindAction","Find"),alias:"Find",precondition:qe.or(U.focus,qe.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Xt.MenubarEditMenu,group:"3_find",title:S({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));xN.addImplementation(0,(o,e,t)=>{const i=yo.get(e);return i?i.start({forceRevealReplace:!1,seedSearchStringFromSelection:e.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop}):!1});const mN={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},isRegex:{type:"boolean"},matchWholeWord:{type:"boolean"},isCaseSensitive:{type:"boolean"},preserveCase:{type:"boolean"},findInSelection:{type:"boolean"}}}}]};class vN extends bt{constructor(){super({id:Wn.StartFindWithArgs,label:S("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:mN})}async run(e,t,i){const n=yo.get(t);if(n){const s=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:i.replaceString!==void 0,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:n.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(i==null?void 0:i.findInSelection)||!1,loop:t.getOption(41).loop},s),n.setGlobalBufferTerm(n.getState().searchString)}}}class _N extends bt{constructor(){super({id:Wn.StartFindWithSelection,label:S("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){const i=yo.get(t);i&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),i.setGlobalBufferTerm(i.getState().searchString))}}class sB extends bt{async run(e,t){const i=yo.get(t);i&&!this._run(i)&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:i.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class bN extends sB{constructor(){super({id:Wn.NextMatchFindAction,label:S("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:U.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:qe.and(U.focus,mb),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class CN extends sB{constructor(){super({id:Wn.PreviousMatchFindAction,label:S("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:U.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:qe.and(U.focus,mb),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class EN extends bt{constructor(){super({id:Wn.GoToMatchFindAction,label:S("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Hl}),this._highlightDecorations=[]}run(e,t,i){const n=yo.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(go).notify({severity:Hw.Warning,message:S("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(Pl),a=new It,d=a.add(r.createInputBox());d.placeholder=S("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",s);const u=g=>{const p=parseInt(g);if(isNaN(p))return;const C=n.getState().matchesCount;if(p>0&&p<=C)return p-1;if(p<0&&p>=-C)return C+p},f=g=>{const p=u(g);if(typeof p=="number"){d.validationMessage=void 0,n.goToMatch(p);const C=n.getState().currentMatch;C&&this.addDecorations(t,C)}else d.validationMessage=S("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount),this.clearDecorations(t)};a.add(d.onDidChangeValue(g=>{f(g)})),a.add(d.onDidAccept(()=>{const g=u(d.value);typeof g=="number"?(n.goToMatch(g),d.hide()):d.validationMessage=S("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount)})),a.add(d.onDidHide(()=>{this.clearDecorations(t),a.dispose()})),d.show()}clearDecorations(e){e.changeDecorations(t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(i=>{this._highlightDecorations=i.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:ks(L2),position:Oa.Full}}}])})}}class oB extends bt{async run(e,t){const i=yo.get(t);if(!i)return;const n=wE(t,"single",!1);n&&i.setSearchString(n),this._run(i)||(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class yN extends oB{constructor(){super({id:Wn.NextSelectionMatchFindAction,label:S("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:U.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class wN extends oB{constructor(){super({id:Wn.PreviousSelectionMatchFindAction,label:S("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:U.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const SN=B2(new F2({id:Wn.StartFindReplaceAction,label:S("startReplace","Replace"),alias:"Replace",precondition:qe.or(U.focus,qe.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Xt.MenubarEditMenu,group:"3_find",title:S({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));SN.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=yo.get(e);if(!i)return!1;const n=e.getSelection(),s=i.isFindInputFocused(),r=!n.isEmpty()&&n.startLineNumber===n.endLineNumber&&e.getOption(41).seedSearchStringFromSelection!=="never"&&!s,a=s||r?2:1;return i.start({forceRevealReplace:!0,seedSearchStringFromSelection:r?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).seedSearchStringFromSelection!=="never",shouldFocus:a,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop})});an(yo.ID,SE,0);Te(vN);Te(_N);Te(bN);Te(CN);Te(EN);Te(yN);Te(wN);const fa=So.bindToContribution(yo.get);Di(new fa({id:Wn.CloseFindWidgetCommand,precondition:Hl,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:qe.and(U.focus,qe.not("isComposing")),primary:9,secondary:[1033]}}));Di(new fa({id:Wn.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:U.focus,primary:_x.primary,mac:_x.mac,win:_x.win,linux:_x.linux}}));Di(new fa({id:Wn.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:U.focus,primary:bx.primary,mac:bx.mac,win:bx.win,linux:bx.linux}}));Di(new fa({id:Wn.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:U.focus,primary:Cx.primary,mac:Cx.mac,win:Cx.win,linux:Cx.linux}}));Di(new fa({id:Wn.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:U.focus,primary:Ex.primary,mac:Ex.mac,win:Ex.win,linux:Ex.linux}}));Di(new fa({id:Wn.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:U.focus,primary:yx.primary,mac:yx.mac,win:yx.win,linux:yx.linux}}));Di(new fa({id:Wn.ReplaceOneAction,precondition:Hl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:U.focus,primary:3094}}));Di(new fa({id:Wn.ReplaceOneAction,precondition:Hl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:qe.and(U.focus,P9),primary:3}}));Di(new fa({id:Wn.ReplaceAllAction,precondition:Hl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:U.focus,primary:2563}}));Di(new fa({id:Wn.ReplaceAllAction,precondition:Hl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:qe.and(U.focus,P9),primary:void 0,mac:{primary:2051}}}));Di(new fa({id:Wn.SelectAllMatchesAction,precondition:Hl,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:U.focus,primary:515}}));const DN={0:" ",1:"u",2:"r"},nD=65535,Xr=16777215,sD=4278190080;class CC{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,i=e%32;return(this._states[t]&1<<i)!==0}set(e,t){const i=e/32|0,n=e%32,s=this._states[i];t?this._states[i]=s|1<<n:this._states[i]=s&~(1<<n)}}class Uo{constructor(e,t,i){if(e.length!==t.length||e.length>nD)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new CC(e.length),this._userDefinedStates=new CC(e.length),this._recoveredStates=new CC(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(i,n)=>{const s=e[e.length-1];return this.getStartLineNumber(s)<=i&&this.getEndLineNumber(s)>=n};for(let i=0,n=this._startIndexes.length;i<n;i++){const s=this._startIndexes[i],r=this._endIndexes[i];if(s>Xr||r>Xr)throw new Error("startLineNumber or endLineNumber must not exceed "+Xr);for(;e.length>0&&!t(s,r);)e.pop();const a=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=s+((a&255)<<24),this._endIndexes[i]=r+((a&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&Xr}getEndLineNumber(e){return this._endIndexes[e]&Xr}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){t===1?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):t===2?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let n=0;n<this._types.length;n++)this._types[n]===e&&(this.setCollapsed(n,t),i=!0);return i}toRegion(e){return new AN(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&sD)>>>24)+((this._endIndexes[e]&sD)>>>16);return t===nD?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(i===0)return-1;for(;t<i;){const n=Math.floor((t+i)/2);e<this.getStartLineNumber(n)?i=n:t=n+1}return t-1}findRange(e){let t=this.findIndex(e);if(t>=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);t!==-1;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;t<this.length;t++)e[t]=`[${DN[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Xr,endLineNumber:this._endIndexes[e]&Xr,type:this._types?this._types[e]:void 0,isCollapsed:this.isCollapsed(e),source:this.getSource(e)}}static fromFoldRanges(e){const t=e.length,i=new Uint32Array(t),n=new Uint32Array(t);let s=[],r=!1;for(let d=0;d<t;d++){const u=e[d];i[d]=u.startLineNumber,n[d]=u.endLineNumber,s.push(u.type),u.type&&(r=!0)}r||(s=void 0);const a=new Uo(i,n,s);for(let d=0;d<t;d++)e[d].isCollapsed&&a.setCollapsed(d,!0),a.setSource(d,e[d].source);return a}static sanitizeAndMerge(e,t,i,n){i=i??Number.MAX_VALUE;const s=(w,A)=>Array.isArray(w)?(P=>P<A?w[P]:void 0):(P=>P<A?w.toFoldRange(P):void 0),r=s(e,e.length),a=s(t,t.length);let d=0,u=0,f=r(0),g=a(0);const p=[];let C,b=0;const y=[];for(;f||g;){let w;if(g&&(!f||f.startLineNumber>=g.startLineNumber))f&&f.startLineNumber===g.startLineNumber?(g.source===1?w=g:(w=f,w.isCollapsed=g.isCollapsed&&(f.endLineNumber===g.endLineNumber||!(n!=null&&n.startsInside(f.startLineNumber+1,f.endLineNumber+1))),w.source=0),f=r(++d)):(w=g,g.isCollapsed&&g.source===0&&(w.source=2)),g=a(++u);else{let A=u,P=g;for(;;){if(!P||P.startLineNumber>f.endLineNumber){w=f;break}if(P.source===1&&P.endLineNumber>f.endLineNumber)break;P=a(++A)}f=r(++d)}if(w){for(;C&&C.endLineNumber<w.startLineNumber;)C=p.pop();w.endLineNumber>w.startLineNumber&&w.startLineNumber>b&&w.endLineNumber<=i&&(!C||C.endLineNumber>=w.endLineNumber)&&(y.push(w),b=w.startLineNumber,C&&p.push(C),C=w)}}return y}}class AN{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}}class kN{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new sn,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new Uo(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((i,n)=>i.regionIndex-n.regionIndex);const t={};this._decorationProvider.changeDecorations(i=>{let n=0,s=-1,r=-1;const a=d=>{for(;n<d;){const u=this._regions.getEndLineNumber(n),f=this._regions.isCollapsed(n);if(u<=s){const g=this.regions.getSource(n)!==0;i.changeDecorationOptions(this._editorDecorationIds[n],this._decorationProvider.getDecorationOption(f,u<=r,g))}f&&u>r&&(r=u),n++}};for(const d of e){const u=d.regionIndex,f=this._editorDecorationIds[u];if(f&&!t[f]){t[f]=!0,a(u);const g=!this._regions.isCollapsed(u);this._regions.setCollapsed(u,g),s=Math.max(s,this._regions.getEndLineNumber(u))}}a(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=n=>{for(const s of e)if(!(s.startLineNumber>n.endLineNumber||n.startLineNumber>s.endLineNumber))return!0;return!1};for(let n=0;n<this._regions.length;n++){const s=this._regions.toFoldRange(n);(s.source===0||!i(s))&&t.push(s)}this.updatePost(Uo.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=Uo.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(Uo.fromFoldRanges(n))}updatePost(e){const t=[];let i=-1;for(let n=0,s=e.length;n<s;n++){const r=e.getStartLineNumber(n),a=e.getEndLineNumber(n),d=e.isCollapsed(n),u=e.getSource(n)!==0,f={startLineNumber:r,startColumn:this._textModel.getLineMaxColumn(r),endLineNumber:a,endColumn:this._textModel.getLineMaxColumn(a)+1};t.push({range:f,options:this._decorationProvider.getDecorationOption(d,a<=i,u)}),d&&a>i&&(i=a)}this._decorationProvider.changeDecorations(n=>this._editorDecorationIds=n.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e){const t=[];for(let i=0,n=this._regions.length;i<n;i++){let s=this.regions.isCollapsed(i);const r=this.regions.getSource(i);if(s||r!==0){const a=this._regions.toFoldRange(i),d=this._textModel.getDecorationRange(this._editorDecorationIds[i]);d&&(s&&(e!=null&&e.startsInside(d.startLineNumber+1,d.endLineNumber))&&(s=!1),t.push({startLineNumber:d.startLineNumber,endLineNumber:d.endLineNumber,type:a.type,isCollapsed:s,source:r}))}}return t}getMemento(){const e=this._currentFoldedOrManualRanges(),t=[],i=this._textModel.getLineCount();for(let n=0,s=e.length;n<s;n++){const r=e[n];if(r.startLineNumber>=r.endLineNumber||r.startLineNumber<1||r.endLineNumber>i)continue;const a=this._getLinesChecksum(r.startLineNumber+1,r.endLineNumber);t.push({startLineNumber:r.startLineNumber,endLineNumber:r.endLineNumber,isCollapsed:r.isCollapsed,source:r.source,checksum:a})}return t.length>0?t:void 0}applyMemento(e){if(!Array.isArray(e))return;const t=[],i=this._textModel.getLineCount();for(const s of e){if(s.startLineNumber>=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>i)continue;const r=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);(!s.checksum||r===s.checksum)&&t.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,type:void 0,isCollapsed:s.isCollapsed??!0,source:s.source??0})}const n=Uo.sanitizeAndMerge(this._regions,t,i);this.updatePost(Uo.fromFoldRanges(n))}_getLinesChecksum(e,t){return I2(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let n=this._regions.findRange(e),s=1;for(;n>=0;){const r=this._regions.toRegion(n);(!t||t(r,s))&&i.push(r),s++,n=r.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],n=e?e.regionIndex+1:0,s=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){const r=[];for(let a=n,d=this._regions.length;a<d;a++){const u=this._regions.toRegion(a);if(this._regions.getStartLineNumber(a)<s){for(;r.length>0&&!u.containedBy(r[r.length-1]);)r.pop();r.push(u),t(u,r.length)&&i.push(u)}else break}}else for(let r=n,a=this._regions.length;r<a;r++){const d=this._regions.toRegion(r);if(this._regions.getStartLineNumber(r)<s)(!t||t(d))&&i.push(d);else break}return i}}function R9(o,e,t){const i=[];for(const n of t){const s=o.getRegionAtLine(n);if(s){const r=!s.isCollapsed;if(i.push(s),e>1){const a=o.getRegionsInside(s,(d,u)=>d.isCollapsed!==r&&u<e);i.push(...a)}}}o.toggleCollapseState(i)}function sf(o,e,t=Number.MAX_VALUE,i){const n=[];if(i&&i.length>0)for(const s of i){const r=o.getRegionAtLine(s);if(r&&(r.isCollapsed!==e&&n.push(r),t>1)){const a=o.getRegionsInside(r,(d,u)=>d.isCollapsed!==e&&u<t);n.push(...a)}}else{const s=o.getRegionsInside(null,(r,a)=>r.isCollapsed!==e&&a<t);n.push(...s)}o.toggleCollapseState(n)}function rB(o,e,t,i){const n=[];for(const s of i){const r=o.getAllRegionsAtLine(s,(a,d)=>a.isCollapsed!==e&&d<=t);n.push(...r)}o.toggleCollapseState(n)}function BN(o,e,t){const i=[];for(const n of t){const s=o.getAllRegionsAtLine(n,r=>r.isCollapsed!==e);s.length>0&&i.push(s[0])}o.toggleCollapseState(i)}function FN(o,e,t,i){const n=(r,a)=>a===e&&r.isCollapsed!==t&&!i.some(d=>r.containsLine(d)),s=o.getRegionsInside(null,n);o.toggleCollapseState(s)}function aB(o,e,t){const i=[];for(const r of t){const a=o.getAllRegionsAtLine(r,void 0);a.length>0&&i.push(a[0])}const n=r=>i.every(a=>!a.containedBy(r)&&!r.containedBy(a))&&r.isCollapsed!==e,s=o.getRegionsInside(null,n);o.toggleCollapseState(s)}function N9(o,e,t){const i=o.textModel,n=o.regions,s=[];for(let r=n.length-1;r>=0;r--)if(t!==n.isCollapsed(r)){const a=n.getStartLineNumber(r);e.test(i.getLineContent(a))&&s.push(n.toRegion(r))}o.toggleCollapseState(s)}function O9(o,e,t){const i=o.regions,n=[];for(let s=i.length-1;s>=0;s--)t!==i.isCollapsed(s)&&e===i.getType(s)&&n.push(i.toRegion(s));o.toggleCollapseState(n)}function LN(o,e){let t=null;const i=e.getRegionAtLine(o);if(i!==null&&(t=i.startLineNumber,o===t)){const n=i.parentIndex;n!==-1?t=e.regions.getStartLineNumber(n):t=null}return t}function IN(o,e){let t=e.getRegionAtLine(o);if(t!==null&&t.startLineNumber===o){if(o!==t.startLineNumber)return t.startLineNumber;{const i=t.parentIndex;let n=0;for(i!==-1&&(n=e.regions.getStartLineNumber(t.parentIndex));t!==null;)if(t.regionIndex>0){if(t=e.regions.toRegion(t.regionIndex-1),t.startLineNumber<=n)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}}else if(e.regions.length>0)for(t=e.regions.toRegion(e.regions.length-1);t!==null;){if(t.startLineNumber<o)return t.startLineNumber;t.regionIndex>0?t=e.regions.toRegion(t.regionIndex-1):t=null}return null}function PN(o,e){let t=e.getRegionAtLine(o);if(t!==null&&t.startLineNumber===o){const i=t.parentIndex;let n=0;if(i!==-1)n=e.regions.getEndLineNumber(t.parentIndex);else{if(e.regions.length===0)return null;n=e.regions.getEndLineNumber(e.regions.length-1)}for(;t!==null;)if(t.regionIndex<e.regions.length){if(t=e.regions.toRegion(t.regionIndex+1),t.startLineNumber>=n)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}else if(e.regions.length>0)for(t=e.regions.toRegion(0);t!==null;){if(t.startLineNumber>o)return t.startLineNumber;t.regionIndex<e.regions.length?t=e.regions.toRegion(t.regionIndex+1):t=null}return null}class TN{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new sn,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange(t=>this.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(t=>t.range.endLineNumber!==t.range.startLineNumber||c4(t.text)[0]!==0))}updateHiddenRanges(){let e=!1;const t=[];let i=0,n=0,s=Number.MAX_VALUE,r=-1;const a=this._foldingModel.regions;for(;i<a.length;i++){if(!a.isCollapsed(i))continue;const d=a.getStartLineNumber(i)+1,u=a.getEndLineNumber(i);s<=d&&u<=r||(!e&&n<this._hiddenRanges.length&&this._hiddenRanges[n].startLineNumber===d&&this._hiddenRanges[n].endLineNumber===u?(t.push(this._hiddenRanges[n]),n++):(e=!0,t.push(new ee(d,1,u,1))),s=d,r=u)}(this._hasLineChanges||e||n<this._hiddenRanges.length)&&this.applyHiddenRanges(t)}applyHiddenRanges(e){this._hiddenRanges=e,this._hasLineChanges=!1,this._updateEventEmitter.fire(e)}hasRanges(){return this._hiddenRanges.length>0}isHidden(e){return oD(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!MN(r,n))&&(n=oD(this._hiddenRanges,r)),n?n.startLineNumber-1:null);for(let r=0,a=e.length;r<a;r++){let d=e[r];const u=s(d.startLineNumber);u&&(d=d.setStartPosition(u,i.getLineMaxColumn(u)),t=!0);const f=s(d.endLineNumber);f&&(d=d.setEndPosition(f,i.getLineMaxColumn(f)),t=!0),e[r]=d}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function MN(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function oD(o,e){const t=y2(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const RN=5e3,NN="indent";class H9{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=NN}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(WN(this.editorModel,i,n,this.foldingRangesLimit))}}let ON=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Xr||t>Xr)return;const n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const i=new Uint32Array(this._length),n=new Uint32Array(this._length);for(let s=this._length-1,r=0;s>=0;s--,r++)i[r]=this._startIndexes[s],n[r]=this._endIndexes[s];return new Uo(i,n)}else{this._foldingRangesLimit.update(this._length,t);let i=0,n=this._indentOccurrences.length;for(let d=0;d<this._indentOccurrences.length;d++){const u=this._indentOccurrences[d];if(u){if(u+i>t){n=d;break}i+=u}}const s=e.getOptions().tabSize,r=new Uint32Array(t),a=new Uint32Array(t);for(let d=this._length-1,u=0;d>=0;d--){const f=this._startIndexes[d],g=e.getLineContent(f),p=Aw(g,s);(p<n||p===n&&i++<t)&&(r[u]=f,a[u]=this._endIndexes[d],u++)}return new Uo(r,a)}}};const HN={limit:RN,update:()=>{}};function WN(o,e,t,i=HN){const n=o.getOptions().tabSize,s=new ON(i);let r;t&&(r=new RegExp(`(${t.start.source})|(?:${t.end.source})`));const a=[],d=o.getLineCount()+1;a.push({indent:-1,endAbove:d,line:d});for(let u=o.getLineCount();u>0;u--){const f=o.getLineContent(u),g=Aw(f,n);let p=a[a.length-1];if(g===-1){e&&(p.endAbove=u);continue}let C;if(r&&(C=f.match(r)))if(C[1]){let b=a.length-1;for(;b>0&&a[b].indent!==-2;)b--;if(b>0){a.length=b+1,p=a[b],s.insertFirst(u,p.line,g),p.line=u,p.indent=g,p.endAbove=u;continue}}else{a.push({indent:-2,endAbove:u,line:u});continue}if(p.indent>g){do a.pop(),p=a[a.length-1];while(p.indent>g);const b=p.endAbove-1;b-u>=1&&s.insertFirst(u,b,g)}p.indent===g?p.endAbove=u:a.push({indent:g,endAbove:u,line:u})}return s.toIndentRanges(o)}const zN=li("editor.foldBackground",{light:Wa(NS,.3),dark:Wa(NS,.3),hcDark:null,hcLight:null},S("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);li("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},S("collapsedTextColor","Color of the collapsed text after the first line of a folded range."));li("editorGutter.foldingControlForeground",d4,S("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const Qm=gs("folding-expanded",$i.chevronDown,S("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),Jm=gs("folding-collapsed",$i.chevronRight,S("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),rD=gs("folding-manual-collapsed",Jm,S("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),aD=gs("folding-manual-expanded",Qm,S("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),EC={color:ks(zN),position:1},ph=S("linesCollapsed","Click to expand the range."),Dx=S("linesExpanded","Click to collapse the range."),xs=class xs{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?xs.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?xs.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:xs.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:xs.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?xs.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:xs.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?xs.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:xs.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?xs.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:xs.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?xs.MANUALLY_EXPANDED_VISUAL_DECORATION:xs.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};xs.COLLAPSED_VISUAL_DECORATION=fn.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:ph,firstLineDecorationClassName:Fn.asClassName(Jm)}),xs.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=fn.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:EC,isWholeLine:!0,linesDecorationsTooltip:ph,firstLineDecorationClassName:Fn.asClassName(Jm)}),xs.MANUALLY_COLLAPSED_VISUAL_DECORATION=fn.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:ph,firstLineDecorationClassName:Fn.asClassName(rD)}),xs.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=fn.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:EC,isWholeLine:!0,linesDecorationsTooltip:ph,firstLineDecorationClassName:Fn.asClassName(rD)}),xs.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=fn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:ph}),xs.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=fn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:EC,isWholeLine:!0,linesDecorationsTooltip:ph}),xs.EXPANDED_VISUAL_DECORATION=fn.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Fn.asClassName(Qm),linesDecorationsTooltip:Dx}),xs.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=fn.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Fn.asClassName(Qm),linesDecorationsTooltip:Dx}),xs.MANUALLY_EXPANDED_VISUAL_DECORATION=fn.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Fn.asClassName(aD),linesDecorationsTooltip:Dx}),xs.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=fn.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Fn.asClassName(aD),linesDecorationsTooltip:Dx}),xs.NO_CONTROLS_EXPANDED_RANGE_DECORATION=fn.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),xs.HIDDEN_RANGE_DECORATION=fn.register({description:"folding-hidden-range-decoration",stickiness:1});let DE=xs;const VN={},jN="syntax";class W9{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=jN,this.disposables=new It,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return $N(this.providers,this.editorModel,e).then(t=>{var i;return t?qN(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function $N(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,VN,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);const d=e.getLineCount();for(const u of a)u.start>0&&u.end>u.start&&u.end<=d&&i.push({start:u.start,end:u.end,rank:r,kind:u.kind})}},ms));return Promise.all(n).then(s=>i)}class UN{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,n){if(e>Xr||t>Xr)return;const s=this._length;this._startIndexes[s]=e,this._endIndexes[s]=t,this._nestingLevels[s]=n,this._types[s]=i,this._length++,n<30&&(this._nestingLevelCounts[n]=(this._nestingLevelCounts[n]||0)+1)}toIndentRanges(){const e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let n=0;n<this._length;n++)t[n]=this._startIndexes[n],i[n]=this._endIndexes[n];return new Uo(t,i,this._types)}else{this._foldingRangesLimit.update(this._length,e);let t=0,i=this._nestingLevelCounts.length;for(let a=0;a<this._nestingLevelCounts.length;a++){const d=this._nestingLevelCounts[a];if(d){if(d+t>e){i=a;break}t+=d}}const n=new Uint32Array(e),s=new Uint32Array(e),r=[];for(let a=0,d=0;a<this._length;a++){const u=this._nestingLevels[a];(u<i||u===i&&t++<e)&&(n[d]=this._startIndexes[a],s[d]=this._endIndexes[a],r[d]=this._types[a],d++)}return new Uo(n,s,r)}}}function qN(o,e){const t=o.sort((r,a)=>{let d=r.start-a.start;return d===0&&(d=r.rank-a.rank),d}),i=new UN(e);let n;const s=[];for(const r of t)if(!n)n=r,i.add(r.start,r.end,r.kind&&r.kind.value,s.length);else if(r.start>n.start)if(r.end<=n.end)s.push(n),n=r,i.add(r.start,r.end,r.kind&&r.kind.value,s.length);else{if(r.start>n.end){do n=s.pop();while(n&&r.start>n.end);n&&s.push(n),n=r}i.add(r.start,r.end,r.kind&&r.kind.value,s.length)}return i.toIndentRanges()}var GN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Bf=function(o,e){return function(t,i){e(t,i,o)}},od;const Xs=new vn("foldingEnabled",!1);var Xd;let Oc=(Xd=class extends Mt{static get(e){return e.getContribution(od.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=od._foldingRangeSelector)==null?void 0:n.call(od,i,t))??i}constructor(e,t,i,n,s,r){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=r,this.localToDispose=this._register(new It),this.editor=e,this._foldingLimitReporter=new lB(e);const a=this.editor.getOptions();this._isEnabled=a.get(43),this._useFoldingProviders=a.get(44)!=="indentation",this._unfoldOnClickAfterEndOfLine=a.get(48),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=a.get(46),this.updateDebounceInfo=s.for(r.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new DE(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=Xs.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(d=>{if(d.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),d.hasChanged(47)&&this.onModelChanged(),d.hasChanged(111)||d.hasChanged(45)){const u=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=u.get(111),this.foldingDecorationProvider.showFoldingHighlights=u.get(45),this.triggerFoldingModelChanged()}d.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!=="indentation",this.onFoldingStrategyChanged()),d.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),d.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))})),this.onModelChanged()}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(!(!t||!this._isEnabled||t.isTooLargeForTokenization()||!this.hiddenRangeModel)&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();!this._isEnabled||!e||e.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new kN(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new TN(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Pc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new Is(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(t=>this.onDidChangeModelContent(t))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(t=>this.onEditorMouseDown(t))),this.localToDispose.add(this.editor.onMouseUp(t=>this.onEditorMouseUp(t))),this.localToDispose.add({dispose:()=>{var t,i;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),(t=this.updateScheduler)==null||t.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,(i=this.rangeProvider)==null||i.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var e;(e=this.rangeProvider)==null||e.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;const t=new H9(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=od.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new W9(e,i,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var t;(t=this.hiddenRangeModel)==null||t.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const e=this.foldingModel;if(!e)return null;const t=new Ro,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=$s(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const u=s.setCollapsedAllOfType(Bp.Imports.value,!0);u&&(r=C0.capture(this.editor),this._currentModelHasFoldedImports=u)}const a=this.editor.getSelections();e.update(s,KN(a)),r==null||r.restore(this.editor);const d=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=d)}return e})}).then(void 0,e=>(zn(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then(t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const n=[];for(const s of i){const r=s.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(r)&&n.push(...t.getAllRegionsAtLine(r,a=>a.isCollapsed&&r>a.startLineNumber))}n.length&&(t.toggleCollapseState(n),this.reveal(i[0].getPosition()))}}}).then(void 0,zn)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const n=e.target.detail,s=e.target.element.offsetLeft;if(n.offsetX-s<4)return;i=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const n=this.editor.getModel();if(n&&t.startColumn===n.getLineMaxColumn(t.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,n=this.mouseDownInfo.iconClicked,s=e.target.range;if(!s||s.startLineNumber!==i)return;if(n){if(e.target.type!==4)return}else{const a=this.editor.getModel();if(!a||s.startColumn!==a.getLineMaxColumn(i))return}const r=t.getRegionAtLine(i);if(r&&r.startLineNumber===i){const a=r.isCollapsed;if(n||a){const d=e.event.altKey;let u=[];if(d){const f=p=>!p.containedBy(r)&&!r.containedBy(p),g=t.getRegionsInside(null,f);for(const p of g)p.isCollapsed&&u.push(p);u.length===0&&(u=g)}else{const f=e.event.middleButton||e.event.shiftKey;if(f)for(const g of t.getRegionsInside(r))g.isCollapsed===a&&u.push(g);(a||!f||u.length===0)&&u.push(r)}t.toggleCollapseState(u),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}},od=Xd,Xd.ID="editor.contrib.folding",Xd);Oc=od=GN([Bf(1,Dn),Bf(2,zs),Bf(3,go),Bf(4,cr),Bf(5,bi)],Oc);class lB{constructor(e){this.editor=e,this._onDidChange=new sn,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}class to extends bt{runEditorCommand(e,t,i){const n=e.get(zs),s=Oc.get(t);if(!s)return;const r=s.getFoldingModel();if(r)return this.reportTelemetry(e,t),r.then(a=>{if(a){this.invoke(s,a,t,i,n);const d=t.getSelection();d&&s.reveal(d.getStartPosition())}})}getSelectedLines(e){const t=e.getSelections();return t?t.map(i=>i.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(i=>i+1):this.getSelectedLines(t)}run(e,t){}}function KN(o){return!o||o.length===0?{startsInside:()=>!1}:{startsInside(e,t){for(const i of o){const n=i.startLineNumber;if(n>=e&&n<=t)return!0}return!1}}}function cB(o){if(!Mf(o)){if(!P2(o))return!1;const e=o;if(!Mf(e.levels)&&!OS(e.levels)||!Mf(e.direction)&&!o2(e.direction)||!Mf(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(OS)))return!1}return!0}class ZN extends to{constructor(){super({id:"editor.unfold",label:S("unfoldAction.label","Unfold"),alias:"Unfold",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument:
23
- * 'levels': Number of levels to unfold. If not set, defaults to 1.
24
- * 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
25
- * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.
26
- `,constraint:cB,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const s=n&&n.levels||1,r=this.getLineNumbers(n,i);n&&n.direction==="up"?rB(t,!1,s,r):sf(t,!1,s,r)}}class XN extends to{constructor(){super({id:"editor.unfoldRecursively",label:S("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2142),weight:100}})}invoke(e,t,i,n){sf(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class YN extends to{constructor(){super({id:"editor.fold",label:S("foldAction.label","Fold"),alias:"Fold",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:`Property-value pairs that can be passed through this argument:
27
- * 'levels': Number of levels to fold.
28
- * 'direction': If 'up', folds given number of levels up otherwise folds down.
29
- * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.
30
- If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
31
- `,constraint:cB,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const s=this.getLineNumbers(n,i),r=n&&n.levels,a=n&&n.direction;typeof r!="number"&&typeof a!="string"?BN(t,!0,s):a==="up"?rB(t,!0,r||1,s):sf(t,!0,r||1,s)}}class QN extends to{constructor(){super({id:"editor.toggleFold",label:S("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);R9(t,1,n)}}class JN extends to{constructor(){super({id:"editor.foldRecursively",label:S("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);sf(t,!0,Number.MAX_VALUE,n)}}class eO extends to{constructor(){super({id:"editor.toggleFoldRecursively",label:S("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);R9(t,Number.MAX_VALUE,n)}}class tO extends to{constructor(){super({id:"editor.foldAllBlockComments",label:S("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())O9(t,Bp.Comment.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).comments;if(a&&a.blockCommentStartToken){const d=new RegExp("^\\s*"+yg(a.blockCommentStartToken));N9(t,d,!0)}}}}class iO extends to{constructor(){super({id:"editor.foldAllMarkerRegions",label:S("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())O9(t,Bp.Region.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const d=new RegExp(a.markers.start);N9(t,d,!0)}}}}class nO extends to{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:S("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())O9(t,Bp.Region.value,!1);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const d=new RegExp(a.markers.start);N9(t,d,!1)}}}}class sO extends to{constructor(){super({id:"editor.foldAllExcept",label:S("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);aB(t,!0,n)}}class oO extends to{constructor(){super({id:"editor.unfoldAllExcept",label:S("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);aB(t,!1,n)}}class rO extends to{constructor(){super({id:"editor.foldAll",label:S("foldAllAction.label","Fold All"),alias:"Fold All",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2069),weight:100}})}invoke(e,t,i){sf(t,!0)}}class aO extends to{constructor(){super({id:"editor.unfoldAll",label:S("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2088),weight:100}})}invoke(e,t,i){sf(t,!1)}}const $h=class $h extends to{getFoldingLevel(){return parseInt(this.id.substr($h.ID_PREFIX.length))}invoke(e,t,i){FN(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};$h.ID_PREFIX="editor.foldLevel",$h.ID=e=>$h.ID_PREFIX+e;let ev=$h;class lO extends to{constructor(){super({id:"editor.gotoParentFold",label:S("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=LN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class cO extends to{constructor(){super({id:"editor.gotoPreviousFold",label:S("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=IN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class dO extends to{constructor(){super({id:"editor.gotoNextFold",label:S("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=PN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class uO extends to{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:S("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2135),weight:100}})}invoke(e,t,i){var r;const n=[],s=i.getSelections();if(s){for(const a of s){let d=a.endLineNumber;a.endColumn===1&&--d,d>a.startLineNumber&&(n.push({startLineNumber:a.startLineNumber,endLineNumber:d,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:a.startLineNumber,startColumn:1,endLineNumber:a.startLineNumber,endColumn:1}))}if(n.length>0){n.sort((d,u)=>d.startLineNumber-u.startLineNumber);const a=Uo.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(Uo.fromFoldRanges(a))}}}}class hO extends to{constructor(){super({id:"editor.removeManualFoldingRanges",label:S("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2137),weight:100}})}invoke(e,t,i){const n=i.getSelections();if(n){const s=[];for(const r of n){const{startLineNumber:a,endLineNumber:d}=r;s.push(d>=a?{startLineNumber:a,endLineNumber:d}:{endLineNumber:d,startLineNumber:a})}t.removeManualRanges(s),e.triggerFoldingModelChanged()}}}an(Oc.ID,Oc,0);Te(ZN);Te(XN);Te(YN);Te(JN);Te(eO);Te(rO);Te(aO);Te(tO);Te(iO);Te(nO);Te(sO);Te(oO);Te(QN);Te(lO);Te(cO);Te(dO);Te(uO);Te(hO);for(let o=1;o<=7;o++)u4(new ev({id:ev.ID(o),label:S("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:Xs,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2048|21+o),weight:100}}));Kn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof On))throw ml();const i=o.get(bi),n=o.get(po).getModel(t);if(!n)throw ml();const s=o.get(Qn);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(zs),a=s.getValue("editor.foldingStrategy",{resource:t}),d={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(C,b)=>{}},u=new H9(n,r,d);let f=u;if(a!=="indentation"){const C=Oc.getFoldingRangeProviders(i,n);C.length&&(f=new W9(n,C,()=>{},d,u))}const g=await f.compute(on.None),p=[];try{if(g)for(let C=0;C<g.length;C++){const b=g.getType(C);p.push({start:g.getStartLineNumber(C),end:g.getEndLineNumber(C),kind:b?Bp.fromValue(b):void 0})}return p}finally{f.dispose()}});class fO extends bt{constructor(){super({id:"editor.action.fontZoomIn",label:S("EditorFontZoomIn.label","Increase Editor Font Size"),alias:"Increase Editor Font Size",precondition:void 0})}run(e,t){Bg.setZoomLevel(Bg.getZoomLevel()+1)}}class gO extends bt{constructor(){super({id:"editor.action.fontZoomOut",label:S("EditorFontZoomOut.label","Decrease Editor Font Size"),alias:"Decrease Editor Font Size",precondition:void 0})}run(e,t){Bg.setZoomLevel(Bg.getZoomLevel()-1)}}class pO extends bt{constructor(){super({id:"editor.action.fontZoomReset",label:S("EditorFontZoomReset.label","Reset Editor Font Size"),alias:"Reset Editor Font Size",precondition:void 0})}run(e,t){Bg.setZoomLevel(0)}}Te(fO);Te(gO);Te(pO);var dB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},lg=function(o,e){return function(t,i){e(t,i,o)}},c0;let tv=(c0=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new It,this._sessionDisposables=new It,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(s=>{s.hasChanged(56)&&this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56)||!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new Em;for(const n of t.autoFormatTriggerCharacters)i.add(n.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(n=>{const s=n.charCodeAt(n.length-1);i.has(s)&&this._trigger(String.fromCharCode(s))}))}_trigger(e){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),n=new Us,s=this._editor.onDidChangeModelContent(r=>{if(r.isFlush){n.cancel(),s.dispose();return}for(let a=0,d=r.changes.length;a<d;a++)if(r.changes[a].range.endLineNumber<=i.lineNumber){n.cancel(),s.dispose();return}});h4(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||Go(r)&&(this._accessibilitySignalService.playSignal(M2.format,{userGesture:!1}),f4.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},c0.ID="editor.contrib.autoFormat",c0);tv=dB([lg(1,bi),lg(2,Rl),lg(3,T2)],tv);var d0;let iv=(d0=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new It,this._callOnModel=new It,this._callOnDispose.add(e.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(e.onDidChangeModel(()=>this._update())),this._callOnDispose.add(e.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:e})=>this._trigger(e)))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(R2,this.editor,e,2,hl.None,on.None,!1).catch(zn))}},d0.ID="editor.contrib.formatOnPaste",d0);iv=dB([lg(1,bi),lg(2,en)],iv);class xO extends bt{constructor(){super({id:"editor.action.formatDocument",label:S("formatDocument.label","Format Document"),alias:"Format Document",precondition:qe.and(U.notInCompositeEditor,U.writable,U.hasDocumentFormattingProvider),kbOpts:{kbExpr:U.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(e,t){if(t.hasModel()){const i=e.get(en);await e.get(_p).showWhile(i.invokeFunction(g4,t,1,hl.None,on.None,!0),250)}}}class mO extends bt{constructor(){super({id:"editor.action.formatSelection",label:S("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:qe.and(U.writable,U.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2084),weight:100},contextMenuOpts:{when:U.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(en),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new ee(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(_p).showWhile(i.invokeFunction(R2,t,s,1,hl.None,on.None,!0),250)}}an(tv.ID,tv,2);an(iv.ID,iv,2);Te(xO);Te(mO);Kn.registerCommand("editor.action.format",async o=>{const e=o.get(vs).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(Ws);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var vO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yC=function(o,e){return function(t,i){e(t,i,o)}};class Oh{remove(){var e;(e=this.parent)==null||e.children.delete(this.id)}static findId(e,t){let i;typeof e=="string"?i=`${t.id}/${e}`:(i=`${t.id}/${e.name}`,t.children.get(i)!==void 0&&(i=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let n=i;for(let s=0;t.children.get(n)!==void 0;s++)n=`${i}_${s}`;return n}static empty(e){return e.children.size===0}}class AE extends Oh{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class uB extends Oh{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class ol extends Oh{static create(e,t,i){const n=new Us(i),s=new ol(t.uri),r=e.ordered(t),a=r.map((u,f)=>{const g=Oh.findId(`provider_${f}`,s),p=new uB(g,s,u.displayName??"Unknown Outline Provider",f);return Promise.resolve(u.provideDocumentSymbols(t,n.token)).then(C=>{for(const b of C||[])ol._makeOutlineElement(b,p);return p},C=>(ms(C),p)).then(C=>{Oh.empty(C)?C.remove():s._groups.set(g,C)})}),d=e.onDidChange(()=>{const u=e.ordered(t);Va(u,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?ol.create(e,t,i):s._compact()).finally(()=>{n.dispose(),d.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=Oh.findId(e,t),n=new AE(i,t,e);if(e.children)for(const s of e.children)ol._makeOutlineElement(s,n);t.children.set(n.id,n)}constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let e=0;for(const[t,i]of this._groups)i.children.size===0?this._groups.delete(t):e+=1;if(e!==1)this.children=this._groups;else{const t=xl.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof AE?e.push(t.symbol):e.push(...xl.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>ee.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return ol._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>_i.compare(ee.getStartPosition(i.range),ee.getStartPosition(n.range))||_i.compare(ee.getEndPosition(n.range),ee.getEndPosition(i.range)))}static _flattenDocumentSymbols(e,t,i){for(const n of t)e.push({kind:n.kind,tags:n.tags,name:n.name,detail:n.detail,containerName:n.containerName||i,range:n.range,selectionRange:n.selectionRange,children:void 0}),n.children&&ol._flattenDocumentSymbols(e,n.children,n.name)}}const $p=Tl("IOutlineModelService");let kE=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new It,this._cache=new Cp(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved(n=>{this._cache.delete(n.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){const i=this._languageFeaturesService.documentSymbolProvider,n=i.ordered(e);let s=this._cache.get(e.id);if(!s||s.versionId!==e.getVersionId()||!Va(s.provider,n)){const a=new Us;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:ol.create(i,e,a.token),model:void 0},this._cache.set(e.id,s);const d=Date.now();s.promise.then(u=>{s.model=u,this._debounceInformation.update(e,Date.now()-d)}).catch(u=>{this._cache.delete(e.id)})}if(s.model)return s.model;s.promiseCnt+=1;const r=t.onCancellationRequested(()=>{--s.promiseCnt===0&&(s.source.cancel(),this._cache.delete(e.id))});try{return await s.promise}finally{r.dispose()}}};kE=vO([yC(0,bi),yC(1,cr),yC(2,po)],kE);Ml($p,kE,1);Kn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;An(On.isUri(t));const i=o.get($p),s=await o.get(ha).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,on.None)).getTopLevelSymbols()}finally{s.dispose()}});const wa=class wa extends Mt{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=wa.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=wa.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=wa.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=wa.suppressSuggestions.bindTo(this.contextKeyService),this._register(ts(i=>{const n=this.model.read(i),s=n==null?void 0:n.state.read(i),r=!!(s!=null&&s.inlineCompletion)&&(s==null?void 0:s.primaryGhostText)!==void 0&&!(s!=null&&s.primaryGhostText.isEmpty());this.inlineCompletionVisible.set(r),s!=null&&s.primaryGhostText&&(s!=null&&s.inlineCompletion)&&this.suppressSuggestions.set(s.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)})),this._register(ts(i=>{const n=this.model.read(i);let s=!1,r=!0;const a=n==null?void 0:n.primaryGhostText.read(i);if(n!=null&&n.selectedSuggestItem&&a&&a.parts.length>0){const{column:d,lines:u}=a.parts[0],f=u[0],g=n.textModel.getLineIndentColumn(a.lineNumber);if(d<=g){let C=e1(f);C===-1&&(C=f.length-1),s=C>0;const b=n.textModel.getOptions().tabSize;r=p4.visibleColumnFromColumn(f,C+1,b)<b}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};wa.inlineSuggestionVisible=new vn("inlineSuggestionVisible",!1,S("inlineSuggestionVisible","Whether an inline suggestion is visible")),wa.inlineSuggestionHasIndentation=new vn("inlineSuggestionHasIndentation",!1,S("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),wa.inlineSuggestionHasIndentationLessThanTabSize=new vn("inlineSuggestionHasIndentationLessThanTabSize",!0,S("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),wa.suppressSuggestions=new vn("inlineSuggestionSuppressSuggestions",void 0,S("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let Mo=wa;function _O(o){const e=new It,t=e.add(N2());return e.add(ts(i=>{t.setStyle(o.read(i))})),e}class $g{constructor(e,t){this.lineNumber=e,this.parts=t}equals(e){return this.lineNumber===e.lineNumber&&this.parts.length===e.parts.length&&this.parts.every((t,i)=>t.equals(e.parts[i]))}renderForScreenReader(e){if(this.parts.length===0)return"";const t=this.parts[this.parts.length-1],i=e.substr(0,t.column-1);return new O2([...this.parts.map(s=>new Sl(ee.fromPositions(new _i(1,s.column)),s.lines.join(`
32
- `)))]).applyToString(i).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>e.lines.length===0)}get lineCount(){return 1+this.parts.reduce((e,t)=>e+t.lines.length-1,0)}}class nv{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=G_(this.text)}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every((t,i)=>t===e.lines[i])}}class BE{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new nv(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=G_(this.text)}renderForScreenReader(e){return this.newLines.join(`
33
- `)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(e=>e.lines.length===0)}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every((t,i)=>t===e.newLines[i])&&this.additionalReservedLineCount===e.additionalReservedLineCount}}function lD(o,e){return Va(o,e,hB)}function hB(o,e){return o===e?!0:!o||!e?!1:o instanceof $g&&e instanceof $g||o instanceof BE&&e instanceof BE?o.equals(e):!1}const bO=[];function CO(){return bO}class fB{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new S0(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new ee(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function gB(o,e){const t=new It,i=o.createDecorationsCollection();return t.add(x4({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function EO(o,e){return new _i(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function cD(o,e){return new _i(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var yO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},wO=function(o,e){return function(t,i){e(t,i,o)}};const dD="ghost-text";let FE=class extends Mt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Ko(this,!1),this.currentTextModel=Fo(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Mn(this,n=>{if(this.isDisposed.read(n))return;const s=this.currentTextModel.read(n);if(s!==this.model.targetTextModel.read(n))return;const r=this.model.ghostText.read(n);if(!r)return;const a=r instanceof BE?r.columnRange:void 0,d=[],u=[];function f(y,w){if(u.length>0){const A=u[u.length-1];w&&A.decorations.push(new Fg(A.content.length+1,A.content.length+1+y[0].length,w,0)),A.content+=y[0],y=y.slice(1)}for(const A of y)u.push({content:A,decorations:w?[new Fg(1,A.length+1,w,0)]:[]})}const g=s.getLineContent(r.lineNumber);let p,C=0;for(const y of r.parts){let w=y.lines;p===void 0?(d.push({column:y.column,text:w[0],preview:y.preview}),w=w.slice(1)):f([g.substring(C,y.column-1)],void 0),w.length>0&&(f(w,dD),p===void 0&&y.column<=g.length&&(p=y.column)),C=y.column-1}p!==void 0&&f([g.substring(C)],void 0);const b=p!==void 0?new fB(p,g.length+1):void 0;return{replacedRange:a,inlineTexts:d,additionalLines:u,hiddenRange:b,lineNumber:r.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s}}),this.decorations=Mn(this,n=>{const s=this.uiState.read(n);if(!s)return[];const r=[];s.replacedRange&&r.push({range:s.replacedRange.toRange(s.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),s.hiddenRange&&r.push({range:s.hiddenRange.toRange(s.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const a of s.inlineTexts)r.push({range:ee.fromPositions(new _i(s.lineNumber,a.column)),options:{description:dD,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:Ih.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new SO(this.editor,this.languageService.languageIdCodec,Mn(n=>{const s=this.uiState.read(n);return s?{lineNumber:s.lineNumber,additionalLines:s.additionalLines,minReservedLineCount:s.additionalReservedLineCount,targetTextModel:s.targetTextModel}:void 0}))),this._register(Xn(()=>{this.isDisposed.set(!0,void 0)})),this._register(gB(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};FE=yO([wO(2,ua)],FE);class SO extends Mt{get viewZoneId(){return this._viewZoneId}constructor(e,t,i){super(),this.editor=e,this.languageIdCodec=t,this.lines=i,this._viewZoneId=void 0,this.editorOptionsChanged=yd("editorOptionChanged",Ls.filter(this.editor.onDidChangeConfiguration,n=>n.hasChanged(33)||n.hasChanged(118)||n.hasChanged(100)||n.hasChanged(95)||n.hasChanged(51)||n.hasChanged(50)||n.hasChanged(67))),this._register(ts(n=>{const s=this.lines.read(n);this.editorOptionsChanged.read(n),s?this.updateLines(s.lineNumber,s.additionalLines,s.minReservedLineCount):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones(e=>{this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(e,t,i){const n=this.editor.getModel();if(!n)return;const{tabSize:s}=n.getOptions();this.editor.changeViewZones(r=>{this._viewZoneId&&(r.removeZone(this._viewZoneId),this._viewZoneId=void 0);const a=Math.max(t.length,i);if(a>0){const d=document.createElement("div");DO(d,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:d,afterColumnAffinity:1})}})}}function DO(o,e,t,i,n){const s=i.get(33),r=i.get(118),a="none",d=i.get(95),u=i.get(51),f=i.get(50),g=i.get(67),p=new W2(1e4);p.appendString('<div class="suggest-preview-text">');for(let y=0,w=t.length;y<w;y++){const A=t[y],P=A.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(y*g)),p.appendString('px;width:1000000px;">');const M=$2(P),R=m4(P),T=v4.createEmpty(P,n);z2(new V2(f.isMonospace&&!s,f.canUseHalfwidthRightwardsArrow,P,!1,M,R,0,T,A.decorations,e,0,f.spaceWidth,f.middotWidth,f.wsmiddotWidth,r,a,d,u!==_4.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),j2(o,f);const C=p.build(),b=uD?uD.createHTML(C):C;o.innerHTML=b}const uD=H2("editorGhostText",{createHTML:o=>o});function AO(o,e){const t=new y4,i=new C4(t,u=>e.getLanguageConfiguration(u)),n=new b4(new kO([o]),i),s=E4(n,[],void 0,!0);let r="";const a=o.getLineContent();function d(u,f){if(u.kind===2)if(d(u.openingBracket,f),f=wf(f,u.openingBracket.length),u.child&&(d(u.child,f),f=wf(f,u.child.length)),u.closingBracket)d(u.closingBracket,f),f=wf(f,u.closingBracket.length);else{const p=i.getSingleLanguageBracketTokens(u.openingBracket.languageId).findClosingTokenText(u.openingBracket.bracketIds);r+=p}else if(u.kind!==3){if(u.kind===0||u.kind===1)r+=a.substring(HS(f),HS(wf(f,u.length)));else if(u.kind===4)for(const g of u.children)d(g,f),f=wf(f,g.length)}}return d(s,w4),r}class kO{constructor(e){this.lines=e,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}async function pB(o,e,t,i,n=on.None,s){const r=e instanceof _i?LO(e,t):e,a=o.all(t),d=new S4;for(const A of a)A.groupId&&d.add(A.groupId,A);function u(A){if(!A.yieldsToGroupIds)return[];const P=[];for(const M of A.yieldsToGroupIds||[]){const R=d.get(M);for(const T of R)P.push(T)}return P}const f=new Map,g=new Set;function p(A,P){if(P=[...P,A],g.has(A))return P;g.add(A);try{const M=u(A);for(const R of M){const T=p(R,P);if(T)return T}}finally{g.delete(A)}}function C(A){const P=f.get(A);if(P)return P;const M=p(A,[]);M&&ms(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${M.map(T=>T.toString?T.toString():""+T).join(" -> ")}`));const R=new R_;return f.set(A,R.p),(async()=>{var T;if(!M){const V=u(A);for(const H of V){const J=await C(H);if(J&&J.items.length>0)return}}try{return e instanceof _i?await A.provideInlineCompletions(t,e,i,n):await((T=A.provideInlineEdits)==null?void 0:T.call(A,t,e,i,n))}catch(V){ms(V);return}})().then(T=>R.complete(T),T=>R.error(T)),R.p}const b=await Promise.all(a.map(async A=>({provider:A,completions:await C(A)}))),y=new Map,w=[];for(const A of b){const P=A.completions;if(!P)continue;const M=new FO(P,A.provider);w.push(M);for(const R of P.items){const T=sv.from(R,M,r,t,s);y.set(T.hash(),T)}}return new BO(Array.from(y.values()),new Set(y.keys()),w)}class BO{constructor(e,t,i){this.completions=e,this.hashs=t,this.providerResults=i}has(e){return this.hashs.has(e.hash())}dispose(){for(const e of this.providerResults)e.removeRef()}}class FO{constructor(e,t){this.inlineCompletions=e,this.provider=t,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,this.refCount===0&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class sv{static from(e,t,i,n,s){let r,a,d=e.range?ee.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=hD(r,d.getStartPosition(),n,s);const u=r.length-e.insertText.length;u!==0&&(d=new ee(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn+u))}a=void 0}else if("snippet"in e.insertText){const u=e.insertText.snippet.length;if(s&&e.completeBracketPairs){e.insertText.snippet=hD(e.insertText.snippet,d.getStartPosition(),n,s);const g=e.insertText.snippet.length-u;g!==0&&(d=new ee(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn+g))}const f=new Au().parse(e.insertText.snippet);f.children.length===1&&f.children[0]instanceof Lo?(r=f.children[0].value,a=void 0):(r=f.toString(),a={snippet:e.insertText.snippet,range:d})}else D4(e.insertText);return new sv(r,e.command,d,r,a,e.additionalTextEdits||CO(),e,t)}constructor(e,t,i,n,s,r,a,d){this.filterText=e,this.command=t,this.range=i,this.insertText=n,this.snippetInfo=s,this.additionalTextEdits=r,this.sourceInlineCompletion=a,this.source=d,e=e.replace(/\r\n|\r/g,`
34
- `),n=e.replace(/\r\n|\r/g,`
35
- `)}withRange(e){return new sv(this.filterText,this.command,e,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}toSingleTextEdit(){return new Sl(this.range,this.insertText)}}function LO(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new ee(o.lineNumber,t.startColumn,o.lineNumber,i):ee.fromPositions(o,o.with(void 0,i))}function hD(o,e,t,i){const s=t.getLineContent(e.lineNumber).substring(0,e.column-1)+o,r=t.tokenization.tokenizeLineWithEdit(e,s.length-(e.column-1),o),a=r==null?void 0:r.sliceAndInflate(e.column-1,s.length,0);return a?AO(a,i):o}function Fd(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=kp(n,o.text),r=ym.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),d=ee.fromPositions(r,o.range.getEndPosition());return new Sl(d,a)}function xB(o,e){return o.text.startsWith(e.text)&&IO(o.range,e.range)}function fD(o,e,t,i,n=0){let s=Fd(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=Js(r).length;if(s.range.startColumn-1<=a){const b=Js(s.text).length,y=r.substring(s.range.startColumn-1,a),[w,A]=[s.range.getStartPosition(),s.range.getEndPosition()],P=w.column+y.length<=A.column?w.delta(0,y.length):A,M=ee.fromPositions(P,A),R=s.text.startsWith(y)?s.text.substring(y.length):s.text.substring(b);s=new Sl(M,R)}const u=e.getValueInRange(s.range),f=PO(u,s.text);if(!f)return;const g=s.range.startLineNumber,p=new Array;if(t==="prefix"){const b=f.filter(y=>y.originalLength===0);if(b.length>1||b.length===1&&b[0].originalStart!==u.length)return}const C=s.text.length-n;for(const b of f){const y=s.range.startColumn+b.originalStart+b.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===s.range.startLineNumber&&y<i.column||b.originalLength>0)return;if(b.modifiedLength===0)continue;const w=b.modifiedStart+b.modifiedLength,A=Math.max(b.modifiedStart,Math.min(w,C)),P=s.text.substring(b.modifiedStart,A),M=s.text.substring(A,Math.max(b.modifiedStart,w));P.length>0&&p.push(new nv(y,P,!1)),M.length>0&&p.push(new nv(y,M,!0))}return new $g(g,p)}function IO(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let _a;function PO(o,e){if((_a==null?void 0:_a.originalValue)===o&&(_a==null?void 0:_a.newValue)===e)return _a==null?void 0:_a.changes;{let t=pD(o,e,!0);if(t){const i=gD(t);if(i>0){const n=pD(o,e,!1);n&&gD(n)<i&&(t=n)}}return _a={originalValue:o,newValue:e,changes:t},t}}function gD(o){let e=0;for(const t of o)e+=t.originalLength;return e}function pD(o,e,t){if(o.length>5e3||e.length>5e3)return;function i(u){let f=0;for(let g=0,p=u.length;g<p;g++){const C=u.charCodeAt(g);C>f&&(f=C)}return f}const n=Math.max(i(o),i(e));function s(u){if(u<0)throw new Error("unexpected");return n+u+1}function r(u){let f=0,g=0;const p=new Int32Array(u.length);for(let C=0,b=u.length;C<b;C++)if(t&&u[C]==="("){const y=g*100+f;p[C]=s(2*y),f++}else if(t&&u[C]===")"){f=Math.max(f-1,0);const y=g*100+f;p[C]=s(2*y+1),f===0&&g++}else p[C]=u.charCodeAt(C);return p}const a=r(o),d=r(e);return new A4({getElements:()=>a},{getElements:()=>d}).ComputeDiff(!1).changes}var TO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},xD=function(o,e){return function(t,i){e(t,i,o)}};let LE=class extends Mt{constructor(e,t,i,n,s){super(),this.textModel=e,this.versionId=t,this._debounceValue=i,this.languageFeaturesService=n,this.languageConfigurationService=s,this._updateOperation=this._register(new Xo),this.inlineCompletions=n1("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=n1("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var f,g;const n=new RO(e,t,this.textModel.getVersionId()),s=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if((f=this._updateOperation.value)!=null&&f.request.satisfies(n))return this._updateOperation.value.promise;if((g=s.get())!=null&&g.request.satisfies(n))return Promise.resolve(!0);const r=!!this._updateOperation.value;this._updateOperation.clear();const a=new Us,d=(async()=>{if((r||t.triggerKind===vl.Automatic)&&await MO(this._debounceValue.get(this.textModel),a.token),a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const C=new Date,b=await pB(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,a.token,this.languageConfigurationService);if(a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const y=new Date;this._debounceValue.update(this.textModel,y.getTime()-C.getTime());const w=new OO(b,n,this.textModel,this.versionId);if(i){const A=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!b.has(A)&&w.prepend(i.inlineCompletion,A.range,!0)}return this._updateOperation.clear(),Wu(A=>{s.set(w,A)}),!0})(),u=new NO(n,a,d);return this._updateOperation.value=u,d}clear(e){this._updateOperation.clear(),this.inlineCompletions.set(void 0,e),this.suggestWidgetInlineCompletions.set(void 0,e)}clearSuggestWidgetInlineCompletions(e){var t;(t=this._updateOperation.value)!=null&&t.request.context.selectedSuggestionInfo&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,e)}cancelUpdate(){this._updateOperation.clear()}};LE=TO([xD(3,bi),xD(4,zs)],LE);function MO(o,e){return new Promise(t=>{let i;const n=setTimeout(()=>{i&&i.dispose(),t()},o);e&&(i=e.onCancellationRequested(()=>{clearTimeout(n),i&&i.dispose(),t()}))})}class RO{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&k4(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,F4())&&(e.context.triggerKind===vl.Automatic||this.context.triggerKind===vl.Explicit)&&this.versionId===e.versionId}}class NO{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class OO{get inlineCompletions(){return this._inlineCompletions}constructor(e,t,i,n){this.inlineCompletionProviderResult=e,this.request=t,this._textModel=i,this._versionId=n,this._refCount=1,this._prependedInlineCompletionItems=[];const s=i.deltaDecorations([],e.completions.map(r=>({range:r.range,options:{description:"inline-completion-tracking-range"}})));this._inlineCompletions=e.completions.map((r,a)=>new mD(r,s[a],this._textModel,this._versionId))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,this._refCount===0){setTimeout(()=>{this._textModel.isDisposed()||this._textModel.deltaDecorations(this._inlineCompletions.map(e=>e.decorationId),[])},0),this.inlineCompletionProviderResult.dispose();for(const e of this._prependedInlineCompletionItems)e.source.removeRef()}}prepend(e,t,i){i&&e.source.addRef();const n=this._textModel.deltaDecorations([],[{range:t,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new mD(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class mD{get forwardStable(){return this.inlineCompletion.source.inlineCompletions.enableForwardStability??!1}constructor(e,t,i,n){this.inlineCompletion=e,this.decorationId=t,this._textModel=i,this._modelVersion=n,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._updatedRange=dl({owner:this,equalsFn:ee.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??wC)}toSingleTextEdit(e){return new Sl(this._updatedRange.read(e)??wC,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=Fd(this._toFilterTextReplacement(i),e),s=this._updatedRange.read(i);if(!s||!this.inlineCompletion.range.getStartPosition().equals(s.getStartPosition())||t.lineNumber!==n.range.startLineNumber)return!1;const r=e.getValueInRange(n.range,1),a=n.text,d=Math.max(0,t.column-n.range.startColumn);let u=a.substring(0,d),f=a.substring(d),g=r.substring(0,d),p=r.substring(d);const C=e.getLineIndentColumn(n.range.startLineNumber);return n.range.startColumn<=C&&(g=g.trimStart(),g.length===0&&(p=p.trimStart()),u=u.trimStart(),u.length===0&&(f=f.trimStart())),u.startsWith(g)&&!!B4(p,f)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&ym.ofRange(i).isGreaterThanOrEqualTo(ym.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new Sl(this._updatedRange.read(e)??wC,this.inlineCompletion.filterText)}}const wC=new ee(1,1,1,1),ji={Visible:T9,HasFocusedSuggestion:new vn("suggestWidgetHasFocusedSuggestion",!1,S("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new vn("suggestWidgetDetailsVisible",!1,S("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new vn("suggestWidgetMultipleSuggestions",!1,S("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new vn("suggestionMakesTextEdit",!0,S("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new vn("acceptSuggestionOnEnter",!0,S("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new vn("suggestionHasInsertAndReplaceRange",!1,S("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new vn("suggestionInsertMode",void 0,{type:"string",description:S("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new vn("suggestionCanResolve",!1,S("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},pc=new Xt("suggestWidgetStatusBar");class HO{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=Ag.Default,this.distance=0,this.textLabel=typeof t.label=="string"?t.label:(s=t.label)==null?void 0:s.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,ee.isIRange(t.range)?(this.editStart=new _i(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new _i(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new _i(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||ee.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new _i(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new _i(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new _i(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||ee.spansMultipleLines(t.range.insert)||ee.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),typeof n.resolveCompletionItem!="function"&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration!==void 0?this._resolveDuration:-1}async resolve(e){if(!this._resolveCache){const t=e.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),i=new Ro(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{zc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const i_=class i_{constructor(e=2,t=new Set,i=new Set,n=new Map,s=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.providerItemsToReuse=n,this.showDeprecated=s}};i_.default=new i_;let Ug=i_;class WO{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function z9(o,e,t,i=Ug.default,n={triggerKind:0},s=on.None){const r=new Ro;t=t.clone();const a=e.getWordAtPosition(t),d=a?new ee(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):ee.fromPositions(t),u={replace:d,insert:d.setEndPosition(t.lineNumber,t.column)},f=[],g=new It,p=[];let C=!1;const b=(w,A,P)=>{var R;let M=!1;if(!A)return M;for(const T of A.suggestions)if(!i.kindFilter.has(T.kind)){if(!i.showDeprecated&&((R=T==null?void 0:T.tags)!=null&&R.includes(1)))continue;T.range||(T.range=u),T.sortText||(T.sortText=typeof T.label=="string"?T.label:T.label.label),!C&&T.insertTextRules&&T.insertTextRules&4&&(C=Au.guessNeedsClipboard(T.insertText)),f.push(new HO(t,T,A,w)),M=!0}return U2(A)&&g.add(A),p.push({providerName:w._debugDisplayName??"unknown_provider",elapsedProvider:A.duration??-1,elapsedOverall:P.elapsed()}),M},y=(async()=>{})();for(const w of o.orderedGroups(e)){let A=!1;if(await Promise.all(w.map(async P=>{if(i.providerItemsToReuse.has(P)){const M=i.providerItemsToReuse.get(P);M.forEach(R=>f.push(R)),A=A||M.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(P)))try{const M=new Ro,R=await P.provideCompletionItems(e,t,n,s);A=b(P,R,M)||A}catch(M){ms(M)}})),A||s.isCancellationRequested)break}return await y,s.isCancellationRequested?(g.dispose(),Promise.reject(new N_)):new WO(f.sort(jO(i.snippetSortOrder)),C,{entries:p,elapsed:r.elapsed()},g)}function V9(o,e){if(o.sortTextLow&&e.sortTextLow){if(o.sortTextLow<e.sortTextLow)return-1;if(o.sortTextLow>e.sortTextLow)return 1}return o.textLabel<e.textLabel?-1:o.textLabel>e.textLabel?1:o.completion.kind-e.completion.kind}function zO(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return V9(o,e)}function VO(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return V9(o,e)}const vb=new Map;vb.set(0,zO);vb.set(2,VO);vb.set(1,V9);function jO(o){return vb.get(o)}Kn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;An(On.isUri(t)),An(_i.isIPosition(i)),An(typeof n=="string"||!n),An(typeof s=="number"||!s);const{completionProvider:r}=o.get(bi),a=await o.get(ha).createModelReference(t);try{const d={incomplete:!1,suggestions:[]},u=[],f=a.object.textEditorModel.validatePosition(i),g=await z9(r,a.object.textEditorModel,f,void 0,{triggerCharacter:n??void 0,triggerKind:n?1:0});for(const p of g.items)u.length<(s??0)&&u.push(p.resolve(on.None)),d.incomplete=d.incomplete||p.container.incomplete,d.suggestions.push(p.completion);try{return await Promise.all(u),d}finally{setTimeout(()=>g.disposable.dispose(),100)}}finally{a.dispose()}});function $O(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class Hh{static isAllOff(e){return e.other==="off"&&e.comments==="off"&&e.strings==="off"}static isAllOn(e){return e.other==="on"&&e.comments==="on"&&e.strings==="on"}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}}function vD(o,e=M_){return L4(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var UO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qO=function(o,e){return function(t,i){e(t,i,o)}};class _D{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const i=t.resolve(e);if(i!==void 0)return i}}}class bD{constructor(e,t,i,n){this._model=e,this._selection=t,this._selectionIdx=i,this._overtypingCapturer=n}resolve(e){const{name:t}=e;if(t==="SELECTION"||t==="TM_SELECTED_TEXT"){let i=this._model.getValueInRange(this._selection)||void 0,n=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){const s=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);s&&(i=s.value,n=s.multiline)}if(i&&n&&e.snippet){const s=this._model.getLineContent(this._selection.startLineNumber),r=Js(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(u=>u===e?!1:(u instanceof Lo&&(a=Js(G_(u.value).pop())),!0));const d=kp(a,r);i=i.replace(/(\r\n|\r|\n)(.*)/g,(u,f,g)=>`${f}${a.substr(d)}${g}`)}return i}else{if(t==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(t==="TM_CURRENT_WORD"){const i=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return i&&i.word||void 0}else{if(t==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(t==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);if(t==="CURSOR_INDEX")return String(this._selectionIdx);if(t==="CURSOR_NUMBER")return String(this._selectionIdx+1)}}}}class CD{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return Jf(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=Jf(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return I4(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(Nw(this._model.uri));if(t==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);if(t==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}class ED{constructor(e,t,i,n){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=i,this._spread=n}resolve(e){if(e.name!=="CLIPBOARD")return;const t=this._readClipboardText();if(t){if(this._spread){const i=t.split(/\r\n|\n|\r/).filter(n=>!P4(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let ov=class{constructor(e,t,i){this._model=e,this._selection=t,this._languageConfigurationService=i}resolve(e){const{name:t}=e,i=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),n=this._languageConfigurationService.getLanguageConfiguration(i).comments;if(n){if(t==="LINE_COMMENT")return n.lineCommentToken||void 0;if(t==="BLOCK_COMMENT_START")return n.blockCommentStartToken||void 0;if(t==="BLOCK_COMMENT_END")return n.blockCommentEndToken||void 0}}};ov=UO([qO(2,zs)],ov);const Sa=class Sa{constructor(){this._date=new Date}resolve(e){const{name:t}=e;if(t==="CURRENT_YEAR")return String(this._date.getFullYear());if(t==="CURRENT_YEAR_SHORT")return String(this._date.getFullYear()).slice(-2);if(t==="CURRENT_MONTH")return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if(t==="CURRENT_DATE")return String(this._date.getDate().valueOf()).padStart(2,"0");if(t==="CURRENT_HOUR")return String(this._date.getHours().valueOf()).padStart(2,"0");if(t==="CURRENT_MINUTE")return String(this._date.getMinutes().valueOf()).padStart(2,"0");if(t==="CURRENT_SECOND")return String(this._date.getSeconds().valueOf()).padStart(2,"0");if(t==="CURRENT_DAY_NAME")return Sa.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return Sa.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return Sa.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return Sa.monthNamesShort[this._date.getMonth()];if(t==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3));if(t==="CURRENT_TIMEZONE_OFFSET"){const i=this._date.getTimezoneOffset(),n=i>0?"-":"+",s=Math.trunc(Math.abs(i/60)),r=s<10?"0"+s:s,a=Math.abs(i)-s*60,d=a<10?"0"+a:a;return n+r+":"+d}}};Sa.dayNames=[S("Sunday","Sunday"),S("Monday","Monday"),S("Tuesday","Tuesday"),S("Wednesday","Wednesday"),S("Thursday","Thursday"),S("Friday","Friday"),S("Saturday","Saturday")],Sa.dayNamesShort=[S("SundayShort","Sun"),S("MondayShort","Mon"),S("TuesdayShort","Tue"),S("WednesdayShort","Wed"),S("ThursdayShort","Thu"),S("FridayShort","Fri"),S("SaturdayShort","Sat")],Sa.monthNames=[S("January","January"),S("February","February"),S("March","March"),S("April","April"),S("May","May"),S("June","June"),S("July","July"),S("August","August"),S("September","September"),S("October","October"),S("November","November"),S("December","December")],Sa.monthNamesShort=[S("JanuaryShort","Jan"),S("FebruaryShort","Feb"),S("MarchShort","Mar"),S("AprilShort","Apr"),S("MayShort","May"),S("JuneShort","Jun"),S("JulyShort","Jul"),S("AugustShort","Aug"),S("SeptemberShort","Sep"),S("OctoberShort","Oct"),S("NovemberShort","Nov"),S("DecemberShort","Dec")];let rv=Sa;class yD{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=T4(this._workspaceService.getWorkspace());if(!M4(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(WS(e))return Jf(e.uri.path);let t=Jf(e.configPath.path);return t.endsWith(zS)&&(t=t.substr(0,t.length-zS.length-1)),t}_resoveWorkspacePath(e){if(WS(e))return vD(e.uri.fsPath);const t=Jf(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?vD(i):"/"}}class wD{resolve(e){const{name:t}=e;if(t==="RANDOM")return Math.random().toString().slice(-6);if(t==="RANDOM_HEX")return Math.random().toString(16).slice(-6);if(t==="UUID")return lb()}}var GO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},KO=function(o,e){return function(t,i){e(t,i,o)}},jr;const _r=class _r{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=VS(t.placeholders,rr.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const e=this._editor.getModel();this._editor.changeDecorations(t=>{for(const i of this._snippet.placeholders){const n=this._snippet.offset(i),s=this._snippet.fullLen(i),r=ee.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?_r._decor.inactiveFinal:_r._decor.inactive,d=t.addDecoration(r,a);this._placeholderDecorations.set(i,d)}})}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const n=[];for(const s of this._placeholderGroups[this._placeholderGroupsIdx])if(s.transform){const r=this._placeholderDecorations.get(s),a=this._editor.getModel().getDecorationRange(r),d=this._editor.getModel().getValueInRange(a),u=s.transform.resolve(d).split(/\r\n|\r|\n/);for(let f=1;f<u.length;f++)u[f]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+u[f]);n.push(os.replace(a,u.join(this._editor.getModel().getEOL())))}n.length>0&&this._editor.executeEdits("snippet.placeholderTransform",n)}let t=!1;e===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,t=!0):e===!1&&this._placeholderGroupsIdx>0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations(n=>{const s=new Set,r=[];for(const a of this._placeholderGroups[this._placeholderGroupsIdx]){const d=this._placeholderDecorations.get(a),u=this._editor.getModel().getDecorationRange(d);r.push(new Hi(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(d,a.isFinalTabstop?_r._decor.activeFinal:_r._decor.active),s.add(a);for(const f of this._snippet.enclosingPlaceholders(a)){const g=this._placeholderDecorations.get(f);n.changeDecorationOptions(g,f.isFinalTabstop?_r._decor.activeFinal:_r._decor.active),s.add(f)}}for(const[a,d]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(d,a.isFinalTabstop?_r._decor.inactiveFinal:_r._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof rr){const i=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(i).isEmpty()&&t.toString().length>0)return!0}t=t.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0)return!0;if(this._snippet.placeholders.length===1){const[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){const e=new Map;for(const t of this._placeholderGroups){let i;for(const n of t){if(n.isFinalTabstop)break;i||(i=[],e.set(n.index,i));const s=this._placeholderDecorations.get(n),r=this._editor.getModel().getDecorationRange(s);if(!r){e.delete(n.index);break}i.push(r)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(e!=null&&e.choice))return;const t=this._placeholderDecorations.get(e);if(!t)return;const i=this._editor.getModel().getDecorationRange(t);if(i)return{range:i,choice:e.choice}}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof nf,!e)),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(i=>{for(const n of this._placeholderGroups[this._placeholderGroupsIdx]){const s=e.shift();console.assert(s._offset!==-1),console.assert(!s._placeholderDecorations);const r=s._snippet.placeholderInfo.last.index;for(const d of s._snippet.placeholderInfo.all)d.isFinalTabstop?d.index=n.index+(r+1)/this._nestingLevel:d.index=n.index+d.index/this._nestingLevel;this._snippet.replace(n,s._snippet.children);const a=this._placeholderDecorations.get(n);i.removeDecoration(a),this._placeholderDecorations.delete(n);for(const d of s._snippet.placeholders){const u=s._snippet.offset(d),f=s._snippet.fullLen(d),g=ee.fromPositions(t.getPositionAt(s._offset+u),t.getPositionAt(s._offset+u+f)),p=i.addDecoration(g,_r._decor.inactive);this._placeholderDecorations.set(d,p)}}this._placeholderGroups=VS(this._snippet.placeholders,rr.compareByIndex)})}};_r._decor={active:fn.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:fn.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:fn.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:fn.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let av=_r;const SD={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let lv=jr=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=Js(r,0,t.column-1);let d;return n.walk(u=>{if(!(u instanceof Lo)||u.parent instanceof nf||s&&!s.has(u))return!0;const f=u.value.split(/\r\n|\r|\n/);if(i){const p=n.offset(u);if(p===0)f[0]=e.normalizeIndentation(f[0]);else{d=d??n.toString();const C=d.charCodeAt(p-1);(C===10||C===13)&&(f[0]=e.normalizeIndentation(a+f[0]))}for(let C=1;C<f.length;C++)f[C]=e.normalizeIndentation(a+f[C])}const g=f.join(e.getEOL());return g!==u.value&&(u.parent.replace(u,[new Lo(g)]),d=void 0),!0}),a}static adjustSelection(e,t,i,n){if(i!==0||n!==0){const{positionLineNumber:s,positionColumn:r}=t,a=r-i,d=r+n,u=e.validateRange({startLineNumber:s,startColumn:a,endLineNumber:s,endColumn:d});t=Hi.createWithDirection(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,i,n,s,r,a,d,u){const f=[],g=[];if(!e.hasModel())return{edits:f,snippets:g};const p=e.getModel(),C=e.invokeWithinContext(R=>R.get(m0)),b=e.invokeWithinContext(R=>new CD(R.get(Dg),p)),y=()=>a,w=p.getValueInRange(jr.adjustSelection(p,e.getSelection(),i,0)),A=p.getValueInRange(jr.adjustSelection(p,e.getSelection(),0,n)),P=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),M=e.getSelections().map((R,T)=>({selection:R,idx:T})).sort((R,T)=>ee.compareRangesUsingStarts(R.selection,T.selection));for(const{selection:R,idx:T}of M){let V=jr.adjustSelection(p,R,i,0),H=jr.adjustSelection(p,R,0,n);w!==p.getValueInRange(V)&&(V=R),A!==p.getValueInRange(H)&&(H=R);const J=R.setStartPosition(V.startLineNumber,V.startColumn).setEndPosition(H.endLineNumber,H.endColumn),se=new Au().parse(t,!0,s),ue=J.getStartPosition(),ie=jr.adjustWhitespace(p,ue,r||T>0&&P!==p.getLineFirstNonWhitespaceColumn(R.positionLineNumber),se);se.resolveVariables(new _D([b,new ED(y,T,M.length,e.getOption(79)==="spread"),new bD(p,R,T,d),new ov(p,R,u),new rv,new yD(C),new wD])),f[T]=os.replace(J,se.toString()),f[T].identifier={major:T,minor:0},f[T]._isTracked=!0,g[T]=new av(e,se,ie)}return{edits:f,snippets:g}}static createEditsAndSnippetsFromEdits(e,t,i,n,s,r,a){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const d=[],u=e.getModel(),f=new Au,g=new Np,p=new _D([e.invokeWithinContext(b=>new CD(b.get(Dg),u)),new ED(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new bD(u,e.getSelection(),0,r),new ov(u,e.getSelection(),a),new rv,new yD(e.invokeWithinContext(b=>b.get(m0))),new wD]);t=t.sort((b,y)=>ee.compareRangesUsingStarts(b.range,y.range));let C=0;for(let b=0;b<t.length;b++){const{range:y,template:w}=t[b];if(b>0){const T=t[b-1].range,V=ee.fromPositions(T.getEndPosition(),y.getStartPosition()),H=new Lo(u.getValueInRange(V));g.appendChild(H),C+=H.value.length}const A=f.parseFragment(w,g);jr.adjustWhitespace(u,y.getStartPosition(),!0,g,new Set(A)),g.resolveVariables(p);const P=g.toString(),M=P.slice(C);C=P.length;const R=os.replace(y,M);R.identifier={major:b,minor:0},R._isTracked=!0,d.push(R)}return f.ensureFinalTabstop(g,i,!0),{edits:d,snippets:[new av(e,g,"")]}}constructor(e,t,i=SD,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){ao(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:e,snippets:t}=typeof this._template=="string"?jr.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):jr.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=t,this._editor.executeEdits("snippet",e,i=>{const n=i.filter(s=>!!s.identifier);for(let s=0;s<t.length;s++)t[s].initialize(n[s].textChange);return this._snippets[0].hasPlaceholder?this._move(!0):n.map(s=>Hi.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=SD){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=jr.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",i,s=>{const r=s.filter(d=>!!d.identifier);for(let d=0;d<n.length;d++)n[d].initialize(r[d].textChange);const a=n[0].isTrivialSnippet;if(!a){for(const d of this._snippets)d.merge(n);console.assert(n.length===0)}return this._snippets[0].hasPlaceholder&&!a?this._move(void 0):r.map(d=>Hi.fromPositions(d.range.getEndPosition()))})}next(){const e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){const e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}_move(e){const t=[];for(const i of this._snippets){const n=i.move(e);t.push(...n)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const e=this._editor.getSelections();if(e.length<this._snippets.length)return!1;const t=new Map;for(const i of this._snippets){const n=i.computePossibleSelections();if(t.size===0)for(const[s,r]of n){r.sort(ee.compareRangesUsingStarts);for(const a of e)if(r[0].containsRange(a)){t.set(s,[]);break}}if(t.size===0)return!1;t.forEach((s,r)=>{s.push(...n.get(r))})}e.sort(ee.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(ee.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};lv=jr=GO([KO(3,zs)],lv);var ZO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ax=function(o,e){return function(t,i){e(t,i,o)}},kh;const DD={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var Pa;let fo=(Pa=class{static get(e){return e.getContribution(kh.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new It,this._modelVersionId=-1,this._inSnippet=kh.InSnippetMode.bindTo(n),this._hasNextTabstop=kh.HasNextTabstop.bindTo(n),this._hasPrevTabstop=kh.HasPrevTabstop.bindTo(n)}dispose(){var e;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),(e=this._session)==null||e.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,typeof t>"u"?DD:{...DD,...t})}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"<no_session>")}}_doInsert(e,t){var i;if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof e!="string"&&this.cancel(),this._session?(An(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new lv(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),(i=this._session)!=null&&i.hasChoice){const n={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(f,g)=>{if(!this._session||f!==this._editor.getModel()||!_i.equals(this._editor.getPosition(),g))return;const{activeChoice:p}=this._session;if(!p||p.choice.options.length===0)return;const C=f.getValueInRange(p.range),b=!!p.choice.options.find(w=>w.value===C),y=[];for(let w=0;w<p.choice.options.length;w++){const A=p.choice.options[w];y.push({kind:13,label:A.value,insertText:A.value,sortText:"a".repeat(w+1),range:p.range,filterText:b?`${C}_${A.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:S("next","Go to next placeholder...")}})}return{suggestions:y}}},s=this._editor.getModel();let r,a=!1;const d=()=>{r==null||r.dispose(),a=!1},u=()=>{a||(r=this._languageFeaturesService.completionProvider.register({language:s.getLanguageId(),pattern:s.uri.fsPath,scheme:s.uri.scheme,exclusive:!0},n),this._snippetListener.add(r),a=!0)};this._choiceCompletions={provider:n,enable:u,disable:d}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(n=>n.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){var t;if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{activeChoice:e}=this._session;if(!e||!this._choiceCompletions){(t=this._choiceCompletions)==null||t.disable(),this._currentChoice=void 0;return}this._currentChoice!==e.choice&&(this._currentChoice=e.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{$O(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,(t=this._session)==null||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){var e;(e=this._session)==null||e.prev(),this._updateState()}next(){var e;(e=this._session)==null||e.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}},kh=Pa,Pa.ID="snippetController2",Pa.InSnippetMode=new vn("inSnippetMode",!1,S("inSnippetMode","Whether the editor in current in snippet mode")),Pa.HasNextTabstop=new vn("hasNextTabstop",!1,S("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Pa.HasPrevTabstop=new vn("hasPrevTabstop",!1,S("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Pa);fo=kh=ZO([Ax(1,zu),Ax(2,bi),Ax(3,Dn),Ax(4,zs)],fo);an(fo.ID,fo,4);const _b=So.bindToContribution(fo.get);Di(new _b({id:"jumpToNextSnippetPlaceholder",precondition:qe.and(fo.InSnippetMode,fo.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:U.textInputFocus,primary:2}}));Di(new _b({id:"jumpToPrevSnippetPlaceholder",precondition:qe.and(fo.InSnippetMode,fo.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:U.textInputFocus,primary:1026}}));Di(new _b({id:"leaveSnippet",precondition:fo.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:U.textInputFocus,primary:9,secondary:[1033]}}));Di(new _b({id:"acceptSnippet",precondition:fo.InSnippetMode,handler:o=>o.finish()}));var XO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},SC=function(o,e){return function(t,i){e(t,i,o)}};let IE=class extends Mt{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,n,s,r,a,d,u,f,g,p){super(),this.textModel=e,this.selectedSuggestItem=t,this._textModelVersionId=i,this._positions=n,this._debounceValue=s,this._suggestPreviewEnabled=r,this._suggestPreviewMode=a,this._inlineSuggestMode=d,this._enabled=u,this._instantiationService=f,this._commandService=g,this._languageConfigurationService=p,this._source=this._register(this._instantiationService.createInstance(LE,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=Ko(this,!1),this._forceUpdateExplicitlySignal=Vw(this),this._selectedInlineCompletionId=Ko(this,void 0),this._primaryPosition=Mn(this,b=>this._positions.read(b)[0]??new _i(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([sl.Redo,sl.Undo,sl.AcceptWord]),this._fetchInlineCompletionsPromise=q2({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:vl.Automatic}),handleChange:(b,y)=>(b.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(b.change))?y.preserveCurrentCompletion=!0:b.didChange(this._forceUpdateExplicitlySignal)&&(y.inlineCompletionTriggerKind=vl.Explicit),!0)},(b,y)=>{if(this._forceUpdateExplicitlySignal.read(b),!(this._enabled.read(b)&&this.selectedSuggestItem.read(b)||this._isActive.read(b))){this._source.cancelUpdate();return}this._textModelVersionId.read(b);const A=this._source.suggestWidgetInlineCompletions.get(),P=this.selectedSuggestItem.read(b);if(A&&!P){const H=this._source.inlineCompletions.get();Wu(J=>{(!H||A.request.versionId>H.request.versionId)&&this._source.inlineCompletions.set(A.clone(),J),this._source.clearSuggestWidgetInlineCompletions(J)})}const M=this._primaryPosition.read(b),R={triggerKind:y.inlineCompletionTriggerKind,selectedSuggestionInfo:P==null?void 0:P.toSelectedSuggestionInfo()},T=this.selectedInlineCompletion.get(),V=y.preserveCurrentCompletion||T!=null&&T.forwardStable?T:void 0;return this._source.fetch(M,R,V)}),this._filteredInlineCompletionItems=dl({owner:this,equalsFn:s1()},b=>{const y=this._source.inlineCompletions.read(b);if(!y)return[];const w=this._primaryPosition.read(b);return y.inlineCompletions.filter(P=>P.isVisible(this.textModel,w,b))}),this.selectedInlineCompletionIndex=Mn(this,b=>{const y=this._selectedInlineCompletionId.read(b),w=this._filteredInlineCompletionItems.read(b),A=this._selectedInlineCompletionId===void 0?-1:w.findIndex(P=>P.semanticId===y);return A===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):A}),this.selectedInlineCompletion=Mn(this,b=>{const y=this._filteredInlineCompletionItems.read(b),w=this.selectedInlineCompletionIndex.read(b);return y[w]}),this.activeCommands=dl({owner:this,equalsFn:s1()},b=>{var y;return((y=this.selectedInlineCompletion.read(b))==null?void 0:y.inlineCompletion.source.inlineCompletions.commands)??[]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,b=>b==null?void 0:b.request.context.triggerKind),this.inlineCompletionsCount=Mn(this,b=>{if(this.lastTriggerKind.read(b)===vl.Explicit)return this._filteredInlineCompletionItems.read(b).length}),this.state=dl({owner:this,equalsFn:(b,y)=>!b||!y?b===y:lD(b.ghostTexts,y.ghostTexts)&&b.inlineCompletion===y.inlineCompletion&&b.suggestItem===y.suggestItem},b=>{const y=this.textModel,w=this.selectedSuggestItem.read(b);if(w){const A=Fd(w.toSingleTextEdit(),y),P=this._computeAugmentation(A,b);if(!this._suggestPreviewEnabled.read(b)&&!P)return;const R=(P==null?void 0:P.edit)??A,T=P?P.edit.text.length-A.text.length:0,V=this._suggestPreviewMode.read(b),H=this._positions.read(b),J=[R,...DC(this.textModel,H,R)],se=J.map((ie,de)=>fD(ie,y,V,H[de],T)).filter(qx),ue=se[0]??new $g(R.range.endLineNumber,[]);return{edits:J,primaryGhostText:ue,ghostTexts:se,inlineCompletion:P==null?void 0:P.completion,suggestItem:w}}else{if(!this._isActive.read(b))return;const A=this.selectedInlineCompletion.read(b);if(!A)return;const P=A.toSingleTextEdit(b),M=this._inlineSuggestMode.read(b),R=this._positions.read(b),T=[P,...DC(this.textModel,R,P)],V=T.map((H,J)=>fD(H,y,M,R[J],0)).filter(qx);return V[0]?{edits:T,primaryGhostText:V[0],ghostTexts:V,inlineCompletion:A,suggestItem:void 0}:void 0}}),this.ghostTexts=dl({owner:this,equalsFn:lD},b=>{const y=this.state.read(b);if(y)return y.ghostTexts}),this.primaryGhostText=dl({owner:this,equalsFn:hB},b=>{const y=this.state.read(b);if(y)return y==null?void 0:y.primaryGhostText}),this._register(G2(this._fetchInlineCompletionsPromise));let C;this._register(ts(b=>{var A,P;const y=this.state.read(b),w=y==null?void 0:y.inlineCompletion;if((w==null?void 0:w.semanticId)!==(C==null?void 0:C.semanticId)&&(C=w,w)){const M=w.inlineCompletion,R=M.source;(P=(A=R.provider).handleItemDidShow)==null||P.call(A,R.inlineCompletions,M.sourceInlineCompletion,M.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?sl.Undo:e!=null&&e.isRedoing?sl.Redo:this.isAcceptingPartially?sl.AcceptWord:sl.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){wm(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){wm(e,t=>{this._isActive.set(!1,t),this._source.clear(t)})}_computeAugmentation(e,t){const i=this.textModel,n=this._source.suggestWidgetInlineCompletions.read(t),s=n?n.inlineCompletions:[this.selectedInlineCompletion.read(t)].filter(qx);return R4(s,a=>{let d=a.toSingleTextEdit(t);return d=Fd(d,i,ee.fromPositions(d.range.getStartPosition(),e.range.getEndPosition())),xB(d,e)?{completion:a,edit:d}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){var n;if(e.getModel()!==this.textModel)throw new S0;const t=this.state.get();if(!t||t.primaryGhostText.isEmpty()||!t.inlineCompletion)return;const i=t.inlineCompletion.toInlineCompletion(void 0);if(i.command&&i.source.addRef(),e.pushUndoStop(),i.snippetInfo)e.executeEdits("inlineSuggestion.accept",[os.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=fo.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=AD(s).map(a=>Hi.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>os.replace(a.range,a.text)),...i.additionalTextEdits]),e.setSelections(r,"inlineCompletionAccept")}this.stop(),i.command&&(await this._commandService.executeCommand(i.command.id,...i.command.arguments||[]).then(void 0,ms),i.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,(t,i)=>{const n=this.textModel.getLanguageIdAtPosition(t.lineNumber,t.column),s=this._languageConfigurationService.getLanguageConfiguration(n),r=new RegExp(s.wordDefinition.source,s.wordDefinition.flags.replace("g","")),a=i.match(r);let d=0;a&&a.index!==void 0?a.index===0?d=a[0].length:d=a.index:d=i.length;const f=/\s+/g.exec(i);return f&&f.index!==void 0&&f.index+f[0].length<d&&(d=f.index+f[0].length),d},0)}async acceptNextLine(e){await this._acceptNext(e,(t,i)=>{const n=i.match(/\n/);return n&&n.index!==void 0?n.index+1:i.length},1)}async _acceptNext(e,t,i){if(e.getModel()!==this.textModel)throw new S0;const n=this.state.get();if(!n||n.primaryGhostText.isEmpty()||!n.inlineCompletion)return;const s=n.primaryGhostText,r=n.inlineCompletion.toInlineCompletion(void 0);if(r.snippetInfo||r.filterText!==r.insertText){await this.accept(e);return}const a=s.parts[0],d=new _i(s.lineNumber,a.column),u=a.text,f=t(d,u);if(f===u.length&&s.parts.length===1){this.accept(e);return}const g=u.substring(0,f),p=this._positions.get(),C=p[0];r.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const b=ee.fromPositions(C,d),y=e.getModel().getValueInRange(b)+g,w=new Sl(b,y),A=[w,...DC(this.textModel,p,w)],P=AD(A).map(M=>Hi.fromPositions(M));e.executeEdits("inlineSuggestion.accept",A.map(M=>os.replace(M.range,M.text))),e.setSelections(P,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const b=ee.fromPositions(r.range.getStartPosition(),ym.ofText(g).addToPosition(d)),y=e.getModel().getValueInRange(b,1);r.source.provider.handlePartialAccept(r.source.inlineCompletions,r.sourceInlineCompletion,y.length,{kind:i})}}finally{r.source.removeRef()}}handleSuggestAccepted(e){var s,r;const t=Fd(e.toSingleTextEdit(),this.textModel),i=this._computeAugmentation(t,void 0);if(!i)return;const n=i.completion.inlineCompletion;(r=(s=n.source.provider).handlePartialAccept)==null||r.call(s,n.source.inlineCompletions,n.sourceInlineCompletion,t.text.length,{kind:2})}};IE=XO([SC(9,en),SC(10,Ws),SC(11,zs)],IE);var sl;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(sl||(sl={}));function DC(o,e,t){if(e.length===1)return[];const i=e[0],n=e.slice(1),s=t.range.getStartPosition(),r=t.range.getEndPosition(),a=o.getValueInRange(ee.fromPositions(i,r)),d=cD(i,s);if(d.lineNumber<1)return zn(new S0(`positionWithinTextEdit line number should be bigger than 0.
36
- Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const u=YO(t.text,d);return n.map(f=>{const g=EO(cD(f,s),r),p=o.getValueInRange(ee.fromPositions(f,g)),C=kp(a,p),b=ee.fromPositions(f,f.delta(0,C));return new Sl(b,u)})}function YO(o,e){let t="";const i=O4(o);for(let n=e.lineNumber-1;n<i.length;n++)t+=i[n].substring(n===e.lineNumber-1?e.column-1:0);return t}function AD(o){const e=N4.createSortPermutation(o,Dp(s=>s.range,ee.compareRangesUsingStarts)),i=new O2(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var QO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},kD=function(o,e){return function(t,i){e(t,i,o)}},zf;class j9{constructor(e){this.name=e}select(e,t,i){if(i.length===0)return 0;const n=i[0].score[0];for(let s=0;s<i.length;s++){const{score:r,completion:a}=i[s];if(r[0]!==n)break;if(a.preselect)return s}return 0}}class BD extends j9{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class JO extends j9{constructor(){super("recentlyUsed"),this._cache=new Cp(300,.66),this._seq=0}memorize(e,t,i){const n=`${e.getLanguageId()}/${i.textLabel}`;this._cache.set(n,{touch:this._seq++,type:i.completion.kind,insertText:i.completion.insertText})}select(e,t,i){if(i.length===0)return 0;const n=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(n))return super.select(e,t,i);const s=i[0].score[0];let r=-1,a=-1,d=-1;for(let u=0;u<i.length&&i[u].score[0]===s;u++){const f=`${e.getLanguageId()}/${i[u].textLabel}`,g=this._cache.peek(f);if(g&&g.touch>d&&g.type===i[u].completion.kind&&g.insertText===i[u].completion.insertText&&(d=g.touch,a=u),i[u].completion.preselect&&r===-1)return r=u}return a!==-1?a:r!==-1?r:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();const t=0;for(const[i,n]of e)n.touch=t,n.type=typeof n.type=="number"?n.type:jw.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class eH extends j9{constructor(){super("recentlyUsedByPrefix"),this._trie=H4.forStrings(),this._seq=0}memorize(e,t,i){const{word:n}=e.getWordUntilPosition(t),s=`${e.getLanguageId()}/${n}`;this._trie.set(s,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:n}=e.getWordUntilPosition(t);if(!n)return super.select(e,t,i);const s=`${e.getLanguageId()}/${n}`;let r=this._trie.get(s);if(r||(r=this._trie.findSubstr(s)),r)for(let a=0;a<i.length;a++){const{kind:d,insertText:u}=i[a].completion;if(d===r.type&&u===r.insertText)return a}return super.select(e,t,i)}toJSON(){const e=[];return this._trie.forEach((t,i)=>e.push([i,t])),e.sort((t,i)=>-(t[1].touch-i[1].touch)).forEach((t,i)=>t[1].touch=i),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type=typeof i.type=="number"?i.type:jw.fromString(i.type),this._trie.set(t,i)}}}var wc;let PE=(wc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new It,this._persistSoon=new Is(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===Pw.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){var n;const i=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(((n=this._strategy)==null?void 0:n.name)!==i){this._saveState();const s=zf._strategyCtors.get(i)||BD;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,d=this._storageService.get(`${zf._storagePrefix}/${i}`,a);d&&this._strategy.fromJSON(JSON.parse(d))}catch{}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${zf._storagePrefix}/${this._strategy.name}`,i,t,1)}}},zf=wc,wc._strategyCtors=new Map([["recentlyUsedByPrefix",eH],["recentlyUsed",JO],["first",BD]]),wc._storagePrefix="suggest/memories",wc);PE=zf=QO([kD(0,Vc),kD(1,Qn)],PE);const bb=Tl("ISuggestMemories");Ml(bb,PE,1);var tH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},iH=function(o,e){return function(t,i){e(t,i,o)}},TE,Yd;let cv=(Yd=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=TE.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(i=>i.hasChanged(124)&&this._update()),this._update()}dispose(){var e;this._configListener.dispose(),(e=this._selectionListener)==null||e.dispose(),this._ckAtEnd.reset()}_update(){const e=this._editor.getOption(124)==="on";if(this._enabled!==e)if(this._enabled=e,this._enabled){const t=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const i=this._editor.getModel(),n=this._editor.getSelection(),s=i.getWordAtPosition(n.getStartPosition());if(!s){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(s.endColumn===n.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}},TE=Yd,Yd.AtEnd=new vn("atEndOfWord",!1),Yd);cv=TE=tH([iH(1,Dn)],cv);var nH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},sH=function(o,e){return function(t,i){e(t,i,o)}},Vf,Qd;let z0=(Qd=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=Vf.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),(e=this._listener)==null||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},i){if(e.items.length===0){this.reset();return}if(Vf._moveIndex(!0,e,t)===t){this.reset();return}this._acceptNext=i,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(e,t,i){let n=i;for(let s=t.items.length;s>0&&(n=(n+t.items.length+(e?1:-1))%t.items.length,!(n===i||!t.items[n].completion.additionalTextEdits));s--);return n}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=Vf._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},Vf=Qd,Qd.OtherSuggestions=new vn("hasOtherSuggestions",!1),Qd);z0=Vf=nH([sH(1,Dn)],z0);class oH{constructor(e,t,i,n){this._disposables=new It,this._disposables.add(i.onDidSuggest(s=>{s.completionModel.items.length===0&&this.reset()})),this._disposables.add(i.onDidCancel(s=>{this.reset()})),this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(s=>{if(this._active&&!t.isFrozen()&&i.state!==0){const r=s.charCodeAt(s.length-1);this._active.acceptCharacters.has(r)&&e.getOption(0)&&n(this._active.item)}}))}_onItem(e){if(!e||!Go(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new Em;for(const i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}const er=class er{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>er._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>er._bracketsLeftYield(a,0,e,n,r,s))}return i}static _bracketsRightYield(e,t,i,n,s){const r=new Map,a=Date.now();for(;;){if(t>=er._maxRounds){e();break}if(!n){e();break}const d=i.bracketPairs.findNextBracket(n);if(!d){e();break}if(Date.now()-a>er._maxDuration){setTimeout(()=>er._bracketsRightYield(e,t+1,i,n,s));break}if(d.bracketInfo.isOpeningBracket){const f=d.bracketInfo.bracketText,g=r.has(f)?r.get(f):0;r.set(f,g+1)}else{const f=d.bracketInfo.getOpeningBrackets()[0].bracketText;let g=r.has(f)?r.get(f):0;if(g-=1,r.set(f,Math.max(0,g)),g<0){let p=s.get(f);p||(p=new K2,s.set(f,p)),p.push(d.range)}}n=d.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,n,s,r){const a=new Map,d=Date.now();for(;;){if(t>=er._maxRounds&&s.size===0){e();break}if(!n){e();break}const u=i.bracketPairs.findPrevBracket(n);if(!u){e();break}if(Date.now()-d>er._maxDuration){setTimeout(()=>er._bracketsLeftYield(e,t+1,i,n,s,r));break}if(u.bracketInfo.isOpeningBracket){const g=u.bracketInfo.bracketText;let p=a.has(g)?a.get(g):0;if(p-=1,a.set(g,Math.max(0,p)),p<0){const C=s.get(g);if(C){const b=C.shift();C.size===0&&s.delete(g);const y=ee.fromPositions(u.range.getEndPosition(),b.getStartPosition()),w=ee.fromPositions(u.range.getStartPosition(),b.getEndPosition());r.push({range:y}),r.push({range:w}),er._addBracketLeading(i,w,r)}}}else{const g=u.bracketInfo.getOpeningBrackets()[0].bracketText,p=a.has(g)?a.get(g):0;a.set(g,p+1)}n=u.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const n=t.startLineNumber,s=e.getLineFirstNonWhitespaceColumn(n);s!==0&&s!==t.startColumn&&(i.push({range:ee.fromPositions(new _i(n,s),t.getEndPosition())}),i.push({range:ee.fromPositions(new _i(n,1),t.getEndPosition())}));const r=n-1;if(r>0){const a=e.getLineFirstNonWhitespaceColumn(r);a===t.startColumn&&a!==e.getLineLastNonWhitespaceColumn(r)&&(i.push({range:ee.fromPositions(new _i(r,a),t.getEndPosition())}),i.push({range:ee.fromPositions(new _i(r,1),t.getEndPosition())}))}}};er._maxDuration=30,er._maxRounds=2;let dv=er;const Da=class Da{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return Da.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return Da.None;const[s]=await new dv().provideSelectionRanges(i,[n]);if(s.length===0)return Da.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return Da.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends Da{distance(d,u){if(!n.equals(t.getPosition()))return 0;if(u.kind===17)return 2<<20;const f=typeof u.label=="string"?u.label:u.label.label,g=r[f];if(W4(g))return 2<<20;const p=Sm(g,ee.fromPositions(d),ee.compareRangesUsingStarts),C=p>=0?g[p]:g[Math.max(0,~p-1)];let b=s.length;for(const y of s){if(!ee.containsRange(y.range,C))break;b-=1}return b}}}};Da.None=new class extends Da{distance(){return 0}};let uv=Da,FD=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class ec{constructor(e,t,i,n,s,r,a=Z2.default,d=void 0){this.clipboardText=d,this._snippetCompareFn=ec._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=n,this._options=s,this._refilterKind=1,this._lineContext=i,this._fuzzyScoreOptions=a,r==="top"?this._snippetCompareFn=ec._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=ec._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){(this._lineContext.leadingLineContent!==e.leadingLineContent||this._lineContext.characterCountDelta!==e.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta<e.characterCountDelta&&this._filteredItems?2:1,this._lineContext=e)}get items(){return this._ensureCachedState(),this._filteredItems}getItemsByProvider(){return this._ensureCachedState(),this._itemsByProvider}getIncompleteProvider(){this._ensureCachedState();const e=new Set;for(const[t,i]of this.getItemsByProvider())i.length>0&&i[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:i}=this._lineContext;let n="",s="";const r=this._refilterKind===1?this._items:this._filteredItems,a=[],d=!this._options.filterGraceful||r.length>2e3?X2:z4;for(let u=0;u<r.length;u++){const f=r[u];if(f.isInvalid)continue;const g=this._itemsByProvider.get(f.provider);g?g.push(f):this._itemsByProvider.set(f.provider,[f]);const p=f.position.column-f.editStart.column,C=p+i-(f.position.column-this._column);if(n.length!==C&&(n=C===0?"":t.slice(-C),s=n.toLowerCase()),f.word=n,C===0)f.score=Ag.Default;else{let b=0;for(;b<p;){const y=n.charCodeAt(b);if(y===32||y===9)b+=1;else break}if(b>=C)f.score=Ag.Default;else if(typeof f.completion.filterText=="string"){const y=d(n,s,b,f.completion.filterText,f.filterTextLow,0,this._fuzzyScoreOptions);if(!y)continue;V4(f.completion.filterText,f.textLabel)===0?f.score=y:(f.score=j4(n,s,b,f.textLabel,f.labelLow,0),f.score[0]=y[0])}else{const y=d(n,s,b,f.textLabel,f.labelLow,0,this._fuzzyScoreOptions);if(!y)continue;f.score=y}}f.idx=u,f.distance=this._wordDistance.distance(f.position,f.completion),a.push(f),e.push(f.textLabel.length)}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?$4(e.length-.85,e,(u,f)=>u-f):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]<t.score[0]?1:e.distance<t.distance?-1:e.distance>t.distance?1:e.idx<t.idx?-1:e.idx>t.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return 1;if(t.completion.kind===27)return-1}return ec._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return-1;if(t.completion.kind===27)return 1}return ec._compareCompletionItems(e,t)}}var rH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ul=function(o,e){return function(t,i){e(t,i,o)}},ME;class id{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);const n=t.getWordAtPosition(i);return!(!n||n.endColumn!==i.column&&n.startColumn+1!==i.column||!isNaN(Number(n.word)))}constructor(e,t,i){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=i}}function aH(o,e,t){if(!e.getContextKeyValue(Mo.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(Mo.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function lH(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(Mo.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let hv=ME=class{constructor(e,t,i,n,s,r,a,d,u){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=n,this._logService=s,this._contextKeyService=r,this._configurationService=a,this._languageFeaturesService=d,this._envService=u,this._toDispose=new It,this._triggerCharacterListener=new It,this._triggerQuickSuggest=new vp,this._triggerState=void 0,this._completionDisposables=new It,this._onDidCancel=new sn,this._onDidTrigger=new sn,this._onDidSuggest=new sn,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Hi(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let f=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{f=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{f=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(g=>{f||this._onCursorChange(g)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!f&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){ao(this._triggerCharacterListener),ao([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(92)||!this._editor.hasModel()||!this._editor.getOption(122))return;const e=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const n of i.triggerCharacters||[]){let s=e.get(n);s||(s=new Set,e.set(n,s)),s.add(i)}const t=i=>{var r;if(!lH(this._editor,this._contextKeyService,this._configurationService)||id.shouldAutoTrigger(this._editor))return;if(!i){const a=this._editor.getPosition();i=this._editor.getModel().getLineContent(a.lineNumber).substr(0,a.column-1)}let n="";q4(i.charCodeAt(i.length-1))?G4(i.charCodeAt(i.length-2))&&(n=i.substr(i.length-2)):n=i.charAt(i.length-1);const s=e.get(n);if(s){const a=new Map;if(this._completionModel)for(const[d,u]of this._completionModel.getItemsByProvider())s.has(d)||a.set(d,u);this.trigger({auto:!0,triggerKind:1,triggerCharacter:n,retrigger:!!this._completionModel,clipboardText:(r=this._completionModel)==null?void 0:r.clipboardText,completionOptions:{providerFilter:s,providerItemsToReuse:a}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){var t;this._triggerState!==void 0&&(this._triggerQuickSuggest.cancel(),(t=this._requestToken)==null||t.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!=="keyboard"&&e.source!=="deleteLeft"){this.cancel();return}this._triggerState===void 0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var e;Hh.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=fo.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!id.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const t=this._editor.getModel(),i=this._editor.getPosition(),n=this._editor.getOption(90);if(!Hh.isAllOff(n)){if(!Hh.isAllOn(n)){t.tokenization.tokenizeIfCheap(i.lineNumber);const s=t.tokenization.getLineTokens(i.lineNumber),r=s.getStandardTokenType(s.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if(Hh.valueFor(n,r)!=="on")return}aH(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){An(this._editor.hasModel()),An(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new id(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var p,C,b;if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new id(t,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:e.shy??!1,position:this._editor.getPosition()}),this._context=i;let n={triggerKind:e.triggerKind??0};e.triggerCharacter&&(n={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new Us;const s=this._editor.getOption(113);let r=1;switch(s){case"top":r=0;break;case"bottom":r=2;break}const{itemKind:a,showDeprecated:d}=ME.createSuggestFilter(this._editor),u=new Ug(r,((p=e.completionOptions)==null?void 0:p.kindFilter)??a,(C=e.completionOptions)==null?void 0:C.providerFilter,(b=e.completionOptions)==null?void 0:b.providerItemsToReuse,d),f=uv.create(this._editorWorkerService,this._editor),g=z9(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),u,n,this._requestToken.token);Promise.all([g,f]).then(async([y,w])=>{var T;if((T=this._requestToken)==null||T.dispose(),!this._editor.hasModel())return;let A=e==null?void 0:e.clipboardText;if(!A&&y.needsClipboard&&(A=await this._clipboardService.readText()),this._triggerState===void 0)return;const P=this._editor.getModel(),M=new id(P,this._editor.getPosition(),e),R={...Z2.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new ec(y.items,this._context.column,{leadingLineContent:M.leadingLineContent,characterCountDelta:M.column-this._context.column},w,this._editor.getOption(119),this._editor.getOption(113),R,A),this._completionDisposables.add(y.disposable),this._onNewContext(M),this._reportDurationsTelemetry(y.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const V of y.items)V.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${V.provider._debugDisplayName}`,V.completion)}).catch(zn)}_reportDurationsTelemetry(e){this._telemetryGate++%230===0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)})}static createSuggestFilter(e){const t=new Set;e.getOption(113)==="none"&&t.add(27);const n=e.getOption(119);return n.showMethods||t.add(0),n.showFunctions||t.add(1),n.showConstructors||t.add(2),n.showFields||t.add(3),n.showVariables||t.add(4),n.showClasses||t.add(5),n.showStructs||t.add(6),n.showInterfaces||t.add(7),n.showModules||t.add(8),n.showProperties||t.add(9),n.showEvents||t.add(10),n.showOperators||t.add(11),n.showUnits||t.add(12),n.showValues||t.add(13),n.showConstants||t.add(14),n.showEnums||t.add(15),n.showEnumMembers||t.add(16),n.showKeywords||t.add(17),n.showWords||t.add(18),n.showColors||t.add(19),n.showFiles||t.add(20),n.showReferences||t.add(21),n.showColors||t.add(22),n.showFolders||t.add(23),n.showTypeParameters||t.add(24),n.showSnippets||t.add(27),n.showUsers||t.add(25),n.showIssues||t.add(26),{itemKind:t,showDeprecated:n.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber){this.cancel();return}if(Js(e.leadingLineContent)!==Js(this._context.leadingLineContent)){this.cancel();return}if(e.column<this._context.column){e.leadingWord.word?this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0}):this.cancel();return}if(this._completionModel){if(e.leadingWord.word.length!==0&&e.leadingWord.startColumn>this._context.leadingWord.startColumn){if(id.shouldAutoTrigger(this._editor)&&this._context){const i=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:i}})}return}if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&e.leadingWord.word.length!==0){const t=new Map,i=new Set;for(const[n,s]of this._completionModel.getItemsByProvider())s.length>0&&s[0].container.incomplete?i.add(n):t.set(n,s);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:i,providerItemsToReuse:t}})}else{const t=this._completionModel.lineContext;let i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){const n=id.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(n&&this._context.leadingWord.endColumn<e.leadingWord.startColumn){this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});return}if(this._context.triggerOptions.auto){this.cancel();return}else if(this._completionModel.lineContext=t,i=this._completionModel.items.length>0,i&&e.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:i})}}}}};hv=ME=rH([Ul(1,Rl),Ul(2,K0),Ul(3,da),Ul(4,zu),Ul(5,Dn),Ul(6,Qn),Ul(7,bi),Ul(8,U4)],hv);const n_=class n_{constructor(e,t){this._disposables=new It,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType(()=>{if(this._locked||!e.hasModel())return;const i=e.getSelections(),n=i.length;let s=!1;for(let a=0;a<n;a++)if(!i[a].isEmpty()){s=!0;break}if(!s){this._lastOvertyped.length!==0&&(this._lastOvertyped.length=0);return}this._lastOvertyped=[];const r=e.getModel();for(let a=0;a<n;a++){const d=i[a];if(r.getValueLengthInRange(d)>n_._maxSelectionLength)return;this._lastOvertyped[a]={value:r.getValueInRange(d),multiline:d.startLineNumber!==d.endLineNumber}}})),this._disposables.add(t.onDidTrigger(i=>{this._locked=!0})),this._disposables.add(t.onDidCancel(i=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e<this._lastOvertyped.length)return this._lastOvertyped[e]}dispose(){this._disposables.dispose()}};n_._maxSelectionLength=51200;let RE=n_;var cH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},AC=function(o,e){return function(t,i){e(t,i,o)}};let NE=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new It,this.element=ei(e,ai(".suggest-status-bar"));const r=(a=>a instanceof w0?i.createInstance(K4,a,{useComma:!0}):void 0);this._leftActions=new Cg(this.element,{actionViewItemProvider:r}),this._rightActions=new Cg(this.element,{actionViewItemProvider:r}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{const i=[],n=[];for(const[s,r]of e.getActions())s==="left"?i.push(...r):n.push(...r);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(n)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};NE=cH([AC(2,en),AC(3,Hu),AC(4,Dn)],NE);var dH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},uH=function(o,e){return function(t,i){e(t,i,o)}};function $9(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let OE=class{constructor(e,t){this._editor=e,this._onDidClose=new sn,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new sn,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new It,this._renderDisposeable=new It,this._borderWidth=1,this._size=new Un(330,0),this.domNode=ai(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(Y0,{editor:e}),this._body=ai(".body"),this._scrollbar=new Y2(this._body,{alwaysConsumeMouseWheel:!0}),ei(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=ei(this._body,ai(".header")),this._close=ei(this._header,ai("span"+Fn.asCSSSelector($i.close))),this._close.title=S("details.close","Close"),this._type=ei(this._header,ai("p.type")),this._docs=ei(this._body,ai("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(50)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(50),i=t.getMassagedFontFamily(),n=e.get(120)||t.fontSize,s=e.get(121)||t.lineHeight,r=t.fontWeight,a=`${n}px`,d=`${s}px`;this.domNode.style.fontSize=a,this.domNode.style.lineHeight=`${s/n}`,this.domNode.style.fontWeight=r,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=d,this._close.style.width=d}getLayoutInfo(){const e=this._editor.getOption(121)||this._editor.getOption(50).lineHeight,t=this._borderWidth,i=t*2;return{lineHeight:e,borderWidth:t,borderHeight:i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=S("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(e,t){var s;this._renderDisposeable.clear();let{detail:i,documentation:n}=e.completion;if(t){let r="";r+=`score: ${e.score[0]}
37
- `,r+=`prefix: ${e.word??"(no prefix)"}
38
- `,r+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel}
39
- `,r+=`distance: ${e.distance} (localityBonus-setting)
40
- `,r+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"}
41
- `,r+=`commit_chars: ${(s=e.completion.commitCharacters)==null?void 0:s.join("")}
42
- `,n=new oo().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!$9(e)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),i){const r=i.length>1e5?`${i.substr(0,1e5)}…`:i;this._type.textContent=r,this._type.title=r,kr(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else Ha(this._type),this._type.title="",jo(this._type),this.domNode.classList.add("no-type");if(Ha(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),Ha(this._docs);const r=this._markdownRenderer.render(n);this._docs.appendChild(r.element),this._renderDisposeable.add(r),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=r=>{r.preventDefault(),r.stopPropagation()},this._close.onclick=r=>{r.preventDefault(),r.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get isEmpty(){return this.domNode.classList.contains("no-docs")}get size(){return this._size}layout(e,t){const i=new Un(e,t);Un.equals(i,this._size)||(this._size=i,Z4(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};OE=dH([uH(1,en)],OE);class hH{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new It,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new y9,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let i,n,s=0,r=0;this._disposables.add(this._resizable.onDidWillResize(()=>{i=this._topLeft,n=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(a=>{if(i&&n){this.widget.layout(a.dimension.width,a.dimension.height);let d=!1;a.west&&(r=n.width-a.dimension.width,d=!0),a.north&&(s=n.height-a.dimension.height,d=!0),d&&this._applyTopLeft({top:i.top+s,left:i.left+r})}a.done&&(i=void 0,n=void 0,s=0,r=0,this._userSize=a.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{this._anchorBox&&this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||(this._editor.addOverlayWidget(this),this._added=!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){const i=e.getBoundingClientRect();this._anchorBox=i,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,t)}_placeAtAnchor(e,t,i){const n=wp(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new Un(220,2*s.lineHeight),a=e.top,d=(function(){const T=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),V=-s.borderWidth+e.left+e.width,H=new Un(T,n.height-e.top-s.borderHeight-s.verticalPadding),J=H.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:V,fit:T-t.width,maxSizeTop:H,maxSizeBottom:J,minSize:r.with(Math.min(T,r.width))}})(),u=(function(){const T=e.left-s.borderWidth-s.horizontalPadding,V=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),H=new Un(T,n.height-e.top-s.borderHeight-s.verticalPadding),J=H.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:V,fit:T-t.width,maxSizeTop:H,maxSizeBottom:J,minSize:r.with(Math.min(T,r.width))}})(),f=(function(){const T=e.left,V=-s.borderWidth+e.top+e.height,H=new Un(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:V,left:T,fit:H.height-t.height,maxSizeBottom:H,maxSizeTop:H,minSize:r.with(H.width)}})(),g=[d,u,f],p=g.find(T=>T.fit>=0)??g.sort((T,V)=>V.fit-T.fit)[0],C=e.top+e.height-s.borderHeight;let b,y=t.height;const w=Math.max(p.maxSizeTop.height,p.maxSizeBottom.height);y>w&&(y=w);let A;i?y<=p.maxSizeTop.height?(b=!0,A=p.maxSizeTop):(b=!1,A=p.maxSizeBottom):y<=p.maxSizeBottom.height?(b=!1,A=p.maxSizeBottom):(b=!0,A=p.maxSizeTop);let{top:P,left:M}=p;!b&&y>e.height&&(P=C-y);const R=this._editor.getDomNode();if(R){const T=R.getBoundingClientRect();P-=T.top,M-=T.left}this._applyTopLeft({left:M,top:P}),this._resizable.enableSashes(!b,p===d,b,p!==d),this._resizable.minSize=p.minSize,this._resizable.maxSize=A,this._resizable.layout(y,Math.min(A.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var Na;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(Na||(Na={}));const fH=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function kx(o,e,t,i,n){if(Fn.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(On.isUri(n))return[];const s=i===Na.ROOT_FOLDER?["rootfolder-icon"]:i===Na.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===vo.data)r=Dm.parseMetaData(t).get(Dm.META_DATA_LABEL);else{const a=t.path.match(fH);a?(r=Bx(a[2].toLowerCase()),a[1]&&s.push(`${Bx(a[1].toLowerCase())}-name-dir-icon`)):r=Bx(t.authority.toLowerCase())}if(i===Na.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===Na.FOLDER)s.push(`${r}-name-folder-icon`);else{if(r){if(s.push(`${r}-name-file-icon`),s.push("name-file-icon"),r.length<=255){const d=r.split(".");for(let u=1;u<d.length;u++)s.push(`${d.slice(u).join(".")}-ext-file-icon`)}s.push("ext-file-icon")}const a=gH(o,e,t);a&&s.push(`${Bx(a)}-lang-file-icon`)}}return s}function gH(o,e,t){if(!t)return null;let i=null;if(t.scheme===vo.data){const s=Dm.parseMetaData(t).get(Dm.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==kg?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function Bx(o){return o.replace(/[\s]/g,"/")}var pH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},kC=function(o,e){return function(t,i){e(t,i,o)}};function mB(o){return`suggest-aria-id:${o}`}const xH=gs("suggest-more-info",$i.chevronRight,S("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var Jr;const mH=new(Jr=class{extract(e,t){if(e.textLabel.match(Jr._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(Jr._regexStrict))return t[0]=e.completion.detail,!0;if(e.completion.documentation){const i=typeof e.completion.documentation=="string"?e.completion.documentation:e.completion.documentation.value,n=Jr._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},Jr._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,Jr._regexStrict=new RegExp(`^${Jr._regexRelaxed.source}$`,"i"),Jr);let HE=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new sn,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new It,i=e;i.classList.add("show-file-icons");const n=ei(e,ai(".icon")),s=ei(n,ai("span.colorspan")),r=ei(e,ai(".contents")),a=ei(r,ai(".main")),d=ei(a,ai(".icon-label.codicon")),u=ei(a,ai("span.left")),f=ei(a,ai("span.right")),g=new x2(u,{supportHighlights:!0,supportIcons:!0});t.add(g);const p=ei(u,ai("span.signature-label")),C=ei(u,ai("span.qualifier-label")),b=ei(f,ai("span.details-label")),y=ei(f,ai("span.readMore"+Fn.asCSSSelector(xH)));return y.title=S("readMore","Read More"),{root:i,left:u,right:f,icon:n,colorspan:s,iconLabel:g,iconContainer:d,parametersLabel:p,qualifierLabel:C,detailsLabel:b,readMore:y,disposables:t,configureFont:()=>{const A=this._editor.getOptions(),P=A.get(50),M=P.getMassagedFontFamily(),R=P.fontFeatureSettings,T=A.get(120)||P.fontSize,V=A.get(121)||P.lineHeight,H=P.fontWeight,J=P.letterSpacing,se=`${T}px`,ue=`${V}px`,ie=`${J}px`;i.style.fontSize=se,i.style.fontWeight=H,i.style.letterSpacing=ie,a.style.fontFamily=M,a.style.fontFeatureSettings=R,a.style.lineHeight=ue,n.style.height=ue,n.style.width=ue,y.style.height=ue,y.style.width=ue}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=mB(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:$_(e.score)},r=[];if(n.kind===19&&mH.extract(e,r))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=r[0];else if(n.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const a=kx(this._modelService,this._languageService,On.from({scheme:"fake",path:e.textLabel}),Na.FILE),d=kx(this._modelService,this._languageService,On.from({scheme:"fake",path:n.detail}),Na.FILE);s.extraClasses=a.length>d.length?a:d}else n.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",s.extraClasses=[kx(this._modelService,this._languageService,On.from({scheme:"fake",path:e.textLabel}),Na.FOLDER),kx(this._modelService,this._languageService,On.from({scheme:"fake",path:n.detail}),Na.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...Fn.asClassNameArray(jw.toIcon(n.kind))));n.tags&&n.tags.indexOf(1)>=0&&(s.extraClasses=(s.extraClasses||[]).concat(["deprecated"]),s.matches=[]),i.iconLabel.setLabel(e.textLabel,void 0,s),typeof n.label=="string"?(i.parametersLabel.textContent="",i.detailsLabel.textContent=BC(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=BC(n.label.detail||""),i.detailsLabel.textContent=BC(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?kr(i.detailsLabel):jo(i.detailsLabel),$9(e)?(i.right.classList.add("can-expand-details"),kr(i.readMore),i.readMore.onmousedown=a=>{a.stopPropagation(),a.preventDefault()},i.readMore.onclick=a=>{a.stopPropagation(),a.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),jo(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};HE=pH([kC(1,po),kC(2,ua),kC(3,Nr)],HE);function BC(o){return o.replace(/\r\n|\r|\n/g,"")}var vH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fx=function(o,e){return function(t,i){e(t,i,o)}},Bh;li("editorSuggestWidget.background",Q2,S("editorSuggestWidgetBackground","Background color of the suggest widget."));li("editorSuggestWidget.border",X4,S("editorSuggestWidgetBorder","Border color of the suggest widget."));const _H=li("editorSuggestWidget.foreground",Ap,S("editorSuggestWidgetForeground","Foreground color of the suggest widget."));li("editorSuggestWidget.selectedForeground",J2,S("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));li("editorSuggestWidget.selectedIconForeground",Y4,S("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const bH=li("editorSuggestWidget.selectedBackground",ek,S("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));li("editorSuggestWidget.highlightForeground",tk,S("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));li("editorSuggestWidget.focusHighlightForeground",Q4,S("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));li("editorSuggestWidgetStatus.foreground",Wa(_H,.5),S("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class CH{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Rr}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(Un.is(t))return Un.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}var Sc;let WE=(Sc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Xo,this._pendingShowDetails=new Xo,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new vp,this._disposables=new It,this._onDidSelect=new jS,this._onDidFocus=new jS,this._onDidHide=new sn,this._onDidShow=new sn,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new sn,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new y9,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new EH(this,e),this._persistedSize=new CH(t,e);class r{constructor(C,b,y=!1,w=!1){this.persistedSize=C,this.currentSize=b,this.persistHeight=y,this.persistWidth=w}}let a;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),a=new r(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(p=>{var C,b;if(this._resize(p.dimension.width,p.dimension.height),a&&(a.persistHeight=a.persistHeight||!!p.north||!!p.south,a.persistWidth=a.persistWidth||!!p.east||!!p.west),!!p.done){if(a){const{itemHeight:y,defaultSize:w}=this.getLayoutInfo(),A=Math.round(y/2);let{width:P,height:M}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-M)<=A)&&(M=((C=a.persistedSize)==null?void 0:C.height)??w.height),(!a.persistWidth||Math.abs(a.currentSize.width-P)<=A)&&(P=((b=a.persistedSize)==null?void 0:b.width)??w.width),this._persistedSize.store(new Un(P,M))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=ei(this.element.domNode,ai(".message")),this._listElement=ei(this.element.domNode,ai(".tree"));const d=this._disposables.add(s.createInstance(OE,this.editor));d.onDidClose(this.toggleDetails,this,this._disposables),this._details=new hH(d,this.editor);const u=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);u();const f=s.createInstance(HE,this.editor);this._disposables.add(f),this._disposables.add(f.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Fw("SuggestWidget",this._listElement,{getHeight:p=>this.getLayoutInfo().itemHeight,getTemplateId:p=>"suggestion"},[f],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>S("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:p=>{let C=p.textLabel;if(typeof p.completion.label!="string"){const{detail:A,description:P}=p.completion.label;A&&P?C=S("label.full","{0} {1}, {2}",C,A,P):A?C=S("label.detail","{0} {1}",C,A):P&&(C=S("label.desc","{0}, {1}",C,P))}if(!p.isResolved||!this._isDetailsVisible())return C;const{documentation:b,detail:y}=p.completion,w=zw("{0}{1}",y||"",b?typeof b=="string"?b:b.value:"");return S("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",C,w)}}}),this._list.style(ik({listInactiveFocusBackground:bH,listInactiveFocusOutline:_u})),this._status=s.createInstance(NE,this.element.domNode,pc);const g=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(119).showStatusBar);g(),this._disposables.add(n.onDidColorThemeChange(p=>this._onThemeChange(p))),this._onThemeChange(n.getColorTheme()),this._disposables.add(this._list.onMouseDown(p=>this._onListMouseDownOrTap(p))),this._disposables.add(this._list.onTap(p=>this._onListMouseDownOrTap(p))),this._disposables.add(this._list.onDidChangeSelection(p=>this._onListSelection(p))),this._disposables.add(this._list.onDidChangeFocus(p=>this._onListFocus(p))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(p=>{p.hasChanged(119)&&(g(),u()),this._completionModel&&(p.hasChanged(50)||p.hasChanged(120)||p.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=ji.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=ji.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=ji.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=ji.HasFocusedSuggestion.bindTo(i),this._disposables.add(wl(this._details.widget.domNode,"keydown",p=>{this._onDetailsKeydown.fire(p)})),this._disposables.add(this.editor.onMouseDown(p=>this._onEditorMouseDown(p)))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(e=this._loadingTimeout)==null||e.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(e){typeof e.element>"u"||typeof e.index>"u"||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=Eg(e.type)?2:1}_onListFocus(e){var n;if(this._ignoreFocusEvents)return;if(!e.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const t=e.elements[0],i=e.indexes[0];t!==this._focusedItem&&((n=this._currentSuggestionDetails)==null||n.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=t,this._list.reveal(i),this._currentSuggestionDetails=$s(async s=>{const r=bg(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),a=s.onCancellationRequested(()=>r.dispose());try{return await t.resolve(s)}finally{r.dispose(),a.dispose()}}),this._currentSuggestionDetails.then(()=>{i>=this._list.length||t!==this._list.element(i)||(this._ignoreFocusEvents=!0,this._list.splice(i,1,[t]),this._list.setFocus([i]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:mB(i)}))}).catch(zn)),this._onDidFocus.fire({item:t,index:i,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",e===4),this.element.domNode.classList.remove("message"),e){case 0:jo(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=Bh.LOADING_MESSAGE,jo(this._listElement,this._status.element),kr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,b0(Bh.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=Bh.NO_SUGGESTIONS_MESSAGE,jo(this._listElement,this._status.element),kr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,b0(Bh.NO_SUGGESTIONS_MESSAGE);break;case 3:jo(this._messageElement),kr(this._listElement,this._status.element),this._show();break;case 4:jo(this._messageElement),kr(this._listElement,this._status.element),this._show();break;case 5:jo(this._messageElement),kr(this._listElement,this._status.element),this._details.show(),this._show();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(e,t){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=bg(()=>this._setState(1),t)))}showSuggestions(e,t,i,n,s){var d,u;if(this._contentWidget.setPosition(this.editor.getPosition()),(d=this._loadingTimeout)==null||d.dispose(),(u=this._currentSuggestionDetails)==null||u.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&this._state!==2&&this._state!==0){this._setState(4);return}const r=this._completionModel.items.length,a=r===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(r>1),a){this._setState(n?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus(s?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=$S(Ed(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")})}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):this._state===3&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):($9(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._pendingShowDetails.value=$S(Ed(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show(),e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add("shows-details")),this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var i;this._pendingLayout.clear(),this._pendingShowDetails.clear(),(i=this._loadingTimeout)==null||i.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const e=this._persistedSize.restore(),t=Math.ceil(this.getLayoutInfo().itemHeight*4.3);e&&e.height<t&&this._persistedSize.store(e.with(void 0,t))}isFrozen(){return this._state===4}_afterRender(e){if(e===null){this._isDetailsVisible()&&this._details.hide();return}this._state===2||this._state===1||(this._isDetailsVisible()&&!this._details.widget.isEmpty&&this._details.show(),this._positionDetails())}_layout(e){var r,a;if(!this.editor.hasModel()||!this.editor.getDomNode())return;const t=wp(this.element.domNode.ownerDocument.body),i=this.getLayoutInfo();e||(e=i.defaultSize);let n=e.height,s=e.width;if(this._status.element.style.height=`${i.itemHeight}px`,this._state===2||this._state===1)n=i.itemHeight+i.borderHeight,s=i.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new Un(s,n),this._contentWidget.setPreference(2);else{const d=t.width-i.borderHeight-2*i.horizontalPadding;s>d&&(s=d);const u=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:s,f=i.statusBarHeight+this._list.contentHeight+i.borderHeight,g=i.itemHeight+i.statusBarHeight,p=Co(this.editor.getDomNode()),C=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),b=p.top+C.top+C.height,y=Math.min(t.height-b-i.verticalPadding,f),w=p.top+C.top-i.verticalPadding,A=Math.min(w,f);let P=Math.min(Math.max(A,y)+i.borderHeight,f);n===((r=this._cappedHeight)==null?void 0:r.capped)&&(n=this._cappedHeight.wanted),n<g&&(n=g),n>P&&(n=P),n>y||this._forceRenderingAbove&&w>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),P=A):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),P=y),this.element.preferredSize=new Un(u,i.defaultSize.height),this.element.maxSize=new Un(d,P),this.element.minSize=new Un(220,g),this._cappedHeight=n===f?{wanted:((a=this._cappedHeight)==null?void 0:a.wanted)??e.height,capped:n}:void 0}this._resize(s,n)}_resize(e,t){const{width:i,height:n}=this.element.maxSize;e=Math.min(i,e),t=Math.min(n,t);const{statusBarHeight:s}=this.getLayoutInfo();this._list.layout(t-s,e),this._listElement.style.height=`${t-s}px`,this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var e;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,((e=this._contentWidget.getPosition())==null?void 0:e.preference[0])===2)}getLayoutInfo(){const e=this.editor.getOption(50),t=J4(this.editor.getOption(121)||e.lineHeight,8,1e3),i=!this.editor.getOption(119).showStatusBar||this._state===2||this._state===1?0:t,n=this._details.widget.borderWidth,s=2*n;return{itemHeight:t,statusBarHeight:i,borderWidth:n,borderHeight:s,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new Un(430,i+12*t+s)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(e){this._storageService.store("expandSuggestionDocs",e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}},Bh=Sc,Sc.LOADING_MESSAGE=S("suggestWidget.loading","Loading..."),Sc.NO_SUGGESTIONS_MESSAGE=S("suggestWidget.noSuggestions","No suggestions."),Sc);WE=Bh=vH([Fx(1,Vc),Fx(2,Dn),Fx(3,Nr),Fx(4,en)],WE);class EH{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:i,horizontalPadding:n}=this._widget.getLayoutInfo();return new Un(t+2*i+n,e+2*i)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}}var yH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},xh=function(o,e){return function(t,i){e(t,i,o)}},zE;class wH{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=fn.register({description:"suggest-line-suffix",stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){const n=e.getOffsetAt(t),s=e.getPositionAt(n+1);e.changeDecorations(r=>{this._marker&&r.removeDecoration(this._marker),this._marker=r.addDecoration(ee.fromPositions(t,s),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(e=>{e.removeDecoration(this._marker),this._marker=void 0})}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){const t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}else return this._model.getLineMaxColumn(e.lineNumber)-e.column}}var Jd;let Fr=(Jd=class{static get(e){return e.getContribution(zE.ID)}constructor(e,t,i,n,s,r,a){this._memoryService=t,this._commandService=i,this._contextKeyService=n,this._instantiationService=s,this._logService=r,this._telemetryService=a,this._lineSuffix=new Xo,this._toDispose=new It,this._selectors=new SH(g=>g.priority),this._onWillInsertSuggestItem=new sn,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(hv,this.editor),this._selectors.register({priority:0,select:(g,p,C)=>this._memoryService.select(g,p,C)});const d=ji.InsertMode.bindTo(n);d.set(e.getOption(119).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>d.set(e.getOption(119).insertMode))),this.widget=this._toDispose.add(new Qb(Ed(e.getDomNode()),()=>{const g=this._instantiationService.createInstance(WE,this.editor);this._toDispose.add(g),this._toDispose.add(g.onDidSelect(w=>this._insertSuggestion(w,0),this));const p=new oH(this.editor,g,this.model,w=>this._insertSuggestion(w,2));this._toDispose.add(p);const C=ji.MakesTextEdit.bindTo(this._contextKeyService),b=ji.HasInsertAndReplaceRange.bindTo(this._contextKeyService),y=ji.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(Xn(()=>{C.reset(),b.reset(),y.reset()})),this._toDispose.add(g.onDidFocus(({item:w})=>{const A=this.editor.getPosition(),P=w.editStart.column,M=A.column;let R=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!w.completion.additionalTextEdits&&!(w.completion.insertTextRules&4)&&M-P===w.completion.insertText.length&&(R=this.editor.getModel().getValueInRange({startLineNumber:A.lineNumber,startColumn:P,endLineNumber:A.lineNumber,endColumn:M})!==w.completion.insertText),C.set(R),b.set(!_i.equals(w.editInsertEnd,w.editReplaceEnd)),y.set(!!w.provider.resolveCompletionItem||!!w.completion.documentation||w.completion.detail!==w.completion.label)})),this._toDispose.add(g.onDetailsKeyDown(w=>{if(w.toKeyCodeChord().equals(new US(!0,!1,!1,!1,33))||ja&&w.toKeyCodeChord().equals(new US(!1,!1,!1,!0,33))){w.stopPropagation();return}w.toKeyCodeChord().isModifierKey()||this.editor.focus()})),g})),this._overtypingCapturer=this._toDispose.add(new Qb(Ed(e.getDomNode()),()=>this._toDispose.add(new RE(this.editor,this.model)))),this._alternatives=this._toDispose.add(new Qb(Ed(e.getDomNode()),()=>this._toDispose.add(new z0(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(cv,e)),this._toDispose.add(this.model.onDidTrigger(g=>{this.widget.value.showTriggered(g.auto,g.shy?250:50),this._lineSuffix.value=new wH(this.editor.getModel(),g.position)})),this._toDispose.add(this.model.onDidSuggest(g=>{if(g.triggerOptions.shy)return;let p=-1;for(const b of this._selectors.itemsOrderedByPriorityDesc)if(p=b.select(this.editor.getModel(),this.editor.getPosition(),g.completionModel.items),p!==-1)break;if(p===-1&&(p=0),this.model.state===0)return;let C=!1;if(g.triggerOptions.auto){const b=this.editor.getOption(119);b.selectionMode==="never"||b.selectionMode==="always"?C=b.selectionMode==="never":b.selectionMode==="whenTriggerCharacter"?C=g.triggerOptions.triggerKind!==1:b.selectionMode==="whenQuickSuggestion"&&(C=g.triggerOptions.triggerKind===1&&!g.triggerOptions.refilter)}this.widget.value.showSuggestions(g.completionModel,p,g.isFrozen,g.triggerOptions.auto,C)})),this._toDispose.add(this.model.onDidCancel(g=>{g.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const u=ji.AcceptSuggestionsOnEnter.bindTo(n),f=()=>{const g=this.editor.getOption(1);u.set(g==="on"||g==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>f())),f()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const i=fo.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const n=this.editor.getModel(),s=n.getAlternativeVersionId(),{item:r}=e,a=[],d=new Us;t&1||this.editor.pushUndoStop();const u=this.getOverwriteInfo(r,!!(t&8));this._memoryService.memorize(n,this.editor.getPosition(),r);const f=r.isResolved;let g=-1,p=-1;if(Array.isArray(r.completion.additionalTextEdits)){this.model.cancel();const b=C0.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(y=>{let w=ee.lift(y.range);if(w.startLineNumber===r.position.lineNumber&&w.startColumn>r.position.column){const A=this.editor.getPosition().column-r.position.column,P=A,M=ee.spansMultipleLines(w)?0:A;w=new ee(w.startLineNumber,w.startColumn+P,w.endLineNumber,w.endColumn+M)}return os.replaceMove(w,y.text)})),b.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!f){const b=new Ro;let y;const w=n.onDidChangeContent(R=>{if(R.isFlush){d.cancel(),w.dispose();return}for(const T of R.changes){const V=ee.getEndPosition(T.range);(!y||_i.isBefore(V,y))&&(y=V)}}),A=t;t|=2;let P=!1;const M=this.editor.onWillType(()=>{M.dispose(),P=!0,A&2||this.editor.pushUndoStop()});a.push(r.resolve(d.token).then(()=>{if(!r.completion.additionalTextEdits||d.token.isCancellationRequested)return;if(y&&r.completion.additionalTextEdits.some(T=>_i.isBefore(y,ee.getStartPosition(T.range))))return!1;P&&this.editor.pushUndoStop();const R=C0.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(T=>os.replaceMove(ee.lift(T.range),T.text))),R.restoreRelativeVerticalPositionOfCursor(this.editor),(P||!(A&2))&&this.editor.pushUndoStop(),!0}).then(R=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",b.elapsed(),R),p=R===!0?1:R===!1?0:-2}).finally(()=>{w.dispose(),M.dispose()}))}let{insertText:C}=r.completion;if(r.completion.insertTextRules&4||(C=Au.escape(C)),this.model.cancel(),i.insert(C,{overwriteBefore:u.overwriteBefore,overwriteAfter:u.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(r.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),t&2||this.editor.pushUndoStop(),r.completion.command)if(r.completion.command.id===fv.id)this.model.trigger({auto:!0,retrigger:!0});else{const b=new Ro;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(y=>{r.completion.extensionId?ms(y):zn(y)}).finally(()=>{g=b.elapsed()}))}t&4&&this._alternatives.value.set(e,b=>{for(d.cancel();n.canUndo();){s!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(b,3|(t&8?8:0));break}}),this._alertCompletionItem(r),Promise.all(a).finally(()=>{this._reportSuggestionAcceptedTelemetry(r,n,f,g,p,e.index,e.model.items),this.model.clear(),d.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,n,s,r,a){var p;if(Math.floor(Math.random()*100)===0)return;const d=new Map;for(let C=0;C<Math.min(30,a.length);C++){const b=a[C].textLabel;d.has(b)?d.get(b).push(C):d.set(b,[C])}const u=d.get(e.textLabel),g=u&&u.length>1?u[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:((p=e.extensionId)==null?void 0:p.value)??"unknown",providerId:e.provider._debugDisplayName??"unknown",kind:e.completion.kind,basenameHash:I2($a(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:eL(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:g})}getOverwriteInfo(e,t){An(this.editor.hasModel());let i=this.editor.getOption(119).insertMode==="replace";t&&(i=!i);const n=e.position.column-e.editStart.column,s=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,r=this.editor.getPosition().column-e.position.column,a=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:n+r,overwriteAfter:s+a}}_alertCompletionItem(e){if(Go(e.completion.additionalTextEdits)){const t=S("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);Tr(t)}}triggerSuggest(e,t,i){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:i?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},n=s=>{if(s.completion.insertTextRules&4||s.completion.additionalTextEdits)return!0;const r=this.editor.getPosition(),a=s.editStart.column,d=r.column;return d-a!==s.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:r.lineNumber,startColumn:a,endLineNumber:r.lineNumber,endColumn:d})!==s.completion.insertText};Ls.once(this.model.onDidTrigger)(s=>{const r=[];Ls.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{ao(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(ao(r),a.items.length===0){i();return}const d=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),a.items),u=a.items[d];if(!n(u)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:d,item:u,model:a},7)},void 0,r)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let n=0;e&&(n|=4),t&&(n|=8),this._insertSuggestion(i,n)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}},zE=Jd,Jd.ID="editor.contrib.suggestController",Jd);Fr=zE=yH([xh(1,bb),xh(2,Ws),xh(3,Dn),xh(4,en),xh(5,zu),xh(6,da)],Fr);class SH{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(this._items.indexOf(e)!==-1)throw new Error("Value is already registered");return this._items.push(e),this._items.sort((t,i)=>this.prioritySelector(i)-this.prioritySelector(t)),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}const s_=class s_ extends bt{constructor(){super({id:s_.id,label:S("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:qe.and(U.writable,U.hasCompletionItemProvider,ji.Visible.toNegated()),kbOpts:{kbExpr:U.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=Fr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};s_.id="editor.action.triggerSuggest";let fv=s_;an(Fr.ID,Fr,2);Te(fv);const Yo=190,xo=So.bindToContribution(Fr.get);Di(new xo({id:"acceptSelectedSuggestion",precondition:qe.and(ji.Visible,ji.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:qe.and(ji.Visible,U.textInputFocus),weight:Yo},{primary:3,kbExpr:qe.and(ji.Visible,U.textInputFocus,ji.AcceptSuggestionsOnEnter,ji.MakesTextEdit),weight:Yo}],menuOpts:[{menuId:pc,title:S("accept.insert","Insert"),group:"left",order:1,when:ji.HasInsertAndReplaceRange.toNegated()},{menuId:pc,title:S("accept.insert","Insert"),group:"left",order:1,when:qe.and(ji.HasInsertAndReplaceRange,ji.InsertMode.isEqualTo("insert"))},{menuId:pc,title:S("accept.replace","Replace"),group:"left",order:1,when:qe.and(ji.HasInsertAndReplaceRange,ji.InsertMode.isEqualTo("replace"))}]}));Di(new xo({id:"acceptAlternativeSelectedSuggestion",precondition:qe.and(ji.Visible,U.textInputFocus,ji.HasFocusedSuggestion),kbOpts:{weight:Yo,kbExpr:U.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:pc,group:"left",order:2,when:qe.and(ji.HasInsertAndReplaceRange,ji.InsertMode.isEqualTo("insert")),title:S("accept.replace","Replace")},{menuId:pc,group:"left",order:2,when:qe.and(ji.HasInsertAndReplaceRange,ji.InsertMode.isEqualTo("replace")),title:S("accept.insert","Insert")}]}));Kn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");Di(new xo({id:"hideSuggestWidget",precondition:ji.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:Yo,kbExpr:U.textInputFocus,primary:9,secondary:[1033]}}));Di(new xo({id:"selectNextSuggestion",precondition:qe.and(ji.Visible,qe.or(ji.MultipleSuggestions,ji.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:Yo,kbExpr:U.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Di(new xo({id:"selectNextPageSuggestion",precondition:qe.and(ji.Visible,qe.or(ji.MultipleSuggestions,ji.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:Yo,kbExpr:U.textInputFocus,primary:12,secondary:[2060]}}));Di(new xo({id:"selectLastSuggestion",precondition:qe.and(ji.Visible,qe.or(ji.MultipleSuggestions,ji.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Di(new xo({id:"selectPrevSuggestion",precondition:qe.and(ji.Visible,qe.or(ji.MultipleSuggestions,ji.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:Yo,kbExpr:U.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Di(new xo({id:"selectPrevPageSuggestion",precondition:qe.and(ji.Visible,qe.or(ji.MultipleSuggestions,ji.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:Yo,kbExpr:U.textInputFocus,primary:11,secondary:[2059]}}));Di(new xo({id:"selectFirstSuggestion",precondition:qe.and(ji.Visible,qe.or(ji.MultipleSuggestions,ji.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Di(new xo({id:"focusSuggestion",precondition:qe.and(ji.Visible,ji.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:Yo,kbExpr:U.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Di(new xo({id:"focusAndAcceptSuggestion",precondition:qe.and(ji.Visible,ji.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Di(new xo({id:"toggleSuggestionDetails",precondition:qe.and(ji.Visible,ji.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:Yo,kbExpr:U.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:pc,group:"right",order:1,when:qe.and(ji.DetailsVisible,ji.CanResolve),title:S("detail.more","Show Less")},{menuId:pc,group:"right",order:1,when:qe.and(ji.DetailsVisible.toNegated(),ji.CanResolve),title:S("detail.less","Show More")}]}));Di(new xo({id:"toggleExplainMode",precondition:ji.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Di(new xo({id:"toggleSuggestionFocus",precondition:ji.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:Yo,kbExpr:U.textInputFocus,primary:2570,mac:{primary:778}}}));Di(new xo({id:"insertBestCompletion",precondition:qe.and(U.textInputFocus,qe.equals("config.editor.tabCompletion","on"),cv.AtEnd,ji.Visible.toNegated(),z0.OtherSuggestions.toNegated(),fo.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(P2(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:Yo,primary:2}}));Di(new xo({id:"insertNextSuggestion",precondition:qe.and(U.textInputFocus,qe.equals("config.editor.tabCompletion","on"),z0.OtherSuggestions,ji.Visible.toNegated(),fo.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:Yo,kbExpr:U.textInputFocus,primary:2}}));Di(new xo({id:"insertPrevSuggestion",precondition:qe.and(U.textInputFocus,qe.equals("config.editor.tabCompletion","on"),z0.OtherSuggestions,ji.Visible.toNegated(),fo.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:Yo,kbExpr:U.textInputFocus,primary:1026}}));Te(class extends bt{constructor(){super({id:"editor.action.resetSuggestSize",label:S("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(o,e){var t;(t=Fr.get(e))==null||t.resetWidgetSize()}});class DH extends Mt{get selectedItem(){return this._currentSuggestItemInfo}constructor(e,t,i){super(),this.editor=e,this.suggestControllerPreselector=t,this.onWillAccept=i,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new sn),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(e.onKeyDown(s=>{s.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(s=>{s.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const n=Fr.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(a,d,u)=>{const f=this.editor.getModel();if(!f)return-1;const g=this.suggestControllerPreselector(),p=g?Fd(g,f):void 0;if(!p)return-1;const C=_i.lift(d),b=u.map((w,A)=>{const P=cg.fromSuggestion(n,f,C,w,this.isShiftKeyPressed),M=Fd(P.toSingleTextEdit(),f),R=xB(p,M);return{index:A,valid:R,prefixLength:M.text.length,suggestItem:w}}).filter(w=>w&&w.valid&&w.prefixLength>0),y=tL(b,Dp(w=>w.prefixLength,j_));return y?y.index:-1}}));let s=!1;const r=()=>{s||(s=!0,this._register(n.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(n.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(n.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(Ls.once(n.model.onDidTrigger)(a=>{r()})),this._register(n.onWillInsertSuggestItem(a=>{const d=this.editor.getPosition(),u=this.editor.getModel();if(!d||!u)return;const f=cg.fromSuggestion(n,u,d,a.item,this.isShiftKeyPressed);this.onWillAccept(f)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!AH(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=Fr.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem(),i=this.editor.getPosition(),n=this.editor.getModel();if(!(!t||!i||!n))return cg.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=Fr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=Fr.get(this.editor);e==null||e.forceRenderingAbove()}}class cg{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const u=new Au().parse(r);u.children.length<100&&lv.adjustWhitespace(t,i,!0,u),r=u.toString(),a=!0}const d=e.getOverwriteInfo(n,s);return new cg(ee.fromPositions(i.delta(0,-d.overwriteBefore),i.delta(0,Math.max(d.overwriteAfter,0))),r,n.completion.kind,a)}constructor(e,t,i,n){this.range=e,this.insertText=t,this.completionItemKind=i,this.isSnippetText=n}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new iL(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new Sl(this.range,this.insertText)}}function AH(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var kH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},tl=function(o,e){return function(t,i){e(t,i,o)}},VE,eu;let lr=(eu=class extends Mt{static get(e){return e.getContribution(VE.ID)}constructor(e,t,i,n,s,r,a,d,u,f){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=n,this._commandService=s,this._debounceService=r,this._languageFeaturesService=a,this._accessibilitySignalService=d,this._keybindingService=u,this._accessibilityService=f,this._editorObs=La(this.editor),this._positions=Mn(this,p=>{var C;return((C=this._editorObs.selections.read(p))==null?void 0:C.map(b=>b.getEndPosition()))??[new _i(1,1)]}),this._suggestWidgetAdaptor=this._register(new DH(this.editor,()=>{var p,C;return this._editorObs.forceUpdate(),(C=(p=this.model.get())==null?void 0:p.selectedInlineCompletion.get())==null?void 0:C.toSingleTextEdit(void 0)},p=>this._editorObs.forceUpdate(C=>{var b;(b=this.model.get())==null||b.handleSuggestAccepted(p)}))),this._suggestWidgetSelectedItem=Fo(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(C=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=Fo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=Fo(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=Fo(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=Mn(this,p=>this._enabledInConfig.read(p)&&(!this._isScreenReaderEnabled.read(p)||!this._editorDictationInProgress.read(p))),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this.model=Tc(this,p=>{if(this._editorObs.isReadonly.read(p))return;const C=this._editorObs.model.read(p);return C?this._instantiationService.createInstance(IE,C,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,Fo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),Fo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),Fo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=Mn(this,p=>{const C=this.model.read(p);return(C==null?void 0:C.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=BH(this._ghostTexts,this._store),this._ghostTextWidgets=nL(this,this._stablizedGhostTexts,(p,C)=>C.add(this._instantiationService.createInstance(FE,this.editor,{ghostText:p,minReservedLineCount:fl(0),targetTextModel:this.model.map(b=>b==null?void 0:b.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=Vw(this),this._fontFamily=Fo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new Mo(this._contextKeyService,this.model)),this._register(qS(this._editorObs.onDidType,(p,C)=>{var b;this._enabled.get()&&((b=this.model.get())==null||b.trigger())})),this._register(this._commandService.onDidExecuteCommand(p=>{new Set([Gx.Tab.id,Gx.DeleteLeft.id,Gx.DeleteRight.id,S5,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(b=>{var y;(y=this.model.get())==null||y.trigger(b)})})),this._register(qS(this._editorObs.selections,(p,C)=>{var b;C.some(y=>y.reason===3||y.source==="api")&&((b=this.model.get())==null||b.stop())})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||M0.dropDownVisible||Wu(p=>{var C;(C=this.model.get())==null||C.stop(p)})})),this._register(ts(p=>{var b;const C=(b=this.model.read(p))==null?void 0:b.state.read(p);C!=null&&C.suggestItem?C.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(Xn(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const g=z_(this,(p,C)=>{var w;const b=this.model.read(p),y=b==null?void 0:b.state.read(p);return this._suggestWidgetSelectedItem.get()?C:(w=y==null?void 0:y.inlineCompletion)==null?void 0:w.semanticId});this._register(sL(Mn(p=>(this._playAccessibilitySignal.read(p),g.read(p),{})),async(p,C,b)=>{const y=this.model.get(),w=y==null?void 0:y.state.get();if(!w||!y)return;const A=y.textModel.getLineContent(w.primaryGhostText.lineNumber);await K_(50,o1(b)),await oL(this._suggestWidgetSelectedItem,Mf,()=>!1,o1(b)),await this._accessibilitySignalService.playSignal(M2.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(w.primaryGhostText.renderForScreenReader(A))})),this._register(new Z1(this.editor,this.model,this._instantiationService)),this._register(_O(Mn(p=>{const C=this._fontFamily.read(p);return C===""||C==="default"?"":`
43
- .monaco-editor .ghost-text-decoration,
44
- .monaco-editor .ghost-text-decoration-preview,
45
- .monaco-editor .ghost-text {
46
- font-family: ${C};
47
- }`}))),this._register(this._configurationService.onDidChangeConfiguration(p=>{p.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})})),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAccessibilitySignal(e){this._playAccessibilitySignal.trigger(e)}_provideScreenReaderUpdate(e){const t=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),i=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let n;!t&&i&&this.editor.getOption(150)&&(n=S("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),Tr(n?e+", "+n:e)}shouldShowHoverAt(e){var i;const t=(i=this.model.get())==null?void 0:i.primaryGhostText.get();return t?t.parts.some(n=>e.containsPosition(new _i(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},VE=eu,eu.ID="editor.contrib.inlineCompletionsController",eu);lr=VE=kH([tl(1,en),tl(2,Dn),tl(3,Qn),tl(4,Ws),tl(5,cr),tl(6,bi),tl(7,T2),tl(8,ws),tl(9,V_)],lr);function BH(o,e){const t=Ko("result",[]),i=[];return e.add(ts(n=>{const s=o.read(n);Wu(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=Ko("item",s[a]));t.set([...i],r)}i.forEach((a,d)=>a.set(s[d],r))})})),t}const o_=class o_ extends bt{constructor(){super({id:o_.ID,label:S("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:qe.and(U.writable,Mo.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=lr.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};o_.ID=A5;let jE=o_;const r_=class r_ extends bt{constructor(){super({id:r_.ID,label:S("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:qe.and(U.writable,Mo.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=lr.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};r_.ID=D5;let $E=r_;class FH extends bt{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:S("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:U.writable})}async run(e,t){const i=lr.get(t);await nk(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n)),i==null||i.playAccessibilitySignal(n)})}}class LH extends bt{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:S("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:qe.and(U.writable,Mo.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:qe.and(U.writable,Mo.inlineSuggestionVisible)},menuOpts:[{menuId:Xt.InlineSuggestionToolbar,title:S("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=lr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class IH extends bt{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:S("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:qe.and(U.writable,Mo.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:Xt.InlineSuggestionToolbar,title:S("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=lr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class PH extends bt{constructor(){super({id:S5,label:S("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:Mo.inlineSuggestionVisible,menuOpts:[{menuId:Xt.InlineSuggestionToolbar,title:S("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:qe.and(Mo.inlineSuggestionVisible,U.tabMovesFocus.toNegated(),Mo.inlineSuggestionHasIndentationLessThanTabSize,ji.Visible.toNegated(),U.hoverFocused.toNegated())}})}async run(e,t){var n;const i=lr.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const a_=class a_ extends bt{constructor(){super({id:a_.ID,label:S("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:Mo.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=lr.get(t);Wu(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};a_.ID="editor.action.inlineSuggest.hide";let UE=a_;const l_=class l_ extends wo{constructor(){super({id:l_.ID,title:S("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:Xt.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:qe.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(Qn),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};l_.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let qE=l_;var TH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ff=function(o,e){return function(t,i){e(t,i,o)}};class MH{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let GE=class{constructor(e,t,i,n,s,r){this._editor=e,this._languageService=t,this._openerService=i,this.accessibilityService=n,this._instantiationService=s,this._telemetryService=r,this.hoverOrdinal=4}suggestHoverAnchor(e){const t=lr.get(this._editor);if(!t)return null;const i=e.target;if(i.type===8){const n=i.detail;if(t.shouldShowHoverAtViewZone(n.viewZoneId))return new im(1e3,this,ee.fromPositions(this._editor.getModel().validatePosition(n.positionBefore||n.position)),e.event.posx,e.event.posy,!1)}return i.type===7&&t.shouldShowHoverAt(i.range)?new im(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new im(1e3,this,i.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if(this._editor.getOption(62).showToolbar!=="onHover")return[];const i=lr.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new MH(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new It,n=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&i.add(this.renderScreenReaderText(e,n));const s=n.controller.model.get(),r=this._instantiationService.createInstance(M0,this._editor,!1,fl(null),s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.activeCommands),a=r.getDomNode();e.fragment.appendChild(a),s.triggerExplicitly(),i.add(r);const d={hoverPart:n,hoverElement:a,dispose(){i.dispose()}};return new Lu([d])}renderScreenReaderText(e,t){const i=new It,n=ai,s=n("div.hover-row.markdown-hover"),r=ei(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new Y0({editor:this._editor},this._languageService,this._openerService)),d=u=>{i.add(a.onDidRenderAsync(()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}));const f=S("inlineSuggestionFollows","Suggestion:"),g=i.add(a.render(new oo().appendText(f).appendCodeblock("text",u)));r.replaceChildren(g.element)};return i.add(ts(u=>{var g;const f=(g=t.controller.model.read(u))==null?void 0:g.primaryGhostText.read(u);if(f){const p=this._editor.getModel().getLineContent(f.lineNumber);d(f.renderForScreenReader(p))}else bm(r)})),e.fragment.appendChild(s),i}};GE=TH([Ff(1,ua),Ff(2,ca),Ff(3,V_),Ff(4,en),Ff(5,da)],GE);class RH{}const Cb=new class{constructor(){this._implementations=[]}register(e){return this._implementations.push(e),{dispose:()=>{const t=this._implementations.indexOf(e);t!==-1&&this._implementations.splice(t,1)}}}getImplementations(){return this._implementations}};an(lr.ID,lr,3);Te(FH);Te(jE);Te($E);Te(LH);Te(IH);Te(PH);Te(UE);Nn(qE);Uu.register(GE);Cb.register(new RH);var NH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},FC=function(o,e){return function(t,i){e(t,i,o)}},jf,Dc;let qg=(Dc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new It,this.toUnhookForKeyboard=new It,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new fb(e);this.toUnhook.add(s),this.toUnhook.add(s.onMouseMoveOrRelevantKeyDown(([r,a])=>{this.startFindDefinitionFromMouse(r,a??void 0)})),this.toUnhook.add(s.onExecute(r=>{this.isEnabled(r)&&this.gotoDefinition(r.target.position,r.hasSideBySideModifier).catch(a=>{zn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(jf.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(t=>{t&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(e,t){if(e.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const i=e.target.position;this.startFindDefinition(i)}async startFindDefinition(e){var r;this.toUnhookForKeyboard.clear();const t=e?(r=this.editor.getModel())==null?void 0:r.getWordAtPosition(e):null;if(!t){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===t.startColumn&&this.currentWordAtPosition.endColumn===t.endColumn&&this.currentWordAtPosition.word===t.word)return;this.currentWordAtPosition=t;const i=new sk(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=$s(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){zn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?ee.lift(n[0].originSelectionRange):new ee(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:d}of n)d&&(a=ee.plusRange(a,d));this.addDecoration(a,new oo().appendText(S("multipleResults","Click to show {0} definitions.",n.length)))}else{const a=n[0];if(!a.uri)return;this.textModelResolverService.createModelReference(a.uri).then(d=>{if(!d.object||!d.object.textEditorModel){d.dispose();return}const{object:{textEditorModel:u}}=d,{startLineNumber:f}=a.range;if(f<1||f>u.getLineCount()){d.dispose();return}const g=this.getPreviewValue(u,f,a),p=this.languageService.guessLanguageIdByFilepathOrFirstLine(u.uri);this.addDecoration(s,g?new oo().appendCodeblock(p||"",g):void 0),d.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=jf.MAX_SOURCE_PREVIEW_LINES&&(n=this.getPreviewRangeBasedOnIndentation(e,t)),this.stripIndentationFromPreviewRange(e,t,n)}stripIndentationFromPreviewRange(e,t,i){let s=e.getLineFirstNonWhitespaceColumn(t);for(let a=t+1;a<i.endLineNumber;a++){const d=e.getLineFirstNonWhitespaceColumn(a);s=Math.min(s,d)}return e.getValueInRange(i).replace(new RegExp(`^\\s{${s-1}}`,"gm"),"").trim()}getPreviewRangeBasedOnIndentation(e,t){const i=e.getLineFirstNonWhitespaceColumn(t),n=Math.min(e.getLineCount(),t+jf.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new ee(t,1,s+1,1)}addDecoration(e,t){const i={range:e,options:{description:"goto-definition-link",inlineClassName:"goto-definition-link",hoverMessage:t}};this.linkDecorations.set([i])}removeLinkDecorations(){this.linkDecorations.clear()}isEnabled(e,t){var i;return this.editor.hasModel()&&e.isLeftClick&&e.isNoneOrSingleMouseDown&&e.target.type===6&&!(((i=e.target.detail.injectedText)==null?void 0:i.options)instanceof Ww)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?zp(this.languageFeaturesService.definitionProvider,i,e,!1,t):Promise.resolve(null)}gotoDefinition(e,t){return this.editor.setPosition(e),this.editor.invokeWithinContext(i=>{const n=!t&&this.editor.getOption(89)&&!this.isInPeekEditor(i);return new jp({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(Dn);return Eo.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},jf=Dc,Dc.ID="editor.contrib.gotodefinitionatposition",Dc.MAX_SOURCE_PREVIEW_LINES=8,Dc);qg=jf=NH([FC(1,ha),FC(2,ua),FC(3,bi)],qg);an(qg.ID,qg,2);var vB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},gv=function(o,e){return function(t,i){e(t,i,o)}};class LD{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let KE=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new sn,this.onDidChange=this._onDidChange.event,this._dispoables=new It,this._markers=[],this._nextIdx=-1,On.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),s=(a,d)=>{let u=GS(a.resource.toString(),d.resource.toString());return u===0&&(n==="position"?u=ee.compareRangesUsingStarts(a,d)||lo.compare(a.severity,d.severity):u=lo.compare(a.severity,d.severity)||ee.compareRangesUsingStarts(a,d)),u},r=()=>{this._markers=this._markerService.read({resource:On.isUri(e)?e:void 0,severities:lo.Error|lo.Warning|lo.Info}),typeof e=="function"&&(this._markers=this._markers.filter(a=>this._resourceFilter(a.resource))),this._markers.sort(s)};r(),this._dispoables.add(t.onMarkerChanged(a=>{(!this._resourceFilter||a.some(d=>this._resourceFilter(d)))&&(r(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e?!0:!this._resourceFilter||!e?!1:this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new LD(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let n=!1,s=this._markers.findIndex(r=>r.resource.toString()===e.uri.toString());s<0&&(s=Sm(this._markers,{resource:e.uri},(r,a)=>GS(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=ee.lift(this._markers[r]);if(a.isEmpty()){const d=e.getWordAtPosition(a.getStartPosition());d&&(a=new ee(a.startLineNumber,d.startColumn,a.startLineNumber,d.endColumn))}if(t&&(a.containsPosition(t)||t.isBeforeOrEqual(a.getStartPosition()))){this._nextIdx=r,n=!0;break}if(this._markers[r].resource.toString()!==e.uri.toString())break}n||(this._nextIdx=i?0:this._markers.length-1),this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(e,t,i){if(this._markers.length===0)return!1;const n=this._nextIdx;return this._nextIdx===-1?this._initIdx(t,i,e):e?this._nextIdx=(this._nextIdx+1)%this._markers.length:e||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),n!==this._nextIdx}find(e,t){let i=this._markers.findIndex(n=>n.resource.toString()===e.toString());if(!(i<0)){for(;i<this._markers.length;i++)if(ee.containsPosition(this._markers[i],t))return new LD(this._markers[i],i+1,this._markers.length)}}};KE=vB([gv(1,Iw),gv(2,Qn)],KE);const _B=Tl("IMarkerNavigationService");let ZE=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new K2}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new KE(e,this._markerService,this._configService)}};ZE=vB([gv(0,Iw),gv(1,Qn)],ZE);Ml(_B,ZE,1);var XE;(function(o){function e(t){switch(t){case dx.Ignore:return"severity-ignore "+Fn.asClassName($i.info);case dx.Info:return Fn.asClassName($i.info);case dx.Warning:return Fn.asClassName($i.warning);case dx.Error:return Fn.asClassName($i.error);default:return""}}o.className=e})(XE||(XE={}));var OH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mh=function(o,e){return function(t,i){e(t,i,o)}},YE;class HH{constructor(e,t,i,n,s){this._openerService=n,this._labelService=s,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new It,this._editor=t;const r=document.createElement("div");r.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),r.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),r.appendChild(this._relatedBlock),this._disposables.add(wl(this._relatedBlock,"click",a=>{a.preventDefault();const d=this._relatedDiagnostics.get(a.target);d&&i(d)})),this._scrollable=new hL(r,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(a=>{r.style.left=`-${a.scrollLeft}px`,r.style.top=`-${a.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){ao(this._disposables)}update(e){const{source:t,message:i,relatedInformation:n,code:s}=e;let r=((t==null?void 0:t.length)||0)+2;s&&(typeof s=="string"?r+=s.length:r+=s.value.length);const a=G_(i);this._lines=a.length,this._longestLineLength=0;for(const p of a)this._longestLineLength=Math.max(p.length+r,this._longestLineLength);Ha(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let d=this._messageBlock;for(const p of a)d=document.createElement("div"),d.innerText=p,p===""&&(d.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(d);if(t||s){const p=document.createElement("span");if(p.classList.add("details"),d.appendChild(p),t){const C=document.createElement("span");C.innerText=t,C.classList.add("source"),p.appendChild(C)}if(s)if(typeof s=="string"){const C=document.createElement("span");C.innerText=`(${s})`,C.classList.add("code"),p.appendChild(C)}else{this._codeLink=ai("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=b=>{this._openerService.open(s.target,{allowCommands:!0}),b.preventDefault(),b.stopPropagation()};const C=ei(this._codeLink,ai("span"));C.innerText=s.value,p.appendChild(this._codeLink)}}if(Ha(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),Go(n)){const p=this._relatedBlock.appendChild(document.createElement("div"));p.style.paddingTop=`${Math.floor(this._editor.getOption(67)*.66)}px`,this._lines+=1;for(const C of n){const b=document.createElement("div"),y=document.createElement("a");y.classList.add("filename"),y.innerText=`${this._labelService.getUriBasenameLabel(C.resource)}(${C.startLineNumber}, ${C.startColumn}): `,y.title=this._labelService.getUriLabel(C.resource),this._relatedDiagnostics.set(y,C);const w=document.createElement("span");w.innerText=C.message,b.appendChild(y),b.appendChild(w),this._lines+=1,p.appendChild(b)}}const u=this._editor.getOption(50),f=Math.ceil(u.typicalFullwidthCharacterWidth*this._longestLineLength*.75),g=u.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:f,scrollHeight:g})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case lo.Error:t=S("Error","Error");break;case lo.Warning:t=S("Warning","Warning");break;case lo.Info:t=S("Info","Info");break;case lo.Hint:t=S("Hint","Hint");break}let i=S("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const n=this._editor.getModel();return n&&e.startLineNumber<=n.getLineCount()&&e.startLineNumber>=1&&(i=`${n.getLineContent(e.startLineNumber)}, ${i}`),i}}var tu;let Gg=(tu=class extends Um{constructor(e,t,i,n,s,r,a){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},s),this._themeService=t,this._openerService=i,this._menuService=n,this._contextKeyService=r,this._labelService=a,this._callOnDispose=new It,this._onDidSelectRelatedInformation=new sn,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=lo.Warning,this._backgroundColor=un.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(jH);let t=QE,i=WH;this._severity===lo.Warning?(t=rm,i=zH):this._severity===lo.Info&&(t=JE,i=VH);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(N5),secondaryHeadingColor:e.getColor(O5)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(n=>this.editor.focus()));const t=[],i=this._menuService.getMenuActions(YE.TitleMenu,this._contextKeyService);Mw(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=ei(e,ai(""))}_fillBody(e){this._parentContainer=e,e.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._message=new HH(this._container,this.editor,t=>this._onDidSelectRelatedInformation.fire(t),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const n=ee.lift(e),s=this.editor.getPosition(),r=s&&n.containsPosition(s)?s:n.getStartPosition();super.show(r,this.computeRequiredHeight());const a=this.editor.getModel();if(a){const d=i>1?S("problems","{0} of {1} problems",t,i):S("change","{0} of {1} problem",t,i);this.setTitle($a(a.uri),d)}this._icon.className=`codicon ${XE.className(lo.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(r,0),this.editor.focus()}updateMarker(e){this._container.classList.remove("stale"),this._message.update(e)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height=`${e}px`}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}},YE=tu,tu.TitleMenu=new Xt("gotoErrorTitleMenu"),tu);Gg=YE=OH([mh(1,Nr),mh(2,ca),mh(3,Hu),mh(4,en),mh(5,Dn),mh(6,Dg)],Gg);const ID=$w(aL,rL),PD=$w(cL,lL),TD=$w(JC,dL),QE=li("editorMarkerNavigationError.background",{dark:ID,light:ID,hcDark:yl,hcLight:yl},S("editorMarkerNavigationError","Editor marker navigation widget error color.")),WH=li("editorMarkerNavigationError.headerBackground",{dark:Wa(QE,.1),light:Wa(QE,.1),hcDark:null,hcLight:null},S("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),rm=li("editorMarkerNavigationWarning.background",{dark:PD,light:PD,hcDark:yl,hcLight:yl},S("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),zH=li("editorMarkerNavigationWarning.headerBackground",{dark:Wa(rm,.1),light:Wa(rm,.1),hcDark:"#0C141F",hcLight:Wa(rm,.2)},S("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),JE=li("editorMarkerNavigationInfo.background",{dark:TD,light:TD,hcDark:yl,hcLight:yl},S("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),VH=li("editorMarkerNavigationInfo.headerBackground",{dark:Wa(JE,.1),light:Wa(JE,.1),hcDark:null,hcLight:null},S("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),jH=li("editorMarkerNavigation.background",uL,S("editorMarkerNavigationBackground","Editor marker navigation widget background."));var $H=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Lx=function(o,e){return function(t,i){e(t,i,o)}},$f,iu;let Tu=(iu=class{static get(e){return e.getContribution($f.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new It,this._editor=e,this._widgetVisible=bB.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(Gg,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(i=>{var n,s,r;(!((n=this._model)!=null&&n.selected)||!ee.containsPosition((s=this._model)==null?void 0:s.selected.marker,i.position))&&((r=this._model)==null||r.resetIndex())})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const i=this._model.find(this._editor.getModel().uri,this._widget.position);i?this._widget.updateMarker(i.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(i=>{this._editorService.openCodeEditor({resource:i.resource,options:{pinned:!0,revealIfOpened:!0,selection:ee.lift(i).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){const t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new _i(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){var i,n;if(this._editor.hasModel()){const s=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(s.move(e,this._editor.getModel(),this._editor.getPosition()),!s.selected)return;if(s.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const r=await this._editorService.openCodeEditor({resource:s.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:s.selected.marker}},this._editor);r&&((i=$f.get(r))==null||i.close(),(n=$f.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},$f=iu,iu.ID="editor.contrib.markerController",iu);Tu=$f=$H([Lx(1,_B),Lx(2,Dn),Lx(3,vs),Lx(4,en)],Tu);class Eb extends bt{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=Tu.get(t))==null||i.nagivate(this._next,this._multiFile))}}const dd=class dd extends Eb{constructor(){super(!0,!1,{id:dd.ID,label:dd.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:U.focus,primary:578,weight:100},menuOpts:{menuId:Gg.TitleMenu,title:dd.LABEL,icon:gs("marker-navigation-next",$i.arrowDown,S("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};dd.ID="editor.action.marker.next",dd.LABEL=S("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let pv=dd;const ud=class ud extends Eb{constructor(){super(!1,!1,{id:ud.ID,label:ud.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:U.focus,primary:1602,weight:100},menuOpts:{menuId:Gg.TitleMenu,title:ud.LABEL,icon:gs("marker-navigation-previous",$i.arrowUp,S("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};ud.ID="editor.action.marker.prev",ud.LABEL=S("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let ey=ud;class UH extends Eb{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:S("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:U.focus,primary:66,weight:100},menuOpts:{menuId:Xt.MenubarGoMenu,title:S({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class qH extends Eb{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:S("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:U.focus,primary:1090,weight:100},menuOpts:{menuId:Xt.MenubarGoMenu,title:S({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}an(Tu.ID,Tu,4);Te(pv);Te(ey);Te(UH);Te(qH);const bB=new vn("markersNavigationVisible",!1),GH=So.bindToContribution(Tu.get);Di(new GH({id:"closeMarkersNavigation",precondition:bB,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:U.focus,primary:9,secondary:[1033]}}));var qr;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(qr||(qr={}));class KH extends bt{constructor(){super({id:w5,label:S({key:"showOrFocusHover",comment:["Label for action that will trigger the showing/focusing of a hover in the editor.","If the hover is not visible, it will show the hover.","This allows for users to show the hover without using the mouse."]},"Show or Focus Hover"),metadata:{description:gi("showOrFocusHoverDescription","Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position."),args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[qr.NoAutoFocus,qr.FocusIfVisible,qr.AutoFocusImmediately],enumDescriptions:[S("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),S("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),S("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:qr.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=so.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=qr.FocusIfVisible;Object.values(qr).includes(s)?r=s:typeof s=="boolean"&&s&&(r=qr.AutoFocusImmediately);const a=u=>{const f=t.getPosition(),g=new ee(f.lineNumber,f.column,f.lineNumber,f.column);n.showContentHover(g,1,1,u)},d=t.getOption(2)===2;n.isHoverVisible?r!==qr.NoAutoFocus?n.focus():a(d):a(d||r===qr.AutoFocusImmediately)}}class ZH extends bt{constructor(){super({id:hM,label:S({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0,metadata:{description:gi("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=so.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new ee(n.lineNumber,n.column,n.lineNumber,n.column),r=qg.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class XH extends bt{constructor(){super({id:fM,label:S({key:"scrollUpHover",comment:["Action that allows to scroll up in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:U.hoverFocused,kbOpts:{kbExpr:U.hoverFocused,primary:16,weight:100},metadata:{description:gi("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=so.get(t);i&&i.scrollUp()}}class YH extends bt{constructor(){super({id:gM,label:S({key:"scrollDownHover",comment:["Action that allows to scroll down in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:U.hoverFocused,kbOpts:{kbExpr:U.hoverFocused,primary:18,weight:100},metadata:{description:gi("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=so.get(t);i&&i.scrollDown()}}class QH extends bt{constructor(){super({id:pM,label:S({key:"scrollLeftHover",comment:["Action that allows to scroll left in the hover widget with the left arrow when the hover widget is focused."]},"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:U.hoverFocused,kbOpts:{kbExpr:U.hoverFocused,primary:15,weight:100},metadata:{description:gi("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=so.get(t);i&&i.scrollLeft()}}class JH extends bt{constructor(){super({id:xM,label:S({key:"scrollRightHover",comment:["Action that allows to scroll right in the hover widget with the right arrow when the hover widget is focused."]},"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:U.hoverFocused,kbOpts:{kbExpr:U.hoverFocused,primary:17,weight:100},metadata:{description:gi("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=so.get(t);i&&i.scrollRight()}}class eW extends bt{constructor(){super({id:mM,label:S({key:"pageUpHover",comment:["Action that allows to page up in the hover widget with the page up command when the hover widget is focused."]},"Page Up Hover"),alias:"Page Up Hover",precondition:U.hoverFocused,kbOpts:{kbExpr:U.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:gi("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=so.get(t);i&&i.pageUp()}}class tW extends bt{constructor(){super({id:vM,label:S({key:"pageDownHover",comment:["Action that allows to page down in the hover widget with the page down command when the hover widget is focused."]},"Page Down Hover"),alias:"Page Down Hover",precondition:U.hoverFocused,kbOpts:{kbExpr:U.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:gi("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=so.get(t);i&&i.pageDown()}}class iW extends bt{constructor(){super({id:_M,label:S({key:"goToTopHover",comment:["Action that allows to go to the top of the hover widget with the home command when the hover widget is focused."]},"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:U.hoverFocused,kbOpts:{kbExpr:U.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:gi("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=so.get(t);i&&i.goToTop()}}class nW extends bt{constructor(){super({id:bM,label:S({key:"goToBottomHover",comment:["Action that allows to go to the bottom in the hover widget with the end command when the hover widget is focused."]},"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:U.hoverFocused,kbOpts:{kbExpr:U.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:gi("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=so.get(t);i&&i.goToBottom()}}class sW extends bt{constructor(){super({id:db,label:CM,alias:"Increase Hover Verbosity Level",precondition:U.hoverVisible})}run(e,t,i){const n=so.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(or.Increase,s,i==null?void 0:i.focus)}}class oW extends bt{constructor(){super({id:ub,label:EM,alias:"Decrease Hover Verbosity Level",precondition:U.hoverVisible})}run(e,t,i){var r;const n=so.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=so.get(t))==null||r.updateHoverVerbosityLevel(or.Decrease,s,i==null?void 0:i.focus)}}var rW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},LC=function(o,e){return function(t,i){e(t,i,o)}};const pr=ai;class aW{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const MD={type:1,filter:{include:qn.QuickFix},triggerAction:No.QuickFixHover};let ty=class{constructor(e,t,i,n){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=n,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,s=i.getLineMaxColumn(n),r=[];for(const a of t){const d=a.range.startLineNumber===n?a.range.startColumn:1,u=a.range.endLineNumber===n?a.range.endColumn:s,f=this._markerDecorationsService.getMarker(i.uri,a);if(!f)continue;const g=new ee(e.range.startLineNumber,d,e.range.startLineNumber,u);r.push(new aW(this,g,f))}return r}renderHoverParts(e,t){if(!t.length)return new Lu([]);const i=new It,n=[];t.forEach(r=>{const a=this._renderMarkerHover(r);e.fragment.appendChild(a.hoverElement),n.push(a)});const s=t.length===1?t[0]:t.sort((r,a)=>lo.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new Lu(n)}_renderMarkerHover(e){const t=new It,i=pr("div.hover-row"),n=ei(i,pr("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:d}=e.marker;this._editor.applyFontInfo(n);const u=ei(n,pr("span"));if(u.style.whiteSpace="pre-wrap",u.innerText=r,s||a)if(a&&typeof a!="string"){const g=pr("span");if(s){const y=ei(g,pr("span"));y.innerText=s}const p=ei(g,pr("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(Sn(p,"click",y=>{this._openerService.open(a.target,{allowCommands:!0}),y.preventDefault(),y.stopPropagation()}));const C=ei(p,pr("span"));C.innerText=a.value;const b=ei(n,g);b.style.opacity="0.6",b.style.paddingLeft="6px"}else{const g=ei(n,pr("span"));g.style.opacity="0.6",g.style.paddingLeft="6px",g.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(Go(d))for(const{message:g,resource:p,startLineNumber:C,startColumn:b}of d){const y=ei(n,pr("div"));y.style.marginTop="8px";const w=ei(y,pr("a"));w.innerText=`${$a(p)}(${C}, ${b}): `,w.style.cursor="pointer",t.add(Sn(w,"click",P=>{if(P.stopPropagation(),P.preventDefault(),this._openerService){const M={selection:{startLineNumber:C,startColumn:b}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:M}).catch(zn)}}));const A=ei(y,pr("span"));A.innerText=g,this._editor.applyFontInfo(A)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===lo.Error||t.marker.severity===lo.Warning||t.marker.severity===lo.Info){const n=Tu.get(this._editor);n&&e.statusBar.addAction({label:S("view problem","View Problem"),commandId:pv.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(pr("div"));this.recentMarkerCodeActionsInfo&&(KS.makeKey(this.recentMarkerCodeActionsInfo.marker)===KS.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=S("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?Mt.None:bg(()=>n.textContent=S("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(Xn(()=>r.cancel())),r.then(a=>{if(s.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:a.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){a.dispose(),n.textContent=S("noQuickFixes","No quick fixes available");return}n.style.display="none";let d=!1;i.add(Xn(()=>{d||a.dispose()})),e.statusBar.addAction({label:S("quick fixes","Quick Fix..."),commandId:_9,run:u=>{d=!0;const f=P0.get(this._editor),g=Co(u);e.hide(),f==null||f.showCodeActions(MD,a,{x:g.left,y:g.top,width:g.width,height:g.height})}})},zn)}}getCodeActions(e){return $s(t=>Mh(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new ee(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),MD,hl.None,t))}};ty=rW([LC(1,fL),LC(2,ca),LC(3,bi)],ty);class lW{get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}get lane(){return this._laneOrLine}set lane(e){this._laneOrLine=e}constructor(e){this._editor=e,this._lineNumber=-1,this._laneOrLine=vm.Center}computeSync(){var s;const e=r=>({value:r}),t=this._editor.getLineDecorations(this._lineNumber),i=[],n=this._laneOrLine==="lineNo";if(!t)return i;for(const r of t){const a=((s=r.options.glyphMargin)==null?void 0:s.position)??vm.Center;if(!n&&a!==this._laneOrLine)continue;const d=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!d||Sg(d)||i.push(...p2(d).map(e))}return i}}var cW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},RD=function(o,e){return function(t,i){e(t,i,o)}},iy;const ND=ai;var nu;let ny=(nu=class extends Mt{constructor(e,t,i){super(),this._renderDisposeables=this._register(new It),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new g2),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new Y0({editor:this._editor},t,i)),this._computer=new lW(this._editor),this._hoverOperation=this._register(new k5(this._editor,this._computer)),this._register(this._hoverOperation.onResult(n=>{this._withResult(n.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(50)&&this._updateFont()})),this._register(wl(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return iy.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(t=>this._editor.applyFontInfo(t))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}showsOrWillShow(e){const t=e.target;return t.type===2&&t.detail.glyphMarginLane?(this._startShowingAt(t.position.lineNumber,t.detail.glyphMarginLane),!0):t.type===3?(this._startShowingAt(t.position.lineNumber,"lineNo"),!0):!1}_startShowingAt(e,t){this._computer.lineNumber===e&&this._computer.lane===t||(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._computer.lane=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();const i=document.createDocumentFragment();for(const n of t){const s=ND("div.hover-row.markdown-hover"),r=ei(s,ND("div.hover-contents")),a=this._renderDisposeables.add(this._markdownRenderer.render(n.value));r.appendChild(a.element),i.appendChild(s)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),n=this._editor.getScrollTop(),s=this._editor.getOption(67),r=this._hover.containerDomNode.clientHeight,a=i-n-(r-s)/2,d=t.glyphMarginLeft+t.glyphMarginWidth+(this._computer.lane==="lineNo"?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${d}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(a),0)}px`}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!hb(t,e.x,e.y))&&this.hide()}},iy=nu,nu.ID="editor.contrib.modesGlyphHoverWidget",nu);ny=iy=cW([RD(1,ua),RD(2,ca)],ny);var dW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},uW=function(o,e){return function(t,i){e(t,i,o)}},u0;let xv=(u0=class extends Mt{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new It,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new Is(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0,!this._isMouseOnMarginHoverWidget(e)&&this._hideWidgets()}_isMouseOnMarginHoverWidget(e){var i;const t=(i=this._glyphWidget)==null?void 0:i.getDomNode();return t?hb(t,e.event.posx,e.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._isMouseOnMarginHoverWidget(e))||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky,i=this._isMouseOnMarginHoverWidget(e);return t&&i}_onEditorMouseMove(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._mouseMoveEvent=e,this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){!e||this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateGlyphWidget().showsOrWillShow(e)}_onKeyDown(e){this._editor.hasModel()&&(e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4||this._hideWidgets())}_hideWidgets(){var e;(e=this._glyphWidget)==null||e.hide()}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=this._instantiationService.createInstance(ny,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},u0.ID="editor.contrib.marginHover",u0);xv=dW([uW(1,en)],xv);class hW{}class fW{}class gW{}an(so.ID,so,2);an(xv.ID,xv,2);Te(KH);Te(ZH);Te(XH);Te(YH);Te(QH);Te(JH);Te(eW);Te(tW);Te(iW);Te(nW);Te(sW);Te(oW);Uu.register(zg);Uu.register(ty);H_((o,e)=>{const t=o.getColor(gL);t&&(e.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${t.transparent(.5)}; }`))});Cb.register(new hW);Cb.register(new fW);Cb.register(new gW);function Bo(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function dg(o,e,t){o=o<0?0:o;let i="";if(!t){const n=Math.floor(o/e);o=o%e;for(let s=0;s<n;s++)i+=" "}for(let n=0;n<o;n++)i+=" ";return i}function CB(o,e,t,i){if(o.getLineCount()===1&&o.getLineMaxColumn(1)===1)return[];const n=e.getLanguageConfiguration(o.getLanguageId()).indentRulesSupport;if(!n)return[];const s=new pL(o,n,e);for(i=Math.min(i,o.getLineCount());t<=i&&s.shouldIgnore(t);)t++;if(t>i-1)return[];const{tabSize:r,indentSize:a,insertSpaces:d}=o.getOptions(),u=(y,w)=>(w=w||1,D0.shiftIndent(y,y.length+w,r,a,d)),f=(y,w)=>(w=w||1,D0.unshiftIndent(y,y.length+w,r,a,d)),g=[],p=o.getLineContent(t);let C=Js(p),b=C;s.shouldIncrease(t)?(b=u(b),C=u(C)):s.shouldIndentNextLine(t)&&(b=u(b)),t++;for(let y=t;y<=i;y++){if(pW(o,y))continue;const w=o.getLineContent(y),A=Js(w),P=b;s.shouldDecrease(y,P)&&(b=f(b),C=f(C)),A!==b&&g.push(os.replaceMove(new Hi(y,1,y,A.length+1),xL(b,a,d))),!s.shouldIgnore(y)&&(s.shouldIncrease(y,P)?(C=u(C),b=C):s.shouldIndentNextLine(y,P)?b=u(b):b=C)}return g}function pW(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var xW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mW=function(o,e){return function(t,i){e(t,i,o)}};const c_=class c_ extends bt{constructor(){super({id:c_.ID,label:S("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:U.writable,metadata:{description:gi("indentationToSpacesDescription","Convert the tab indentation to spaces.")}})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),s=t.getSelection();if(!s)return;const r=new EW(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};c_.ID="editor.action.indentationToSpaces";let sy=c_;const d_=class d_ extends bt{constructor(){super({id:d_.ID,label:S("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:U.writable,metadata:{description:gi("indentationToTabsDescription","Convert the spaces indentation to tabs.")}})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),s=t.getSelection();if(!s)return;const r=new yW(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};d_.ID="editor.action.indentationToTabs";let oy=d_;class U9 extends bt{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Pl),n=e.get(po),s=t.getModel();if(!s)return;const r=n.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget),a=s.getOptions(),d=[1,2,3,4,5,6,7,8].map(f=>({id:f.toString(),label:f.toString(),description:f===r.tabSize&&f===a.tabSize?S("configuredTabSize","Configured Tab Size"):f===r.tabSize?S("defaultTabSize","Default Tab Size"):f===a.tabSize?S("currentTabSize","Current Tab Size"):void 0})),u=Math.min(s.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(d,{placeHolder:S({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:d[u]}).then(f=>{if(f&&s&&!s.isDisposed()){const g=parseInt(f.label,10);this.displaySizeOnly?s.updateOptions({tabSize:g}):s.updateOptions({tabSize:g,indentSize:g,insertSpaces:this.insertSpaces})}})},50)}}const u_=class u_ extends U9{constructor(){super(!1,!1,{id:u_.ID,label:S("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:gi("indentUsingTabsDescription","Use indentation with tabs.")}})}};u_.ID="editor.action.indentUsingTabs";let ry=u_;const h_=class h_ extends U9{constructor(){super(!0,!1,{id:h_.ID,label:S("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:gi("indentUsingSpacesDescription","Use indentation with spaces.")}})}};h_.ID="editor.action.indentUsingSpaces";let ay=h_;const f_=class f_ extends U9{constructor(){super(!0,!0,{id:f_.ID,label:S("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:gi("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};f_.ID="editor.action.changeTabDisplaySize";let ly=f_;const g_=class g_ extends bt{constructor(){super({id:g_.ID,label:S("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:gi("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(po),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};g_.ID="editor.action.detectIndentation";let cy=g_;class vW extends bt{constructor(){super({id:"editor.action.reindentlines",label:S("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:U.writable,metadata:{description:gi("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(zs),n=t.getModel();if(!n)return;const s=CB(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class _W extends bt{constructor(){super({id:"editor.action.reindentselectedlines",label:S("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:U.writable,metadata:{description:gi("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(zs),n=t.getModel();if(!n)return;const s=t.getSelections();if(s===null)return;const r=[];for(const a of s){let d=a.startLineNumber,u=a.endLineNumber;if(d!==u&&a.endColumn===1&&u--,d===1){if(d===u)continue}else d--;const f=CB(n,i,d,u);r.push(...f)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class bW{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const i of e)i.range&&typeof i.text=="string"&&this._edits.push(i)}getEditOperations(e,t){for(const n of this._edits)t.addEditOperation(ee.lift(n.range),n.text);let i=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}var h0;let mv=(h0=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new It,this.callOnModel=new It,this.callOnDispose.add(e.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(e.onDidChangeModel(()=>this.update())),this.callOnDispose.add(e.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(this.editor.getOption(12)<4||this.editor.getOption(55))&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:e})=>{this.trigger(e)}))}trigger(e){const t=this.editor.getSelections();if(t===null||t.length>1)return;const i=this.editor.getModel();if(!i||this.rangeContainsOnlyWhitespaceCharacters(i,e)||CW(i,e)||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:r,indentSize:a,insertSpaces:d}=i.getOptions(),u=[],f={shiftIndent:b=>D0.shiftIndent(b,b.length+1,r,a,d),unshiftIndent:b=>D0.unshiftIndent(b,b.length+1,r,a,d)};let g=e.startLineNumber;for(;g<=e.endLineNumber;){if(this.shouldIgnoreLine(i,g)){g++;continue}break}if(g>e.endLineNumber)return;let p=i.getLineContent(g);if(!/\S/.test(p.substring(0,e.startColumn-1))){const b=eg(s,i,i.getLanguageId(),g,f,this._languageConfigurationService);if(b!==null){const y=Js(p),w=Bo(b,r),A=Bo(y,r);if(w!==A){const P=dg(w,r,d);u.push({range:new ee(g,1,g,y.length+1),text:P}),p=P+p.substring(y.length)}else{const P=ok(i,g,this._languageConfigurationService);if(P===0||P===8)return}}}const C=g;for(;g<e.endLineNumber;){if(!/\S/.test(i.getLineContent(g+1))){g++;continue}break}if(g!==e.endLineNumber){const y=eg(s,{tokenization:{getLineTokens:w=>i.tokenization.getLineTokens(w),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(w,A)=>i.getLanguageIdAtPosition(w,A)},getLineContent:w=>w===C?p:i.getLineContent(w)},i.getLanguageId(),g+1,f,this._languageConfigurationService);if(y!==null){const w=Bo(y,r),A=Bo(Js(i.getLineContent(g+1)),r);if(w!==A){const P=w-A;for(let M=g+1;M<=e.endLineNumber;M++){const R=i.getLineContent(M),T=Js(R),H=Bo(T,r)+P,J=dg(H,r,d);J!==T&&u.push({range:new ee(M,1,M,T.length+1),text:J})}}}}if(u.length>0){this.editor.pushUndoStop();const b=new bW(u,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",b),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(e,t){const i=s=>s.trim().length===0;let n=!0;if(t.startLineNumber===t.endLineNumber){const r=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);n=i(r)}else for(let s=t.startLineNumber;s<=t.endLineNumber;s++){const r=e.getLineContent(s);if(s===t.startLineNumber){const a=r.substring(t.startColumn-1);n=i(a)}else if(s===t.endLineNumber){const a=r.substring(0,t.endColumn-1);n=i(a)}else n=e.getLineFirstNonWhitespaceColumn(s)===0;if(!n)break}return n}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(i===0)return!0;const n=e.tokenization.getLineTokens(t);if(n.getCount()>0){const s=n.findTokenIndexAtOffset(i);if(s>=0&&n.getStandardTokenType(s)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}},h0.ID="editor.contrib.autoIndentOnPaste",h0);mv=xW([mW(1,zs)],mv);function CW(o,e){const t=i=>mL(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function EB(o,e,t,i){if(o.getLineCount()===1&&o.getLineMaxColumn(1)===1)return;let n="";for(let r=0;r<t;r++)n+=" ";const s=new RegExp(n,"gi");for(let r=1,a=o.getLineCount();r<=a;r++){let d=o.getLineFirstNonWhitespaceColumn(r);if(d===0&&(d=o.getLineMaxColumn(r)),d===1)continue;const u=new ee(r,1,r,d),f=o.getValueInRange(u),g=i?f.replace(/\t/ig,n):f.replace(s," ");e.addEditOperation(u,g)}}class EW{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),EB(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class yW{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),EB(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}an(mv.ID,mv,2);Te(sy);Te(oy);Te(ry);Te(ay);Te(ly);Te(cy);Te(vW);Te(_W);an(jg.ID,jg,1);Uu.register(Zm);class wW{constructor(e,t,i){this._editRange=e,this._originalSelection=t,this._text=i}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const n=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new Hi(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new Hi(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var SW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},DW=function(o,e){return function(t,i){e(t,i,o)}},am,Ac;let V0=(Ac=class{static get(e){return e.getContribution(am.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var d;(d=this.currentRequest)==null||d.cancel();const i=this.editor.getSelection(),n=this.editor.getModel();if(!n||!i)return;let s=i;if(s.startLineNumber!==s.endLineNumber)return;const r=new sk(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=$s(u=>this.editorWorkerService.navigateValueSet(a,s,t)),this.currentRequest.then(u=>{var b;if(!u||!u.range||!u.value||!r.validate(this.editor))return;const f=ee.lift(u.range);let g=u.range;const p=u.value.length-(s.endColumn-s.startColumn);g={startLineNumber:g.startLineNumber,startColumn:g.startColumn,endLineNumber:g.endLineNumber,endColumn:g.startColumn+u.value.length},p>1&&(s=new Hi(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const C=new wW(f,s,u.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,C),this.editor.pushUndoStop(),this.decorations.set([{range:g,options:am.DECORATION}]),(b=this.decorationRemover)==null||b.cancel(),this.decorationRemover=K_(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(zn)}).catch(zn)):Promise.resolve(void 0)}},am=Ac,Ac.ID="editor.contrib.inPlaceReplaceController",Ac.DECORATION=fn.register({description:"in-place-replace",className:"valueSetReplacement"}),Ac);V0=am=SW([DW(1,Rl)],V0);class AW extends bt{constructor(){super({id:"editor.action.inPlaceReplace.up",label:S("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=V0.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class kW extends bt{constructor(){super({id:"editor.action.inPlaceReplace.down",label:S("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=V0.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}an(V0.ID,V0,4);Te(AW);Te(kW);class BW extends bt{constructor(){super({id:"expandLineSelection",label:S("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:U.textInputFocus,primary:2090}})}run(e,t,i){if(i=i||{},!t.hasModel())return;const n=t._getViewModel();n.model.pushStackElement(),n.setCursorStates(i.source,3,Uw.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}Te(BW);class FW{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=LW(e,this._cursors,this._trimInRegexesAndStrings);for(let n=0,s=i.length;n<s;n++){const r=i[n];t.addEditOperation(r.range,r.text)}this._selectionId=t.trackSelection(this._selection)}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}function LW(o,e,t){e.sort((a,d)=>a.lineNumber===d.lineNumber?a.column-d.column:a.lineNumber-d.lineNumber);for(let a=e.length-2;a>=0;a--)e[a].lineNumber===e[a+1].lineNumber&&e.splice(a,1);const i=[];let n=0,s=0;const r=e.length;for(let a=1,d=o.getLineCount();a<=d;a++){const u=o.getLineContent(a),f=u.length+1;let g=0;if(s<r&&e[s].lineNumber===a&&(g=e[s].column,s++,g===f)||u.length===0)continue;const p=Kx(u);let C=0;if(p===-1)C=1;else if(p!==u.length-1)C=p+2;else continue;if(!t){if(!o.tokenization.hasAccurateTokensForLine(a))continue;const b=o.tokenization.getLineTokens(a),y=b.getStandardTokenType(b.findTokenIndexAtOffset(C));if(y===2||y===3)continue}C=Math.max(g,C),i[n++]=os.delete(new ee(a,C,a,f))}return i}class yB{constructor(e,t,i){this._selection=e,this._isCopyingDown=t,this._noop=i||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(e,t){let i=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._endLineNumberDelta=1,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));const n=[];for(let r=i.startLineNumber;r<=i.endLineNumber;r++)n.push(e.getLineContent(r));const s=n.join(`
48
- `);s===""&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._noop?t.addEditOperation(new ee(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
49
- `):this._isCopyingDown?t.addEditOperation(new ee(i.startLineNumber,1,i.startLineNumber,1),s+`
50
- `):t.addEditOperation(new ee(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),`
51
- `+s),this._selectionId=t.trackSelection(i),this._selectionDirection=this._selection.getDirection()}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let n=i.startLineNumber,s=i.startColumn,r=i.endLineNumber,a=i.endColumn;this._startLineNumberDelta!==0&&(n=n+this._startLineNumberDelta,s=1),this._endLineNumberDelta!==0&&(r=r+this._endLineNumberDelta,a=1),i=Hi.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var IW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},PW=function(o,e){return function(t,i){e(t,i,o)}};let dy=class{constructor(e,t,i,n){this._languageConfigurationService=n,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=()=>e.getLanguageId(),n=(g,p)=>e.getLanguageIdAtPosition(g,p),s=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===s){this._selectionId=t.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let r=this._selection;r.startLineNumber<r.endLineNumber&&r.endColumn===1&&(this._moveEndPositionDown=!0,r=r.setEndPosition(r.endLineNumber-1,e.getLineMaxColumn(r.endLineNumber-1)));const{tabSize:a,indentSize:d,insertSpaces:u}=e.getOptions(),f=this.buildIndentConverter(a,d,u);if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){const g=r.startLineNumber,p=this._isMovingDown?g+1:g-1;e.getLineMaxColumn(p)===1?t.addEditOperation(new ee(1,1,1,1),null):(t.addEditOperation(new ee(g,1,g,1),e.getLineContent(p)),t.addEditOperation(new ee(p,1,p,e.getLineMaxColumn(p)),null)),r=new Hi(p,1,p,1)}else{let g,p;if(this._isMovingDown){g=r.endLineNumber+1,p=e.getLineContent(g),t.addEditOperation(new ee(g-1,e.getLineMaxColumn(g-1),g,e.getLineMaxColumn(g)),null);let C=p;if(this.shouldAutoIndent(e,r)){const b=this.matchEnterRule(e,f,a,g,r.startLineNumber-1);if(b!==null){const w=Js(e.getLineContent(g)),A=b+Bo(w,a);C=dg(A,a,u)+this.trimStart(p)}else{const w={tokenization:{getLineTokens:P=>P===r.startLineNumber?e.tokenization.getLineTokens(g):e.tokenization.getLineTokens(P),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:P=>P===r.startLineNumber?e.getLineContent(g):e.getLineContent(P)},A=eg(this._autoIndent,w,e.getLanguageIdAtPosition(g,1),r.startLineNumber,f,this._languageConfigurationService);if(A!==null){const P=Js(e.getLineContent(g)),M=Bo(A,a),R=Bo(P,a);M!==R&&(C=dg(M,a,u)+this.trimStart(p))}}t.addEditOperation(new ee(r.startLineNumber,1,r.startLineNumber,1),C+`
52
- `);const y=this.matchEnterRuleMovingDown(e,f,a,r.startLineNumber,g,C);if(y!==null)y!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,y);else{const w={tokenization:{getLineTokens:P=>P===r.startLineNumber?e.tokenization.getLineTokens(g):P>=r.startLineNumber+1&&P<=r.endLineNumber+1?e.tokenization.getLineTokens(P-1):e.tokenization.getLineTokens(P),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:P=>P===r.startLineNumber?C:P>=r.startLineNumber+1&&P<=r.endLineNumber+1?e.getLineContent(P-1):e.getLineContent(P)},A=eg(this._autoIndent,w,e.getLanguageIdAtPosition(g,1),r.startLineNumber+1,f,this._languageConfigurationService);if(A!==null){const P=Js(e.getLineContent(r.startLineNumber)),M=Bo(A,a),R=Bo(P,a);if(M!==R){const T=M-R;this.getIndentEditsOfMovingBlock(e,t,r,a,u,T)}}}}else t.addEditOperation(new ee(r.startLineNumber,1,r.startLineNumber,1),C+`
53
- `)}else if(g=r.startLineNumber-1,p=e.getLineContent(g),t.addEditOperation(new ee(g,1,g+1,1),null),t.addEditOperation(new ee(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
54
- `+p),this.shouldAutoIndent(e,r)){const C={tokenization:{getLineTokens:y=>y===g?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(y),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:y=>y===g?e.getLineContent(r.startLineNumber):e.getLineContent(y)},b=this.matchEnterRule(e,f,a,r.startLineNumber,r.startLineNumber-2);if(b!==null)b!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,b);else{const y=eg(this._autoIndent,C,e.getLanguageIdAtPosition(r.startLineNumber,1),g,f,this._languageConfigurationService);if(y!==null){const w=Js(e.getLineContent(r.startLineNumber)),A=Bo(y,a),P=Bo(w,a);if(A!==P){const M=A-P;this.getIndentEditsOfMovingBlock(e,t,r,a,u,M)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>D0.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>D0.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===ux.None||s.indentAction===ux.Indent?r=s.indentation+s.appendText:s.indentAction===ux.IndentOutdent?r=s.indentation:s.indentAction===ux.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const d=Js(e.getLineContent(n));let u=Js(r);const f=ok(e,n,this._languageConfigurationService);f!==null&&f&2&&(u=t.unshiftIndent(u));const g=Bo(u,i),p=Bo(d,i);return g-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(Kx(r)>=0){const a=e.getLineMaxColumn(s),d=Jb(this._autoIndent,e,new ee(s,a,s,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,d)}else{let a=n-1;for(;a>=1;){const f=e.getLineContent(a);if(Kx(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const d=e.getLineMaxColumn(a),u=Jb(this._autoIndent,e,new ee(a,d,a,d),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,u)}}matchEnterRule(e,t,i,n,s,r){let a=s;for(;a>=1;){let f;if(a===s&&r!==void 0?f=r:f=e.getLineContent(a),Kx(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const d=e.getLineMaxColumn(a),u=Jb(this._autoIndent,e,new ee(a,d,a,d),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,u)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1),n=e.getLanguageIdAtPosition(t.endLineNumber,1);return!(i!==n||this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport===null)}getIndentEditsOfMovingBlock(e,t,i,n,s,r){for(let a=i.startLineNumber;a<=i.endLineNumber;a++){const d=e.getLineContent(a),u=Js(d),g=Bo(u,n)+r,p=dg(g,n,s);p!==u&&(t.addEditOperation(new ee(a,1,a,u.length+1),p),a===i.endLineNumber&&i.endColumn<=u.length+1&&p===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber<i.endLineNumber&&(i=i.setEndPosition(i.endLineNumber,2)),i}};dy=IW([PW(3,zs)],dy);const Uh=class Uh{static getCollator(){return Uh._COLLATOR||(Uh._COLLATOR=new Intl.Collator),Uh._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=TW(e,this.selection,this.descending);i&&t.addEditOperation(i.range,i.text),this.selectionId=t.trackSelection(this.selection)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}static canRun(e,t,i){if(e===null)return!1;const n=wB(e,t,i);if(!n)return!1;for(let s=0,r=n.before.length;s<r;s++)if(n.before[s]!==n.after[s])return!0;return!1}};Uh._COLLATOR=null;let Kg=Uh;function wB(o,e,t){const i=e.startLineNumber;let n=e.endLineNumber;if(e.endColumn===1&&n--,i>=n)return null;const s=[];for(let a=i;a<=n;a++)s.push(o.getLineContent(a));let r=s.slice(0);return r.sort(Kg.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function TW(o,e,t){const i=wB(o,e,t);return i?os.replace(new ee(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
55
- `)):null}class SB extends bt{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map((r,a)=>({selection:r,index:a,ignore:!1}));i.sort((r,a)=>ee.compareRangesUsingStarts(r.selection,a.selection));let n=i[0];for(let r=1;r<i.length;r++){const a=i[r];n.selection.endLineNumber===a.selection.startLineNumber&&(n.index<a.index?a.ignore=!0:(n.ignore=!0,n=a))}const s=[];for(const r of i)s.push(new yB(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class MW extends SB{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:S("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:Xt.MenubarSelectionMenu,group:"2_line",title:S({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class RW extends SB{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:S("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:Xt.MenubarSelectionMenu,group:"2_line",title:S({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class NW extends bt{constructor(){super({id:"editor.action.duplicateSelection",label:S("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:U.writable,menuOpts:{menuId:Xt.MenubarSelectionMenu,group:"2_line",title:S({key:"miDuplicateSelection",comment:["&& denotes a mnemonic"]},"&&Duplicate Selection"),order:5}})}run(e,t,i){if(!t.hasModel())return;const n=[],s=t.getSelections(),r=t.getModel();for(const a of s)if(a.isEmpty())n.push(new yB(a,!0));else{const d=new Hi(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new vL(d,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class DB extends bt{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(zs),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new dy(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class OW extends DB{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:S("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:Xt.MenubarSelectionMenu,group:"2_line",title:S({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class HW extends DB{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:S("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:Xt.MenubarSelectionMenu,group:"2_line",title:S({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class AB extends bt{constructor(e,t){super(t),this.descending=e}run(e,t){if(!t.hasModel())return;const i=t.getModel();let n=t.getSelections();n.length===1&&n[0].isEmpty()&&(n=[new Hi(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!Kg.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new Kg(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class WW extends AB{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:S("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:U.writable})}}class zW extends AB{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:S("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:U.writable})}}class VW extends bt{constructor(){super({id:"editor.action.removeDuplicateLines",label:S("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:U.writable})}run(e,t){if(!t.hasModel())return;const i=t.getModel();if(i.getLineCount()===1&&i.getLineMaxColumn(1)===1)return;const n=[],s=[];let r=0,a=!0,d=t.getSelections();d.length===1&&d[0].isEmpty()&&(d=[new Hi(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(const u of d){const f=new Set,g=[];for(let y=u.startLineNumber;y<=u.endLineNumber;y++){const w=i.getLineContent(y);f.has(w)||(g.push(w),f.add(w))}const p=new Hi(u.startLineNumber,1,u.endLineNumber,i.getLineMaxColumn(u.endLineNumber)),C=u.startLineNumber-r,b=new Hi(C,1,C+g.length-1,g[g.length-1].length);n.push(os.replace(p,g.join(`
56
- `))),s.push(b),r+=u.endLineNumber-u.startLineNumber+1-g.length}t.pushUndoStop(),t.executeEdits(this.id,n,a?s:void 0),t.pushUndoStop()}}const p_=class p_ extends bt{constructor(){super({id:p_.ID,label:S("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:ys(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(f=>new _i(f.positionLineNumber,f.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(Qn),a=t.getModel(),d=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),u=new FW(s,n,d);t.pushUndoStop(),t.executeCommands(this.id,[u]),t.pushUndoStop()}};p_.ID="editor.action.trimTrailingWhitespace";let uy=p_;class jW extends bt{constructor(){super({id:"editor.action.deleteLines",label:S("lines.delete","Delete Line"),alias:"Delete Line",precondition:U.writable,kbOpts:{kbExpr:U.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),n=t.getModel();if(n.getLineCount()===1&&n.getLineMaxColumn(1)===1)return;let s=0;const r=[],a=[];for(let d=0,u=i.length;d<u;d++){const f=i[d];let g=f.startLineNumber,p=f.endLineNumber,C=1,b=n.getLineMaxColumn(p);p<n.getLineCount()?(p+=1,b=1):g>1&&(g-=1,C=n.getLineMaxColumn(g)),r.push(os.replace(new Hi(g,C,p,b),"")),a.push(new Hi(g-s,f.positionColumn,g-s,f.positionColumn)),s+=f.endLineNumber-f.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,r,a),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map(s=>{let r=s.endLineNumber;return s.startLineNumber<s.endLineNumber&&s.endColumn===1&&(r-=1),{startLineNumber:s.startLineNumber,selectionStartColumn:s.selectionStartColumn,endLineNumber:r,positionColumn:s.positionColumn}});t.sort((s,r)=>s.startLineNumber===r.startLineNumber?s.endLineNumber-r.endLineNumber:s.startLineNumber-r.startLineNumber);const i=[];let n=t[0];for(let s=1;s<t.length;s++)n.endLineNumber+1>=t[s].startLineNumber?n.endLineNumber=t[s].endLineNumber:(i.push(n),n=t[s]);return i.push(n),i}}class $W extends bt{constructor(){super({id:"editor.action.indentLines",label:S("lines.indent","Indent Line"),alias:"Indent Line",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,_L.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class UW extends bt{constructor(){super({id:"editor.action.outdentLines",label:S("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:2140,weight:100}})}run(e,t){Gx.Outdent.runEditorCommand(e,t,null)}}class qW extends bt{constructor(){super({id:"editor.action.insertLineBefore",label:S("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,rk.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class GW extends bt{constructor(){super({id:"editor.action.insertLineAfter",label:S("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,rk.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class kB extends bt{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),s=[];for(let d=0,u=n.length-1;d<u;d++){const f=n[d],g=n[d+1];ee.intersectRanges(f,g)===null?s.push(f):n[d+1]=ee.plusRange(f,g)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(d=>os.replace(d,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class KW extends kB{constructor(){super({id:"deleteAllLeft",label:S("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:U.writable,kbOpts:{kbExpr:U.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];let s=0;return t.forEach(r=>{let a;if(r.endColumn===1&&s>0){const d=r.startLineNumber-s;a=new Hi(d,r.startColumn,d,r.startColumn)}else a=new Hi(r.startLineNumber,r.startColumn,r.startLineNumber,r.startColumn);s+=r.endLineNumber-r.startLineNumber,r.intersectRanges(e)?i=a:n.push(a)}),i&&n.unshift(i),n}_getRangesToDelete(e){const t=e.getSelections();if(t===null)return[];let i=t;const n=e.getModel();return n===null?[]:(i.sort(ee.compareRangesUsingStarts),i=i.map(s=>{if(s.isEmpty())if(s.startColumn===1){const r=Math.max(1,s.startLineNumber-1),a=s.startLineNumber===1?1:n.getLineLength(r)+1;return new ee(r,a,s.startLineNumber,1)}else return new ee(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new ee(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class ZW extends kB{constructor(){super({id:"deleteAllRight",label:S("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:U.writable,kbOpts:{kbExpr:U.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];for(let s=0,r=t.length,a=0;s<r;s++){const d=t[s],u=new Hi(d.startLineNumber-a,d.startColumn,d.startLineNumber-a,d.startColumn);d.intersectRanges(e)?i=u:n.push(u)}return i&&n.unshift(i),n}_getRangesToDelete(e){const t=e.getModel();if(t===null)return[];const i=e.getSelections();if(i===null)return[];const n=i.map(s=>{if(s.isEmpty()){const r=t.getLineMaxColumn(s.startLineNumber);return s.startColumn===r?new ee(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new ee(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(ee.compareRangesUsingStarts),n}}class XW extends bt{constructor(){super({id:"editor.action.joinLines",label:S("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:U.writable,kbOpts:{kbExpr:U.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const i=t.getSelections();if(i===null)return;let n=t.getSelection();if(n===null)return;i.sort(ee.compareRangesUsingStarts);const s=[],r=i.reduce((p,C)=>p.isEmpty()?p.endLineNumber===C.startLineNumber?(n.equalsSelection(p)&&(n=C),C):C.startLineNumber>p.endLineNumber+1?(s.push(p),C):new Hi(p.startLineNumber,p.startColumn,C.endLineNumber,C.endColumn):C.startLineNumber>p.endLineNumber?(s.push(p),C):new Hi(p.startLineNumber,p.startColumn,C.endLineNumber,C.endColumn));s.push(r);const a=t.getModel();if(a===null)return;const d=[],u=[];let f=n,g=0;for(let p=0,C=s.length;p<C;p++){const b=s[p],y=b.startLineNumber,w=1;let A=0,P,M;const R=a.getLineLength(b.endLineNumber)-b.endColumn;if(b.isEmpty()||b.startLineNumber===b.endLineNumber){const H=b.getStartPosition();H.lineNumber<a.getLineCount()?(P=y+1,M=a.getLineMaxColumn(P)):(P=H.lineNumber,M=a.getLineMaxColumn(H.lineNumber))}else P=b.endLineNumber,M=a.getLineMaxColumn(P);let T=a.getLineContent(y);for(let H=y+1;H<=P;H++){const J=a.getLineContent(H),se=a.getLineFirstNonWhitespaceColumn(H);if(se>=1){let ue=!0;T===""&&(ue=!1),ue&&(T.charAt(T.length-1)===" "||T.charAt(T.length-1)===" ")&&(ue=!1,T=T.replace(/[\s\uFEFF\xA0]+$/g," "));const ie=J.substr(se-1);T+=(ue?" ":"")+ie,ue?A=ie.length+1:A=ie.length}else A=0}const V=new ee(y,w,P,M);if(!V.isEmpty()){let H;b.isEmpty()?(d.push(os.replace(V,T)),H=new Hi(V.startLineNumber-g,T.length-A+1,y-g,T.length-A+1)):b.startLineNumber===b.endLineNumber?(d.push(os.replace(V,T)),H=new Hi(b.startLineNumber-g,b.startColumn,b.endLineNumber-g,b.endColumn)):(d.push(os.replace(V,T)),H=new Hi(b.startLineNumber-g,b.startColumn,b.startLineNumber-g,T.length-R)),ee.intersectRanges(V,n)!==null?f=H:u.push(H)}g+=V.endLineNumber-V.startLineNumber}u.unshift(f),t.pushUndoStop(),t.executeEdits(this.id,d,u),t.pushUndoStop()}}class YW extends bt{constructor(){super({id:"editor.action.transpose",label:S("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:U.writable})}run(e,t){const i=t.getSelections();if(i===null)return;const n=t.getModel();if(n===null)return;const s=[];for(let r=0,a=i.length;r<a;r++){const d=i[r];if(!d.isEmpty())continue;const u=d.getStartPosition(),f=n.getLineMaxColumn(u.lineNumber);if(u.column>=f){if(u.lineNumber===n.getLineCount())continue;const g=new ee(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new xp(new Hi(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p))}else{const g=new ee(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new w2(g,p,new Hi(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Ku extends bt{run(e,t){const i=t.getSelections();if(i===null)return;const n=t.getModel();if(n===null)return;const s=t.getOption(132),r=[];for(const a of i)if(a.isEmpty()){const d=a.getStartPosition(),u=t.getConfiguredWordAtPosition(d);if(!u)continue;const f=new ee(d.lineNumber,u.startColumn,d.lineNumber,u.endColumn),g=n.getValueInRange(f);r.push(os.replace(f,this._modifyText(g,s)))}else{const d=n.getValueInRange(a);r.push(os.replace(a,this._modifyText(d,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class QW extends Ku{constructor(){super({id:"editor.action.transformToUppercase",label:S("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:U.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class JW extends Ku{constructor(){super({id:"editor.action.transformToLowercase",label:S("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:U.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class Cl{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch{}}return this._actual}isSupported(){return this.get()!==null}}const x_=class x_ extends Ku{constructor(){super({id:"editor.action.transformToTitlecase",label:S("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:U.writable})}_modifyText(e,t){const i=x_.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};x_.titleBoundary=new Cl("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let vv=x_;const qh=class qh extends Ku{constructor(){super({id:"editor.action.transformToSnakecase",label:S("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:U.writable})}_modifyText(e,t){const i=qh.caseBoundary.get(),n=qh.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};qh.caseBoundary=new Cl("(\\p{Ll})(\\p{Lu})","gmu"),qh.singleLetters=new Cl("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let ug=qh;const m_=class m_ extends Ku{constructor(){super({id:"editor.action.transformToCamelcase",label:S("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:U.writable})}_modifyText(e,t){const i=m_.wordBoundary.get();if(!i)return e;const n=e.split(i);return n.shift()+n.map(r=>r.substring(0,1).toLocaleUpperCase()+r.substring(1)).join("")}};m_.wordBoundary=new Cl("[_\\s-]","gm");let _v=m_;const Gh=class Gh extends Ku{constructor(){super({id:"editor.action.transformToPascalcase",label:S("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:U.writable})}_modifyText(e,t){const i=Gh.wordBoundary.get(),n=Gh.wordBoundaryToMaintain.get();return!i||!n?e:e.split(n).map(a=>a.split(i)).flat().map(a=>a.substring(0,1).toLocaleUpperCase()+a.substring(1)).join("")}};Gh.wordBoundary=new Cl("[_\\s-]","gm"),Gh.wordBoundaryToMaintain=new Cl("(?<=\\.)","gm");let bv=Gh;const Jl=class Jl extends Ku{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:S("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:U.writable})}_modifyText(e,t){const i=Jl.caseBoundary.get(),n=Jl.singleLetters.get(),s=Jl.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};Jl.caseBoundary=new Cl("(\\p{Ll})(\\p{Lu})","gmu"),Jl.singleLetters=new Cl("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Jl.underscoreBoundary=new Cl("(\\S)(_)(\\S)","gm");let Cv=Jl;Te(MW);Te(RW);Te(NW);Te(OW);Te(HW);Te(WW);Te(zW);Te(VW);Te(uy);Te(jW);Te($W);Te(UW);Te(qW);Te(GW);Te(KW);Te(ZW);Te(XW);Te(YW);Te(QW);Te(JW);ug.caseBoundary.isSupported()&&ug.singleLetters.isSupported()&&Te(ug);_v.wordBoundary.isSupported()&&Te(_v);bv.wordBoundary.isSupported()&&Te(bv);vv.titleBoundary.isSupported()&&Te(vv);Cv.isSupported()&&Te(Cv);var ez=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ix=function(o,e){return function(t,i){e(t,i,o)}},lm;const BB=new vn("LinkedEditingInputVisible",!1),tz="linked-editing-decoration";var kc;let j0=(kc=class extends Mt{static get(e){return e.getContribution(lm.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new It),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=BB.bindTo(t),this._debounceInformation=s.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new It),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(r=>{(r.hasChanged(70)||r.hasChanged(94))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(e){const t=this._editor.getModel(),i=t!==null&&(this._editor.getOption(70)||this._editor.getOption(94))&&this._providers.has(t);if(i===this._enabled&&!e||(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||t===null))return;this._localToDispose.add(Ls.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new Pc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new Pc(0),a=d=>{this._rangeSyncTriggerPromise=r.trigger(()=>this._syncRanges(d))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{s()})),this._localToDispose.add(this._editor.onDidChangeModelContent(d=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const u=this._currentDecorations.getRange(0);if(u&&d.changes.every(f=>u.intersectRanges(f.range))){a(this._syncRangesToken);return}}s()})),this._localToDispose.add({dispose:()=>{n.dispose(),r.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||this._currentDecorations.length===0)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const n=t.getValueInRange(i);if(this._currentWordPattern){const r=n.match(this._currentWordPattern);if((r?r[0].length:0)!==n.length)return this.clearRanges()}const s=[];for(let r=1,a=this._currentDecorations.length;r<a;r++){const d=this._currentDecorations.getRange(r);if(d)if(d.startLineNumber!==d.endLineNumber)s.push({range:d,text:n});else{let u=t.getValueInRange(d),f=n,g=d.startColumn,p=d.endColumn;const C=kp(u,f);g+=C,u=u.substr(C),f=f.substr(C);const b=bL(u,f);p-=b,u=u.substr(0,u.length-b),f=f.substr(0,f.length-b),(g!==p||f.length!==0)&&s.push({range:new ee(d.startLineNumber,g,d.endLineNumber,p),text:f})}}if(s.length!==0)try{this._editor.popUndoStop(),this._ignoreChangeEvent=!0;const r=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits("linkedEditing",s),this._editor._getViewModel().setPrevEditOperationType(r)}finally{this._ignoreChangeEvent=!1}}dispose(){this.clearRanges(),super.dispose()}clearRanges(){this._visibleContextKey.set(!1),this._currentDecorations.clear(),this._currentRequestCts&&(this._currentRequestCts.cancel(),this._currentRequestCts=null,this._currentRequestPosition=null)}async updateRanges(e=!1){if(!this._editor.hasModel()){this.clearRanges();return}const t=this._editor.getPosition();if(!this._enabled&&!e||this._editor.getSelections().length>1){this.clearRanges();return}const i=this._editor.getModel(),n=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===n){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const r=this._currentDecorations.getRange(0);if(r&&r.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=n;const s=this._currentRequestCts=new Us;try{const r=new Ro(!1),a=await FB(this._providers,i,t,s.token);if(this._debounceInformation.update(i,r.elapsed()),s!==this._currentRequestCts||(this._currentRequestCts=null,n!==i.getVersionId()))return;let d=[];a!=null&&a.ranges&&(d=a.ranges),this._currentWordPattern=(a==null?void 0:a.wordPattern)||this._languageWordPattern;let u=!1;for(let g=0,p=d.length;g<p;g++)if(ee.containsPosition(d[g],t)){if(u=!0,g!==0){const C=d[g];d.splice(g,1),d.unshift(C)}break}if(!u){this.clearRanges();return}const f=d.map(g=>({range:g,options:lm.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(f),this._syncRangesToken++}catch(r){zc(r)||zn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},lm=kc,kc.ID="editor.contrib.linkedEditing",kc.DECORATION=fn.register({description:"linked-editing",stickiness:0,className:tz}),kc);j0=lm=ez([Ix(1,Dn),Ix(2,bi),Ix(3,zs),Ix(4,cr)],j0);class iz extends bt{constructor(){super({id:"editor.action.linkedEditing",label:S("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:qe.and(U.writable,U.hasRenameProvider),kbOpts:{kbExpr:U.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(vs),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return On.isUri(n)&&_i.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(s),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},zn):super.runCommand(e,t)}run(e,t){const i=j0.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const nz=So.bindToContribution(j0.get);Di(new nz({id:"cancelLinkedEditingInput",precondition:BB,handler:o=>o.clearRanges(),kbOpts:{kbExpr:U.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function FB(o,e,t,i){const n=o.ordered(e);return qw(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){ms(r);return}}),s=>!!s&&Go(s==null?void 0:s.ranges))}li("editor.linkedEditingBackground",{dark:un.fromHex("#f00").transparent(.3),light:un.fromHex("#f00").transparent(.3),hcDark:un.fromHex("#f00").transparent(.3),hcLight:un.white},S("editorLinkedEditingBackground","Background color when the editor auto renames on type."));Do("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(bi);return FB(i,e,t,on.None)});an(j0.ID,j0,1);Te(iz);let sz=class{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(e){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,e)).then(t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))}};class Ev{constructor(e){this._disposables=new It;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new sz(r,n));t=Ev._union(t,s),U2(i)&&this._disposables.add(i)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const i=[];let n,s,r,a;for(n=0,r=0,s=e.length,a=t.length;n<s&&r<a;){const d=e[n],u=t[r];if(ee.areIntersectingOrTouching(d.range,u.range)){n++;continue}ee.compareRangesUsingStarts(d.range,u.range)<0?(i.push(d),n++):(i.push(u),r++)}for(;n<s;n++)i.push(e[n]);for(;r<a;r++)i.push(t[r]);return i}}function LB(o,e,t){const i=[],n=o.ordered(e).reverse().map((s,r)=>Promise.resolve(s.provideLinks(e,t)).then(a=>{a&&(i[r]=[a,s])},ms));return Promise.all(n).then(()=>{const s=new Ev(El(i));return t.isCancellationRequested?(s.dispose(),new Ev([])):s})}Kn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;An(t instanceof On),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(bi),s=o.get(po).getModel(t);if(!s)return[];const r=await LB(n,s,on.None);if(!r)return[];for(let d=0;d<Math.min(i,r.links.length);d++)await r.links[d].resolve(on.None);const a=r.links.slice(0);return r.dispose(),a});var oz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Px=function(o,e){return function(t,i){e(t,i,o)}},hy,su;let Zg=(su=class extends Mt{static get(e){return e.getContribution(hy.ID)}constructor(e,t,i,n,s){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=n,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=s.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new Is(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new fb(e));this._register(r.onMouseMoveOrRelevantKeyDown(([a,d])=>{this._onEditorMouseMove(a,d)})),this._register(r.onExecute(a=>{this.onEditorMouseUp(a)})),this._register(r.onCancel(a=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(a=>{a.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(a=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(a=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(a=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(a=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(71))return;const e=this.editor.getModel();if(!e.isTooLargeForSyncing()&&this.providers.has(e)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=$s(t=>LB(this.providers,e,t));try{const t=new Ro(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){zn(t)}finally{this.computePromise=null}}}updateDecorations(e){const t=this.editor.getOption(78)==="altKey",i=[],n=Object.keys(this.currentOccurrences);for(const r of n){const a=this.currentOccurrences[r];i.push(a.decorationId)}const s=[];if(e)for(const r of e)s.push(Yh.decoration(r,t));this.editor.changeDecorations(r=>{const a=r.deltaDecorations(i,s);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let d=0,u=a.length;d<u;d++){const f=new Yh(e[d],a[d]);this.currentOccurrences[f.decorationId]=f}})}_onEditorMouseMove(e,t){const i=this.editor.getOption(78)==="altKey";if(this.isEnabled(e,t)){this.cleanUpActiveLinkDecoration();const n=this.getLinkOccurrence(e.target.position);n&&this.editor.changeDecorations(s=>{n.activate(s,i),this.activeLinkDecorationId=n.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e=this.editor.getOption(78)==="altKey";if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(i=>{t.deactivate(i,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:n}=e;n.resolve(on.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===vo.file&&s.startsWith(`${vo.file}:`)){const a=On.parse(s);if(a.scheme===vo.file){const d=CL(a);let u=null;d.startsWith("/./")||d.startsWith("\\.\\")?u=`.${d.substr(1)}`:(d.startsWith("//./")||d.startsWith("\\\\.\\"))&&(u=`.${d.substr(2)}`),u&&(s=EL(r,u))}}}return this.openerService.open(s,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},s=>{const r=s instanceof Error?s.message:s;r==="invalid"?this.notificationService.warn(S("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):r==="missing"?this.notificationService.warn(S("missing.url","Failed to open this link because its target is missing.")):zn(s)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const i of t){const n=this.currentOccurrences[i.id];if(n)return n}return null}isEnabled(e,t){return!!(e.target.type===6&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&((e=this.activeLinksList)==null||e.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}},hy=su,su.ID="editor.linkDetector",su);Zg=hy=oz([Px(1,ca),Px(2,go),Px(3,bi),Px(4,cr)],Zg);const OD={general:fn.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:fn.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class Yh{static decoration(e,t){return{range:e.range,options:Yh._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?OD.active:OD.general};return n.hoverMessage=rz(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,Yh._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,Yh._getOptions(this.link,t,!1))}}function rz(o,e){const t=o.url&&/^command:/i.test(o.url.toString()),i=o.tooltip?o.tooltip:t?S("links.navigate.executeCmd","Execute command"):S("links.navigate.follow","Follow link"),n=e?ja?S("links.navigate.kb.meta.mac","cmd + click"):S("links.navigate.kb.meta","ctrl + click"):ja?S("links.navigate.kb.alt.mac","option + click"):S("links.navigate.kb.alt","alt + click");if(o.url){let s="";if(/^command:/i.test(o.url.toString())){const a=o.url.toString().match(/^command:([^?#]+)/);if(a){const d=a[1];s=S("tooltip.explanation","Execute command {0}",d)}}return new oo("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new oo().appendText(`${i} (${n})`)}class az extends bt{constructor(){super({id:"editor.action.openLink",label:S("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=Zg.get(t);if(!i||!t.hasModel())return;const n=t.getSelections();for(const s of n){const r=i.getLinkOccurrence(s.getEndPosition());r&&i.openLinkOccurrence(r,!1)}}}an(Zg.ID,Zg,1);Te(az);const bS=class bS extends Mt{constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown(t=>{const i=this._editor.getOption(118);i>=0&&t.target.type===6&&t.target.position.column>=i&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}};bS.ID="editor.contrib.longLinesHelper";let yv=bS;an(yv.ID,yv,2);const lz=li("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},S("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);li("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},S("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0);li("editor.wordHighlightTextBackground",lz,S("wordHighlightText","Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const cz=li("editor.wordHighlightBorder",{light:null,dark:null,hcDark:_u,hcLight:_u},S("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));li("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:_u,hcLight:_u},S("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));li("editor.wordHighlightTextBorder",cz,S("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const dz=li("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",S("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),uz=li("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",S("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),hz=li("editorOverviewRuler.wordHighlightTextForeground",ak,S("overviewRulerWordHighlightTextForeground","Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),fz=fn.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:ks(uz),position:Oa.Center},minimap:{color:ks(Z_),position:1}}),gz=fn.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:ks(hz),position:Oa.Center},minimap:{color:ks(Z_),position:1}}),pz=fn.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:ks(ak),position:Oa.Center},minimap:{color:ks(Z_),position:1}}),xz=fn.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),mz=fn.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:ks(dz),position:Oa.Center},minimap:{color:ks(Z_),position:1}});function vz(o){return o===Am.Write?fz:o===Am.Text?gz:mz}function _z(o){return o?xz:pz}H_((o,e)=>{const t=o.getColor(yL);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var bz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Cz=function(o,e){return function(t,i){e(t,i,o)}},fy;function jc(o,e){const t=e.filter(i=>!o.find(n=>n.equals(i)));if(t.length>=1){const i=t.map(s=>`line ${s.viewState.position.lineNumber} column ${s.viewState.position.column}`).join(", "),n=t.length===1?S("cursorAdded","Cursor added: {0}",i):S("cursorsAdded","Cursors added: {0}",i);b0(n)}}class Ez extends bt{constructor(){super({id:"editor.action.insertCursorAbove",label:S("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:U.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:Xt.MenubarSelectionMenu,group:"3_multi",title:S({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})}run(e,t,i){if(!t.hasModel())return;let n=!0;i&&i.logicalLine===!1&&(n=!1);const s=t._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const r=s.getCursorStates();s.setCursorStates(i.source,3,Uw.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),jc(r,s.getCursorStates())}}class yz extends bt{constructor(){super({id:"editor.action.insertCursorBelow",label:S("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:U.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:Xt.MenubarSelectionMenu,group:"3_multi",title:S({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})}run(e,t,i){if(!t.hasModel())return;let n=!0;i&&i.logicalLine===!1&&(n=!1);const s=t._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const r=s.getCursorStates();s.setCursorStates(i.source,3,Uw.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),jc(r,s.getCursorStates())}}class wz extends bt{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:S("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:U.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:Xt.MenubarSelectionMenu,group:"3_multi",title:S({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,i){if(!e.isEmpty()){for(let n=e.startLineNumber;n<e.endLineNumber;n++){const s=t.getLineMaxColumn(n);i.push(new Hi(n,s,n,s))}e.endColumn>1&&i.push(new Hi(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=t.getSelections(),s=t._getViewModel(),r=s.getCursorStates(),a=[];n.forEach(d=>this.getCursorsForSelection(d,i,a)),a.length>0&&t.setSelections(a),jc(r,s.getCursorStates())}}class Sz extends bt{constructor(){super({id:"editor.action.addCursorsToBottom",label:S("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=t.getModel().getLineCount(),s=[];for(let d=i[0].startLineNumber;d<=n;d++)s.push(new Hi(d,i[0].startColumn,d,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),jc(a,r.getCursorStates())}}class Dz extends bt{constructor(){super({id:"editor.action.addCursorsToTop",label:S("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=[];for(let a=i[0].startLineNumber;a>=1;a--)n.push(new Hi(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),jc(r,s.getCursorStates())}}class Tx{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class Xg{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new Xg(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let n=!1,s,r;const a=e.getSelections();a.length===1&&a[0].isEmpty()?(n=!0,s=!0,r=!0):(s=i.wholeWord,r=i.matchCase);const d=e.getSelection();let u,f=null;if(d.isEmpty()){const g=e.getConfiguredWordAtPosition(d.getStartPosition());if(!g)return null;u=g.word,f=new Hi(d.startLineNumber,g.startColumn,d.startLineNumber,g.endColumn)}else u=e.getModel().getValueInRange(d).replace(/\r\n/g,`
57
- `);return new Xg(e,t,n,u,s,r,f)}constructor(e,t,i,n,s,r,a){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=n,this.wholeWord=s,this.matchCase=r,this.currentMatch=a}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new Tx(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new Tx(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const n=this.currentMatch;return this.currentMatch=null,n}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new Hi(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new Tx(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new Tx(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const n=this.currentMatch;return this.currentMatch=null,n}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new Hi(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824)}}const v_=class v_ extends Mt{static get(e){return e.getContribution(v_.ID)}constructor(e){super(),this._sessionDispose=this._register(new It),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=Xg.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(n=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(n=>{(n.matchCase||n.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new Hi(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const n=e.getState().matchCase;if(!IB(this._editor.getModel(),t,n)){const r=this._editor.getModel(),a=[];for(let d=0,u=t.length;d<u;d++)a[d]=this._expandEmptyToWord(r,t[d]);this._editor.setSelections(a);return}}}this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(e){if(!this._editor.hasModel())return;let t=null;const i=e.getState();if(i.isRevealed&&i.searchString.length>0&&i.isRegex){const n=this._editor.getModel();i.searchScope?t=n.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824):t=n.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const n=this._editor.getSelection();for(let s=0,r=t.length;s<r;s++){const a=t[s];if(a.range.intersectRanges(n)){t[s]=t[0],t[0]=a;break}}this._setSelections(t.map(s=>new Hi(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};v_.ID="editor.contrib.multiCursorController";let $0=v_;class of extends bt{run(e,t){const i=$0.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=yo.get(t);if(r)this._run(i,r);else{const a=e.get(en).createInstance(yo,t);this._run(i,a),a.dispose()}jc(s,n.getCursorStates())}}}class Az extends of{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:S("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:U.focus,primary:2082,weight:100},menuOpts:{menuId:Xt.MenubarSelectionMenu,group:"3_multi",title:S({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class kz extends of{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:S("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:Xt.MenubarSelectionMenu,group:"3_multi",title:S({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class Bz extends of{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:S("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:U.focus,primary:ys(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class Fz extends of{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:S("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}}class Lz extends of{constructor(){super({id:"editor.action.selectHighlights",label:S("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:U.focus,primary:3114,weight:100},menuOpts:{menuId:Xt.MenubarSelectionMenu,group:"3_multi",title:S({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class Iz extends of{constructor(){super({id:"editor.action.changeAll",label:S("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:qe.and(U.writable,U.editorTextFocus),kbOpts:{kbExpr:U.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class Pz{constructor(e,t,i,n,s){this._model=e,this._searchText=t,this._matchCase=i,this._wordSeparators=n,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,s&&this._model===s._model&&this._searchText===s._searchText&&this._matchCase===s._matchCase&&this._wordSeparators===s._wordSeparators&&this._modelVersionId===s._modelVersionId&&(this._cachedFindMatches=s._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(e=>e.range),this._cachedFindMatches.sort(ee.compareRangesUsingStarts)),this._cachedFindMatches}}var ou;let wv=(ou=class extends Mt{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new Is(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(n=>{this._isEnabled=e.getOption(109)})),this._register(e.onDidChangeCursorSelection(n=>{this._isEnabled&&(n.selection.isEmpty()?n.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(n=>{this._setState(null)})),this._register(e.onDidChangeModelContent(n=>{this._isEnabled&&this.updateSoon.schedule()}));const i=yo.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(fy._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,i){if(!t||!i.hasModel())return null;const n=i.getSelection();if(n.startLineNumber!==n.endLineNumber)return null;const s=$0.get(i);if(!s)return null;const r=yo.get(i);if(!r)return null;let a=s.getSession(r);if(!a){const f=i.getSelections();if(f.length>1){const p=r.getState().matchCase;if(!IB(i.getModel(),f,p))return null}a=Xg.create(i,r)}if(!a||a.currentMatch||/^[ \t]+$/.test(a.searchText)||a.searchText.length>200)return null;const d=r.getState(),u=d.matchCase;if(d.isRevealed){let f=d.searchString;u||(f=f.toLowerCase());let g=a.searchText;if(u||(g=g.toLowerCase()),f===g&&a.matchCase===d.matchCase&&a.wholeWord===d.wholeWord&&!d.isRegex)return null}return new Pz(i.getModel(),a.searchText,a.matchCase,a.wholeWord?i.getOption(132):null,e)}_setState(e){if(this.state=e,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const i=this.state.findMatches(),n=this.editor.getSelections();n.sort(ee.compareRangesUsingStarts);const s=[];for(let u=0,f=0,g=i.length,p=n.length;u<g;){const C=i[u];if(f>=p)s.push(C),u++;else{const b=ee.compareRangesUsingStarts(C,n[f]);b<0?((n[f].isEmpty()||!ee.areIntersecting(C,n[f]))&&s.push(C),u++):(b>0||u++,f++)}}const r=this.editor.getOption(81)!=="off",a=this._languageFeaturesService.documentHighlightProvider.has(t)&&r,d=s.map(u=>({range:u,options:_z(a)}));this._decorations.set(d)}dispose(){this._setState(null),super.dispose()}},fy=ou,ou.ID="editor.contrib.selectionHighlighter",ou);wv=fy=bz([Cz(1,bi)],wv);function IB(o,e,t){const i=HD(o,e[0],!t);for(let n=1,s=e.length;n<s;n++){const r=e[n];if(r.isEmpty())return!1;const a=HD(o,r,!t);if(i!==a)return!1}return!0}function HD(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class Tz extends bt{constructor(){super({id:"editor.action.focusNextCursor",label:S("mutlicursor.focusNextCursor","Focus Next Cursor"),metadata:{description:S("mutlicursor.focusNextCursor.description","Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=Array.from(n.getCursorStates()),r=s.shift();r&&(s.push(r),n.setCursorStates(i.source,3,s),n.revealPrimaryCursor(i.source,!0),jc(s,n.getCursorStates()))}}class Mz extends bt{constructor(){super({id:"editor.action.focusPreviousCursor",label:S("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),metadata:{description:S("mutlicursor.focusPreviousCursor.description","Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=Array.from(n.getCursorStates()),r=s.pop();r&&(s.unshift(r),n.setCursorStates(i.source,3,s),n.revealPrimaryCursor(i.source,!0),jc(s,n.getCursorStates()))}}an($0.ID,$0,4);an(wv.ID,wv,1);Te(Ez);Te(yz);Te(wz);Te(Az);Te(kz);Te(Bz);Te(Fz);Te(Lz);Te(Iz);Te(Sz);Te(Dz);Te(Tz);Te(Mz);const Rz="editor.action.inlineEdit.accept",Nz="editor.action.inlineEdit.reject",Oz="editor.action.inlineEdit.jumpTo",Hz="editor.action.inlineEdit.jumpBack";var Wz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zz=function(o,e){return function(t,i){e(t,i,o)}};const IC="inline-edit";let gy=class extends Mt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Ko(this,!1),this.currentTextModel=Fo(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Mn(this,n=>{var P;if(this.isDisposed.read(n))return;const s=this.currentTextModel.read(n);if(s!==this.model.targetTextModel.read(n))return;const r=this.model.ghostText.read(n);if(!r)return;let a=(P=this.model.range)==null?void 0:P.read(n);a&&a.startLineNumber===a.endLineNumber&&a.startColumn===a.endColumn&&(a=void 0);const d=(a?a.startLineNumber===a.endLineNumber:!0)&&r.parts.length===1&&r.parts[0].lines.length===1,u=r.parts.length===1&&r.parts[0].lines.every(M=>M.length===0),f=[],g=[];function p(M,R){if(g.length>0){const T=g[g.length-1];R&&T.decorations.push(new Fg(T.content.length+1,T.content.length+1+M[0].length,R,0)),T.content+=M[0],M=M.slice(1)}for(const T of M)g.push({content:T,decorations:R?[new Fg(1,T.length+1,R,0)]:[]})}const C=s.getLineContent(r.lineNumber);let b,y=0;if(!u&&(d||!a)){for(const M of r.parts){let R=M.lines;a&&!d&&(p(R,IC),R=[]),b===void 0?(f.push({column:M.column,text:R[0],preview:M.preview}),R=R.slice(1)):p([C.substring(y,M.column-1)],void 0),R.length>0&&(p(R,IC),b===void 0&&M.column<=C.length&&(b=M.column)),y=M.column-1}b!==void 0&&p([C.substring(y)],void 0)}const w=b!==void 0?new fB(b,C.length+1):void 0,A=d||!a?r.lineNumber:a.endLineNumber-1;return{inlineTexts:f,additionalLines:g,hiddenRange:w,lineNumber:A,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s,range:a,isSingleLine:d,isPureRemove:u}}),this.decorations=Mn(this,n=>{const s=this.uiState.read(n);if(!s)return[];const r=[];if(s.hiddenRange&&r.push({range:s.hiddenRange.toRange(s.lineNumber),options:{inlineClassName:"inline-edit-hidden",description:"inline-edit-hidden"}}),s.range){const a=[];if(s.isSingleLine)a.push(s.range);else if(!s.isPureRemove){const d=s.range.endLineNumber-s.range.startLineNumber;for(let u=0;u<d;u++){const f=s.range.startLineNumber+u,g=s.targetTextModel.getLineFirstNonWhitespaceColumn(f),p=s.targetTextModel.getLineLastNonWhitespaceColumn(f),C=new ee(f,g,f,p);a.push(C)}}for(const d of a)r.push({range:d,options:Gw})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new ee(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:Kw})}for(const a of s.inlineTexts)r.push({range:ee.fromPositions(new _i(s.lineNumber,a.column)),options:{description:IC,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:Ih.Left},showIfCollapsed:!0}});return r}),this._register(Xn(()=>{this.isDisposed.set(!0,void 0)})),this._register(gB(this.editor,this.decorations))}};gy=Wz([zz(2,ua)],gy);var q9=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ba=function(o,e){return function(t,i){e(t,i,o)}},cm;let py=class extends Mt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=Fo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=Mn(this,n=>{var d,u;const s=(d=this.model.read(n))==null?void 0:d.model.ghostText.read(n);if(!this.alwaysShowToolbar.read(n)||!s||s.parts.length===0)return this.sessionPosition=void 0,null;const r=s.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==s.lineNumber&&(this.sessionPosition=void 0);const a=new _i(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(yp((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(xy,this.editor,!0,this.position));e.addContentWidget(a),s.add(Xn(()=>e.removeContentWidget(a)))}))}};py=q9([Ba(2,en)],py);var Bc;let xy=(Bc=class extends Mt{constructor(e,t,i,n,s,r){super(),this.editor=e,this.withBorder=t,this._position=i,this._contextKeyService=s,this._menuService=r,this.id=`InlineEditHintsContentWidget${cm.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Ar("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[Ar("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Xt.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(my,this.nodes.toolBar,this.editor,Xt.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,d)=>{if(a instanceof w0)return n.createInstance(Vz,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{cm._dropDownVisible=a})),this._register(ts(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(ts(a=>{const d=[];for(const[u,f]of this.inlineCompletionsActionsMenus.getActions())for(const g of f)g instanceof w0&&d.push(g);d.length>0&&d.unshift(new wg),this.toolBar.setAdditionalSecondaryActions(d)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},cm=Bc,Bc._dropDownVisible=!1,Bc.id=0,Bc);xy=cm=q9([Ba(3,en),Ba(4,Dn),Ba(5,Hu)],xy);class Vz extends d2{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Ar("div.keybinding").root;this._register(new kw(t,Bw,{disableTitle:!0,...u2})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let my=class extends h2{constructor(e,t,i,n,s,r,a,d,u,f){super(e,{resetMenu:i,...n},s,r,a,d,u,f),this.editor=t,this.menuId=i,this.options2=n,this.menuService=s,this.contextKeyService=r,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this._store.add(this.editor.onDidChangeCursorPosition(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,n,s,r,a,d,u;const e=[],t=[];Mw(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(s=(n=this.options2)==null?void 0:n.toolbarOptions)==null?void 0:s.primaryGroup,(a=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:a.shouldInlineSubmenu,(u=(d=this.options2)==null?void 0:d.toolbarOptions)==null?void 0:u.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){Va(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};my=q9([Ba(4,Hu),Ba(5,Dn),Ba(6,G0),Ba(7,ws),Ba(8,Ws),Ba(9,da)],my);var PB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dm=function(o,e){return function(t,i){e(t,i,o)}},Uf,vy;function*jz(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function PC(o){var i;const e=((i=o[0].match(/^\s*/))==null?void 0:i[0])??"",t=e.length;return{text:o.map(n=>n.replace(new RegExp("^"+e),"")),shift:t}}var ru;let _y=(ru=class extends Mt{static _createUniqueUri(){return On.from({scheme:"inline-edit-widget",path:new Date().toString()+String(Uf._modelId++)})}constructor(e,t,i,n,s){super(),this._editor=e,this._model=t,this._instantiationService=i,this._diffProviderFactoryService=n,this._modelService=s,this._position=Mn(this,r=>{const a=this._model.read(r);if(!a||a.text.length===0||a.range.startLineNumber===a.range.endLineNumber&&!(a.range.startColumn===a.range.endColumn&&a.range.startColumn===1))return null;const d=this._editor.getModel();if(!d)return null;const u=Array.from(jz(a.range.startLineNumber,a.range.endLineNumber+1)),f=u.map(y=>d.getLineLastNonWhitespaceColumn(y)),g=Math.max(...f),p=u[f.indexOf(g)],C=new _i(p,g);return{top:a.range.startLineNumber,left:C}}),this._text=Mn(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const d=PC(a.text.split(`
58
- `));return{text:d.text.join(`
59
- `),shift:d.shift}}),this._originalModel=Tc(()=>this._modelService.createModel("",null,Uf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Tc(()=>this._modelService.createModel("",null,Uf._createUniqueUri())).keepObserved(this._store),this._diff=Mn(this,r=>{var a,d;return(d=(a=this._diffPromise.read(r))==null?void 0:a.promiseResult.read(r))==null?void 0:d.data}),this._diffPromise=Mn(this,r=>{const a=this._model.read(r);if(!a)return;const d=this._editor.getModel();if(!d)return;const u=PC(d.getValueInRange(a.range).split(`
60
- `)).text.join(`
61
- `),f=PC(a.text.split(`
62
- `)).text.join(`
63
- `);this._originalModel.get().setValue(u),this._modifiedModel.get().setValue(f);const g=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return lk.fromFn(async()=>{const p=await g.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},on.None);if(!p.identical)return p.changes})}),this._register(yp((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const u=a.add(this._instantiationService.createInstance(by,this._editor,this._position,this._text.map(f=>f.text),this._text.map(f=>f.shift),this._diff));e.addOverlayWidget(u),a.add(Xn(()=>e.removeOverlayWidget(u)))}))}},Uf=ru,ru._modelId=0,ru);_y=Uf=PB([dm(2,en),dm(3,Zw),dm(4,po)],_y);var au;let by=(au=class extends Mt{constructor(e,t,i,n,s,r){var a;super(),this._editor=e,this._position=t,this._text=i,this._shift=n,this._diff=s,this._instantiationService=r,this.id=`InlineEditSideBySideContentWidget${vy.id++}`,this.allowEditorOverflow=!1,this._nodes=ai("div.inlineEditSideBySide",void 0),this._scrollChanged=yd("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(Rr,this._nodes,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,scrollbar:{vertical:"hidden",horizontal:"hidden",alwaysConsumeMouseWheel:!1,handleMouseWheel:!1},readOnly:!0,wordWrap:"off",wordWrapOverride1:"off",wordWrapOverride2:"off",wrappingIndent:"none",wrappingStrategy:void 0},{contributions:[],isSimpleWidget:!0},this._editor)),this._previewEditorObs=La(this._previewEditor),this._editorObs=La(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(oc,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??kg,oc.DEFAULT_CREATION_OPTIONS,null)),this._setText=Mn(d=>{const u=this._text.read(d);u&&this._previewTextModel.setValue(u)}).recomputeInitiallyAndOnChange(this._store),this._decorations=Mn(this,d=>{this._setText.read(d);const u=this._position.read(d);if(!u)return{org:[],mod:[]};const f=this._diff.read(d);if(!f)return{org:[],mod:[]};const g=[],p=[];if(f.length===1&&f[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const C=this._shift.get(),b=y=>new ee(y.startLineNumber+u.top-1,y.startColumn+C,y.endLineNumber+u.top-1,y.endColumn+C);for(const y of f)if(y.original.isEmpty||g.push({range:b(y.original.toInclusiveRange()),options:Kw}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:ck}),y.modified.isEmpty||y.original.isEmpty)y.original.isEmpty||g.push({range:b(y.original.toInclusiveRange()),options:dk}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:uk});else for(const w of y.innerChanges||[])y.original.contains(w.originalRange.startLineNumber)&&g.push({range:b(w.originalRange),options:w.originalRange.isEmpty()?hk:Gw}),y.modified.contains(w.modifiedRange.startLineNumber)&&p.push({range:w.modifiedRange,options:w.modifiedRange.isEmpty()?fk:gk});return{org:g,mod:p}}),this._originalDecorations=Mn(this,d=>this._decorations.read(d).org),this._modifiedDecorations=Mn(this,d=>this._decorations.read(d).mod),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register(ts(d=>{const u=this._previewEditorObs.contentWidth.read(d),f=this._text.read(d).split(`
64
- `).length-1,g=this._editor.getOption(67)*f;u<=0||this._previewEditor.layout({height:g,width:u})})),this._register(ts(d=>{this._position.read(d),this._editor.layoutOverlayWidget(this)})),this._register(ts(d=>{this._scrollChanged.read(d),this._position.read(d)&&this._editor.layoutOverlayWidget(this)}))}getId(){return this.id}getDomNode(){return this._nodes}getPosition(){const e=this._position.get();if(!e)return null;const t=this._editor.getLayoutInfo(),i=this._editor.getScrolledVisiblePosition(new _i(e.top,1));if(!i)return null;const n=i.top-1,s=this._editor.getOffsetForColumn(e.left.lineNumber,e.left.column);return{preference:{left:t.contentLeft+s+10,top:n}}}},vy=au,au.id=0,au);by=vy=PB([dm(5,en)],by);var $z=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nd=function(o,e){return function(t,i){e(t,i,o)}},qf,sr;let co=(sr=class extends Mt{static get(e){return e.getContribution(qf.ID)}constructor(e,t,i,n,s,r,a,d){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=n,this._commandService=s,this._configurationService=r,this._diffProviderFactoryService=a,this._modelService=d,this._isVisibleContext=qf.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=qf.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=Ko(this,void 0),this._currentWidget=Tc(this._currentEdit,b=>{const y=this._currentEdit.read(b);if(!y)return;const w=y.range.endLineNumber,A=y.range.endColumn,P=y.text.endsWith(`
65
- `)&&!(y.range.startLineNumber===y.range.endLineNumber&&y.range.startColumn===y.range.endColumn)?y.text.slice(0,-1):y.text,M=new $g(w,[new nv(A,P,!1)]),R=y.range.startLineNumber===y.range.endLineNumber&&M.parts.length===1&&M.parts[0].lines.length===1,T=y.text==="";return!R&&!T?void 0:this.instantiationService.createInstance(gy,this.editor,{ghostText:fl(M),minReservedLineCount:fl(0),targetTextModel:fl(this.editor.getModel()??void 0),range:fl(y.range)})}),this._isAccepting=Ko(this,!1),this._enabled=Fo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=Fo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const u=yd("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(ts(b=>{this._enabled.read(b)&&(u.read(b),!this._isAccepting.read(b)&&this.getInlineEdit(e,!0))}));const f=Fo(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(ts(b=>{if(!this._enabled.read(b))return;const y=f.read(b);y&&this.checkCursorPosition(y)})),this._register(ts(b=>{const y=this._currentEdit.read(b);if(this._isCursorAtInlineEditContext.set(!1),!y){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const w=e.getPosition();w&&this.checkCursorPosition(w)}));const g=yd("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(ts(async b=>{var y;this._enabled.read(b)&&(g.read(b),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((y=this._currentRequestCts)==null||y.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const p=yd("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(ts(b=>{this._enabled.read(b)&&(p.read(b),this.getInlineEdit(e,!0))}));const C=this._register(N2());this._register(ts(b=>{const y=this._fontFamily.read(b);C.setStyle(y===""||y==="default"?"":`
66
- .monaco-editor .inline-edit-decoration,
67
- .monaco-editor .inline-edit-decoration-preview,
68
- .monaco-editor .inline-edit {
69
- font-family: ${y};
70
- }`)})),this._register(new py(this.editor,this._currentWidget,this.instantiationService)),this._register(new _y(this.editor,this._currentEdit,this.instantiationService,this._diffProviderFactoryService,this._modelService))}checkCursorPosition(e){if(!this._currentEdit){this._isCursorAtInlineEditContext.set(!1);return}const t=this._currentEdit.get();if(!t){this._isCursorAtInlineEditContext.set(!1);return}this._isCursorAtInlineEditContext.set(ee.containsPosition(t.range,e))}validateInlineEdit(e,t){var i;if(t.text.includes(`
71
- `)&&t.range.startLineNumber!==t.range.endLineNumber&&t.range.startColumn!==t.range.endColumn){if(t.range.startColumn!==1)return!1;const s=t.range.endLineNumber,r=t.range.endColumn,a=((i=e.getModel())==null?void 0:i.getLineLength(s))??0;if(r!==a+1)return!1}return!0}async fetchInlineEdit(e,t){this._currentRequestCts&&this._currentRequestCts.dispose(!0);const i=e.getModel();if(!i)return;const n=i.getVersionId(),s=this.languageFeaturesService.inlineEditProvider.all(i);if(s.length===0)return;const r=s[0];this._currentRequestCts=new Us;const a=this._currentRequestCts.token,d=t?ZS.Automatic:ZS.Invoke;if(t&&await Uz(50,a),a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)return;const f=await r.provideInlineEdit(i,{triggerKind:d},a);if(f&&!(a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)&&this.validateInlineEdit(e,f))return f}async getInlineEdit(e,t){this._isCursorAtInlineEditContext.set(!1),await this.clear();const i=await this.fetchInlineEdit(e,t);i&&this._currentEdit.set(i,void 0)}async trigger(){await this.getInlineEdit(this.editor,!1)}async jumpBack(){this._jumpBackPosition&&(this.editor.setPosition(this._jumpBackPosition),this.editor.revealPositionInCenterIfOutsideViewport(this._jumpBackPosition))}async accept(){this._isAccepting.set(!0,void 0);const e=this._currentEdit.get();if(!e)return;let t=e.text;e.text.startsWith(`
72
- `)&&(t=e.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[os.replace(ee.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,ms),this.freeEdit(e),Wu(i=>{this._currentEdit.set(void 0,i),this._isAccepting.set(!1,i)})}jumpToCurrent(){var i;this._jumpBackPosition=(i=this.editor.getSelection())==null?void 0:i.getStartPosition();const e=this._currentEdit.get();if(!e)return;const t=_i.lift({lineNumber:e.range.startLineNumber,column:e.range.startColumn});this.editor.setPosition(t),this.editor.revealPositionInCenterIfOutsideViewport(t)}async clear(e=!0){const t=this._currentEdit.get();t&&(t!=null&&t.rejected)&&e&&await this._commandService.executeCommand(t.rejected.id,...t.rejected.arguments||[]).then(void 0,ms),t&&this.freeEdit(t),this._currentEdit.set(void 0,void 0)}freeEdit(e){const t=this.editor.getModel();if(!t)return;const i=this.languageFeaturesService.inlineEditProvider.all(t);i.length!==0&&i[0].freeInlineEdit(e)}},qf=sr,sr.ID="editor.contrib.inlineEditController",sr.inlineEditVisibleKey="inlineEditVisible",sr.inlineEditVisibleContext=new vn(sr.inlineEditVisibleKey,!1),sr.cursorAtInlineEditKey="cursorAtInlineEdit",sr.cursorAtInlineEditContext=new vn(sr.cursorAtInlineEditKey,!1),sr);co=qf=$z([nd(1,en),nd(2,Dn),nd(3,bi),nd(4,Ws),nd(5,Qn),nd(6,Zw),nd(7,po)],co);function Uz(o,e){return new Promise(t=>{let i;const n=setTimeout(()=>{i&&i.dispose(),t()},o);e&&(i=e.onCancellationRequested(()=>{clearTimeout(n),i&&i.dispose(),t()}))})}let qz=class extends bt{constructor(){super({id:Rz,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:qe.and(U.writable,co.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:qe.and(U.writable,co.inlineEditVisibleContext,co.cursorAtInlineEditContext)}],menuOpts:[{menuId:Xt.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=co.get(t);await(i==null?void 0:i.accept())}};class Gz extends bt{constructor(){const e=qe.and(U.writable,qe.not(co.inlineEditVisibleKey));super({id:"editor.action.inlineEdit.trigger",label:"Trigger Inline Edit",alias:"Trigger Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e}})}async run(e,t){const i=co.get(t);i==null||i.trigger()}}class Kz extends bt{constructor(){const e=qe.and(U.writable,co.inlineEditVisibleContext,qe.not(co.cursorAtInlineEditKey));super({id:Oz,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:Xt.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=co.get(t);i==null||i.jumpToCurrent()}}class Zz extends bt{constructor(){const e=qe.and(U.writable,co.cursorAtInlineEditContext);super({id:Hz,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:Xt.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=co.get(t);i==null||i.jumpBack()}}class Xz extends bt{constructor(){const e=qe.and(U.writable,co.inlineEditVisibleContext);super({id:Nz,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:Xt.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=co.get(t);await(i==null?void 0:i.clear())}}Te(qz);Te(Xz);Te(Kz);Te(Zz);Te(Gz);an(co.ID,co,3);const Yz="editor.action.inlineEdits.accept",Qz="editor.action.inlineEdits.showPrevious",Jz="editor.action.inlineEdits.showNext",U0=new vn("inlineEditsVisible",!1,S("inlineEditsVisible","Whether an inline edit is visible")),eV=new vn("inlineEditsIsPinned",!1,S("isPinned","Whether an inline edit is visible")),CS=class CS extends Mt{constructor(e){super(),this._editor=e,this._editorObs=La(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=dl({owner:this,equalsFn:pk},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=tV(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=f2((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=Ar("div.editorPlaceholder");i.add(ts(s=>{const r=this._state.read(s),a=(r==null?void 0:r.placeholder)!==void 0;n.root.style.display=a?"block":"none",n.root.innerText=(r==null?void 0:r.placeholder)??""})),i.add(ts(s=>{const r=this._editorObs.layoutInfo.read(s);n.root.style.left=`${r.contentLeft}px`,n.root.style.width=r.contentWidth-r.verticalScrollbarWidth+"px",n.root.style.top=`${this._editor.getTopForLineNumber(0)}px`})),i.add(ts(s=>{n.root.style.fontFamily=this._editorObs.getOption(49).read(s),n.root.style.fontSize=this._editorObs.getOption(52).read(s)+"px",n.root.style.lineHeight=this._editorObs.getOption(67).read(s)+"px"})),i.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:fl(0),position:fl(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};CS.ID="editor.contrib.placeholderText";let Yg=CS;function tV(o,e){return z_(o,(t,i)=>i===!0?!0:e(t))}var iV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nV=function(o,e){return function(t,i){e(t,i,o)}};class sV{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let Cy=class extends Mt{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=La(this._editor),this._elements=Ar("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[Ar("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[Ar("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),Ar("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),Ar("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),ah("svg",{style:{overflow:"visible",pointerEvents:"none"}},[ah("defs",[ah("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[ah("stop",{offset:"0%",class:"gradient-stop"}),ah("stop",{offset:"100%",class:"gradient-stop"})])]),ah("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(oc,"",kg,oc.DEFAULT_CREATION_OPTIONS,null)),this._setText=Mn(r=>{const a=this._edit.read(r);a&&this._previewTextModel.setValue(a.newLines.join(`
73
- `))}).recomputeInitiallyAndOnChange(this._store),this._promptTextModel=this._register(this._instantiationService.createInstance(oc,"",kg,oc.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(Rr,this._elements.promptEditor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,placeholder:"Describe the change you want...",fontFamily:wL},{contributions:SL.getSomeEditorContributions([Fr.ID,Yg.ID,N0.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(Rr,this._elements.editor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0},{contributions:[]},this._editor)),this._previewEditorObs=La(this._previewEditor),this._decorations=Mn(this,r=>{var f;this._setText.read(r);const a=(f=this._edit.read(r))==null?void 0:f.changes;if(!a)return[];const d=[],u=[];if(a.length===1&&a[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const g of a)if(g.original.isEmpty||d.push({range:g.original.toInclusiveRange(),options:Kw}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:ck}),g.modified.isEmpty||g.original.isEmpty)g.original.isEmpty||d.push({range:g.original.toInclusiveRange(),options:dk}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:uk});else for(const p of g.innerChanges||[])g.original.contains(p.originalRange.startLineNumber)&&d.push({range:p.originalRange,options:p.originalRange.isEmpty()?hk:Gw}),g.modified.contains(p.modifiedRange.startLineNumber)&&u.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?fk:gk});return u}),this._layout1=Mn(this,r=>{const a=this._editor.getModel(),d=this._edit.read(r);if(!d)return null;const u=d.range;let f=0;for(let C=u.startLineNumber;C<u.endLineNumberExclusive;C++){const b=a.getLineMaxColumn(C),y=this._editor.getOffsetForColumn(C,b);f=Math.max(f,y)}return{left:this._editor.getLayoutInfo().contentLeft+f}}),this._layout=Mn(this,r=>{const a=this._edit.read(r);if(!a)return null;const d=a.range,u=this._editorObs.scrollLeft.read(r),f=this._layout1.read(r).left+20-u,g=this._editor.getTopForLineNumber(d.startLineNumber)-this._editorObs.scrollTop.read(r),p=this._editor.getTopForLineNumber(d.endLineNumberExclusive)-this._editorObs.scrollTop.read(r),C=new Wh(f,g),b=new Wh(f,p),y=p-g,w=50,A=this._editor.getOption(67)*a.newLines.length,P=y-A,M=new Wh(f+w,g+P/2),R=new Wh(f+w,p-P/2);return{topCode:C,bottomCode:b,codeHeight:y,topEdit:M,bottomEdit:R,editHeight:A}});const s=Mn(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(DL(this._elements.root,{display:Mn(this,r=>s.read(r)?"block":"none")})),this._register(AL(this._editor.getDomNode(),this._elements.root)),this._register(La(e).createOverlayWidget({domNode:this._elements.root,position:fl(null),allowEditorOverflow:!1,minContentWidthInPx:Mn(r=>{var u;const a=(u=this._layout1.read(r))==null?void 0:u.left;if(a===void 0)return 0;const d=this._previewEditorObs.contentWidth.read(r);return a+d})})),this._previewEditor.setModel(this._previewTextModel),this._register(this._previewEditorObs.setDecorations(this._decorations)),this._register(ts(r=>{const a=this._layout.read(r);if(!a)return;const{topCode:d,bottomCode:u,topEdit:f,bottomEdit:g,editHeight:p}=a,C=10,b=0,y=40,w=new rV().moveTo(d).lineTo(d.deltaX(C)).curveTo(d.deltaX(C+y),f.deltaX(-y-b),f.deltaX(-b)).lineTo(f).lineTo(g).lineTo(g.deltaX(-b)).curveTo(g.deltaX(-y-b),u.deltaX(C+y),u.deltaX(C)).lineTo(u).build();this._elements.path.setAttribute("d",w),this._elements.editorContainer.style.top=`${f.y}px`,this._elements.editorContainer.style.left=`${f.x}px`,this._elements.editorContainer.style.height=`${p}px`;const A=this._previewEditorObs.contentWidth.read(r);this._previewEditor.layout({height:p,width:A})})),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(aV(oV(this._userPrompt,r=>r??"",r=>r),La(this._promptEditor).value)),this._register(ts(r=>{const a=La(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};Cy=iV([nV(3,en)],Cy);function oV(o,e,t){return xk(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class Wh{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new Wh(this.x+e,this.y)}}class rV{constructor(){this._data=""}moveTo(e){return this._data+=`M ${e.x} ${e.y} `,this}lineTo(e){return this._data+=`L ${e.x} ${e.y} `,this}curveTo(e,t,i){return this._data+=`C ${e.x} ${e.y} ${t.x} ${t.y} ${i.x} ${i.y} `,this}build(){return this._data}}function aV(o,e){const t=new It;return t.add(ts(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(ts(i=>{const n=e.read(i);o.set(n,void 0)})),t}var lV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},TC=function(o,e){return function(t,i){e(t,i,o)}},Gf,lu;let Ey=(lu=class extends Mt{static _createUniqueUri(){return On.from({scheme:"inline-edits",path:new Date().toString()+String(Gf._modelId++)})}constructor(e,t,i,n,s,r,a){super(),this.textModel=e,this._textModelVersionId=t,this._selection=i,this._debounceValue=n,this.languageFeaturesService=s,this._diffProviderFactoryService=r,this._modelService=a,this._forceUpdateExplicitlySignal=Vw(this),this._selectedInlineCompletionId=Ko(this,void 0),this._isActive=Ko(this,!1),this._originalModel=Tc(()=>this._modelService.createModel("",null,Gf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Tc(()=>this._modelService.createModel("",null,Gf._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new dV(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(d=>!!d),this.userPrompt=Ko(this,void 0),this.inlineEdit=Mn(this,d=>{var u,f;return(f=(u=this._inlineEdit.read(d))==null?void 0:u.promiseResult.read(d))==null?void 0:f.data}),this._inlineEdit=Mn(this,d=>{const u=this.selectedInlineEdit.read(d);if(!u)return;const f=u.inlineCompletion.range;if(u.inlineCompletion.insertText.trim()==="")return;let g=u.inlineCompletion.insertText.split(/\r\n|\r|\n/);function p(w){var P;const A=((P=w[0].match(/^\s*/))==null?void 0:P[0])??"";return w.map(M=>M.replace(new RegExp("^"+A),""))}g=p(g);let b=this.textModel.getValueInRange(f).split(/\r\n|\r|\n/);b=p(b),this._originalModel.get().setValue(b.join(`
74
- `)),this._modifiedModel.get().setValue(g.join(`
75
- `));const y=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return lk.fromFn(async()=>{const w=await y.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},on.None);if(!w.identical)return new sV(kL.fromRangeInclusive(f),p(g),w.changes)})}),this._fetchStore=this._register(new It),this._inlineEditsFetchResult=n1(this,void 0),this._inlineEdits=dl({owner:this,equalsFn:pk},d=>{var u;return((u=this._inlineEditsFetchResult.read(d))==null?void 0:u.completions.map(f=>new cV(f)))??[]}),this._fetchInlineEditsPromise=q2({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:vl.Automatic}),handleChange:(d,u)=>(d.didChange(this._forceUpdateExplicitlySignal)&&(u.inlineCompletionTriggerKind=vl.Explicit),!0)},async(d,u)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(d),this._textModelVersionId.read(d);function f(y,w){return w(y)}const g=this._pinnedRange.range.read(d)??f(this._selection.read(d),y=>y.isEmpty()?void 0:y);if(!g){this._inlineEditsFetchResult.set(void 0,void 0),this.userPrompt.set(void 0,void 0);return}const p={triggerKind:u.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(d)},C=o1(this._fetchStore);await K_(200,C);const b=await pB(this.languageFeaturesService.inlineCompletionsProvider,g,this.textModel,p,C);C.isCancellationRequested||this._inlineEditsFetchResult.set(b,void 0)}),this._filteredInlineEditItems=dl({owner:this,equalsFn:s1()},d=>this._inlineEdits.read(d)),this.selectedInlineCompletionIndex=Mn(this,d=>{const u=this._selectedInlineCompletionId.read(d),f=this._filteredInlineEditItems.read(d),g=this._selectedInlineCompletionId===void 0?-1:f.findIndex(p=>p.semanticId===u);return g===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):g}),this.selectedInlineEdit=Mn(this,d=>{const u=this._filteredInlineEditItems.read(d),f=this.selectedInlineCompletionIndex.read(d);return u[f]}),this._register(G2(this._fetchInlineEditsPromise))}async triggerExplicitly(e){wm(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){wm(e,t=>{this.userPrompt.set(void 0,t),this._isActive.set(!1,t),this._inlineEditsFetchResult.set(void 0,t),this._pinnedRange.setRange(void 0,t)})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineEditItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){if(e.getModel()!==this.textModel)throw new S0;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},Gf=lu,lu._modelId=0,lu);Ey=Gf=lV([TC(4,bi),TC(5,Zw),TC(6,po)],Ey);class cV{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class dV extends Mt{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Ko(this,[]),this.range=Mn(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(Xn(()=>{this._textModel.deltaDecorations(this._decorations.get(),[])}))}setRange(e,t){this._decorations.set(this._textModel.deltaDecorations(this._decorations.get(),e?[{range:e,options:{description:"trackedRange"}}]:[]),t)}}var uV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Lf=function(o,e){return function(t,i){e(t,i,o)}},yy,cu;let Fl=(cu=class extends Mt{static get(e){return e.getContribution(yy.ID)}constructor(e,t,i,n,s,r){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._debounceService=n,this._languageFeaturesService=s,this._configurationService=r,this._enabled=BL("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=La(this.editor),this._selection=Mn(this,a=>this._editorObs.cursorSelection.read(a)??new Hi(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=Tc(this,a=>{if(!this._enabled.read(a)||this._editorObs.isReadonly.read(a))return;const d=this._editorObs.model.read(a);return d?this._instantiationService.createInstance(r1(Ey,a),d,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=z_(this,(a,d)=>{var u;return d||((u=this.model.read(a))==null?void 0:u.inlineEdit.read(a))!==void 0}),this._widget=Tc(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(r1(Cy,a),this.editor,this.model.map((d,u)=>d==null?void 0:d.inlineEdit.read(u)),hV(d=>{var u;return((u=this.model.read(d))==null?void 0:u.userPrompt)??Ko("empty","")}))}),this._register(XS(U0,this._contextKeyService,a=>{var d;return!!((d=this.model.read(a))!=null&&d.inlineEdit.read(a))})),this._register(XS(eV,this._contextKeyService,a=>{var d;return!!((d=this.model.read(a))!=null&&d.isPinned.read(a))})),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}},yy=cu,cu.ID="editor.contrib.inlineEditsController",cu);Fl=yy=uV([Lf(1,en),Lf(2,Dn),Lf(3,cr),Lf(4,bi),Lf(5,Qn)],Fl);function hV(o){return xk(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function Up(o){return{label:o.value,alias:o.original}}const __=class __ extends bt{constructor(){super({id:__.ID,...Up(gi("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:qe.and(U.writable,U0),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Fl.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};__.ID=Jz;let wy=__;const b_=class b_ extends bt{constructor(){super({id:b_.ID,...Up(gi("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:qe.and(U.writable,U0),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Fl.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};b_.ID=Qz;let Sy=b_;class fV extends bt{constructor(){super({id:"editor.action.inlineEdits.trigger",...Up(gi("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:U.writable})}async run(e,t){const i=Fl.get(t);await nk(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class gV extends bt{constructor(){super({id:Yz,...Up(gi("action.inlineEdits.accept","Accept Inline Edit")),precondition:U0,menuOpts:{menuId:Xt.InlineEditsActions,title:S("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:$i.check},kbOpts:{primary:2058,weight:2e4,kbExpr:U0}})}async run(e,t){var n;t instanceof Rr&&(t=t.getParentEditor());const i=Fl.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const C_=class C_ extends bt{constructor(){super({id:C_.ID,...Up(gi("action.inlineEdits.hide","Hide Inline Edit")),precondition:U0,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Fl.get(t);Wu(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};C_.ID="editor.action.inlineEdits.hide";let Dy=C_;an(Fl.ID,Fl,3);Te(fV);Te(wy);Te(Sy);Te(gV);Te(Dy);const Mu={Visible:new vn("parameterHintsVisible",!1),MultipleSignatures:new vn("parameterHintsMultipleSignatures",!1)};async function TB(o,e,t,i,n){const s=o.ordered(e);for(const r of s)try{const a=await r.provideSignatureHelp(e,t,n,i);if(a)return a}catch(a){ms(a)}}Kn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;An(On.isUri(t)),An(_i.isIPosition(i)),An(typeof n=="string"||!n);const s=o.get(bi),r=await o.get(ha).createModelReference(t);try{const a=await TB(s.signatureHelpProvider,r.object.textEditorModel,_i.lift(i),{triggerKind:hc.Invoke,isRetrigger:!1,triggerCharacter:n},on.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var Xl;(function(o){o.Default={type:0};class e{constructor(n,s){this.request=n,this.previouslyActiveHints=s,this.type=2}}o.Pending=e;class t{constructor(n){this.hints=n,this.type=1}}o.Active=t})(Xl||(Xl={}));const E_=class E_ extends Mt{constructor(e,t,i=E_.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new sn),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Xl.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Xo),this.triggerChars=new Em,this.retriggerChars=new Em,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Pc(i),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(n=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(n=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(n=>this.onCursorChange(n))),this._register(this.editor.onDidChangeModelContent(n=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(n=>this.onDidType(n))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){this._state.type===2&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=Xl.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const n=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(n),t).catch(zn)}next(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e===e-1,n=this.editor.getOption(86).cycle;if((e<2||i)&&!n){this.cancel();return}this.updateActiveSignature(i&&n?0:t+1)}previous(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t===0,n=this.editor.getOption(86).cycle;if((e<2||i)&&!n){this.cancel();return}this.updateActiveSignature(i&&n?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new Xl.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){const t=this.state.type===1||this.state.type===2,i=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const n=this._pendingTriggers.reduce(pV);this._pendingTriggers=[];const s={triggerKind:n.triggerKind,triggerCharacter:n.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const r=this.editor.getModel(),a=this.editor.getPosition();this.state=new Xl.Pending($s(d=>TB(this.providers,r,a,s,d)),i);try{const d=await this.state.request;return e!==this.triggerId?(d==null||d.dispose(),!1):!d||!d.value.signatures||d.value.signatures.length===0?(d==null||d.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new Xl.Active(d.value),this._lastSignatureHelpResult.value=d,this._onChangedHints.fire(this.state.hints),!0)}catch(d){return e===this.triggerId&&(this.state=Xl.Default),zn(d),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const i of t.signatureHelpTriggerCharacters||[])if(i.length){const n=i.charCodeAt(0);this.triggerChars.add(n),this.retriggerChars.add(n)}for(const i of t.signatureHelpRetriggerCharacters||[])i.length&&this.retriggerChars.add(i.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:hc.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:hc.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:hc.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};E_.DEFAULT_DELAY=120;let Ay=E_;function pV(o,e){switch(e.triggerKind){case hc.Invoke:return e;case hc.ContentChange:return o;case hc.TriggerCharacter:default:return e}}var xV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Mx=function(o,e){return function(t,i){e(t,i,o)}},ky;const Ho=ai,mV=gs("parameter-hints-next",$i.chevronDown,S("parameterHintsNextIcon","Icon for show next parameter hint.")),vV=gs("parameter-hints-previous",$i.chevronUp,S("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var du;let By=(du=class extends Mt{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new It),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new Y0({editor:e},s,n)),this.keyVisible=Mu.Visible.bindTo(i),this.keyMultipleSignatures=Mu.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=Ho(".editor-widget.parameter-hints-widget"),t=ei(e,Ho(".phwrapper"));t.tabIndex=-1;const i=ei(t,Ho(".controls")),n=ei(i,Ho(".button"+Fn.asCSSSelector(vV))),s=ei(i,Ho(".overloads")),r=ei(i,Ho(".button"+Fn.asCSSSelector(mV)));this._register(Sn(n,"click",p=>{Cm.stop(p),this.previous()})),this._register(Sn(r,"click",p=>{Cm.stop(p),this.next()}));const a=Ho(".body"),d=new Y2(a,{alwaysConsumeMouseWheel:!0});this._register(d),t.appendChild(d.getDomNode());const u=ei(a,Ho(".signature")),f=ei(a,Ho(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:u,overloads:s,docs:f,scrollbar:d},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(p=>{this.visible&&this.editor.layoutContentWidget(this)}));const g=()=>{if(!this.domNodes)return;const p=this.editor.getOption(50),C=this.domNodes.element;C.style.fontSize=`${p.fontSize}px`,C.style.lineHeight=`${p.lineHeight/p.fontSize}`,C.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",p.fontFamily),C.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",Tw.fontFamily)};g(),this._register(Ls.chain(this.editor.onDidChangeConfiguration.bind(this.editor),p=>p.filter(C=>C.hasChanged(50)))(g)),this._register(this.editor.onDidLayoutChange(p=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{var e;(e=this.domNodes)==null||e.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){var e;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,(e=this.domNodes)==null||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){if(this.renderDisposeables.clear(),!this.domNodes)return;const t=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",t),this.keyMultipleSignatures.set(t),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const i=e.signatures[e.activeSignature];if(!i)return;const n=ei(this.domNodes.signature,Ho(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const u=ei(n,Ho("span"));u.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const u=Ho("span.documentation");if(typeof a.documentation=="string")u.textContent=a.documentation;else{const f=this.renderMarkdownDocs(a.documentation);u.appendChild(f.element)}ei(this.domNodes.docs,Ho("p",{},u))}if(i.documentation!==void 0)if(typeof i.documentation=="string")ei(this.domNodes.docs,Ho("p",{},i.documentation));else{const u=this.renderMarkdownDocs(i.documentation);ei(this.domNodes.docs,u.element)}const d=this.hasDocs(i,a);if(this.domNodes.signature.classList.toggle("has-docs",d),this.domNodes.docs.classList.toggle("empty",!d),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,a){let u="";const f=i.parameters[r];Array.isArray(f.label)?u=i.label.substring(f.label[0],f.label[1]):u=f.label,f.documentation&&(u+=typeof f.documentation=="string"?`, ${f.documentation}`:`, ${f.documentation.value}`),i.documentation&&(u+=typeof i.documentation=="string"?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==u&&(Tr(S("hint","{0}, hint",u)),this.announcedLabel=u)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new Ro,i=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var s;(s=this.domNodes)==null||s.scrollbar.scanDomNode()}}));i.element.classList.add("markdown-docs");const n=t.elapsed();return n>300&&this.telemetryService.publicLog2("parameterHints.parseMarkdown",{renderDuration:n}),i}hasDocs(e,t){return!!(t&&typeof t.documentation=="string"&&Ph(t.documentation).length>0||t&&typeof t.documentation=="object"&&Ph(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&Ph(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&Ph(e.documentation.value).length>0)}renderParameters(e,t,i){const[n,s]=this.getParameterLabelOffsets(t,i),r=document.createElement("span");r.textContent=t.label.substring(0,n);const a=document.createElement("span");a.textContent=t.label.substring(n,s),a.className="parameter active";const d=document.createElement("span");d.textContent=t.label.substring(s),ei(e,r,a,d)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const n=new RegExp(`(\\W|^)${yg(i.label)}(?=\\W|$)`,"g");n.test(e.label);const s=n.lastIndex-i.label.length;return s>=0?[s,n.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return ky.ID}updateMaxHeight(){if(!this.domNodes)return;const t=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}},ky=du,du.ID="editor.widget.parameterHintsWidget",du);By=ky=xV([Mx(2,Dn),Mx(3,ca),Mx(4,ua),Mx(5,da)],By);li("editorHoverWidget.highlightForeground",tk,S("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var _V=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},WD=function(o,e){return function(t,i){e(t,i,o)}},Fy,uu;let q0=(uu=class extends Mt{static get(e){return e.getContribution(Fy.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new Ay(e,i.signatureHelpProvider)),this._register(this.model.onChangedHints(n=>{var s;n?(this.widget.value.show(),this.widget.value.render(n)):(s=this.widget.rawValue)==null||s.hide()})),this.widget=new Dw(()=>this._register(t.createInstance(By,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){var e;(e=this.widget.rawValue)==null||e.previous()}next(){var e;(e=this.widget.rawValue)==null||e.next()}trigger(e){this.model.trigger(e,0)}},Fy=uu,uu.ID="editor.controller.parameterHints",uu);q0=Fy=_V([WD(1,en),WD(2,bi)],q0);class bV extends bt{constructor(){super({id:"editor.action.triggerParameterHints",label:S("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:U.hasSignatureHelpProvider,kbOpts:{kbExpr:U.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=q0.get(t);i==null||i.trigger({triggerKind:hc.Invoke})}}an(q0.ID,q0,2);Te(bV);const G9=175,K9=So.bindToContribution(q0.get);Di(new K9({id:"closeParameterHints",precondition:Mu.Visible,handler:o=>o.cancel(),kbOpts:{weight:G9,kbExpr:U.focus,primary:9,secondary:[1033]}}));Di(new K9({id:"showPrevParameterHint",precondition:qe.and(Mu.Visible,Mu.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:G9,kbExpr:U.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));Di(new K9({id:"showNextParameterHint",precondition:qe.and(Mu.Visible,Mu.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:G9,kbExpr:U.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var CV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},EV=function(o,e){return function(t,i){e(t,i,o)}};class yV{constructor(e){this.instantiationService=e}init(...e){}}function wV(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=yp((n,s)=>{const r=r1(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function SV(o){return FL()?wV(o,Ly):o()}let Ly=class extends yV{constructor(e,t){super(t),this.init(e)}};Ly=CV([EV(1,en)],Ly);an(Yg.ID,SV(()=>Yg),0);li("editor.placeholder.foreground",LL,S("placeholderForeground","Foreground color of the placeholder text in the editor."));var DV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Rx=function(o,e){return function(t,i){e(t,i,o)}};const rf=new vn("renameInputVisible",!1,S("renameInputVisible","Whether the rename input widget is visible"));new vn("renameInputFocused",!1,S("renameInputFocused","Whether the rename input widget is focused"));let Iy=class{constructor(e,t,i,n,s,r){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=n,this._logService=r,this.allowEditorOverflow=!0,this._disposables=new It,this._visibleContextKey=rf.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new Ro,this._inputWithButton=new AV,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{a.hasChanged(50)&&this._updateFont()})),this._disposables.add(i.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputWithButton.domNode),this._renameCandidateListView=this._disposables.add(new Z9(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:e=>{this._inputWithButton.input.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange(()=>{var e,t,i;((e=this._renameCandidateListView)==null?void 0:e.focusedCandidate)!==void 0&&(this._isEditingRenameCandidate=!0),this._timeBeforeFirstInputFieldEdit??(this._timeBeforeFirstInputFieldEdit=this._beforeFirstInputFieldEditSW.elapsed()),((t=this._renameCandidateProvidersCts)==null?void 0:t.token.isCancellationRequested)===!1&&this._renameCandidateProvidersCts.cancel(),(i=this._renameCandidateListView)==null||i.clearFocus()})),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(e){if(!this._domNode)return;const t=e.getColor(IL),i=e.getColor(PL);this._domNode.style.backgroundColor=String(e.getColor(Q2)??""),this._domNode.style.boxShadow=t?` 0 0 8px 2px ${t}`:"",this._domNode.style.border=i?`1px solid ${i}`:"",this._domNode.style.color=String(e.getColor(TL)??"");const n=e.getColor(ML);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(YS)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(YS)??""),this._inputWithButton.domNode.style.borderWidth=n?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=n?"solid":"none",this._inputWithButton.domNode.style.borderColor=(n==null?void 0:n.toString())??"none"}_updateFont(){if(this._domNode===void 0)return;An(this._label!==void 0,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._inputWithButton.input);const e=this._editor.getOption(50);this._label.style.fontSize=`${this._computeLabelFontSize(e.fontSize)}px`}_computeLabelFontSize(e){return e*.8}getPosition(){if(!this._visible||!this._editor.hasModel()||!this._editor.getDomNode())return null;const e=wp(this.getDomNode().ownerDocument.body),t=Co(this._editor.getDomNode()),i=this._getTopForPosition();this._nPxAvailableAbove=i+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;const n=this._editor.getOption(67),{totalHeight:s}=Qg.getLayoutInfo({lineHeight:n}),r=this._nPxAvailableBelow>s*6?[2,1]:[1,2];return{position:this._position,preference:r}}beforeRender(){var i,n;const[e,t]=this._acceptKeybindings;return this._label.innerText=S({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",(i=this._keybindingService.lookupKeybinding(e))==null?void 0:i.getLabel(),(n=this._keybindingService.lookupKeybinding(t))==null?void 0:n.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(e===null){this.cancelInput(!0,"afterRender (because position is null)");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;An(this._renameCandidateListView),An(this._nPxAvailableAbove!==void 0),An(this._nPxAvailableBelow!==void 0);const t=Lh(this._inputWithButton.domNode),i=Lh(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:br(this._inputWithButton.domNode)})}acceptInput(e){var t;this._trace("invoking acceptInput"),(t=this._currentAcceptInput)==null||t.call(this,e)}cancelInput(e,t){var i;(i=this._currentCancelInput)==null||i.call(this,e)}focusNextRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(e,t,i,n,s){const{start:r,end:a}=this._getSelection(e,t);this._renameCts=s;const d=new It;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,n===void 0?this._inputWithButton.button.style.display="none":(this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=n,this._requestRenameCandidates(t,!1),d.add(Sn(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),d.add(Sn(this._inputWithButton.button,is.KEY_DOWN,f=>{const g=new Xw(f);(g.equals(3)||g.equals(10))&&(g.stopPropagation(),g.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new _i(e.startLineNumber,e.startColumn),this._currentName=t,this._inputWithButton.input.value=t,this._inputWithButton.input.setAttribute("selectionStart",r.toString()),this._inputWithButton.input.setAttribute("selectionEnd",a.toString()),this._inputWithButton.input.size=Math.max((e.endColumn-e.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),d.add(Xn(()=>{this._renameCts=void 0,s.dispose(!0)})),d.add(Xn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),d.add(Xn(()=>this._candidates.clear()));const u=new R_;return u.p.finally(()=>{d.dispose(),this._hide()}),this._currentCancelInput=f=>{var g;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(g=this._renameCandidateListView)==null||g.clearCandidates(),u.complete(f),!0},this._currentAcceptInput=f=>{this._trace("invoking _currentAcceptInput"),An(this._renameCandidateListView!==void 0);const g=this._renameCandidateListView.nCandidates;let p,C;const b=this._renameCandidateListView.focusedCandidate;if(b!==void 0?(this._trace("using new name from renameSuggestion"),p=b,C={k:"renameSuggestion"}):(this._trace("using new name from inputField"),p=this._inputWithButton.input.value,C=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),p===t||p.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),u.complete({newName:p,wantsPreview:i&&f,stats:{source:C,nRenameSuggestions:g,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},d.add(s.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),d.add(this._editor.onDidBlurEditorWidget(()=>{var f;return this.cancelInput(!((f=this._domNode)!=null&&f.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),u.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),An(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new Us;const i=t?a1.Invoke:a1.Automatic,n=this._requestRenameCandidatesOnce(i,this._renameCandidateProvidersCts.token);if(n.length===0){this._inputWithButton.setSparkleButton();return}t||(this._hadAutomaticRenameSuggestionsInvocation=!0),this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(n,e,this._renameCts.token)}}_getSelection(e,t){An(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!ee.isEmpty(i)&&!ee.spansMultipleLines(i)&&ee.containsRange(e,i)&&(n=Math.max(0,i.startColumn-e.startColumn),s=Math.min(e.endColumn,i.endColumn)-e.startColumn),{start:n,end:s}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute("selectionStart")),parseInt(this._inputWithButton.input.getAttribute("selectionEnd")))},100)}async _updateRenameCandidates(e,t,i){const n=(...u)=>this._trace("_updateRenameCandidates",...u);n("start");const s=await mp(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),s===void 0){n("returning early - received updateRenameCandidates results - undefined");return}const r=s.flatMap(u=>u.status==="fulfilled"&&qx(u.value)?u.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=n2(r,u=>u.newSymbolName);n(`distinct candidates - ${a.length} candidates.`);const d=a.filter(({newSymbolName:u})=>u.trim().length>0&&u!==this._inputWithButton.input.value&&u!==t&&!this._candidates.has(u));if(n(`valid distinct candidates - ${r.length} candidates.`),d.forEach(u=>this._candidates.add(u.newSymbolName)),d.length<1){n("returning early - no valid distinct candidates");return}n("setting candidates"),this._renameCandidateListView.setCandidates(d),n("asking editor to re-layout"),this._editor.layoutContentWidget(this)}_hide(){this._trace("invoked _hide"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){const e=this._editor.getVisibleRanges();let t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace("RenameWidget",...e)}};Iy=DV([Rx(2,Nr),Rx(3,ws),Rx(4,Dn),Rx(5,zu)],Iy);class Z9{constructor(e,t){this._disposables=new It,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),this._listContainer.className="rename-box rename-candidate-list-container",e.appendChild(this._listContainer),this._listWidget=Z9._createListWidget(this._listContainer,this._candidateViewHeight,t.fontInfo),this._listWidget.onDidChangeFocus(i=>{i.elements.length===1&&t.onFocusChange(i.elements[0].newSymbolName)},this._disposables),this._listWidget.onDidChangeSelection(i=>{i.elements.length===1&&t.onSelectionChange()},this._disposables),this._disposables.add(this._listWidget.onDidBlur(i=>{this._listWidget.setFocus([])})),this._listWidget.style(ik({listInactiveFocusForeground:J2,listInactiveFocusBackground:ek}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:e,width:t}){this._availableHeight=e,this._minimumWidth=t}setCandidates(e){this._listWidget.splice(0,0,e);const t=this._pickListHeight(this._listWidget.length),i=this._pickListWidth(e);this._listWidget.layout(t,i),this._listContainer.style.height=`${t}px`,this._listContainer.style.width=`${i}px`,b0(S("renameSuggestionsReceivedAria","Received {0} rename suggestions",e.length))}clearCandidates(){this._listContainer.style.height="0px",this._listContainer.style.width="0px",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;const e=this._listWidget.getSelectedElements()[0];if(e!==void 0)return e.newSymbolName;const t=this._listWidget.getFocusedElements()[0];if(t!==void 0)return t.newSymbolName}focusNext(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();if(e.length===0)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;if(e[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;{this._listWidget.focusNext();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}focusPrevious(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();if(e.length===0){this._listWidget.focusLast();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}else{if(e[0]===0)return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:e}=Qg.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){const t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(e){const t=Math.ceil(Math.max(...e.map(n=>n.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,i){const n=new class{getTemplateId(r){return"candidate"}getHeight(r){return t}},s=new class{constructor(){this.templateId="candidate"}renderTemplate(r){return new Qg(r,i)}renderElement(r,a,d){d.populate(r)}disposeTemplate(r){r.dispose()}};return new Fw("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class AV{constructor(){this._onDidInputChange=new sn,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new It}get domNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="rename-input-with-button",this._domNode.style.display="flex",this._domNode.style.flexDirection="row",this._domNode.style.alignItems="center",this._inputNode=document.createElement("input"),this._inputNode.className="rename-input",this._inputNode.type="text",this._inputNode.style.border="none",this._inputNode.setAttribute("aria-label",S("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._inputNode),this._buttonNode=document.createElement("div"),this._buttonNode.className="rename-suggestions-button",this._buttonNode.setAttribute("tabindex","0"),this._buttonGenHoverText=S("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=S("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=RL().setupManagedHover(q_("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(Sn(this.input,is.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(Sn(this.input,is.KEY_DOWN,e=>{const t=new Xw(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(Sn(this.input,is.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(Sn(this.input,is.FOCUS,()=>{this.domNode.style.outlineWidth="1px",this.domNode.style.outlineStyle="solid",this.domNode.style.outlineOffset="-1px",this.domNode.style.outlineColor="var(--vscode-focusBorder)"})),this._disposables.add(Sn(this.input,is.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return An(this._inputNode),this._inputNode}get button(){return An(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=l1($i.sparkle)),Ha(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute("aria-label","Generating new name suggestions"),(e=this._buttonHover)==null||e.update(this._buttonGenHoverText),this.input.focus()}setStopButton(){var e;this._buttonState="stop",this._stopIcon??(this._stopIcon=l1($i.primitiveSquare)),Ha(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute("aria-label","Cancel generating new name suggestions"),(e=this._buttonHover)==null||e.update(this._buttonCancelHoverText),this.input.focus()}dispose(){this._disposables.dispose()}}const _g=class _g{constructor(e,t){this._domNode=document.createElement("div"),this._domNode.className="rename-box rename-candidate",this._domNode.style.display="flex",this._domNode.style.columnGap="5px",this._domNode.style.alignItems="center",this._domNode.style.height=`${t.lineHeight}px`,this._domNode.style.padding=`${_g._PADDING}px`;const i=document.createElement("div");i.style.display="flex",i.style.alignItems="center",i.style.width=i.style.height=`${t.lineHeight*.8}px`,this._domNode.appendChild(i),this._icon=l1($i.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),j2(this._label,t),this._domNode.appendChild(this._label),e.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){var i;const t=!!((i=e.tags)!=null&&i.includes(NL.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+_g._PADDING*2}}dispose(){}};_g._PADDING=2;let Qg=_g;var kV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ql=function(o,e){return function(t,i){e(t,i,o)}},Py;class X9{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){const n=this._providers[this._providerRenameIdx];if(!n.resolveRenameLocation)break;const s=await n.resolveRenameLocation(this.model,this.position,e);if(s){if(s.rejectReason){t.push(s.rejectReason);continue}return s}}this._providerRenameIdx=0;const i=this.model.getWordAtPosition(this.position);return i?{range:new ee(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
76
- `):void 0}:{range:ee.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join(`
77
- `):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,i,n){const s=this._providers[t];if(!s)return{edits:[],rejectReason:i.join(`
78
- `)};const r=await s.provideRenameEdits(this.model,this.position,e,n);if(r){if(r.rejectReason)return this._provideRenameEdits(e,t+1,i.concat(r.rejectReason),n)}else return this._provideRenameEdits(e,t+1,i.concat(S("no result","No result.")),n);return r}}async function BV(o,e,t,i){const n=new X9(e,t,o),s=await n.resolveRenameLocation(on.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,on.None)}var hu;let Hc=(hu=class{static get(e){return e.getContribution(Py.ID)}constructor(e,t,i,n,s,r,a,d,u){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=s,this._logService=r,this._configService=a,this._languageFeaturesService=d,this._telemetryService=u,this._disposableStore=new It,this._cts=new Us,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Iy,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var b,y;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new Us,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new X9(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new v0(this.editor,5,void 0,this._cts.token);let s;try{e("resolving rename location");const w=i.resolveRenameLocation(n.token);this._progressService.showWhile(w,250),s=await w,e("resolved rename location")}catch(w){w instanceof N_?e("resolve rename location cancelled",JSON.stringify(w,null," ")):(e("resolve rename location failed",w instanceof Error?w:JSON.stringify(w,null," ")),(typeof w=="string"||$x(w))&&((b=Po.get(this.editor))==null||b.showMessage(w||S("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),t)));return}finally{n.dispose()}if(!s){e("returning early - no loc");return}if(s.rejectReason){e(`returning early - rejected with reason: ${s.rejectReason}`,s.rejectReason),(y=Po.get(this.editor))==null||y.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new v0(this.editor,5,s.range,this._cts.token),a=this.editor.getModel(),d=this._languageFeaturesService.newSymbolNamesProvider.all(a),u=await Promise.all(d.map(async w=>[w,await w.supportsAutomaticNewSymbolNamesTriggerKind??!1])),f=(w,A)=>{let P=u.slice();return w===a1.Automatic&&(P=P.filter(([M,R])=>R)),P.map(([M])=>M.provideNewSymbolNames(a,s.range,w,A))};e("creating rename input field and awaiting its result");const g=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),p=await this._renameWidget.getInput(s.range,s.text,g,d.length>0?f:void 0,r);if(e("received response from rename input field"),d.length>0&&this._reportTelemetry(d.length,a.getLanguageId(),p),typeof p=="boolean"){e(`returning early - rename input field response - ${p}`),p&&this.editor.focus(),r.dispose();return}this.editor.focus(),e("requesting rename edits");const C=mp(i.provideRenameEdits(p.newName,r.token),r.token).then(async w=>{if(!w){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(w.rejectReason){e(`returning early - rejected with reason: ${w.rejectReason}`),this._notificationService.info(w.rejectReason);return}this.editor.setSelection(ee.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(w,{editor:this.editor,showPreview:p.wantsPreview,label:S("label","Renaming '{0}' to '{1}'",s==null?void 0:s.text,p.newName),code:"undoredo.rename",quotableLabel:S("quotableLabel","Renaming {0} to {1}",s==null?void 0:s.text,p.newName),respectAutoSaveConfig:!0}).then(A=>{e("edits applied"),A.ariaSummary&&Tr(S("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",s.text,p.newName,A.ariaSummary))}).catch(A=>{e(`error when applying edits ${JSON.stringify(A,null," ")}`),this._notificationService.error(S("rename.failedApply","Rename failed to apply edits")),this._logService.error(A)})},w=>{e("error when providing rename edits",JSON.stringify(w,null," ")),this._notificationService.error(S("rename.failed","Rename failed to compute edits")),this._logService.error(w)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(C,250),C}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,i){const n=typeof i=="boolean"?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:i.stats.source.k,nRenameSuggestions:i.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:i.stats.timeBeforeFirstInputFieldEdit,wantsPreview:i.wantsPreview,nRenameSuggestionsInvocations:i.stats.nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:i.stats.hadAutomaticRenameSuggestionsInvocation};this._telemetryService.publicLog2("renameInvokedEvent",n)}},Py=hu,hu.ID="editor.contrib.renameController",hu);Hc=Py=kV([ql(1,en),ql(2,go),ql(3,T_),ql(4,_p),ql(5,zu),ql(6,OL),ql(7,bi),ql(8,da)],Hc);class FV extends bt{constructor(){super({id:"editor.action.rename",label:S("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:qe.and(U.writable,U.hasRenameProvider),kbOpts:{kbExpr:U.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(vs),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return On.isUri(n)&&_i.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(s),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},zn):super.runCommand(e,t)}run(e,t){const i=e.get(zu),n=Hc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}an(Hc.ID,Hc,4);Te(FV);const Y9=So.bindToContribution(Hc.get);Di(new Y9({id:"acceptRenameInput",precondition:rf,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:qe.and(U.focus,qe.not("isComposing")),primary:3}}));Di(new Y9({id:"acceptRenameInputWithPreview",precondition:qe.and(rf,qe.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:qe.and(U.focus,qe.not("isComposing")),primary:2051}}));Di(new Y9({id:"cancelRenameInput",precondition:rf,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:U.focus,primary:9,secondary:[1033]}}));Nn(class extends wo{constructor(){super({id:"focusNextRenameSuggestion",title:{...gi("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:rf,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(vs).getFocusedCodeEditor();if(!t)return;const i=Hc.get(t);i&&i.focusNextRenameSuggestion()}});Nn(class extends wo{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...gi("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:rf,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(vs).getFocusedCodeEditor();if(!t)return;const i=Hc.get(t);i&&i.focusPreviousRenameSuggestion()}});Do("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;An(typeof n=="string");const{renameProvider:s}=o.get(bi);return BV(s,e,t,n)});Do("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(bi),s=await new X9(e,t,i).resolveRenameLocation(on.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});la.as(bp.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:S("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var LV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zD=function(o,e){return function(t,i){e(t,i,o)}},f0;let Sv=(f0=class extends Mt{constructor(e,t,i){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(n=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(n=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(t.onDidChange(n=>{var r;const s=(r=this.editor.getModel())==null?void 0:r.getLanguageId();s&&n.affects(s)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(n=>{this.options&&!n.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(n=>{this.computeSectionHeaders.schedule()})),this._register(e.onDidChangeModelTokens(n=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)})),this.computeSectionHeaders=this._register(new Is(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;const t=this.editor.getModel().getLanguageId();if(!t)return;const i=this.languageConfigurationService.getLanguageConfiguration(t).comments,n=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;if(!(!i&&!(n!=null&&n.markers)))return{foldingRules:n,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}}findSectionHeaders(){var i,n;if(!this.editor.hasModel()||!((i=this.options)!=null&&i.findMarkSectionHeaders)&&!((n=this.options)!=null&&n.findRegionSectionHeaders))return;const e=this.editor.getModel();if(e.isDisposed()||e.isTooLargeForSyncing())return;const t=e.getVersionId();this.editorWorkerService.findSectionHeaders(e.uri,this.options).then(s=>{e.isDisposed()||e.getVersionId()!==t||this.updateDecorations(s)})}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter(s=>{if(!s.shouldBeInComments)return!0;const r=t.validateRange(s.range),a=t.tokenization.getLineTokens(r.startLineNumber),d=a.findTokenIndexAtOffset(r.startColumn-1),u=a.getStandardTokenType(d);return a.getLanguageId(d)===t.getLanguageId()&&u===1}));const i=Object.values(this.currentOccurrences).map(s=>s.decorationId),n=e.map(s=>IV(s));this.editor.changeDecorations(s=>{const r=s.deltaDecorations(i,n);this.currentOccurrences={};for(let a=0,d=r.length;a<d;a++){const u={sectionHeader:e[a],decorationId:r[a]};this.currentOccurrences[u.decorationId]=u}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}},f0.ID="editor.sectionHeaderDetector",f0);Sv=LV([zD(1,zs),zD(2,Rl)],Sv);function IV(o){return{range:o.range,options:fn.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}an(Sv.ID,Sv,1);function PV(o){for(let e=0,t=o.length;e<t;e+=4){const i=o[e+0],n=o[e+1],s=o[e+2],r=o[e+3];o[e+0]=r,o[e+1]=s,o[e+2]=n,o[e+3]=i}}function TV(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return HL()||PV(e),WL.wrap(e)}function MB(o){const e=new Uint32Array(MV(o));let t=0;if(e[t++]=o.id,o.type==="full")e[t++]=1,e[t++]=o.data.length,e.set(o.data,t),t+=o.data.length;else{e[t++]=2,e[t++]=o.deltas.length;for(const i of o.deltas)e[t++]=i.start,e[t++]=i.deleteCount,i.data?(e[t++]=i.data.length,e.set(i.data,t),t+=i.data.length):e[t++]=0}return TV(e)}function MV(o){let e=0;if(e+=2,o.type==="full")e+=1+o.data.length;else{e+=1,e+=3*o.deltas.length;for(const t of o.deltas)t.data&&(e+=t.data.length)}return e}function yb(o){return o&&!!o.data}function RB(o){return o&&Array.isArray(o.edits)}class RV{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function NB(o,e){return o.has(e)}function NV(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function OB(o,e,t,i,n){const s=NV(o,e),r=await Promise.all(s.map(async a=>{let d,u=null;try{d=await a.provideDocumentSemanticTokens(e,a===t?i:null,n)}catch(f){u=f,d=null}return(!d||!yb(d)&&!RB(d))&&(d=null),new RV(a,d,u)}));for(const a of r){if(a.error)throw a.error;if(a.tokens)return a}return r.length>0?r[0]:null}function OV(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class HV{constructor(e,t){this.provider=e,this.tokens=t}}function WV(o,e){return o.has(e)}function HB(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function Q9(o,e,t,i){const n=HB(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(d){ms(d),a=null}return(!a||!yb(a))&&(a=null),new HV(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}Kn.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;An(t instanceof On);const i=o.get(po).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(bi),s=OV(n,i);return s?s[0].getLegend():o.get(Ws).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});Kn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;An(t instanceof On);const i=o.get(po).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(bi);if(!NB(n,i))return o.get(Ws).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await OB(n,i,null,null,on.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!yb(a))return;const d=MB({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),d});Kn.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;An(t instanceof On);const n=o.get(po).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(bi),r=HB(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!ee.isIRange(i))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const a=await Q9(s,n,ee.lift(i),on.None);if(a)return a.provider.getLegend()});Kn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;An(t instanceof On),An(ee.isIRange(i));const n=o.get(po).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(bi),r=await Q9(s,n,ee.lift(i),on.None);if(!(!r||!r.tokens))return MB({id:0,type:"full",data:r.tokens.data})});const J9="editor.semanticHighlighting";function um(o,e,t){var n;const i=(n=t.getValue(J9,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var WB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fa=function(o,e){return function(t,i){e(t,i,o)}},Zl;let Ty=class extends Mt{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=f=>{this._watchers[f.uri.toString()]=new My(f,e,i,s,r)},d=(f,g)=>{g.dispose(),delete this._watchers[f.uri.toString()]},u=()=>{for(const f of t.getModels()){const g=this._watchers[f.uri.toString()];um(f,i,n)?g||a(f):g&&d(f,g)}};t.getModels().forEach(f=>{um(f,i,n)&&a(f)}),this._register(t.onModelAdded(f=>{um(f,i,n)&&a(f)})),this._register(t.onModelRemoved(f=>{const g=this._watchers[f.uri.toString()];g&&d(f,g)})),this._register(n.onDidChangeConfiguration(f=>{f.affectsConfiguration(J9)&&u()})),this._register(i.onDidColorThemeChange(u))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};Ty=WB([Fa(0,Yw),Fa(1,po),Fa(2,Nr),Fa(3,Qn),Fa(4,cr),Fa(5,bi)],Ty);var Fc;let My=(Fc=class extends Mt{constructor(e,t,i,n,s){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=s.documentSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentSemanticTokens",{min:Zl.REQUEST_MIN_DELAY,max:Zl.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new Is(()=>this._fetchDocumentSemanticTokensNow(),Zl.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const r=()=>{ao(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const a of this._provider.all(e))typeof a.onDidChange=="function"&&this._documentProvidersChangeListeners.push(a.onDidChange(()=>{if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}))};r(),this._register(this._provider.onDidChange(()=>{r(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(i.onDidColorThemeChange(a=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),ao(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!NB(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new Us,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=OB(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const s=[],r=this._model.onDidChangeContent(d=>{s.push(d)}),a=new Ro(!1);n.then(d=>{if(this._debounceInformation.update(this._model,a.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),!d)this._setDocumentSemanticTokens(null,null,null,s);else{const{provider:u,tokens:f}=d,g=this._semanticTokensStylingService.getStyling(u);this._setDocumentSemanticTokens(u,f||null,g,s)}},d=>{d&&(zc(d)||typeof d.message=="string"&&d.message.indexOf("busy")!==-1)||zn(d),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),(s.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,n,s){s=Math.min(s,i.length-n,e.length-t);for(let r=0;r<s;r++)i[n+r]=e[t+r]}_setDocumentSemanticTokens(e,t,i,n){const s=this._currentDocumentResponse,r=()=>{(n.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!i){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),r();return}if(RB(t)){if(!s){this._model.tokenization.setSemanticTokens(null,!0);return}if(t.edits.length===0)t={resultId:t.resultId,data:s.data};else{let a=0;for(const p of t.edits)a+=(p.data?p.data.length:0)-p.deleteCount;const d=s.data,u=new Uint32Array(d.length+a);let f=d.length,g=u.length;for(let p=t.edits.length-1;p>=0;p--){const C=t.edits[p];if(C.start>d.length){i.warnInvalidEditStart(s.resultId,t.resultId,p,C.start,d.length),this._model.tokenization.setSemanticTokens(null,!0);return}const b=f-(C.start+C.deleteCount);b>0&&(Zl._copy(d,f-b,u,g-b,b),g-=b),C.data&&(Zl._copy(C.data,0,u,g-C.data.length,C.data.length),g-=C.data.length),f=C.start}f>0&&Zl._copy(d,0,u,0,f),t={resultId:t.resultId,data:u}}}if(yb(t)){this._currentDocumentResponse=new zV(e,t.resultId,t.data);const a=mk(t,i,this._model.getLanguageId());if(n.length>0)for(const d of n)for(const u of a)for(const f of d.changes)u.applyEdit(f.range,f.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}},Zl=Fc,Fc.REQUEST_MIN_DELAY=300,Fc.REQUEST_MAX_DELAY=2e3,Fc);My=Zl=WB([Fa(1,Yw),Fa(2,Nr),Fa(3,cr),Fa(4,bi)],My);class zV{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}X0(Ty);var VV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},If=function(o,e){return function(t,i){e(t,i,o)}},g0;let Dv=(g0=class extends Mt{constructor(e,t,i,n,s,r){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=n,this._editor=e,this._provider=r.documentRangeSemanticTokensProvider,this._debounceInformation=s.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new Is(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const a=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{a()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),a()})),this._register(this._editor.onDidChangeModelContent(d=>{this._cancelAll(),a()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),a()})),this._register(this._configurationService.onDidChangeConfiguration(d=>{d.affectsConfiguration(J9)&&(this._cancelAll(),a())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),a()})),a()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;t<i;t++)if(this._outstandingRequests[t]===e){this._outstandingRequests.splice(t,1);return}}_tokenizeViewportNow(){if(!this._editor.hasModel())return;const e=this._editor.getModel();if(e.tokenization.hasCompleteSemanticTokens())return;if(!um(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!WV(this._provider,e)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}const t=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(t.map(i=>this._requestRange(e,i)))}_requestRange(e,t){const i=e.getVersionId(),n=$s(r=>Promise.resolve(Q9(this._provider,e,t,r))),s=new Ro(!1);return n.then(r=>{if(this._debounceInformation.update(e,s.elapsed()),!r||!r.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:a,tokens:d}=r,u=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,mk(d,u,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},g0.ID="editor.contrib.viewportSemanticTokens",g0);Dv=VV([If(1,Yw),If(2,Nr),If(3,Qn),If(4,cr),If(5,bi)],Dv);an(Dv.ID,Dv,1);class jV{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s),this.selectSubwords&&this._addInWordRanges(s,e,n),this._addWordRanges(s,e,n),this._addWhitespaceLine(s,e,n),s.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const n=t.getWordAtPosition(i);if(!n)return;const{word:s,startColumn:r}=n,a=i.column-r;let d=a,u=a,f=0;for(;d>=0;d--){const g=s.charCodeAt(d);if(d!==a&&(g===95||g===45))break;if(QS(g)&&JS(f))break;f=g}for(d+=1;u<s.length;u++){const g=s.charCodeAt(u);if(JS(g)&&QS(f))break;if(g===95||g===45)break;f=g}d<u&&e.push({range:new ee(i.lineNumber,r+d,i.lineNumber,r+u)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new ee(i.lineNumber,n.startColumn,i.lineNumber,n.endColumn)})}_addWhitespaceLine(e,t,i){t.getLineLength(i.lineNumber)>0&&t.getLineFirstNonWhitespaceColumn(i.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(i.lineNumber)===0&&e.push({range:new ee(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var $V=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},UV=function(o,e){return function(t,i){e(t,i,o)}},Ry;class eS{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new eS(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var fu;let Jg=(fu=class{static get(e){return e.getContribution(Ry.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;(e=this._selectionListener)==null||e.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||await VB(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),on.None).then(s=>{var r;if(!(!Go(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!Va(this._editor.getSelections(),t,(a,d)=>a.equalsSelection(d)))){for(let a=0;a<s.length;a++)s[a]=s[a].filter(d=>d.containsPosition(t[a].getStartPosition())&&d.containsPosition(t[a].getEndPosition())),s[a].unshift(t[a]);this._state=s.map(a=>new eS(0,a)),(r=this._selectionListener)==null||r.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var a;this._ignoreSelection||((a=this._selectionListener)==null||a.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(s=>s.mov(e));const n=this._state.map(s=>Hi.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},Ry=fu,fu.ID="editor.contrib.smartSelectController",fu);Jg=Ry=$V([UV(1,bi)],Jg);class zB extends bt{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=Jg.get(t);i&&await i.run(this._forward)}}class qV extends zB{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:S("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:U.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:Xt.MenubarSelectionMenu,group:"1_basic",title:S({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}Kn.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class GV extends zB{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:S("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:U.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:Xt.MenubarSelectionMenu,group:"1_basic",title:S({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}an(Jg.ID,Jg,4);Te(qV);Te(GV);async function VB(o,e,t,i,n){const s=o.all(e).concat(new jV(i.selectSubwords));s.length===1&&s.unshift(new dv);const r=[],a=[];for(const d of s)r.push(Promise.resolve(d.provideSelectionRanges(e,t,n)).then(u=>{if(Go(u)&&u.length===t.length)for(let f=0;f<t.length;f++){a[f]||(a[f]=[]);for(const g of u[f])ee.isIRange(g.range)&&ee.containsPosition(g.range,t[f])&&a[f].push(ee.lift(g.range))}},ms));return await Promise.all(r),a.map(d=>{if(d.length===0)return[];d.sort((p,C)=>_i.isBefore(p.getStartPosition(),C.getStartPosition())?1:_i.isBefore(C.getStartPosition(),p.getStartPosition())||_i.isBefore(p.getEndPosition(),C.getEndPosition())?-1:_i.isBefore(C.getEndPosition(),p.getEndPosition())?1:0);const u=[];let f;for(const p of d)(!f||ee.containsRange(p,f)&&!ee.equalsRange(p,f))&&(u.push(p),f=p);if(!i.selectLeadingAndTrailingWhitespace)return u;const g=[u[0]];for(let p=1;p<u.length;p++){const C=u[p-1],b=u[p];if(b.startLineNumber!==C.startLineNumber||b.endLineNumber!==C.endLineNumber){const y=new ee(C.startLineNumber,e.getLineFirstNonWhitespaceColumn(C.startLineNumber),C.endLineNumber,e.getLineLastNonWhitespaceColumn(C.endLineNumber));y.containsRange(C)&&!y.equalsRange(C)&&b.containsRange(y)&&!b.equalsRange(y)&&g.push(y);const w=new ee(C.startLineNumber,1,C.endLineNumber,e.getLineMaxColumn(C.endLineNumber));w.containsRange(C)&&!w.equalsRange(y)&&b.containsRange(w)&&!b.equalsRange(w)&&g.push(w)}g.push(b)}return g})}Kn.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;An(On.isUri(t));const n=o.get(bi).selectionRangeProvider,s=await o.get(ha).createModelReference(t);try{return VB(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},on.None)}finally{s.dispose()}});const KV=Object.freeze({View:gi("view","View"),Help:gi("help","Help"),Test:gi("test","Test"),File:gi("file","File"),Preferences:gi("preferences","Preferences"),Developer:gi({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class hg{constructor(e,t,i,n=null){this.startLineNumbers=e,this.endLineNumbers=t,this.lastLineRelativePosition=i,this.showEndForLine=n}equals(e){return!!e&&this.lastLineRelativePosition===e.lastLineRelativePosition&&this.showEndForLine===e.showEndForLine&&Va(this.startLineNumbers,e.startLineNumbers)&&Va(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new hg([],[],0)}}const VD=H2("stickyScrollViewLayer",{createHTML:o=>o}),MC="data-sticky-line-index",jD="data-sticky-is-line",ZV="data-sticky-is-line-number",$D="data-sticky-is-folding-icon";class XV extends Mt{constructor(e){super(),this._editor=e,this._foldingIconStore=new It,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof Rr),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(116).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(116)&&t(),i.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))})),this._register(this._editor.onDidScrollChange(i=>{i.scrollLeftChanged&&t(),i.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange(i=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,i){if(i===void 0&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const n=this._isWidgetHeightZero(e),s=n?void 0:e,r=n?0:this._findLineToRebuildWidgetFrom(e,i);this._renderRootNode(s,t,r),this._previousState=e}_isWidgetHeightZero(e){if(!e)return!0;const t=e.startLineNumbers.length*this._lineHeight+e.lastLineRelativePosition;if(t>0){this._lastLineRelativePosition=e.lastLineRelativePosition;const i=[...e.startLineNumbers];e.showEndForLine!==null&&(i[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];return t===0}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(t!==void 0)return t;const i=this._previousState,n=e.startLineNumbers.findIndex(s=>!i.startLineNumbers.includes(s));return n===-1?0:n}_updateWidgetWidth(){const e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-e.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${e.width-e.verticalScrollbarWidth}px`}_clearStickyLinesFromLine(e){this._foldingIconStore.clear();for(let t=e;t<this._renderedStickyLines.length;t++){const i=this._renderedStickyLines[t];i.lineNumberDomNode.remove(),i.lineDomNode.remove()}this._renderedStickyLines=this._renderedStickyLines.slice(0,e),this._rootDomNode.style.display="none"}_useFoldingOpacityTransition(e){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${e?.5:0}s`)}_setFoldingIconsVisibility(e){for(const t of this._renderedStickyLines){const i=t.foldingIcon;i&&i.setVisible(e?!0:i.isCollapsed)}}async _renderRootNode(e,t,i){if(this._clearStickyLinesFromLine(i),!e)return;for(const a of this._renderedStickyLines)this._updateTopAndZIndexOfStickyLine(a);const n=this._editor.getLayoutInfo(),s=this._lineNumbers.slice(i);for(const[a,d]of s.entries()){const u=this._renderChildNode(a+i,d,t,n);u&&(this._linesDomNode.appendChild(u.lineDomNode),this._lineNumbersDomNode.appendChild(u.lineNumberDomNode),this._renderedStickyLines.push(u))}t&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin));const r=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${r}px`,this._linesDomNodeScrollable.style.height=`${r}px`,this._rootDomNode.style.height=`${r}px`,this._rootDomNode.style.marginLeft="0px",this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(a=>a.scrollWidth))+n.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){this._editor.getOption(111)==="mouseover"&&(this._foldingIconStore.add(Sn(this._lineNumbersDomNode,is.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(Sn(this._lineNumbersDomNode,is.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,i,n){const s=this._editor._getViewModel();if(!s)return;const r=s.coordinatesConverter.convertModelPositionToViewPosition(new _i(t,1)).lineNumber,a=s.getViewLineRenderingData(r),d=this._editor.getOption(68);let u;try{u=Fg.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{u=[]}const f=new V2(!0,!0,a.content,a.continuesWithWrappedLine,a.isBasicASCII,a.containsRTL,0,a.tokens,u,a.tabSize,a.startVisibleColumn,1,1,1,500,"none",!0,!0,null),g=new W2(2e3),p=z2(f,g);let C;VD?C=VD.createHTML(g.build()):C=g.build();const b=document.createElement("span");b.setAttribute(MC,String(e)),b.setAttribute(jD,""),b.setAttribute("role","listitem"),b.tabIndex=0,b.className="sticky-line-content",b.classList.add(`stickyLine${t}`),b.style.lineHeight=`${this._lineHeight}px`,b.innerHTML=C;const y=document.createElement("span");y.setAttribute(MC,String(e)),y.setAttribute(ZV,""),y.className="sticky-line-number",y.style.lineHeight=`${this._lineHeight}px`;const w=n.contentLeft;y.style.width=`${w}px`;const A=document.createElement("span");d.renderType===1||d.renderType===3&&t%10===0?A.innerText=t.toString():d.renderType===2&&(A.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),A.className="sticky-line-number-inner",A.style.lineHeight=`${this._lineHeight}px`,A.style.width=`${n.lineNumbersWidth}px`,A.style.paddingLeft=`${n.lineNumbersLeft}px`,y.appendChild(A);const P=this._renderFoldingIconForLine(i,t);P&&y.appendChild(P.domNode),this._editor.applyFontInfo(b),this._editor.applyFontInfo(A),y.style.lineHeight=`${this._lineHeight}px`,b.style.lineHeight=`${this._lineHeight}px`,y.style.height=`${this._lineHeight}px`,b.style.height=`${this._lineHeight}px`;const M=new YV(e,t,b,y,P,p.characterMapping,b.scrollWidth);return this._updateTopAndZIndexOfStickyLine(M)}_updateTopAndZIndexOfStickyLine(e){var f;const t=e.index,i=e.lineDomNode,n=e.lineNumberDomNode,s=t===this._lineNumbers.length-1,r="0",a="1";i.style.zIndex=s?r:a,n.style.zIndex=s?r:a;const d=`${t*this._lineHeight+this._lastLineRelativePosition+((f=e.foldingIcon)!=null&&f.isCollapsed?1:0)}px`,u=`${t*this._lineHeight}px`;return i.style.top=s?d:u,n.style.top=s?d:u,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(111);if(!e||i==="never")return;const n=e.regions,s=n.findRange(t),r=n.getStartLineNumber(s);if(!(t===r))return;const d=n.isCollapsed(s),u=new QV(d,r,n.getEndLineNumber(s),this._lineHeight);return u.setVisible(this._isOnGlyphMargin?!0:d||i==="always"),u.domNode.setAttribute($D,""),u}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e<this._renderedStickyLines.length&&this._renderedStickyLines[e].lineDomNode.focus()}getEditorPositionFromNode(e){if(!e||e.children.length>0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=zL(t.characterMapping,e,0);return new _i(t.lineNumber,i)}getLineNumberFromChildDomNode(e){var t;return((t=this._getRenderedStickyLineFromChildDomNode(e))==null?void 0:t.lineNumber)??null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return t===null||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,MC);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,jD)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,$D)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class YV{constructor(e,t,i,n,s,r,a){this.index=e,this.lineNumber=t,this.lineDomNode=i,this.lineNumberDomNode=n,this.foldingIcon=s,this.characterMapping=r,this.scrollWidth=a}}class QV{constructor(e,t,i,n){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=i,this.dimension=n,this.domNode=document.createElement("div"),this.domNode.style.width=`${n}px`,this.domNode.style.height=`${n}px`,this.domNode.className=Fn.asClassName(e?Jm:Qm)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class fg{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class Av{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class jB{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var wb=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ep=function(o,e){return function(t,i){e(t,i,o)}},gg;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(gg||(gg={}));var dc;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(dc||(dc={}));let Ny=class extends Mt{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Pc(300)),this._updateOperation=this._register(new It),this._editor.getOption(116).defaultModel){case gg.OUTLINE_MODEL:this._modelProviders.push(new Oy(this._editor,n));case gg.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new Wy(this._editor,t,n));case gg.INDENTATION_MODEL:this._modelProviders.push(new Hy(this._editor,i));break}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(const t of this._modelProviders){const{statusPromise:i,modelPromise:n}=t.computeStickyModel(e);this._modelPromise=n;const s=await i;if(this._modelPromise!==n)return null;switch(s){case dc.CANCELED:return this._updateOperation.clear(),null;case dc.VALID:return t.stickyModel}}return null}).catch(t=>(zn(t),null))}};Ny=wb([ep(2,en),ep(3,bi)],Ny);class $B extends Mt{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,dc.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=$s(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?dc.CANCELED:(this._stickyModel=this.createStickyModel(e,i),dc.VALID):this._invalid()).then(void 0,i=>(zn(i),dc.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let Oy=class extends $B{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return ol.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){var r;const{stickyOutlineElement:i,providerID:n}=this._stickyModelFromOutlineModel(t,(r=this._stickyModel)==null?void 0:r.outlineProviderId),s=this._editor.getModel();return new jB(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(xl.first(e.children.values())instanceof uB){const a=xl.find(e.children.values(),d=>d.id===t);if(a)i=a.children;else{let d="",u=-1,f;for(const[g,p]of e.children.entries()){const C=this._findSumOfRangesOfGroup(p);C>u&&(f=p,u=C,d=p.id)}t=d,i=f.children}}else i=e.children;const n=[],s=Array.from(i.values()).sort((a,d)=>{const u=new fg(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),f=new fg(d.symbol.range.startLineNumber,d.symbol.range.endLineNumber);return this._comparator(u,f)});for(const a of s)n.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new Av(void 0,n,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const i=[];for(const s of e.children.values())if(s.symbol.selectionRange.startLineNumber!==s.symbol.range.endLineNumber)if(s.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(s,s.symbol.selectionRange.startLineNumber));else for(const r of s.children.values())i.push(this._stickyModelFromOutlineElement(r,s.symbol.selectionRange.startLineNumber));i.sort((s,r)=>this._comparator(s.range,r.range));const n=new fg(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new Av(n,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof AE?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};Oy=wb([ep(1,bi)],Oy);class UB extends $B{constructor(e){super(e),this._foldingLimitReporter=new lB(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new jB(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new Av(void 0,[],void 0);for(let s=0;s<t;s++){const r=e.getParentIndex(s);let a;r!==-1?a=i[r]:a=n;const d=new Av(new fg(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(d),i.push(d)}return n}}let Hy=class extends UB{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new H9(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};Hy=wb([ep(1,zs)],Hy);let Wy=class extends UB{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=Oc.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new W9(e.getModel(),n,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){var t;return((t=this.provider)==null?void 0:t.compute(e))??null}};Wy=wb([ep(2,bi)],Wy);var JV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},UD=function(o,e){return function(t,i){e(t,i,o)}};class ej{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let zy=class extends Mt{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new sn),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new It),this._updateSoon=this._register(new Is(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(116)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(116).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(Xn(()=>{var t;(t=this._stickyModelProvider)==null||t.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){var e;return(e=this._model)==null?void 0:e.version}updateStickyModelProvider(){var t;(t=this._stickyModelProvider)==null||t.dispose(),this._stickyModelProvider=null;const e=this._editor;e.hasModel()&&(this._stickyModelProvider=new Ny(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new Us,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return e===-1?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,n,s){if(t.children.length===0)return;let r=s;const a=[];for(let f=0;f<t.children.length;f++){const g=t.children[f];g.range&&a.push(g.range.startLineNumber)}const d=this.updateIndex(Sm(a,e.startLineNumber,(f,g)=>f-g)),u=this.updateIndex(Sm(a,e.startLineNumber+n,(f,g)=>f-g));for(let f=d;f<=u;f++){const g=t.children[f];if(!g)return;if(g.range){const p=g.range.startLineNumber,C=g.range.endLineNumber;e.startLineNumber<=C+1&&p-1<=e.endLineNumber&&p!==r&&(r=p,i.push(new ej(p,C-1,n+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,g,i,n+1,p))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,g,i,n,s)}}getCandidateStickyLinesIntersecting(e){var n,s;if(!((n=this._model)!=null&&n.element))return[];let t=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,-1);const i=(s=this._editor._getViewModel())==null?void 0:s.getHiddenAreas();if(i)for(const r of i)t=t.filter(a=>!(a.startLineNumber>=r.startLineNumber&&a.endLineNumber<=r.endLineNumber+1));return t}};zy=JV([UD(1,bi),UD(2,zs)],zy);var tj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},vh=function(o,e){return function(t,i){e(t,i,o)}},Vy,gu;let Ll=(gu=class extends Mt{constructor(e,t,i,n,s,r,a){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=n,this._contextKeyService=a,this._sessionStore=new It,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._stickyScrollWidget=new XV(this._editor),this._stickyLineCandidateProvider=new zy(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=hg.Empty,this._onDidResize(),this._readConfiguration();const d=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(f=>{this._readConfigurationChange(f)})),this._register(Sn(d,is.CONTEXT_MENU,async f=>{this._onContextMenu(Ed(d),f)})),this._stickyScrollFocusedContextKey=U.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=U.stickyScrollVisible.bindTo(this._contextKeyService);const u=this._register(_0(d));this._register(u.onDidBlur(f=>{this._positionRevealed===!1&&d.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(u.onDidFocus(f=>{this.focus()})),this._registerMouseListeners(),this._register(Sn(d,is.MOUSE_DOWN,f=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(Vy.ID)}_disposeFocusStickyScrollStore(){var e;this._stickyScrollFocusedContextKey.set(!1),(e=this._focusDisposableStore)==null||e.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new It,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1&&this._focusNav(!0)}focusPrevious(){this._focusedStickyElementIndex>0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(ee.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new It),t=this._register(new fb(this._editor,{extractLineNumberFromMouseEvent:s=>{const r=this._stickyScrollWidget.getEditorPositionFromNode(s.target.element);return r?r.lineNumber:0}})),i=s=>{if(!this._editor.hasModel()||s.target.type!==12||s.target.detail!==this._stickyScrollWidget.getId())return null;const r=s.target.element;if(!r||r.innerText!==r.innerHTML)return null;const a=this._stickyScrollWidget.getEditorPositionFromNode(r);return a?{range:new ee(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(wl(n,is.CLICK,s=>{if(s.ctrlKey||s.altKey||s.metaKey||!s.leftButton)return;if(s.shiftKey){const u=this._stickyScrollWidget.getLineIndexFromChildDomNode(s.target);if(u===null)return;const f=new _i(this._endLineNumbers[u],1);this._revealLineInCenterIfOutsideViewport(f);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(s.target)){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);this._toggleFoldingRegionForLine(u);return}if(!this._stickyScrollWidget.isInStickyLine(s.target))return;let d=this._stickyScrollWidget.getEditorPositionFromNode(s.target);if(!d){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);if(u===null)return;d=new _i(u,1)}this._revealPosition(d)})),this._register(wl(n,is.MOUSE_MOVE,s=>{if(s.shiftKey){const r=this._stickyScrollWidget.getLineIndexFromChildDomNode(s.target);if(r===null||this._showEndForLine!==null&&this._showEndForLine===r)return;this._showEndForLine=r,this._renderStickyScroll();return}this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(Sn(n,is.MOUSE_LEAVE,s=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([s,r])=>{const a=i(s);if(!a||!s.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}const{range:d,textElement:u}=a;if(!d.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=d,e.clear();else if(u.style.textDecoration==="underline")return;const f=new Us;e.add(Xn(()=>f.dispose(!0)));let g;zp(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new _i(d.startLineNumber,d.startColumn+1),!1,f.token).then((p=>{if(!f.token.isCancellationRequested)if(p.length!==0){this._candidateDefinitionsLength=p.length;const C=u;g!==C?(e.clear(),g=C,g.style.textDecoration="underline",e.add(Xn(()=>{g.style.textDecoration="none"}))):g||(g=C,g.style.textDecoration="underline",e.add(Xn(()=>{g.style.textDecoration="none"})))}else e.clear()}))})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async s=>{if(s.target.type!==12||s.target.detail!==this._stickyScrollWidget.getId())return;const r=this._stickyScrollWidget.getEditorPositionFromNode(s.target.element);r&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:r.lineNumber,column:1})),this._instaService.invokeFunction(U5,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new VL(e,t);this._contextMenuService.showContextMenu({menuId:Xt.StickyScrollContext,getAnchor:()=>i})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||e===null)return;const t=this._stickyScrollWidget.getRenderedStickyLine(e),i=t==null?void 0:t.foldingIcon;if(!i)return;R9(this._foldingModel,Number.MAX_VALUE,[e]),i.isCollapsed=!i.isCollapsed;const n=(i.isCollapsed?this._editor.getTopForLineNumber(i.foldingEndLine):this._editor.getTopForLineNumber(i.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(n),this._renderStickyScroll(e)}_readConfiguration(){const e=this._editor.getOption(116);if(e.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),this._enabled=!1;return}else e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(i=>{i.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(i=>this._onTokensChange(i))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(68).renderType===2&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>{this._showEndForLine=void 0,this._renderStickyScroll(0)}))}_readConfigurationChange(e){(e.hasChanged(116)||e.hasChanged(73)||e.hasChanged(67)||e.hasChanged(111)||e.hasChanged(68))&&this._readConfiguration(),e.hasChanged(68)&&this._renderStickyScroll(0)}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const i of t)for(const n of e.ranges)if(i>=n.fromLineNumber&&i<=n.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){const t=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(t*.25)}async _renderStickyScroll(e){const t=this._editor.getModel();if(!t||t.isTooLargeForTokenization()){this._resetState();return}const i=this._updateAndGetMinRebuildFromLine(e),n=this._stickyLineCandidateProvider.getVersionId();if(n===void 0||n===t.getVersionId())if(!this._focused)await this._updateState(i);else if(this._focusedStickyElementIndex===-1)await this._updateState(i),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const r=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];await this._updateState(i),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(r)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}_updateAndGetMinRebuildFromLine(e){if(e!==void 0){const t=this._minRebuildFromLine!==void 0?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(e,t)}return this._minRebuildFromLine}async _updateState(e){var i;this._minRebuildFromLine=void 0,this._foldingModel=await((i=Oc.get(this._editor))==null?void 0:i.getFoldingModel())??void 0,this._widgetState=this.findScrollWidgetState();const t=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(t),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=hg.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(116).maxLineCount),i=this._editor.getScrollTop();let n=0;const s=[],r=[],a=this._editor.getVisibleRanges();if(a.length!==0){const d=new fg(a[0].startLineNumber,a[a.length-1].endLineNumber),u=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(d);for(const f of u){const g=f.startLineNumber,p=f.endLineNumber,C=f.nestingDepth;if(p-g>0){const b=(C-1)*e,y=C*e,w=this._editor.getBottomForLineNumber(g)-i,A=this._editor.getTopForLineNumber(p)-i,P=this._editor.getBottomForLineNumber(p)-i;if(b>A&&b<=P){s.push(g),r.push(p+1),n=P-y;break}else y>w&&y<=P&&(s.push(g),r.push(p+1));if(s.length===t)break}}}return this._endLineNumbers=r,new hg(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},Vy=gu,gu.ID="store.contrib.stickyScrollController",gu);Ll=Vy=tj([vh(1,G0),vh(2,bi),vh(3,en),vh(4,zs),vh(5,cr),vh(6,Dn)],Ll);class ij extends wo{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...gi("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:S({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:gi("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:KV.View,toggled:{condition:qe.equals("config.editor.stickyScroll.enabled",!0),title:S("stickyScroll","Sticky Scroll"),mnemonicTitle:S({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:Xt.CommandPalette},{id:Xt.MenubarAppearanceMenu,group:"4_editor",order:3},{id:Xt.StickyScrollContext}]})}async run(e){const t=e.get(Qn),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const Sb=100;class nj extends aa{constructor(){super({id:"editor.action.focusStickyScroll",title:{...gi("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:S({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:qe.and(qe.has("config.editor.stickyScroll.enabled"),U.stickyScrollVisible),menu:[{id:Xt.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Ll.get(t))==null||i.focus()}}class sj extends aa{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:gi("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:U.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Sb,primary:18}})}runEditorCommand(e,t){var i;(i=Ll.get(t))==null||i.focusNext()}}class oj extends aa{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:gi("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:U.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Sb,primary:16}})}runEditorCommand(e,t){var i;(i=Ll.get(t))==null||i.focusPrevious()}}class rj extends aa{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:gi("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:U.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Sb,primary:3}})}runEditorCommand(e,t){var i;(i=Ll.get(t))==null||i.goToFocused()}}class aj extends aa{constructor(){super({id:"editor.action.selectEditor",title:gi("selectEditor.title","Select Editor"),precondition:U.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Sb,primary:9}})}runEditorCommand(e,t){var i;(i=Ll.get(t))==null||i.selectEditor()}}an(Ll.ID,Ll,1);Nn(ij);Nn(nj);Nn(oj);Nn(sj);Nn(rj);Nn(aj);var qB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Kf=function(o,e){return function(t,i){e(t,i,o)}};class lj{constructor(e,t,i,n,s,r){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=n,this.command=s,this.completion=r}}let jy=class extends jL{constructor(e,t,i,n,s,r){super(s.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=n,this._suggestMemoryService=r}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn<i.endColumn&&this.completionModel.getIncompleteProvider().size===0}get items(){const e=[],{items:t}=this.completionModel,i=this._suggestMemoryService.select(this.model,{lineNumber:this.line,column:this.word.endColumn+this.completionModel.lineContext.characterCountDelta},t),n=xl.slice(t,i),s=xl.slice(t,0,i);let r=5;for(const a of xl.concat(n,s)){if(a.score===Ag.Default)continue;const d=new ee(a.editStart.lineNumber,a.editStart.column,a.editInsertEnd.lineNumber,a.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),u=a.completion.insertTextRules&&a.completion.insertTextRules&4?{snippet:a.completion.insertText}:a.completion.insertText;e.push(new lj(d,u,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(on.None)}return e}};jy=qB([Kf(5,bb)],jy);let $y=class extends Mt{constructor(e,t,i,n){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=i,this._editorService=n,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,i,n){var C;if(i.selectedSuggestionInfo)return;let s;for(const b of this._editorService.listCodeEditors())if(b.getModel()===e){s=b;break}if(!s)return;const r=s.getOption(90);if(Hh.isAllOff(r))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const a=e.tokenization.getLineTokens(t.lineNumber),d=a.getStandardTokenType(a.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(Hh.valueFor(r,d)!=="inline")return;let u=e.getWordAtPosition(t),f;if(u!=null&&u.word||(f=this._getTriggerCharacterInfo(e,t)),!(u!=null&&u.word)&&!f||(u||(u=e.getWordUntilPosition(t)),u.endColumn!==t.column))return;let g;const p=e.getValueInRange(new ee(t.lineNumber,1,t.lineNumber,t.column));if(!f&&((C=this._lastResult)!=null&&C.canBeReused(e,t.lineNumber,u))){const b=new FD(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=b,this._lastResult.acquire(),g=this._lastResult}else{const b=await z9(this._languageFeatureService.completionProvider,e,t,new Ug(void 0,hv.createSuggestFilter(s).itemKind,f==null?void 0:f.providers),f&&{triggerKind:1,triggerCharacter:f.ch},n);let y;b.needsClipboard&&(y=await this._clipboardService.readText());const w=new ec(b.items,t.column,new FD(p,0),uv.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},y);g=new jy(e,t.lineNumber,u,w,b,this._suggestMemoryService)}return this._lastResult=g,g}handleItemDidShow(e,t){t.completion.resolve(on.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(ee.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),n=new Set;for(const r of this._languageFeatureService.completionProvider.all(e))(s=r.triggerCharacters)!=null&&s.includes(i)&&n.add(r);if(n.size!==0)return{providers:n,ch:i}}};$y=qB([Kf(0,bi),Kf(1,K0),Kf(2,bb),Kf(3,vs)],$y);X0($y);class cj extends bt{constructor(){super({id:"editor.action.forceRetokenize",label:S("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const n=new Ro;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}Te(cj);const y_=class y_ extends wo{constructor(){super({id:y_.ID,title:gi({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:gi("tabMovesFocusDescriptions","Determines whether the tab key moves focus around the workbench or inserts the tab character in the current editor. This is also called tab trapping, tab navigation, or tab focus mode.")},f1:!0})}run(){const t=!e8.getTabFocusMode();e8.setTabFocusMode(t),t?Tr(S("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):Tr(S("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};y_.ID="editor.action.toggleTabFocusMode";let Uy=y_;Nn(Uy);var dj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qD=function(o,e){return function(t,i){e(t,i,o)}};let qy=class extends Mt{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=e}constructor(e,t,i={},n,s){super(),this._link=t,this._hoverService=n,this._enabled=!0,this.el=ei(e,ai("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??q_("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new eC(this.el,"click")),a=this._register(new eC(this.el,"keypress")),d=Ls.chain(a.event,g=>g.map(p=>new Xw(p)).filter(p=>p.keyCode===3)),u=this._register(new eC(this.el,$L.Tap)).event;this._register(r2.addTarget(this.el));const f=Ls.any(r.event,d,u);this._register(f(g=>{this.enabled&&(Cm.stop(g,!0),i!=null&&i.opener?i.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e??"":!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};qy=dj([qD(3,Sp),qD(4,ca)],qy);var GB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},KB=function(o,e){return function(t,i){e(t,i,o)}};const uj=26;let Gy=class extends Mt{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Ky))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{var t;this.hide(),(t=e.onClose)==null||t.call(e)}}),this._editor.setBanner(this.banner.element,uj)}};Gy=GB([KB(1,en)],Gy);let Ky=class extends Mt{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(Y0,{}),this.element=ai("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){if(e.ariaLabel)return e.ariaLabel;if(typeof e.message=="string")return e.message}getBannerMessage(e){if(typeof e=="string"){const t=ai("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Ha(this.element)}show(e){Ha(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=ei(this.element,ai("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(ai(`div${Fn.asCSSSelector(e.icon)}`));const n=ei(this.element,ai("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=ei(this.element,ai("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(qy,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=ei(this.element,ai("div.action-container"));this.actionBar=this._register(new Cg(s)),this.actionBar.push(this._register(new y0("banner.close","Close Banner",Fn.asClassName(k2),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Ky=GB([KB(0,en)],Ky);var tS=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Qh=function(o,e){return function(t,i){e(t,i,o)}};const hj=gs("extensions-warning-message",$i.warning,S("warningIcon","Icon shown with a warning message in the extensions editor."));var p0;let tp=(p0=class extends Mt{constructor(e,t,i,n){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=s=>{if(s&&s.hasMore){if(this._bannerClosed)return;const r=Math.max(s.ambiguousCharacterCount,s.nonBasicAsciiCharacterCount,s.invisibleCharacterCount);let a;if(s.nonBasicAsciiCharacterCount>=r)a={message:S("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new np};else if(s.ambiguousCharacterCount>=r)a={message:S("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new Ru};else if(s.invisibleCharacterCount>=r)a={message:S("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new ip};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:hj,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(Gy,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(126),this._register(i.onDidChangeTrust(s=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(s=>{s.hasChanged(126)&&(this._options=e.getOption(126),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const e=fj(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(i=>i===!1))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(i=>i.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(i=>i==="_os"?new Intl.NumberFormat().resolvedOptions().locale:i==="_vscode"?UL:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new Zy(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new gj(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},p0.ID="editor.contrib.unicodeHighlighter",p0);tp=tS([Qh(1,Rl),Qh(2,qL),Qh(3,en)],tp);function fj(o,e){return{nonBasicASCII:e.nonBasicASCII===tC?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===tC?!o:e.includeComments,includeStrings:e.includeStrings===tC?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let Zy=class extends Mt{constructor(e,t,i,n){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=n,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Is(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed()||this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const n of t.ranges)i.push({range:n,options:kv.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!vk(t,e))return null;const i=t.getValueInRange(e.range);return{reason:XB(i,this._options),inComment:bk(t,e),inString:_k(t,e)}}};Zy=tS([Qh(3,Rl)],Zy);class gj extends Mt{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Is(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const n of e){const s=Ck.computeUnicodeHighlights(this._model,this._options,n);for(const r of s.ranges)i.ranges.push(r);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||s.hasMore}if(!i.hasMore)for(const n of i.ranges)t.push({range:n,options:kv.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return vk(t,e)?{reason:XB(i,this._options),inComment:bk(t,e),inString:_k(t,e)}:null}}const ZB=S("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let Xy=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),n=this._editor.getContribution(tp.ID);if(!n)return[];const s=[],r=new Set;let a=300;for(const d of t){const u=n.getDecorationInfo(d);if(!u)continue;const g=i.getValueInRange(d.range).codePointAt(0),p=RC(g);let C;switch(u.reason.kind){case 0:{$2(u.reason.confusableWith)?C=S("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",p,RC(u.reason.confusableWith.codePointAt(0))):C=S("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",p,RC(u.reason.confusableWith.codePointAt(0)));break}case 1:C=S("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",p);break;case 2:C=S("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",p);break}if(r.has(C))continue;r.add(C);const b={codePoint:g,reason:u.reason,inComment:u.inComment,inString:u.inString},y=S("unicodeHighlight.adjustSettings","Adjust settings"),w=`command:${Bv.ID}?${encodeURIComponent(JSON.stringify(b))}`,A=new oo("",!0).appendMarkdown(C).appendText(" ").appendLink(w,y,ZB);s.push(new Br(this,d.range,[A],!1,a++))}return s}renderHoverParts(e,t){return jM(e,t,this._editor,this._languageService,this._openerService)}};Xy=tS([Qh(1,ua),Qh(2,ca)],Xy);function Yy(o){return`U+${o.toString(16).padStart(4,"0")}`}function RC(o){let e=`\`${Yy(o)}\``;return Ek.isInvisibleCharacter(o)||(e+=` "${`${pj(o)}`}"`),e}function pj(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function XB(o,e){return Ck.computeUnicodeHighlightReason(o,e)}const w_=class w_{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i=`${e}${t}`;let n=this.map.get(i);return n||(n=fn.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,n)),n}};w_.instance=new w_;let kv=w_;class xj extends bt{constructor(){super({id:Ru.ID,label:S("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e==null?void 0:e.get(Qn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Dl.includeComments,!1,2)}}class mj extends bt{constructor(){super({id:Ru.ID,label:S("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e==null?void 0:e.get(Qn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Dl.includeStrings,!1,2)}}const S_=class S_ extends bt{constructor(){super({id:S_.ID,label:S("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Qn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Dl.ambiguousCharacters,!1,2)}};S_.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let Ru=S_;const D_=class D_ extends bt{constructor(){super({id:D_.ID,label:S("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Qn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Dl.invisibleCharacters,!1,2)}};D_.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let ip=D_;const A_=class A_ extends bt{constructor(){super({id:A_.ID,label:S("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Qn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Dl.nonBasicASCII,!1,2)}};A_.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let np=A_;const k_=class k_ extends bt{constructor(){super({id:k_.ID,label:S("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,i){const{codePoint:n,reason:s,inString:r,inComment:a}=i,d=String.fromCodePoint(n),u=e.get(Pl),f=e.get(Qn);function g(b){return Ek.isInvisibleCharacter(b)?S("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",Yy(b)):S("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${Yy(b)} "${d}"`)}const p=[];if(s.kind===0)for(const b of s.notAmbiguousInLocales)p.push({label:S("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',b),run:async()=>{_j(f,[b])}});if(p.push({label:g(n),run:()=>vj(f,[n])}),a){const b=new xj;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(r){const b=new mj;p.push({label:b.label,run:async()=>b.runAction(f)})}if(s.kind===0){const b=new Ru;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(s.kind===1){const b=new ip;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(s.kind===2){const b=new np;p.push({label:b.label,run:async()=>b.runAction(f)})}else bj(s);const C=await u.pick(p,{title:ZB});C&&await C.run()}};k_.ID="editor.action.unicodeHighlight.showExcludeOptions";let Bv=k_;async function vj(o,e){const t=o.getValue(Dl.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(Dl.allowedCharacters,i,2)}async function _j(o,e){var n;const t=(n=o.inspect(Dl.allowedLocales).user)==null?void 0:n.value;let i;typeof t=="object"&&t?i=Object.assign({},t):i={};for(const s of e)i[s]=!0;await o.updateValue(Dl.allowedLocales,i,2)}function bj(o){throw new Error(`Unexpected value: ${o}`)}Te(Ru);Te(ip);Te(np);Te(Bv);an(tp.ID,tp,1);Uu.register(Xy);var Cj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},GD=function(o,e){return function(t,i){e(t,i,o)}};const YB="ignoreUnusualLineTerminators";function Ej(o,e,t){o.setModelProperty(e.uri,YB,t)}function yj(o,e){return o.getModelProperty(e.uri,YB)}var x0;let Fv=(x0=class extends Mt{constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(127),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(127)&&(this._config=this._editor.getOption(127),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(n=>{n.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config==="off"||!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||yj(this._codeEditorService,e)===!0||this._editor.getOption(92))return;if(this._config==="auto"){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=await this._dialogService.confirm({title:S("unusualLineTerminators.title","Unusual Line Terminators"),message:S("unusualLineTerminators.message","Detected unusual line terminators"),detail:S("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",$a(e.uri)),primaryButton:S({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:S("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){Ej(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},x0.ID="editor.contrib.unusualLineTerminatorsDetector",x0);Fv=Cj([GD(1,Qw),GD(2,vs)],Fv);an(Fv.ID,Fv,1);var wj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Sj=function(o,e){return function(t,i){e(t,i,o)}};class KD{constructor(){this.selector={language:"*"}}provideDocumentHighlights(e,t,i){const n=[],s=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});return s?e.isDisposed()?void 0:e.findMatches(s.word,!0,!1,!0,t8,!1).map(a=>({range:a.range,kind:Am.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new Ic,r=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!r)return Promise.resolve(s);for(const a of[e,...i]){if(a.isDisposed())continue;const u=a.findMatches(r.word,!0,!1,!0,t8,!1).map(f=>({range:f.range,kind:Am.Text}));u&&s.set(a.uri,u)}return s}}let Qy=class extends Mt{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new KD)),this._register(e.multiDocumentHighlightProvider.register("*",new KD))}};Qy=wj([Sj(0,bi)],Qy);var QB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},hm=function(o,e){return function(t,i){e(t,i,o)}},ds,Jy;const iS=new vn("hasWordHighlights",!1);function JB(o,e,t,i){const n=o.ordered(e);return qw(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,ms)),s=>s!=null).then(s=>{if(s){const r=new Ic;return r.set(e.uri,s),r}return new Ic})}function Dj(o,e,t,i,n,s){const r=o.ordered(e);return qw(r.map(a=>()=>{const d=s.filter(u=>KL(u)).filter(u=>ZL(a.selector,u.uri,u.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,d,n)).then(void 0,ms)}),a=>a!=null)}class eF{constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=$s(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new ee(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const n=t.startLineNumber,s=t.startColumn,r=t.endColumn,a=this._getCurrentWordRange(e,t);let d=!!(this._wordRange&&this._wordRange.equalsRange(a));for(let u=0,f=i.length;!d&&u<f;u++){const g=i.getRange(u);g&&g.startLineNumber===n&&g.startColumn<=s&&g.endColumn>=r&&(d=!0)}return d}cancel(){this.result.cancel()}}class Aj extends eF{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return JB(this._providers,e,t.getPosition(),n).then(s=>s||new Ic)}}class kj extends eF{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return Dj(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new Ic)}}function Bj(o,e,t,i,n){return new Aj(e,t,n,o)}function Fj(o,e,t,i,n,s){return new kj(e,t,n,o,s)}Do("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(bi),n=await JB(i.documentHighlightProvider,e,t,on.None);return n==null?void 0:n.get(e.uri)});var Lc;let ew=(Lc=class{constructor(e,t,i,n,s){this.toUnhook=new It,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Ic,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new Pc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=iS.bindTo(n),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(r=>{this._ignorePositionChangeEvent||this.occurrencesHighlight!=="off"&&this.runDelayer.trigger(()=>{this._onPositionChanged(r)})})),this.toUnhook.add(e.onDidFocusEditorText(r=>{this.occurrencesHighlight!=="off"&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}))})),this.toUnhook.add(e.onDidChangeModelContent(r=>{GL(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():ds.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(r=>{var d,u;const a=this.editor.getOption(81);if(this.occurrencesHighlight!==a)switch(this.occurrencesHighlight=a,a){case"off":this._stopAll();break;case"singleFile":this._stopAll((u=(d=ds.query)==null?void 0:d.modelInfo)==null?void 0:u.model);break;case"multiFile":ds.query&&this._run(!0);break;default:console.warn("Unknown occurrencesHighlight setting value:",a);break}})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,ds.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(ee.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),i=(e.findIndex(s=>s.containsPosition(this.editor.getPosition()))+1)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const s=this._getWord();if(s){const r=this.editor.getModel().getLineContent(n.startLineNumber);Tr(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),i=(e.findIndex(s=>s.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const s=this._getWord();if(s){const r=this.editor.getModel().getLineContent(n.startLineNumber);Tr(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=ds.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),ds.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(e){const t=this.codeEditorService.listCodeEditors(),i=[];for(const n of t){if(!n.hasModel()||_m(n.getModel().uri,e==null?void 0:e.uri))continue;const s=ds.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=Wc.get(n);r!=null&&r.wordHighlighter&&r.wordHighlighter.decorations.length>0&&(r.wordHighlighter.decorations.clear(),r.wordHighlighter.workerRequest=null,r.wordHighlighter._hasWordHighlights.set(!1))}for(const n of i)ds.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==vo.vscodeNotebookCell&&((i=(t=ds.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==vo.vscodeNotebookCell?(ds.query=null,this._run()):(n=ds.query)!=null&&n.modelInfo&&(ds.query.modelInfo=null)),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(e){this._removeAllDecorations(e),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){var t;if(this.occurrencesHighlight==="off"){this._stopAll();return}if(e.reason!==3&&((t=this.editor.getModel())==null?void 0:t.uri.scheme)!==vo.vscodeNotebookCell){this._stopAll();return}this._run()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:i})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===vo.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const d=a.getModel();d&&d!==e&&d.uri.scheme===vo.vscodeNotebookCell&&s.push(d)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!yk(s))continue;const r=s.getModel();r&&e===r.modified&&i.push(r.modified)}if(i.length)return i;if(this.occurrencesHighlight==="singleFile")return[];for(const s of n){const r=s.getModel();r&&r!==e&&i.push(r)}return i}_run(e){var n,s;let t;if(this.editor.hasTextFocus()){const r=this.editor.getSelection();if(!r||r.startLineNumber!==r.endLineNumber){ds.query=null,this._stopAll();return}const a=r.startColumn,d=r.endColumn,u=this._getWord();if(!u||u.startColumn>a||u.endColumn<d){ds.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),ds.query={modelInfo:{model:this.model,selection:r},word:u}}else if(!ds.query){this._stopAll();return}if(this.lastCursorPositionChangeTime=new Date().getTime(),t)this.workerRequestCompleted&&this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else if(_m(this.editor.getModel().uri,(n=ds.query.modelInfo)==null?void 0:n.model.uri)){if(!e){const d=this.decorations.getRanges();for(const u of d)if(u.containsPosition(this.editor.getPosition()))return}this._stopAll(e?this.model:void 0);const r=++this.workerRequestTokenId;this.workerRequestCompleted=!1;const a=this.getOtherModelsToHighlight(this.editor.getModel());if(!ds.query||!ds.query.modelInfo||ds.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(ds.query.modelInfo.model,ds.query.modelInfo.selection,ds.query.word,a),(s=this.workerRequest)==null||s.result.then(d=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=d||[],this._beginRenderDecorations())},zn)}}computeWithModel(e,t,i,n){return n.length?Fj(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):Bj(this.providers,e,t,i,this.editor.getOption(132))}_beginRenderDecorations(){const e=new Date().getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},t-e)}renderDecorations(){var t,i,n;this.renderDecorationsTimer=-1;const e=this.codeEditorService.listCodeEditors();for(const s of e){const r=Wc.get(s);if(!r)continue;const a=[],d=(t=s.getModel())==null?void 0:t.uri;if(d&&this.workerRequestValue.has(d)){const u=ds.storedDecorationIDs.get(d),f=this.workerRequestValue.get(d);if(f)for(const p of f)p.range&&a.push({range:p.range,options:vz(p.kind)});let g=[];s.changeDecorations(p=>{g=p.deltaDecorations(u??[],a)}),ds.storedDecorationIDs=ds.storedDecorationIDs.set(d,g),a.length>0&&((i=r.wordHighlighter)==null||i.decorations.set(a),(n=r.wordHighlighter)==null||n._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}},ds=Lc,Lc.storedDecorationIDs=new Ic,Lc.query=null,Lc);ew=ds=QB([hm(4,vs)],ew);var pu;let Wc=(pu=class extends Mt{static get(e){return e.getContribution(Jy.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new ew(e,i.documentHighlightProvider,i.multiDocumentHighlightProvider,t,n))};this._register(e.onDidChangeModel(r=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),s()})),s()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){var e;(e=this._wordHighlighter)==null||e.moveNext()}moveBack(){var e;(e=this._wordHighlighter)==null||e.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}},Jy=pu,pu.ID="editor.contrib.wordHighlighter",pu);Wc=Jy=QB([hm(1,Dn),hm(2,bi),hm(3,vs)],Wc);class tF extends bt{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Wc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class Lj extends tF{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:S("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:iS,kbOpts:{kbExpr:U.editorTextFocus,primary:65,weight:100}})}}class Ij extends tF{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:S("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:iS,kbOpts:{kbExpr:U.editorTextFocus,primary:1089,weight:100}})}}class Pj extends bt{constructor(){super({id:"editor.action.wordHighlight.trigger",label:S("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:U.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=Wc.get(t);n&&n.restoreViewState(!0)}}an(Wc.ID,Wc,0);Te(Lj);Te(Ij);Te(Pj);X0(Qy);class Db extends So{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Vu(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,d=r.map(u=>{const f=new _i(u.positionLineNumber,u.positionColumn),g=this._move(n,s,f,this._wordNavigationType,a);return this._moveTo(u,g,this._inSelectionMode)});if(s.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,d.map(u=>XL.fromModelSelection(u))),d.length===1){const u=new _i(d[0].positionLineNumber,d[0].positionColumn);t.revealPosition(u,0)}}_moveTo(e,t,i){return i?new Hi(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Hi(t.lineNumber,t.column,t.lineNumber,t.column)}}class $c extends Db{_move(e,t,i,n,s){return Fp.moveWordLeft(e,t,i,n,s)}}class Uc extends Db{_move(e,t,i,n,s){return Fp.moveWordRight(e,t,i,n)}}class Tj extends $c{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class Mj extends $c{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class Rj extends $c{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:qe.and(U.textInputFocus,(e=qe.and(X_,Y_))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class Nj extends $c{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class Oj extends $c{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class Hj extends $c{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:qe.and(U.textInputFocus,(e=qe.and(X_,Y_))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class Wj extends $c{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(Vu(Q_.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class zj extends $c{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Vu(Q_.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Vj extends Uc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class jj extends Uc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:qe.and(U.textInputFocus,(e=qe.and(X_,Y_))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class $j extends Uc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class Uj extends Uc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class qj extends Uc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:qe.and(U.textInputFocus,(e=qe.and(X_,Y_))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class Gj extends Uc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class Kj extends Uc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(Vu(Q_.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Zj extends Uc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Vu(Q_.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Ab extends So{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(zs);if(!t.hasModel())return;const s=Vu(t.getOption(132),t.getOption(131)),r=t.getModel(),a=t.getSelections(),d=t.getOption(6),u=t.getOption(11),f=n.getLanguageConfiguration(r.getLanguageId()).getAutoClosingPairs(),g=t._getViewModel(),p=a.map(C=>{const b=this._delete({wordSeparators:s,model:r,selection:C,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:d,autoClosingQuotes:u,autoClosingPairs:f,autoClosedCharacters:g.getCursorAutoClosedCharacters()},this._wordNavigationType);return new xp(b,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class nS extends Ab{_delete(e,t){const i=Fp.deleteWordLeft(e,t);return i||new ee(1,1,1,1)}}class sS extends Ab{_delete(e,t){const i=Fp.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new ee(n,s,n,s)}}class Xj extends nS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:U.writable})}}class Yj extends nS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:U.writable})}}class Qj extends nS{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:U.writable,kbOpts:{kbExpr:U.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class Jj extends sS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:U.writable})}}class e$ extends sS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:U.writable})}}class t$ extends sS{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:U.writable,kbOpts:{kbExpr:U.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class i$ extends bt{constructor(){super({id:"deleteInsideWord",precondition:U.writable,label:S("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=Vu(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(d=>{const u=Fp.deleteInsideWord(n,s,d);return new xp(u,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}Di(new Tj);Di(new Mj);Di(new Rj);Di(new Nj);Di(new Oj);Di(new Hj);Di(new Vj);Di(new jj);Di(new $j);Di(new Uj);Di(new qj);Di(new Gj);Di(new Wj);Di(new zj);Di(new Kj);Di(new Zj);Di(new Xj);Di(new Yj);Di(new Qj);Di(new Jj);Di(new e$);Di(new t$);Te(i$);class n$ extends Ab{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:U.writable,kbOpts:{kbExpr:U.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=J_.deleteWordPartLeft(e);return i||new ee(1,1,1,1)}}class s$ extends Ab{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:U.writable,kbOpts:{kbExpr:U.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=J_.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new ee(n,s,n,s)}}class iF extends Db{_move(e,t,i,n,s){return J_.moveWordPartLeft(e,t,i,s)}}class o$ extends iF{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:U.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}Kn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class r$ extends iF{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:U.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}Kn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class nF extends Db{_move(e,t,i,n,s){return J_.moveWordPartRight(e,t,i)}}class a$ extends nF{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:U.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class l$ extends nF{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:U.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}Di(new n$);Di(new s$);Di(new o$);Di(new r$);Di(new a$);Di(new l$);const ES=class ES extends Mt{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=Po.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new oo(S("editor.simple.readonly","Cannot edit in read-only input")):t=new oo(S("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};ES.ID="editor.contrib.readOnlyMessageController";let Lv=ES;an(Lv.ID,Lv,2);var c$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ZD=function(o,e){return function(t,i){e(t,i,o)}};let tw=class extends Mt{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Ko(this,void 0);const n=yd("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=yd("_textModel.onDidChangeContent",Ls.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(yp(async(r,a)=>{n.read(r),s.read(r);const d=a.add(new JL),u=await this._outlineModelService.getOrCreate(this._textModel,d.token);a.isDisposed||this._currentModel.set(u,void 0)}))}getBreadcrumbItems(e,t){const i=this._currentModel.read(t);if(!i)return[];const n=i.asListOfDocumentSymbols().filter(s=>e.contains(s.range.startLineNumber)&&!e.contains(s.range.endLineNumber));return n.sort(QL(Dp(s=>s.range.endLineNumber-s.range.startLineNumber,j_))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};tw=c$([ZD(1,bi),ZD(2,$p)],tw);YL.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(tw,o));const yS=class yS extends Mt{constructor(e){super(),this.editor=e,this.widget=null,t1&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new iw(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};yS.ID="editor.contrib.iPadShowKeyboard";let Iv=yS;const B_=class B_ extends Mt{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Sn(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(Sn(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return B_.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};B_.ID="editor.contrib.ShowKeyboardWidget";let iw=B_;an(Iv.ID,Iv,3);var d$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},XD=function(o,e){return function(t,i){e(t,i,o)}},nw,xu;let sp=(xu=class extends Mt{static get(e){return e.getContribution(nw.ID)}constructor(e,t,i){super(),this._editor=e,this._languageService=i,this._widget=null,this._register(this._editor.onDidChangeModel(n=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(n=>this.stop())),this._register(U_.onDidChange(n=>this.stop())),this._register(this._editor.onKeyUp(n=>n.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new sw(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},nw=xu,xu.ID="editor.contrib.inspectTokens",xu);sp=nw=d$([XD(1,wk),XD(2,ua)],sp);class u$ extends bt{constructor(){super({id:"editor.action.inspectTokens",label:n7.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=sp.get(t);i==null||i.launch()}}function h$(o){let e="";for(let t=0,i=o.length;t<i;t++){const n=o.charCodeAt(t);switch(n){case 9:e+="→";break;case 32:e+="·";break;default:e+=String.fromCharCode(n)}}return e}function f$(o,e){const t=U_.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>e7,tokenize:(n,s,r)=>i7(e,r),tokenizeEncoded:(n,s,r)=>t7(i,r)}}const F_=class F_ extends Mt{constructor(e,t){super(),this.allowEditorOverflow=!0,this._editor=e,this._languageService=t,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=f$(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(i=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return F_._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let d=t.tokens1.length-1;d>=0;d--){const u=t.tokens1[d];if(e.column-1>=u.offset){i=d;break}}let n=0;for(let d=t.tokens2.length>>>1;d>=0;d--)if(e.column-1>=t.tokens2[d<<1]){n=d;break}const s=this._model.getLineContent(e.lineNumber);let r="";if(i<t.tokens1.length){const d=t.tokens1[i].offset,u=i+1<t.tokens1.length?t.tokens1[i+1].offset:s.length;r=s.substring(d,u)}bm(this._domNode,ai("h2.tm-token",void 0,h$(r),ai("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),ei(this._domNode,ai("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;ei(this._domNode,ai("table.tm-metadata-table",void 0,ai("tbody",void 0,ai("tr",void 0,ai("td.tm-metadata-key",void 0,"language"),ai("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),ai("tr",void 0,ai("td.tm-metadata-key",void 0,"token type"),ai("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),ai("tr",void 0,ai("td.tm-metadata-key",void 0,"font style"),ai("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),ai("tr",void 0,ai("td.tm-metadata-key",void 0,"foreground"),ai("td.tm-metadata-value",void 0,`${a?un.Format.CSS.formatHex(a.foreground):"-?-"}`)),ai("tr",void 0,ai("td.tm-metadata-key",void 0,"background"),ai("td.tm-metadata-value",void 0,`${a?un.Format.CSS.formatHex(a.background):"-?-"}`))))),ei(this._domNode,ai("hr.tokens-inspect-separator")),i<t.tokens1.length&&ei(this._domNode,ai("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=U_.getColorMap(),i=Sf.getLanguageId(e),n=Sf.getTokenType(e),s=Sf.getFontStyle(e),r=Sf.getForeground(e),a=Sf.getBackground(e);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(i),tokenType:n,fontStyle:s,foreground:t[r],background:t[a]}}_tokenTypeToString(e){switch(e){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 3:return"RegEx";default:return"??"}}_fontStyleToString(e){let t="";return e&1&&(t+="italic "),e&2&&(t+="bold "),e&4&&(t+="underline "),e&8&&(t+="strikethrough "),t.length===0&&(t="---"),t}_getTokensAtLine(e){const t=this._getStateBeforeLine(e),i=this._tokenizationSupport.tokenize(this._model.getLineContent(e),!0,t),n=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(e),!0,t);return{startState:t,tokens1:i.tokens,tokens2:n.tokens,endState:i.endState}}_getStateBeforeLine(e){let t=this._tokenizationSupport.getInitialState();for(let i=1;i<e;i++)t=this._tokenizationSupport.tokenize(this._model.getLineContent(i),!0,t).endState;return t}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}};F_._ID="editor.contrib.inspectTokensWidget";let sw=F_;an(sp.ID,sp,4);Te(u$);var g$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},YD=function(o,e){return function(t,i){e(t,i,o)}},Zf,mu;let ow=(mu=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=la.as(Lp.Quickaccess)}provide(e){const t=new It;return t.add(e.onDidAccept(()=>{const[i]=e.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(i=>{const n=this.registry.getQuickAccessProvider(i.substr(Zf.PREFIX.length));n&&n.prefix&&n.prefix!==Zf.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==Zf.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort((t,i)=>t.prefix.localeCompare(i.prefix)).flatMap(t=>this.createPicks(t))}createPicks(e){return e.helpEntries.map(t=>{const i=t.prefix||e.prefix,n=i||"…";return{prefix:i,label:n,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:S("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},Zf=mu,mu.PREFIX="?",mu);ow=Zf=g$([YD(0,Pl),YD(1,ws)],ow);la.as(Lp.Quickaccess).registerQuickAccessProvider({ctor:ow,prefix:"",helpEntries:[{description:s7.helpQuickAccessActionLabel}]});class sF{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new It;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new Xo);return s.value=this.doProvide(e,t,i),n.add(this.onDidActiveTextEditorControlChange(()=>{s.value=void 0,s.value=this.doProvide(e,t)})),n}doProvide(e,t,i){const n=new It,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=Sk(s);if(a){let d=s.saveViewState()??void 0;n.add(a.onDidChangeCursorPosition(()=>{d=s.saveViewState()??void 0})),r.restoreViewState=()=>{d&&s===this.activeTextEditorControl&&s.restoreViewState(d)},n.add(Dk(t.onCancellationRequested)(()=>{var u;return(u=r.restoreViewState)==null?void 0:u.call(r)}))}n.add(Xn(()=>this.clearDecorations(s))),n.add(this.provideWithTextEditor(r,e,t,i))}else n.add(this.provideWithoutTextEditor(e,t));return n}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,"code.jump"),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();const i=e.getModel();i&&"getLineContent"in i&&b0(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return yk(e)?(t=e.getModel())==null?void 0:t.modified:e.getModel()}addDecorations(e,t){e.changeDecorations(i=>{const n=[];this.rangeHighlightDecorationId&&(n.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),n.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const s=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:ks(L2),position:Oa.Full}}}],[r,a]=i.deltaDecorations(n,s);this.rangeHighlightDecorationId={rangeHighlightId:r,overviewRulerDecorationId:a}})}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations(i=>{i.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}const L_=class L_ extends sF{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=S("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,Mt.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new It;s.add(t.onDidAccept(d=>{const[u]=t.selectedItems;if(u){if(!this.isValidLineNumber(n,u.lineNumber))return;this.gotoLocation(e,{range:this.toRange(u.lineNumber,u.column),keyMods:t.keyMods,preserveFocus:d.inBackground}),d.inBackground||t.hide()}}));const r=()=>{const d=this.parsePosition(n,t.value.trim().substr(L_.PREFIX.length)),u=this.getPickLabel(n,d.lineNumber,d.column);if(t.items=[{lineNumber:d.lineNumber,column:d.column,label:u}],t.ariaLabel=u,!this.isValidLineNumber(n,d.lineNumber)){this.clearDecorations(n);return}const f=this.toRange(d.lineNumber,d.column);n.revealRangeInCenter(f,0),this.addDecorations(n,f)};r(),s.add(t.onDidChangeValue(()=>r()));const a=Sk(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(Xn(()=>a.updateOptions({lineNumbers:"relative"})))),s}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const i=t.split(/,|:|#/).map(s=>parseInt(s,10)).filter(s=>!isNaN(s)),n=this.lineCount(e)+1;return{lineNumber:i[0]>0?i[0]:n+i[0],column:i[1]}}getPickLabel(e,t,i){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,i)?S("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):S("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},s=this.lineCount(e);return s>1?S("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,s):S("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",n.lineNumber,n.column)}isValidLineNumber(e,t){return!t||typeof t!="number"?!1:t>0&&t<=this.lineCount(e)}isValidColumn(e,t,i){if(!i||typeof i!="number")return!1;const n=this.getModel(e);if(!n)return!1;const s={lineNumber:t,column:i};return n.validatePosition(s).equals(s)}lineCount(e){var t;return((t=this.getModel(e))==null?void 0:t.getLineCount())??0}};L_.PREFIX=":";let rw=L_;var p$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},x$=function(o,e){return function(t,i){e(t,i,o)}};let op=class extends rw{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=Ls.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};op=p$([x$(0,vs)],op);var vu;let oF=(vu=class extends bt{constructor(){super({id:vu.ID,label:Ak.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:U.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Pl).quickAccess.show(op.PREFIX)}},vu.ID="editor.action.gotoLine",vu);Te(oF);la.as(Lp.Quickaccess).registerQuickAccessProvider({ctor:op,prefix:op.PREFIX,helpEntries:[{description:Ak.gotoLineActionLabel,commandId:oF.ID}]});const rF=[void 0,[]];function NC(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?m$(o,n.values,t,i):aF(o,e,t,i)}function m$(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,d]=aF(o,r,t,i);if(typeof a!="number")return rF;n+=a,s.push(...d)}return[n,v$(s)]}function aF(o,e,t,i){const n=X2(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],$_(n)]:rF}function v$(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!_$(i,n)?(i=n,t.push(n)):(i.start=Math.min(i.start,n.start),i.end=Math.max(i.end,n.end));return t}function _$(o,e){return!(o.end<e.start||e.end<o.start)}function QD(o){return o.startsWith('"')&&o.endsWith('"')}const lF=" ";function aw(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=JD(o),s=t.indexOf(c1)>=0,r=QD(o);let a;const d=o.split(lF);if(d.length>1)for(const u of d){const f=QD(u),{pathNormalized:g,normalized:p,normalizedLowercase:C}=JD(u);p&&(a||(a=[]),a.push({original:u,originalLowercase:u.toLowerCase(),pathNormalized:g,normalized:p,normalizedLowercase:C,expectContiguousMatch:f}))}return{original:o,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:n,values:a,containsPathSeparator:s,expectContiguousMatch:r}}function JD(o){let e;M_?e=o.replace(/\//g,c1):e=o.replace(/\\/g,c1);const t=o7(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function eA(o){return Array.isArray(o)?aw(o.map(e=>e.original).join(lF)):aw(o.original)}var b$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},tA=function(o,e){return function(t,i){e(t,i,o)}},fm,ea;let Ld=(ea=class extends sF{constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,S("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),Mt.None}provideWithTextEditor(e,t,i,n){const s=e.editor,r=this.getModel(s);return r?this._languageFeaturesService.documentSymbolProvider.has(r)?this.doProvideWithEditorSymbols(e,r,t,i,n):this.doProvideWithoutEditorSymbols(e,r,t,i):Mt.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new It;return this.provideLabelPick(i,S("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),(async()=>!await this.waitForLanguageSymbolRegistry(t,s)||n.isCancellationRequested||s.add(this.doProvideWithEditorSymbols(e,t,i,n)))(),s}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}async waitForLanguageSymbolRegistry(e,t){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;const i=new R_,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(Xn(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var g;const r=e.editor,a=new It;a.add(i.onDidAccept(p=>{var b;const[C]=i.selectedItems;C&&C.range&&(this.gotoLocation(e,{range:C.range.selection,keyMods:i.keyMods,preserveFocus:p.inBackground}),(b=s==null?void 0:s.handleAccept)==null||b.call(s,C),p.inBackground||i.hide())})),a.add(i.onDidTriggerItemButton(({item:p})=>{p&&p.range&&(this.gotoLocation(e,{range:p.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())}));const d=this.getDocumentSymbols(t,n);let u;const f=async p=>{u==null||u.dispose(!0),i.busy=!1,u=new Us(n),i.busy=!0;try{const C=aw(i.value.substr(fm.PREFIX.length).trim()),b=await this.doGetSymbolPicks(d,C,void 0,u.token,t);if(n.isCancellationRequested)return;if(b.length>0){if(i.items=b,p&&C.original.length===0){const y=c7(b,w=>!!(w.type!=="separator"&&w.range&&ee.containsPosition(w.range.decoration,p)));y&&(i.activeItems=[y])}}else C.original.length>0?this.provideLabelPick(i,S("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,S("noSymbolResults","No editor symbols"))}finally{n.isCancellationRequested||(i.busy=!1)}};return a.add(i.onDidChangeValue(()=>f(void 0))),f((g=r.getSelection())==null?void 0:g.getPosition()),a.add(i.onDidChangeActive(()=>{const[p]=i.activeItems;p&&p.range&&(r.revealRangeInCenter(p.range.selection,0),this.addDecorations(r,p.range.decoration))})),a}async doGetSymbolPicks(e,t,i,n,s){var w,A;const r=await e;if(n.isCancellationRequested)return[];const a=t.original.indexOf(fm.SCOPE_PREFIX)===0,d=a?1:0;let u,f;t.values&&t.values.length>1?(u=eA(t.values[0]),f=eA(t.values.slice(1))):u=t;let g;const p=(A=(w=this.options)==null?void 0:w.openSideBySideDirection)==null?void 0:A.call(w);p&&(g=[{iconClass:p==="right"?Fn.asClassName($i.splitHorizontal):Fn.asClassName($i.splitVertical),tooltip:p==="right"?S("openToSide","Open to the Side"):S("openToBottom","Open to the Bottom")}]);const C=[];for(let P=0;P<r.length;P++){const M=r[P],R=r7(M.name),T=`$(${a7.toIcon(M.kind).id}) ${R}`,V=T.length-R.length;let H=M.containerName;i!=null&&i.extraContainerLabel&&(H?H=`${i.extraContainerLabel} • ${H}`:H=i.extraContainerLabel);let J,se,ue,ie;if(t.original.length>d){let Ce=!1;if(u!==t&&([J,se]=NC(T,{...t,values:void 0},d,V),typeof J=="number"&&(Ce=!0)),typeof J!="number"&&([J,se]=NC(T,u,d,V),typeof J!="number"))continue;if(!Ce&&f){if(H&&f.original.length>0&&([ue,ie]=NC(H,f)),typeof ue!="number")continue;typeof J=="number"&&(J+=ue)}}const de=M.tags&&M.tags.indexOf(1)>=0;C.push({index:P,kind:M.kind,score:J,label:T,ariaLabel:l7(M.name,M.kind),description:H,highlights:de?void 0:{label:se,description:ie},range:{selection:ee.collapseToStart(M.selectionRange),decoration:M.range},uri:s.uri,symbolName:R,strikethrough:de,buttons:g})}const b=C.sort((P,M)=>a?this.compareByKindAndScore(P,M):this.compareByScore(P,M));let y=[];if(a){let T=function(){M&&typeof P=="number"&&R>0&&(M.label=zw(HC[P]||OC,R))},P,M,R=0;for(const V of b)P!==V.kind?(T(),P=V.kind,R=1,M={type:"separator"},y.push(M)):R++,y.push(V);T()}else b.length>0&&(y=[{label:S("symbols","symbols ({0})",C.length),type:"separator"},...b]);return y}compareByScore(e,t){if(typeof e.score!="number"&&typeof t.score=="number")return 1;if(typeof e.score=="number"&&typeof t.score!="number")return-1;if(typeof e.score=="number"&&typeof t.score=="number"){if(e.score>t.score)return-1;if(e.score<t.score)return 1}return e.index<t.index?-1:e.index>t.index?1:0}compareByKindAndScore(e,t){const i=HC[e.kind]||OC,n=HC[t.kind]||OC,s=i.localeCompare(n);return s===0?this.compareByScore(e,t):s}async getDocumentSymbols(e,t){const i=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()}},fm=ea,ea.PREFIX="@",ea.SCOPE_PREFIX=":",ea.PREFIX_BY_CATEGORY=`${ea.PREFIX}${ea.SCOPE_PREFIX}`,ea);Ld=fm=b$([tA(0,bi),tA(1,$p)],Ld);const OC=S("property","properties ({0})"),HC={5:S("method","methods ({0})"),11:S("function","functions ({0})"),8:S("_constructor","constructors ({0})"),12:S("variable","variables ({0})"),4:S("class","classes ({0})"),22:S("struct","structs ({0})"),23:S("event","events ({0})"),24:S("operator","operators ({0})"),10:S("interface","interfaces ({0})"),2:S("namespace","namespaces ({0})"),3:S("package","packages ({0})"),25:S("typeParameter","type parameters ({0})"),1:S("modules","modules ({0})"),6:S("property","properties ({0})"),9:S("enum","enumerations ({0})"),21:S("enumMember","enumeration members ({0})"),14:S("string","strings ({0})"),0:S("file","files ({0})"),17:S("array","arrays ({0})"),15:S("number","numbers ({0})"),16:S("boolean","booleans ({0})"),18:S("object","objects ({0})"),19:S("key","keys ({0})"),7:S("field","fields ({0})"),13:S("constant","constants ({0})")};var C$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},WC=function(o,e){return function(t,i){e(t,i,o)}};let lw=class extends Ld{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=Ls.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};lw=C$([WC(0,vs),WC(1,bi),WC(2,$p)],lw);const I_=class I_ extends bt{constructor(){super({id:I_.ID,label:d1.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:U.hasDocumentSymbolProvider,kbOpts:{kbExpr:U.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Pl).quickAccess.show(Ld.PREFIX,{itemActivation:d7.NONE})}};I_.ID="editor.action.quickOutline";let Pv=I_;Te(Pv);la.as(Lp.Quickaccess).registerQuickAccessProvider({ctor:lw,prefix:Ld.PREFIX,helpEntries:[{description:d1.quickOutlineActionLabel,prefix:Ld.PREFIX,commandId:Pv.ID},{description:d1.quickOutlineByCategoryActionLabel,prefix:Ld.PREFIX_BY_CATEGORY}]});function E$(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class pg{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){const i=this.computeEmbedding(e),n=new Map,s=[];for(const[r,a]of this.documents){if(t.isCancellationRequested)return[];for(const d of a.chunks){const u=this.computeSimilarityScore(d,i,n);u>0&&s.push({key:r,score:u})}}return s}static termFrequencies(e){return E$(pg.splitTerms(e))}static*splitTerms(e){const t=i=>i.toLowerCase();for(const[i]of e.matchAll(new RegExp("\\b\\p{Letter}[\\p{Letter}\\d]{2,}\\b","gu"))){yield t(i);const n=i.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(n.length>1)for(const s of n)s.length>2&&new RegExp("\\p{Letter}{3,}","gu").test(s)&&(yield t(s))}}updateDocuments(e){for(const{key:t}of e)this.deleteDocument(t);for(const t of e){const i=[];for(const n of t.textChunks){const s=pg.termFrequencies(n);for(const r of s.keys())this.chunkOccurrences.set(r,(this.chunkOccurrences.get(r)??0)+1);i.push({text:n,tf:s})}this.chunkCount+=i.length,this.documents.set(t.key,{chunks:i})}return this}deleteDocument(e){const t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(const i of t.chunks)for(const n of i.tf.keys()){const s=this.chunkOccurrences.get(n);if(typeof s=="number"){const r=s-1;r<=0?this.chunkOccurrences.delete(n):this.chunkOccurrences.set(n,r)}}}}computeSimilarityScore(e,t,i){let n=0;for(const[s,r]of Object.entries(t)){const a=e.tf.get(s);if(!a)continue;let d=i.get(s);typeof d!="number"&&(d=this.computeIdf(s),i.set(s,d));const u=a*d;n+=u*r}return n}computeEmbedding(e){const t=pg.termFrequencies(e);return this.computeTfidf(t)}computeIdf(e){const t=this.chunkOccurrences.get(e)??0;return t>0?Math.log((this.chunkCount+1)/t):0}computeTfidf(e){const t=Object.create(null);for(const[i,n]of e){const s=this.computeIdf(i);s>0&&(t[i]=n*s)}return t}}function y$(o){var i;const e=o.slice(0);e.sort((n,s)=>s.score-n.score);const t=((i=e[0])==null?void 0:i.score)??0;if(t>0)for(const n of e)n.score/=t;return e}var zh;(function(o){o[o.NO_ACTION=0]="NO_ACTION",o[o.CLOSE_PICKER=1]="CLOSE_PICKER",o[o.REFRESH_PICKER=2]="REFRESH_PICKER",o[o.REMOVE_ITEM=3]="REMOVE_ITEM"})(zh||(zh={}));function zC(o){return Array.isArray(o.items)}function iA(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class w$ extends Mt{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var u;const n=new It;e.canAcceptInBackground=!!((u=this.options)!=null&&u.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new Xo),a=async()=>{var w;const f=r.value=new It;s==null||s.dispose(!0),e.busy=!1,s=new Us(t);const g=s.token;let p=e.value.substring(this.prefix.length);(w=this.options)!=null&&w.shouldSkipTrimPickFilter||(p=p.trim());const C=this._getPicks(p,f,g,i),b=(A,P)=>{var T;let M,R;if(zC(A)?(M=A.items,R=A.active):M=A,M.length===0){if(P)return!1;(p.length>0||e.hideInput)&&((T=this.options)!=null&&T.noResultsPick)&&(u7(this.options.noResultsPick)?M=[this.options.noResultsPick(p)]:M=[this.options.noResultsPick])}return e.items=M,R&&(e.activeItems=[R]),!0},y=async A=>{let P=!1,M=!1;await Promise.all([(async()=>{typeof A.mergeDelay=="number"&&(await K_(A.mergeDelay),g.isCancellationRequested)||M||(P=b(A.picks,!0))})(),(async()=>{e.busy=!0;try{const R=await A.additionalPicks;if(g.isCancellationRequested)return;let T,V;zC(A.picks)?(T=A.picks.items,V=A.picks.active):T=A.picks;let H,J;if(zC(R)?(H=R.items,J=R.active):H=R,H.length>0||!P){let se;if(!V&&!J){const ue=e.activeItems[0];ue&&T.indexOf(ue)!==-1&&(se=ue)}b({items:[...T,...H],active:V||J||se})}}finally{g.isCancellationRequested||(e.busy=!1),M=!0}})()])};if(C!==null)if(iA(C))await y(C);else if(!(C instanceof Promise))b(C);else{e.busy=!0;try{const A=await C;if(g.isCancellationRequested)return;iA(A)?await y(A):b(A)}finally{g.isCancellationRequested||(e.busy=!1)}}};n.add(e.onDidChangeValue(()=>a())),a(),n.add(e.onDidAccept(f=>{var p;if(i!=null&&i.handleAccept){f.inBackground||e.hide(),(p=i.handleAccept)==null||p.call(i,e.activeItems[0]);return}const[g]=e.selectedItems;typeof(g==null?void 0:g.accept)=="function"&&(f.inBackground||e.hide(),g.accept(e.keyMods,f))}));const d=async(f,g)=>{var C;if(typeof g.trigger!="function")return;const p=((C=g.buttons)==null?void 0:C.indexOf(f))??-1;if(p>=0){const b=g.trigger(p,e.keyMods),y=typeof b=="number"?b:await b;if(t.isCancellationRequested)return;switch(y){case zh.NO_ACTION:break;case zh.CLOSE_PICKER:e.hide();break;case zh.REFRESH_PICKER:a();break;case zh.REMOVE_ITEM:{const w=e.items.indexOf(g);if(w!==-1){const A=e.items.slice(),P=A.splice(w,1),M=e.activeItems.filter(T=>T!==P[0]),R=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=A,M&&(e.activeItems=M),e.keepScrollPosition=R}break}}}};return n.add(e.onDidTriggerItemButton(({button:f,item:g})=>d(f,g))),n.add(e.onDidTriggerSeparatorButton(({button:f,separator:g})=>d(f,g))),n}}var cF=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},tc=function(o,e){return function(t,i){e(t,i,o)}},rd,bs,Ta;let cw=(Ta=class extends w${constructor(e,t,i,n,s,r){super(rd.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(dw)),this.options=e}async _getPicks(e,t,i,n){var C,b;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=Dk(()=>{const y=new pg;y.updateDocuments(s.map(A=>({key:A.commandId,textChunks:[this.getTfIdfChunk(A)]})));const w=y.calculateScores(e,i);return y$(w).filter(A=>A.score>rd.TFIDF_THRESHOLD).slice(0,rd.TFIDF_MAX_RESULTS)}),a=[];for(const y of s){const w=rd.WORD_FILTER(e,y.label)??void 0,A=y.commandAlias?rd.WORD_FILTER(e,y.commandAlias)??void 0:void 0;if(w||A)y.highlights={label:w,detail:this.options.showAlias?A:void 0},a.push(y);else if(e===y.commandId)a.push(y);else if(e.length>=3){const P=r();if(i.isCancellationRequested)return[];const M=P.find(R=>R.key===y.commandId);M&&(y.tfIdfScore=M.score,a.push(y))}}const d=new Map;for(const y of a){const w=d.get(y.label);w?(y.description=y.commandId,w.description=w.commandId):d.set(y.label,y)}a.sort((y,w)=>{if(y.tfIdfScore&&w.tfIdfScore)return y.tfIdfScore===w.tfIdfScore?y.label.localeCompare(w.label):w.tfIdfScore-y.tfIdfScore;if(y.tfIdfScore)return 1;if(w.tfIdfScore)return-1;const A=this.commandsHistory.peek(y.commandId),P=this.commandsHistory.peek(w.commandId);if(A&&P)return A>P?-1:1;if(A)return-1;if(P)return 1;if(this.options.suggestedCommandIds){const M=this.options.suggestedCommandIds.has(y.commandId),R=this.options.suggestedCommandIds.has(w.commandId);if(M&&R)return 0;if(M)return-1;if(R)return 1}return y.label.localeCompare(w.label)});const u=[];let f=!1,g=!0,p=!!this.options.suggestedCommandIds;for(let y=0;y<a.length;y++){const w=a[y];y===0&&this.commandsHistory.peek(w.commandId)&&(u.push({type:"separator",label:S("recentlyUsed","recently used")}),f=!0),g&&w.tfIdfScore!==void 0&&(u.push({type:"separator",label:S("suggested","similar commands")}),g=!1),p&&w.tfIdfScore===void 0&&!this.commandsHistory.peek(w.commandId)&&((C=this.options.suggestedCommandIds)!=null&&C.has(w.commandId))&&(u.push({type:"separator",label:S("commonlyUsed","commonly used")}),f=!0,p=!1),f&&w.tfIdfScore===void 0&&!this.commandsHistory.peek(w.commandId)&&!((b=this.options.suggestedCommandIds)!=null&&b.has(w.commandId))&&(u.push({type:"separator",label:S("morecCommands","other commands")}),f=!1),u.push(this.toCommandPick(w,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:u,additionalPicks:(async()=>{var A;const y=await this.getAdditionalCommandPicks(s,a,e,i);if(i.isCancellationRequested)return[];const w=y.map(P=>this.toCommandPick(P,n));return g&&((A=w[0])==null?void 0:A.type)!=="separator"&&w.unshift({type:"separator",label:S("suggested","similar commands")}),w})()}:u}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?S("commandPickAriaLabelWithKeybinding","{0}, {1}",e.label,i.getAriaLabel()):e.label;return{...e,ariaLabel:n,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:i,accept:async()=>{var s;this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:(t==null?void 0:t.from)??"quick open"});try{(s=e.args)!=null&&s.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(r){zc(r)||this.dialogService.error(S("canNotRun","Command '{0}' resulted in an error",e.label),Hm(r))}}}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:i}){let n=e;return t&&t!==e&&(n+=` - ${t}`),i&&i.value!==e&&(n+=` - ${i.value===i.original?i.value:`${i.value} (${i.original})`}`),n}},rd=Ta,Ta.PREFIX=">",Ta.TFIDF_THRESHOLD=.5,Ta.TFIDF_MAX_RESULTS=5,Ta.WORD_FILTER=h7(p7,g7,f7),Ta);cw=rd=cF([tc(1,en),tc(2,ws),tc(3,Ws),tc(4,da),tc(5,Qw)],cw);var ta;let dw=(ta=class extends Mt{constructor(e,t,i){super(),this.storageService=e,this.configurationService=t,this.logService=i,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>this.updateConfiguration(e))),this._register(this.storageService.onWillSaveState(e=>{e.reason===Pw.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=bs.getConfiguredCommandHistoryLength(this.configurationService),bs.cache&&bs.cache.limit!==this.configuredCommandsHistoryLength&&(bs.cache.limit=this.configuredCommandsHistoryLength,bs.hasChanges=!0))}load(){const e=this.storageService.get(bs.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=bs.cache=new Cp(this.configuredCommandsHistoryLength,1);if(t){let n;t.usesLRU?n=t.entries:n=t.entries.sort((s,r)=>s.value-r.value),n.forEach(s=>i.set(s.key,s.value))}bs.counter=this.storageService.getNumber(bs.PREF_KEY_COUNTER,0,bs.counter)}push(e){bs.cache&&(bs.cache.set(e,bs.counter++),bs.hasChanges=!0)}peek(e){var t;return(t=bs.cache)==null?void 0:t.peek(e)}saveState(){if(!bs.cache||!bs.hasChanges)return;const e={usesLRU:!0,entries:[]};bs.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(bs.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(bs.PREF_KEY_COUNTER,bs.counter,0,0),bs.hasChanges=!1}static getConfiguredCommandHistoryLength(e){var n,s;const i=(s=(n=e.getValue().workbench)==null?void 0:n.commandPalette)==null?void 0:s.history;return typeof i=="number"?i:bs.DEFAULT_COMMANDS_HISTORY_LENGTH}},bs=ta,ta.DEFAULT_COMMANDS_HISTORY_LENGTH=50,ta.PREF_KEY_CACHE="commandPalette.mru.cache",ta.PREF_KEY_COUNTER="commandPalette.mru.counter",ta.counter=1,ta.hasChanges=!1,ta);dw=bs=cF([tc(0,Vc),tc(1,Qn),tc(2,zu)],dw);class S$ extends cw{constructor(e,t,i,n,s,r){super(e,t,i,n,s,r)}getCodeEditorCommandPicks(){var i;const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const n of e.getSupportedActions()){let s;(i=n.metadata)!=null&&i.description&&(x7(n.metadata.description)?s=n.metadata.description:s={original:n.metadata.description,value:n.metadata.description}),t.push({commandId:n.id,commandAlias:n.alias,commandDescription:s,label:m7(n.label)||n.id})}return t}}var D$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_h=function(o,e){return function(t,i){e(t,i,o)}};let rp=class extends S${get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(e,t,i,n,s,r){super({showAlias:!1},e,i,n,s,r),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};rp=D$([_h(0,en),_h(1,vs),_h(2,ws),_h(3,Ws),_h(4,da),_h(5,Qw)],rp);const P_=class P_ extends bt{constructor(){super({id:P_.ID,label:kk.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:U.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(Pl).quickAccess.show(rp.PREFIX)}};P_.ID="editor.action.quickCommand";let Tv=P_;Te(Tv);la.as(Lp.Quickaccess).registerQuickAccessProvider({ctor:rp,prefix:rp.PREFIX,helpEntries:[{description:kk.quickCommandHelp,commandId:Tv.ID}]});var A$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},bh=function(o,e){return function(t,i){e(t,i,o)}};let uw=class extends Iu{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};uw=A$([bh(1,Dn),bh(2,vs),bh(3,go),bh(4,en),bh(5,Vc),bh(6,Qn)],uw);an(Iu.ID,uw,4);class k$ extends bt{constructor(){super({id:"editor.action.toggleHighContrast",label:v7.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(wk),n=i.getColorTheme();Eg(n.type)?(i.setTheme(this._originalThemeName||(i8(n.type)?_7:b7)),this._originalThemeName=null):(i.setTheme(i8(n.type)?C7:E7),this._originalThemeName=n.themeName)}}Te(k$);let hw=null;function B$(o){hw=o}function F$(o={}){return{"Content-Type":"application/json",...o}}async function zt(o,e,t){const i=await fetch(e,{method:o,headers:F$(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw hw&&hw(),new Error("Unauthorized");if(!i.ok){const n=await i.json().catch(()=>({error:i.statusText}));throw new Error(n.error??i.statusText)}return i.json()}async function L$(){return await(await fetch("/she/auth/mode")).json()}async function I$(o){const e=await fetch("/she/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:o})});if(!e.ok){const t=await e.json().catch(()=>({error:e.statusText}));throw new Error(t.error??"Login failed")}}async function P$(){await fetch("/she/auth/logout",{method:"POST"})}async function T$(o,e,t,i){const n=await fetch("/she/auth/setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:o,password:e,proxyHeader:t,proxyLogoutUrl:i})});if(!n.ok){const s=await n.json().catch(()=>({error:n.statusText}));throw new Error(s.error??"Setup failed")}}function M$(){return zt("GET","/she/scripts/tree")}function Nx(o){return zt("GET",`/she/scripts/${o}`)}function Gl(o,e){return zt("PUT",`/she/scripts/${o}`,{content:e})}function nA(o,e={}){const t=new URLSearchParams({q:o});return e.regex&&t.set("regex","true"),e.caseSensitive&&t.set("caseSensitive","true"),e.mode&&t.set("mode",e.mode),zt("GET",`/she/scripts/search?${t}`)}function Ox(o){return zt("DELETE",`/she/scripts/${o}`)}function sA(o,e){return zt("POST",`/she/scripts/${o}/rename`,{newPath:e})}function R$(o){return zt("POST","/she/scripts/mkdir",{path:o})}function N$(){return zt("GET","/she/git/status")}function Xf(){return zt("GET","/she/status")}function dF(){return zt("POST","/she/restart")}function O$(){return zt("POST","/she/update")}function H$(){return zt("POST","/she/check-update")}function W$(o,e){return zt("POST","/she/git/commit",{path:o,message:e})}function oA(o,e){return zt("POST","/she/git/commit",{files:o,message:e})}function rA(o){return zt("POST","/she/git/commit",{message:o})}function Hx(o){return zt("POST","/she/git/push",{remote:o})}function z$(o,e){return zt("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function V$(o,e){return zt("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function Il(){return zt("GET","/she/config")}function ap(o){return zt("PUT","/she/config",o)}function uF(){return zt("GET","/she/db/docs")}function j$(o){return zt("GET",`/she/db/docs/${o}`)}function aA(o,e){return zt("PUT",`/she/db/docs/${o}`,e)}function $$(o){return zt("DELETE",`/she/db/docs/${o}`)}function hF(){return zt("GET","/she/db/views")}function U$(o){return zt("GET",`/she/db/views/${o}`)}function lA(o,e){return zt("PUT",`/she/db/views/${o}`,e)}function q$(o){return zt("DELETE",`/she/db/views/${o}`)}function G$(){return zt("GET","/she/deps")}function K$(o){return zt("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function Z$(o,e){return zt("POST","/she/deps/install",{name:o,version:null})}function X$(o){return zt("POST","/she/deps/remove",{name:o})}function Y$(o){return zt("POST","/she/deps/update",{name:o})}function fF(){return zt("GET","/she/deps/outdated")}function Q$(){return zt("POST","/she/deps/check-outdated")}function J$(){return zt("GET","/she/ai/conversations")}function cA(o){return zt("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function eU(o,e,t){return zt("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function tU(o){return zt("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function VC(o){return zt("GET",`/she/db/views/${o}/result`)}function gF(){return zt("GET","/she/matter/devices")}function gm(o){return zt("GET",`/she/matter/devices/${o}`)}function iU(o){return zt("POST","/she/matter/commission",o)}function nU(o){return zt("DELETE",`/she/matter/devices/${o}`)}function sU(o,e,t,i,n){return zt("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function pF(){return zt("GET","/she/mqtt/state")}function dA(o,e,t=!1,i=0){return zt("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function xF(){return zt("GET","/she/ai/config")}function mF(){return zt("GET","/she/ai/models")}function fw(o){return zt("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function vF(o){return zt("POST","/she/ai/prompt",o)}async function _F(o,e,t,i){const s=await fetch("/she/ai/chat/stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o),signal:t});if(!s.ok){const u=await s.json().catch(()=>({error:s.statusText}));throw new Error(u.error??s.statusText)}const r=s.body.getReader(),a=new TextDecoder;let d="";try{for(;;){const{done:u,value:f}=await r.read();if(u)break;d+=a.decode(f,{stream:!0});const g=d.split(`
79
- `);d=g.pop()??"";for(const p of g){if(!p.startsWith("data: "))continue;const C=p.slice(6).trim();if(C==="[DONE]")return;try{const b=JSON.parse(C);if(b.error)throw new Error(b.error);if(b.type==="tool_call"||b.type==="tool_result"){i==null||i({type:b.type,name:b.name??"",args:b.args,content:b.content});continue}b.token&&e(b.token)}catch(b){if(b instanceof SyntaxError)continue;throw b}}}}finally{r.releaseLock()}}function oS(){return zt("GET","/she/broker/status")}function oU(){return zt("GET","/she/broker/local/check")}function rU(){return zt("GET","/she/broker/ip-addresses")}function rS(){return zt("GET","/she/broker/config")}function aU(o=500){return zt("GET",`/she/broker/logs?limit=${o}`)}function bF(o){return zt("PUT","/she/broker/config",o)}function CF(){return zt("POST","/she/broker/reload")}function lU(){return zt("POST","/she/broker/restart")}function cU(){return zt("POST","/she/broker/wizard/deactivate")}function dU(){return zt("POST","/she/broker/wizard/reinit")}function uU(){return zt("GET","/she/broker/wizard/diagnose")}function hU(){return zt("GET","/she/broker/users")}function fU(o,e){return zt("POST","/she/broker/users",{username:o,password:e})}function gU(o){return zt("DELETE",`/she/broker/users/${encodeURIComponent(o)}`)}function pU(o,e){return zt("PUT",`/she/broker/users/${encodeURIComponent(o)}/password`,{password:e})}function xU(o,e){return zt("POST",`/she/broker/users/${encodeURIComponent(o)}/roles`,{rolename:e})}function mU(o,e){return zt("DELETE",`/she/broker/users/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function EF(){return zt("GET","/she/broker/roles")}function vU(o){return zt("POST","/she/broker/roles",{rolename:o})}function _U(o){return zt("DELETE",`/she/broker/roles/${encodeURIComponent(o)}`)}function bU(o,e){return zt("POST",`/she/broker/roles/${encodeURIComponent(o)}/acls`,e)}function CU(o,e,t){return zt("DELETE",`/she/broker/roles/${encodeURIComponent(o)}/acls`,{acltype:e,topic:t})}function EU(){return zt("GET","/she/broker/groups")}function yU(o){return zt("POST","/she/broker/groups",{groupname:o})}function wU(o){return zt("DELETE",`/she/broker/groups/${encodeURIComponent(o)}`)}function uA(o,e){return zt("POST",`/she/broker/groups/${encodeURIComponent(o)}/clients`,{username:e})}function hA(o,e){return zt("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/clients/${encodeURIComponent(e)}`)}function SU(o,e){return zt("POST",`/she/broker/groups/${encodeURIComponent(o)}/roles`,{rolename:e})}function DU(o,e){return zt("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function AU(){return zt("GET","/she/broker/acl-defaults")}function kU(o){return zt("PUT","/she/broker/acl-defaults",{acls:o})}function BU(o){return zt("GET",`/she/broker/acl-check?${new URLSearchParams({topic:o})}`)}function FU(){return zt("GET","/she/broker/anonymous-group")}function LU(o){return zt("PUT","/she/broker/anonymous-group",{groupname:o})}function IU(){return zt("GET","/she/broker/ca/server")}function PU(o){return zt("POST","/she/broker/ca/server/generate",o)}function TU(o){return zt("POST","/she/broker/ca/server/csr",o)}function jC(o){return zt("POST","/she/broker/ca/server/import",o)}function MU(){return zt("GET","/she/broker/ca/trusted")}function RU(o){return zt("POST","/she/broker/ca/trusted",{pem:o})}function NU(o){return zt("DELETE",`/she/broker/ca/trusted/${encodeURIComponent(o)}`)}function OU(o){return zt("GET",`/she/broker/fs/complete?path=${encodeURIComponent(o)}`)}function HU(o){return zt("POST","/she/broker/ca/server/pathlink",o)}function WU(o){return zt("POST","/she/broker/ca/trusted/addpath",{path:o})}const zU=2e3,pm=[],VU=500,xm=[];function yF(){return pm.slice()}function jU(){return xm.slice()}let uc=null;const Mv=new Set,Vh=new Map;let gw=null;function lp(){let o=Mv.size;for(const e of Vh.values())o+=e.size;return o}function $U(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function aS(){if(uc)return;const o=$U(),e=new WebSocket(o);uc=e,e.onmessage=t=>{try{const i=JSON.parse(t.data);if(i.type==="log"){const s={level:i.level,msg:i.msg,ts:i.ts};pm.length>=zU&&pm.shift(),pm.push(s),Mv.forEach(r=>r(s))}if(i.type==="brokerLog"){const s={level:i.level,msg:i.msg,ts:i.ts};xm.length>=VU&&xm.shift(),xm.push(s)}const n=Vh.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{uc===e&&(uc=null),lp()>0&&(gw=setTimeout(aS,3e3))},e.onerror=()=>{e.close()}}function wF(){gw&&clearTimeout(gw),uc==null||uc.close(),uc=null}function lS(o){return Mv.add(o),lp()===1&&aS(),()=>{Mv.delete(o),lp()===0&&wF()}}function ar(o,e){return Vh.has(o)||Vh.set(o,new Set),Vh.get(o).add(e),lp()===1&&aS(),()=>{var t;(t=Vh.get(o))==null||t.delete(e),lp()===0&&wF()}}var UU=B('<button class="cancel svelte-1eh8v5n">Cancel</button>'),qU=B('<div class="backdrop svelte-1eh8v5n" role="presentation"></div> <div class="dialog svelte-1eh8v5n" role="dialog" aria-modal="true"><p class="svelte-1eh8v5n"> </p> <div class="actions svelte-1eh8v5n"><!> <button> </button></div></div>',1);function qc(o,e){Vs(e,!0);let t=F(!1),i=F(""),n=F("Confirm"),s=F(!1),r=F(!1),a=null;function d(y,w){return m(i,y,!0),m(n,(w==null?void 0:w.confirm)??(w!=null&&w.alert?"OK":"Confirm"),!0),m(s,(w==null?void 0:w.danger)??!1,!0),m(r,(w==null?void 0:w.alert)??!1,!0),m(t,!0),new Promise(A=>a=A)}function u(y){m(t,!1),a==null||a(y),a=null}function f(y){c(t)&&(y.key==="Escape"&&u(!1),y.key==="Enter"&&u(!0))}var g={show:d},p=Es();fs("keydown",Dd,f);var C=yt(p);{var b=y=>{var w=qU(),A=yt(w),P=v(A,2),M=_(P),R=_(M),T=v(M,2),V=_(T);{var H=ie=>{var de=UU();$("click",de,()=>u(!1)),D(ie,de)};z(V,ie=>{c(r)||ie(H)})}var J=v(V,2);let se;var ue=_(J);j(()=>{O(R,c(i)),se=Dt(J,1,"svelte-1eh8v5n",null,se,{danger:c(s)}),O(ue,c(n))}),$("click",A,()=>u(!1)),$("click",J,()=>u(!0)),D(y,w)};z(C,y=>{c(t)&&y(b)})}return D(o,p),js(g)}Zs(["click"]);var GU=B('<div class="backdrop svelte-1vi95tb" role="presentation"></div> <div class="dialog svelte-1vi95tb" role="dialog" aria-modal="true"><p class="svelte-1vi95tb"> </p> <input class="svelte-1vi95tb"/> <div class="actions svelte-1vi95tb"><button class="cancel svelte-1vi95tb">Cancel</button> <button class="svelte-1vi95tb"> </button></div></div>',1);function KU(o,e){Vs(e,!0);let t=F(!1),i=F(""),n=F(""),s=F("OK"),r=F(""),a=null,d=F(void 0);function u(A,P){return m(i,A,!0),m(n,(P==null?void 0:P.placeholder)??"",!0),m(s,(P==null?void 0:P.confirm)??"OK",!0),m(r,(P==null?void 0:P.initial)??"",!0),m(t,!0),setTimeout(()=>{if(c(d)){c(d).focus();const M=c(d).value.length;c(d).setSelectionRange(M,M)}},0),new Promise(M=>a=M)}function f(){const A=c(r).trim();A&&(m(t,!1),a==null||a(A),a=null,m(r,""))}function g(){m(t,!1),a==null||a(null),a=null,m(r,"")}function p(A){c(t)&&A.key==="Escape"&&(A.stopPropagation(),g())}var C={show:u},b=Es();fs("keydown",Dd,p);var y=yt(b);{var w=A=>{var P=GU(),M=yt(P),R=v(M,2),T=_(R),V=_(T),H=v(T,2);us(H,de=>m(d,de),()=>c(d));var J=v(H,2),se=_(J),ue=v(se,2),ie=_(ue);j(de=>{O(V,c(i)),rn(H,"placeholder",c(n)),ue.disabled=de,O(ie,c(s))},[()=>!c(r).trim()]),$("click",M,g),$("keydown",H,de=>{de.key==="Enter"&&(de.preventDefault(),f())}),Ht(H,()=>c(r),de=>m(r,de)),$("click",se,g),$("click",ue,f),D(A,P)};z(y,A=>{c(t)&&A(w)})}return D(o,b),js(C)}Zs(["click","keydown"]);function cS(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var $C,fA;function ZU(){if(fA)return $C;fA=1;function o(X){return X instanceof Map?X.clear=X.delete=X.set=function(){throw new Error("map is read-only")}:X instanceof Set&&(X.add=X.clear=X.delete=function(){throw new Error("set is read-only")}),Object.freeze(X),Object.getOwnPropertyNames(X).forEach(Fe=>{const Ke=X[Fe],ot=typeof Ke;(ot==="object"||ot==="function")&&!Object.isFrozen(Ke)&&o(Ke)}),X}class e{constructor(Fe){Fe.data===void 0&&(Fe.data={}),this.data=Fe.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function i(X,...Fe){const Ke=Object.create(null);for(const ot in X)Ke[ot]=X[ot];return Fe.forEach(function(ot){for(const $t in ot)Ke[$t]=ot[$t]}),Ke}const n="</span>",s=X=>!!X.scope,r=(X,{prefix:Fe})=>{if(X.startsWith("language:"))return X.replace("language:","language-");if(X.includes(".")){const Ke=X.split(".");return[`${Fe}${Ke.shift()}`,...Ke.map((ot,$t)=>`${ot}${"_".repeat($t+1)}`)].join(" ")}return`${Fe}${X}`};class a{constructor(Fe,Ke){this.buffer="",this.classPrefix=Ke.classPrefix,Fe.walk(this)}addText(Fe){this.buffer+=t(Fe)}openNode(Fe){if(!s(Fe))return;const Ke=r(Fe.scope,{prefix:this.classPrefix});this.span(Ke)}closeNode(Fe){s(Fe)&&(this.buffer+=n)}value(){return this.buffer}span(Fe){this.buffer+=`<span class="${Fe}">`}}const d=(X={})=>{const Fe={children:[]};return Object.assign(Fe,X),Fe};class u{constructor(){this.rootNode=d(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(Fe){this.top.children.push(Fe)}openNode(Fe){const Ke=d({scope:Fe});this.add(Ke),this.stack.push(Ke)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(Fe){return this.constructor._walk(Fe,this.rootNode)}static _walk(Fe,Ke){return typeof Ke=="string"?Fe.addText(Ke):Ke.children&&(Fe.openNode(Ke),Ke.children.forEach(ot=>this._walk(Fe,ot)),Fe.closeNode(Ke)),Fe}static _collapse(Fe){typeof Fe!="string"&&Fe.children&&(Fe.children.every(Ke=>typeof Ke=="string")?Fe.children=[Fe.children.join("")]:Fe.children.forEach(Ke=>{u._collapse(Ke)}))}}class f extends u{constructor(Fe){super(),this.options=Fe}addText(Fe){Fe!==""&&this.add(Fe)}startScope(Fe){this.openNode(Fe)}endScope(){this.closeNode()}__addSublanguage(Fe,Ke){const ot=Fe.root;Ke&&(ot.scope=`language:${Ke}`),this.add(ot)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function g(X){return X?typeof X=="string"?X:X.source:null}function p(X){return y("(?=",X,")")}function C(X){return y("(?:",X,")*")}function b(X){return y("(?:",X,")?")}function y(...X){return X.map(Ke=>g(Ke)).join("")}function w(X){const Fe=X[X.length-1];return typeof Fe=="object"&&Fe.constructor===Object?(X.splice(X.length-1,1),Fe):{}}function A(...X){return"("+(w(X).capture?"":"?:")+X.map(ot=>g(ot)).join("|")+")"}function P(X){return new RegExp(X.toString()+"|").exec("").length-1}function M(X,Fe){const Ke=X&&X.exec(Fe);return Ke&&Ke.index===0}const R=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function T(X,{joinWith:Fe}){let Ke=0;return X.map(ot=>{Ke+=1;const $t=Ke;let ne=g(ot),Se="";for(;ne.length>0;){const Me=R.exec(ne);if(!Me){Se+=ne;break}Se+=ne.substring(0,Me.index),ne=ne.substring(Me.index+Me[0].length),Me[0][0]==="\\"&&Me[1]?Se+="\\"+String(Number(Me[1])+$t):(Se+=Me[0],Me[0]==="("&&Ke++)}return Se}).map(ot=>`(${ot})`).join(Fe)}const V=/\b\B/,H="[a-zA-Z]\\w*",J="[a-zA-Z_]\\w*",se="\\b\\d+(\\.\\d+)?",ue="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ie="\\b(0b[01]+)",de="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Ce=(X={})=>{const Fe=/^#![ ]*\//;return X.binary&&(X.begin=y(Fe,/.*\b/,X.binary,/\b.*/)),i({scope:"meta",begin:Fe,end:/$/,relevance:0,"on:begin":(Ke,ot)=>{Ke.index!==0&&ot.ignoreMatch()}},X)},oe={begin:"\\\\[\\s\\S]",relevance:0},fe={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[oe]},Be={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[oe]},Ne={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},ve=function(X,Fe,Ke={}){const ot=i({scope:"comment",begin:X,end:Fe,contains:[]},Ke);ot.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const $t=A("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return ot.contains.push({begin:y(/[ ]+/,"(",$t,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),ot},rt=ve("//","$"),We=ve("/\\*","\\*/"),ye=ve("#","$"),gt={scope:"number",begin:se,relevance:0},Rt={scope:"number",begin:ue,relevance:0},nt={scope:"number",begin:ie,relevance:0},St={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[oe,{begin:/\[/,end:/\]/,relevance:0,contains:[oe]}]},Ee={scope:"title",begin:H,relevance:0},Pt={scope:"title",begin:J,relevance:0},pt={begin:"\\.\\s*"+J,relevance:0};var Ye=Object.freeze({__proto__:null,APOS_STRING_MODE:fe,BACKSLASH_ESCAPE:oe,BINARY_NUMBER_MODE:nt,BINARY_NUMBER_RE:ie,COMMENT:ve,C_BLOCK_COMMENT_MODE:We,C_LINE_COMMENT_MODE:rt,C_NUMBER_MODE:Rt,C_NUMBER_RE:ue,END_SAME_AS_BEGIN:function(X){return Object.assign(X,{"on:begin":(Fe,Ke)=>{Ke.data._beginMatch=Fe[1]},"on:end":(Fe,Ke)=>{Ke.data._beginMatch!==Fe[1]&&Ke.ignoreMatch()}})},HASH_COMMENT_MODE:ye,IDENT_RE:H,MATCH_NOTHING_RE:V,METHOD_GUARD:pt,NUMBER_MODE:gt,NUMBER_RE:se,PHRASAL_WORDS_MODE:Ne,QUOTE_STRING_MODE:Be,REGEXP_MODE:St,RE_STARTERS_RE:de,SHEBANG:Ce,TITLE_MODE:Ee,UNDERSCORE_IDENT_RE:J,UNDERSCORE_TITLE_MODE:Pt});function kt(X,Fe){X.input[X.index-1]==="."&&Fe.ignoreMatch()}function ci(X,Fe){X.className!==void 0&&(X.scope=X.className,delete X.className)}function Ci(X,Fe){Fe&&X.beginKeywords&&(X.begin="\\b("+X.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",X.__beforeBegin=kt,X.keywords=X.keywords||X.beginKeywords,delete X.beginKeywords,X.relevance===void 0&&(X.relevance=0))}function Ai(X,Fe){Array.isArray(X.illegal)&&(X.illegal=A(...X.illegal))}function si(X,Fe){if(X.match){if(X.begin||X.end)throw new Error("begin & end are not supported with match");X.begin=X.match,delete X.match}}function Vt(X,Fe){X.relevance===void 0&&(X.relevance=1)}const et=(X,Fe)=>{if(!X.beforeMatch)return;if(X.starts)throw new Error("beforeMatch cannot be used with starts");const Ke=Object.assign({},X);Object.keys(X).forEach(ot=>{delete X[ot]}),X.keywords=Ke.keywords,X.begin=y(Ke.beforeMatch,p(Ke.begin)),X.starts={relevance:0,contains:[Object.assign(Ke,{endsParent:!0})]},X.relevance=0,delete Ke.beforeMatch},Oe=["of","and","for","in","not","or","if","then","parent","list","value"],ti="keyword";function Li(X,Fe,Ke=ti){const ot=Object.create(null);return typeof X=="string"?$t(Ke,X.split(" ")):Array.isArray(X)?$t(Ke,X):Object.keys(X).forEach(function(ne){Object.assign(ot,Li(X[ne],Fe,ne))}),ot;function $t(ne,Se){Fe&&(Se=Se.map(Me=>Me.toLowerCase())),Se.forEach(function(Me){const Y=Me.split("|");ot[Y[0]]=[ne,hi(Y[0],Y[1])]})}}function hi(X,Fe){return Fe?Number(Fe):Ui(X)?0:1}function Ui(X){return Oe.includes(X.toLowerCase())}const Wi={},ki=X=>{console.error(X)},dn=(X,...Fe)=>{console.log(`WARN: ${X}`,...Fe)},ln=(X,Fe)=>{Wi[`${X}/${Fe}`]||(console.log(`Deprecated as of ${X}. ${Fe}`),Wi[`${X}/${Fe}`]=!0)},Gi=new Error;function bn(X,Fe,{key:Ke}){let ot=0;const $t=X[Ke],ne={},Se={};for(let Me=1;Me<=Fe.length;Me++)Se[Me+ot]=$t[Me],ne[Me+ot]=!0,ot+=P(Fe[Me-1]);X[Ke]=Se,X[Ke]._emit=ne,X[Ke]._multi=!0}function vt(X){if(Array.isArray(X.begin)){if(X.skip||X.excludeBegin||X.returnBegin)throw ki("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Gi;if(typeof X.beginScope!="object"||X.beginScope===null)throw ki("beginScope must be object"),Gi;bn(X,X.begin,{key:"beginScope"}),X.begin=T(X.begin,{joinWith:""})}}function Gt(X){if(Array.isArray(X.end)){if(X.skip||X.excludeEnd||X.returnEnd)throw ki("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Gi;if(typeof X.endScope!="object"||X.endScope===null)throw ki("endScope must be object"),Gi;bn(X,X.end,{key:"endScope"}),X.end=T(X.end,{joinWith:""})}}function wi(X){X.scope&&typeof X.scope=="object"&&X.scope!==null&&(X.beginScope=X.scope,delete X.scope)}function zi(X){wi(X),typeof X.beginScope=="string"&&(X.beginScope={_wrap:X.beginScope}),typeof X.endScope=="string"&&(X.endScope={_wrap:X.endScope}),vt(X),Gt(X)}function Mi(X){function Fe(Se,Me){return new RegExp(g(Se),"m"+(X.case_insensitive?"i":"")+(X.unicodeRegex?"u":"")+(Me?"g":""))}class Ke{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Me,Y){Y.position=this.position++,this.matchIndexes[this.matchAt]=Y,this.regexes.push([Y,Me]),this.matchAt+=P(Me)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Me=this.regexes.map(Y=>Y[1]);this.matcherRe=Fe(T(Me,{joinWith:"|"}),!0),this.lastIndex=0}exec(Me){this.matcherRe.lastIndex=this.lastIndex;const Y=this.matcherRe.exec(Me);if(!Y)return null;const He=Y.findIndex((De,At)=>At>0&&De!==void 0),je=this.matchIndexes[He];return Y.splice(0,He),Object.assign(Y,je)}}class ot{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Me){if(this.multiRegexes[Me])return this.multiRegexes[Me];const Y=new Ke;return this.rules.slice(Me).forEach(([He,je])=>Y.addRule(He,je)),Y.compile(),this.multiRegexes[Me]=Y,Y}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Me,Y){this.rules.push([Me,Y]),Y.type==="begin"&&this.count++}exec(Me){const Y=this.getMatcher(this.regexIndex);Y.lastIndex=this.lastIndex;let He=Y.exec(Me);if(this.resumingScanAtSamePosition()&&!(He&&He.index===this.lastIndex)){const je=this.getMatcher(0);je.lastIndex=this.lastIndex+1,He=je.exec(Me)}return He&&(this.regexIndex+=He.position+1,this.regexIndex===this.count&&this.considerAll()),He}}function $t(Se){const Me=new ot;return Se.contains.forEach(Y=>Me.addRule(Y.begin,{rule:Y,type:"begin"})),Se.terminatorEnd&&Me.addRule(Se.terminatorEnd,{type:"end"}),Se.illegal&&Me.addRule(Se.illegal,{type:"illegal"}),Me}function ne(Se,Me){const Y=Se;if(Se.isCompiled)return Y;[ci,si,zi,et].forEach(je=>je(Se,Me)),X.compilerExtensions.forEach(je=>je(Se,Me)),Se.__beforeBegin=null,[Ci,Ai,Vt].forEach(je=>je(Se,Me)),Se.isCompiled=!0;let He=null;return typeof Se.keywords=="object"&&Se.keywords.$pattern&&(Se.keywords=Object.assign({},Se.keywords),He=Se.keywords.$pattern,delete Se.keywords.$pattern),He=He||/\w+/,Se.keywords&&(Se.keywords=Li(Se.keywords,X.case_insensitive)),Y.keywordPatternRe=Fe(He,!0),Me&&(Se.begin||(Se.begin=/\B|\b/),Y.beginRe=Fe(Y.begin),!Se.end&&!Se.endsWithParent&&(Se.end=/\B|\b/),Se.end&&(Y.endRe=Fe(Y.end)),Y.terminatorEnd=g(Y.end)||"",Se.endsWithParent&&Me.terminatorEnd&&(Y.terminatorEnd+=(Se.end?"|":"")+Me.terminatorEnd)),Se.illegal&&(Y.illegalRe=Fe(Se.illegal)),Se.contains||(Se.contains=[]),Se.contains=[].concat(...Se.contains.map(function(je){return Oi(je==="self"?Se:je)})),Se.contains.forEach(function(je){ne(je,Y)}),Se.starts&&ne(Se.starts,Me),Y.matcher=$t(Y),Y}if(X.compilerExtensions||(X.compilerExtensions=[]),X.contains&&X.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return X.classNameAliases=i(X.classNameAliases||{}),ne(X)}function Ri(X){return X?X.endsWithParent||Ri(X.starts):!1}function Oi(X){return X.variants&&!X.cachedVariants&&(X.cachedVariants=X.variants.map(function(Fe){return i(X,{variants:null},Fe)})),X.cachedVariants?X.cachedVariants:Ri(X)?i(X,{starts:X.starts?i(X.starts):null}):Object.isFrozen(X)?i(X):X}var Xi="11.11.1";class Ei extends Error{constructor(Fe,Ke){super(Fe),this.name="HTMLInjectionError",this.html=Ke}}const Qe=t,wt=i,Fi=Symbol("nomatch"),Bi=7,pi=function(X){const Fe=Object.create(null),Ke=Object.create(null),ot=[];let $t=!0;const ne="Could not find the language '{}', did you forget to load/include a language module?",Se={disableAutodetect:!0,name:"Plain text",contains:[]};let Me={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function Y(I){return Me.noHighlightRe.test(I)}function He(I){let W=I.className+" ";W+=I.parentNode?I.parentNode.className:"";const K=Me.languageDetectRe.exec(W);if(K){const le=Kt(K[1]);return le||(dn(ne.replace("{}",K[1])),dn("Falling back to no-highlight mode for this block.",I)),le?K[1]:"no-highlight"}return W.split(/\s+/).find(le=>Y(le)||Kt(le))}function je(I,W,K){let le="",Z="";typeof W=="object"?(le=I,K=W.ignoreIllegals,Z=W.language):(ln("10.7.0","highlight(lang, code, ...args) has been deprecated."),ln("10.7.0",`Please use highlight(code, options) instead.
80
- https://github.com/highlightjs/highlight.js/issues/2277`),Z=I,le=W),K===void 0&&(K=!0);const Q={code:le,language:Z};Tt("before:highlight",Q);const ce=Q.result?Q.result:De(Q.language,Q.code,K);return ce.code=Q.code,Tt("after:highlight",ce),ce}function De(I,W,K,le){const Z=Object.create(null);function Q(Re,at){return Re.keywords[at]}function ce(){if(!Ae.keywords){Ge.addText(Ve);return}let Re=0;Ae.keywordPatternRe.lastIndex=0;let at=Ae.keywordPatternRe.exec(Ve),Bt="";for(;at;){Bt+=Ve.substring(Re,at.index);const Nt=_e.case_insensitive?at[0].toLowerCase():at[0],_t=Q(Ae,Nt);if(_t){const[vi,Si]=_t;if(Ge.addText(Bt),Bt="",Z[Nt]=(Z[Nt]||0)+1,Z[Nt]<=Bi&&(Je+=Si),vi.startsWith("_"))Bt+=at[0];else{const qi=_e.classNameAliases[vi]||vi;xe(at[0],qi)}}else Bt+=at[0];Re=Ae.keywordPatternRe.lastIndex,at=Ae.keywordPatternRe.exec(Ve)}Bt+=Ve.substring(Re),Ge.addText(Bt)}function Xe(){if(Ve==="")return;let Re=null;if(typeof Ae.subLanguage=="string"){if(!Fe[Ae.subLanguage]){Ge.addText(Ve);return}Re=De(Ae.subLanguage,Ve,!0,xt[Ae.subLanguage]),xt[Ae.subLanguage]=Re._top}else Re=Ot(Ve,Ae.subLanguage.length?Ae.subLanguage:null);Ae.relevance>0&&(Je+=Re.relevance),Ge.__addSublanguage(Re._emitter,Re.language)}function ae(){Ae.subLanguage!=null?Xe():ce(),Ve=""}function xe(Re,at){Re!==""&&(Ge.startScope(at),Ge.addText(Re),Ge.endScope())}function Le(Re,at){let Bt=1;const Nt=at.length-1;for(;Bt<=Nt;){if(!Re._emit[Bt]){Bt++;continue}const _t=_e.classNameAliases[Re[Bt]]||Re[Bt],vi=at[Bt];_t?xe(vi,_t):(Ve=vi,ce(),Ve=""),Bt++}}function me(Re,at){return Re.scope&&typeof Re.scope=="string"&&Ge.openNode(_e.classNameAliases[Re.scope]||Re.scope),Re.beginScope&&(Re.beginScope._wrap?(xe(Ve,_e.classNameAliases[Re.beginScope._wrap]||Re.beginScope._wrap),Ve=""):Re.beginScope._multi&&(Le(Re.beginScope,at),Ve="")),Ae=Object.create(Re,{parent:{value:Ae}}),Ae}function Ie(Re,at,Bt){let Nt=M(Re.endRe,Bt);if(Nt){if(Re["on:end"]){const _t=new e(Re);Re["on:end"](at,_t),_t.isMatchIgnored&&(Nt=!1)}if(Nt){for(;Re.endsParent&&Re.parent;)Re=Re.parent;return Re}}if(Re.endsWithParent)return Ie(Re.parent,at,Bt)}function lt(Re){return Ae.matcher.regexIndex===0?(Ve+=Re[0],1):(Ft=!0,0)}function G(Re){const at=Re[0],Bt=Re.rule,Nt=new e(Bt),_t=[Bt.__beforeBegin,Bt["on:begin"]];for(const vi of _t)if(vi&&(vi(Re,Nt),Nt.isMatchIgnored))return lt(at);return Bt.skip?Ve+=at:(Bt.excludeBegin&&(Ve+=at),ae(),!Bt.returnBegin&&!Bt.excludeBegin&&(Ve=at)),me(Bt,Re),Bt.returnBegin?0:at.length}function re(Re){const at=Re[0],Bt=W.substring(Re.index),Nt=Ie(Ae,Re,Bt);if(!Nt)return Fi;const _t=Ae;Ae.endScope&&Ae.endScope._wrap?(ae(),xe(at,Ae.endScope._wrap)):Ae.endScope&&Ae.endScope._multi?(ae(),Le(Ae.endScope,Re)):_t.skip?Ve+=at:(_t.returnEnd||_t.excludeEnd||(Ve+=at),ae(),_t.excludeEnd&&(Ve=at));do Ae.scope&&Ge.closeNode(),!Ae.skip&&!Ae.subLanguage&&(Je+=Ae.relevance),Ae=Ae.parent;while(Ae!==Nt.parent);return Nt.starts&&me(Nt.starts,Re),_t.returnEnd?0:at.length}function Pe(){const Re=[];for(let at=Ae;at!==_e;at=at.parent)at.scope&&Re.unshift(at.scope);Re.forEach(at=>Ge.openNode(at))}let it={};function ge(Re,at){const Bt=at&&at[0];if(Ve+=Re,Bt==null)return ae(),0;if(it.type==="begin"&&at.type==="end"&&it.index===at.index&&Bt===""){if(Ve+=W.slice(at.index,at.index+1),!$t){const Nt=new Error(`0 width match regex (${I})`);throw Nt.languageName=I,Nt.badRule=it.rule,Nt}return 1}if(it=at,at.type==="begin")return G(at);if(at.type==="illegal"&&!K){const Nt=new Error('Illegal lexeme "'+Bt+'" for mode "'+(Ae.scope||"<unnamed>")+'"');throw Nt.mode=Ae,Nt}else if(at.type==="end"){const Nt=re(at);if(Nt!==Fi)return Nt}if(at.type==="illegal"&&Bt==="")return Ve+=`
81
- `,1;if(Ue>1e5&&Ue>at.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Ve+=Bt,Bt.length}const _e=Kt(I);if(!_e)throw ki(ne.replace("{}",I)),new Error('Unknown language: "'+I+'"');const ct=Mi(_e);let st="",Ae=le||ct;const xt={},Ge=new Me.__emitter(Me);Pe();let Ve="",Je=0,Ct=0,Ue=0,Ft=!1;try{if(_e.__emitTokens)_e.__emitTokens(W,Ge);else{for(Ae.matcher.considerAll();;){Ue++,Ft?Ft=!1:Ae.matcher.considerAll(),Ae.matcher.lastIndex=Ct;const Re=Ae.matcher.exec(W);if(!Re)break;const at=W.substring(Ct,Re.index),Bt=ge(at,Re);Ct=Re.index+Bt}ge(W.substring(Ct))}return Ge.finalize(),st=Ge.toHTML(),{language:I,value:st,relevance:Je,illegal:!1,_emitter:Ge,_top:Ae}}catch(Re){if(Re.message&&Re.message.includes("Illegal"))return{language:I,value:Qe(W),illegal:!0,relevance:0,_illegalBy:{message:Re.message,index:Ct,context:W.slice(Ct-100,Ct+100),mode:Re.mode,resultSoFar:st},_emitter:Ge};if($t)return{language:I,value:Qe(W),illegal:!1,relevance:0,errorRaised:Re,_emitter:Ge,_top:Ae};throw Re}}function At(I){const W={value:Qe(I),illegal:!1,relevance:0,_top:Se,_emitter:new Me.__emitter(Me)};return W._emitter.addText(I),W}function Ot(I,W){W=W||Me.languages||Object.keys(Fe);const K=At(I),le=W.filter(Kt).filter(Ze).map(ae=>De(ae,I,!1));le.unshift(K);const Z=le.sort((ae,xe)=>{if(ae.relevance!==xe.relevance)return xe.relevance-ae.relevance;if(ae.language&&xe.language){if(Kt(ae.language).supersetOf===xe.language)return 1;if(Kt(xe.language).supersetOf===ae.language)return-1}return 0}),[Q,ce]=Z,Xe=Q;return Xe.secondBest=ce,Xe}function ni(I,W,K){const le=W&&Ke[W]||K;I.classList.add("hljs"),I.classList.add(`language-${le}`)}function ii(I){let W=null;const K=He(I);if(Y(K))return;if(Tt("before:highlightElement",{el:I,language:K}),I.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",I);return}if(I.children.length>0&&(Me.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(I)),Me.throwUnescapedHTML))throw new Ei("One of your code blocks includes unescaped HTML.",I.innerHTML);W=I;const le=W.textContent,Z=K?je(le,{language:K,ignoreIllegals:!0}):Ot(le);I.innerHTML=Z.value,I.dataset.highlighted="yes",ni(I,K,Z.language),I.result={language:Z.language,re:Z.relevance,relevance:Z.relevance},Z.secondBest&&(I.secondBest={language:Z.secondBest.language,relevance:Z.secondBest.relevance}),Tt("after:highlightElement",{el:I,result:Z,text:le})}function xi(I){Me=wt(Me,I)}const jt=()=>{tt(),ln("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function mi(){tt(),ln("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let ze=!1;function tt(){function I(){tt()}if(document.readyState==="loading"){ze||window.addEventListener("DOMContentLoaded",I,!1),ze=!0;return}document.querySelectorAll(Me.cssSelector).forEach(ii)}function Yt(I,W){let K=null;try{K=W(X)}catch(le){if(ki("Language definition for '{}' could not be registered.".replace("{}",I)),$t)ki(le);else throw le;K=Se}K.name||(K.name=I),Fe[I]=K,K.rawDefinition=W.bind(null,X),K.aliases&&pe(K.aliases,{languageName:I})}function qt(I){delete Fe[I];for(const W of Object.keys(Ke))Ke[W]===I&&delete Ke[W]}function fi(){return Object.keys(Fe)}function Kt(I){return I=(I||"").toLowerCase(),Fe[I]||Fe[Ke[I]]}function pe(I,{languageName:W}){typeof I=="string"&&(I=[I]),I.forEach(K=>{Ke[K.toLowerCase()]=W})}function Ze(I){const W=Kt(I);return W&&!W.disableAutodetect}function dt(I){I["before:highlightBlock"]&&!I["before:highlightElement"]&&(I["before:highlightElement"]=W=>{I["before:highlightBlock"](Object.assign({block:W.el},W))}),I["after:highlightBlock"]&&!I["after:highlightElement"]&&(I["after:highlightElement"]=W=>{I["after:highlightBlock"](Object.assign({block:W.el},W))})}function ht(I){dt(I),ot.push(I)}function Wt(I){const W=ot.indexOf(I);W!==-1&&ot.splice(W,1)}function Tt(I,W){const K=I;ot.forEach(function(le){le[K]&&le[K](W)})}function di(I){return ln("10.7.0","highlightBlock will be removed entirely in v12.0"),ln("10.7.0","Please use highlightElement now."),ii(I)}Object.assign(X,{highlight:je,highlightAuto:Ot,highlightAll:tt,highlightElement:ii,highlightBlock:di,configure:xi,initHighlighting:jt,initHighlightingOnLoad:mi,registerLanguage:Yt,unregisterLanguage:qt,listLanguages:fi,getLanguage:Kt,registerAliases:pe,autoDetection:Ze,inherit:wt,addPlugin:ht,removePlugin:Wt}),X.debugMode=function(){$t=!1},X.safeMode=function(){$t=!0},X.versionString=Xi,X.regex={concat:y,lookahead:p,either:A,optional:b,anyNumberOfTimes:C};for(const I in Ye)typeof Ye[I]=="object"&&o(Ye[I]);return Object.assign(X,Ye),X},Ti=pi({});return Ti.newInstance=()=>pi({}),$C=Ti,Ti.HighlightJS=Ti,Ti.default=Ti,$C}var XU=ZU();const Rv=cS(XU),gA="[A-Za-z$_][0-9A-Za-z$_]*",YU=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],QU=["true","false","null","undefined","NaN","Infinity"],SF=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],DF=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],AF=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],JU=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],eq=[].concat(AF,SF,DF);function kF(o){const e=o.regex,t=(ve,{after:rt})=>{const We="</"+ve[0].slice(1);return ve.input.indexOf(We,rt)!==-1},i=gA,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(ve,rt)=>{const We=ve[0].length+ve.index,ye=ve.input[We];if(ye==="<"||ye===","){rt.ignoreMatch();return}ye===">"&&(t(ve,{after:We})||rt.ignoreMatch());let gt;const Rt=ve.input.substring(We);if(gt=Rt.match(/^\s*=/)){rt.ignoreMatch();return}if((gt=Rt.match(/^\s+extends\s+/))&&gt.index===0){rt.ignoreMatch();return}}},a={$pattern:gA,keyword:YU,literal:QU,built_in:eq,"variable.language":JU},d="[0-9](_?[0-9])*",u=`\\.(${d})`,f="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${f})((${u})|\\.)?|(${u}))[eE][+-]?(${d})\\b`},{begin:`\\b(${f})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},C={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"css"}},y={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},w={className:"string",begin:"`",end:"`",contains:[o.BACKSLASH_ESCAPE,p]},P={className:"comment",variants:[o.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),o.C_BLOCK_COMMENT_MODE,o.C_LINE_COMMENT_MODE]},M=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,C,b,y,w,{match:/\$\d+/},g];p.contains=M.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(M)});const R=[].concat(P,p.contains),T=R.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(R)}]),V={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:T},H={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},J={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...SF,...DF]}},se={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},ue={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[V],illegal:/%/},ie={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function de(ve){return e.concat("(?!",ve.join("|"),")")}const Ce={match:e.concat(/\b/,de([...AF,"super","import"].map(ve=>`${ve}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},oe={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},fe={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},V]},Be="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Ne={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(Be)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[V]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:T,CLASS_REFERENCE:J},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),se,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,C,b,y,w,P,{match:/\$\d+/},g,J,{scope:"attr",match:i+e.lookahead(":"),relevance:0},Ne,{begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[P,o.REGEXP_MODE,{className:"function",begin:Be,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:T}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:n.begin,end:n.end},{match:s},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},ue,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[V,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},oe,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[V]},Ce,ie,H,fe,{match:/\$[(.]/}]}}function dS(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Zu=dS();function BF(o){Zu=o}var cd={exec:()=>null};function Ch(o){let e=[];return t=>{let i=Math.max(0,Math.min(3,t-1)),n=e[i];return n||(n=o(i),e[i]=n),n}}function Gn(o,e=""){let t=typeof o=="string"?o:o.source,i={replace:(n,s)=>{let r=typeof s=="string"?s:s.source;return r=r.replace(bo.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var tq=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),bo={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:o=>new RegExp(`^( {0,3}${o})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:Ch(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Ch(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:Ch(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:Ch(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:Ch(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:Ch(o=>new RegExp(`^ {0,${o}}>`))},iq=/^(?:[ \t]*(?:\n|$))+/,nq=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,sq=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,qp=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,oq=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,uS=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,FF=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,LF=Gn(FF).replace(/bull/g,uS).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),rq=Gn(FF).replace(/bull/g,uS).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),hS=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,aq=/^[^\n]+/,fS=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,lq=Gn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",fS).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),cq=Gn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,uS).getRegex(),kb="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",gS=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,dq=Gn("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",gS).replace("tag",kb).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),IF=Gn(hS).replace("hr",qp).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",kb).getRegex(),uq=Gn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",IF).getRegex(),pS={blockquote:uq,code:nq,def:lq,fences:sq,heading:oq,hr:qp,html:dq,lheading:LF,list:cq,newline:iq,paragraph:IF,table:cd,text:aq},pA=Gn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",qp).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",kb).getRegex(),hq={...pS,lheading:rq,table:pA,paragraph:Gn(hS).replace("hr",qp).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",pA).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",kb).getRegex()},fq={...pS,html:Gn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",gS).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:cd,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Gn(hS).replace("hr",qp).replace("heading",` *#{1,6} *[^
82
- ]`).replace("lheading",LF).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},gq=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,pq=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,PF=/^( {2,}|\\)\n(?!\s*$)/,xq=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,af=/[\p{P}\p{S}]/u,Bb=/[\s\p{P}\p{S}]/u,xS=/[^\s\p{P}\p{S}]/u,mq=Gn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Bb).getRegex(),TF=/(?!~)[\p{P}\p{S}]/u,vq=/(?!~)[\s\p{P}\p{S}]/u,_q=/(?:[^\s\p{P}\p{S}]|~)/u,bq=Gn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",tq?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),MF=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Cq=Gn(MF,"u").replace(/punct/g,af).getRegex(),Eq=Gn(MF,"u").replace(/punct/g,TF).getRegex(),RF="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",yq=Gn(RF,"gu").replace(/notPunctSpace/g,xS).replace(/punctSpace/g,Bb).replace(/punct/g,af).getRegex(),wq=Gn(RF,"gu").replace(/notPunctSpace/g,_q).replace(/punctSpace/g,vq).replace(/punct/g,TF).getRegex(),Sq=Gn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,xS).replace(/punctSpace/g,Bb).replace(/punct/g,af).getRegex(),Dq=Gn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,af).getRegex(),Aq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",kq=Gn(Aq,"gu").replace(/notPunctSpace/g,xS).replace(/punctSpace/g,Bb).replace(/punct/g,af).getRegex(),Bq=Gn(/\\(punct)/,"gu").replace(/punct/g,af).getRegex(),Fq=Gn(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Lq=Gn(gS).replace("(?:-->|$)","-->").getRegex(),Iq=Gn("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Lq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Nv=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Pq=Gn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Nv).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),NF=Gn(/^!?\[(label)\]\[(ref)\]/).replace("label",Nv).replace("ref",fS).getRegex(),OF=Gn(/^!?\[(ref)\](?:\[\])?/).replace("ref",fS).getRegex(),Tq=Gn("reflink|nolink(?!\\()","g").replace("reflink",NF).replace("nolink",OF).getRegex(),xA=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,mS={_backpedal:cd,anyPunctuation:Bq,autolink:Fq,blockSkip:bq,br:PF,code:pq,del:cd,delLDelim:cd,delRDelim:cd,emStrongLDelim:Cq,emStrongRDelimAst:yq,emStrongRDelimUnd:Sq,escape:gq,link:Pq,nolink:OF,punctuation:mq,reflink:NF,reflinkSearch:Tq,tag:Iq,text:xq,url:cd},Mq={...mS,link:Gn(/^!?\[(label)\]\((.*?)\)/).replace("label",Nv).getRegex(),reflink:Gn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Nv).getRegex()},pw={...mS,emStrongRDelimAst:wq,emStrongLDelim:Eq,delLDelim:Dq,delRDelim:kq,url:Gn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",xA).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:Gn(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",xA).getRegex()},Rq={...pw,br:Gn(PF).replace("{2,}","*").getRegex(),text:Gn(pw.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Wx={normal:pS,gfm:hq,pedantic:fq},Pf={normal:mS,gfm:pw,breaks:Rq,pedantic:Mq},Nq={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},mA=o=>Nq[o];function Ea(o,e){if(e){if(bo.escapeTest.test(o))return o.replace(bo.escapeReplace,mA)}else if(bo.escapeTestNoEncode.test(o))return o.replace(bo.escapeReplaceNoEncode,mA);return o}function vA(o){try{o=encodeURI(o).replace(bo.percentDecode,"%")}catch{return null}return o}function _A(o,e){var s;let t=o.replace(bo.findPipe,(r,a,d)=>{let u=!1,f=a;for(;--f>=0&&d[f]==="\\";)u=!u;return u?"|":" |"}),i=t.split(bo.splitPipe),n=0;if(i[0].trim()||i.shift(),i.length>0&&!((s=i.at(-1))!=null&&s.trim())&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length<e;)i.push("");for(;n<i.length;n++)i[n]=i[n].trim().replace(bo.slashPipe,"|");return i}function Kl(o,e,t){let i=o.length;if(i===0)return"";let n=0;for(;n<i&&o.charAt(i-n-1)===e;)n++;return o.slice(0,i-n)}function bA(o){let e=o.split(`
83
- `),t=e.length-1;for(;t>=0&&bo.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
84
- `)}function Oq(o,e){if(o.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<o.length;i++)if(o[i]==="\\")i++;else if(o[i]===e[0])t++;else if(o[i]===e[1]&&(t--,t<0))return i;return t>0?-2:-1}function Hq(o,e=0){let t=e,i="";for(let n of o)if(n===" "){let s=4-t%4;i+=" ".repeat(s),t+=s}else i+=n,t++;return i}function CA(o,e,t,i,n){let s=e.href,r=e.title||null,a=o[1].replace(n.other.outputLinkReplace,"$1");i.state.inLink=!0;let d={type:o[0].charAt(0)==="!"?"image":"link",raw:t,href:s,title:r,text:a,tokens:i.inlineTokens(a)};return i.state.inLink=!1,d}function Wq(o,e,t){let i=o.match(t.other.indentCodeCompensation);if(i===null)return e;let n=i[1];return e.split(`
85
- `).map(s=>{let r=s.match(t.other.beginningSpace);if(r===null)return s;let[a]=r;return a.length>=n.length?s.slice(n.length):s}).join(`
86
- `)}var Ov=class{constructor(o){wn(this,"options");wn(this,"rules");wn(this,"lexer");this.options=o||Zu}space(o){let e=this.rules.block.newline.exec(o);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(o){let e=this.rules.block.code.exec(o);if(e){let t=this.options.pedantic?e[0]:bA(e[0]),i=t.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t,codeBlockStyle:"indented",text:i}}}fences(o){let e=this.rules.block.fences.exec(o);if(e){let t=e[0],i=Wq(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:i}}}heading(o){let e=this.rules.block.heading.exec(o);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let i=Kl(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:Kl(e[0],`
87
- `),depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(o){let e=this.rules.block.hr.exec(o);if(e)return{type:"hr",raw:Kl(e[0],`
88
- `)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=Kl(e[0],`
89
- `).split(`
90
- `),i="",n="",s=[];for(;t.length>0;){let r=!1,a=[],d;for(d=0;d<t.length;d++)if(this.rules.other.blockquoteStart.test(t[d]))a.push(t[d]),r=!0;else if(!r)a.push(t[d]);else break;t=t.slice(d);let u=a.join(`
91
- `),f=u.replace(this.rules.other.blockquoteSetextReplace,`
92
- $1`).replace(this.rules.other.blockquoteSetextReplace2,"");i=i?`${i}
93
- ${u}`:u,n=n?`${n}
94
- ${f}`:f;let g=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(f,s,!0),this.lexer.state.top=g,t.length===0)break;let p=s.at(-1);if((p==null?void 0:p.type)==="code")break;if((p==null?void 0:p.type)==="blockquote"){let C=p,b=C.raw+`
95
- `+t.join(`
96
- `),y=this.blockquote(b);s[s.length-1]=y,i=i.substring(0,i.length-C.raw.length)+y.raw,n=n.substring(0,n.length-C.text.length)+y.text;break}else if((p==null?void 0:p.type)==="list"){let C=p,b=C.raw+`
97
- `+t.join(`
98
- `),y=this.list(b);s[s.length-1]=y,i=i.substring(0,i.length-p.raw.length)+y.raw,n=n.substring(0,n.length-C.raw.length)+y.raw,t=b.substring(s.at(-1).raw.length).split(`
99
- `);continue}}return{type:"blockquote",raw:i,tokens:s,text:n}}}list(o){let e=this.rules.block.list.exec(o);if(e){let t=e[1].trim(),i=t.length>1,n={type:"list",raw:"",ordered:i,start:i?+t.slice(0,-1):"",loose:!1,items:[]};t=i?`\\d{1,9}\\${t.slice(-1)}`:`\\${t}`,this.options.pedantic&&(t=i?t:"[*+-]");let s=this.rules.other.listItemRegex(t),r=!1;for(;o;){let d=!1,u="",f="";if(!(e=s.exec(o))||this.rules.block.hr.test(o))break;u=e[0],o=o.substring(u.length);let g=Hq(e[2].split(`
100
- `,1)[0],e[1].length),p=o.split(`
101
- `,1)[0],C=!g.trim(),b=0;if(this.options.pedantic?(b=2,f=g.trimStart()):C?b=e[1].length+1:(b=g.search(this.rules.other.nonSpaceChar),b=b>4?1:b,f=g.slice(b),b+=e[1].length),C&&this.rules.other.blankLine.test(p)&&(u+=p+`
102
- `,o=o.substring(p.length+1),d=!0),!d){let y=this.rules.other.nextBulletRegex(b),w=this.rules.other.hrRegex(b),A=this.rules.other.fencesBeginRegex(b),P=this.rules.other.headingBeginRegex(b),M=this.rules.other.htmlBeginRegex(b),R=this.rules.other.blockquoteBeginRegex(b);for(;o;){let T=o.split(`
103
- `,1)[0],V;if(p=T,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),V=p):V=p.replace(this.rules.other.tabCharGlobal," "),A.test(p)||P.test(p)||M.test(p)||R.test(p)||y.test(p)||w.test(p))break;if(V.search(this.rules.other.nonSpaceChar)>=b||!p.trim())f+=`
104
- `+V.slice(b);else{if(C||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||A.test(g)||P.test(g)||w.test(g))break;f+=`
105
- `+p}C=!p.trim(),u+=T+`
106
- `,o=o.substring(T.length+1),g=V.slice(b)}}n.loose||(r?n.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(r=!0)),n.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(f),loose:!1,text:f,tokens:[]}),n.raw+=u}let a=n.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;n.raw=n.raw.trimEnd();for(let d of n.items){this.lexer.state.top=!1,d.tokens=this.lexer.blockTokens(d.text,[]);let u=d.tokens[0];if(d.task&&((u==null?void 0:u.type)==="text"||(u==null?void 0:u.type)==="paragraph")){d.text=d.text.replace(this.rules.other.listReplaceTask,""),u.raw=u.raw.replace(this.rules.other.listReplaceTask,""),u.text=u.text.replace(this.rules.other.listReplaceTask,"");for(let g=this.lexer.inlineQueue.length-1;g>=0;g--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[g].src)){this.lexer.inlineQueue[g].src=this.lexer.inlineQueue[g].src.replace(this.rules.other.listReplaceTask,"");break}let f=this.rules.other.listTaskCheckbox.exec(d.raw);if(f){let g={type:"checkbox",raw:f[0]+" ",checked:f[0]!=="[ ]"};d.checked=g.checked,n.loose?d.tokens[0]&&["paragraph","text"].includes(d.tokens[0].type)&&"tokens"in d.tokens[0]&&d.tokens[0].tokens?(d.tokens[0].raw=g.raw+d.tokens[0].raw,d.tokens[0].text=g.raw+d.tokens[0].text,d.tokens[0].tokens.unshift(g)):d.tokens.unshift({type:"paragraph",raw:g.raw,text:g.raw,tokens:[g]}):d.tokens.unshift(g)}}else d.task&&(d.task=!1);if(!n.loose){let f=d.tokens.filter(p=>p.type==="space"),g=f.length>0&&f.some(p=>this.rules.other.anyLine.test(p.raw));n.loose=g}}if(n.loose)for(let d of n.items){d.loose=!0;for(let u of d.tokens)u.type==="text"&&(u.type="paragraph")}return n}}html(o){let e=this.rules.block.html.exec(o);if(e){let t=bA(e[0]);return{type:"html",block:!0,raw:t,pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:t}}}def(o){let e=this.rules.block.def.exec(o);if(e){let t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:Kl(e[0],`
107
- `),href:i,title:n}}}table(o){var r;let e=this.rules.block.table.exec(o);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let t=_A(e[1]),i=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),n=(r=e[3])!=null&&r.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
108
- `):[],s={type:"table",raw:Kl(e[0],`
109
- `),header:[],align:[],rows:[]};if(t.length===i.length){for(let a of i)this.rules.other.tableAlignRight.test(a)?s.align.push("right"):this.rules.other.tableAlignCenter.test(a)?s.align.push("center"):this.rules.other.tableAlignLeft.test(a)?s.align.push("left"):s.align.push(null);for(let a=0;a<t.length;a++)s.header.push({text:t[a],tokens:this.lexer.inline(t[a]),header:!0,align:s.align[a]});for(let a of n)s.rows.push(_A(a,s.header.length).map((d,u)=>({text:d,tokens:this.lexer.inline(d),header:!1,align:s.align[u]})));return s}}lheading(o){let e=this.rules.block.lheading.exec(o);if(e){let t=e[1].trim();return{type:"heading",raw:Kl(e[0],`
110
- `),depth:e[2].charAt(0)==="="?1:2,text:t,tokens:this.lexer.inline(t)}}}paragraph(o){let e=this.rules.block.paragraph.exec(o);if(e){let t=e[1].charAt(e[1].length-1)===`
111
- `?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(o){let e=this.rules.block.text.exec(o);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(o){let e=this.rules.inline.escape.exec(o);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(o){let e=this.rules.inline.tag.exec(o);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(o){let e=this.rules.inline.link.exec(o);if(e){let t=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let s=Kl(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=Oq(e[2],"()");if(s===-2)return;if(s>-1){let r=(e[0].indexOf("!")===0?5:4)+e[1].length+s;e[2]=e[2].substring(0,s),e[0]=e[0].substring(0,r).trim(),e[3]=""}}let i=e[2],n="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],n=s[3])}else n=e[3]?e[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(t)?i=i.slice(1):i=i.slice(1,-1)),CA(e,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:n&&n.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(o,e){let t;if((t=this.rules.inline.reflink.exec(o))||(t=this.rules.inline.nolink.exec(o))){let i=(t[2]||t[1]).replace(this.rules.other.multipleSpaceGlobal," "),n=e[i.toLowerCase()];if(!n){let s=t[0].charAt(0);return{type:"text",raw:s,text:s}}return CA(t,n,t[0],this.lexer,this.rules)}}emStrong(o,e,t=""){let i=this.rules.inline.emStrongLDelim.exec(o);if(!(!i||!i[1]&&!i[2]&&!i[3]&&!i[4]||i[4]&&t.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[3])||!t||this.rules.inline.punctuation.exec(t))){let n=[...i[0]].length-1,s,r,a=n,d=0,u=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,e=e.slice(-1*o.length+n);(i=u.exec(e))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(r=[...s].length,i[3]||i[4]){a+=r;continue}else if((i[5]||i[6])&&n%3&&!((n+r)%3)){d+=r;continue}if(a-=r,a>0)continue;r=Math.min(r,r+a+d);let f=[...i[0]][0].length,g=o.slice(0,n+i.index+f+r);if(Math.min(n,r)%2){let C=g.slice(1,-1);return{type:"em",raw:g,text:C,tokens:this.lexer.inlineTokens(C)}}let p=g.slice(2,-2);return{type:"strong",raw:g,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(o){let e=this.rules.inline.code.exec(o);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(t),n=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return i&&n&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:e[0],text:t}}}br(o){let e=this.rules.inline.br.exec(o);if(e)return{type:"br",raw:e[0]}}del(o,e,t=""){let i=this.rules.inline.delLDelim.exec(o);if(i&&(!i[1]||!t||this.rules.inline.punctuation.exec(t))){let n=[...i[0]].length-1,s,r,a=n,d=this.rules.inline.delRDelim;for(d.lastIndex=0,e=e.slice(-1*o.length+n);(i=d.exec(e))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s||(r=[...s].length,r!==n))continue;if(i[3]||i[4]){a+=r;continue}if(a-=r,a>0)continue;r=Math.min(r,r+a);let u=[...i[0]][0].length,f=o.slice(0,n+i.index+u+r),g=f.slice(n,-n);return{type:"del",raw:f,text:g,tokens:this.lexer.inlineTokens(g)}}}}autolink(o){let e=this.rules.inline.autolink.exec(o);if(e){let t,i;return e[2]==="@"?(t=e[1],i="mailto:"+t):(t=e[1],i=t),{type:"link",raw:e[0],text:t,href:i,tokens:[{type:"text",raw:t,text:t}]}}}url(o){var t;let e;if(e=this.rules.inline.url.exec(o)){let i,n;if(e[2]==="@")i=e[0],n="mailto:"+i;else{let s;do s=e[0],e[0]=((t=this.rules.inline._backpedal.exec(e[0]))==null?void 0:t[0])??"";while(s!==e[0]);i=e[0],e[1]==="www."?n="http://"+e[0]:n=e[0]}return{type:"link",raw:e[0],text:i,href:n,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(o){let e=this.rules.inline.text.exec(o);if(e){let t=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:t}}}},Yr=class xw{constructor(e){wn(this,"tokens");wn(this,"options");wn(this,"state");wn(this,"inlineQueue");wn(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Zu,this.options.tokenizer=this.options.tokenizer||new Ov,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:bo,block:Wx.normal,inline:Pf.normal};this.options.pedantic?(t.block=Wx.pedantic,t.inline=Pf.pedantic):this.options.gfm&&(t.block=Wx.gfm,this.options.breaks?t.inline=Pf.breaks:t.inline=Pf.gfm),this.tokenizer.rules=t}static get rules(){return{block:Wx,inline:Pf}}static lex(e,t){return new xw(t).lex(e)}static lexInline(e,t){return new xw(t).inlineTokens(e)}lex(e){e=e.replace(bo.carriageReturn,`
112
- `),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){var s,r,a;this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(bo.tabCharGlobal," ").replace(bo.spaceLine,""));let n=1/0;for(;e;){if(e.length<n)n=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let d;if((r=(s=this.options.extensions)==null?void 0:s.block)!=null&&r.some(f=>(d=f.call({lexer:this},e,t))?(e=e.substring(d.raw.length),t.push(d),!0):!1))continue;if(d=this.tokenizer.space(e)){e=e.substring(d.raw.length);let f=t.at(-1);d.raw.length===1&&f!==void 0?f.raw+=`
113
- `:t.push(d);continue}if(d=this.tokenizer.code(e)){e=e.substring(d.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="paragraph"||(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
114
- `)?"":`
115
- `)+d.raw,f.text+=`
116
- `+d.text,this.inlineQueue.at(-1).src=f.text):t.push(d);continue}if(d=this.tokenizer.fences(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.heading(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.hr(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.blockquote(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.list(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.html(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.def(e)){e=e.substring(d.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="paragraph"||(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
117
- `)?"":`
118
- `)+d.raw,f.text+=`
119
- `+d.raw,this.inlineQueue.at(-1).src=f.text):this.tokens.links[d.tag]||(this.tokens.links[d.tag]={href:d.href,title:d.title},t.push(d));continue}if(d=this.tokenizer.table(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.lheading(e)){e=e.substring(d.raw.length),t.push(d);continue}let u=e;if((a=this.options.extensions)!=null&&a.startBlock){let f=1/0,g=e.slice(1),p;this.options.extensions.startBlock.forEach(C=>{p=C.call({lexer:this},g),typeof p=="number"&&p>=0&&(f=Math.min(f,p))}),f<1/0&&f>=0&&(u=e.substring(0,f+1))}if(this.state.top&&(d=this.tokenizer.paragraph(u))){let f=t.at(-1);i&&(f==null?void 0:f.type)==="paragraph"?(f.raw+=(f.raw.endsWith(`
120
- `)?"":`
121
- `)+d.raw,f.text+=`
122
- `+d.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):t.push(d),i=u.length!==e.length,e=e.substring(d.raw.length);continue}if(d=this.tokenizer.text(e)){e=e.substring(d.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
123
- `)?"":`
124
- `)+d.raw,f.text+=`
125
- `+d.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):t.push(d);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){var u,f,g,p,C;this.tokenizer.lexer=this;let i=e,n=null;if(this.tokens.links){let b=Object.keys(this.tokens.links);if(b.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(i))!==null;)b.includes(n[0].slice(n[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(n=this.tokenizer.rules.inline.anyPunctuation.exec(i))!==null;)i=i.slice(0,n.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let s;for(;(n=this.tokenizer.rules.inline.blockSkip.exec(i))!==null;)s=n[2]?n[2].length:0,i=i.slice(0,n.index+s)+"["+"a".repeat(n[0].length-s-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);i=((f=(u=this.options.hooks)==null?void 0:u.emStrongMask)==null?void 0:f.call({lexer:this},i))??i;let r=!1,a="",d=1/0;for(;e;){if(e.length<d)d=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(a=""),r=!1;let b;if((p=(g=this.options.extensions)==null?void 0:g.inline)!=null&&p.some(w=>(b=w.call({lexer:this},e,t))?(e=e.substring(b.raw.length),t.push(b),!0):!1))continue;if(b=this.tokenizer.escape(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.tag(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.link(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(b.raw.length);let w=t.at(-1);b.type==="text"&&(w==null?void 0:w.type)==="text"?(w.raw+=b.raw,w.text+=b.text):t.push(b);continue}if(b=this.tokenizer.emStrong(e,i,a)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.codespan(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.br(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.del(e,i,a)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.autolink(e)){e=e.substring(b.raw.length),t.push(b);continue}if(!this.state.inLink&&(b=this.tokenizer.url(e))){e=e.substring(b.raw.length),t.push(b);continue}let y=e;if((C=this.options.extensions)!=null&&C.startInline){let w=1/0,A=e.slice(1),P;this.options.extensions.startInline.forEach(M=>{P=M.call({lexer:this},A),typeof P=="number"&&P>=0&&(w=Math.min(w,P))}),w<1/0&&w>=0&&(y=e.substring(0,w+1))}if(b=this.tokenizer.inlineText(y)){e=e.substring(b.raw.length),b.raw.slice(-1)!=="_"&&(a=b.raw.slice(-1)),r=!0;let w=t.at(-1);(w==null?void 0:w.type)==="text"?(w.raw+=b.raw,w.text+=b.text):t.push(b);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t="Infinite loop on byte: "+e;if(this.options.silent)console.error(t);else throw new Error(t)}},Hv=class{constructor(o){wn(this,"options");wn(this,"parser");this.options=o||Zu}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(bo.notSpaceStart))==null?void 0:s[0],n=o.replace(bo.endingNewline,"")+`
126
- `;return i?'<pre><code class="language-'+Ea(i)+'">'+(t?n:Ea(n,!0))+`</code></pre>
127
- `:"<pre><code>"+(t?n:Ea(n,!0))+`</code></pre>
128
- `}blockquote({tokens:o}){return`<blockquote>
129
- ${this.parser.parse(o)}</blockquote>
130
- `}html({text:o}){return o}def(o){return""}heading({tokens:o,depth:e}){return`<h${e}>${this.parser.parseInline(o)}</h${e}>
131
- `}hr(o){return`<hr>
132
- `}list(o){let e=o.ordered,t=o.start,i="";for(let r=0;r<o.items.length;r++){let a=o.items[r];i+=this.listitem(a)}let n=e?"ol":"ul",s=e&&t!==1?' start="'+t+'"':"";return"<"+n+s+`>
133
- `+i+"</"+n+`>
134
- `}listitem(o){return`<li>${this.parser.parse(o.tokens)}</li>
135
- `}checkbox({checked:o}){return"<input "+(o?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:o}){return`<p>${this.parser.parseInline(o)}</p>
136
- `}table(o){let e="",t="";for(let n=0;n<o.header.length;n++)t+=this.tablecell(o.header[n]);e+=this.tablerow({text:t});let i="";for(let n=0;n<o.rows.length;n++){let s=o.rows[n];t="";for(let r=0;r<s.length;r++)t+=this.tablecell(s[r]);i+=this.tablerow({text:t})}return i&&(i=`<tbody>${i}</tbody>`),`<table>
137
- <thead>
138
- `+e+`</thead>
139
- `+i+`</table>
140
- `}tablerow({text:o}){return`<tr>
141
- ${o}</tr>
142
- `}tablecell(o){let e=this.parser.parseInline(o.tokens),t=o.header?"th":"td";return(o.align?`<${t} align="${o.align}">`:`<${t}>`)+e+`</${t}>
143
- `}strong({tokens:o}){return`<strong>${this.parser.parseInline(o)}</strong>`}em({tokens:o}){return`<em>${this.parser.parseInline(o)}</em>`}codespan({text:o}){return`<code>${Ea(o,!0)}</code>`}br(o){return"<br>"}del({tokens:o}){return`<del>${this.parser.parseInline(o)}</del>`}link({href:o,title:e,tokens:t}){let i=this.parser.parseInline(t),n=vA(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+Ea(e)+'"'),s+=">"+i+"</a>",s}image({href:o,title:e,text:t,tokens:i}){i&&(t=this.parser.parseInline(i,this.parser.textRenderer));let n=vA(o);if(n===null)return Ea(t);o=n;let s=`<img src="${o}" alt="${Ea(t)}"`;return e&&(s+=` title="${Ea(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:Ea(o.text)}},vS=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},Qr=class mw{constructor(e){wn(this,"options");wn(this,"renderer");wn(this,"textRenderer");this.options=e||Zu,this.options.renderer=this.options.renderer||new Hv,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new vS}static parse(e,t){return new mw(t).parse(e)}static parseInline(e,t){return new mw(t).parseInline(e)}parse(e){var i,n;this.renderer.parser=this;let t="";for(let s=0;s<e.length;s++){let r=e[s];if((n=(i=this.options.extensions)==null?void 0:i.renderers)!=null&&n[r.type]){let d=r,u=this.options.extensions.renderers[d.type].call({parser:this},d);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(d.type)){t+=u||"";continue}}let a=r;switch(a.type){case"space":{t+=this.renderer.space(a);break}case"hr":{t+=this.renderer.hr(a);break}case"heading":{t+=this.renderer.heading(a);break}case"code":{t+=this.renderer.code(a);break}case"table":{t+=this.renderer.table(a);break}case"blockquote":{t+=this.renderer.blockquote(a);break}case"list":{t+=this.renderer.list(a);break}case"checkbox":{t+=this.renderer.checkbox(a);break}case"html":{t+=this.renderer.html(a);break}case"def":{t+=this.renderer.def(a);break}case"paragraph":{t+=this.renderer.paragraph(a);break}case"text":{t+=this.renderer.text(a);break}default:{let d='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(d),"";throw new Error(d)}}}return t}parseInline(e,t=this.renderer){var n,s;this.renderer.parser=this;let i="";for(let r=0;r<e.length;r++){let a=e[r];if((s=(n=this.options.extensions)==null?void 0:n.renderers)!=null&&s[a.type]){let u=this.options.extensions.renderers[a.type].call({parser:this},a);if(u!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){i+=u||"";continue}}let d=a;switch(d.type){case"escape":{i+=t.text(d);break}case"html":{i+=t.html(d);break}case"link":{i+=t.link(d);break}case"image":{i+=t.image(d);break}case"checkbox":{i+=t.checkbox(d);break}case"strong":{i+=t.strong(d);break}case"em":{i+=t.em(d);break}case"codespan":{i+=t.codespan(d);break}case"br":{i+=t.br(d);break}case"del":{i+=t.del(d);break}case"text":{i+=t.text(d);break}default:{let u='Token with "'+d.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return i}},jx,Yf=(jx=class{constructor(o){wn(this,"options");wn(this,"block");this.options=o||Zu}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?Yr.lex:Yr.lexInline}provideParser(o=this.block){return o?Qr.parse:Qr.parseInline}},wn(jx,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),wn(jx,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),jx),zq=class{constructor(...o){wn(this,"defaults",dS());wn(this,"options",this.setOptions);wn(this,"parse",this.parseMarkdown(!0));wn(this,"parseInline",this.parseMarkdown(!1));wn(this,"Parser",Qr);wn(this,"Renderer",Hv);wn(this,"TextRenderer",vS);wn(this,"Lexer",Yr);wn(this,"Tokenizer",Ov);wn(this,"Hooks",Yf);this.use(...o)}walkTokens(o,e){var i,n;let t=[];for(let s of o)switch(t=t.concat(e.call(this,s)),s.type){case"table":{let r=s;for(let a of r.header)t=t.concat(this.walkTokens(a.tokens,e));for(let a of r.rows)for(let d of a)t=t.concat(this.walkTokens(d.tokens,e));break}case"list":{let r=s;t=t.concat(this.walkTokens(r.items,e));break}default:{let r=s;(n=(i=this.defaults.extensions)==null?void 0:i.childTokens)!=null&&n[r.type]?this.defaults.extensions.childTokens[r.type].forEach(a=>{let d=r[a].flat(1/0);t=t.concat(this.walkTokens(d,e))}):r.tokens&&(t=t.concat(this.walkTokens(r.tokens,e)))}}return t}use(...o){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return o.forEach(t=>{let i={...t};if(i.async=this.defaults.async||i.async||!1,t.extensions&&(t.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let s=e.renderers[n.name];s?e.renderers[n.name]=function(...r){let a=n.renderer.apply(this,r);return a===!1&&(a=s.apply(this,r)),a}:e.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=e[n.level];s?s.unshift(n.tokenizer):e[n.level]=[n.tokenizer],n.start&&(n.level==="block"?e.startBlock?e.startBlock.push(n.start):e.startBlock=[n.start]:n.level==="inline"&&(e.startInline?e.startInline.push(n.start):e.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(e.childTokens[n.name]=n.childTokens)}),i.extensions=e),t.renderer){let n=this.defaults.renderer||new Hv(this.defaults);for(let s in t.renderer){if(!(s in n))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let r=s,a=t.renderer[r],d=n[r];n[r]=(...u)=>{let f=a.apply(n,u);return f===!1&&(f=d.apply(n,u)),f||""}}i.renderer=n}if(t.tokenizer){let n=this.defaults.tokenizer||new Ov(this.defaults);for(let s in t.tokenizer){if(!(s in n))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let r=s,a=t.tokenizer[r],d=n[r];n[r]=(...u)=>{let f=a.apply(n,u);return f===!1&&(f=d.apply(n,u)),f}}i.tokenizer=n}if(t.hooks){let n=this.defaults.hooks||new Yf;for(let s in t.hooks){if(!(s in n))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let r=s,a=t.hooks[r],d=n[r];Yf.passThroughHooks.has(s)?n[r]=u=>{if(this.defaults.async&&Yf.passThroughHooksRespectAsync.has(s))return(async()=>{let g=await a.call(n,u);return d.call(n,g)})();let f=a.call(n,u);return d.call(n,f)}:n[r]=(...u)=>{if(this.defaults.async)return(async()=>{let g=await a.apply(n,u);return g===!1&&(g=await d.apply(n,u)),g})();let f=a.apply(n,u);return f===!1&&(f=d.apply(n,u)),f}}i.hooks=n}if(t.walkTokens){let n=this.defaults.walkTokens,s=t.walkTokens;i.walkTokens=function(r){let a=[];return a.push(s.call(this,r)),n&&(a=a.concat(n.call(this,r))),a}}this.defaults={...this.defaults,...i}}),this}setOptions(o){return this.defaults={...this.defaults,...o},this}lexer(o,e){return Yr.lex(o,e??this.defaults)}parser(o,e){return Qr.parse(o,e??this.defaults)}parseMarkdown(o){return(e,t)=>{let i={...t},n={...this.defaults,...i},s=this.onError(!!n.silent,!!n.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(n.hooks&&(n.hooks.options=n,n.hooks.block=o),n.async)return(async()=>{let r=n.hooks?await n.hooks.preprocess(e):e,a=await(n.hooks?await n.hooks.provideLexer(o):o?Yr.lex:Yr.lexInline)(r,n),d=n.hooks?await n.hooks.processAllTokens(a):a;n.walkTokens&&await Promise.all(this.walkTokens(d,n.walkTokens));let u=await(n.hooks?await n.hooks.provideParser(o):o?Qr.parse:Qr.parseInline)(d,n);return n.hooks?await n.hooks.postprocess(u):u})().catch(s);try{n.hooks&&(e=n.hooks.preprocess(e));let r=(n.hooks?n.hooks.provideLexer(o):o?Yr.lex:Yr.lexInline)(e,n);n.hooks&&(r=n.hooks.processAllTokens(r)),n.walkTokens&&this.walkTokens(r,n.walkTokens);let a=(n.hooks?n.hooks.provideParser(o):o?Qr.parse:Qr.parseInline)(r,n);return n.hooks&&(a=n.hooks.postprocess(a)),a}catch(r){return s(r)}}}onError(o,e){return t=>{if(t.message+=`
144
- Please report this to https://github.com/markedjs/marked.`,o){let i="<p>An error occurred:</p><pre>"+Ea(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Nu=new zq;function es(o,e){return Nu.parse(o,e)}es.options=es.setOptions=function(o){return Nu.setOptions(o),es.defaults=Nu.defaults,BF(es.defaults),es};es.getDefaults=dS;es.defaults=Zu;es.use=function(...o){return Nu.use(...o),es.defaults=Nu.defaults,BF(es.defaults),es};es.walkTokens=function(o,e){return Nu.walkTokens(o,e)};es.parseInline=Nu.parseInline;es.Parser=Qr;es.parser=Qr.parse;es.Renderer=Hv;es.TextRenderer=vS;es.Lexer=Yr;es.lexer=Yr.lex;es.Tokenizer=Ov;es.Hooks=Yf;es.parse=es;es.options;es.setOptions;es.use;es.walkTokens;es.parseInline;Qr.parse;Yr.lex;var Vq=B('<span class="chat-model svelte-10ayso4"><!></span>'),jq=B('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),$q=B('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),Uq=B('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),qq=B('<ul class="history-list svelte-10ayso4"></ul>'),Gq=B('<div class="history-panel svelte-10ayso4"><div class="history-hdr svelte-10ayso4"><span class="svelte-10ayso4">Conversations</span> <button class="new-conv-btn svelte-10ayso4">+ New</button></div> <!></div>'),Kq=B('<div class="unconfigured svelte-10ayso4">Configure an AI provider in the <strong class="svelte-10ayso4">Config</strong> tab to use the AI assistant.</div>'),Zq=B('Chatting in context of <code class="svelte-10ayso4"> </code>',1),Xq=B('<button class="chip svelte-10ayso4"> </button>'),Yq=B('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),Qq=B('<div class="msg-content user-text svelte-10ayso4"> </div>'),EA=B('<span class="tool-args svelte-10ayso4"> </span>'),yA=B('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),wA=B('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),SA=B('<div class="tool-events svelte-10ayso4"></div>'),DA=B('<div class="text-block svelte-10ayso4"></div>'),Jq=B('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),eG=B('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),tG=B('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),iG=B('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),nG=B('<button class="expand-btn svelte-10ayso4"> </button>'),sG=B('<div class="code-block svelte-10ayso4"><div class="code-header svelte-10ayso4"><span class="code-lang svelte-10ayso4"> </span> <div class="code-actions svelte-10ayso4"><button class="svelte-10ayso4">Copy</button> <!></div></div> <div><pre class="svelte-10ayso4"><code class="hljs svelte-10ayso4"></code></pre> <!></div></div>'),oG=B('<!> <div class="msg-content svelte-10ayso4"></div>',1),rG=B("<div><!></div>"),aG=B('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),lG=B('<div class="code-block svelte-10ayso4"><div class="code-header svelte-10ayso4"><span class="code-lang svelte-10ayso4"> </span></div> <pre class="svelte-10ayso4"><code class="hljs svelte-10ayso4"></code></pre></div>'),cG=B('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),dG=B('<div class="chat-error svelte-10ayso4"> </div>'),uG=B('<span class="ctx-indicator svelte-10ayso4"><svg width="12" height="12" viewBox="0 0 12 12" class="svelte-10ayso4"><circle cx="6" cy="6" r="5" fill="none" stroke="var(--border-sub)" stroke-width="2" class="svelte-10ayso4"></circle><circle cx="6" cy="6" r="5" fill="none" stroke-width="2" stroke-dashoffset="7.85" stroke-linecap="round" class="svelte-10ayso4"></circle></svg></span>'),hG=B('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),fG=B('<span class="file-chip svelte-10ayso4"><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4" title="Remove from context">×</button></span>'),gG=B('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),pG=B('<button class="send-btn svelte-10ayso4">↑</button>'),xG=B('<option class="svelte-10ayso4"> </option>'),mG=B('<select class="model-select svelte-10ayso4"></select>'),vG=B('<span class="model-name svelte-10ayso4"> </span>'),_G=B('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),bG=B('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),CG=B('<p class="info-status svelte-10ayso4">Loading…</p>'),EG=B('<p class="info-status info-err svelte-10ayso4"> </p>'),yG=B('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),wG=B('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),SG=B('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),DG=B('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),AG=B('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),kG=B('<div class="running-model svelte-10ayso4"> </div>'),BG=B('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),FG=B('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),LG=B('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),IG=B('<div class="info-overlay svelte-10ayso4"><div class="info-popup svelte-10ayso4"><div class="info-popup-header svelte-10ayso4"><span class="svelte-10ayso4"> </span> <button title="Close" class="svelte-10ayso4">✕</button></div> <div class="info-popup-body svelte-10ayso4"><!></div></div></div>'),PG=B('<div class="chat-panel svelte-10ayso4"><div class="chat-header svelte-10ayso4"><span class="chat-title svelte-10ayso4">AI Assistant</span> <!> <button title="Conversation history"><svg width="13" height="13" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="svelte-10ayso4"><circle cx="8" cy="8" r="6" class="svelte-10ayso4"></circle><polyline points="8,5 8,8 10,10" class="svelte-10ayso4"></polyline></svg></button> <!></div> <!> <div class="messages svelte-10ayso4"><!> <!> <!> <!> <!></div> <!> <div class="context-row svelte-10ayso4"><label title="Include she API reference in context" class="svelte-10ayso4"><input type="checkbox" class="svelte-10ayso4"/><span class="checkmark svelte-10ayso4"></span> she API</label> <label title="Let the AI query MQTT state, sheDB documents and Matter devices on demand. Disables real-time streaming." class="svelte-10ayso4"><input type="checkbox" class="svelte-10ayso4"/><span class="checkmark svelte-10ayso4"></span> 😎 Agent</label> <span class="req-size svelte-10ayso4"> <!></span></div> <div class="files-row svelte-10ayso4"><!> <!> <button class="add-file-btn svelte-10ayso4" title="Attach file to context">+</button> <input type="file" multiple="" class="file-input-hidden svelte-10ayso4"/></div> <div><div><textarea rows="3" class="svelte-10ayso4"></textarea></div> <!></div> <!></div> <!>',1);function TG(o,e){Vs(e,!0),Rv.registerLanguage("javascript",kF),es.use({breaks:!0,gfm:!0});let t=wu(e,"currentScript",3,null),i=wu(e,"extraFiles",31,()=>yi([])),n=F(yi([])),s=F(null),r=F(""),a=F(!1),d=F(""),u=F(null);const f="she:conversationId";function g(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=F(yi(localStorage.getItem(f)??g())),C=F(yi([])),b=F(!1);$n(()=>{localStorage.setItem(f,c(p))});let y=F(yi([])),w=F(yi(localStorage.getItem("she:selectedModel")??"")),A=F(null);const P=Lt(()=>{var G;return c(A)!==null&&((G=t())==null?void 0:G.path)===c(A)});let M=F(yi(new Set)),R=F(!1),T=F(null),V=F(!1),H=F(""),J=F(0),se=null,ue=F(0);const ie=["[core] reticulating splines…","[io] calibrating the flux capacitor…","[net] pinging the oracle (no response)…","[gpu] overclocking the neurons…","[fs] loading sarcasm module v4.2…","[mem] defragmenting the embedding space…","[sched] running gradient descent into madness…","[net] synchronizing with the hive mind…","[model] tickling the transformer…","[io] consulting rubber duck debugger…","[core] solving P=NP as a warmup…","[gpu] burning GPU cycles for warmth…","[mem] compressing knowledge into tensors…","[net] asking my inner voice (busy)…","[fs] mining opinions from the void…","[core] summoning attention heads…","[io] tokenizing the vibes…","[sched] hallucinating thoughtfully…","[net] traversing the knowledge graph…","[model] manifesting an answer…"];let de=F(!0),Ce=F(!0),oe=F(!0),fe=F(!1),Be,Ne=F(yi([])),ve,rt;const We=Lt(()=>({apiref:c(de),tools:c(Ce)})),ye=Lt(()=>{var G;return((G=c(u))==null?void 0:G.configured)??!1}),gt=Lt(()=>{var G;return c(ye)||!!((G=c(u))!=null&&G.provider)&&!!c(w)}),Rt=Lt(()=>c(J)+new TextEncoder().encode(c(r)).length),nt=Lt(()=>c(oe)?t():null);$n(()=>{var re;const G=(re=t())==null?void 0:re.path;m(oe,!0),c(A)!==null&&G!==c(A)&&m(A,null)}),$n(()=>{var it;if(!c(P))return;const G=c(n).at(-1);if(!G||G.role!=="assistant")return;const Pe=Ee(G.content).find(ge=>ge.type==="code"&&si(ge.lang));if(Pe){const ge=Vt(Pe.text);(it=e.onApply)==null||it.call(e,ge?ge.code:Pe.text)}});async function St(){try{const G=await xF();m(u,G,!0),G.configured&&!c(w)&&m(w,G.model,!0)}catch{}}$n(()=>(window.addEventListener("she:config-changed",St),()=>window.removeEventListener("she:config-changed",St))),$n(()=>{c(w)&&localStorage.setItem("she:selectedModel",c(w))}),$n(()=>{var G;(G=c(u))!=null&&G.provider&&mF().then(re=>{m(y,re.models,!0),!c(w)&&re.models.length>0&&m(w,re.models[0],!0)}).catch(()=>{})}),$n(()=>{c(w),m(T,null),m(H,"")}),$n(()=>{var re,Pe;if(((re=c(u))==null?void 0:re.provider)!=="ollama")return;const G=c(w)||((Pe=c(u))==null?void 0:Pe.model);!G||c(T)||fw(G).then(it=>{m(T,it,!0)}).catch(()=>{})}),$n(()=>{if(!c(a))return;m(ue,Math.floor(Math.random()*ie.length),!0);const G=setInterval(()=>{m(ue,(c(ue)+1)%ie.length)},1e4);return()=>clearInterval(G)}),$n(()=>{var G;rt&&(c(n).length+(((G=c(s))==null?void 0:G.length)??0),requestAnimationFrame(()=>{rt&&(rt.scrollTop=rt.scrollHeight)}))}),$n(()=>{const G=c(We),re=c(nt),Pe=i();c(gt)&&vF({context:G,currentScript:re??null,extraFiles:Pe.length>0?Pe:void 0}).then(it=>{m(J,new TextEncoder().encode(it.prompt).length,!0)}).catch(()=>{})});function Ee(G){const re=G.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
145
- $2
146
- `),Pe=[],it=/```(\w*)\n([\s\S]*?)```/g;let ge=0,_e;for(;(_e=it.exec(re))!==null;)_e.index>ge&&Pe.push({type:"text",text:re.slice(ge,_e.index)}),Pe.push({type:"code",lang:_e[1]||"text",text:_e[2].trimEnd()}),ge=_e.index+_e[0].length;return ge<re.length&&Pe.push({type:"text",text:re.slice(ge)}),Pe}const Pt=15;function pt(G){return G.split(`
147
- `).length>Pt}function ut(G){const re=new Set(c(M));re.has(G)?re.delete(G):re.add(G),m(M,re,!0)}function Ye(G,re){if(si(re))try{return Rv.highlight(G,{language:"javascript"}).value}catch{}return G.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function kt(G){return es.parse(G)}function ci(G){const re=G.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
148
- $2
149
- `),Pe=[],it=/```(\w*)\n([\s\S]*?)```/g;let ge=0,_e;for(;(_e=it.exec(re))!==null;)_e.index>ge&&Pe.push({type:"text",text:re.slice(ge,_e.index)}),Pe.push({type:"code",lang:_e[1]||"text",text:_e[2].trimEnd()}),ge=_e.index+_e[0].length;const ct=re.slice(ge),st=ct.match(/```(\w*)\n([\s\S]*)$/);return st?(st.index>0&&Pe.push({type:"text",text:ct.slice(0,st.index)}),Pe.push({type:"code",lang:st[1]||"text",text:st[2]})):ct&&Pe.push({type:"text",text:ct}),Pe}function Ci(G){navigator.clipboard.writeText(G).catch(()=>{})}function Ai(G,re=!1){var Pe;re&&t()&&m(A,t().path,!0),(Pe=e.onApply)==null||Pe.call(e,G)}function si(G){return!G||G==="js"||G==="javascript"}function Vt(G){const re=G.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return re?{filename:re[1],code:G.slice(re[0].length)}:null}function et(G){return G>=1e9?`${(G/1e9).toFixed(1)} GB`:G>=1e6?`${(G/1e6).toFixed(0)} MB`:G>=1024?`${(G/1024).toFixed(1)} kB`:`${G} B`}async function Oe(){if(m(R,!0),!(c(T)||c(V))){m(V,!0),m(H,"");try{m(T,await fw(c(w)||c(u).model),!0)}catch(G){m(H,G.message,!0)}m(V,!1)}}function ti(G){const re=G.match(/\.([^.]+)$/);return re?re[1].toUpperCase():"?"}function Li(G){switch(G){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return G}}function hi(G){i(i().filter((re,Pe)=>Pe!==G))}function Ui(){Be.click()}async function Wi(G){if(!(!G||G.length===0))for(const re of Array.from(G)){const Pe=await re.text();i([...i(),{name:re.name,content:Pe}])}}function ki(G){const re=G.target;Wi(re.files),re.value=""}function dn(G){var re;G.preventDefault(),m(fe,!1),Wi(((re=G.dataTransfer)==null?void 0:re.files)??null)}function ln(G){var re;(re=G.dataTransfer)!=null&&re.types.includes("Files")&&(G.preventDefault(),m(fe,!0))}function Gi(){m(fe,!1)}async function bn(){try{m(C,await J$(),!0)}catch{}}async function vt(){var re;if(c(n).length===0)return;const G=((re=c(n).find(Pe=>Pe.role==="user"))==null?void 0:re.content.slice(0,80))??c(p);try{await eU(c(p),G,c(n)),await bn()}catch{}}async function Gt(G){try{const re=await cA(G);m(n,re.messages,!0),m(p,G,!0),m(b,!1),m(d,"")}catch{}}async function wi(G){try{await tU(G),await bn(),G===c(p)&&zi()}catch{}}function zi(){m(n,[],!0),m(d,""),m(p,g(),!0),m(b,!1)}Ks(async()=>{St();try{const G=await cA(c(p));m(n,G.messages,!0)}catch{}await bn()});async function Mi(){const G=c(r).trim();if(!G||c(a))return;m(r,""),m(d,""),m(a,!0);const re={role:"user",content:G};m(n,[...c(n),re],!0),se=new AbortController,m(Ne,[],!0);try{await _F({messages:c(n),currentScript:c(nt),context:c(We),modelOverride:c(w)||void 0,extraFiles:i().length>0?i():void 0},Pe=>{m(s,(c(s)??"")+Pe)},se.signal,Pe=>{m(Ne,[...c(Ne),Pe],!0)}),m(n,[...c(n),{role:"assistant",content:c(s)??"",toolEvents:c(Ne).length>0?[...c(Ne)]:void 0}],!0),m(Ne,[],!0)}catch(Pe){if(Pe.name==="AbortError"){const it=c(s);it&&it.trim()&&m(n,[...c(n),{role:"assistant",content:it+`
150
-
151
- *[stopped]*`,toolEvents:c(Ne).length>0?[...c(Ne)]:void 0}],!0)}else m(d,Pe.message,!0)}finally{se=null,m(s,null),m(Ne,[],!0),m(a,!1),vt()}}function Ri(){se==null||se.abort()}function Oi(G){G.key==="Enter"&&!G.shiftKey&&(G.preventDefault(),Mi())}function Xi(){zi()}const Ei=["Explain what this script does","Add error handling","Add a 30-minute schedule before sunrise","Write a new script that forwards MQTT topic A to topic B","Write a new script that turns lights on at sunset"];function Qe(G){m(r,G,!0),ve==null||ve.focus()}var wt=PG(),Fi=yt(wt),Bi=_(Fi),pi=v(_(Bi),2);{var Ti=G=>{var re=Vq(),Pe=_(re);{var it=ct=>{var st=_o();j(()=>O(st,`${c(u).provider??""} · ${(c(w)||c(u).model)??""}`)),D(ct,st)},ge=ct=>{var st=_o();j(()=>O(st,`${c(u).provider??""} · pick a model below`)),D(ct,st)},_e=ct=>{var st=_o("Not configured");D(ct,st)};z(Pe,ct=>{c(gt)?ct(it):c(u).provider?ct(ge,1):ct(_e,-1)})}j(()=>rn(re,"title",`Provider: ${c(u).provider??""}`)),D(G,re)};z(pi,G=>{c(u)&&G(Ti)})}var X=v(pi,2);let Fe;var Ke=v(X,2);{var ot=G=>{var re=jq();$("click",re,Xi),D(G,re)};z(Ke,G=>{c(n).length>0&&G(ot)})}var $t=v(Bi,2);{var ne=G=>{var re=Gq(),Pe=_(re),it=v(_(Pe),2),ge=v(Pe,2);{var _e=st=>{var Ae=$q();D(st,Ae)},ct=st=>{var Ae=qq();Zt(Ae,21,()=>c(C),xt=>xt.id,(xt,Ge)=>{var Ve=Uq();let Je;var Ct=_(Ve),Ue=_(Ct),Ft=v(Ct,2);j(()=>{Je=Dt(Ve,1,"history-item svelte-10ayso4",null,Je,{"history-active":c(Ge).id===c(p)}),rn(Ct,"title",c(Ge).id),O(Ue,c(Ge).title||c(Ge).id)}),$("click",Ct,()=>Gt(c(Ge).id)),$("click",Ft,()=>wi(c(Ge).id)),D(xt,Ve)}),D(st,Ae)};z(ge,st=>{c(C).length===0?st(_e):st(ct,-1)})}$("click",it,zi),D(G,re)};z($t,G=>{c(b)&&G(ne)})}var Se=v($t,2),Me=_(Se);{var Y=G=>{var re=Kq();D(G,re)},He=G=>{var re=Yq(),Pe=_(re),it=_(Pe);{var ge=st=>{var Ae=Zq(),xt=v(yt(Ae)),Ge=_(xt);j(Ve=>O(Ge,Ve),[()=>t().path.split("/").pop()]),D(st,Ae)},_e=st=>{var Ae=_o("No script open. Ask a general she scripting question.");D(st,Ae)};z(it,st=>{t()?st(ge):st(_e,-1)})}var ct=v(Pe,2);Zt(ct,17,()=>Ei,Ni,(st,Ae)=>{var xt=Xq(),Ge=_(xt);j(()=>O(Ge,c(Ae))),$("click",xt,()=>Qe(c(Ae))),D(st,xt)}),D(G,re)};z(Me,G=>{c(ye)?c(n).length===0&&c(s)===null&&G(He,1):G(Y)})}var je=v(Me,2);Zt(je,17,()=>c(n),Ni,(G,re,Pe)=>{var it=rG(),ge=_(it);{var _e=st=>{var Ae=Qq(),xt=_(Ae);j(()=>O(xt,c(re).content)),D(st,Ae)},ct=st=>{const Ae=Lt(()=>Ee(c(re).content));var xt=oG(),Ge=yt(xt);{var Ve=Ct=>{var Ue=SA();Zt(Ue,21,()=>c(re).toolEvents,Ni,(Ft,Re)=>{var at=Es(),Bt=yt(at);{var Nt=vi=>{var Si=yA(),qi=v(_(Si),2),Ii=_(qi),Ki=v(qi,2);{var Pi=Qt=>{var Yi=EA(),Ji=_(Yi);j(Ln=>O(Ji,Ln),[()=>Object.entries(c(Re).args).map(([Ln,Jn])=>`${Ln}=${JSON.stringify(Jn)}`).join(", ")]),D(Qt,Yi)},Jt=Lt(()=>c(Re).args&&Object.keys(c(Re).args).length>0);z(Ki,Qt=>{c(Jt)&&Qt(Pi)})}j(Qt=>O(Ii,Qt),[()=>c(Re).name.replace(/_/g," ")]),D(vi,Si)},_t=vi=>{var Si=wA(),qi=v(_(Si),2),Ii=_(qi);j(Ki=>O(Ii,Ki),[()=>c(Re).name.replace(/_/g," ")]),D(vi,Si)};z(Bt,vi=>{c(Re).type==="tool_call"?vi(Nt):vi(_t,-1)})}D(Ft,at)}),D(Ct,Ue)};z(Ge,Ct=>{var Ue;(Ue=c(re).toolEvents)!=null&&Ue.length&&Ct(Ve)})}var Je=v(Ge,2);Zt(Je,21,()=>c(Ae),Ni,(Ct,Ue,Ft)=>{var Re=Es(),at=yt(Re);{var Bt=_t=>{var vi=DA();ac(vi,()=>kt(c(Ue).text),!0),D(_t,vi)},Nt=_t=>{const vi=Lt(()=>si(c(Ue).lang)?Vt(c(Ue).text):null),Si=Lt(()=>c(vi)?c(vi).code:c(Ue).text),qi=Lt(()=>`${Pe}:${Ft}`),Ii=Lt(()=>pt(c(Si))),Ki=Lt(()=>c(M).has(c(qi)));var Pi=sG(),Jt=_(Pi),Qt=_(Jt),Yi=_(Qt),Ji=v(Qt,2),Ln=_(Ji),Jn=v(Ln,2);{var Ss=Vn=>{var Ts=Jq();$("click",Ts,()=>e.onCreateFile(c(vi).filename,c(vi).code)),D(Vn,Ts)},as=Vn=>{var Ts=iG(),dr=yt(Ts),Or=v(dr,2);{var Za=ur=>{var ga=eG();D(ur,ga)},Xa=ur=>{var ga=tG();$("click",ga,()=>Ai(c(Ue).text,!0)),D(ur,ga)};z(Or,ur=>{c(P)?ur(Za):ur(Xa,-1)})}$("click",dr,()=>Ai(c(Ue).text)),D(Vn,Ts)},Fs=Lt(()=>si(c(Ue).lang)&&t());z(Jn,Vn=>{c(vi)&&e.onCreateFile?Vn(Ss):c(Fs)&&Vn(as,1)})}var kn=v(Jt,2);let ss;var ps=_(kn),Vi=_(ps);ac(Vi,()=>Ye(c(Si),c(Ue).lang??""),!0);var Ys=v(ps,2);{var Pn=Vn=>{var Ts=nG(),dr=_(Ts);j(()=>O(dr,c(Ki)?"▲ collapse":"▼ expand")),$("click",Ts,()=>ut(c(qi))),D(Vn,Ts)};z(Ys,Vn=>{c(Ii)&&Vn(Pn)})}j(()=>{O(Yi,c(vi)?`new: ${c(vi).filename}`:c(Ue).lang),ss=Dt(kn,1,"code-body svelte-10ayso4",null,ss,{collapsed:c(Ii)&&!c(Ki)})}),$("click",Ln,()=>Ci(c(Si))),D(_t,Pi)};z(at,_t=>{c(Ue).type==="text"?_t(Bt):_t(Nt,-1)})}D(Ct,Re)}),D(st,xt)};z(ge,st=>{c(re).role==="user"?st(_e):st(ct,-1)})}j(()=>Dt(it,1,`message ${c(re).role??""}`,"svelte-10ayso4")),D(G,it)});var De=v(je,2);{var At=G=>{var re=SA();Zt(re,21,()=>c(Ne),Ni,(Pe,it)=>{var ge=Es(),_e=yt(ge);{var ct=Ae=>{var xt=yA(),Ge=v(_(xt),2),Ve=_(Ge),Je=v(Ge,2);{var Ct=Ft=>{var Re=EA(),at=_(Re);j(Bt=>O(at,Bt),[()=>Object.entries(c(it).args).map(([Bt,Nt])=>`${Bt}=${JSON.stringify(Nt)}`).join(", ")]),D(Ft,Re)},Ue=Lt(()=>c(it).args&&Object.keys(c(it).args).length>0);z(Je,Ft=>{c(Ue)&&Ft(Ct)})}j(Ft=>O(Ve,Ft),[()=>c(it).name.replace(/_/g," ")]),D(Ae,xt)},st=Ae=>{var xt=wA(),Ge=v(_(xt),2),Ve=_(Ge);j(Je=>O(Ve,Je),[()=>c(it).name.replace(/_/g," ")]),D(Ae,xt)};z(_e,Ae=>{c(it).type==="tool_call"?Ae(ct):Ae(st,-1)})}D(Pe,ge)}),D(G,re)};z(De,G=>{c(Ne).length>0&&G(At)})}var Ot=v(De,2);{var ni=G=>{var re=aG(),Pe=_(re),it=_(Pe),ge=_(it);j(()=>O(ge,ie[c(ue)])),D(G,re)};z(Ot,G=>{c(a)&&c(s)===null&&c(Ne).length===0&&G(ni)})}var ii=v(Ot,2);{var xi=G=>{var re=cG(),Pe=_(re);Zt(Pe,21,()=>ci(c(s)),Ni,(it,ge)=>{var _e=Es(),ct=yt(_e);{var st=xt=>{var Ge=DA();ac(Ge,()=>kt(c(ge).text),!0),D(xt,Ge)},Ae=xt=>{var Ge=lG(),Ve=_(Ge),Je=_(Ve),Ct=_(Je),Ue=v(Ve,2),Ft=_(Ue);ac(Ft,()=>Ye(c(ge).text,c(ge).lang??""),!0),j(()=>O(Ct,c(ge).lang)),D(xt,Ge)};z(ct,xt=>{c(ge).type==="text"?xt(st):xt(Ae,-1)})}D(it,_e)}),D(G,re)};z(ii,G=>{c(s)!==null&&G(xi)})}us(Se,G=>rt=G,()=>rt);var jt=v(Se,2);{var mi=G=>{var re=dG(),Pe=_(re);j(()=>O(Pe,c(d))),D(G,re)};z(jt,G=>{c(d)&&G(mi)})}var ze=v(jt,2),tt=_(ze),Yt=_(tt),qt=v(tt,2),fi=_(qt),Kt=v(qt,2),pe=_(Kt),Ze=v(pe);{var dt=G=>{const re=Lt(()=>Math.min(100,Math.round(c(Rt)/4/c(T).contextLength*100)));var Pe=uG(),it=_(Pe),ge=v(_(it));j((_e,ct)=>{rn(Pe,"title",`~${c(re)??""}% of ${_e??""} token context window used`),rn(ge,"stroke",c(re)>80?"var(--fg-err)":c(re)>50?"var(--fg-warn)":"var(--fg-ok)"),rn(ge,"stroke-dasharray",`${ct??""} 31.4`)},[()=>c(T).contextLength.toLocaleString(),()=>(c(re)/100*31.4).toFixed(1)]),D(G,Pe)};z(Ze,G=>{var re;(re=c(T))!=null&&re.contextLength&&G(dt)})}var ht=v(ze,2),Wt=_(ht);{var Tt=G=>{const re=Lt(()=>ti(t().path.split("/").pop()??t().path));var Pe=hG();let it;var ge=_(Pe),_e=_(ge),ct=v(ge,2),st=_(ct),Ae=v(ct,2),xt=_(Ae);j((Ge,Ve)=>{it=Dt(Pe,1,"file-chip svelte-10ayso4",null,it,{inactive:!c(oe)}),Dt(ge,1,`badge badge-${Ge??""}`,"svelte-10ayso4"),O(_e,Ve),O(st,t().path),rn(Ae,"title",c(oe)?"Remove from context":"Re-add to context"),O(xt,c(oe)?"×":"+")},[()=>c(re).toLowerCase(),()=>Li(c(re))]),$("click",Ae,()=>m(oe,!c(oe))),D(G,Pe)};z(Wt,G=>{t()&&G(Tt)})}var di=v(Wt,2);Zt(di,17,i,Ni,(G,re,Pe)=>{const it=Lt(()=>ti(c(re).name));var ge=fG(),_e=_(ge),ct=_(_e),st=v(_e,2),Ae=_(st),xt=v(st,2);j((Ge,Ve)=>{Dt(_e,1,`badge badge-${Ge??""}`,"svelte-10ayso4"),O(ct,Ve),O(Ae,c(re).name)},[()=>c(it).toLowerCase(),()=>Li(c(it))]),$("click",xt,()=>hi(Pe)),D(G,ge)});var I=v(di,2),W=v(I,2);us(W,G=>Be=G,()=>Be);var K=v(ht,2);let le;var Z=_(K);let Q;var ce=_(Z);us(ce,G=>ve=G,()=>ve);var Xe=v(Z,2);{var ae=G=>{var re=gG();$("click",re,Ri),D(G,re)},xe=G=>{var re=pG();j(Pe=>re.disabled=Pe,[()=>!c(r).trim()||!c(gt)]),$("click",re,Mi),D(G,re)};z(Xe,G=>{c(a)?G(ae):G(xe,-1)})}var Le=v(K,2);{var me=G=>{var re=bG(),Pe=_(re),it=_(Pe),ge=v(Pe,2);{var _e=xt=>{var Ge=mG();Zt(Ge,21,()=>c(y),Ni,(Ve,Je)=>{var Ct=xG(),Ue=_(Ct),Ft={};j(()=>{O(Ue,c(Je)),Ft!==(Ft=c(Je))&&(Ct.value=(Ct.__value=c(Je))??"")}),D(Ve,Ct)}),j(()=>Ge.disabled=c(a)),Bs(Ge,()=>c(w),Ve=>m(w,Ve)),D(xt,Ge)},ct=xt=>{var Ge=vG(),Ve=_(Ge);j(()=>O(Ve,c(w)||c(u).model)),D(xt,Ge)};z(ge,xt=>{c(y).length>0?xt(_e):xt(ct,-1)})}var st=v(ge,2);{var Ae=xt=>{var Ge=_G();$("click",Ge,Oe),D(xt,Ge)};z(st,xt=>{c(u).provider==="ollama"&&xt(Ae)})}j(()=>O(it,c(u).provider)),D(G,re)};z(Le,G=>{var re;(re=c(u))!=null&&re.provider&&(c(ye)||c(y).length>0)&&G(me)})}var Ie=v(Fi,2);{var lt=G=>{var re=IG(),Pe=_(re),it=_(Pe),ge=_(it),_e=_(ge),ct=v(ge,2),st=v(it,2),Ae=_(st);{var xt=Je=>{var Ct=CG();D(Je,Ct)},Ge=Je=>{var Ct=EG(),Ue=_(Ct);j(()=>O(Ue,c(H))),D(Je,Ct)},Ve=Je=>{var Ct=LG(),Ue=_(Ct);{var Ft=Jt=>{var Qt=yG(),Yi=v(yt(Qt)),Ji=_(Yi);j(()=>O(Ji,c(T).version)),D(Jt,Qt)};z(Ue,Jt=>{c(T).version&&Jt(Ft)})}var Re=v(Ue,2);{var at=Jt=>{var Qt=wG(),Yi=v(yt(Qt)),Ji=_(Yi);j(()=>O(Ji,c(T).details.family)),D(Jt,Qt)};z(Re,Jt=>{var Qt;(Qt=c(T).details)!=null&&Qt.family&&Jt(at)})}var Bt=v(Re,2);{var Nt=Jt=>{var Qt=SG(),Yi=v(yt(Qt)),Ji=_(Yi);j(()=>O(Ji,c(T).details.parameter_size)),D(Jt,Qt)};z(Bt,Jt=>{var Qt;(Qt=c(T).details)!=null&&Qt.parameter_size&&Jt(Nt)})}var _t=v(Bt,2);{var vi=Jt=>{var Qt=DG(),Yi=v(yt(Qt)),Ji=_(Yi);j(()=>O(Ji,c(T).details.quantization_level)),D(Jt,Qt)};z(_t,Jt=>{var Qt;(Qt=c(T).details)!=null&&Qt.quantization_level&&Jt(vi)})}var Si=v(_t,2);{var qi=Jt=>{var Qt=AG(),Yi=v(yt(Qt)),Ji=_(Yi);j(()=>O(Ji,c(T).details.format)),D(Jt,Qt)};z(Si,Jt=>{var Qt;(Qt=c(T).details)!=null&&Qt.format&&Jt(qi)})}var Ii=v(Si,2);{var Ki=Jt=>{var Qt=BG(),Yi=v(yt(Qt),2);Zt(Yi,21,()=>c(T).running,Ni,(Ji,Ln)=>{var Jn=kG(),Ss=_(Jn);j(as=>O(Ss,`${c(Ln).name??""} · ${as??""} VRAM`),[()=>et(c(Ln).size_vram)]),D(Ji,Jn)}),D(Jt,Qt)},Pi=Jt=>{var Qt=FG();D(Jt,Qt)};z(Ii,Jt=>{c(T).running&&c(T).running.length>0?Jt(Ki):c(T).running!==null&&Jt(Pi,1)})}D(Je,Ct)};z(Ae,Je=>{c(V)?Je(xt):c(H)?Je(Ge,1):c(T)&&Je(Ve,2)})}j(()=>{var Je;return O(_e,`Ollama · ${(c(w)||((Je=c(u))==null?void 0:Je.model))??""}`)}),$("click",re,()=>m(R,!1)),$("click",Pe,Je=>Je.stopPropagation()),$("click",ct,()=>m(R,!1)),D(G,re)};z(Ie,G=>{c(R)&&G(lt)})}j(G=>{Fe=Dt(X,1,"icon-hdr-btn svelte-10ayso4",null,Fe,{active:c(b)}),O(pe,G),le=Dt(K,1,"input-row svelte-10ayso4",null,le,{"drag-over":c(fe)}),Q=Dt(Z,1,"textarea-wrap svelte-10ayso4",null,Q,{loading:c(a)}),rn(ce,"placeholder",c(gt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":c(ye)?"Select a model above to start chatting":"AI not configured"),ce.disabled=c(a)||!c(gt)},[()=>et(c(Rt))]),$("click",X,()=>m(b,!c(b))),Cs(Yt,()=>c(de),G=>m(de,G)),Cs(fi,()=>c(Ce),G=>m(Ce,G)),$("click",I,Ui),$("change",W,ki),fs("dragover",K,ln),fs("dragleave",K,Gi),fs("drop",K,dn),$("keydown",ce,Oi),Ht(ce,()=>c(r),G=>m(r,G)),D(o,wt),js()}Zs(["click","change","keydown"]);const MG={OnOff:["onOff","globalSceneControl","onTime","offWaitTime"],LevelControl:["currentLevel","remainingTime","minLevel","maxLevel","currentFrequency","onOffTransitionTime","onLevel"],ColorControl:["currentHue","currentSaturation","remainingTime","currentX","currentY","colorTemperatureMireds","colorMode","colorTempPhysicalMinMireds","colorTempPhysicalMaxMireds"],BasicInformation:["vendorName","vendorId","productName","productId","nodeLabel","location","softwareVersion","softwareVersionString","serialNumber"],Identify:["identifyTime","identifyType"],Groups:["nameSupport"],OccupancySensing:["occupancy","occupancySensorType"],IlluminanceMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue","tolerance","lightSensorType"],TemperatureMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue","tolerance"],RelativeHumidityMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue","tolerance"],PressureMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue"],Thermostat:["localTemperature","outdoorTemperature","occupiedCoolingSetpoint","occupiedHeatingSetpoint","unoccupiedCoolingSetpoint","unoccupiedHeatingSetpoint","minHeatSetpointLimit","maxHeatSetpointLimit","systemMode","thermostatRunningMode","occupancy"],DoorLock:["lockState","lockType","actuatorEnabled","doorState"],WindowCovering:["type","currentPositionLiftPercent100ths","currentPositionTiltPercent100ths","operationalStatus","targetPositionLiftPercent100ths","targetPositionTiltPercent100ths","endProductType","mode"],FanControl:["fanMode","fanModeSequence","percentSetting","percentCurrent","speedMax","speedSetting","speedCurrent"],Descriptor:["deviceTypeList","serverList","clientList","partsList"],PowerSource:["status","order","description","wiredCurrentType","wiredMaximumCurrent","batteryVoltage","batteryPercentRemaining","batChargeLevel"],Switch:["numberOfPositions","currentPosition","multiPressMax"],BooleanState:["stateValue"],FlowMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue"]},RG={OnOff:["on","off","toggle"],LevelControl:["moveToLevel","move","step","stop","moveToLevelWithOnOff","moveWithOnOff","stepWithOnOff","stopWithOnOff"],ColorControl:["moveToHue","moveHue","stepHue","moveToSaturation","moveSaturation","stepSaturation","moveToHueAndSaturation","moveToColor","moveColor","stepColor","moveToColorTemperature","moveColorTemperature","stepColorTemperature"],Identify:["identify","triggerEffect"],Groups:["addGroup","viewGroup","getGroupMembership","removeGroup","removeAllGroups","addGroupIfIdentifying"],Thermostat:["setpointRaiseLower","setWeeklySchedule","getWeeklySchedule","clearWeeklySchedule"],DoorLock:["lockDoor","unlockDoor","unlockWithTimeout"],WindowCovering:["upOrOpen","downOrClose","stopMotion","goToLiftValue","goToLiftPercentage","goToTiltValue","goToTiltPercentage"],FanControl:[]};let vw=[],_w=[],bw=[];const Wv=new Map;let HF=[];const Cw=new Map,Ew=new Map;async function AA(){try{vw=(await pF()).map(e=>e.topic)}catch{}}async function kA(){try{const[o,e]=await Promise.all([uF(),hF()]);_w=o,bw=e}catch{}}async function BA(){try{const o=await gF();HF=o.map(e=>e.nodeId),Cw.clear(),Ew.clear();for(const e of o)e.name&&(Cw.set(e.nodeId,e.name),Ew.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!Wv.has(e.nodeId))try{Wv.set(e.nodeId,await gm(e.nodeId))}catch{}}))}catch{}}function NG(o){const e=/(?:she\.mqtt\.(?:sub|pub|get|set|link|age|getProp|or|and|max|min|timer)|she\.(?:getValue|setValue|getProp))\s*\([^)]*?['"]([^'"]*)\s*$/,t=o.match(e);if(t)return{type:"mqtt",prefix:t[1]};const i=/she\.db\.sub\s*\([^)]*?['"]([^'"]*)\s*$/,n=o.match(i);if(n)return{type:"db",prefix:n[1],includeViews:!0};const s=/she\.db\.(?:get|set|extend|delete|prop|query)\s*\([^)]*?['"]([^'"]*)\s*$/,r=o.match(s);if(r)return{type:"db",prefix:r[1],includeViews:!1};const a=/she\.matter\.(?:sub|get|send|on)\s*\(\s*(.*)\s*$/,d=o.match(a);if(d){const u=d[1],f=OG(u),g=HG(u);if(f===0)return{type:"matter-nodeId",prefix:g};if(f===1){const p=Eh(u,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(f===2){const p=Eh(u,0),C=FA(u,1)??Eh(u,1);if(p&&C!==null)return{type:"matter-cluster",nodeId:p,endpointId:C}}if(f>=3){const p=Eh(u,0),C=FA(u,1)??Eh(u,1),b=Eh(u,2),y=/she\.matter\.send\s*\(/.test(o);if(p&&C!==null&&b)return{type:"matter-attr",nodeId:p,endpointId:C,cluster:b,isSend:y}}}return null}function OG(o){let e=0,t=0,i=!1,n="";for(const s of o){if(i){s===n&&(i=!1);continue}if(s==='"'||s==="'"){i=!0,n=s;continue}if(s==="("||s==="["||s==="{"){e++;continue}if(s===")"||s==="]"||s==="}"){e--;continue}s===","&&e===0&&t++}return t}function HG(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function Eh(o,e){var s;const i=(s=WF(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function FA(o,e){var s;const i=(s=WF(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function WF(o){const e=[];let t="",i=0,n=!1,s="";for(const r of o){if(n){r===s&&(n=!1),t+=r;continue}if(r==='"'||r==="'"){n=!0,s=r,t+=r;continue}if(r==="("||r==="["||r==="{"){i++,t+=r;continue}if(r===")"||r==="]"||r==="}"){i--,t+=r;continue}if(r===","&&i===0){e.push(t),t="";continue}t+=r}return e.push(t),e}const Ou=ad.CompletionItemKind;function WG(o,e){return(e?vw.filter(i=>i.startsWith(e)):vw).map(i=>({label:i,kind:Ou.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function zG(o,e,t){const i=t?[..._w,...bw]:_w;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:Ou.Value,insertText:s,range:o,detail:bw.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function VG(o,e){return HF.map(t=>{const i=Cw.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:Ou.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function zF(o){return Ew.get(o)??o}function jG(o,e){if(typeof e=="number")return o.endpoints.find(i=>i.endpointId===e);const t=parseInt(e,10);return isNaN(t)?o.endpoints.find(i=>i.name===e):o.endpoints.find(i=>i.endpointId===t)}function $G(o,e){const t=Wv.get(zF(e));return t?t.endpoints.map(i=>{const n=i.name??String(i.endpointId),s=i.clusters.map(r=>r.name).join(", ");return{label:n,kind:Ou.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function UG(o,e,t){const i=Wv.get(zF(e));if(!i)return[];const n=jG(i,t);return n?n.clusters.map(s=>({label:s.name,kind:Ou.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function qG(o,e,t){return(t?RG[e]??[]:MG[e]??[]).map(n=>({label:n,kind:t?Ou.Function:Ou.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let LA=!1;function GG(){LA||(LA=!0,AA(),kA(),BA(),setInterval(AA,15e3),setInterval(kA,1e4),setInterval(BA,6e4),ad.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=NG(t);if(!i)return null;const n=o.getWordUntilPosition(e),s=Math.max(t.lastIndexOf("'"),t.lastIndexOf('"')),r=s>=0?s+2:n.startColumn,a={startLineNumber:e.lineNumber,endLineNumber:e.lineNumber,startColumn:r,endColumn:e.column};switch(i.type){case"mqtt":return{suggestions:WG(a,i.prefix)};case"db":return{suggestions:zG(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:VG(a,i.prefix)};case"matter-endpointId":return{suggestions:$G(a,i.nodeId)};case"matter-cluster":return{suggestions:UG(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:qG(a,i.cluster,i.isSend)};default:return null}}}))}var KG=B('<button class="svelte-1pyfjii">New file here</button> <button class="svelte-1pyfjii">New subfolder here</button> <hr class="svelte-1pyfjii"/> <button class="svelte-1pyfjii">Rename folder…</button> <button class="danger svelte-1pyfjii">Delete folder…</button>',1),ZG=B('<button class="svelte-1pyfjii">Show git history</button>'),XG=B('<button class="svelte-1pyfjii">Open</button> <button class="svelte-1pyfjii">Rename…</button> <button class="svelte-1pyfjii">Add to AI context</button> <!> <hr class="svelte-1pyfjii"/> <button class="danger svelte-1pyfjii">Delete</button>',1),YG=B('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),QG=B('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),IA=B('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),JG=B('<ul class="tree-children svelte-1pyfjii"></ul>'),eK=B('<li class="tree-dir svelte-1pyfjii"><div role="treeitem" tabindex="-1" draggable="true"><button>›</button> <span role="button" tabindex="0"> </span> <!> <label class="lib-label svelte-1pyfjii" title="Library directory — files here are not auto-loaded as scripts"><input type="checkbox" class="svelte-1pyfjii"/> <span class="lib-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 3h8a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H3V3z"></path><line x1="3" y1="12" x2="13" y2="12"></line><line x1="6" y1="3" x2="6" y2="12"></line></svg></label> <label class="dis-label svelte-1pyfjii" title="Disable — scripts in this folder will not be executed"><input type="checkbox" class="svelte-1pyfjii"/> <span class="dis-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="6"></circle><line x1="3.8" y1="12.2" x2="12.2" y2="3.8"></line></svg></label></div> <!></li>'),tK=B('<span class="dirty-dot svelte-1pyfjii">●</span>'),iK=B('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),nK=B('<span class="err-dot svelte-1pyfjii">●</span>'),sK=B('<label><input type="checkbox" class="svelte-1pyfjii"/> <span class="dis-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="6"></circle><line x1="3.8" y1="12.2" x2="12.2" y2="3.8"></line></svg></label>'),oK=B('<span class="dis-spacer svelte-1pyfjii"></span>'),rK=B('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),aK=B('<div class="err svelte-1pyfjii"> </div>'),lK=B('<button title="Case sensitive">Aa</button> <button title="Use regex">.*</button> <button title="Replace">⇄</button>',1),cK=B('<div class="search-input-row svelte-1pyfjii"><input placeholder="Replace with…" class="svelte-1pyfjii"/> <button class="svelte-1pyfjii"> </button></div>'),dK=B('<div class="search-status svelte-1pyfjii">Searching…</div>'),uK=B('<div class="search-status search-err svelte-1pyfjii"> </div>'),hK=B('<div class="search-status svelte-1pyfjii">No results.</div>'),fK=B('<div class="search-status search-trunc svelte-1pyfjii">Showing first 500 matches.</div>'),gK=B('<button class="search-match-row svelte-1pyfjii"><span class="search-lnum svelte-1pyfjii"> </span> <span class="search-preview svelte-1pyfjii"> </span></button>'),pK=B('<div class="search-file-group svelte-1pyfjii"><button class="search-file-btn svelte-1pyfjii"><span class="search-fname svelte-1pyfjii"> </span> <span class="search-fcount svelte-1pyfjii"> </span></button> <!></div>'),UC=B("<!> <!>",1),xK=B('<div class="search-status svelte-1pyfjii">No files found.</div>'),mK=B('<div class="search-status search-trunc svelte-1pyfjii">Showing first 200 results.</div>'),vK=B('<button class="search-match-row search-file-result svelte-1pyfjii"><span class="search-preview svelte-1pyfjii"> </span></button>'),_K=B('<label class="replace-item svelte-1pyfjii"><input type="checkbox"/> <span class="replace-item-path svelte-1pyfjii"> </span> <span class="replace-item-n svelte-1pyfjii"> </span></label>'),bK=B('<div class="replace-confirm svelte-1pyfjii"><div class="replace-confirm-hdr svelte-1pyfjii"><span> </span> <div class="replace-confirm-btns svelte-1pyfjii"><button class="svelte-1pyfjii">Apply</button> <button class="svelte-1pyfjii">Cancel</button></div></div> <div class="replace-confirm-list svelte-1pyfjii"></div></div>'),CK=B('<div class="search-panel svelte-1pyfjii"><div class="search-mode-bar svelte-1pyfjii"><button>Text</button> <button>Files</button> <button class="search-close-btn svelte-1pyfjii" title="Close">×</button></div> <div class="search-input-row svelte-1pyfjii"><input class="svelte-1pyfjii"/> <!></div> <!> <div class="search-results svelte-1pyfjii"><!></div> <!></div>'),EK=B('<div class="history-empty svelte-1pyfjii">Loading…</div>'),yK=B('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),wK=B('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),SK=B('<button class="history-load-more svelte-1pyfjii"> </button>'),DK=B('<div class="history-panel svelte-1pyfjii"><div class="history-resize-handle svelte-1pyfjii" role="separator"></div> <div class="history-hdr svelte-1pyfjii"><span class="history-title svelte-1pyfjii"> </span> <button class="history-close svelte-1pyfjii">✕</button></div> <div class="history-body svelte-1pyfjii"><!></div></div>'),AK=B('<span class="tab-dirty svelte-1pyfjii">●</span>'),kK=B('<div role="tab" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),BK=B('<div class="tab-bar-wrap svelte-1pyfjii"><button class="tab-scroll-btn svelte-1pyfjii" aria-label="Scroll tabs left">‹</button> <div class="tab-bar svelte-1pyfjii" role="tablist"></div> <button class="tab-scroll-btn svelte-1pyfjii" aria-label="Scroll tabs right">›</button></div>'),FK=B('<li class="changes-item svelte-1pyfjii"><input type="checkbox" class="changes-check svelte-1pyfjii"/> <span class="changes-status svelte-1pyfjii"> </span> <span class="changes-file svelte-1pyfjii"> </span></li>'),LK=B('<div class="changes-err svelte-1pyfjii"> </div>'),IK=B('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii">Uncommitted changes</div> <ul class="changes-list svelte-1pyfjii"></ul> <div class="changes-commit-row svelte-1pyfjii"><input class="changes-msg-input svelte-1pyfjii" type="text" placeholder="Commit message…"/> <button class="changes-commit-btn svelte-1pyfjii"> </button></div> <!></div>',1),PK=B('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),TK=B('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii"> </div> <div class="changes-commit-row svelte-1pyfjii"><button class="changes-commit-btn svelte-1pyfjii">Push</button></div></div>',1),MK=B('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),RK=B('<span class="git-behind svelte-1pyfjii"> </span>'),NK=B('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),OK=B('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><button class="svelte-1pyfjii">Save</button> <button class="svelte-1pyfjii">Save &amp; Commit</button></div>',1),HK=B('<button class="danger svelte-1pyfjii">Delete</button>'),WK=B(`<div class="welcome svelte-1pyfjii"><div class="welcome-inner svelte-1pyfjii"><div class="welcome-logo svelte-1pyfjii">she</div> <p class="welcome-sub svelte-1pyfjii">Smart Home Engine — a scriptable smart home automation engine</p> <div class="welcome-hint svelte-1pyfjii"><strong>Quick start:</strong> click <kbd class="svelte-1pyfjii">+ File</kbd> in the sidebar to create your first script,
152
- or click an existing file to open it. Scripts run in a sandboxed VM with access to the <code class="svelte-1pyfjii">she</code> object for MQTT, scheduling, and more.</div> <div class="welcome-links svelte-1pyfjii"><a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-1pyfjii">GitHub</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/sandbox-api.md" target="_blank" rel="noopener" class="svelte-1pyfjii">API reference</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/README.md" target="_blank" rel="noopener" class="svelte-1pyfjii">README</a></div> <div class="welcome-shortcuts svelte-1pyfjii"><div class="welcome-shortcuts-title svelte-1pyfjii">Keyboard shortcuts</div> <div class="welcome-shortcuts-grid svelte-1pyfjii"><span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">S</kbd></span><span class="svelte-1pyfjii">Save</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">F</kbd></span><span class="svelte-1pyfjii">Find</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">H</kbd></span><span class="svelte-1pyfjii">Find &amp; Replace</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">G</kbd></span><span class="svelte-1pyfjii">Go to line</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Undo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Shift</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Redo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">/</kbd></span><span class="svelte-1pyfjii">Toggle comment</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Alt</kbd><kbd class="svelte-1pyfjii">↑ / ↓</kbd></span><span class="svelte-1pyfjii">Move line up / down</span></div></div></div></div>`),zK=B('<button class="svelte-1pyfjii">Always accept in this session</button>'),VK=B('<button class="svelte-1pyfjii">Disable auto-accept</button>'),jK=B('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),$K=B('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Proposed changes — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><div class="split-wrap svelte-1pyfjii"><div class="split-btn accept-split svelte-1pyfjii"><button class="split-main svelte-1pyfjii"> </button> <button class="split-arrow svelte-1pyfjii" aria-label="Accept options">▾</button></div> <!></div> <button class="discard-btn svelte-1pyfjii">Discard</button></div></div> <div class="diff-container svelte-1pyfjii"></div></div>'),UK=B('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),qK=B('<div class="diff-container svelte-1pyfjii"></div>'),GK=B('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Commit <code> </code> → current — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><button class="discard-btn svelte-1pyfjii">Close</button></div></div> <!></div>'),KK=B('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),ZK=B('<span class="log-file svelte-1pyfjii"> </span>'),XK=B("<option> </option>"),YK=B('<select class="log-filter-level svelte-1pyfjii"></select> <input class="log-filter-text svelte-1pyfjii" type="search" placeholder="Filter…"/> <label class="log-filter-regex svelte-1pyfjii" title="Interpret filter as a regular expression"><input type="checkbox" class="svelte-1pyfjii"/> <span class="log-filter-checkmark svelte-1pyfjii"></span> Regex</label> <button class="log-clear svelte-1pyfjii">Clear</button>',1),QK=B('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),JK=B('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),eZ=B('<div class="log-body svelte-1pyfjii"><!> <!></div>'),tZ=B('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),iZ=B('<!> <!> <!> <!> <div class="layout svelte-1pyfjii"><aside class="svelte-1pyfjii"><div class="toolbar svelte-1pyfjii"><button title="New script" class="svelte-1pyfjii">+ File</button> <button title="New folder" class="svelte-1pyfjii">+ Folder</button> <button title="Find in files / Find files (Ctrl+Shift+F)">&#x2315;</button> <button title="Refresh" class="refresh svelte-1pyfjii">↻</button></div> <!> <!> <ul class="tree svelte-1pyfjii"><li role="presentation"></li> <!></ul> <!></aside> <div class="sidebar-resize-handle svelte-1pyfjii" role="separator"></div> <div class="editor-area svelte-1pyfjii"><!> <div class="editor-toolbar svelte-1pyfjii"><span class="filename svelte-1pyfjii"> </span> <!> <div class="split-wrap svelte-1pyfjii"><div class="split-btn svelte-1pyfjii"><button class="split-main svelte-1pyfjii"> </button> <button class="split-arrow svelte-1pyfjii" aria-label="Save options">▾</button></div> <!></div> <!> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"><line x1="5.5" y1="5" x2="4" y2="2.5"></line><line x1="10.5" y1="5" x2="12" y2="2.5"></line><path d="M3 11 V7 A5 3.5 0 0 0 13 7 V11 Z" stroke-linejoin="round"></path><circle cx="6" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle><circle cx="10" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle></svg> AI</button></div> <div class="editor-body svelte-1pyfjii"><div class="editor-left svelte-1pyfjii"><div class="editor-stack svelte-1pyfjii"><div class="editor-container svelte-1pyfjii"></div> <!> <!> <!></div> <div><!> <div class="log-header svelte-1pyfjii"><button class="log-toggle svelte-1pyfjii"> <!></button> <!></div> <!></div></div> <!></div></div></div>',1);function nZ(o,e){Vs(e,!0);let t=F(yi([])),i=F(yi({})),n=F(null),s=F(null),r=F(null),a=F(null),d=F(yi([])),u=F(null),f=F(!1),g=F(""),p=F(!1),C=F(!0),b=F(null),y=F(!1),w=F(!1),A=F(null),P=F(yi([])),M=F(!1),R=F(30),T=F(void 0),V=null,H=null,J=null,se=F(!1),ue=F(""),ie=F(!1),de=F(void 0),Ce=F(yi(new Set));const oe=new Set;let fe=F(yi(new Set)),Be=F(yi([])),Ne=F(!1),ve=F("text"),rt=F(""),We=F(!1),ye=F(!1),gt=F(!1),Rt=F(""),nt=F(yi([])),St=F(yi([])),Ee=F(!1),Pt=F(!1),pt=F(""),ut=F(void 0),Ye=F(yi([])),kt=F(!1),ci=F(!1),Ci=null,Ai=F(void 0),si=F(!1),Vt=F(!1),et=null;function Oe(){c(Ai)&&(m(si,c(Ai).scrollLeft>0),m(Vt,c(Ai).scrollLeft+c(Ai).clientWidth<c(Ai).scrollWidth-1))}function ti(q){var he;(he=c(Ai))==null||he.scrollBy({left:q*200,behavior:"smooth"})}function Li(q="text"){m(Ne,!0),m(ve,q,!0),ul().then(()=>{var he;return(he=c(ut))==null?void 0:he.focus()})}function hi(){m(Ne,!1),m(rt,""),m(nt,[],!0),m(St,[],!0),m(Ee,!1),m(pt,""),m(gt,!1),m(kt,!1)}function Ui(){Ci&&clearTimeout(Ci),Ci=setTimeout(Wi,300)}async function Wi(){const q=c(rt).trim();if(!q){m(nt,[],!0),m(St,[],!0),m(Ee,!1),m(pt,"");return}m(Pt,!0),m(pt,"");try{if(c(ve)==="files"){const he=await nA(q,{mode:"files"});m(St,he.results,!0),m(Ee,he.truncated,!0)}else{const he=await nA(q,{regex:c(ye),caseSensitive:c(We)});m(nt,he.results,!0),m(Ee,he.truncated,!0)}}catch(he){m(pt,he.message||"Search failed",!0)}finally{m(Pt,!1)}}async function ki(q,he){await ct(q),wt&&(wt.revealLineInCenter(he.line),wt.setPosition({lineNumber:he.line,column:he.col}),wt.focus())}function dn(q){return q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async function ln(){if(!c(rt).trim()||!c(nt).length)return;m(ci,!0);const q=[],he="g"+(c(We)?"":"i");for(const ft of c(nt))try{const mt=await Nx(ft.path),$e=c(ye)?new RegExp(c(rt),he):new RegExp(dn(c(rt)),he),Ut=mt.content.replace($e,c(Rt));Ut!==mt.content&&q.push({path:ft.path,checked:!0,original:mt.content,replaced:Ut,changes:ft.matches.length})}catch{}m(Ye,q,!0),m(ci,!1),m(kt,!0)}async function Gi(){for(const q of c(Ye).filter(he=>he.checked))try{await Gl(q.path,q.replaced);const he=c(d).find(ft=>ft.path===q.path);he!=null&&he.model&&(he.model.setValue(q.replaced),he.savedContent=q.replaced,he.dirty=!1)}catch{}m(kt,!1),await Wi()}function bn(q){q.ctrlKey&&q.shiftKey&&q.key==="F"&&(q.preventDefault(),c(Ne)&&c(ve)==="text"?hi():Li("text"))}$n(()=>{c(Ai)&&(et==null||et.disconnect(),et=new ResizeObserver(Oe),et.observe(c(Ai)),Oe())});let vt=F("all"),Gt=F(""),wi=F(!1);const zi=["all","debug","info","warn","error"],Mi={debug:0,info:1,warn:2,error:3};function Ri(q){if(c(vt)!=="all"&&Mi[q.level]<Mi[c(vt)])return!1;if(!c(Gt))return!0;if(c(wi))try{return new RegExp(c(Gt),"i").test(q.msg)}catch{}return q.msg.toLowerCase().includes(c(Gt).toLowerCase())}let Oi=F(null);function Xi(q){const he=q.currentTarget.getBoundingClientRect();m(Oi,{x:he.left,y:he.top},!0)}function Ei(){m(Oi,null)}let Qe,wt,Fi,Bi=!1,pi=null,Ti=null,X=!1,Fe=!1,Ke=F(!1),ot=F(null),$t=F(!1),ne=F(!1),Se=F(void 0),Me=null,Y=null,He=null,je=F(yi(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),De=F(yi(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),At=F(yi(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),Ot=F(yi(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),ni=!1,ii=0,xi=0,jt=!1,mi=0,ze=0,tt=!1,Yt=0,qt=0,fi=!1,Kt=0,pe=0;const Ze=Lt(()=>{var q;return c(u)&&c(ce)?{path:c(u),content:((q=c(ce).model)==null?void 0:q.getValue())??c(ce).savedContent}:null}),dt=Lt(()=>{var q;return new Set(((q=c(b))==null?void 0:q.changes.map(he=>he.file))??[])}),ht=Lt(()=>{const q=new Set;for(const he of c(dt)){const ft=he.split("/");for(let mt=1;mt<ft.length;mt++)q.add(ft.slice(0,mt).join("/"))}return q});let Wt=F(!1),Tt=F(!1),di=F(""),I=F(!1),W=F(""),K=F(yi(new Set));async function le(){var q;if(!(!c(di).trim()||c(K).size===0)){m(I,!0),m(W,"");try{const he=c(b).changes.filter(ft=>c(K).has(ft.file)).map(ft=>ft.file);if(he.length===c(b).changes.length?await rA(c(di).trim()):await oA(he,c(di).trim()),c(w))try{await Hx()}catch{}m(di,""),await xt(),(q=c(b))!=null&&q.changes.length?m(K,new Set(c(b).changes.map(ft=>ft.file)),!0):m(Wt,!1)}catch(he){m(W,he.message,!0)}finally{m(I,!1)}}}let Z,Q,ce=Lt(()=>c(d).find(q=>q.path===c(u))??null);const Xe="she-tabs",ae="she-active-tab",xe="she-log-open",Le="she-chat-open";let me=wu(e,"active",3,!0);$n(()=>{Fe&&(localStorage.setItem(Xe,JSON.stringify(c(d).map(q=>q.path))),c(u)?localStorage.setItem(ae,c(u)):localStorage.removeItem(ae))}),$n(()=>{Fe&&localStorage.setItem(Le,String(c(Ke)))}),$n(()=>{me()&&wt&&wt.layout()});const Ie=`
153
- declare const she: {
154
- log(...args: any[]): void;
155
- info(...args: any[]): void;
156
- debug(...args: any[]): void;
157
- warn(...args: any[]): void;
158
- error(...args: any[]): void;
159
- now(): number;
160
- /** Schedule with a cron string, Date, node-schedule literal, array of any of those,
161
- * or a suncalc event name ('sunrise', 'sunset', 'dawn', 'dusk', …) for solar scheduling.
162
- * opts.shift (seconds) offsets solar events; opts.random adds a random delay. */
163
- schedule(pattern: string | Date | object | (string | Date | object)[], opts?: { shift?: number; random?: number }, cb?: () => void): void;
164
- mqtt: {
165
- sub(topic: string | string[], opts?: any, cb?: (topic: string, val: any, obj: any, prev: any, msg: any) => void): void;
166
- pub(topic: string | string[], payload: any, opts?: { qos?: number; retain?: boolean }): void;
167
- get(topic: string): any;
168
- getProp(topic: string, ...prop: string[]): any;
169
- link(source: string | string[], target: string | string[], value?: any): void;
170
- age(topic: string): number;
171
- or(srcs: string[], target: string | ((topic: string | null, val: 0 | 1) => void)): void;
172
- and(srcs: string[], target: string | ((topic: string | null, val: 0 | 1) => void)): void;
173
- max(srcs: string[], target: string | ((topic: string | null, val: number) => void)): void;
174
- min(srcs: string[], target: string | ((topic: string | null, val: number) => void)): void;
175
- timer(src: string | string[], ms: number, target: string | ((topic: string | null, val: 0 | 1) => void)): void;
176
- };
177
- http: {
178
- fetch(url: string, opts?: RequestInit): Promise<any>;
179
- sub(path: string, callback: (body: any, req: { params: any; query: any; headers: any }) => any): void;
180
- };
181
- api: {
182
- get(path: string, handler: (req: any) => any): void;
183
- post(path: string, handler: (req: any, body: any) => any): void;
184
- put(path: string, handler: (req: any, body: any) => any): void;
185
- delete(path: string, handler: (req: any) => any): void;
186
- };
187
- db: {
188
- get(id: string): any;
189
- set(id: string, doc: object): void;
190
- extend(id: string, partial: object): void;
191
- delete(id: string): void;
192
- prop(id: string, method: 'set' | 'create' | 'del', prop: string, val?: any): void;
193
- sub(pattern: string, callback: (id: string, doc: any) => void): void;
194
- query(filter: string | null, mapFn: Function, reduceFn?: Function): any[];
195
- };
196
- matter: {
197
- sub(nodeId: string, endpointId: number, cluster: string, attr: string, cb: (val: any, old: any) => void): number;
198
- unsub(listenerId: number): void;
199
- get(nodeId: string, endpointId: number, cluster: string, attr: string): Promise<any>;
200
- send(nodeId: string, endpointId: number, cluster: string, command: string, args?: object): Promise<any>;
201
- on(nodeId: string, endpointId: number, cluster: string, event: string, cb: (val: any) => void): number;
202
- };
203
- influx: {
204
- query(fluxQuery: string): Promise<any[]>;
205
- write(measurement: string, fields: object, tags?: object, timestamp?: number | Date): Promise<void>;
206
- getLast(topic: string, n: number): Promise<Array<{ ts: number; val: any }>>;
207
- getRange(topic: string, from: number | string | Date, to: number | string | Date): Promise<Array<{ ts: number; val: any }>>;
208
- };
209
- elastic: {
210
- search(index: string, query: object): Promise<{ hits: any[]; total: number }>;
211
- get(index: string, id: string): Promise<object | null>;
212
- index(index: string, doc: object, id?: string): Promise<{ id: string }>;
213
- find(index: string, field: string, text: string, size?: number): Promise<any[]>;
214
- };
215
- };
216
- `;function lt(q){c(d).some(he=>he.dirty)&&q.preventDefault()}Ks(async()=>{var mt;window.addEventListener("beforeunload",lt),m(C,localStorage.getItem(xe)!=="false"),m(Ke,localStorage.getItem(Le)==="true"),ad.typescript.javascriptDefaults.addExtraLib(Ie,"she-api.d.ts"),ad.typescript.javascriptDefaults.setCompilerOptions({target:ad.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),ad.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),GG(),Fi=xr.createModel("","javascript"),wt=xr.create(Qe,{model:Fi,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),wt.addCommand(n8.CtrlCmd|n8.Shift|y7.KeyF,()=>{c(Ne)&&c(ve)==="text"?hi():Li("text")}),wt.onDidChangeModelContent(()=>{if(Bi)return;const $e=c(d).find(Ut=>Ut.path===c(u));$e&&($e.dirty=wt.getValue()!==$e.savedContent),Pn&&clearTimeout(Pn),Pn=setTimeout(Vn,600)}),pi=lS($e=>{const Ut=$e.msg.match(/^([^:\n]+\.js):\s/);if(!Ut)return;const oi=Ut[1];if($e.level==="error")oe.add(oi),c(Ce).has(oi)||m(Ce,new Set([...c(Ce),oi]),!0);else if(oe.has(oi)){oe.delete(oi);const Qi=new Set(c(Ce));Qi.delete(oi),m(Ce,Qi,!0)}const tn=c(d).find(Qi=>Qi.path===oi);tn&&(tn.logEntries=[...tn.logEntries.slice(-199),$e],tn.path===c(u)&&c(C)&&c(de)&&ul().then(()=>{c(de)&&(c(de).scrollTop=c(de).scrollHeight)}))}),Ti=ar("script:running",$e=>{const Ut=$e.path;if($e.running)m(fe,new Set([...c(fe),Ut]),!0);else{const oi=new Set(c(fe));oi.delete(Ut),m(fe,oi,!0)}}),await G(),xt();try{const $e=await Il();typeof $e.gitAutoCommit=="boolean"&&m(y,$e.gitAutoCommit,!0),typeof $e.gitAutoPush=="boolean"&&m(w,$e.gitAutoPush,!0)}catch{}try{const $e=await getDaemonStatus();m(fe,new Set($e.runningScripts??[]),!0)}catch{}const q=JSON.parse(localStorage.getItem(Xe)??"[]"),he=localStorage.getItem(ae);for(const $e of q)await _e($e,!1);const ft=he&&c(d).some($e=>$e.path===he)?he:((mt=c(d)[0])==null?void 0:mt.path)??null;ft&&await st(ft),Fe=!0}),Tp(()=>{var q;window.removeEventListener("beforeunload",lt),et==null||et.disconnect(),Pn&&clearTimeout(Pn),pi==null||pi(),Ti==null||Ti();for(const he of c(d))(q=he.model)==null||q.dispose();Fi==null||Fi.dispose(),wt==null||wt.dispose()});async function G(){try{if(m(t,await M$(),!0),!X){let he=function(ft){for(const mt of ft)mt.type==="dir"&&(q[mt.path]=!0,mt.children&&he(mt.children))};X=!0;const q={};he(c(t)),m(i,q,!0)}m(g,"")}catch(q){m(g,q.message,!0)}}function re(q){c(i)[q]=!c(i)[q]}function Pe(q){switch(q){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return q}}async function it(q,he){try{he?await Gl(`${q}/.shelib`,""):await Ox(`${q}/.shelib`),await G(),await Ge("all",he?`lib ${q}`:`unlib ${q}`)}catch(ft){m(g,ft.message,!0)}}async function ge(q,he){const ft=q.split("/").pop(),mt=q.includes("/")?q.slice(0,q.lastIndexOf("/")):"",$e=mt?`${mt}/.shedisable-${ft}`:`.shedisable-${ft}`;try{he?await Gl($e,""):await Ox($e),await G(),await Ge("all",he?`disable ${q}`:`enable ${q}`)}catch(Ut){m(g,Ut.message,!0)}}async function _e(q,he=!0){var ft;if(c(d).some(mt=>mt.path===q)){he&&await st(q);return}try{const{content:mt}=await Nx(q),$e=w7.parse(`file:///she-scripts/${encodeURIComponent(q)}`);(ft=xr.getModel($e))==null||ft.dispose();const Ut=xr.createModel(mt,Ys(q),$e);m(d,[...c(d),{path:q,dirty:!1,savedContent:mt,model:Ut,logEntries:[]}],!0),he&&await st(q)}catch(mt){m(g,mt.message,!0)}}async function ct(q){await _e(q,!0)}async function st(q){var ft,mt;const he=c(d).find($e=>$e.path===q);he!=null&&he.model&&(_t(),m(ot,null),m(u,q,!0),Bi=!0,wt.setModel(he.model),Bi=!1,Vn(),await ul(),(mt=(ft=c(Ai))==null?void 0:ft.querySelector(`[data-tab-path="${CSS.escape(q)}"]`))==null||mt.scrollIntoView({inline:"nearest",block:"nearest"}),Oe())}async function Ae(q){var mt;const he=c(d).find($e=>$e.path===q);if(!he||he.dirty&&!await Z.show(`Discard unsaved changes to ${q}?`,{confirm:"Discard"}))return;const ft=c(d).findIndex($e=>$e.path===q);if((mt=he.model)==null||mt.dispose(),m(d,c(d).filter($e=>$e.path!==q),!0),c(u)===q){const $e=c(d)[ft]??c(d)[ft-1]??null;$e?await st($e.path):(m(u,null),wt.setModel(Fi))}}async function xt(){try{m(b,await N$(),!0)}catch{m(b,null)}}async function Ge(q,he){if(c(b))try{if(q==="all"?await rA(he):await oA(q,he),c(w))try{await Hx()}catch{}await xt()}catch{}}async function Ve(){if(!c(u))return;const q=c(d).find(he=>he.path===c(u));if(q){m(f,!0);try{const he=wt.getValue();await Gl(c(u),he),q.savedContent=he,q.dirty=!1,m(g,""),c(y)?await Ge([c(u)],`update ${c(u)}`):xt()}catch(he){m(g,he.message,!0)}finally{m(f,!1)}}}async function Je(){if(!c(u)||(await Ve(),c(g)))return;const q=await Q.show("Commit message:",{initial:`update ${c(u)}`,placeholder:"Update script",confirm:"Commit"});if(q)try{if(await W$(c(u),q),c(w))try{await Hx()}catch{}xt()}catch(he){m(g,"Git: "+he.message)}}async function Ct(){m(p,!1);try{await Hx(),await xt(),m(g,"")}catch(q){m(g,"Git push: "+q.message)}}function Ue(q){const he=Date.now()-new Date(q).getTime(),ft=Math.floor(he/1e3);if(ft<60)return"just now";const mt=Math.floor(ft/60);if(mt<60)return`${mt}m ago`;const $e=Math.floor(mt/60);if($e<24)return`${$e}h ago`;const Ut=Math.floor($e/24);if(Ut<30)return`${Ut}d ago`;const oi=Math.floor(Ut/30);return oi<12?`${oi}mo ago`:`${Math.floor(oi/12)}y ago`}async function Ft(q){Ii(),m(A,q,!0),m(P,[],!0),m(R,30),await Re()}async function Re(){if(c(A)){m(M,!0);try{m(P,await z$(c(A).path,c(R)),!0)}catch{}finally{m(M,!1)}}}async function at(){m(R,c(R)+30),await Re()}function Bt(){m(A,null),m(P,[],!0),_t()}async function Nt(q){if(!c(A))return;_t(),await ct(c(A).path);let he;try{he=await V$(q.hash,c(A).path)}catch{return}if(m(ue,q.hash,!0),m(ie,he.binary,!0),m(se,!0),he.binary||he.content===null)return;let ft="";const mt=c(d).find(Ut=>Ut.path===c(A).path);if(mt!=null&&mt.model)ft=mt.model.getValue();else try{ft=(await Nx(c(A).path)).content}catch{}if(await ul(),!c(T))return;const $e=Ys(c(A).path);H=xr.createModel(he.content,$e),J=xr.createModel(ft,$e),V=xr.createDiffEditor(c(T),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),V.setModel({original:H,modified:J})}function _t(){m(se,!1),m(ie,!1),V==null||V.dispose(),V=null,H==null||H.dispose(),H=null,J==null||J.dispose(),J=null}async function vi(){const q=c(n)?`${c(n)}/`:"",he=await Q.show("New script name:",{placeholder:q?`${q}myscript.js`:"myscript.js",initial:q,confirm:"Create"});if(!he)return;const ft=he.endsWith(".js")?`/* global she */
217
- 'use strict';
218
-
219
- `:"";await Gl(he,ft),await G(),await _e(he,!0)}async function Si(){const q=c(n)?`${c(n)}/`:"",he=await Q.show("New folder name:",{placeholder:q?`${q}subfolder`:"myfolder",initial:q,confirm:"Create"});he&&(await R$(he),c(i)[he]=!0,await G())}function qi(q,he){q.preventDefault(),m(s,{x:q.clientX,y:q.clientY,entry:he},!0)}function Ii(){m(s,null)}async function Ki(q){Ii(),m(n,q,!0),c(i)[q]=!0,await vi()}async function Pi(q){Ii(),m(n,q,!0),await Si()}async function Jt(q){Ii();const he=q.path.includes("/")?q.path.slice(0,q.path.lastIndexOf("/")+1):"",ft=await Q.show(q.type==="dir"?"Rename folder:":"Rename script:",{initial:q.name,placeholder:q.name,confirm:"Rename"});if(!ft||ft===q.name)return;const mt=he+ft;try{await sA(q.path,mt);const $e=c(d).find(Ut=>Ut.path===q.path);$e&&($e.path=mt,c(u)===q.path&&m(u,mt)),await G(),await Ge("all",`rename ${q.path} → ${mt}`)}catch($e){m(g,$e.message,!0)}}function Qt(q){if(!q.children)return 0;let he=0;for(const ft of q.children)he++,ft.type==="dir"&&(he+=Qt(ft));return he}async function Yi(q){Ii();let he=`Delete ${q.type==="dir"?"folder":"file"} "${q.path}"?`;if(q.type==="dir"){const ft=Qt(q);ft>0&&(he+=` This will also delete ${ft} item${ft===1?"":"s"} inside.`)}if(await Z.show(he,{confirm:"Delete",danger:!0})){if(q.type==="dir")for(const ft of[...c(d)])ft.path.startsWith(q.path+"/")&&await Ae(ft.path);else await Ae(q.path);await Ox(q.path),await G(),await Ge("all",`delete ${q.path}`)}}async function Ji(q){Ii();const{content:he}=await Nx(q.path);c(Be).some(ft=>ft.name===q.path)||m(Be,[...c(Be),{name:q.path,content:he}],!0),m(Ke,!0)}function Ln(q,he){var ft;m(r,he,!0),(ft=q.dataTransfer)==null||ft.setData("text/plain",he)}function Jn(q,he){if(q.preventDefault(),c(r)&&(c(r)===he||he.startsWith(c(r)+"/"))){q.dataTransfer&&(q.dataTransfer.dropEffect="none"),m(a,null);return}q.dataTransfer&&(q.dataTransfer.dropEffect="move"),m(a,he,!0)}function Ss(){m(a,null)}async function as(q,he){var oi,tn,Qi;q.preventDefault(),m(a,null);const ft=Array.from(((oi=q.dataTransfer)==null?void 0:oi.items)??[]).filter(cn=>cn.kind==="file");if(ft.length>0&&!c(r)){for(const cn of ft){const Cn=(tn=cn.webkitGetAsEntry)==null?void 0:tn.call(cn);Cn&&await Fs(Cn,he,!0)}await G();return}const mt=c(r)??((Qi=q.dataTransfer)==null?void 0:Qi.getData("text/plain"));if(m(r,null),!mt||mt===he||he.startsWith(mt+"/"))return;const $e=mt.split("/").pop(),Ut=he?`${he}/${$e}`:$e;if(Ut!==mt)try{await sA(mt,Ut);for(const cn of c(d))if(cn.path===mt)c(u)===mt&&m(u,Ut,!0),cn.path=Ut;else if(cn.path.startsWith(mt+"/")){const Cn=Ut+cn.path.slice(mt.length);c(u)===cn.path&&m(u,Cn),cn.path=Cn}await G(),await Ge("all",`rename ${mt} → ${Ut}`)}catch(cn){m(g,cn.message,!0)}}async function Fs(q,he,ft){if(q.isFile){const $e=await(await new Promise((oi,tn)=>q.file(oi,tn))).text(),Ut=he?`${he}/${q.name}`:q.name;await Gl(Ut,$e),ft&&q.name.endsWith(".js")&&await ge(Ut,!0)}else if(q.isDirectory){const mt=q.createReader();let $e=[],Ut;do Ut=await new Promise((oi,tn)=>mt.readEntries(oi,tn)),$e=[...$e,...Ut];while(Ut.length>0);for(const oi of $e)await Fs(oi,he?`${he}/${q.name}`:q.name,!1);if(ft){const oi=he?`${he}/${q.name}`:q.name;await ge(oi,!0)}}}async function kn(){if(!c(u)||!await Z.show(`Delete ${c(u)}?`,{confirm:"Delete",danger:!0}))return;const q=c(u);await Ae(q),await Ox(q),await G(),await Ge("all",`delete ${q}`)}function ss(){c(ce)&&(c(ce).logEntries=[])}function ps(){m(C,!c(C)),localStorage.setItem(xe,String(c(C)))}function Vi(q){return new Date(q).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Ys(q){var mt;const he=((mt=q.split(".").pop())==null?void 0:mt.toLowerCase())??"";return{js:"javascript",mjs:"javascript",cjs:"javascript",ts:"typescript",tsx:"typescript",json:"json",jsonc:"json",md:"markdown",markdown:"markdown",yaml:"yaml",yml:"yaml",sh:"shell",bash:"shell",css:"css",html:"html",xml:"xml",ini:"ini",toml:"ini"}[he]??"plaintext"}let Pn=null;async function Vn(){const q=c(d).find(ft=>ft.path===c(u));if(!(q!=null&&q.model))return;const he=q.model;try{const Ut=(await(await(await ad.typescript.getJavaScriptWorker())(he.uri)).getSyntacticDiagnostics(he.uri.toString())).map(oi=>{const tn=he.getPositionAt(oi.start??0),Qi=he.getPositionAt((oi.start??0)+(oi.length??0));return{severity:S7.Error,startLineNumber:tn.lineNumber,startColumn:tn.column,endLineNumber:Qi.lineNumber,endColumn:Qi.column,message:typeof oi.messageText=="string"?oi.messageText:JSON.stringify(oi.messageText),source:"she-syntax"}});if(xr.setModelMarkers(he,"she-syntax",Ut),c(u)){if(Ut.length>0)oe.add(c(u)),c(Ce).has(c(u))||m(Ce,new Set([...c(Ce),c(u)]),!0);else if(oe.has(c(u))){oe.delete(c(u));const oi=new Set(c(Ce));oi.delete(c(u)),m(Ce,oi,!0)}}}catch{}}function Ts(q){ni=!0,ii=q.clientX,xi=c(je),q.preventDefault()}function dr(q){jt=!0,mi=q.clientY,ze=c(De),q.preventDefault()}function Or(q){tt=!0,Yt=q.clientX,qt=c(At),q.preventDefault()}function Za(q){fi=!0,Kt=q.clientY,pe=c(Ot),q.preventDefault()}function Xa(q){ni&&m(je,Math.max(140,Math.min(500,xi+q.clientX-ii)),!0),jt&&m(De,Math.max(60,Math.min(500,ze-(q.clientY-mi))),!0),tt&&m(At,Math.max(200,Math.min(700,qt-(q.clientX-Yt))),!0),fi&&m(Ot,Math.max(80,Math.min(600,pe-(q.clientY-Kt))),!0)}function ur(){ni&&(ni=!1,localStorage.setItem("she-scripts-sidebar-width",String(c(je)))),jt&&(jt=!1,localStorage.setItem("she-scripts-log-height",String(c(De)))),tt&&(tt=!1,localStorage.setItem("she-scripts-chat-width",String(c(At)))),fi&&(fi=!1,localStorage.setItem("she-scripts-history-height",String(c(Ot))))}function ga(q){(q.ctrlKey||q.metaKey)&&q.key==="s"&&(q.preventDefault(),Ve()),q.key==="Escape"&&(m(p,!1),m(s,null),m(Tt,!1))}async function Hr(q,he){const ft=await Q.show("Save new script as:",{placeholder:"myscript.js",initial:q,confirm:"Create"});if(ft)try{await Gl(ft,he),await G(),await _e(ft,!0)}catch(mt){m(g,mt.message,!0)}}async function Fb(q){var ft,mt;if(c($t)&&c(u)){m(ot,q,!0),await Oo();return}if(m(ot,q,!0),await ul(),!c(Se))return;Y==null||Y.dispose(),He==null||He.dispose(),Me==null||Me.dispose();const he=((mt=(ft=c(ce))==null?void 0:ft.model)==null?void 0:mt.getValue())??"";Y=xr.createModel(he,"javascript"),He=xr.createModel(q,"javascript"),Me=xr.createDiffEditor(c(Se),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),Me.setModel({original:Y,modified:He})}$n(()=>{c(u),m($t,!1),m(ne,!1)});async function Oo(){if(c(ot)===null||!c(u))return;const q=c(ot);m(ot,null);const he=c(d).find(ft=>ft.path===c(u));he!=null&&he.model&&(Bi=!0,he.model.setValue(q),Bi=!1,he.dirty=!1,he.savedContent=q);try{await Gl(c(u),q),m(g,""),c(y)?await Ge([c(u)],`update ${c(u)}`):xt()}catch(ft){m(g,ft.message,!0)}lf()}function Lb(){m(ot,null),lf()}function lf(){Me==null||Me.dispose(),Me=null,Y==null||Y.dispose(),Y=null,He==null||He.dispose(),He=null}var Wr=iZ();fs("keydown",Dd,ga),fs("mousemove",Dd,Xa),fs("mouseup",Dd,ur);var cf=yt(Wr);us(qc(cf,{}),q=>Z=q,()=>Z);var df=v(cf,2);us(KU(df,{}),q=>Q=q,()=>Q);var Xu=v(df,2);{var Ib=q=>{var he=YG(),ft=yt(he),mt=v(ft,2);let $e;var Ut=_(mt);{var oi=Qi=>{var cn=KG(),Cn=yt(cn),gn=v(Cn,2),En=v(gn,4),_n=v(En,2);$("click",Cn,()=>Ki(c(s).entry.path)),$("click",gn,()=>Pi(c(s).entry.path)),$("click",En,()=>Jt(c(s).entry)),$("click",_n,()=>Yi(c(s).entry)),D(Qi,cn)},tn=Qi=>{var cn=XG(),Cn=yt(cn),gn=v(Cn,2),En=v(gn,2),_n=v(En,2);{var yn=pn=>{var Hn=ZG();$("click",Hn,()=>Ft(c(s).entry)),D(pn,Hn)};z(_n,pn=>{c(b)&&pn(yn)})}var ls=v(_n,4);$("click",Cn,()=>ct(c(s).entry.path)),$("click",gn,()=>Jt(c(s).entry)),$("click",En,()=>Ji(c(s).entry)),$("click",ls,()=>Yi(c(s).entry)),D(Qi,cn)};z(Ut,Qi=>{c(s).entry.type==="dir"?Qi(oi):Qi(tn,-1)})}j(()=>$e=$o(mt,"",$e,{left:`${c(s).x??""}px`,top:`${c(s).y??""}px`})),$("click",ft,Ii),$("contextmenu",ft,Qi=>{Qi.preventDefault(),Ii()}),D(q,he)};z(Xu,q=>{c(s)&&q(Ib)})}var uf=v(Xu,2);{var Gp=q=>{var he=QG();let ft;j(()=>ft=$o(he,"",ft,{left:`${c(Oi).x??""}px`,top:`${c(Oi).y-4}px`})),D(q,he)};z(uf,q=>{c(Oi)&&q(Gp)})}var Kp=v(uf,2),hf=_(Kp);let Yu;{const q=(mt,$e=tb,Ut)=>{let oi=n9(()=>I7(Ut==null?void 0:Ut(),!1));var tn=Es(),Qi=yt(tn);{var cn=gn=>{var En=eK(),_n=_(En);let yn;var ls=_(_n);let pn;var Hn=v(ls,2);let Ms;var mo=_(Hn),Rs=v(Hn,2);{var Ds=x=>{var E=IA();D(x,E)},cs=Lt(()=>c(dt).has($e().path)||c(ht).has($e().path));z(Rs,x=>{c(cs)&&x(Ds)})}var ns=v(Rs,2),qs=_(ns),Bn=v(ns,2),hs=_(Bn),l=v(_n,2);{var h=x=>{var E=JG();Zt(E,21,()=>$e().children,k=>k.path,(k,N)=>{q(k,()=>c(N),()=>$e().disabled||c(oi))}),D(x,E)};z(l,x=>{c(i)[$e().path]&&$e().children&&x(h)})}j(()=>{yn=Dt(_n,1,"dir-row svelte-1pyfjii",null,yn,{"dir-selected":c(n)===$e().path,"drag-target":c(a)===$e().path}),rn(_n,"aria-selected",c(n)===$e().path),pn=Dt(ls,1,"chevron svelte-1pyfjii",null,pn,{open:c(i)[$e().path]}),Ms=Dt(Hn,1,"dir-name svelte-1pyfjii",null,Ms,{lib:$e().lib}),O(mo,$e().name),oa(qs,$e().lib),oa(hs,$e().disabled)}),fs("dragstart",_n,x=>Ln(x,$e().path)),fs("dragover",_n,x=>Jn(x,$e().path)),fs("dragleave",_n,Ss),fs("drop",_n,x=>as(x,$e().path)),$("contextmenu",_n,x=>qi(x,$e())),$("click",ls,()=>re($e().path)),$("click",Hn,()=>{m(n,$e().path,!0),c(i)[$e().path]=!0}),$("keydown",Hn,x=>x.key==="Enter"&&m(n,$e().path,!0)),fs("mouseenter",ns,Xi),fs("mouseleave",ns,Ei),$("change",qs,()=>it($e().path,!$e().lib)),$("change",hs,()=>ge($e().path,!$e().disabled)),D(gn,En)},Cn=gn=>{const En=Lt(()=>c(Ce).has($e().path)),_n=Lt(()=>c(dt).has($e().path)),yn=Lt(()=>c(d).some(ui=>ui.path===$e().path&&ui.dirty)),ls=Lt(()=>($e().name.split(".").pop()??"txt").toUpperCase()),pn=Lt(()=>$e().name.endsWith(".js"));var Hn=rK();let Ms;var mo=_(Hn),Rs=_(mo);let Ds;var cs=_(Rs);let ns;var qs=_(cs),Bn=v(cs,2),hs=_(Bn),l=v(Bn,2);{var h=ui=>{var hn=IA();D(ui,hn)};z(l,ui=>{c(_n)&&ui(h)})}var x=v(l);{var E=ui=>{var hn=tK();D(ui,hn)};z(x,ui=>{c(yn)&&ui(E)})}var k=v(x,2);{var N=ui=>{var hn=iK();D(ui,hn)},te=Lt(()=>c(pn)&&c(fe).has($e().path)&&!c(En));z(k,ui=>{c(te)&&ui(N)})}var be=v(k,2);{var we=ui=>{var hn=nK();D(ui,hn)};z(be,ui=>{c(En)&&ui(we)})}var Et=v(Rs,2);{var ri=ui=>{var hn=sK();let In;var _s=_(hn);j(()=>{In=Dt(hn,1,"dis-label svelte-1pyfjii",null,In,{"dis-locked":c(oi)}),rn(hn,"title",c(oi)?"Disabled by parent directory":"Disable — this script will not be executed"),oa(_s,$e().disabled),_s.disabled=c(oi)}),$("change",_s,()=>ge($e().path,!$e().disabled)),D(ui,hn)},Zi=ui=>{var hn=oK();D(ui,hn)};z(Et,ui=>{c(pn)?ui(ri):ui(Zi,-1)})}j((ui,hn,In)=>{Ms=Dt(Hn,1,"tree-file svelte-1pyfjii",null,Ms,ui),Ds=Dt(Rs,1,"svelte-1pyfjii",null,Ds,{lib:$e().lib,dis:$e().disabled,err:c(En)}),ns=Dt(cs,1,`badge badge-${hn??""}`,"svelte-1pyfjii",ns,{"badge-shelib":$e().lib}),O(qs,In),O(hs,$e().name)},[()=>({active:c(d).some(ui=>ui.path===$e().path),"active-tab":$e().path===c(u)}),()=>c(ls).toLowerCase(),()=>Pe(c(ls))]),fs("dragstart",Hn,ui=>Ln(ui,$e().path)),$("contextmenu",Hn,ui=>qi(ui,$e())),$("click",Rs,()=>ct($e().path)),D(gn,Hn)};z(Qi,gn=>{$e().type==="dir"?gn(cn):gn(Cn,-1)})}D(mt,tn)};var Zp=_(hf),ff=_(Zp),gf=v(ff,2),Wl=v(gf,2);let he;var Ya=v(Wl,2),Xp=v(Zp,2);{var Gc=mt=>{var $e=aK(),Ut=_($e);j(()=>O(Ut,c(g))),D(mt,$e)};z(Xp,mt=>{c(g)&&mt(Gc)})}var Ao=v(Xp,2);{var Yp=mt=>{var $e=CK(),Ut=_($e),oi=_(Ut);let tn;var Qi=v(oi,2);let cn;var Cn=v(Qi,2),gn=v(Ut,2),En=_(gn);us(En,Bn=>m(ut,Bn),()=>c(ut));var _n=v(En,2);{var yn=Bn=>{var hs=lK(),l=yt(hs);let h;var x=v(l,2);let E;var k=v(x,2);let N;j(()=>{h=Dt(l,1,"svelte-1pyfjii",null,h,{active:c(We)}),E=Dt(x,1,"svelte-1pyfjii",null,E,{active:c(ye)}),N=Dt(k,1,"svelte-1pyfjii",null,N,{active:c(gt)})}),$("click",l,()=>{m(We,!c(We)),Ui()}),$("click",x,()=>{m(ye,!c(ye)),Ui()}),$("click",k,()=>m(gt,!c(gt))),D(Bn,hs)};z(_n,Bn=>{c(ve)==="text"&&Bn(yn)})}var ls=v(gn,2);{var pn=Bn=>{var hs=cK(),l=_(hs),h=v(l,2),x=_(h);j(E=>{h.disabled=E,O(x,c(ci)?"…":"Preview")},[()=>!c(rt).trim()||c(nt).length===0||c(ci)]),Ht(l,()=>c(Rt),E=>m(Rt,E)),$("click",h,ln),D(Bn,hs)};z(ls,Bn=>{c(ve)==="text"&&c(gt)&&Bn(pn)})}var Hn=v(ls,2),Ms=_(Hn);{var mo=Bn=>{var hs=dK();D(Bn,hs)},Rs=Bn=>{var hs=uK(),l=_(hs);j(()=>O(l,c(pt))),D(Bn,hs)},Ds=Bn=>{var hs=Es(),l=yt(hs);{var h=E=>{var k=Es(),N=yt(k);{var te=we=>{var Et=hK();D(we,Et)},be=we=>{var Et=UC(),ri=yt(Et);{var Zi=hn=>{var In=fK();D(hn,In)};z(ri,hn=>{c(Ee)&&hn(Zi)})}var ui=v(ri,2);Zt(ui,17,()=>c(nt),Ni,(hn,In)=>{var _s=pK(),Ns=_(_s),Vr=_(Ns),Wb=_(Vr),zb=v(Vr,2),Vb=_(zb),cx=v(Ns,2);Zt(cx,17,()=>c(In).matches,Ni,(jb,rh)=>{var As=gK(),Jc=_(As),$b=_(Jc),Ub=v(Jc,2),qb=_(Ub);j(()=>{O($b,c(rh).line),O(qb,c(rh).preview)}),$("click",As,()=>ki(c(In).path,c(rh))),D(jb,As)}),j(()=>{O(Wb,c(In).path),O(Vb,c(In).matches.length)}),$("click",Ns,()=>ct(c(In).path)),D(hn,_s)}),D(we,Et)};z(N,we=>{c(nt).length===0?we(te):we(be,-1)})}D(E,k)},x=E=>{var k=Es(),N=yt(k);{var te=we=>{var Et=xK();D(we,Et)},be=we=>{var Et=UC(),ri=yt(Et);{var Zi=hn=>{var In=mK();D(hn,In)};z(ri,hn=>{c(Ee)&&hn(Zi)})}var ui=v(ri,2);Zt(ui,17,()=>c(St),Ni,(hn,In)=>{var _s=vK(),Ns=_(_s),Vr=_(Ns);j(()=>O(Vr,c(In))),$("click",_s,()=>ct(c(In))),D(hn,_s)}),D(we,Et)};z(N,we=>{c(St).length===0?we(te):we(be,-1)})}D(E,k)};z(l,E=>{c(ve)==="text"?E(h):E(x,-1)})}D(Bn,hs)},cs=Lt(()=>c(rt).trim());z(Ms,Bn=>{c(Pt)?Bn(mo):c(pt)?Bn(Rs,1):c(cs)&&Bn(Ds,2)})}var ns=v(Hn,2);{var qs=Bn=>{var hs=bK(),l=_(hs),h=_(l),x=_(h),E=v(h,2),k=_(E),N=v(k,2),te=v(l,2);Zt(te,21,()=>c(Ye),Ni,(be,we,Et)=>{var ri=_K(),Zi=_(ri),ui=v(Zi,2),hn=_(ui),In=v(ui,2),_s=_(In);j(()=>{O(hn,c(we).path),O(_s,`${c(we).changes??""}×`)}),Cs(Zi,()=>c(we).checked,Ns=>c(we).checked=Ns),D(be,ri)}),j((be,we)=>{O(x,`Replace in ${be??""} file(s)`),k.disabled=we},[()=>c(Ye).filter(be=>be.checked).length,()=>c(Ye).filter(be=>be.checked).length===0]),$("click",k,Gi),$("click",N,()=>m(kt,!1)),D(Bn,hs)};z(ns,Bn=>{c(kt)&&Bn(qs)})}j(()=>{tn=Dt(oi,1,"svelte-1pyfjii",null,tn,{active:c(ve)==="text"}),cn=Dt(Qi,1,"svelte-1pyfjii",null,cn,{active:c(ve)==="files"}),rn(En,"placeholder",c(ve)==="text"?"Find in files…":"Find files…")}),$("click",oi,()=>{m(ve,"text"),Ui()}),$("click",Qi,()=>{m(ve,"files"),Ui()}),$("click",Cn,hi),$("input",En,Ui),$("keydown",En,Bn=>Bn.key==="Escape"&&hi()),Ht(En,()=>c(rt),Bn=>m(rt,Bn)),D(mt,$e)};z(Ao,mt=>{c(Ne)&&mt(Yp)})}var pf=v(Ao,2),Kc=_(pf);let ft;var xf=v(Kc,2);Zt(xf,17,()=>c(t),mt=>mt.path,(mt,$e)=>{q(mt,()=>c($e))});var mf=v(pf,2);{var Pb=mt=>{var $e=DK();let Ut;var oi=_($e),tn=v(oi,2),Qi=_(tn),cn=_(Qi),Cn=v(Qi,2),gn=v(tn,2),En=_(gn);{var _n=pn=>{var Hn=EK();D(pn,Hn)},yn=pn=>{var Hn=yK();D(pn,Hn)},ls=pn=>{var Hn=UC(),Ms=yt(Hn);Zt(Ms,17,()=>c(P),Ds=>Ds.hash,(Ds,cs)=>{var ns=wK(),qs=_(ns),Bn=_(qs),hs=v(qs,2),l=_(hs);j((h,x)=>{O(Bn,c(cs).subject),O(l,`${h??""} · ${x??""}`)},[()=>c(cs).hash.slice(0,7),()=>Ue(c(cs).date)]),$("click",ns,()=>Nt(c(cs))),D(Ds,ns)});var mo=v(Ms,2);{var Rs=Ds=>{var cs=SK(),ns=_(cs);j(()=>{cs.disabled=c(M),O(ns,c(M)?"Loading…":"Load more")}),$("click",cs,at),D(Ds,cs)};z(mo,Ds=>{c(P).length>=c(R)&&Ds(Rs)})}D(pn,Hn)};z(En,pn=>{c(M)&&c(P).length===0?pn(_n):c(P).length===0?pn(yn,1):pn(ls,-1)})}j(()=>{Ut=$o($e,"",Ut,{height:`${c(Ot)??""}px`}),rn(Qi,"title",c(A).path),O(cn,`History: ${c(A).name??""}`)}),$("mousedown",oi,Za),$("click",Cn,Bt),D(mt,$e)};z(mf,mt=>{c(A)&&mt(Pb)})}j(()=>{he=Dt(Wl,1,"search-toggle svelte-1pyfjii",null,he,{active:c(Ne)}),ft=Dt(Kc,1,"tree-root-drop svelte-1pyfjii",null,ft,{"drag-target":c(a)===""})}),$("click",ff,vi),$("click",gf,Si),$("click",Wl,()=>c(Ne)?hi():Li("text")),$("click",Ya,G),fs("dragover",Kc,mt=>Jn(mt,"")),fs("dragleave",Kc,Ss),fs("drop",Kc,mt=>as(mt,""))}var Qp=v(hf,2),Jp=v(Qp,2),ex=_(Jp);{var Qo=q=>{var he=BK(),ft=_(he),mt=v(ft,2);Zt(mt,21,()=>c(d),Ut=>Ut.path,(Ut,oi)=>{var tn=kK();let Qi;var cn=_(tn),Cn=_(cn),gn=v(cn,2);{var En=yn=>{var ls=AK();D(yn,ls)};z(gn,yn=>{c(oi).dirty&&yn(En)})}var _n=v(gn,2);j(yn=>{Qi=Dt(tn,1,"tab svelte-1pyfjii",null,Qi,{active:c(oi).path===c(u)}),rn(tn,"data-tab-path",c(oi).path),O(Cn,yn)},[()=>c(oi).path.split("/").pop()]),$("click",tn,()=>st(c(oi).path)),$("keydown",tn,yn=>yn.key==="Enter"&&st(c(oi).path)),$("click",_n,yn=>{yn.stopPropagation(),Ae(c(oi).path)}),D(Ut,tn)}),us(mt,Ut=>m(Ai,Ut),()=>c(Ai));var $e=v(mt,2);j(()=>{ft.disabled=!c(si),$e.disabled=!c(Vt)}),$("click",ft,()=>ti(-1)),fs("scroll",mt,Oe),fs("wheel",mt,Ut=>{Ut.preventDefault(),c(Ai).scrollLeft+=Ut.deltaY,Oe()}),$("click",$e,()=>ti(1)),D(q,he)};z(ex,q=>{c(d).length>0&&q(Qo)})}var Qa=v(ex,2),tx=_(Qa),zr=_(tx),ix=v(tx,2);{var zl=q=>{var he=NK(),ft=_(he),mt=_(ft),$e=v(ft,2);{var Ut=Cn=>{var gn=PK(),En=_(gn),_n=_(En),yn=v(En,2);{var ls=pn=>{var Hn=IK(),Ms=yt(Hn),mo=v(Ms,2),Rs=v(_(mo),2);Zt(Rs,21,()=>c(b).changes,Ni,(l,h)=>{var x=FK(),E=_(x),k=v(E,2),N=_(k),te=v(k,2),be=_(te);j(we=>{oa(E,we),O(N,c(h).status),O(be,c(h).file)},[()=>c(K).has(c(h).file)]),$("change",E,()=>{const we=new Set(c(K));we.has(c(h).file)?we.delete(c(h).file):we.add(c(h).file),m(K,we,!0)}),D(l,x)});var Ds=v(Rs,2),cs=_(Ds),ns=v(cs,2),qs=_(ns),Bn=v(Ds,2);{var hs=l=>{var h=LK(),x=_(h);j(()=>O(x,c(W))),D(l,h)};z(Bn,l=>{c(W)&&l(hs)})}j(l=>{var h;ns.disabled=l,O(qs,c(I)?"…":c(K).size===((h=c(b))==null?void 0:h.changes.length)?"Commit all":`Commit ${c(K).size}`)},[()=>!c(di).trim()||c(I)||c(K).size===0]),$("click",Ms,()=>m(Wt,!1)),$("keydown",cs,l=>l.key==="Enter"&&le()),Ht(cs,()=>c(di),l=>m(di,l)),$("click",ns,le),D(pn,Hn)};z(yn,pn=>{c(Wt)&&pn(ls)})}j(()=>{rn(En,"title",`${c(b).changes.length??""} uncommitted change(s) — click to view`),O(_n,`✎${c(b).changes.length??""}`)}),$("click",En,()=>{c(Wt)||m(K,new Set(c(b).changes.map(pn=>pn.file)),!0),m(Wt,!c(Wt)),m(W,"")}),D(Cn,gn)};z($e,Cn=>{c(b).changes.length>0&&Cn(Ut)})}var oi=v($e,2);{var tn=Cn=>{var gn=MK(),En=_(gn),_n=_(En),yn=v(En,2);{var ls=pn=>{var Hn=TK(),Ms=yt(Hn),mo=v(Ms,2),Rs=_(mo),Ds=_(Rs),cs=v(Rs,2),ns=_(cs);j(()=>O(Ds,`${c(b).ahead??""} unpushed commit(s)`)),$("click",Ms,()=>m(Tt,!1)),$("click",ns,()=>{m(Tt,!1),Ct()}),D(pn,Hn)};z(yn,pn=>{c(Tt)&&pn(ls)})}j(()=>{rn(En,"title",`${c(b).ahead??""} commit(s) ahead of upstream — click to push`),O(_n,`↑${c(b).ahead??""}`)}),$("click",En,()=>m(Tt,!c(Tt))),D(Cn,gn)};z(oi,Cn=>{c(b).ahead>0&&Cn(tn)})}var Qi=v(oi,2);{var cn=Cn=>{var gn=RK(),En=_(gn);j(()=>{rn(gn,"title",`${c(b).behind??""} commit(s) behind upstream`),O(En,`↓${c(b).behind??""}`)}),D(Cn,gn)};z(Qi,Cn=>{c(b).behind>0&&Cn(cn)})}j(()=>{rn(ft,"title",`Branch: ${c(b).branch??""}`),O(mt,`⎇ ${c(b).branch??""}`)}),D(q,he)};z(ix,q=>{c(b)&&q(zl)})}var nx=v(ix,2),Vl=_(nx),Zc=_(Vl),Qu=_(Zc),sx=v(Zc,2),pa=v(Vl,2);{var Ju=q=>{var he=OK(),ft=yt(he),mt=v(ft,2),$e=_(mt),Ut=v($e,2);$("click",ft,()=>m(p,!1)),$("click",$e,()=>{m(p,!1),Ve()}),$("click",Ut,()=>{m(p,!1),Je()}),D(q,he)};z(pa,q=>{c(p)&&q(Ju)})}var ox=v(nx,2);{var vf=q=>{var he=HK();$("click",he,kn),D(q,he)};z(ox,q=>{c(u)&&q(vf)})}var _f=v(ox,2);let hr;var Tb=v(Qa,2),Ja=_(Tb),rx=_(Ja),fr=_(rx);us(fr,q=>Qe=q,()=>Qe);var Xc=v(fr,2);{var ax=q=>{var he=WK();D(q,he)};z(Xc,q=>{c(u)||q(ax)})}var eh=v(Xc,2);{var th=q=>{var he=$K(),ft=_(he),mt=_(ft),$e=v(_(mt)),Ut=_($e),oi=v(mt,2),tn=_(oi),Qi=_(tn),cn=_(Qi),Cn=_(cn),gn=v(cn,2),En=v(Qi,2);{var _n=pn=>{var Hn=jK(),Ms=yt(Hn),mo=v(Ms,2),Rs=_(mo);{var Ds=ns=>{var qs=zK();$("click",qs,()=>{m(ne,!1),m($t,!0),Oo()}),D(ns,qs)},cs=ns=>{var qs=VK();$("click",qs,()=>{m(ne,!1),m($t,!1)}),D(ns,qs)};z(Rs,ns=>{c($t)?ns(cs,-1):ns(Ds)})}$("click",Ms,()=>m(ne,!1)),D(pn,Hn)};z(En,pn=>{c(ne)&&pn(_n)})}var yn=v(tn,2),ls=v(ft,2);us(ls,pn=>m(Se,pn),()=>c(Se)),j(pn=>{O(Ut,pn),O(Cn,c($t)?"Auto-accept ✓":"Accept")},[()=>{var pn;return(pn=c(u))==null?void 0:pn.split("/").pop()}]),$("click",cn,Oo),$("click",gn,()=>m(ne,!c(ne))),$("click",yn,Lb),D(q,he)};z(eh,q=>{c(ot)!==null&&q(th)})}var bf=v(eh,2);{var ih=q=>{var he=GK(),ft=_(he),mt=_(ft),$e=v(_(mt)),Ut=_($e),oi=v($e,2),tn=_(oi),Qi=v(mt,2),cn=_(Qi),Cn=v(ft,2);{var gn=_n=>{var yn=UK();D(_n,yn)},En=_n=>{var yn=qK();us(yn,ls=>m(T,ls),()=>c(T)),D(_n,yn)};z(Cn,_n=>{c(ie)?_n(gn):_n(En,-1)})}j(_n=>{var yn;O(Ut,_n),O(tn,(yn=c(A))==null?void 0:yn.name)},[()=>c(ue).slice(0,7)]),$("click",cn,_t),D(q,he)};z(bf,q=>{c(se)&&q(ih)})}var xa=v(rx,2);let Yc,nh;var Cf=_(xa);{var Mb=q=>{var he=KK();$("mousedown",he,dr),D(q,he)};z(Cf,q=>{c(C)&&q(Mb)})}var Qc=v(Cf,2),Ef=_(Qc),yf=_(Ef),Rb=v(yf);{var lx=q=>{var he=ZK(),ft=_(he);j(mt=>O(ft,`— ${mt??""}`),[()=>c(u).split("/").pop()]),D(q,he)};z(Rb,q=>{c(u)&&q(lx)})}var Nb=v(Ef,2);{var gr=q=>{var he=YK(),ft=yt(he);Zt(ft,21,()=>zi,Ni,(tn,Qi)=>{var cn=XK(),Cn=_(cn),gn={};j(()=>{O(Cn,c(Qi)),gn!==(gn=c(Qi))&&(cn.value=(cn.__value=c(Qi))??"")}),D(tn,cn)});var mt=v(ft,2),$e=v(mt,2),Ut=_($e),oi=v($e,2);Bs(ft,()=>c(vt),tn=>m(vt,tn)),Ht(mt,()=>c(Gt),tn=>m(Gt,tn)),Cs(Ut,()=>c(wi),tn=>m(wi,tn)),$("click",oi,ss),D(q,he)};z(Nb,q=>{c(C)&&q(gr)})}var sh=v(Qc,2);{var Ob=q=>{var he=eZ(),ft=_(he);Zt(ft,17,()=>{var Ut;return(((Ut=c(ce))==null?void 0:Ut.logEntries)??[]).filter(Ri)},Ut=>Ut.ts+Ut.msg,(Ut,oi)=>{var tn=QK(),Qi=_(tn),cn=_(Qi),Cn=v(Qi,2),gn=_(Cn),En=v(Cn,2),_n=_(En);j((yn,ls)=>{Dt(tn,1,`log-line ${c(oi).level??""}`,"svelte-1pyfjii"),O(cn,yn),O(gn,ls),O(_n,c(oi).msg)},[()=>Vi(c(oi).ts),()=>c(oi).level.toUpperCase()]),D(Ut,tn)});var mt=v(ft,2);{var $e=Ut=>{var oi=JK();D(Ut,oi)};z(mt,Ut=>{var oi;(((oi=c(ce))==null?void 0:oi.logEntries.length)??0)===0&&Ut($e)})}us(he,Ut=>m(de,Ut),()=>c(de)),D(q,he)};z(sh,q=>{c(C)&&q(Ob)})}var oh=v(Ja,2);{var Hb=q=>{var he=tZ(),ft=yt(he),mt=v(ft,2);let $e;var Ut=_(mt);TG(Ut,{get currentScript(){return c(Ze)},onApply:Fb,onCreateFile:Hr,get extraFiles(){return c(Be)},set extraFiles(oi){m(Be,oi,!0)}}),j(()=>$e=$o(mt,"",$e,{width:`${c(At)??""}px`})),$("mousedown",ft,Or),D(q,he)};z(oh,q=>{c(Ke)&&q(Hb)})}j(()=>{var q;Yu=$o(hf,"",Yu,{width:`${c(je)??""}px`}),O(zr,c(u)??"No file selected"),Zc.disabled=!((q=c(ce))!=null&&q.dirty)||c(f),O(Qu,c(f)?"Saving…":"Save"),sx.disabled=!c(u),hr=Dt(_f,1,"ai-toggle svelte-1pyfjii",null,hr,{"ai-open":c(Ke)}),rn(_f,"title",c(Ke)?"Close AI assistant":"Open AI assistant"),Yc=Dt(xa,1,"log-panel svelte-1pyfjii",null,Yc,{collapsed:!c(C)}),nh=$o(xa,"",nh,{height:c(C)?`${c(De)}px`:"26px"}),O(yf,`${c(C)?"▾":"▸"} Script Log `)}),$("keydown",Kp,bn),$("mousedown",Qp,Ts),$("click",Zc,Ve),$("click",sx,()=>m(p,!c(p))),$("click",_f,()=>m(Ke,!c(Ke))),$("click",Ef,ps),D(o,Wr),js()}Zs(["click","contextmenu","keydown","change","input","mousedown"]);const VF="she-theme";function sZ(){return localStorage.getItem(VF)??"dark"}function oZ(o){localStorage.setItem(VF,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o)}var Qf={exports:{}};/* @preserve
220
- * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com
221
- * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
222
- */var rZ=Qf.exports,PA;function aZ(){return PA||(PA=1,(function(o,e){(function(t,i){i(e)})(rZ,(function(t){var i="1.9.4";function n(l){var h,x,E,k;for(x=1,E=arguments.length;x<E;x++){k=arguments[x];for(h in k)l[h]=k[h]}return l}var s=Object.create||(function(){function l(){}return function(h){return l.prototype=h,new l}})();function r(l,h){var x=Array.prototype.slice;if(l.bind)return l.bind.apply(l,x.call(arguments,1));var E=x.call(arguments,2);return function(){return l.apply(h,E.length?E.concat(x.call(arguments)):arguments)}}var a=0;function d(l){return"_leaflet_id"in l||(l._leaflet_id=++a),l._leaflet_id}function u(l,h,x){var E,k,N,te;return te=function(){E=!1,k&&(N.apply(x,k),k=!1)},N=function(){E?k=arguments:(l.apply(x,arguments),setTimeout(te,h),E=!0)},N}function f(l,h,x){var E=h[1],k=h[0],N=E-k;return l===E&&x?l:((l-k)%N+N)%N+k}function g(){return!1}function p(l,h){if(h===!1)return l;var x=Math.pow(10,h===void 0?6:h);return Math.round(l*x)/x}function C(l){return l.trim?l.trim():l.replace(/^\s+|\s+$/g,"")}function b(l){return C(l).split(/\s+/)}function y(l,h){Object.prototype.hasOwnProperty.call(l,"options")||(l.options=l.options?s(l.options):{});for(var x in h)l.options[x]=h[x];return l.options}function w(l,h,x){var E=[];for(var k in l)E.push(encodeURIComponent(x?k.toUpperCase():k)+"="+encodeURIComponent(l[k]));return(!h||h.indexOf("?")===-1?"?":"&")+E.join("&")}var A=/\{ *([\w_ -]+) *\}/g;function P(l,h){return l.replace(A,function(x,E){var k=h[E];if(k===void 0)throw new Error("No value provided for variable "+x);return typeof k=="function"&&(k=k(h)),k})}var M=Array.isArray||function(l){return Object.prototype.toString.call(l)==="[object Array]"};function R(l,h){for(var x=0;x<l.length;x++)if(l[x]===h)return x;return-1}var T="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function V(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var H=0;function J(l){var h=+new Date,x=Math.max(0,16-(h-H));return H=h+x,window.setTimeout(l,x)}var se=window.requestAnimationFrame||V("RequestAnimationFrame")||J,ue=window.cancelAnimationFrame||V("CancelAnimationFrame")||V("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function ie(l,h,x){if(x&&se===J)l.call(h);else return se.call(window,r(l,h))}function de(l){l&&ue.call(window,l)}var Ce={__proto__:null,extend:n,create:s,bind:r,get lastId(){return a},stamp:d,throttle:u,wrapNum:f,falseFn:g,formatNum:p,trim:C,splitWords:b,setOptions:y,getParamString:w,template:P,isArray:M,indexOf:R,emptyImageUrl:T,requestFn:se,cancelFn:ue,requestAnimFrame:ie,cancelAnimFrame:de};function oe(){}oe.extend=function(l){var h=function(){y(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},x=h.__super__=this.prototype,E=s(x);E.constructor=h,h.prototype=E;for(var k in this)Object.prototype.hasOwnProperty.call(this,k)&&k!=="prototype"&&k!=="__super__"&&(h[k]=this[k]);return l.statics&&n(h,l.statics),l.includes&&(fe(l.includes),n.apply(null,[E].concat(l.includes))),n(E,l),delete E.statics,delete E.includes,E.options&&(E.options=x.options?s(x.options):{},n(E.options,l.options)),E._initHooks=[],E.callInitHooks=function(){if(!this._initHooksCalled){x.callInitHooks&&x.callInitHooks.call(this),this._initHooksCalled=!0;for(var N=0,te=E._initHooks.length;N<te;N++)E._initHooks[N].call(this)}},h},oe.include=function(l){var h=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=h,this.mergeOptions(l.options)),this},oe.mergeOptions=function(l){return n(this.prototype.options,l),this},oe.addInitHook=function(l){var h=Array.prototype.slice.call(arguments,1),x=typeof l=="function"?l:function(){this[l].apply(this,h)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(x),this};function fe(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=M(l)?l:[l];for(var h=0;h<l.length;h++)l[h]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",new Error().stack)}}var Be={on:function(l,h,x){if(typeof l=="object")for(var E in l)this._on(E,l[E],h);else{l=b(l);for(var k=0,N=l.length;k<N;k++)this._on(l[k],h,x)}return this},off:function(l,h,x){if(!arguments.length)delete this._events;else if(typeof l=="object")for(var E in l)this._off(E,l[E],h);else{l=b(l);for(var k=arguments.length===1,N=0,te=l.length;N<te;N++)k?this._off(l[N]):this._off(l[N],h,x)}return this},_on:function(l,h,x,E){if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}if(this._listens(l,h,x)===!1){x===this&&(x=void 0);var k={fn:h,ctx:x};E&&(k.once=!0),this._events=this._events||{},this._events[l]=this._events[l]||[],this._events[l].push(k)}},_off:function(l,h,x){var E,k,N;if(this._events&&(E=this._events[l],!!E)){if(arguments.length===1){if(this._firingCount)for(k=0,N=E.length;k<N;k++)E[k].fn=g;delete this._events[l];return}if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}var te=this._listens(l,h,x);if(te!==!1){var be=E[te];this._firingCount&&(be.fn=g,this._events[l]=E=E.slice()),E.splice(te,1)}}},fire:function(l,h,x){if(!this.listens(l,x))return this;var E=n({},h,{type:l,target:this,sourceTarget:h&&h.sourceTarget||this});if(this._events){var k=this._events[l];if(k){this._firingCount=this._firingCount+1||1;for(var N=0,te=k.length;N<te;N++){var be=k[N],we=be.fn;be.once&&this.off(l,we,be.ctx),we.call(be.ctx||this,E)}this._firingCount--}}return x&&this._propagateEvent(E),this},listens:function(l,h,x,E){typeof l!="string"&&console.warn('"string" type argument expected');var k=h;typeof h!="function"&&(E=!!h,k=void 0,x=void 0);var N=this._events&&this._events[l];if(N&&N.length&&this._listens(l,k,x)!==!1)return!0;if(E){for(var te in this._eventParents)if(this._eventParents[te].listens(l,h,x,E))return!0}return!1},_listens:function(l,h,x){if(!this._events)return!1;var E=this._events[l]||[];if(!h)return!!E.length;x===this&&(x=void 0);for(var k=0,N=E.length;k<N;k++)if(E[k].fn===h&&E[k].ctx===x)return k;return!1},once:function(l,h,x){if(typeof l=="object")for(var E in l)this._on(E,l[E],h,!0);else{l=b(l);for(var k=0,N=l.length;k<N;k++)this._on(l[k],h,x,!0)}return this},addEventParent:function(l){return this._eventParents=this._eventParents||{},this._eventParents[d(l)]=l,this},removeEventParent:function(l){return this._eventParents&&delete this._eventParents[d(l)],this},_propagateEvent:function(l){for(var h in this._eventParents)this._eventParents[h].fire(l.type,n({layer:l.target,propagatedFrom:l.target},l),!0)}};Be.addEventListener=Be.on,Be.removeEventListener=Be.clearAllEventListeners=Be.off,Be.addOneTimeEventListener=Be.once,Be.fireEvent=Be.fire,Be.hasEventListeners=Be.listens;var Ne=oe.extend(Be);function ve(l,h,x){this.x=x?Math.round(l):l,this.y=x?Math.round(h):h}var rt=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};ve.prototype={clone:function(){return new ve(this.x,this.y)},add:function(l){return this.clone()._add(We(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(We(l))},_subtract:function(l){return this.x-=l.x,this.y-=l.y,this},divideBy:function(l){return this.clone()._divideBy(l)},_divideBy:function(l){return this.x/=l,this.y/=l,this},multiplyBy:function(l){return this.clone()._multiplyBy(l)},_multiplyBy:function(l){return this.x*=l,this.y*=l,this},scaleBy:function(l){return new ve(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new ve(this.x/l.x,this.y/l.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=rt(this.x),this.y=rt(this.y),this},distanceTo:function(l){l=We(l);var h=l.x-this.x,x=l.y-this.y;return Math.sqrt(h*h+x*x)},equals:function(l){return l=We(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=We(l),Math.abs(l.x)<=Math.abs(this.x)&&Math.abs(l.y)<=Math.abs(this.y)},toString:function(){return"Point("+p(this.x)+", "+p(this.y)+")"}};function We(l,h,x){return l instanceof ve?l:M(l)?new ve(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new ve(l.x,l.y):new ve(l,h,x)}function ye(l,h){if(l)for(var x=h?[l,h]:l,E=0,k=x.length;E<k;E++)this.extend(x[E])}ye.prototype={extend:function(l){var h,x;if(!l)return this;if(l instanceof ve||typeof l[0]=="number"||"x"in l)h=x=We(l);else if(l=gt(l),h=l.min,x=l.max,!h||!x)return this;return!this.min&&!this.max?(this.min=h.clone(),this.max=x.clone()):(this.min.x=Math.min(h.x,this.min.x),this.max.x=Math.max(x.x,this.max.x),this.min.y=Math.min(h.y,this.min.y),this.max.y=Math.max(x.y,this.max.y)),this},getCenter:function(l){return We((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return We(this.min.x,this.max.y)},getTopRight:function(){return We(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(l){var h,x;return typeof l[0]=="number"||l instanceof ve?l=We(l):l=gt(l),l instanceof ye?(h=l.min,x=l.max):h=x=l,h.x>=this.min.x&&x.x<=this.max.x&&h.y>=this.min.y&&x.y<=this.max.y},intersects:function(l){l=gt(l);var h=this.min,x=this.max,E=l.min,k=l.max,N=k.x>=h.x&&E.x<=x.x,te=k.y>=h.y&&E.y<=x.y;return N&&te},overlaps:function(l){l=gt(l);var h=this.min,x=this.max,E=l.min,k=l.max,N=k.x>h.x&&E.x<x.x,te=k.y>h.y&&E.y<x.y;return N&&te},isValid:function(){return!!(this.min&&this.max)},pad:function(l){var h=this.min,x=this.max,E=Math.abs(h.x-x.x)*l,k=Math.abs(h.y-x.y)*l;return gt(We(h.x-E,h.y-k),We(x.x+E,x.y+k))},equals:function(l){return l?(l=gt(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function gt(l,h){return!l||l instanceof ye?l:new ye(l,h)}function Rt(l,h){if(l)for(var x=h?[l,h]:l,E=0,k=x.length;E<k;E++)this.extend(x[E])}Rt.prototype={extend:function(l){var h=this._southWest,x=this._northEast,E,k;if(l instanceof St)E=l,k=l;else if(l instanceof Rt){if(E=l._southWest,k=l._northEast,!E||!k)return this}else return l?this.extend(Ee(l)||nt(l)):this;return!h&&!x?(this._southWest=new St(E.lat,E.lng),this._northEast=new St(k.lat,k.lng)):(h.lat=Math.min(E.lat,h.lat),h.lng=Math.min(E.lng,h.lng),x.lat=Math.max(k.lat,x.lat),x.lng=Math.max(k.lng,x.lng)),this},pad:function(l){var h=this._southWest,x=this._northEast,E=Math.abs(h.lat-x.lat)*l,k=Math.abs(h.lng-x.lng)*l;return new Rt(new St(h.lat-E,h.lng-k),new St(x.lat+E,x.lng+k))},getCenter:function(){return new St((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new St(this.getNorth(),this.getWest())},getSouthEast:function(){return new St(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(l){typeof l[0]=="number"||l instanceof St||"lat"in l?l=Ee(l):l=nt(l);var h=this._southWest,x=this._northEast,E,k;return l instanceof Rt?(E=l.getSouthWest(),k=l.getNorthEast()):E=k=l,E.lat>=h.lat&&k.lat<=x.lat&&E.lng>=h.lng&&k.lng<=x.lng},intersects:function(l){l=nt(l);var h=this._southWest,x=this._northEast,E=l.getSouthWest(),k=l.getNorthEast(),N=k.lat>=h.lat&&E.lat<=x.lat,te=k.lng>=h.lng&&E.lng<=x.lng;return N&&te},overlaps:function(l){l=nt(l);var h=this._southWest,x=this._northEast,E=l.getSouthWest(),k=l.getNorthEast(),N=k.lat>h.lat&&E.lat<x.lat,te=k.lng>h.lng&&E.lng<x.lng;return N&&te},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,h){return l?(l=nt(l),this._southWest.equals(l.getSouthWest(),h)&&this._northEast.equals(l.getNorthEast(),h)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function nt(l,h){return l instanceof Rt?l:new Rt(l,h)}function St(l,h,x){if(isNaN(l)||isNaN(h))throw new Error("Invalid LatLng object: ("+l+", "+h+")");this.lat=+l,this.lng=+h,x!==void 0&&(this.alt=+x)}St.prototype={equals:function(l,h){if(!l)return!1;l=Ee(l);var x=Math.max(Math.abs(this.lat-l.lat),Math.abs(this.lng-l.lng));return x<=(h===void 0?1e-9:h)},toString:function(l){return"LatLng("+p(this.lat,l)+", "+p(this.lng,l)+")"},distanceTo:function(l){return pt.distance(this,Ee(l))},wrap:function(){return pt.wrapLatLng(this)},toBounds:function(l){var h=180*l/40075017,x=h/Math.cos(Math.PI/180*this.lat);return nt([this.lat-h,this.lng-x],[this.lat+h,this.lng+x])},clone:function(){return new St(this.lat,this.lng,this.alt)}};function Ee(l,h,x){return l instanceof St?l:M(l)&&typeof l[0]!="object"?l.length===3?new St(l[0],l[1],l[2]):l.length===2?new St(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new St(l.lat,"lng"in l?l.lng:l.lon,l.alt):h===void 0?null:new St(l,h,x)}var Pt={latLngToPoint:function(l,h){var x=this.projection.project(l),E=this.scale(h);return this.transformation._transform(x,E)},pointToLatLng:function(l,h){var x=this.scale(h),E=this.transformation.untransform(l,x);return this.projection.unproject(E)},project:function(l){return this.projection.project(l)},unproject:function(l){return this.projection.unproject(l)},scale:function(l){return 256*Math.pow(2,l)},zoom:function(l){return Math.log(l/256)/Math.LN2},getProjectedBounds:function(l){if(this.infinite)return null;var h=this.projection.bounds,x=this.scale(l),E=this.transformation.transform(h.min,x),k=this.transformation.transform(h.max,x);return new ye(E,k)},infinite:!1,wrapLatLng:function(l){var h=this.wrapLng?f(l.lng,this.wrapLng,!0):l.lng,x=this.wrapLat?f(l.lat,this.wrapLat,!0):l.lat,E=l.alt;return new St(x,h,E)},wrapLatLngBounds:function(l){var h=l.getCenter(),x=this.wrapLatLng(h),E=h.lat-x.lat,k=h.lng-x.lng;if(E===0&&k===0)return l;var N=l.getSouthWest(),te=l.getNorthEast(),be=new St(N.lat-E,N.lng-k),we=new St(te.lat-E,te.lng-k);return new Rt(be,we)}},pt=n({},Pt,{wrapLng:[-180,180],R:6371e3,distance:function(l,h){var x=Math.PI/180,E=l.lat*x,k=h.lat*x,N=Math.sin((h.lat-l.lat)*x/2),te=Math.sin((h.lng-l.lng)*x/2),be=N*N+Math.cos(E)*Math.cos(k)*te*te,we=2*Math.atan2(Math.sqrt(be),Math.sqrt(1-be));return this.R*we}}),ut=6378137,Ye={R:ut,MAX_LATITUDE:85.0511287798,project:function(l){var h=Math.PI/180,x=this.MAX_LATITUDE,E=Math.max(Math.min(x,l.lat),-x),k=Math.sin(E*h);return new ve(this.R*l.lng*h,this.R*Math.log((1+k)/(1-k))/2)},unproject:function(l){var h=180/Math.PI;return new St((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*h,l.x*h/this.R)},bounds:(function(){var l=ut*Math.PI;return new ye([-l,-l],[l,l])})()};function kt(l,h,x,E){if(M(l)){this._a=l[0],this._b=l[1],this._c=l[2],this._d=l[3];return}this._a=l,this._b=h,this._c=x,this._d=E}kt.prototype={transform:function(l,h){return this._transform(l.clone(),h)},_transform:function(l,h){return h=h||1,l.x=h*(this._a*l.x+this._b),l.y=h*(this._c*l.y+this._d),l},untransform:function(l,h){return h=h||1,new ve((l.x/h-this._b)/this._a,(l.y/h-this._d)/this._c)}};function ci(l,h,x,E){return new kt(l,h,x,E)}var Ci=n({},pt,{code:"EPSG:3857",projection:Ye,transformation:(function(){var l=.5/(Math.PI*Ye.R);return ci(l,.5,-l,.5)})()}),Ai=n({},Ci,{code:"EPSG:900913"});function si(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function Vt(l,h){var x="",E,k,N,te,be,we;for(E=0,N=l.length;E<N;E++){for(be=l[E],k=0,te=be.length;k<te;k++)we=be[k],x+=(k?"L":"M")+we.x+" "+we.y;x+=h?De.svg?"z":"x":""}return x||"M0 0"}var et=document.documentElement.style,Oe="ActiveXObject"in window,ti=Oe&&!document.addEventListener,Li="msLaunchUri"in navigator&&!("documentMode"in document),hi=je("webkit"),Ui=je("android"),Wi=je("android 2")||je("android 3"),ki=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),dn=Ui&&je("Google")&&ki<537&&!("AudioNode"in window),ln=!!window.opera,Gi=!Li&&je("chrome"),bn=je("gecko")&&!hi&&!ln&&!Oe,vt=!Gi&&je("safari"),Gt=je("phantom"),wi="OTransition"in et,zi=navigator.platform.indexOf("Win")===0,Mi=Oe&&"transition"in et,Ri="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Wi,Oi="MozPerspective"in et,Xi=!window.L_DISABLE_3D&&(Mi||Ri||Oi)&&!wi&&!Gt,Ei=typeof orientation<"u"||je("mobile"),Qe=Ei&&hi,wt=Ei&&Ri,Fi=!window.PointerEvent&&window.MSPointerEvent,Bi=!!(window.PointerEvent||Fi),pi="ontouchstart"in window||!!window.TouchEvent,Ti=!window.L_NO_TOUCH&&(pi||Bi),X=Ei&&ln,Fe=Ei&&bn,Ke=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,ot=(function(){var l=!1;try{var h=Object.defineProperty({},"passive",{get:function(){l=!0}});window.addEventListener("testPassiveEventSupport",g,h),window.removeEventListener("testPassiveEventSupport",g,h)}catch{}return l})(),$t=(function(){return!!document.createElement("canvas").getContext})(),ne=!!(document.createElementNS&&si("svg").createSVGRect),Se=!!ne&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),Me=!ne&&(function(){try{var l=document.createElement("div");l.innerHTML='<v:shape adj="1"/>';var h=l.firstChild;return h.style.behavior="url(#default#VML)",h&&typeof h.adj=="object"}catch{return!1}})(),Y=navigator.platform.indexOf("Mac")===0,He=navigator.platform.indexOf("Linux")===0;function je(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var De={ie:Oe,ielt9:ti,edge:Li,webkit:hi,android:Ui,android23:Wi,androidStock:dn,opera:ln,chrome:Gi,gecko:bn,safari:vt,phantom:Gt,opera12:wi,win:zi,ie3d:Mi,webkit3d:Ri,gecko3d:Oi,any3d:Xi,mobile:Ei,mobileWebkit:Qe,mobileWebkit3d:wt,msPointer:Fi,pointer:Bi,touch:Ti,touchNative:pi,mobileOpera:X,mobileGecko:Fe,retina:Ke,passiveEvents:ot,canvas:$t,svg:ne,vml:Me,inlineSvg:Se,mac:Y,linux:He},At=De.msPointer?"MSPointerDown":"pointerdown",Ot=De.msPointer?"MSPointerMove":"pointermove",ni=De.msPointer?"MSPointerUp":"pointerup",ii=De.msPointer?"MSPointerCancel":"pointercancel",xi={touchstart:At,touchmove:Ot,touchend:ni,touchcancel:ii},jt={touchstart:dt,touchmove:Ze,touchend:Ze,touchcancel:Ze},mi={},ze=!1;function tt(l,h,x){return h==="touchstart"&&pe(),jt[h]?(x=jt[h].bind(this,x),l.addEventListener(xi[h],x,!1),x):(console.warn("wrong event specified:",h),g)}function Yt(l,h,x){if(!xi[h]){console.warn("wrong event specified:",h);return}l.removeEventListener(xi[h],x,!1)}function qt(l){mi[l.pointerId]=l}function fi(l){mi[l.pointerId]&&(mi[l.pointerId]=l)}function Kt(l){delete mi[l.pointerId]}function pe(){ze||(document.addEventListener(At,qt,!0),document.addEventListener(Ot,fi,!0),document.addEventListener(ni,Kt,!0),document.addEventListener(ii,Kt,!0),ze=!0)}function Ze(l,h){if(h.pointerType!==(h.MSPOINTER_TYPE_MOUSE||"mouse")){h.touches=[];for(var x in mi)h.touches.push(mi[x]);h.changedTouches=[h],l(h)}}function dt(l,h){h.MSPOINTER_TYPE_TOUCH&&h.pointerType===h.MSPOINTER_TYPE_TOUCH&&Ji(h),Ze(l,h)}function ht(l){var h={},x,E;for(E in l)x=l[E],h[E]=x&&x.bind?x.bind(l):x;return l=h,h.type="dblclick",h.detail=2,h.isTrusted=!1,h._simulated=!0,h}var Wt=200;function Tt(l,h){l.addEventListener("dblclick",h);var x=0,E;function k(N){if(N.detail!==1){E=N.detail;return}if(!(N.pointerType==="mouse"||N.sourceCapabilities&&!N.sourceCapabilities.firesTouchEvents)){var te=Jn(N);if(!(te.some(function(we){return we instanceof HTMLLabelElement&&we.attributes.for})&&!te.some(function(we){return we instanceof HTMLInputElement||we instanceof HTMLSelectElement}))){var be=Date.now();be-x<=Wt?(E++,E===2&&h(ht(N))):E=1,x=be}}}return l.addEventListener("click",k),{dblclick:h,simDblclick:k}}function di(l,h){l.removeEventListener("dblclick",h.dblclick),l.removeEventListener("click",h.simDblclick)}var I=it(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),W=it(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),K=W==="webkitTransition"||W==="OTransition"?W+"End":"transitionend";function le(l){return typeof l=="string"?document.getElementById(l):l}function Z(l,h){var x=l.style[h]||l.currentStyle&&l.currentStyle[h];if((!x||x==="auto")&&document.defaultView){var E=document.defaultView.getComputedStyle(l,null);x=E?E[h]:null}return x==="auto"?null:x}function Q(l,h,x){var E=document.createElement(l);return E.className=h||"",x&&x.appendChild(E),E}function ce(l){var h=l.parentNode;h&&h.removeChild(l)}function Xe(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function ae(l){var h=l.parentNode;h&&h.lastChild!==l&&h.appendChild(l)}function xe(l){var h=l.parentNode;h&&h.firstChild!==l&&h.insertBefore(l,h.firstChild)}function Le(l,h){if(l.classList!==void 0)return l.classList.contains(h);var x=G(l);return x.length>0&&new RegExp("(^|\\s)"+h+"(\\s|$)").test(x)}function me(l,h){if(l.classList!==void 0)for(var x=b(h),E=0,k=x.length;E<k;E++)l.classList.add(x[E]);else if(!Le(l,h)){var N=G(l);lt(l,(N?N+" ":"")+h)}}function Ie(l,h){l.classList!==void 0?l.classList.remove(h):lt(l,C((" "+G(l)+" ").replace(" "+h+" "," ")))}function lt(l,h){l.className.baseVal===void 0?l.className=h:l.className.baseVal=h}function G(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function re(l,h){"opacity"in l.style?l.style.opacity=h:"filter"in l.style&&Pe(l,h)}function Pe(l,h){var x=!1,E="DXImageTransform.Microsoft.Alpha";try{x=l.filters.item(E)}catch{if(h===1)return}h=Math.round(h*100),x?(x.Enabled=h!==100,x.Opacity=h):l.style.filter+=" progid:"+E+"(opacity="+h+")"}function it(l){for(var h=document.documentElement.style,x=0;x<l.length;x++)if(l[x]in h)return l[x];return!1}function ge(l,h,x){var E=h||new ve(0,0);l.style[I]=(De.ie3d?"translate("+E.x+"px,"+E.y+"px)":"translate3d("+E.x+"px,"+E.y+"px,0)")+(x?" scale("+x+")":"")}function _e(l,h){l._leaflet_pos=h,De.any3d?ge(l,h):(l.style.left=h.x+"px",l.style.top=h.y+"px")}function ct(l){return l._leaflet_pos||new ve(0,0)}var st,Ae,xt;if("onselectstart"in document)st=function(){_t(window,"selectstart",Ji)},Ae=function(){Si(window,"selectstart",Ji)};else{var Ge=it(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);st=function(){if(Ge){var l=document.documentElement.style;xt=l[Ge],l[Ge]="none"}},Ae=function(){Ge&&(document.documentElement.style[Ge]=xt,xt=void 0)}}function Ve(){_t(window,"dragstart",Ji)}function Je(){Si(window,"dragstart",Ji)}var Ct,Ue;function Ft(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(Re(),Ct=l,Ue=l.style.outlineStyle,l.style.outlineStyle="none",_t(window,"keydown",Re))}function Re(){Ct&&(Ct.style.outlineStyle=Ue,Ct=void 0,Ue=void 0,Si(window,"keydown",Re))}function at(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function Bt(l){var h=l.getBoundingClientRect();return{x:h.width/l.offsetWidth||1,y:h.height/l.offsetHeight||1,boundingClientRect:h}}var Nt={__proto__:null,TRANSFORM:I,TRANSITION:W,TRANSITION_END:K,get:le,getStyle:Z,create:Q,remove:ce,empty:Xe,toFront:ae,toBack:xe,hasClass:Le,addClass:me,removeClass:Ie,setClass:lt,getClass:G,setOpacity:re,testProp:it,setTransform:ge,setPosition:_e,getPosition:ct,get disableTextSelection(){return st},get enableTextSelection(){return Ae},disableImageDrag:Ve,enableImageDrag:Je,preventOutline:Ft,restoreOutline:Re,getSizedParentNode:at,getScale:Bt};function _t(l,h,x,E){if(h&&typeof h=="object")for(var k in h)Ki(l,k,h[k],x);else{h=b(h);for(var N=0,te=h.length;N<te;N++)Ki(l,h[N],x,E)}return this}var vi="_leaflet_events";function Si(l,h,x,E){if(arguments.length===1)qi(l),delete l[vi];else if(h&&typeof h=="object")for(var k in h)Pi(l,k,h[k],x);else if(h=b(h),arguments.length===2)qi(l,function(be){return R(h,be)!==-1});else for(var N=0,te=h.length;N<te;N++)Pi(l,h[N],x,E);return this}function qi(l,h){for(var x in l[vi]){var E=x.split(/\d/)[0];(!h||h(E))&&Pi(l,E,null,null,x)}}var Ii={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Ki(l,h,x,E){var k=h+d(x)+(E?"_"+d(E):"");if(l[vi]&&l[vi][k])return this;var N=function(be){return x.call(E||l,be||window.event)},te=N;!De.touchNative&&De.pointer&&h.indexOf("touch")===0?N=tt(l,h,N):De.touch&&h==="dblclick"?N=Tt(l,N):"addEventListener"in l?h==="touchstart"||h==="touchmove"||h==="wheel"||h==="mousewheel"?l.addEventListener(Ii[h]||h,N,De.passiveEvents?{passive:!1}:!1):h==="mouseenter"||h==="mouseleave"?(N=function(be){be=be||window.event,kn(l,be)&&te(be)},l.addEventListener(Ii[h],N,!1)):l.addEventListener(h,te,!1):l.attachEvent("on"+h,N),l[vi]=l[vi]||{},l[vi][k]=N}function Pi(l,h,x,E,k){k=k||h+d(x)+(E?"_"+d(E):"");var N=l[vi]&&l[vi][k];if(!N)return this;!De.touchNative&&De.pointer&&h.indexOf("touch")===0?Yt(l,h,N):De.touch&&h==="dblclick"?di(l,N):"removeEventListener"in l?l.removeEventListener(Ii[h]||h,N,!1):l.detachEvent("on"+h,N),l[vi][k]=null}function Jt(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function Qt(l){return Ki(l,"wheel",Jt),this}function Yi(l){return _t(l,"mousedown touchstart dblclick contextmenu",Jt),l._leaflet_disable_click=!0,this}function Ji(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function Ln(l){return Ji(l),Jt(l),this}function Jn(l){if(l.composedPath)return l.composedPath();for(var h=[],x=l.target;x;)h.push(x),x=x.parentNode;return h}function Ss(l,h){if(!h)return new ve(l.clientX,l.clientY);var x=Bt(h),E=x.boundingClientRect;return new ve((l.clientX-E.left)/x.x-h.clientLeft,(l.clientY-E.top)/x.y-h.clientTop)}var as=De.linux&&De.chrome?window.devicePixelRatio:De.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Fs(l){return De.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/as:l.deltaY&&l.deltaMode===1?-l.deltaY*20:l.deltaY&&l.deltaMode===2?-l.deltaY*60:l.deltaX||l.deltaZ?0:l.wheelDelta?(l.wheelDeltaY||l.wheelDelta)/2:l.detail&&Math.abs(l.detail)<32765?-l.detail*20:l.detail?l.detail/-32765*60:0}function kn(l,h){var x=h.relatedTarget;if(!x)return!0;try{for(;x&&x!==l;)x=x.parentNode}catch{return!1}return x!==l}var ss={__proto__:null,on:_t,off:Si,stopPropagation:Jt,disableScrollPropagation:Qt,disableClickPropagation:Yi,preventDefault:Ji,stop:Ln,getPropagationPath:Jn,getMousePosition:Ss,getWheelDelta:Fs,isExternalTarget:kn,addListener:_t,removeListener:Si},ps=Ne.extend({run:function(l,h,x,E){this.stop(),this._el=l,this._inProgress=!0,this._duration=x||.25,this._easeOutPower=1/Math.max(E||.5,.2),this._startPos=ct(l),this._offset=h.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=ie(this._animate,this),this._step()},_step:function(l){var h=+new Date-this._startTime,x=this._duration*1e3;h<x?this._runFrame(this._easeOut(h/x),l):(this._runFrame(1),this._complete())},_runFrame:function(l,h){var x=this._startPos.add(this._offset.multiplyBy(l));h&&x._round(),_e(this._el,x),this.fire("step")},_complete:function(){de(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),Vi=Ne.extend({options:{crs:Ci,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(l,h){h=y(this,h),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(l),this._initLayout(),this._onResize=r(this._onResize,this),this._initEvents(),h.maxBounds&&this.setMaxBounds(h.maxBounds),h.zoom!==void 0&&(this._zoom=this._limitZoom(h.zoom)),h.center&&h.zoom!==void 0&&this.setView(Ee(h.center),h.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=W&&De.any3d&&!De.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),_t(this._proxy,K,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(l,h,x){if(h=h===void 0?this._zoom:this._limitZoom(h),l=this._limitCenter(Ee(l),h,this.options.maxBounds),x=x||{},this._stop(),this._loaded&&!x.reset&&x!==!0){x.animate!==void 0&&(x.zoom=n({animate:x.animate},x.zoom),x.pan=n({animate:x.animate,duration:x.duration},x.pan));var E=this._zoom!==h?this._tryAnimatedZoom&&this._tryAnimatedZoom(l,h,x.zoom):this._tryAnimatedPan(l,x.pan);if(E)return clearTimeout(this._sizeTimer),this}return this._resetView(l,h,x.pan&&x.pan.noMoveStart),this},setZoom:function(l,h){return this._loaded?this.setView(this.getCenter(),l,{zoom:h}):(this._zoom=l,this)},zoomIn:function(l,h){return l=l||(De.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,h)},zoomOut:function(l,h){return l=l||(De.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,h)},setZoomAround:function(l,h,x){var E=this.getZoomScale(h),k=this.getSize().divideBy(2),N=l instanceof ve?l:this.latLngToContainerPoint(l),te=N.subtract(k).multiplyBy(1-1/E),be=this.containerPointToLatLng(k.add(te));return this.setView(be,h,{zoom:x})},_getBoundsCenterZoom:function(l,h){h=h||{},l=l.getBounds?l.getBounds():nt(l);var x=We(h.paddingTopLeft||h.padding||[0,0]),E=We(h.paddingBottomRight||h.padding||[0,0]),k=this.getBoundsZoom(l,!1,x.add(E));if(k=typeof h.maxZoom=="number"?Math.min(h.maxZoom,k):k,k===1/0)return{center:l.getCenter(),zoom:k};var N=E.subtract(x).divideBy(2),te=this.project(l.getSouthWest(),k),be=this.project(l.getNorthEast(),k),we=this.unproject(te.add(be).divideBy(2).add(N),k);return{center:we,zoom:k}},fitBounds:function(l,h){if(l=nt(l),!l.isValid())throw new Error("Bounds are not valid.");var x=this._getBoundsCenterZoom(l,h);return this.setView(x.center,x.zoom,h)},fitWorld:function(l){return this.fitBounds([[-90,-180],[90,180]],l)},panTo:function(l,h){return this.setView(l,this._zoom,{pan:h})},panBy:function(l,h){if(l=We(l).round(),h=h||{},!l.x&&!l.y)return this.fire("moveend");if(h.animate!==!0&&!this.getSize().contains(l))return this._resetView(this.unproject(this.project(this.getCenter()).add(l)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new ps,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),h.noMoveStart||this.fire("movestart"),h.animate!==!1){me(this._mapPane,"leaflet-pan-anim");var x=this._getMapPanePos().subtract(l).round();this._panAnim.run(this._mapPane,x,h.duration||.25,h.easeLinearity)}else this._rawPanBy(l),this.fire("move").fire("moveend");return this},flyTo:function(l,h,x){if(x=x||{},x.animate===!1||!De.any3d)return this.setView(l,h,x);this._stop();var E=this.project(this.getCenter()),k=this.project(l),N=this.getSize(),te=this._zoom;l=Ee(l),h=h===void 0?te:h;var be=Math.max(N.x,N.y),we=be*this.getZoomScale(te,h),Et=k.distanceTo(E)||1,ri=1.42,Zi=ri*ri;function ui(As){var Jc=As?-1:1,$b=As?we:be,Ub=we*we-be*be+Jc*Zi*Zi*Et*Et,qb=2*$b*Zi*Et,Gb=Ub/qb,wS=Math.sqrt(Gb*Gb+1)-Gb,jF=wS<1e-9?-18:Math.log(wS);return jF}function hn(As){return(Math.exp(As)-Math.exp(-As))/2}function In(As){return(Math.exp(As)+Math.exp(-As))/2}function _s(As){return hn(As)/In(As)}var Ns=ui(0);function Vr(As){return be*(In(Ns)/In(Ns+ri*As))}function Wb(As){return be*(In(Ns)*_s(Ns+ri*As)-hn(Ns))/Zi}function zb(As){return 1-Math.pow(1-As,1.5)}var Vb=Date.now(),cx=(ui(1)-Ns)/ri,jb=x.duration?1e3*x.duration:1e3*cx*.8;function rh(){var As=(Date.now()-Vb)/jb,Jc=zb(As)*cx;As<=1?(this._flyToFrame=ie(rh,this),this._move(this.unproject(E.add(k.subtract(E).multiplyBy(Wb(Jc)/Et)),te),this.getScaleZoom(be/Vr(Jc),te),{flyTo:!0})):this._move(l,h)._moveEnd(!0)}return this._moveStart(!0,x.noMoveStart),rh.call(this),this},flyToBounds:function(l,h){var x=this._getBoundsCenterZoom(l,h);return this.flyTo(x.center,x.zoom,h)},setMaxBounds:function(l){return l=nt(l),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),l.isValid()?(this.options.maxBounds=l,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(l){var h=this.options.minZoom;return this.options.minZoom=l,this._loaded&&h!==l&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(l):this},setMaxZoom:function(l){var h=this.options.maxZoom;return this.options.maxZoom=l,this._loaded&&h!==l&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(l):this},panInsideBounds:function(l,h){this._enforcingBounds=!0;var x=this.getCenter(),E=this._limitCenter(x,this._zoom,nt(l));return x.equals(E)||this.panTo(E,h),this._enforcingBounds=!1,this},panInside:function(l,h){h=h||{};var x=We(h.paddingTopLeft||h.padding||[0,0]),E=We(h.paddingBottomRight||h.padding||[0,0]),k=this.project(this.getCenter()),N=this.project(l),te=this.getPixelBounds(),be=gt([te.min.add(x),te.max.subtract(E)]),we=be.getSize();if(!be.contains(N)){this._enforcingBounds=!0;var Et=N.subtract(be.getCenter()),ri=be.extend(N).getSize().subtract(we);k.x+=Et.x<0?-ri.x:ri.x,k.y+=Et.y<0?-ri.y:ri.y,this.panTo(this.unproject(k),h),this._enforcingBounds=!1}return this},invalidateSize:function(l){if(!this._loaded)return this;l=n({animate:!1,pan:!0},l===!0?{animate:!0}:l);var h=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var x=this.getSize(),E=h.divideBy(2).round(),k=x.divideBy(2).round(),N=E.subtract(k);return!N.x&&!N.y?this:(l.animate&&l.pan?this.panBy(N):(l.pan&&this._rawPanBy(N),this.fire("move"),l.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(r(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:h,newSize:x}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(l){if(l=this._locateOptions=n({timeout:1e4,watch:!1},l),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var h=r(this._handleGeolocationResponse,this),x=r(this._handleGeolocationError,this);return l.watch?this._locationWatchId=navigator.geolocation.watchPosition(h,x,l):navigator.geolocation.getCurrentPosition(h,x,l),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(l){if(this._container._leaflet_id){var h=l.code,x=l.message||(h===1?"permission denied":h===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:h,message:"Geolocation error: "+x+"."})}},_handleGeolocationResponse:function(l){if(this._container._leaflet_id){var h=l.coords.latitude,x=l.coords.longitude,E=new St(h,x),k=E.toBounds(l.coords.accuracy*2),N=this._locateOptions;if(N.setView){var te=this.getBoundsZoom(k);this.setView(E,N.maxZoom?Math.min(te,N.maxZoom):te)}var be={latlng:E,bounds:k,timestamp:l.timestamp};for(var we in l.coords)typeof l.coords[we]=="number"&&(be[we]=l.coords[we]);this.fire("locationfound",be)}},addHandler:function(l,h){if(!h)return this;var x=this[l]=new h(this);return this._handlers.push(x),this.options[l]&&x.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),ce(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(de(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var l;for(l in this._layers)this._layers[l].remove();for(l in this._panes)ce(this._panes[l]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(l,h){var x="leaflet-pane"+(l?" leaflet-"+l.replace("Pane","")+"-pane":""),E=Q("div",x,h||this._mapPane);return l&&(this._panes[l]=E),E},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var l=this.getPixelBounds(),h=this.unproject(l.getBottomLeft()),x=this.unproject(l.getTopRight());return new Rt(h,x)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(l,h,x){l=nt(l),x=We(x||[0,0]);var E=this.getZoom()||0,k=this.getMinZoom(),N=this.getMaxZoom(),te=l.getNorthWest(),be=l.getSouthEast(),we=this.getSize().subtract(x),Et=gt(this.project(be,E),this.project(te,E)).getSize(),ri=De.any3d?this.options.zoomSnap:1,Zi=we.x/Et.x,ui=we.y/Et.y,hn=h?Math.max(Zi,ui):Math.min(Zi,ui);return E=this.getScaleZoom(hn,E),ri&&(E=Math.round(E/(ri/100))*(ri/100),E=h?Math.ceil(E/ri)*ri:Math.floor(E/ri)*ri),Math.max(k,Math.min(N,E))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new ve(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(l,h){var x=this._getTopLeftPoint(l,h);return new ye(x,x.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(l){return this.options.crs.getProjectedBounds(l===void 0?this.getZoom():l)},getPane:function(l){return typeof l=="string"?this._panes[l]:l},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(l,h){var x=this.options.crs;return h=h===void 0?this._zoom:h,x.scale(l)/x.scale(h)},getScaleZoom:function(l,h){var x=this.options.crs;h=h===void 0?this._zoom:h;var E=x.zoom(l*x.scale(h));return isNaN(E)?1/0:E},project:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.latLngToPoint(Ee(l),h)},unproject:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.pointToLatLng(We(l),h)},layerPointToLatLng:function(l){var h=We(l).add(this.getPixelOrigin());return this.unproject(h)},latLngToLayerPoint:function(l){var h=this.project(Ee(l))._round();return h._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(Ee(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(nt(l))},distance:function(l,h){return this.options.crs.distance(Ee(l),Ee(h))},containerPointToLayerPoint:function(l){return We(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return We(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var h=this.containerPointToLayerPoint(We(l));return this.layerPointToLatLng(h)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Ee(l)))},mouseEventToContainerPoint:function(l){return Ss(l,this._container)},mouseEventToLayerPoint:function(l){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(l))},mouseEventToLatLng:function(l){return this.layerPointToLatLng(this.mouseEventToLayerPoint(l))},_initContainer:function(l){var h=this._container=le(l);if(h){if(h._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");_t(h,"scroll",this._onScroll,this),this._containerId=d(h)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&De.any3d,me(l,"leaflet-container"+(De.touch?" leaflet-touch":"")+(De.retina?" leaflet-retina":"")+(De.ielt9?" leaflet-oldie":"")+(De.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var h=Z(l,"position");h!=="absolute"&&h!=="relative"&&h!=="fixed"&&h!=="sticky"&&(l.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var l=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),_e(this._mapPane,new ve(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(me(l.markerPane,"leaflet-zoom-hide"),me(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,h,x){_e(this._mapPane,new ve(0,0));var E=!this._loaded;this._loaded=!0,h=this._limitZoom(h),this.fire("viewprereset");var k=this._zoom!==h;this._moveStart(k,x)._move(l,h)._moveEnd(k),this.fire("viewreset"),E&&this.fire("load")},_moveStart:function(l,h){return l&&this.fire("zoomstart"),h||this.fire("movestart"),this},_move:function(l,h,x,E){h===void 0&&(h=this._zoom);var k=this._zoom!==h;return this._zoom=h,this._lastCenter=l,this._pixelOrigin=this._getNewPixelOrigin(l),E?x&&x.pinch&&this.fire("zoom",x):((k||x&&x.pinch)&&this.fire("zoom",x),this.fire("move",x)),this},_moveEnd:function(l){return l&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return de(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){_e(this._mapPane,this._getMapPanePos().subtract(l))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(l){this._targets={},this._targets[d(this._container)]=this;var h=l?Si:_t;h(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&h(window,"resize",this._onResize,this),De.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){de(this._resizeRequest),this._resizeRequest=ie(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var l=this._getMapPanePos();Math.max(Math.abs(l.x),Math.abs(l.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(l,h){for(var x=[],E,k=h==="mouseout"||h==="mouseover",N=l.target||l.srcElement,te=!1;N;){if(E=this._targets[d(N)],E&&(h==="click"||h==="preclick")&&this._draggableMoved(E)){te=!0;break}if(E&&E.listens(h,!0)&&(k&&!kn(N,l)||(x.push(E),k))||N===this._container)break;N=N.parentNode}return!x.length&&!te&&!k&&this.listens(h,!0)&&(x=[this]),x},_isClickDisabled:function(l){for(;l&&l!==this._container;){if(l._leaflet_disable_click)return!0;l=l.parentNode}},_handleDOMEvent:function(l){var h=l.target||l.srcElement;if(!(!this._loaded||h._leaflet_disable_events||l.type==="click"&&this._isClickDisabled(h))){var x=l.type;x==="mousedown"&&Ft(h),this._fireDOMEvent(l,x)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(l,h,x){if(l.type==="click"){var E=n({},l);E.type="preclick",this._fireDOMEvent(E,E.type,x)}var k=this._findEventTargets(l,h);if(x){for(var N=[],te=0;te<x.length;te++)x[te].listens(h,!0)&&N.push(x[te]);k=N.concat(k)}if(k.length){h==="contextmenu"&&Ji(l);var be=k[0],we={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var Et=be.getLatLng&&(!be._radius||be._radius<=10);we.containerPoint=Et?this.latLngToContainerPoint(be.getLatLng()):this.mouseEventToContainerPoint(l),we.layerPoint=this.containerPointToLayerPoint(we.containerPoint),we.latlng=Et?be.getLatLng():this.layerPointToLatLng(we.layerPoint)}for(te=0;te<k.length;te++)if(k[te].fire(h,we,!0),we.originalEvent._stopped||k[te].options.bubblingMouseEvents===!1&&R(this._mouseEvents,h)!==-1)return}},_draggableMoved:function(l){return l=l.dragging&&l.dragging.enabled()?l:this,l.dragging&&l.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var l=0,h=this._handlers.length;l<h;l++)this._handlers[l].disable()},whenReady:function(l,h){return this._loaded?l.call(h||this,{target:this}):this.on("load",l,h),this},_getMapPanePos:function(){return ct(this._mapPane)||new ve(0,0)},_moved:function(){var l=this._getMapPanePos();return l&&!l.equals([0,0])},_getTopLeftPoint:function(l,h){var x=l&&h!==void 0?this._getNewPixelOrigin(l,h):this.getPixelOrigin();return x.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(l,h){var x=this.getSize()._divideBy(2);return this.project(l,h)._subtract(x)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(l,h,x){var E=this._getNewPixelOrigin(x,h);return this.project(l,h)._subtract(E)},_latLngBoundsToNewLayerBounds:function(l,h,x){var E=this._getNewPixelOrigin(x,h);return gt([this.project(l.getSouthWest(),h)._subtract(E),this.project(l.getNorthWest(),h)._subtract(E),this.project(l.getSouthEast(),h)._subtract(E),this.project(l.getNorthEast(),h)._subtract(E)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(l){return this.latLngToLayerPoint(l).subtract(this._getCenterLayerPoint())},_limitCenter:function(l,h,x){if(!x)return l;var E=this.project(l,h),k=this.getSize().divideBy(2),N=new ye(E.subtract(k),E.add(k)),te=this._getBoundsOffset(N,x,h);return Math.abs(te.x)<=1&&Math.abs(te.y)<=1?l:this.unproject(E.add(te),h)},_limitOffset:function(l,h){if(!h)return l;var x=this.getPixelBounds(),E=new ye(x.min.add(l),x.max.add(l));return l.add(this._getBoundsOffset(E,h))},_getBoundsOffset:function(l,h,x){var E=gt(this.project(h.getNorthEast(),x),this.project(h.getSouthWest(),x)),k=E.min.subtract(l.min),N=E.max.subtract(l.max),te=this._rebound(k.x,-N.x),be=this._rebound(k.y,-N.y);return new ve(te,be)},_rebound:function(l,h){return l+h>0?Math.round(l-h)/2:Math.max(0,Math.ceil(l))-Math.max(0,Math.floor(h))},_limitZoom:function(l){var h=this.getMinZoom(),x=this.getMaxZoom(),E=De.any3d?this.options.zoomSnap:1;return E&&(l=Math.round(l/E)*E),Math.max(h,Math.min(x,l))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){Ie(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(l,h){var x=this._getCenterOffset(l)._trunc();return(h&&h.animate)!==!0&&!this.getSize().contains(x)?!1:(this.panBy(x,h),!0)},_createAnimProxy:function(){var l=this._proxy=Q("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(h){var x=I,E=this._proxy.style[x];ge(this._proxy,this.project(h.center,h.zoom),this.getZoomScale(h.zoom,1)),E===this._proxy.style[x]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){ce(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),h=this.getZoom();ge(this._proxy,this.project(l,h),this.getZoomScale(h,1))},_catchTransitionEnd:function(l){this._animatingZoom&&l.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(l,h,x){if(this._animatingZoom)return!0;if(x=x||{},!this._zoomAnimated||x.animate===!1||this._nothingToAnimate()||Math.abs(h-this._zoom)>this.options.zoomAnimationThreshold)return!1;var E=this.getZoomScale(h),k=this._getCenterOffset(l)._divideBy(1-1/E);return x.animate!==!0&&!this.getSize().contains(k)?!1:(ie(function(){this._moveStart(!0,x.noMoveStart||!1)._animateZoom(l,h,!0)},this),!0)},_animateZoom:function(l,h,x,E){this._mapPane&&(x&&(this._animatingZoom=!0,this._animateToCenter=l,this._animateToZoom=h,me(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:l,zoom:h,noUpdate:E}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(r(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&Ie(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Ys(l,h){return new Vi(l,h)}var Pn=oe.extend({options:{position:"topright"},initialize:function(l){y(this,l)},getPosition:function(){return this.options.position},setPosition:function(l){var h=this._map;return h&&h.removeControl(this),this.options.position=l,h&&h.addControl(this),this},getContainer:function(){return this._container},addTo:function(l){this.remove(),this._map=l;var h=this._container=this.onAdd(l),x=this.getPosition(),E=l._controlCorners[x];return me(h,"leaflet-control"),x.indexOf("bottom")!==-1?E.insertBefore(h,E.firstChild):E.appendChild(h),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(ce(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(l){this._map&&l&&l.screenX>0&&l.screenY>0&&this._map.getContainer().focus()}}),Vn=function(l){return new Pn(l)};Vi.include({addControl:function(l){return l.addTo(this),this},removeControl:function(l){return l.remove(),this},_initControlPos:function(){var l=this._controlCorners={},h="leaflet-",x=this._controlContainer=Q("div",h+"control-container",this._container);function E(k,N){var te=h+k+" "+h+N;l[k+N]=Q("div",te,x)}E("top","left"),E("top","right"),E("bottom","left"),E("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)ce(this._controlCorners[l]);ce(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ts=Pn.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(l,h,x,E){return x<E?-1:E<x?1:0}},initialize:function(l,h,x){y(this,x),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var E in l)this._addLayer(l[E],E);for(E in h)this._addLayer(h[E],E,!0)},onAdd:function(l){this._initLayout(),this._update(),this._map=l,l.on("zoomend",this._checkDisabledLayers,this);for(var h=0;h<this._layers.length;h++)this._layers[h].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(l){return Pn.prototype.addTo.call(this,l),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var l=0;l<this._layers.length;l++)this._layers[l].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(l,h){return this._addLayer(l,h),this._map?this._update():this},addOverlay:function(l,h){return this._addLayer(l,h,!0),this._map?this._update():this},removeLayer:function(l){l.off("add remove",this._onLayerChange,this);var h=this._getLayer(d(l));return h&&this._layers.splice(this._layers.indexOf(h),1),this._map?this._update():this},expand:function(){me(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var l=this._map.getSize().y-(this._container.offsetTop+50);return l<this._section.clientHeight?(me(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):Ie(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return Ie(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",h=this._container=Q("div",l),x=this.options.collapsed;h.setAttribute("aria-haspopup",!0),Yi(h),Qt(h);var E=this._section=Q("section",l+"-list");x&&(this._map.on("click",this.collapse,this),_t(h,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var k=this._layersLink=Q("a",l+"-toggle",h);k.href="#",k.title="Layers",k.setAttribute("role","button"),_t(k,{keydown:function(N){N.keyCode===13&&this._expandSafely()},click:function(N){Ji(N),this._expandSafely()}},this),x||this.expand(),this._baseLayersList=Q("div",l+"-base",E),this._separator=Q("div",l+"-separator",E),this._overlaysList=Q("div",l+"-overlays",E),h.appendChild(E)},_getLayer:function(l){for(var h=0;h<this._layers.length;h++)if(this._layers[h]&&d(this._layers[h].layer)===l)return this._layers[h]},_addLayer:function(l,h,x){this._map&&l.on("add remove",this._onLayerChange,this),this._layers.push({layer:l,name:h,overlay:x}),this.options.sortLayers&&this._layers.sort(r(function(E,k){return this.options.sortFunction(E.layer,k.layer,E.name,k.name)},this)),this.options.autoZIndex&&l.setZIndex&&(this._lastZIndex++,l.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;Xe(this._baseLayersList),Xe(this._overlaysList),this._layerControlInputs=[];var l,h,x,E,k=0;for(x=0;x<this._layers.length;x++)E=this._layers[x],this._addItem(E),h=h||E.overlay,l=l||!E.overlay,k+=E.overlay?0:1;return this.options.hideSingleBase&&(l=l&&k>1,this._baseLayersList.style.display=l?"":"none"),this._separator.style.display=h&&l?"":"none",this},_onLayerChange:function(l){this._handlingClick||this._update();var h=this._getLayer(d(l.target)),x=h.overlay?l.type==="add"?"overlayadd":"overlayremove":l.type==="add"?"baselayerchange":null;x&&this._map.fire(x,h)},_createRadioElement:function(l,h){var x='<input type="radio" class="leaflet-control-layers-selector" name="'+l+'"'+(h?' checked="checked"':"")+"/>",E=document.createElement("div");return E.innerHTML=x,E.firstChild},_addItem:function(l){var h=document.createElement("label"),x=this._map.hasLayer(l.layer),E;l.overlay?(E=document.createElement("input"),E.type="checkbox",E.className="leaflet-control-layers-selector",E.defaultChecked=x):E=this._createRadioElement("leaflet-base-layers_"+d(this),x),this._layerControlInputs.push(E),E.layerId=d(l.layer),_t(E,"click",this._onInputClick,this);var k=document.createElement("span");k.innerHTML=" "+l.name;var N=document.createElement("span");h.appendChild(N),N.appendChild(E),N.appendChild(k);var te=l.overlay?this._overlaysList:this._baseLayersList;return te.appendChild(h),this._checkDisabledLayers(),h},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,h,x,E=[],k=[];this._handlingClick=!0;for(var N=l.length-1;N>=0;N--)h=l[N],x=this._getLayer(h.layerId).layer,h.checked?E.push(x):h.checked||k.push(x);for(N=0;N<k.length;N++)this._map.hasLayer(k[N])&&this._map.removeLayer(k[N]);for(N=0;N<E.length;N++)this._map.hasLayer(E[N])||this._map.addLayer(E[N]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var l=this._layerControlInputs,h,x,E=this._map.getZoom(),k=l.length-1;k>=0;k--)h=l[k],x=this._getLayer(h.layerId).layer,h.disabled=x.options.minZoom!==void 0&&E<x.options.minZoom||x.options.maxZoom!==void 0&&E>x.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var l=this._section;this._preventClick=!0,_t(l,"click",Ji),this.expand();var h=this;setTimeout(function(){Si(l,"click",Ji),h._preventClick=!1})}}),dr=function(l,h,x){return new Ts(l,h,x)},Or=Pn.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">&#x2212;</span>',zoomOutTitle:"Zoom out"},onAdd:function(l){var h="leaflet-control-zoom",x=Q("div",h+" leaflet-bar"),E=this.options;return this._zoomInButton=this._createButton(E.zoomInText,E.zoomInTitle,h+"-in",x,this._zoomIn),this._zoomOutButton=this._createButton(E.zoomOutText,E.zoomOutTitle,h+"-out",x,this._zoomOut),this._updateDisabled(),l.on("zoomend zoomlevelschange",this._updateDisabled,this),x},onRemove:function(l){l.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(l){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(l.shiftKey?3:1))},_zoomOut:function(l){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(l.shiftKey?3:1))},_createButton:function(l,h,x,E,k){var N=Q("a",x,E);return N.innerHTML=l,N.href="#",N.title=h,N.setAttribute("role","button"),N.setAttribute("aria-label",h),Yi(N),_t(N,"click",Ln),_t(N,"click",k,this),_t(N,"click",this._refocusOnMap,this),N},_updateDisabled:function(){var l=this._map,h="leaflet-disabled";Ie(this._zoomInButton,h),Ie(this._zoomOutButton,h),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(me(this._zoomOutButton,h),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(me(this._zoomInButton,h),this._zoomInButton.setAttribute("aria-disabled","true"))}});Vi.mergeOptions({zoomControl:!0}),Vi.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Or,this.addControl(this.zoomControl))});var Za=function(l){return new Or(l)},Xa=Pn.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var h="leaflet-control-scale",x=Q("div",h),E=this.options;return this._addScales(E,h+"-line",x),l.on(E.updateWhenIdle?"moveend":"move",this._update,this),l.whenReady(this._update,this),x},onRemove:function(l){l.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(l,h,x){l.metric&&(this._mScale=Q("div",h,x)),l.imperial&&(this._iScale=Q("div",h,x))},_update:function(){var l=this._map,h=l.getSize().y/2,x=l.distance(l.containerPointToLatLng([0,h]),l.containerPointToLatLng([this.options.maxWidth,h]));this._updateScales(x)},_updateScales:function(l){this.options.metric&&l&&this._updateMetric(l),this.options.imperial&&l&&this._updateImperial(l)},_updateMetric:function(l){var h=this._getRoundNum(l),x=h<1e3?h+" m":h/1e3+" km";this._updateScale(this._mScale,x,h/l)},_updateImperial:function(l){var h=l*3.2808399,x,E,k;h>5280?(x=h/5280,E=this._getRoundNum(x),this._updateScale(this._iScale,E+" mi",E/x)):(k=this._getRoundNum(h),this._updateScale(this._iScale,k+" ft",k/h))},_updateScale:function(l,h,x){l.style.width=Math.round(this.options.maxWidth*x)+"px",l.innerHTML=h},_getRoundNum:function(l){var h=Math.pow(10,(Math.floor(l)+"").length-1),x=l/h;return x=x>=10?10:x>=5?5:x>=3?3:x>=2?2:1,h*x}}),ur=function(l){return new Xa(l)},ga='<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg>',Hr=Pn.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(De.inlineSvg?ga+" ":"")+"Leaflet</a>"},initialize:function(l){y(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=Q("div","leaflet-control-attribution"),Yi(this._container);for(var h in l._layers)l._layers[h].getAttribution&&this.addAttribution(l._layers[h].getAttribution());return this._update(),l.on("layeradd",this._addAttribution,this),this._container},onRemove:function(l){l.off("layeradd",this._addAttribution,this)},_addAttribution:function(l){l.layer.getAttribution&&(this.addAttribution(l.layer.getAttribution()),l.layer.once("remove",function(){this.removeAttribution(l.layer.getAttribution())},this))},setPrefix:function(l){return this.options.prefix=l,this._update(),this},addAttribution:function(l){return l?(this._attributions[l]||(this._attributions[l]=0),this._attributions[l]++,this._update(),this):this},removeAttribution:function(l){return l?(this._attributions[l]&&(this._attributions[l]--,this._update()),this):this},_update:function(){if(this._map){var l=[];for(var h in this._attributions)this._attributions[h]&&l.push(h);var x=[];this.options.prefix&&x.push(this.options.prefix),l.length&&x.push(l.join(", ")),this._container.innerHTML=x.join(' <span aria-hidden="true">|</span> ')}}});Vi.mergeOptions({attributionControl:!0}),Vi.addInitHook(function(){this.options.attributionControl&&new Hr().addTo(this)});var Fb=function(l){return new Hr(l)};Pn.Layers=Ts,Pn.Zoom=Or,Pn.Scale=Xa,Pn.Attribution=Hr,Vn.layers=dr,Vn.zoom=Za,Vn.scale=ur,Vn.attribution=Fb;var Oo=oe.extend({initialize:function(l){this._map=l},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Oo.addTo=function(l,h){return l.addHandler(h,this),this};var Lb={Events:Be},lf=De.touch?"touchstart mousedown":"mousedown",Wr=Ne.extend({options:{clickTolerance:3},initialize:function(l,h,x,E){y(this,E),this._element=l,this._dragStartTarget=h||l,this._preventOutline=x},enable:function(){this._enabled||(_t(this._dragStartTarget,lf,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Wr._dragging===this&&this.finishDrag(!0),Si(this._dragStartTarget,lf,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!Le(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){Wr._dragging===this&&this.finishDrag();return}if(!(Wr._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(Wr._dragging=this,this._preventOutline&&Ft(this._element),Ve(),st(),!this._moving)){this.fire("down");var h=l.touches?l.touches[0]:l,x=at(this._element);this._startPoint=new ve(h.clientX,h.clientY),this._startPos=ct(this._element),this._parentScale=Bt(x);var E=l.type==="mousedown";_t(document,E?"mousemove":"touchmove",this._onMove,this),_t(document,E?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(l){if(this._enabled){if(l.touches&&l.touches.length>1){this._moved=!0;return}var h=l.touches&&l.touches.length===1?l.touches[0]:l,x=new ve(h.clientX,h.clientY)._subtract(this._startPoint);!x.x&&!x.y||Math.abs(x.x)+Math.abs(x.y)<this.options.clickTolerance||(x.x/=this._parentScale.x,x.y/=this._parentScale.y,Ji(l),this._moved||(this.fire("dragstart"),this._moved=!0,me(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),me(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(x),this._moving=!0,this._lastEvent=l,this._updatePosition())}},_updatePosition:function(){var l={originalEvent:this._lastEvent};this.fire("predrag",l),_e(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){Ie(document.body,"leaflet-dragging"),this._lastTarget&&(Ie(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Si(document,"mousemove touchmove",this._onMove,this),Si(document,"mouseup touchend touchcancel",this._onUp,this),Je(),Ae();var h=this._moved&&this._moving;this._moving=!1,Wr._dragging=!1,h&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function cf(l,h,x){var E,k=[1,4,2,8],N,te,be,we,Et,ri,Zi,ui;for(N=0,ri=l.length;N<ri;N++)l[N]._code=Ya(l[N],h);for(be=0;be<4;be++){for(Zi=k[be],E=[],N=0,ri=l.length,te=ri-1;N<ri;te=N++)we=l[N],Et=l[te],we._code&Zi?Et._code&Zi||(ui=Wl(Et,we,Zi,h,x),ui._code=Ya(ui,h),E.push(ui)):(Et._code&Zi&&(ui=Wl(Et,we,Zi,h,x),ui._code=Ya(ui,h),E.push(ui)),E.push(we));l=E}return l}function df(l,h){var x,E,k,N,te,be,we,Et,ri;if(!l||l.length===0)throw new Error("latlngs not passed");Ao(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Zi=Ee([0,0]),ui=nt(l),hn=ui.getNorthWest().distanceTo(ui.getSouthWest())*ui.getNorthEast().distanceTo(ui.getNorthWest());hn<1700&&(Zi=Xu(l));var In=l.length,_s=[];for(x=0;x<In;x++){var Ns=Ee(l[x]);_s.push(h.project(Ee([Ns.lat-Zi.lat,Ns.lng-Zi.lng])))}for(be=we=Et=0,x=0,E=In-1;x<In;E=x++)k=_s[x],N=_s[E],te=k.y*N.x-N.y*k.x,we+=(k.x+N.x)*te,Et+=(k.y+N.y)*te,be+=te*3;be===0?ri=_s[0]:ri=[we/be,Et/be];var Vr=h.unproject(We(ri));return Ee([Vr.lat+Zi.lat,Vr.lng+Zi.lng])}function Xu(l){for(var h=0,x=0,E=0,k=0;k<l.length;k++){var N=Ee(l[k]);h+=N.lat,x+=N.lng,E++}return Ee([h/E,x/E])}var Ib={__proto__:null,clipPolygon:cf,polygonCenter:df,centroid:Xu};function uf(l,h){if(!h||!l.length)return l.slice();var x=h*h;return l=Zp(l,x),l=hf(l,x),l}function Gp(l,h,x){return Math.sqrt(Gc(l,h,x,!0))}function Kp(l,h,x){return Gc(l,h,x)}function hf(l,h){var x=l.length,E=typeof Uint8Array<"u"?Uint8Array:Array,k=new E(x);k[0]=k[x-1]=1,Yu(l,k,h,0,x-1);var N,te=[];for(N=0;N<x;N++)k[N]&&te.push(l[N]);return te}function Yu(l,h,x,E,k){var N=0,te,be,we;for(be=E+1;be<=k-1;be++)we=Gc(l[be],l[E],l[k],!0),we>N&&(te=be,N=we);N>x&&(h[te]=1,Yu(l,h,x,E,te),Yu(l,h,x,te,k))}function Zp(l,h){for(var x=[l[0]],E=1,k=0,N=l.length;E<N;E++)Xp(l[E],l[k])>h&&(x.push(l[E]),k=E);return k<N-1&&x.push(l[N-1]),x}var ff;function gf(l,h,x,E,k){var N=E?ff:Ya(l,x),te=Ya(h,x),be,we,Et;for(ff=te;;){if(!(N|te))return[l,h];if(N&te)return!1;be=N||te,we=Wl(l,h,be,x,k),Et=Ya(we,x),be===N?(l=we,N=Et):(h=we,te=Et)}}function Wl(l,h,x,E,k){var N=h.x-l.x,te=h.y-l.y,be=E.min,we=E.max,Et,ri;return x&8?(Et=l.x+N*(we.y-l.y)/te,ri=we.y):x&4?(Et=l.x+N*(be.y-l.y)/te,ri=be.y):x&2?(Et=we.x,ri=l.y+te*(we.x-l.x)/N):x&1&&(Et=be.x,ri=l.y+te*(be.x-l.x)/N),new ve(Et,ri,k)}function Ya(l,h){var x=0;return l.x<h.min.x?x|=1:l.x>h.max.x&&(x|=2),l.y<h.min.y?x|=4:l.y>h.max.y&&(x|=8),x}function Xp(l,h){var x=h.x-l.x,E=h.y-l.y;return x*x+E*E}function Gc(l,h,x,E){var k=h.x,N=h.y,te=x.x-k,be=x.y-N,we=te*te+be*be,Et;return we>0&&(Et=((l.x-k)*te+(l.y-N)*be)/we,Et>1?(k=x.x,N=x.y):Et>0&&(k+=te*Et,N+=be*Et)),te=l.x-k,be=l.y-N,E?te*te+be*be:new ve(k,N)}function Ao(l){return!M(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function Yp(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Ao(l)}function pf(l,h){var x,E,k,N,te,be,we,Et;if(!l||l.length===0)throw new Error("latlngs not passed");Ao(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var ri=Ee([0,0]),Zi=nt(l),ui=Zi.getNorthWest().distanceTo(Zi.getSouthWest())*Zi.getNorthEast().distanceTo(Zi.getNorthWest());ui<1700&&(ri=Xu(l));var hn=l.length,In=[];for(x=0;x<hn;x++){var _s=Ee(l[x]);In.push(h.project(Ee([_s.lat-ri.lat,_s.lng-ri.lng])))}for(x=0,E=0;x<hn-1;x++)E+=In[x].distanceTo(In[x+1])/2;if(E===0)Et=In[0];else for(x=0,N=0;x<hn-1;x++)if(te=In[x],be=In[x+1],k=te.distanceTo(be),N+=k,N>E){we=(N-E)/k,Et=[be.x-we*(be.x-te.x),be.y-we*(be.y-te.y)];break}var Ns=h.unproject(We(Et));return Ee([Ns.lat+ri.lat,Ns.lng+ri.lng])}var Kc={__proto__:null,simplify:uf,pointToSegmentDistance:Gp,closestPointOnSegment:Kp,clipSegment:gf,_getEdgeIntersection:Wl,_getBitCode:Ya,_sqClosestPointOnSegment:Gc,isFlat:Ao,_flat:Yp,polylineCenter:pf},xf={project:function(l){return new ve(l.lng,l.lat)},unproject:function(l){return new St(l.y,l.x)},bounds:new ye([-180,-90],[180,90])},mf={R:6378137,R_MINOR:6356752314245179e-9,bounds:new ye([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(l){var h=Math.PI/180,x=this.R,E=l.lat*h,k=this.R_MINOR/x,N=Math.sqrt(1-k*k),te=N*Math.sin(E),be=Math.tan(Math.PI/4-E/2)/Math.pow((1-te)/(1+te),N/2);return E=-x*Math.log(Math.max(be,1e-10)),new ve(l.lng*h*x,E)},unproject:function(l){for(var h=180/Math.PI,x=this.R,E=this.R_MINOR/x,k=Math.sqrt(1-E*E),N=Math.exp(-l.y/x),te=Math.PI/2-2*Math.atan(N),be=0,we=.1,Et;be<15&&Math.abs(we)>1e-7;be++)Et=k*Math.sin(te),Et=Math.pow((1-Et)/(1+Et),k/2),we=Math.PI/2-2*Math.atan(N*Et)-te,te+=we;return new St(te*h,l.x*h/x)}},Pb={__proto__:null,LonLat:xf,Mercator:mf,SphericalMercator:Ye},Qp=n({},pt,{code:"EPSG:3395",projection:mf,transformation:(function(){var l=.5/(Math.PI*mf.R);return ci(l,.5,-l,.5)})()}),Jp=n({},pt,{code:"EPSG:4326",projection:xf,transformation:ci(1/180,1,-1/180,.5)}),ex=n({},Pt,{projection:xf,transformation:ci(1,0,-1,0),scale:function(l){return Math.pow(2,l)},zoom:function(l){return Math.log(l)/Math.LN2},distance:function(l,h){var x=h.lng-l.lng,E=h.lat-l.lat;return Math.sqrt(x*x+E*E)},infinite:!0});Pt.Earth=pt,Pt.EPSG3395=Qp,Pt.EPSG3857=Ci,Pt.EPSG900913=Ai,Pt.EPSG4326=Jp,Pt.Simple=ex;var Qo=Ne.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(l){return l.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(l){return l&&l.removeLayer(this),this},getPane:function(l){return this._map.getPane(l?this.options[l]||l:this.options.pane)},addInteractiveTarget:function(l){return this._map._targets[d(l)]=this,this},removeInteractiveTarget:function(l){return delete this._map._targets[d(l)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(l){var h=l.target;if(h.hasLayer(this)){if(this._map=h,this._zoomAnimated=h._zoomAnimated,this.getEvents){var x=this.getEvents();h.on(x,this),this.once("remove",function(){h.off(x,this)},this)}this.onAdd(h),this.fire("add"),h.fire("layeradd",{layer:this})}}});Vi.include({addLayer:function(l){if(!l._layerAdd)throw new Error("The provided object is not a Layer.");var h=d(l);return this._layers[h]?this:(this._layers[h]=l,l._mapToAdd=this,l.beforeAdd&&l.beforeAdd(this),this.whenReady(l._layerAdd,l),this)},removeLayer:function(l){var h=d(l);return this._layers[h]?(this._loaded&&l.onRemove(this),delete this._layers[h],this._loaded&&(this.fire("layerremove",{layer:l}),l.fire("remove")),l._map=l._mapToAdd=null,this):this},hasLayer:function(l){return d(l)in this._layers},eachLayer:function(l,h){for(var x in this._layers)l.call(h,this._layers[x]);return this},_addLayers:function(l){l=l?M(l)?l:[l]:[];for(var h=0,x=l.length;h<x;h++)this.addLayer(l[h])},_addZoomLimit:function(l){(!isNaN(l.options.maxZoom)||!isNaN(l.options.minZoom))&&(this._zoomBoundLayers[d(l)]=l,this._updateZoomLevels())},_removeZoomLimit:function(l){var h=d(l);this._zoomBoundLayers[h]&&(delete this._zoomBoundLayers[h],this._updateZoomLevels())},_updateZoomLevels:function(){var l=1/0,h=-1/0,x=this._getZoomSpan();for(var E in this._zoomBoundLayers){var k=this._zoomBoundLayers[E].options;l=k.minZoom===void 0?l:Math.min(l,k.minZoom),h=k.maxZoom===void 0?h:Math.max(h,k.maxZoom)}this._layersMaxZoom=h===-1/0?void 0:h,this._layersMinZoom=l===1/0?void 0:l,x!==this._getZoomSpan()&&this.fire("zoomlevelschange"),this.options.maxZoom===void 0&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var Qa=Qo.extend({initialize:function(l,h){y(this,h),this._layers={};var x,E;if(l)for(x=0,E=l.length;x<E;x++)this.addLayer(l[x])},addLayer:function(l){var h=this.getLayerId(l);return this._layers[h]=l,this._map&&this._map.addLayer(l),this},removeLayer:function(l){var h=l in this._layers?l:this.getLayerId(l);return this._map&&this._layers[h]&&this._map.removeLayer(this._layers[h]),delete this._layers[h],this},hasLayer:function(l){var h=typeof l=="number"?l:this.getLayerId(l);return h in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(l){var h=Array.prototype.slice.call(arguments,1),x,E;for(x in this._layers)E=this._layers[x],E[l]&&E[l].apply(E,h);return this},onAdd:function(l){this.eachLayer(l.addLayer,l)},onRemove:function(l){this.eachLayer(l.removeLayer,l)},eachLayer:function(l,h){for(var x in this._layers)l.call(h,this._layers[x]);return this},getLayer:function(l){return this._layers[l]},getLayers:function(){var l=[];return this.eachLayer(l.push,l),l},setZIndex:function(l){return this.invoke("setZIndex",l)},getLayerId:function(l){return d(l)}}),tx=function(l,h){return new Qa(l,h)},zr=Qa.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),Qa.prototype.addLayer.call(this,l),this.fire("layeradd",{layer:l}))},removeLayer:function(l){return this.hasLayer(l)?(l in this._layers&&(l=this._layers[l]),l.removeEventParent(this),Qa.prototype.removeLayer.call(this,l),this.fire("layerremove",{layer:l})):this},setStyle:function(l){return this.invoke("setStyle",l)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var l=new Rt;for(var h in this._layers){var x=this._layers[h];l.extend(x.getBounds?x.getBounds():x.getLatLng())}return l}}),ix=function(l,h){return new zr(l,h)},zl=oe.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(l){y(this,l)},createIcon:function(l){return this._createIcon("icon",l)},createShadow:function(l){return this._createIcon("shadow",l)},_createIcon:function(l,h){var x=this._getIconUrl(l);if(!x){if(l==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var E=this._createImg(x,h&&h.tagName==="IMG"?h:null);return this._setIconStyles(E,l),(this.options.crossOrigin||this.options.crossOrigin==="")&&(E.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),E},_setIconStyles:function(l,h){var x=this.options,E=x[h+"Size"];typeof E=="number"&&(E=[E,E]);var k=We(E),N=We(h==="shadow"&&x.shadowAnchor||x.iconAnchor||k&&k.divideBy(2,!0));l.className="leaflet-marker-"+h+" "+(x.className||""),N&&(l.style.marginLeft=-N.x+"px",l.style.marginTop=-N.y+"px"),k&&(l.style.width=k.x+"px",l.style.height=k.y+"px")},_createImg:function(l,h){return h=h||document.createElement("img"),h.src=l,h},_getIconUrl:function(l){return De.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function nx(l){return new zl(l)}var Vl=zl.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(l){return typeof Vl.imagePath!="string"&&(Vl.imagePath=this._detectIconPath()),(this.options.imagePath||Vl.imagePath)+zl.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var h=function(x,E,k){var N=E.exec(x);return N&&N[k]};return l=h(l,/^url\((['"])?(.+)\1\)$/,2),l&&h(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=Q("div","leaflet-default-icon-path",document.body),h=Z(l,"background-image")||Z(l,"backgroundImage");if(document.body.removeChild(l),h=this._stripUrl(h),h)return h;var x=document.querySelector('link[href$="leaflet.css"]');return x?x.href.substring(0,x.href.length-11-1):""}}),Zc=Oo.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new Wr(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),me(l,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&Ie(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(l){var h=this._marker,x=h._map,E=this._marker.options.autoPanSpeed,k=this._marker.options.autoPanPadding,N=ct(h._icon),te=x.getPixelBounds(),be=x.getPixelOrigin(),we=gt(te.min._subtract(be).add(k),te.max._subtract(be).subtract(k));if(!we.contains(N)){var Et=We((Math.max(we.max.x,N.x)-we.max.x)/(te.max.x-we.max.x)-(Math.min(we.min.x,N.x)-we.min.x)/(te.min.x-we.min.x),(Math.max(we.max.y,N.y)-we.max.y)/(te.max.y-we.max.y)-(Math.min(we.min.y,N.y)-we.min.y)/(te.min.y-we.min.y)).multiplyBy(E);x.panBy(Et,{animate:!1}),this._draggable._newPos._add(Et),this._draggable._startPos._add(Et),_e(h._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=ie(this._adjustPan.bind(this,l))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(l){this._marker.options.autoPan&&(de(this._panRequest),this._panRequest=ie(this._adjustPan.bind(this,l)))},_onDrag:function(l){var h=this._marker,x=h._shadow,E=ct(h._icon),k=h._map.layerPointToLatLng(E);x&&_e(x,E),h._latlng=k,l.latlng=k,l.oldLatLng=this._oldLatLng,h.fire("move",l).fire("drag",l)},_onDragEnd:function(l){de(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),Qu=Qo.extend({options:{icon:new Vl,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(l,h){y(this,h),this._latlng=Ee(l)},onAdd:function(l){this._zoomAnimated=this._zoomAnimated&&l.options.markerZoomAnimation,this._zoomAnimated&&l.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(l){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&l.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(l){var h=this._latlng;return this._latlng=Ee(l),this.update(),this.fire("move",{oldLatLng:h,latlng:this._latlng})},setZIndexOffset:function(l){return this.options.zIndexOffset=l,this.update()},getIcon:function(){return this.options.icon},setIcon:function(l){return this.options.icon=l,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var l=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(l)}return this},_initIcon:function(){var l=this.options,h="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),x=l.icon.createIcon(this._icon),E=!1;x!==this._icon&&(this._icon&&this._removeIcon(),E=!0,l.title&&(x.title=l.title),x.tagName==="IMG"&&(x.alt=l.alt||"")),me(x,h),l.keyboard&&(x.tabIndex="0",x.setAttribute("role","button")),this._icon=x,l.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&_t(x,"focus",this._panOnFocus,this);var k=l.icon.createShadow(this._shadow),N=!1;k!==this._shadow&&(this._removeShadow(),N=!0),k&&(me(k,h),k.alt=""),this._shadow=k,l.opacity<1&&this._updateOpacity(),E&&this.getPane().appendChild(this._icon),this._initInteraction(),k&&N&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Si(this._icon,"focus",this._panOnFocus,this),ce(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&ce(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&_e(this._icon,l),this._shadow&&_e(this._shadow,l),this._zIndex=l.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(l){this._icon&&(this._icon.style.zIndex=this._zIndex+l)},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center).round();this._setPos(h)},_initInteraction:function(){if(this.options.interactive&&(me(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Zc)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Zc(this),l&&this.dragging.enable()}},setOpacity:function(l){return this.options.opacity=l,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var l=this.options.opacity;this._icon&&re(this._icon,l),this._shadow&&re(this._shadow,l)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var l=this._map;if(l){var h=this.options.icon.options,x=h.iconSize?We(h.iconSize):We(0,0),E=h.iconAnchor?We(h.iconAnchor):We(0,0);l.panInside(this._latlng,{paddingTopLeft:E,paddingBottomRight:x.subtract(E)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function sx(l,h){return new Qu(l,h)}var pa=Qo.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(l){this._renderer=l.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(l){return y(this,l),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&l&&Object.prototype.hasOwnProperty.call(l,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),Ju=pa.extend({options:{fill:!0,radius:10},initialize:function(l,h){y(this,h),this._latlng=Ee(l),this._radius=this.options.radius},setLatLng:function(l){var h=this._latlng;return this._latlng=Ee(l),this.redraw(),this.fire("move",{oldLatLng:h,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(l){return this.options.radius=this._radius=l,this.redraw()},getRadius:function(){return this._radius},setStyle:function(l){var h=l&&l.radius||this._radius;return pa.prototype.setStyle.call(this,l),this.setRadius(h),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var l=this._radius,h=this._radiusY||l,x=this._clickTolerance(),E=[l+x,h+x];this._pxBounds=new ye(this._point.subtract(E),this._point.add(E))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(l){return l.distanceTo(this._point)<=this._radius+this._clickTolerance()}});function ox(l,h){return new Ju(l,h)}var vf=Ju.extend({initialize:function(l,h,x){if(typeof h=="number"&&(h=n({},x,{radius:h})),y(this,h),this._latlng=Ee(l),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(l){return this._mRadius=l,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var l=[this._radius,this._radiusY||this._radius];return new Rt(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:pa.prototype.setStyle,_project:function(){var l=this._latlng.lng,h=this._latlng.lat,x=this._map,E=x.options.crs;if(E.distance===pt.distance){var k=Math.PI/180,N=this._mRadius/pt.R/k,te=x.project([h+N,l]),be=x.project([h-N,l]),we=te.add(be).divideBy(2),Et=x.unproject(we).lat,ri=Math.acos((Math.cos(N*k)-Math.sin(h*k)*Math.sin(Et*k))/(Math.cos(h*k)*Math.cos(Et*k)))/k;(isNaN(ri)||ri===0)&&(ri=N/Math.cos(Math.PI/180*h)),this._point=we.subtract(x.getPixelOrigin()),this._radius=isNaN(ri)?0:we.x-x.project([Et,l-ri]).x,this._radiusY=we.y-te.y}else{var Zi=E.unproject(E.project(this._latlng).subtract([this._mRadius,0]));this._point=x.latLngToLayerPoint(this._latlng),this._radius=this._point.x-x.latLngToLayerPoint(Zi).x}this._updateBounds()}});function _f(l,h,x){return new vf(l,h,x)}var hr=pa.extend({options:{smoothFactor:1,noClip:!1},initialize:function(l,h){y(this,h),this._setLatLngs(l)},getLatLngs:function(){return this._latlngs},setLatLngs:function(l){return this._setLatLngs(l),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(l){for(var h=1/0,x=null,E=Gc,k,N,te=0,be=this._parts.length;te<be;te++)for(var we=this._parts[te],Et=1,ri=we.length;Et<ri;Et++){k=we[Et-1],N=we[Et];var Zi=E(l,k,N,!0);Zi<h&&(h=Zi,x=E(l,k,N))}return x&&(x.distance=Math.sqrt(h)),x},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return pf(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,h){return h=h||this._defaultShape(),l=Ee(l),h.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new Rt,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return Ao(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var h=[],x=Ao(l),E=0,k=l.length;E<k;E++)x?(h[E]=Ee(l[E]),this._bounds.extend(h[E])):h[E]=this._convertLatLngs(l[E]);return h},_project:function(){var l=new ye;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,l),this._bounds.isValid()&&l.isValid()&&(this._rawPxBounds=l,this._updateBounds())},_updateBounds:function(){var l=this._clickTolerance(),h=new ve(l,l);this._rawPxBounds&&(this._pxBounds=new ye([this._rawPxBounds.min.subtract(h),this._rawPxBounds.max.add(h)]))},_projectLatlngs:function(l,h,x){var E=l[0]instanceof St,k=l.length,N,te;if(E){for(te=[],N=0;N<k;N++)te[N]=this._map.latLngToLayerPoint(l[N]),x.extend(te[N]);h.push(te)}else for(N=0;N<k;N++)this._projectLatlngs(l[N],h,x)},_clipPoints:function(){var l=this._renderer._bounds;if(this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}var h=this._parts,x,E,k,N,te,be,we;for(x=0,k=0,N=this._rings.length;x<N;x++)for(we=this._rings[x],E=0,te=we.length;E<te-1;E++)be=gf(we[E],we[E+1],l,E,!0),be&&(h[k]=h[k]||[],h[k].push(be[0]),(be[1]!==we[E+1]||E===te-2)&&(h[k].push(be[1]),k++))}},_simplifyPoints:function(){for(var l=this._parts,h=this.options.smoothFactor,x=0,E=l.length;x<E;x++)l[x]=uf(l[x],h)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(l,h){var x,E,k,N,te,be,we=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(x=0,N=this._parts.length;x<N;x++)for(be=this._parts[x],E=0,te=be.length,k=te-1;E<te;k=E++)if(!(!h&&E===0)&&Gp(l,be[k],be[E])<=we)return!0;return!1}});function Tb(l,h){return new hr(l,h)}hr._flat=Yp;var Ja=hr.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return df(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var h=hr.prototype._convertLatLngs.call(this,l),x=h.length;return x>=2&&h[0]instanceof St&&h[0].equals(h[x-1])&&h.pop(),h},_setLatLngs:function(l){hr.prototype._setLatLngs.call(this,l),Ao(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Ao(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,h=this.options.weight,x=new ve(h,h);if(l=new ye(l.min.subtract(x),l.max.add(x)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}for(var E=0,k=this._rings.length,N;E<k;E++)N=cf(this._rings[E],l,!0),N.length&&this._parts.push(N)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var h=!1,x,E,k,N,te,be,we,Et;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(N=0,we=this._parts.length;N<we;N++)for(x=this._parts[N],te=0,Et=x.length,be=Et-1;te<Et;be=te++)E=x[te],k=x[be],E.y>l.y!=k.y>l.y&&l.x<(k.x-E.x)*(l.y-E.y)/(k.y-E.y)+E.x&&(h=!h);return h||hr.prototype._containsPoint.call(this,l,!0)}});function rx(l,h){return new Ja(l,h)}var fr=zr.extend({initialize:function(l,h){y(this,h),this._layers={},l&&this.addData(l)},addData:function(l){var h=M(l)?l:l.features,x,E,k;if(h){for(x=0,E=h.length;x<E;x++)k=h[x],(k.geometries||k.geometry||k.features||k.coordinates)&&this.addData(k);return this}var N=this.options;if(N.filter&&!N.filter(l))return this;var te=Xc(l,N);return te?(te.feature=Yc(l),te.defaultOptions=te.options,this.resetStyle(te),N.onEachFeature&&N.onEachFeature(l,te),this.addLayer(te)):this},resetStyle:function(l){return l===void 0?this.eachLayer(this.resetStyle,this):(l.options=n({},l.defaultOptions),this._setLayerStyle(l,this.options.style),this)},setStyle:function(l){return this.eachLayer(function(h){this._setLayerStyle(h,l)},this)},_setLayerStyle:function(l,h){l.setStyle&&(typeof h=="function"&&(h=h(l.feature)),l.setStyle(h))}});function Xc(l,h){var x=l.type==="Feature"?l.geometry:l,E=x?x.coordinates:null,k=[],N=h&&h.pointToLayer,te=h&&h.coordsToLatLng||eh,be,we,Et,ri;if(!E&&!x)return null;switch(x.type){case"Point":return be=te(E),ax(N,l,be,h);case"MultiPoint":for(Et=0,ri=E.length;Et<ri;Et++)be=te(E[Et]),k.push(ax(N,l,be,h));return new zr(k);case"LineString":case"MultiLineString":return we=th(E,x.type==="LineString"?0:1,te),new hr(we,h);case"Polygon":case"MultiPolygon":return we=th(E,x.type==="Polygon"?1:2,te),new Ja(we,h);case"GeometryCollection":for(Et=0,ri=x.geometries.length;Et<ri;Et++){var Zi=Xc({geometry:x.geometries[Et],type:"Feature",properties:l.properties},h);Zi&&k.push(Zi)}return new zr(k);case"FeatureCollection":for(Et=0,ri=x.features.length;Et<ri;Et++){var ui=Xc(x.features[Et],h);ui&&k.push(ui)}return new zr(k);default:throw new Error("Invalid GeoJSON object.")}}function ax(l,h,x,E){return l?l(h,x):new Qu(x,E&&E.markersInheritOptions&&E)}function eh(l){return new St(l[1],l[0],l[2])}function th(l,h,x){for(var E=[],k=0,N=l.length,te;k<N;k++)te=h?th(l[k],h-1,x):(x||eh)(l[k]),E.push(te);return E}function bf(l,h){return l=Ee(l),l.alt!==void 0?[p(l.lng,h),p(l.lat,h),p(l.alt,h)]:[p(l.lng,h),p(l.lat,h)]}function ih(l,h,x,E){for(var k=[],N=0,te=l.length;N<te;N++)k.push(h?ih(l[N],Ao(l[N])?0:h-1,x,E):bf(l[N],E));return!h&&x&&k.length>0&&k.push(k[0].slice()),k}function xa(l,h){return l.feature?n({},l.feature,{geometry:h}):Yc(h)}function Yc(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var nh={toGeoJSON:function(l){return xa(this,{type:"Point",coordinates:bf(this.getLatLng(),l)})}};Qu.include(nh),vf.include(nh),Ju.include(nh),hr.include({toGeoJSON:function(l){var h=!Ao(this._latlngs),x=ih(this._latlngs,h?1:0,!1,l);return xa(this,{type:(h?"Multi":"")+"LineString",coordinates:x})}}),Ja.include({toGeoJSON:function(l){var h=!Ao(this._latlngs),x=h&&!Ao(this._latlngs[0]),E=ih(this._latlngs,x?2:h?1:0,!0,l);return h||(E=[E]),xa(this,{type:(x?"Multi":"")+"Polygon",coordinates:E})}}),Qa.include({toMultiPoint:function(l){var h=[];return this.eachLayer(function(x){h.push(x.toGeoJSON(l).geometry.coordinates)}),xa(this,{type:"MultiPoint",coordinates:h})},toGeoJSON:function(l){var h=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(h==="MultiPoint")return this.toMultiPoint(l);var x=h==="GeometryCollection",E=[];return this.eachLayer(function(k){if(k.toGeoJSON){var N=k.toGeoJSON(l);if(x)E.push(N.geometry);else{var te=Yc(N);te.type==="FeatureCollection"?E.push.apply(E,te.features):E.push(te)}}}),x?xa(this,{geometries:E,type:"GeometryCollection"}):{type:"FeatureCollection",features:E}}});function Cf(l,h){return new fr(l,h)}var Mb=Cf,Qc=Qo.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,h,x){this._url=l,this._bounds=nt(h),y(this,x)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(me(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){ce(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(l){return this.options.opacity=l,this._image&&this._updateOpacity(),this},setStyle:function(l){return l.opacity&&this.setOpacity(l.opacity),this},bringToFront:function(){return this._map&&ae(this._image),this},bringToBack:function(){return this._map&&xe(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=nt(l),this._map&&this._reset(),this},getEvents:function(){var l={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var l=this._url.tagName==="IMG",h=this._image=l?this._url:Q("img");if(me(h,"leaflet-image-layer"),this._zoomAnimated&&me(h,"leaflet-zoom-animated"),this.options.className&&me(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onload=r(this.fire,this,"load"),h.onerror=r(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(h.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),l){this._url=h.src;return}h.src=this._url,h.alt=this.options.alt},_animateZoom:function(l){var h=this._map.getZoomScale(l.zoom),x=this._map._latLngBoundsToNewLayerBounds(this._bounds,l.zoom,l.center).min;ge(this._image,x,h)},_reset:function(){var l=this._image,h=new ye(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),x=h.getSize();_e(l,h.min),l.style.width=x.x+"px",l.style.height=x.y+"px"},_updateOpacity:function(){re(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var l=this.options.errorOverlayUrl;l&&this._url!==l&&(this._url=l,this._image.src=l)},getCenter:function(){return this._bounds.getCenter()}}),Ef=function(l,h,x){return new Qc(l,h,x)},yf=Qc.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var l=this._url.tagName==="VIDEO",h=this._image=l?this._url:Q("video");if(me(h,"leaflet-image-layer"),this._zoomAnimated&&me(h,"leaflet-zoom-animated"),this.options.className&&me(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onloadeddata=r(this.fire,this,"load"),l){for(var x=h.getElementsByTagName("source"),E=[],k=0;k<x.length;k++)E.push(x[k].src);this._url=x.length>0?E:[h.src];return}M(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(h.style,"objectFit")&&(h.style.objectFit="fill"),h.autoplay=!!this.options.autoplay,h.loop=!!this.options.loop,h.muted=!!this.options.muted,h.playsInline=!!this.options.playsInline;for(var N=0;N<this._url.length;N++){var te=Q("source");te.src=this._url[N],h.appendChild(te)}}});function Rb(l,h,x){return new yf(l,h,x)}var lx=Qc.extend({_initImage:function(){var l=this._image=this._url;me(l,"leaflet-image-layer"),this._zoomAnimated&&me(l,"leaflet-zoom-animated"),this.options.className&&me(l,this.options.className),l.onselectstart=g,l.onmousemove=g}});function Nb(l,h,x){return new lx(l,h,x)}var gr=Qo.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,h){l&&(l instanceof St||M(l))?(this._latlng=Ee(l),y(this,h)):(y(this,l),this._source=h),this.options.content&&(this._content=this.options.content)},openOn:function(l){return l=arguments.length?l:this._source._map,l.hasLayer(this)||l.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(l){return this._map?this.close():(arguments.length?this._source=l:l=this._source,this._prepareOpen(),this.openOn(l._map)),this},onAdd:function(l){this._zoomAnimated=l._zoomAnimated,this._container||this._initLayout(),l._fadeAnimated&&re(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&re(this._container,1),this.bringToFront(),this.options.interactive&&(me(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(re(this._container,0),this._removeTimeout=setTimeout(r(ce,void 0,this._container),200)):ce(this._container),this.options.interactive&&(Ie(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=Ee(l),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(l){return this._content=l,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var l={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&ae(this._container),this},bringToBack:function(){return this._map&&xe(this._container),this},_prepareOpen:function(l){var h=this._source;if(!h._map)return!1;if(h instanceof zr){h=null;var x=this._source._layers;for(var E in x)if(x[E]._map){h=x[E];break}if(!h)return!1;this._source=h}if(!l)if(h.getCenter)l=h.getCenter();else if(h.getLatLng)l=h.getLatLng();else if(h.getBounds)l=h.getBounds().getCenter();else throw new Error("Unable to get source layer LatLng.");return this.setLatLng(l),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var l=this._contentNode,h=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof h=="string")l.innerHTML=h;else{for(;l.hasChildNodes();)l.removeChild(l.firstChild);l.appendChild(h)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var l=this._map.latLngToLayerPoint(this._latlng),h=We(this.options.offset),x=this._getAnchor();this._zoomAnimated?_e(this._container,l.add(x)):h=h.add(l).add(x);var E=this._containerBottom=-h.y,k=this._containerLeft=-Math.round(this._containerWidth/2)+h.x;this._container.style.bottom=E+"px",this._container.style.left=k+"px"}},_getAnchor:function(){return[0,0]}});Vi.include({_initOverlay:function(l,h,x,E){var k=h;return k instanceof l||(k=new l(E).setContent(h)),x&&k.setLatLng(x),k}}),Qo.include({_initOverlay:function(l,h,x,E){var k=x;return k instanceof l?(y(k,E),k._source=this):(k=h&&!E?h:new l(E,this),k.setContent(x)),k}});var sh=gr.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(l){return l=arguments.length?l:this._source._map,!l.hasLayer(this)&&l._popup&&l._popup.options.autoClose&&l.removeLayer(l._popup),l._popup=this,gr.prototype.openOn.call(this,l)},onAdd:function(l){gr.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof pa||this._source.on("preclick",Jt))},onRemove:function(l){gr.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof pa||this._source.off("preclick",Jt))},getEvents:function(){var l=gr.prototype.getEvents.call(this);return(this.options.closeOnClick!==void 0?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(l.preclick=this.close),this.options.keepInView&&(l.moveend=this._adjustPan),l},_initLayout:function(){var l="leaflet-popup",h=this._container=Q("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),x=this._wrapper=Q("div",l+"-content-wrapper",h);if(this._contentNode=Q("div",l+"-content",x),Yi(h),Qt(this._contentNode),_t(h,"contextmenu",Jt),this._tipContainer=Q("div",l+"-tip-container",h),this._tip=Q("div",l+"-tip",this._tipContainer),this.options.closeButton){var E=this._closeButton=Q("a",l+"-close-button",h);E.setAttribute("role","button"),E.setAttribute("aria-label","Close popup"),E.href="#close",E.innerHTML='<span aria-hidden="true">&#215;</span>',_t(E,"click",function(k){Ji(k),this.close()},this)}},_updateLayout:function(){var l=this._contentNode,h=l.style;h.width="",h.whiteSpace="nowrap";var x=l.offsetWidth;x=Math.min(x,this.options.maxWidth),x=Math.max(x,this.options.minWidth),h.width=x+1+"px",h.whiteSpace="",h.height="";var E=l.offsetHeight,k=this.options.maxHeight,N="leaflet-popup-scrolled";k&&E>k?(h.height=k+"px",me(l,N)):Ie(l,N),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),x=this._getAnchor();_e(this._container,h.add(x))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var l=this._map,h=parseInt(Z(this._container,"marginBottom"),10)||0,x=this._container.offsetHeight+h,E=this._containerWidth,k=new ve(this._containerLeft,-x-this._containerBottom);k._add(ct(this._container));var N=l.layerPointToContainerPoint(k),te=We(this.options.autoPanPadding),be=We(this.options.autoPanPaddingTopLeft||te),we=We(this.options.autoPanPaddingBottomRight||te),Et=l.getSize(),ri=0,Zi=0;N.x+E+we.x>Et.x&&(ri=N.x+E-Et.x+we.x),N.x-ri-be.x<0&&(ri=N.x-be.x),N.y+x+we.y>Et.y&&(Zi=N.y+x-Et.y+we.y),N.y-Zi-be.y<0&&(Zi=N.y-be.y),(ri||Zi)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([ri,Zi]))}},_getAnchor:function(){return We(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),Ob=function(l,h){return new sh(l,h)};Vi.mergeOptions({closePopupOnClick:!0}),Vi.include({openPopup:function(l,h,x){return this._initOverlay(sh,l,h,x).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),Qo.include({bindPopup:function(l,h){return this._popup=this._initOverlay(sh,this._popup,l,h),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(l){return this._popup&&(this instanceof zr||(this._popup._source=this),this._popup._prepareOpen(l||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(l){return this._popup&&this._popup.setContent(l),this},getPopup:function(){return this._popup},_openPopup:function(l){if(!(!this._popup||!this._map)){Ln(l);var h=l.layer||l.target;if(this._popup._source===h&&!(h instanceof pa)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(l.latlng);return}this._popup._source=h,this.openPopup(l.latlng)}},_movePopup:function(l){this._popup.setLatLng(l.latlng)},_onKeyPress:function(l){l.originalEvent.keyCode===13&&this._openPopup(l)}});var oh=gr.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){gr.prototype.onAdd.call(this,l),this.setOpacity(this.options.opacity),l.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(l){gr.prototype.onRemove.call(this,l),l.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var l=gr.prototype.getEvents.call(this);return this.options.permanent||(l.preclick=this.close),l},_initLayout:function(){var l="leaflet-tooltip",h=l+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=Q("div",h),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+d(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(l){var h,x,E=this._map,k=this._container,N=E.latLngToContainerPoint(E.getCenter()),te=E.layerPointToContainerPoint(l),be=this.options.direction,we=k.offsetWidth,Et=k.offsetHeight,ri=We(this.options.offset),Zi=this._getAnchor();be==="top"?(h=we/2,x=Et):be==="bottom"?(h=we/2,x=0):be==="center"?(h=we/2,x=Et/2):be==="right"?(h=0,x=Et/2):be==="left"?(h=we,x=Et/2):te.x<N.x?(be="right",h=0,x=Et/2):(be="left",h=we+(ri.x+Zi.x)*2,x=Et/2),l=l.subtract(We(h,x,!0)).add(ri).add(Zi),Ie(k,"leaflet-tooltip-right"),Ie(k,"leaflet-tooltip-left"),Ie(k,"leaflet-tooltip-top"),Ie(k,"leaflet-tooltip-bottom"),me(k,"leaflet-tooltip-"+be),_e(k,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&re(this._container,l)},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(h)},_getAnchor:function(){return We(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),Hb=function(l,h){return new oh(l,h)};Vi.include({openTooltip:function(l,h,x){return this._initOverlay(oh,l,h,x).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),Qo.include({bindTooltip:function(l,h){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(oh,this._tooltip,l,h),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(l){if(!(!l&&this._tooltipHandlersAdded)){var h=l?"off":"on",x={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?x.add=this._openTooltip:(x.mouseover=this._openTooltip,x.mouseout=this.closeTooltip,x.click=this._openTooltip,this._map?this._addFocusListeners():x.add=this._addFocusListeners),this._tooltip.options.sticky&&(x.mousemove=this._moveTooltip),this[h](x),this._tooltipHandlersAdded=!l}},openTooltip:function(l){return this._tooltip&&(this instanceof zr||(this._tooltip._source=this),this._tooltip._prepareOpen(l)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(l){return this._tooltip&&this._tooltip.setContent(l),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(l){var h=typeof l.getElement=="function"&&l.getElement();h&&(_t(h,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),_t(h,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(l){var h=typeof l.getElement=="function"&&l.getElement();h&&h.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(l){if(!(!this._tooltip||!this._map)){if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var h=this;this._map.once("moveend",function(){h._openOnceFlag=!1,h._openTooltip(l)});return}this._tooltip._source=l.layer||l.target,this.openTooltip(this._tooltip.options.sticky?l.latlng:void 0)}},_moveTooltip:function(l){var h=l.latlng,x,E;this._tooltip.options.sticky&&l.originalEvent&&(x=this._map.mouseEventToContainerPoint(l.originalEvent),E=this._map.containerPointToLayerPoint(x),h=this._map.layerPointToLatLng(E)),this._tooltip.setLatLng(h)}});var q=zl.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(l){var h=l&&l.tagName==="DIV"?l:document.createElement("div"),x=this.options;if(x.html instanceof Element?(Xe(h),h.appendChild(x.html)):h.innerHTML=x.html!==!1?x.html:"",x.bgPos){var E=We(x.bgPos);h.style.backgroundPosition=-E.x+"px "+-E.y+"px"}return this._setIconStyles(h,"icon"),h},createShadow:function(){return null}});function he(l){return new q(l)}zl.Default=Vl;var ft=Qo.extend({options:{tileSize:256,opacity:1,updateWhenIdle:De.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(l){y(this,l)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(l){l._addZoomLimit(this)},onRemove:function(l){this._removeAllTiles(),ce(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(ae(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(xe(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(l){return this.options.opacity=l,this._updateOpacity(),this},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var l=this._clampZoom(this._map.getZoom());l!==this._tileZoom&&(this._tileZoom=l,this._updateLevels()),this._update()}return this},getEvents:function(){var l={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=u(this._onMoveEnd,this.options.updateInterval,this)),l.move=this._onMove),this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},createTile:function(){return document.createElement("div")},getTileSize:function(){var l=this.options.tileSize;return l instanceof ve?l:new ve(l,l)},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(l){for(var h=this.getPane().children,x=-l(-1/0,1/0),E=0,k=h.length,N;E<k;E++)N=h[E].style.zIndex,h[E]!==this._container&&N&&(x=l(x,+N));isFinite(x)&&(this.options.zIndex=x+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!De.ielt9){re(this._container,this.options.opacity);var l=+new Date,h=!1,x=!1;for(var E in this._tiles){var k=this._tiles[E];if(!(!k.current||!k.loaded)){var N=Math.min(1,(l-k.loaded)/200);re(k.el,N),N<1?h=!0:(k.active?x=!0:this._onOpaqueTile(k),k.active=!0)}}x&&!this._noPrune&&this._pruneTiles(),h&&(de(this._fadeFrame),this._fadeFrame=ie(this._updateOpacity,this))}},_onOpaqueTile:g,_initContainer:function(){this._container||(this._container=Q("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var l=this._tileZoom,h=this.options.maxZoom;if(l!==void 0){for(var x in this._levels)x=Number(x),this._levels[x].el.children.length||x===l?(this._levels[x].el.style.zIndex=h-Math.abs(l-x),this._onUpdateLevel(x)):(ce(this._levels[x].el),this._removeTilesAtZoom(x),this._onRemoveLevel(x),delete this._levels[x]);var E=this._levels[l],k=this._map;return E||(E=this._levels[l]={},E.el=Q("div","leaflet-tile-container leaflet-zoom-animated",this._container),E.el.style.zIndex=h,E.origin=k.project(k.unproject(k.getPixelOrigin()),l).round(),E.zoom=l,this._setZoomTransform(E,k.getCenter(),k.getZoom()),g(E.el.offsetWidth),this._onCreateLevel(E)),this._level=E,E}},_onUpdateLevel:g,_onRemoveLevel:g,_onCreateLevel:g,_pruneTiles:function(){if(this._map){var l,h,x=this._map.getZoom();if(x>this.options.maxZoom||x<this.options.minZoom){this._removeAllTiles();return}for(l in this._tiles)h=this._tiles[l],h.retain=h.current;for(l in this._tiles)if(h=this._tiles[l],h.current&&!h.active){var E=h.coords;this._retainParent(E.x,E.y,E.z,E.z-5)||this._retainChildren(E.x,E.y,E.z,E.z+2)}for(l in this._tiles)this._tiles[l].retain||this._removeTile(l)}},_removeTilesAtZoom:function(l){for(var h in this._tiles)this._tiles[h].coords.z===l&&this._removeTile(h)},_removeAllTiles:function(){for(var l in this._tiles)this._removeTile(l)},_invalidateAll:function(){for(var l in this._levels)ce(this._levels[l].el),this._onRemoveLevel(Number(l)),delete this._levels[l];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(l,h,x,E){var k=Math.floor(l/2),N=Math.floor(h/2),te=x-1,be=new ve(+k,+N);be.z=+te;var we=this._tileCoordsToKey(be),Et=this._tiles[we];return Et&&Et.active?(Et.retain=!0,!0):(Et&&Et.loaded&&(Et.retain=!0),te>E?this._retainParent(k,N,te,E):!1)},_retainChildren:function(l,h,x,E){for(var k=2*l;k<2*l+2;k++)for(var N=2*h;N<2*h+2;N++){var te=new ve(k,N);te.z=x+1;var be=this._tileCoordsToKey(te),we=this._tiles[be];if(we&&we.active){we.retain=!0;continue}else we&&we.loaded&&(we.retain=!0);x+1<E&&this._retainChildren(k,N,x+1,E)}},_resetView:function(l){var h=l&&(l.pinch||l.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),h,h)},_animateZoom:function(l){this._setView(l.center,l.zoom,!0,l.noUpdate)},_clampZoom:function(l){var h=this.options;return h.minNativeZoom!==void 0&&l<h.minNativeZoom?h.minNativeZoom:h.maxNativeZoom!==void 0&&h.maxNativeZoom<l?h.maxNativeZoom:l},_setView:function(l,h,x,E){var k=Math.round(h);this.options.maxZoom!==void 0&&k>this.options.maxZoom||this.options.minZoom!==void 0&&k<this.options.minZoom?k=void 0:k=this._clampZoom(k);var N=this.options.updateWhenZooming&&k!==this._tileZoom;(!E||N)&&(this._tileZoom=k,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),k!==void 0&&this._update(l),x||this._pruneTiles(),this._noPrune=!!x),this._setZoomTransforms(l,h)},_setZoomTransforms:function(l,h){for(var x in this._levels)this._setZoomTransform(this._levels[x],l,h)},_setZoomTransform:function(l,h,x){var E=this._map.getZoomScale(x,l.zoom),k=l.origin.multiplyBy(E).subtract(this._map._getNewPixelOrigin(h,x)).round();De.any3d?ge(l.el,k,E):_e(l.el,k)},_resetGrid:function(){var l=this._map,h=l.options.crs,x=this._tileSize=this.getTileSize(),E=this._tileZoom,k=this._map.getPixelWorldBounds(this._tileZoom);k&&(this._globalTileRange=this._pxBoundsToTileRange(k)),this._wrapX=h.wrapLng&&!this.options.noWrap&&[Math.floor(l.project([0,h.wrapLng[0]],E).x/x.x),Math.ceil(l.project([0,h.wrapLng[1]],E).x/x.y)],this._wrapY=h.wrapLat&&!this.options.noWrap&&[Math.floor(l.project([h.wrapLat[0],0],E).y/x.x),Math.ceil(l.project([h.wrapLat[1],0],E).y/x.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(l){var h=this._map,x=h._animatingZoom?Math.max(h._animateToZoom,h.getZoom()):h.getZoom(),E=h.getZoomScale(x,this._tileZoom),k=h.project(l,this._tileZoom).floor(),N=h.getSize().divideBy(E*2);return new ye(k.subtract(N),k.add(N))},_update:function(l){var h=this._map;if(h){var x=this._clampZoom(h.getZoom());if(l===void 0&&(l=h.getCenter()),this._tileZoom!==void 0){var E=this._getTiledPixelBounds(l),k=this._pxBoundsToTileRange(E),N=k.getCenter(),te=[],be=this.options.keepBuffer,we=new ye(k.getBottomLeft().subtract([be,-be]),k.getTopRight().add([be,-be]));if(!(isFinite(k.min.x)&&isFinite(k.min.y)&&isFinite(k.max.x)&&isFinite(k.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var Et in this._tiles){var ri=this._tiles[Et].coords;(ri.z!==this._tileZoom||!we.contains(new ve(ri.x,ri.y)))&&(this._tiles[Et].current=!1)}if(Math.abs(x-this._tileZoom)>1){this._setView(l,x);return}for(var Zi=k.min.y;Zi<=k.max.y;Zi++)for(var ui=k.min.x;ui<=k.max.x;ui++){var hn=new ve(ui,Zi);if(hn.z=this._tileZoom,!!this._isValidTile(hn)){var In=this._tiles[this._tileCoordsToKey(hn)];In?In.current=!0:te.push(hn)}}if(te.sort(function(Ns,Vr){return Ns.distanceTo(N)-Vr.distanceTo(N)}),te.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var _s=document.createDocumentFragment();for(ui=0;ui<te.length;ui++)this._addTile(te[ui],_s);this._level.el.appendChild(_s)}}}},_isValidTile:function(l){var h=this._map.options.crs;if(!h.infinite){var x=this._globalTileRange;if(!h.wrapLng&&(l.x<x.min.x||l.x>x.max.x)||!h.wrapLat&&(l.y<x.min.y||l.y>x.max.y))return!1}if(!this.options.bounds)return!0;var E=this._tileCoordsToBounds(l);return nt(this.options.bounds).overlaps(E)},_keyToBounds:function(l){return this._tileCoordsToBounds(this._keyToTileCoords(l))},_tileCoordsToNwSe:function(l){var h=this._map,x=this.getTileSize(),E=l.scaleBy(x),k=E.add(x),N=h.unproject(E,l.z),te=h.unproject(k,l.z);return[N,te]},_tileCoordsToBounds:function(l){var h=this._tileCoordsToNwSe(l),x=new Rt(h[0],h[1]);return this.options.noWrap||(x=this._map.wrapLatLngBounds(x)),x},_tileCoordsToKey:function(l){return l.x+":"+l.y+":"+l.z},_keyToTileCoords:function(l){var h=l.split(":"),x=new ve(+h[0],+h[1]);return x.z=+h[2],x},_removeTile:function(l){var h=this._tiles[l];h&&(ce(h.el),delete this._tiles[l],this.fire("tileunload",{tile:h.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){me(l,"leaflet-tile");var h=this.getTileSize();l.style.width=h.x+"px",l.style.height=h.y+"px",l.onselectstart=g,l.onmousemove=g,De.ielt9&&this.options.opacity<1&&re(l,this.options.opacity)},_addTile:function(l,h){var x=this._getTilePos(l),E=this._tileCoordsToKey(l),k=this.createTile(this._wrapCoords(l),r(this._tileReady,this,l));this._initTile(k),this.createTile.length<2&&ie(r(this._tileReady,this,l,null,k)),_e(k,x),this._tiles[E]={el:k,coords:l,current:!0},h.appendChild(k),this.fire("tileloadstart",{tile:k,coords:l})},_tileReady:function(l,h,x){h&&this.fire("tileerror",{error:h,tile:x,coords:l});var E=this._tileCoordsToKey(l);x=this._tiles[E],x&&(x.loaded=+new Date,this._map._fadeAnimated?(re(x.el,0),de(this._fadeFrame),this._fadeFrame=ie(this._updateOpacity,this)):(x.active=!0,this._pruneTiles()),h||(me(x.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:x.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),De.ielt9||!this._map._fadeAnimated?ie(this._pruneTiles,this):setTimeout(r(this._pruneTiles,this),250)))},_getTilePos:function(l){return l.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(l){var h=new ve(this._wrapX?f(l.x,this._wrapX):l.x,this._wrapY?f(l.y,this._wrapY):l.y);return h.z=l.z,h},_pxBoundsToTileRange:function(l){var h=this.getTileSize();return new ye(l.min.unscaleBy(h).floor(),l.max.unscaleBy(h).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var l in this._tiles)if(!this._tiles[l].loaded)return!1;return!0}});function mt(l){return new ft(l)}var $e=ft.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(l,h){this._url=l,h=y(this,h),h.detectRetina&&De.retina&&h.maxZoom>0?(h.tileSize=Math.floor(h.tileSize/2),h.zoomReverse?(h.zoomOffset--,h.minZoom=Math.min(h.maxZoom,h.minZoom+1)):(h.zoomOffset++,h.maxZoom=Math.max(h.minZoom,h.maxZoom-1)),h.minZoom=Math.max(0,h.minZoom)):h.zoomReverse?h.minZoom=Math.min(h.maxZoom,h.minZoom):h.maxZoom=Math.max(h.minZoom,h.maxZoom),typeof h.subdomains=="string"&&(h.subdomains=h.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(l,h){return this._url===l&&h===void 0&&(h=!0),this._url=l,h||this.redraw(),this},createTile:function(l,h){var x=document.createElement("img");return _t(x,"load",r(this._tileOnLoad,this,h,x)),_t(x,"error",r(this._tileOnError,this,h,x)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(x.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(x.referrerPolicy=this.options.referrerPolicy),x.alt="",x.src=this.getTileUrl(l),x},getTileUrl:function(l){var h={r:De.retina?"@2x":"",s:this._getSubdomain(l),x:l.x,y:l.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var x=this._globalTileRange.max.y-l.y;this.options.tms&&(h.y=x),h["-y"]=x}return P(this._url,n(h,this.options))},_tileOnLoad:function(l,h){De.ielt9?setTimeout(r(l,this,null,h),0):l(null,h)},_tileOnError:function(l,h,x){var E=this.options.errorTileUrl;E&&h.getAttribute("src")!==E&&(h.src=E),l(x,h)},_onTileRemove:function(l){l.tile.onload=null},_getZoomForUrl:function(){var l=this._tileZoom,h=this.options.maxZoom,x=this.options.zoomReverse,E=this.options.zoomOffset;return x&&(l=h-l),l+E},_getSubdomain:function(l){var h=Math.abs(l.x+l.y)%this.options.subdomains.length;return this.options.subdomains[h]},_abortLoading:function(){var l,h;for(l in this._tiles)if(this._tiles[l].coords.z!==this._tileZoom&&(h=this._tiles[l].el,h.onload=g,h.onerror=g,!h.complete)){h.src=T;var x=this._tiles[l].coords;ce(h),delete this._tiles[l],this.fire("tileabort",{tile:h,coords:x})}},_removeTile:function(l){var h=this._tiles[l];if(h)return h.el.setAttribute("src",T),ft.prototype._removeTile.call(this,l)},_tileReady:function(l,h,x){if(!(!this._map||x&&x.getAttribute("src")===T))return ft.prototype._tileReady.call(this,l,h,x)}});function Ut(l,h){return new $e(l,h)}var oi=$e.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(l,h){this._url=l;var x=n({},this.defaultWmsParams);for(var E in h)E in this.options||(x[E]=h[E]);h=y(this,h);var k=h.detectRetina&&De.retina?2:1,N=this.getTileSize();x.width=N.x*k,x.height=N.y*k,this.wmsParams=x},onAdd:function(l){this._crs=this.options.crs||l.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var h=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[h]=this._crs.code,$e.prototype.onAdd.call(this,l)},getTileUrl:function(l){var h=this._tileCoordsToNwSe(l),x=this._crs,E=gt(x.project(h[0]),x.project(h[1])),k=E.min,N=E.max,te=(this._wmsVersion>=1.3&&this._crs===Jp?[k.y,k.x,N.y,N.x]:[k.x,k.y,N.x,N.y]).join(","),be=$e.prototype.getTileUrl.call(this,l);return be+w(this.wmsParams,be,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+te},setParams:function(l,h){return n(this.wmsParams,l),h||this.redraw(),this}});function tn(l,h){return new oi(l,h)}$e.WMS=oi,Ut.wms=tn;var Qi=Qo.extend({options:{padding:.1},initialize:function(l){y(this,l),d(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),me(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var l={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(l.zoomanim=this._onAnimZoom),l},_onAnimZoom:function(l){this._updateTransform(l.center,l.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(l,h){var x=this._map.getZoomScale(h,this._zoom),E=this._map.getSize().multiplyBy(.5+this.options.padding),k=this._map.project(this._center,h),N=E.multiplyBy(-x).add(k).subtract(this._map._getNewPixelOrigin(l,h));De.any3d?ge(this._container,N,x):_e(this._container,N)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var l in this._layers)this._layers[l]._reset()},_onZoomEnd:function(){for(var l in this._layers)this._layers[l]._project()},_updatePaths:function(){for(var l in this._layers)this._layers[l]._update()},_update:function(){var l=this.options.padding,h=this._map.getSize(),x=this._map.containerPointToLayerPoint(h.multiplyBy(-l)).round();this._bounds=new ye(x,x.add(h.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),cn=Qi.extend({options:{tolerance:0},getEvents:function(){var l=Qi.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Qi.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");_t(l,"mousemove",this._onMouseMove,this),_t(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),_t(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){de(this._redrawRequest),delete this._ctx,ce(this._container),Si(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var l;this._redrawBounds=null;for(var h in this._layers)l=this._layers[h],l._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Qi.prototype._update.call(this);var l=this._bounds,h=this._container,x=l.getSize(),E=De.retina?2:1;_e(h,l.min),h.width=E*x.x,h.height=E*x.y,h.style.width=x.x+"px",h.style.height=x.y+"px",De.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){Qi.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(l){this._updateDashArray(l),this._layers[d(l)]=l;var h=l._order={layer:l,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=h),this._drawLast=h,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(l){this._requestRedraw(l)},_removePath:function(l){var h=l._order,x=h.next,E=h.prev;x?x.prev=E:this._drawLast=E,E?E.next=x:this._drawFirst=x,delete l._order,delete this._layers[d(l)],this._requestRedraw(l)},_updatePath:function(l){this._extendRedrawBounds(l),l._project(),l._update(),this._requestRedraw(l)},_updateStyle:function(l){this._updateDashArray(l),this._requestRedraw(l)},_updateDashArray:function(l){if(typeof l.options.dashArray=="string"){var h=l.options.dashArray.split(/[, ]+/),x=[],E,k;for(k=0;k<h.length;k++){if(E=Number(h[k]),isNaN(E))return;x.push(E)}l.options._dashArray=x}else l.options._dashArray=l.options.dashArray},_requestRedraw:function(l){this._map&&(this._extendRedrawBounds(l),this._redrawRequest=this._redrawRequest||ie(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var h=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new ye,this._redrawBounds.extend(l._pxBounds.min.subtract([h,h])),this._redrawBounds.extend(l._pxBounds.max.add([h,h]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var l=this._redrawBounds;if(l){var h=l.getSize();this._ctx.clearRect(l.min.x,l.min.y,h.x,h.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var l,h=this._redrawBounds;if(this._ctx.save(),h){var x=h.getSize();this._ctx.beginPath(),this._ctx.rect(h.min.x,h.min.y,x.x,x.y),this._ctx.clip()}this._drawing=!0;for(var E=this._drawFirst;E;E=E.next)l=E.layer,(!h||l._pxBounds&&l._pxBounds.intersects(h))&&l._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(l,h){if(this._drawing){var x,E,k,N,te=l._parts,be=te.length,we=this._ctx;if(be){for(we.beginPath(),x=0;x<be;x++){for(E=0,k=te[x].length;E<k;E++)N=te[x][E],we[E?"lineTo":"moveTo"](N.x,N.y);h&&we.closePath()}this._fillStroke(we,l)}}},_updateCircle:function(l){if(!(!this._drawing||l._empty())){var h=l._point,x=this._ctx,E=Math.max(Math.round(l._radius),1),k=(Math.max(Math.round(l._radiusY),1)||E)/E;k!==1&&(x.save(),x.scale(1,k)),x.beginPath(),x.arc(h.x,h.y/k,E,0,Math.PI*2,!1),k!==1&&x.restore(),this._fillStroke(x,l)}},_fillStroke:function(l,h){var x=h.options;x.fill&&(l.globalAlpha=x.fillOpacity,l.fillStyle=x.fillColor||x.color,l.fill(x.fillRule||"evenodd")),x.stroke&&x.weight!==0&&(l.setLineDash&&l.setLineDash(h.options&&h.options._dashArray||[]),l.globalAlpha=x.opacity,l.lineWidth=x.weight,l.strokeStyle=x.color,l.lineCap=x.lineCap,l.lineJoin=x.lineJoin,l.stroke())},_onClick:function(l){for(var h=this._map.mouseEventToLayerPoint(l),x,E,k=this._drawFirst;k;k=k.next)x=k.layer,x.options.interactive&&x._containsPoint(h)&&(!(l.type==="click"||l.type==="preclick")||!this._map._draggableMoved(x))&&(E=x);this._fireEvent(E?[E]:!1,l)},_onMouseMove:function(l){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var h=this._map.mouseEventToLayerPoint(l);this._handleMouseHover(l,h)}},_handleMouseOut:function(l){var h=this._hoveredLayer;h&&(Ie(this._container,"leaflet-interactive"),this._fireEvent([h],l,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(l,h){if(!this._mouseHoverThrottled){for(var x,E,k=this._drawFirst;k;k=k.next)x=k.layer,x.options.interactive&&x._containsPoint(h)&&(E=x);E!==this._hoveredLayer&&(this._handleMouseOut(l),E&&(me(this._container,"leaflet-interactive"),this._fireEvent([E],l,"mouseover"),this._hoveredLayer=E)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,l),this._mouseHoverThrottled=!0,setTimeout(r(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(l,h,x){this._map._fireDOMEvent(h,x||h.type,l)},_bringToFront:function(l){var h=l._order;if(h){var x=h.next,E=h.prev;if(x)x.prev=E;else return;E?E.next=x:x&&(this._drawFirst=x),h.prev=this._drawLast,this._drawLast.next=h,h.next=null,this._drawLast=h,this._requestRedraw(l)}},_bringToBack:function(l){var h=l._order;if(h){var x=h.next,E=h.prev;if(E)E.next=x;else return;x?x.prev=E:E&&(this._drawLast=E),h.prev=null,h.next=this._drawFirst,this._drawFirst.prev=h,this._drawFirst=h,this._requestRedraw(l)}}});function Cn(l){return De.canvas?new cn(l):null}var gn=(function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(l){return document.createElement("<lvml:"+l+' class="lvml">')}}catch{}return function(l){return document.createElement("<"+l+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}})(),En={_initContainer:function(){this._container=Q("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Qi.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var h=l._container=gn("shape");me(h,"leaflet-vml-shape "+(this.options.className||"")),h.coordsize="1 1",l._path=gn("path"),h.appendChild(l._path),this._updateStyle(l),this._layers[d(l)]=l},_addPath:function(l){var h=l._container;this._container.appendChild(h),l.options.interactive&&l.addInteractiveTarget(h)},_removePath:function(l){var h=l._container;ce(h),l.removeInteractiveTarget(h),delete this._layers[d(l)]},_updateStyle:function(l){var h=l._stroke,x=l._fill,E=l.options,k=l._container;k.stroked=!!E.stroke,k.filled=!!E.fill,E.stroke?(h||(h=l._stroke=gn("stroke")),k.appendChild(h),h.weight=E.weight+"px",h.color=E.color,h.opacity=E.opacity,E.dashArray?h.dashStyle=M(E.dashArray)?E.dashArray.join(" "):E.dashArray.replace(/( *, *)/g," "):h.dashStyle="",h.endcap=E.lineCap.replace("butt","flat"),h.joinstyle=E.lineJoin):h&&(k.removeChild(h),l._stroke=null),E.fill?(x||(x=l._fill=gn("fill")),k.appendChild(x),x.color=E.fillColor||E.color,x.opacity=E.fillOpacity):x&&(k.removeChild(x),l._fill=null)},_updateCircle:function(l){var h=l._point.round(),x=Math.round(l._radius),E=Math.round(l._radiusY||x);this._setPath(l,l._empty()?"M0 0":"AL "+h.x+","+h.y+" "+x+","+E+" 0,"+65535*360)},_setPath:function(l,h){l._path.v=h},_bringToFront:function(l){ae(l._container)},_bringToBack:function(l){xe(l._container)}},_n=De.vml?gn:si,yn=Qi.extend({_initContainer:function(){this._container=_n("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=_n("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){ce(this._container),Si(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Qi.prototype._update.call(this);var l=this._bounds,h=l.getSize(),x=this._container;(!this._svgSize||!this._svgSize.equals(h))&&(this._svgSize=h,x.setAttribute("width",h.x),x.setAttribute("height",h.y)),_e(x,l.min),x.setAttribute("viewBox",[l.min.x,l.min.y,h.x,h.y].join(" ")),this.fire("update")}},_initPath:function(l){var h=l._path=_n("path");l.options.className&&me(h,l.options.className),l.options.interactive&&me(h,"leaflet-interactive"),this._updateStyle(l),this._layers[d(l)]=l},_addPath:function(l){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(l._path),l.addInteractiveTarget(l._path)},_removePath:function(l){ce(l._path),l.removeInteractiveTarget(l._path),delete this._layers[d(l)]},_updatePath:function(l){l._project(),l._update()},_updateStyle:function(l){var h=l._path,x=l.options;h&&(x.stroke?(h.setAttribute("stroke",x.color),h.setAttribute("stroke-opacity",x.opacity),h.setAttribute("stroke-width",x.weight),h.setAttribute("stroke-linecap",x.lineCap),h.setAttribute("stroke-linejoin",x.lineJoin),x.dashArray?h.setAttribute("stroke-dasharray",x.dashArray):h.removeAttribute("stroke-dasharray"),x.dashOffset?h.setAttribute("stroke-dashoffset",x.dashOffset):h.removeAttribute("stroke-dashoffset")):h.setAttribute("stroke","none"),x.fill?(h.setAttribute("fill",x.fillColor||x.color),h.setAttribute("fill-opacity",x.fillOpacity),h.setAttribute("fill-rule",x.fillRule||"evenodd")):h.setAttribute("fill","none"))},_updatePoly:function(l,h){this._setPath(l,Vt(l._parts,h))},_updateCircle:function(l){var h=l._point,x=Math.max(Math.round(l._radius),1),E=Math.max(Math.round(l._radiusY),1)||x,k="a"+x+","+E+" 0 1,0 ",N=l._empty()?"M0 0":"M"+(h.x-x)+","+h.y+k+x*2+",0 "+k+-x*2+",0 ";this._setPath(l,N)},_setPath:function(l,h){l._path.setAttribute("d",h)},_bringToFront:function(l){ae(l._path)},_bringToBack:function(l){xe(l._path)}});De.vml&&yn.include(En);function ls(l){return De.svg||De.vml?new yn(l):null}Vi.include({getRenderer:function(l){var h=l.options.renderer||this._getPaneRenderer(l.options.pane)||this.options.renderer||this._renderer;return h||(h=this._renderer=this._createRenderer()),this.hasLayer(h)||this.addLayer(h),h},_getPaneRenderer:function(l){if(l==="overlayPane"||l===void 0)return!1;var h=this._paneRenderers[l];return h===void 0&&(h=this._createRenderer({pane:l}),this._paneRenderers[l]=h),h},_createRenderer:function(l){return this.options.preferCanvas&&Cn(l)||ls(l)}});var pn=Ja.extend({initialize:function(l,h){Ja.prototype.initialize.call(this,this._boundsToLatLngs(l),h)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=nt(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function Hn(l,h){return new pn(l,h)}yn.create=_n,yn.pointsToPath=Vt,fr.geometryToLayer=Xc,fr.coordsToLatLng=eh,fr.coordsToLatLngs=th,fr.latLngToCoords=bf,fr.latLngsToCoords=ih,fr.getFeature=xa,fr.asFeature=Yc,Vi.mergeOptions({boxZoom:!0});var Ms=Oo.extend({initialize:function(l){this._map=l,this._container=l._container,this._pane=l._panes.overlayPane,this._resetStateTimeout=0,l.on("unload",this._destroy,this)},addHooks:function(){_t(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Si(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){ce(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(l){if(!l.shiftKey||l.which!==1&&l.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),st(),Ve(),this._startPoint=this._map.mouseEventToContainerPoint(l),_t(document,{contextmenu:Ln,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=Q("div","leaflet-zoom-box",this._container),me(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var h=new ye(this._point,this._startPoint),x=h.getSize();_e(this._box,h.min),this._box.style.width=x.x+"px",this._box.style.height=x.y+"px"},_finish:function(){this._moved&&(ce(this._box),Ie(this._container,"leaflet-crosshair")),Ae(),Je(),Si(document,{contextmenu:Ln,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(l){if(!(l.which!==1&&l.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(r(this._resetState,this),0);var h=new Rt(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(h).fire("boxzoomend",{boxZoomBounds:h})}},_onKeyDown:function(l){l.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Vi.addInitHook("addHandler","boxZoom",Ms),Vi.mergeOptions({doubleClickZoom:!0});var mo=Oo.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(l){var h=this._map,x=h.getZoom(),E=h.options.zoomDelta,k=l.originalEvent.shiftKey?x-E:x+E;h.options.doubleClickZoom==="center"?h.setZoom(k):h.setZoomAround(l.containerPoint,k)}});Vi.addInitHook("addHandler","doubleClickZoom",mo),Vi.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var Rs=Oo.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new Wr(l._mapPane,l._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),l.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),l.on("zoomend",this._onZoomEnd,this),l.whenReady(this._onZoomEnd,this))}me(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){Ie(this._map._container,"leaflet-grab"),Ie(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var l=this._map;if(l._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var h=nt(this._map.options.maxBounds);this._offsetLimit=gt(this._map.latLngToContainerPoint(h.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(h.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;l.fire("movestart").fire("dragstart"),l.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(l){if(this._map.options.inertia){var h=this._lastTime=+new Date,x=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(x),this._times.push(h),this._prunePositions(h)}this._map.fire("move",l).fire("drag",l)},_prunePositions:function(l){for(;this._positions.length>1&&l-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var l=this._map.getSize().divideBy(2),h=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=h.subtract(l).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(l,h){return l-(l-h)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var l=this._draggable._newPos.subtract(this._draggable._startPos),h=this._offsetLimit;l.x<h.min.x&&(l.x=this._viscousLimit(l.x,h.min.x)),l.y<h.min.y&&(l.y=this._viscousLimit(l.y,h.min.y)),l.x>h.max.x&&(l.x=this._viscousLimit(l.x,h.max.x)),l.y>h.max.y&&(l.y=this._viscousLimit(l.y,h.max.y)),this._draggable._newPos=this._draggable._startPos.add(l)}},_onPreDragWrap:function(){var l=this._worldWidth,h=Math.round(l/2),x=this._initialWorldOffset,E=this._draggable._newPos.x,k=(E-h+x)%l+h-x,N=(E+h+x)%l-h-x,te=Math.abs(k+x)<Math.abs(N+x)?k:N;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=te},_onDragEnd:function(l){var h=this._map,x=h.options,E=!x.inertia||l.noInertia||this._times.length<2;if(h.fire("dragend",l),E)h.fire("moveend");else{this._prunePositions(+new Date);var k=this._lastPos.subtract(this._positions[0]),N=(this._lastTime-this._times[0])/1e3,te=x.easeLinearity,be=k.multiplyBy(te/N),we=be.distanceTo([0,0]),Et=Math.min(x.inertiaMaxSpeed,we),ri=be.multiplyBy(Et/we),Zi=Et/(x.inertiaDeceleration*te),ui=ri.multiplyBy(-Zi/2).round();!ui.x&&!ui.y?h.fire("moveend"):(ui=h._limitOffset(ui,h.options.maxBounds),ie(function(){h.panBy(ui,{duration:Zi,easeLinearity:te,noMoveStart:!0,animate:!0})}))}}});Vi.addInitHook("addHandler","dragging",Rs),Vi.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Ds=Oo.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(l){this._map=l,this._setPanDelta(l.options.keyboardPanDelta),this._setZoomDelta(l.options.zoomDelta)},addHooks:function(){var l=this._map._container;l.tabIndex<=0&&(l.tabIndex="0"),_t(l,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Si(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var l=document.body,h=document.documentElement,x=l.scrollTop||h.scrollTop,E=l.scrollLeft||h.scrollLeft;this._map._container.focus(),window.scrollTo(E,x)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(l){var h=this._panKeys={},x=this.keyCodes,E,k;for(E=0,k=x.left.length;E<k;E++)h[x.left[E]]=[-1*l,0];for(E=0,k=x.right.length;E<k;E++)h[x.right[E]]=[l,0];for(E=0,k=x.down.length;E<k;E++)h[x.down[E]]=[0,l];for(E=0,k=x.up.length;E<k;E++)h[x.up[E]]=[0,-1*l]},_setZoomDelta:function(l){var h=this._zoomKeys={},x=this.keyCodes,E,k;for(E=0,k=x.zoomIn.length;E<k;E++)h[x.zoomIn[E]]=l;for(E=0,k=x.zoomOut.length;E<k;E++)h[x.zoomOut[E]]=-l},_addHooks:function(){_t(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Si(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(l){if(!(l.altKey||l.ctrlKey||l.metaKey)){var h=l.keyCode,x=this._map,E;if(h in this._panKeys){if(!x._panAnim||!x._panAnim._inProgress)if(E=this._panKeys[h],l.shiftKey&&(E=We(E).multiplyBy(3)),x.options.maxBounds&&(E=x._limitOffset(We(E),x.options.maxBounds)),x.options.worldCopyJump){var k=x.wrapLatLng(x.unproject(x.project(x.getCenter()).add(E)));x.panTo(k)}else x.panBy(E)}else if(h in this._zoomKeys)x.setZoom(x.getZoom()+(l.shiftKey?3:1)*this._zoomKeys[h]);else if(h===27&&x._popup&&x._popup.options.closeOnEscapeKey)x.closePopup();else return;Ln(l)}}});Vi.addInitHook("addHandler","keyboard",Ds),Vi.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var cs=Oo.extend({addHooks:function(){_t(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Si(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var h=Fs(l),x=this._map.options.wheelDebounceTime;this._delta+=h,this._lastMousePos=this._map.mouseEventToContainerPoint(l),this._startTime||(this._startTime=+new Date);var E=Math.max(x-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(r(this._performZoom,this),E),Ln(l)},_performZoom:function(){var l=this._map,h=l.getZoom(),x=this._map.options.zoomSnap||0;l._stop();var E=this._delta/(this._map.options.wheelPxPerZoomLevel*4),k=4*Math.log(2/(1+Math.exp(-Math.abs(E))))/Math.LN2,N=x?Math.ceil(k/x)*x:k,te=l._limitZoom(h+(this._delta>0?N:-N))-h;this._delta=0,this._startTime=null,te&&(l.options.scrollWheelZoom==="center"?l.setZoom(h+te):l.setZoomAround(this._lastMousePos,h+te))}});Vi.addInitHook("addHandler","scrollWheelZoom",cs);var ns=600;Vi.mergeOptions({tapHold:De.touchNative&&De.safari&&De.mobile,tapTolerance:15});var qs=Oo.extend({addHooks:function(){_t(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Si(this._map._container,"touchstart",this._onDown,this)},_onDown:function(l){if(clearTimeout(this._holdTimeout),l.touches.length===1){var h=l.touches[0];this._startPos=this._newPos=new ve(h.clientX,h.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(_t(document,"touchend",Ji),_t(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",h))},this),ns),_t(document,"touchend touchcancel contextmenu",this._cancel,this),_t(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){Si(document,"touchend",Ji),Si(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),Si(document,"touchend touchcancel contextmenu",this._cancel,this),Si(document,"touchmove",this._onMove,this)},_onMove:function(l){var h=l.touches[0];this._newPos=new ve(h.clientX,h.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(l,h){var x=new MouseEvent(l,{bubbles:!0,cancelable:!0,view:window,screenX:h.screenX,screenY:h.screenY,clientX:h.clientX,clientY:h.clientY});x._simulated=!0,h.target.dispatchEvent(x)}});Vi.addInitHook("addHandler","tapHold",qs),Vi.mergeOptions({touchZoom:De.touch,bounceAtZoomLimits:!0});var Bn=Oo.extend({addHooks:function(){me(this._map._container,"leaflet-touch-zoom"),_t(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){Ie(this._map._container,"leaflet-touch-zoom"),Si(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(l){var h=this._map;if(!(!l.touches||l.touches.length!==2||h._animatingZoom||this._zooming)){var x=h.mouseEventToContainerPoint(l.touches[0]),E=h.mouseEventToContainerPoint(l.touches[1]);this._centerPoint=h.getSize()._divideBy(2),this._startLatLng=h.containerPointToLatLng(this._centerPoint),h.options.touchZoom!=="center"&&(this._pinchStartLatLng=h.containerPointToLatLng(x.add(E)._divideBy(2))),this._startDist=x.distanceTo(E),this._startZoom=h.getZoom(),this._moved=!1,this._zooming=!0,h._stop(),_t(document,"touchmove",this._onTouchMove,this),_t(document,"touchend touchcancel",this._onTouchEnd,this),Ji(l)}},_onTouchMove:function(l){if(!(!l.touches||l.touches.length!==2||!this._zooming)){var h=this._map,x=h.mouseEventToContainerPoint(l.touches[0]),E=h.mouseEventToContainerPoint(l.touches[1]),k=x.distanceTo(E)/this._startDist;if(this._zoom=h.getScaleZoom(k,this._startZoom),!h.options.bounceAtZoomLimits&&(this._zoom<h.getMinZoom()&&k<1||this._zoom>h.getMaxZoom()&&k>1)&&(this._zoom=h._limitZoom(this._zoom)),h.options.touchZoom==="center"){if(this._center=this._startLatLng,k===1)return}else{var N=x._add(E)._divideBy(2)._subtract(this._centerPoint);if(k===1&&N.x===0&&N.y===0)return;this._center=h.unproject(h.project(this._pinchStartLatLng,this._zoom).subtract(N),this._zoom)}this._moved||(h._moveStart(!0,!1),this._moved=!0),de(this._animRequest);var te=r(h._move,h,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=ie(te,this,!0),Ji(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,de(this._animRequest),Si(document,"touchmove",this._onTouchMove,this),Si(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});Vi.addInitHook("addHandler","touchZoom",Bn),Vi.BoxZoom=Ms,Vi.DoubleClickZoom=mo,Vi.Drag=Rs,Vi.Keyboard=Ds,Vi.ScrollWheelZoom=cs,Vi.TapHold=qs,Vi.TouchZoom=Bn,t.Bounds=ye,t.Browser=De,t.CRS=Pt,t.Canvas=cn,t.Circle=vf,t.CircleMarker=Ju,t.Class=oe,t.Control=Pn,t.DivIcon=q,t.DivOverlay=gr,t.DomEvent=ss,t.DomUtil=Nt,t.Draggable=Wr,t.Evented=Ne,t.FeatureGroup=zr,t.GeoJSON=fr,t.GridLayer=ft,t.Handler=Oo,t.Icon=zl,t.ImageOverlay=Qc,t.LatLng=St,t.LatLngBounds=Rt,t.Layer=Qo,t.LayerGroup=Qa,t.LineUtil=Kc,t.Map=Vi,t.Marker=Qu,t.Mixin=Lb,t.Path=pa,t.Point=ve,t.PolyUtil=Ib,t.Polygon=Ja,t.Polyline=hr,t.Popup=sh,t.PosAnimation=ps,t.Projection=Pb,t.Rectangle=pn,t.Renderer=Qi,t.SVG=yn,t.SVGOverlay=lx,t.TileLayer=$e,t.Tooltip=oh,t.Transformation=kt,t.Util=Ce,t.VideoOverlay=yf,t.bind=r,t.bounds=gt,t.canvas=Cn,t.circle=_f,t.circleMarker=ox,t.control=Vn,t.divIcon=he,t.extend=n,t.featureGroup=ix,t.geoJSON=Cf,t.geoJson=Mb,t.gridLayer=mt,t.icon=nx,t.imageOverlay=Ef,t.latLng=Ee,t.latLngBounds=nt,t.layerGroup=tx,t.map=Ys,t.marker=sx,t.point=We,t.polygon=rx,t.polyline=Tb,t.popup=Ob,t.rectangle=Hn,t.setOptions=y,t.stamp=d,t.svg=ls,t.svgOverlay=Nb,t.tileLayer=Ut,t.tooltip=Hb,t.transformation=ci,t.version=i,t.videoOverlay=Rb;var hs=window.L;t.noConflict=function(){return window.L=hs,this},window.L=t}))})(Qf,Qf.exports)),Qf.exports}var lZ=aZ();const Tf=cS(lZ),cZ="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=",dZ="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABSCAMAAAAhFXfZAAAC91BMVEVMaXEzeak2f7I4g7g3g7cua5gzeKg8hJo3grY4g7c3grU0gLI2frE0daAubJc2gbQwd6QzeKk2gLMtd5sxdKIua5g1frA2f7IydaM0e6w2fq41fK01eqo3grgubJgta5cxdKI1f7AydaQydaMxc6EubJgvbJkwcZ4ubZkwcJwubZgubJcydqUydKIxapgubJctbJcubZcubJcvbJYubJcvbZkubJctbJctbZcubJg2f7AubJcrbZcubJcubJcua5g3grY0fq8ubJcubJdEkdEwhsw6i88vhswuhcsuhMtBjMgthMsrg8srgss6is8qgcs8i9A9iMYtg8spgcoogMo7hcMngMonf8olfso4gr8kfck5iM8jfMk4iM8he8k1fro7itAgesk2hs8eecgzfLcofssdeMg0hc4cd8g2hcsxeLQbdsgZdcgxeLImfcszhM0vda4xgckzhM4xg84wf8Yxgs4udKsvfcQucqhUndROmdM1fK0wcZ8vb5w0eqpQm9MzeKhXoNVcpdYydKNWn9VZotVKltJFjsIwcJ1Rms9OlslLmtH///8+kc9epdYzd6dbo9VHkMM2f7FHmNBClM8ydqVcpNY9hro3gLM9hLczealQmcw3fa46f7A8gLMxc6I3eagyc6FIldJMl9JSnNRSntNNl9JPnNJFi75UnM9ZodVKksg8kM45jc09e6ZHltFBk883gbRBh7pDk9EwcaBzn784g7dKkcY2i81Om9M7j85Llc81is09g7Q4grY/j9A0eqxKmdFFltBEjcXf6fFImdBCiLxJl9FGlNFBi78yiMxVndEvbpo6js74+vx+psPP3+o/ks5HkcpGmNCjwdZCkNDM3ehYoNJEls+lxNkxh8xHks0+jdC1zd5Lg6r+/v/H2ufz9/o3jM3t8/edvdM/k89Th61OiLBSjbZklbaTt9BfptdjmL1AicBHj8hGk9FAgK1dkLNTjLRekrdClc/k7fM0icy0y9tgp9c4jc2NtM9Dlc8zicxeXZn3AAAAQ3RSTlMAHDdTb4yPA+LtnEQmC4L2EmHqB7XA0d0sr478x4/Yd5i1zOfyPkf1sLVq4Nh3FvjxopQ2/STNuFzUwFIwxKaejILpIBEV9wAABhVJREFUeF6s1NdyFEcYBeBeoQIhRAkLlRDGrhIgY3BJL8CVeKzuyXFzzjkn5ZxzzuScg3PO8cKzu70JkO0LfxdTU//pM9vTu7Xgf6KqOVTb9X7toRrVEfBf1HTVjZccrT/2by1VV928Yty9ZbVuucdz90frG8DBjl9pVApbOstvmMuvVgaNXSfAAd6pGxpy6yxf5ph43pS/4f3uoaGm2rdu72S9xzOvMymkZFq/ptDrk90mhW7e4zl7HLzhxGWPR20xmSxJ/VqldG5m9XhaVOA1DadsNh3Pu5L2N6QtPO/32JpqQBVVk20oy/Pi2s23WEvyfHbe1thadVQttvm7Llf65gGmXK67XtupyoM7HQhmXdLS8oGWJNeOJ3C5fG5XCEJnkez3/oFdsvgJ4l2ANZwhrJKk/7OSXa+3Vw2WJMlKnGkobouYk6T0TyX30klOUnTD9HJ5qpckL3EW/w4XF3Xd0FGywXUrstrclVsqz5Pd/sXFYyDnPdrLcQODmGOK47IZb4CmibmMn+MYRzFZ5jg33ZL/EJrWcszHmANy3ARBK/IXtciJy8VsitPSdE3uuHxzougojcUdr8/32atnz/ev3f/K5wtpxUTpcaI45zusVDpYtZi+jg0oU9b3x74h7+n9ABvYEZeKaVq0sh0AtLKsFtqNBdeT0MrSzwwlq9+x6xAO4tgOtSzbCjrNQQiNvQUbUEubvzBUeGw26yDCsRHCoLkTHDa7IdOLIThs/gHvChszh2CimE8peRs47cxANI0lYNB5y1DljpOF0IhzBDPOZnDOqYYbeGKECbPzWnXludPphw5c2YBq5zlwXphIbO4VDCZ0gnPfUO1TwZoYwAs2ExPCedAu9DAjfQUjzITQb3jNj0KG2Sgt6BHaQUdYzWz+XmBktOHwanXjaSTcwwziBcuMOtwBmqPrTOxFQR/DRKKPqyur0aiW6cULYsx6tBm0jXpR/AUWR6HRq9WVW6MRhIq5jLyjbaCTDCijyYJNpCajdyobP/eTw0iexBAKkJ3gA5KcQb2zBXsIBckn+xVv8jkZSaEFHE+jFEleAEfayRU0MouNoBmB/L50Ai/HSLIHxcrpCvnhSQAuakKp2C/YbCylJjXRVy/z3+Kv/RrNcCo+WUzlVEhzKffnTQnxeN9fWF88fiNCUdSTsaufaChKWInHeysygfpIqagoakW+vV20J8uyl6TyNKEZWV4oRSPyCkWpgOLSbkCObT8o2r6tlG58HQquf6O0v50tB7JM7F4EORd2dx/K0w/KHsVkLPaoYrwgP/y7krr3SSMA4zj+OBgmjYkxcdIJQyQRKgg2viX9Hddi9UBb29LrKR7CVVEEEXWojUkXNyfTNDE14W9gbHJNuhjDettN3ZvbOvdOqCD3Jp/9l+/wJE+9PkYGjx/fqkys3S2rMozM/o2106rfMUINo6hVqz+eu/hd1c4xTg0TAfy5kV+4UG6+IthHTU9woWmxuKNbTfuCSfovBCxq7EtHqvYL4Sm6F8GVxsSXHMQ07TOi1DKtZxjWaaIyi4CXWjxPccUw8WVbMYY5wxC1mzEyXMJWkllpRloi+Kkoq69sxBTlElF6aAxYUbjXNlhlDZilDnM4U5SlN5biRsRHnbx3mbeWjEh4mEyiuJDl5XcWVmX5GvNkFgLWZM5qwsop4/AWfLhU1cR7k1VVvcYCWRkOI6Xy5gmnphCYIkvzuNYzHzosq2oNk2RtSs8khfUOfHIDgR6ysYBaMpl4uEgk2U/oJTs9AaTSwma7dT69geAE2ZpEjUsn2ieJNHeKfrI3EcAGJ2ZaNgVuC8EBctCLc57P5u5led6IOBkIYkuQMrmmjChs4VkfOerHqSBkPzZlhe06RslZ3zMjk2sscqKwY0RcjKK+LWbzd7KiHhkncs/siFJ+V5eXxD34B8nVuJEpGJNmxN2gH3vSvp7J70tF+D1Ej8qUJD1TkErAND2GZwTFg/LubvmgiBG3SOvdlsqFQrkEzJCL1rstlnVFROixZoDDSuXQFHESwVGlcuQcMb/b42NgjLowh5MTDFE3vNB5qStRIErdCQEh6pLPR92anSUb/wAIhldAaDMpGgAAAABJRU5ErkJggg==",uZ="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",jn=(o,e=tb)=>{var t=hZ(),i=v(_(t),2),n=_(i);j(()=>O(n,e())),D(o,t)};var hZ=B('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),fZ=B("<button> </button>"),gZ=B('<span class="err svelte-767znw"> </span>'),pZ=B('<span class="ok svelte-767znw"> </span>'),xZ=B('<div class="loading svelte-767znw">Loading…</div>'),mZ=B('<section id="sec-appearance" class="svelte-767znw"><h3 class="svelte-767znw">Appearance</h3> <div class="field svelte-767znw"><label for="theme-select" class="svelte-767znw">Color theme</label> <select id="theme-select" class="svelte-767znw"><option>Dark</option><option>Light</option><option>System (OS preference)</option></select></div></section>'),vZ=B('<div class="field svelte-767znw"><label class="svelte-767znw">CA certificate <!></label> <textarea rows="4" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" spellcheck="false" class="svelte-767znw"></textarea></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client certificate <!></label> <textarea rows="4" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" spellcheck="false" class="svelte-767znw"></textarea></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client private key <!></label> <textarea rows="4" placeholder="-----BEGIN PRIVATE KEY----- … -----END PRIVATE KEY-----" spellcheck="false" class="svelte-767znw"></textarea></div>',1),_Z=B('<section id="sec-mqtt" class="svelte-767znw"><h3 class="svelte-767znw">MQTT</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Protocol <!></label> <select class="svelte-767znw"><option>mqtt (plain TCP)</option><option>mqtts (TLS)</option><option>ws (WebSocket)</option><option>wss (WebSocket + TLS)</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Broker address <!></label> <input type="text" placeholder="localhost:1883" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Username <!></label> <input type="text" placeholder="(optional)" autocomplete="off" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Password <!></label> <input type="password" placeholder="(optional)" autocomplete="new-password" class="svelte-767znw"/></div> <!> <div class="field svelte-767znw"><label class="svelte-767znw">MQTT protocol version <!></label> <select class="svelte-767znw"><option>3.1.1 (default)</option><option>5.0</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client name <!></label> <input type="text" placeholder="she" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Variable prefix <!></label> <input type="text" placeholder="var" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Disable variable system <!></label></div></section>'),bZ=B('<div class="field svelte-767znw"><label class="svelte-767znw"> <!></label> <input type="password" placeholder="Enter new password" autocomplete="new-password" class="svelte-767znw"/></div>'),CZ=B('<div class="field svelte-767znw"><label class="svelte-767znw">Proxy user header <!></label> <input type="text" placeholder="X-Remote-User" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Logout URL <!></label> <input type="text" placeholder="https://auth.example.com/…/end-session/" class="svelte-767znw"/></div>',1),EZ=B('<div class="field-error svelte-767znw"> </div>'),yZ=B('<div class="field-ok svelte-767znw"> </div>'),wZ=B('<section id="sec-auth" class="svelte-767znw"><h3 class="svelte-767znw">Authentication</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Mode <!></label> <select class="svelte-767znw"><option>None (open)</option><option>Password</option><option>Proxy header (nginx / authentik)</option></select></div> <!> <!> <!> <!> <div class="field svelte-767znw"><span></span> <button class="save-auth-btn svelte-767znw"> </button></div></section>'),SZ=B('<section id="sec-webserver" class="svelte-767znw"><h3 class="svelte-767znw">Web server</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Port <!></label> <input type="number" min="0" max="65535" placeholder="8080" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Bind address <!></label> <input type="text" placeholder="0.0.0.0 (default)" class="svelte-767znw"/></div></section>'),DZ=B('<section id="sec-scripts" class="svelte-767znw"><h3 class="svelte-767znw">Scripts</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Scripts directory <!></label> <input type="text" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Disable file watching <!></label></div></section>'),AZ=B('<section id="sec-git" class="svelte-767znw"><h3 class="svelte-767znw">Git</h3> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-commit on save <!></label></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-push after commit <!></label></div></section>'),TA=B("<option> </option>"),kZ=B('<div class="field svelte-767znw"><div class="map-label svelte-767znw">Map <span class="map-note svelte-767znw">(click or drag marker to set location — requires internet for tiles)</span></div> <div class="map-container svelte-767znw"></div></div>'),BZ=B('<section id="sec-solar" class="svelte-767znw"><h3 class="svelte-767znw">Location</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Timezone <!></label> <input type="text" list="tz-list" placeholder="(system default)" autocomplete="off" spellcheck="false" class="svelte-767znw"/> <datalist id="tz-list"></datalist></div> <div class="field svelte-767znw"><label class="svelte-767znw">Latitude <!></label> <input type="number" step="0.0001" placeholder="48.7408" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Longitude <!></label> <input type="number" step="0.0001" placeholder="9.1778" class="svelte-767znw"/></div> <div class="field geo-actions svelte-767znw"><span></span> <div class="geo-btns svelte-767znw"><button class="geo-btn svelte-767znw"><!></button> <button class="geo-btn svelte-767znw"> </button></div></div> <!></section>'),FZ=B('<section id="sec-logging" class="svelte-767znw"><h3 class="svelte-767znw">Logging</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Verbosity <!></label> <select class="svelte-767znw"><option>debug</option><option>info</option><option>warn</option><option>error</option></select></div></section>'),LZ=B('<div class="field field--check svelte-767znw"><span></span> <label><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Retain document messages <!></label></div>'),IZ=B('<section id="sec-shedb" class="svelte-767znw"><h3 class="svelte-767znw">sheDB</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Database path <!></label> <input type="text" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">MQTT topic prefix <!></label> <input type="text" placeholder="she/db/ (default)" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Publish documents to MQTT <!></label></div> <!></section>'),PZ=B('<section id="sec-redis" class="svelte-767znw"><h3 class="svelte-767znw">Redis</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Redis URL <!></label> <input type="text" placeholder="leave empty to disable" class="svelte-767znw"/></div></section>'),TZ=B('<span class="free-badge svelte-767znw">FREE</span> ',1),MZ=B('&nbsp;— <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),RZ=B("<div><!> <!></div>"),NZ=B('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),OZ=B('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),HZ=B('<section id="sec-ai" class="svelte-767znw"><h3 class="svelte-767znw">AI Assistant</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Provider <!></label> <select class="svelte-767znw"></select></div> <!> <!> <div class="field svelte-767znw"><label class="svelte-767znw">Model <!></label> <input type="text" class="svelte-767znw"/></div> <!></section>'),WZ=B('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),zZ=B('<!> <div class="config-root svelte-767znw"><aside class="config-sidebar svelte-767znw"><div class="sidebar-search svelte-767znw"><svg class="search-icon svelte-767znw" width="13" height="13" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><circle cx="6.5" cy="6.5" r="4.5"></circle><line x1="10" y1="10" x2="14" y2="14"></line></svg> <input class="search-input svelte-767znw" type="search" placeholder="Filter settings…" autocomplete="off" spellcheck="false"/></div> <nav class="section-nav svelte-767znw"></nav></aside> <div class="config-main svelte-767znw"><div class="config-topbar svelte-767znw"><span class="topbar-title svelte-767znw">Settings</span> <!> <!> <button class="save-btn svelte-767znw"> </button></div> <!></div></div>',1);function VZ(o,e){Vs(e,!0),delete Tf.Icon.Default.prototype._getIconUrl,Tf.Icon.Default.mergeOptions({iconUrl:cZ,iconRetinaUrl:dZ,shadowUrl:uZ});let t=F(yi(sZ())),i=F("~/.she"),n=F("mqtt"),s=F(""),r=F(""),a=F(""),d=F(""),u=F(""),f=F(""),g=F("logic"),p=F("var"),C=F(""),b=F(!1),y=F(8080),w=F(""),A=F("none"),P=F(""),M=F("X-Remote-User"),R=F(""),T=F(!1),V=F(""),H=F(""),J=F(""),se=F(!1),ue=F(!1),ie=F(!1),de=F(""),Ce=F(48.7408),oe=F(9.1778),fe=F(!1),Be=F(void 0),Ne=F(!1),ve=F(null),rt=F("info"),We=F(""),ye=F(""),gt=F(!1),Rt=F(!1),nt=F("");const St=[{id:"ollama",label:"Ollama (local)",provider:"ollama",baseUrl:"",defaultModel:"",freeNote:"",apiKeyUrl:""},{id:"lmstudio",label:"LM Studio (local)",provider:"openai",baseUrl:"http://localhost:1234",defaultModel:"",freeNote:"",apiKeyUrl:""},{id:"groq",label:"Groq — Qwen 2.5 Coder 32B (free)",provider:"openai",baseUrl:"https://api.groq.com/openai/v1",defaultModel:"qwen-2.5-coder-32b",freeNote:"14 400 req/day · no credit card needed",apiKeyUrl:"https://console.groq.com/keys"},{id:"gemini",label:"Google Gemini 2.0 Flash (free)",provider:"openai",baseUrl:"https://generativelanguage.googleapis.com/v1beta/openai",defaultModel:"gemini-2.0-flash",freeNote:"15 RPM · 1 000 000 tokens/day · no credit card",apiKeyUrl:"https://aistudio.google.com/apikey"},{id:"openai",label:"OpenAI (paid)",provider:"openai",baseUrl:"",defaultModel:"gpt-4o-mini",freeNote:"",apiKeyUrl:"https://platform.openai.com/api-keys"},{id:"anthropic",label:"Anthropic (paid)",provider:"anthropic",baseUrl:"",defaultModel:"claude-3-5-haiku-20241022",freeNote:"",apiKeyUrl:"https://console.anthropic.com/settings/keys"}];let Ee=F("ollama"),Pt=F("ollama"),pt=F(""),ut=F(""),Ye=F("");const kt={};let ci="ollama";function Ci(ne,Se){return ne==="anthropic"?"anthropic":ne==="ollama"?"ollama":Se?Se.includes("localhost:1234")?"lmstudio":Se.includes("groq.com")?"groq":Se.includes("googleapis.com")?"gemini":"openai":"openai"}function Ai(){kt[ci]={baseUrl:c(pt),model:c(ut),apiKey:c(Ye)};const ne=St.find(Me=>Me.id===c(Ee));if(!ne)return;m(Pt,ne.provider,!0);const Se=kt[c(Ee)];m(pt,(Se==null?void 0:Se.baseUrl)??ne.baseUrl,!0),m(ut,(Se==null?void 0:Se.model)??ne.defaultModel,!0),m(Ye,(Se==null?void 0:Se.apiKey)??"",!0),ci=c(Ee)}const si=Lt(()=>St.find(ne=>ne.id===c(Ee)));let Vt=F(yi({}));const et=new Set(["url","name","variablePrefix","disableVariables","mqttUsername","mqttPassword","mqttCa","mqttCert","mqttKey","mqttVersion","port","bindAddress","auth","password","proxyHeader","proxyLogoutUrl","dir","disableWatch","gitAutoCommit","gitAutoPush","latitude","longitude","timezone","verbosity","dbPath","dbPrefix","dbPublish","dbRetain","redis","ai"]);$n(()=>{if(!c(Be))return;const ne=typeof c(Ce)=="number"?c(Ce):48.7408,Se=typeof c(oe)=="number"?c(oe):9.1778,Me=Tf.map(c(Be)).setView([ne,Se],10);Tf.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(Me);const Y=Tf.marker([ne,Se],{draggable:!0}).addTo(Me);m(ve,Y,!0);const He=je=>{m(Ce,+je.lat.toFixed(6)),m(oe,+je.lng.toFixed(6))};return Y.on("dragend",()=>He(Y.getLatLng())),Me.on("click",je=>{Y.setLatLng(je.latlng),He(je.latlng)}),()=>{m(ve,null),Me.remove()}}),$n(()=>{!c(ve)||c(Ce)===""||c(oe)===""||c(ve).setLatLng([Number(c(Ce)),Number(c(oe))])});let Oe;function ti(){if(!navigator.geolocation){Oe.show("Geolocation is not supported by this browser.",{alert:!0});return}m(Ne,!0),navigator.geolocation.getCurrentPosition(ne=>{m(Ce,+ne.coords.latitude.toFixed(6)),m(oe,+ne.coords.longitude.toFixed(6)),m(Ne,!1)},()=>{m(Ne,!1)})}let Li=F(!0),hi=F(!1),Ui=F(""),Wi=F(""),ki=F(""),dn=F("appearance");const ln=[{id:"appearance",label:"Appearance",terms:["theme","color","dark","light"]},{id:"auth",label:"Authentication",terms:["auth","password","login","proxy","header","nginx","authentik","secure"]},{id:"mqtt",label:"MQTT",terms:["broker","url","client","name","variable","prefix","protocol","version","mqtt5"]},{id:"webserver",label:"Web server",terms:["port","http","server","bind","address"]},{id:"scripts",label:"Scripts",terms:["directory","watch","hot reload","dir"]},{id:"git",label:"Git",terms:["git","auto commit","auto push","commit","push","repository"]},{id:"solar",label:"Location",terms:["latitude","longitude","sunrise","sunset","geo","timezone","time zone","iana","schedule"]},{id:"logging",label:"Logging",terms:["verbosity","debug","info","warn","error"]},{id:"shedb",label:"sheDB",terms:["database","db","path","retain"]},{id:"redis",label:"Redis",terms:["redis","cache"]},{id:"ai",label:"AI Assistant",terms:["llm","ollama","openai","anthropic","model","provider","base url"]}];let Gi=Lt(()=>ln.filter(ne=>{const Se=c(ki).trim().toLowerCase();return!Se||ne.label.toLowerCase().includes(Se)||ne.terms.some(Me=>Me.includes(Se))}));function bn(ne){var Se;m(dn,ne,!0),(Se=document.getElementById("sec-"+ne))==null||Se.scrollIntoView({behavior:"smooth",block:"start"})}Ks(async()=>{try{const ne=await Xf();ne.dataDir&&m(i,ne.dataDir,!0)}catch{}try{const ne=await Il();if(typeof ne.url=="string"&&ne.url)try{const Y=new URL(ne.url);m(n,Y.protocol.replace(":",""),!0),m(s,Y.host,!0)}catch{m(s,ne.url,!0)}typeof ne.mqttUsername=="string"&&m(r,ne.mqttUsername,!0),typeof ne.mqttPassword=="string"&&m(a,ne.mqttPassword,!0),typeof ne.mqttCa=="string"&&m(d,ne.mqttCa,!0),typeof ne.mqttCert=="string"&&m(u,ne.mqttCert,!0),typeof ne.mqttKey=="string"&&m(f,ne.mqttKey,!0),typeof ne.mqttVersion=="string"&&m(C,ne.mqttVersion,!0),typeof ne.name=="string"&&m(g,ne.name,!0),typeof ne.variablePrefix=="string"&&m(p,ne.variablePrefix,!0),typeof ne.disableVariables=="boolean"&&m(b,ne.disableVariables,!0),typeof ne.port=="number"&&m(y,ne.port,!0),typeof ne.bindAddress=="string"&&m(w,ne.bindAddress,!0),typeof ne.auth=="string"&&m(A,ne.auth,!0),typeof ne.proxyHeader=="string"&&m(M,ne.proxyHeader,!0),typeof ne.proxyLogoutUrl=="string"&&m(R,ne.proxyLogoutUrl,!0),typeof ne.dir=="string"&&m(J,ne.dir,!0),typeof ne.disableWatch=="boolean"&&m(se,ne.disableWatch,!0),typeof ne.gitAutoCommit=="boolean"&&m(ue,ne.gitAutoCommit,!0),typeof ne.gitAutoPush=="boolean"&&m(ie,ne.gitAutoPush,!0),typeof ne.latitude=="number"&&m(Ce,ne.latitude,!0),typeof ne.longitude=="number"&&m(oe,ne.longitude,!0),typeof ne.timezone=="string"&&m(de,ne.timezone,!0),typeof ne.verbosity=="string"&&m(rt,ne.verbosity,!0),typeof ne.dbPath=="string"&&m(We,ne.dbPath,!0),typeof ne.dbPrefix=="string"&&m(ye,ne.dbPrefix,!0),typeof ne.dbPublish=="boolean"&&m(gt,ne.dbPublish,!0),typeof ne.dbRetain=="boolean"&&m(Rt,ne.dbRetain,!0);const Se=ne.redis;Se!=null&&Se.url&&m(nt,Se.url,!0);const Me=ne.ai;Me!=null&&Me.provider&&m(Pt,Me.provider,!0),Me!=null&&Me.baseUrl&&m(pt,Me.baseUrl,!0),Me!=null&&Me.model&&m(ut,Me.model,!0),Me!=null&&Me.apiKey&&m(Ye,Me.apiKey,!0),m(Ee,Ci(c(Pt),c(pt)),!0),ci=c(Ee),m(Vt,Object.fromEntries(Object.entries(ne).filter(([Y])=>!et.has(Y))),!0)}catch(ne){m(Wi,ne.message,!0)}finally{m(Li,!1)}});async function vt(){if(m(H,""),m(V,""),c(A)==="password"&&!c(P)){m(H,"A password is required to enable password authentication.");return}m(T,!0);try{await T$(c(A),c(A)==="password"?c(P):void 0,c(A)==="proxy"?c(M):void 0,c(A)==="proxy"?c(R):void 0),m(P,""),m(V,"Authentication settings saved.")}catch(ne){m(H,ne.message,!0)}finally{m(T,!1)}}async function Gt(){m(Wi,""),m(Ui,"");const ne={...c(Vt)};c(s)&&(ne.url=`${c(n)}://${c(s)}`),ne.name=c(g),ne.variablePrefix=c(p),c(C)&&(ne.mqttVersion=c(C)),c(b)&&(ne.disableVariables=!0),c(r)&&(ne.mqttUsername=c(r)),c(a)&&(ne.mqttPassword=c(a)),c(d)&&(ne.mqttCa=c(d)),c(u)&&(ne.mqttCert=c(u)),c(f)&&(ne.mqttKey=c(f)),c(y)!==""&&(ne.port=Number(c(y))),c(w)&&(ne.bindAddress=c(w)),c(J)&&(ne.dir=c(J)),c(se)&&(ne.disableWatch=!0),c(ue)&&(ne.gitAutoCommit=!0),c(ie)&&(ne.gitAutoPush=!0),c(Ce)!==""&&(ne.latitude=Number(c(Ce))),c(oe)!==""&&(ne.longitude=Number(c(oe))),c(de)&&(ne.timezone=c(de)),ne.verbosity=c(rt),c(We)&&(ne.dbPath=c(We),c(ye)&&(ne.dbPrefix=c(ye)),c(gt)&&(ne.dbPublish=!0,c(Rt)&&(ne.dbRetain=!0))),c(nt)&&(ne.redis={url:c(nt)}),c(Pt)&&(ne.ai={provider:c(Pt),...c(pt)?{baseUrl:c(pt)}:{},...c(ut)?{model:c(ut)}:{},...c(Ye)?{apiKey:c(Ye)}:{}}),m(hi,!0);try{const Se=await ap(ne);window.dispatchEvent(new CustomEvent("she:config-changed")),m(Ui,Se.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(Se){m(Wi,Se.message,!0)}finally{m(hi,!1)}}var wi=zZ(),zi=yt(wi);us(qc(zi,{}),ne=>Oe=ne,()=>Oe);var Mi=v(zi,2),Ri=_(Mi),Oi=_(Ri),Xi=v(_(Oi),2),Ei=v(Oi,2);Zt(Ei,21,()=>ln,ne=>ne.id,(ne,Se)=>{var Me=Es(),Y=yt(Me);{var He=De=>{var At=fZ();let Ot;var ni=_(At);j(()=>{Ot=Dt(At,1,"section-link svelte-767znw",null,Ot,{active:c(dn)===c(Se).id}),O(ni,c(Se).label)}),$("click",At,()=>bn(c(Se).id)),D(De,At)},je=Lt(()=>c(Gi).some(De=>De.id===c(Se).id));z(Y,De=>{c(je)&&De(He)})}D(ne,Me)});var Qe=v(Ri,2),wt=_(Qe),Fi=v(_(wt),2);{var Bi=ne=>{var Se=gZ(),Me=_(Se);j(()=>O(Me,c(Wi))),D(ne,Se)};z(Fi,ne=>{c(Wi)&&ne(Bi)})}var pi=v(Fi,2);{var Ti=ne=>{var Se=pZ(),Me=_(Se);j(()=>O(Me,c(Ui))),D(ne,Se)};z(pi,ne=>{c(Ui)&&ne(Ti)})}var X=v(pi,2),Fe=_(X),Ke=v(wt,2);{var ot=ne=>{var Se=xZ();D(ne,Se)},$t=ne=>{var Se=WZ(),Me=_(Se);{var Y=ae=>{var xe=mZ(),Le=v(_(xe),2),me=v(_(Le),2),Ie=_(me);Ie.value=Ie.__value="dark";var lt=v(Ie);lt.value=lt.__value="light";var G=v(lt);G.value=G.__value="system",$("change",me,()=>oZ(c(t))),Bs(me,()=>c(t),re=>m(t,re)),D(ae,xe)},He=Lt(()=>c(Gi).some(ae=>ae.id==="appearance"));z(Me,ae=>{c(He)&&ae(Y)})}var je=v(Me,2);{var De=ae=>{var xe=_Z(),Le=v(_(xe),2),me=_(Le),Ie=v(_(me));jn(Ie,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var lt=v(me,2),G=_(lt);G.value=G.__value="mqtt";var re=v(G);re.value=re.__value="mqtts";var Pe=v(re);Pe.value=Pe.__value="ws";var it=v(Pe);it.value=it.__value="wss";var ge=v(Le,2),_e=_(ge),ct=v(_(_e));jn(ct,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var st=v(_e,2),Ae=v(ge,2),xt=_(Ae),Ge=v(_(xt));jn(Ge,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var Ve=v(xt,2),Je=v(Ae,2),Ct=_(Je),Ue=v(_(Ct));jn(Ue,()=>"MQTT broker password. Stored in plain text in config.json.");var Ft=v(Ct,2),Re=v(Je,2);{var at=kn=>{var ss=vZ(),ps=yt(ss),Vi=_(ps),Ys=v(_(Vi));jn(Ys,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var Pn=v(Vi,2),Vn=v(ps,2),Ts=_(Vn),dr=v(_(Ts));jn(dr,()=>"PEM-encoded client certificate for mutual TLS authentication.");var Or=v(Ts,2),Za=v(Vn,2),Xa=_(Za),ur=v(_(Xa));jn(ur,()=>"PEM-encoded private key matching the client certificate.");var ga=v(Xa,2);Ht(Pn,()=>c(d),Hr=>m(d,Hr)),Ht(Or,()=>c(u),Hr=>m(u,Hr)),Ht(ga,()=>c(f),Hr=>m(f,Hr)),D(kn,ss)};z(Re,kn=>{(c(n)==="mqtts"||c(n)==="wss")&&kn(at)})}var Bt=v(Re,2),Nt=_(Bt),_t=v(_(Nt));jn(_t,()=>"MQTT protocol version used when connecting to the broker. Choose 5 only if your broker supports MQTT 5.0. Default: 3.1.1 (mqtt.js default).");var vi=v(Nt,2),Si=_(vi);Si.value=Si.__value="";var qi=v(Si);qi.value=qi.__value="5";var Ii=v(Bt,2),Ki=_(Ii),Pi=v(_(Ki));jn(Pi,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var Jt=v(Ki,2),Qt=v(Ii,2),Yi=_(Qt),Ji=v(_(Yi));jn(Ji,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var Ln=v(Yi,2),Jn=v(Qt,2),Ss=v(_(Jn),2),as=_(Ss),Fs=v(as,4);jn(Fs,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),Bs(lt,()=>c(n),kn=>m(n,kn)),Ht(st,()=>c(s),kn=>m(s,kn)),Ht(Ve,()=>c(r),kn=>m(r,kn)),Ht(Ft,()=>c(a),kn=>m(a,kn)),Bs(vi,()=>c(C),kn=>m(C,kn)),Ht(Jt,()=>c(g),kn=>m(g,kn)),Ht(Ln,()=>c(p),kn=>m(p,kn)),Cs(as,()=>c(b),kn=>m(b,kn)),D(ae,xe)},At=Lt(()=>c(Gi).some(ae=>ae.id==="mqtt"));z(je,ae=>{c(At)&&ae(De)})}var Ot=v(je,2);{var ni=ae=>{var xe=wZ(),Le=v(_(xe),2),me=_(Le),Ie=v(_(me));jn(Ie,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var lt=v(me,2),G=_(lt);G.value=G.__value="none";var re=v(G);re.value=re.__value="password";var Pe=v(re);Pe.value=Pe.__value="proxy";var it=v(Le,2);{var ge=Ue=>{var Ft=bZ(),Re=_(Ft),at=_(Re),Bt=v(at);jn(Bt,()=>"Set a new password. Leave empty to keep the current password (if already set).");var Nt=v(Re,2);j(()=>O(at,`${c(P)?"New password":"Password"} `)),Ht(Nt,()=>c(P),_t=>m(P,_t)),D(Ue,Ft)};z(it,Ue=>{c(A)==="password"&&Ue(ge)})}var _e=v(it,2);{var ct=Ue=>{var Ft=CZ(),Re=yt(Ft),at=_(Re),Bt=v(_(at));jn(Bt,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var Nt=v(at,2),_t=v(Re,2),vi=_(_t),Si=v(_(vi));jn(Si,()=>"URL to redirect to when the user clicks Logout (e.g. https://auth.example.com/application/o/she/end-session/ for Authentik). Leave empty to do nothing on logout.");var qi=v(vi,2);Ht(Nt,()=>c(M),Ii=>m(M,Ii)),Ht(qi,()=>c(R),Ii=>m(R,Ii)),D(Ue,Ft)};z(_e,Ue=>{c(A)==="proxy"&&Ue(ct)})}var st=v(_e,2);{var Ae=Ue=>{var Ft=EZ(),Re=_(Ft);j(()=>O(Re,c(H))),D(Ue,Ft)};z(st,Ue=>{c(H)&&Ue(Ae)})}var xt=v(st,2);{var Ge=Ue=>{var Ft=yZ(),Re=_(Ft);j(()=>O(Re,c(V))),D(Ue,Ft)};z(xt,Ue=>{c(V)&&Ue(Ge)})}var Ve=v(xt,2),Je=v(_(Ve),2),Ct=_(Je);j(()=>{Je.disabled=c(T)||c(A)==="password"&&!c(P),O(Ct,c(T)?"Saving…":"Apply authentication settings")}),Bs(lt,()=>c(A),Ue=>m(A,Ue)),$("click",Je,vt),D(ae,xe)},ii=Lt(()=>c(Gi).some(ae=>ae.id==="auth"));z(Ot,ae=>{c(ii)&&ae(ni)})}var xi=v(Ot,2);{var jt=ae=>{var xe=SZ(),Le=v(_(xe),2),me=_(Le),Ie=v(_(me));jn(Ie,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var lt=v(me,2),G=v(Le,2),re=_(G),Pe=v(_(re));jn(Pe,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var it=v(re,2);Ht(lt,()=>c(y),ge=>m(y,ge)),Ht(it,()=>c(w),ge=>m(w,ge)),D(ae,xe)},mi=Lt(()=>c(Gi).some(ae=>ae.id==="webserver"));z(xi,ae=>{c(mi)&&ae(jt)})}var ze=v(xi,2);{var tt=ae=>{var xe=DZ(),Le=v(_(xe),2),me=_(Le),Ie=v(_(me));jn(Ie,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var lt=v(me,2),G=v(Le,2),re=v(_(G),2),Pe=_(re),it=v(Pe,4);jn(it,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),j(()=>rn(lt,"placeholder",`${c(i)??""}/scripts (default)`)),Ht(lt,()=>c(J),ge=>m(J,ge)),Cs(Pe,()=>c(se),ge=>m(se,ge)),D(ae,xe)},Yt=Lt(()=>c(Gi).some(ae=>ae.id==="scripts"));z(ze,ae=>{c(Yt)&&ae(tt)})}var qt=v(ze,2);{var fi=ae=>{var xe=AZ(),Le=v(_(xe),2),me=v(_(Le),2),Ie=_(me),lt=v(Ie,4);jn(lt,()=>"When enabled, saving or renaming/deleting a script automatically creates a git commit. Only effective when the scripts directory is inside a git repository.");var G=v(Le,2),re=v(_(G),2),Pe=_(re),it=v(Pe,4);jn(it,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),Cs(Ie,()=>c(ue),ge=>m(ue,ge)),Cs(Pe,()=>c(ie),ge=>m(ie,ge)),D(ae,xe)},Kt=Lt(()=>c(Gi).some(ae=>ae.id==="git"));z(qt,ae=>{c(Kt)&&ae(fi)})}var pe=v(qt,2);{var Ze=ae=>{var xe=BZ(),Le=v(_(xe),2),me=_(Le),Ie=v(_(me));jn(Ie,()=>"IANA timezone for cron scheduling (e.g. Europe/Berlin). Leave empty to use the system timezone. Requires daemon restart.");var lt=v(me,2),G=v(lt,2);Zt(G,20,()=>{var Nt;return((Nt=Intl.supportedValuesOf)==null?void 0:Nt.call(Intl,"timeZone"))??[]},Ni,(Nt,_t)=>{var vi=TA(),Si=_(vi),qi={};j(()=>{O(Si,_t),qi!==(qi=_t)&&(vi.value=(vi.__value=_t)??"")}),D(Nt,vi)});var re=v(Le,2),Pe=_(re),it=v(_(Pe));jn(it,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var ge=v(Pe,2),_e=v(re,2),ct=_(_e),st=v(_(ct));jn(st,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Ae=v(ct,2),xt=v(_e,2),Ge=v(_(xt),2),Ve=_(Ge),Je=_(Ve);{var Ct=Nt=>{var _t=_o("…");D(Nt,_t)},Ue=Nt=>{var _t=_o("📍 Use my location");D(Nt,_t)};z(Je,Nt=>{c(Ne)?Nt(Ct):Nt(Ue,-1)})}var Ft=v(Ve,2),Re=_(Ft),at=v(xt,2);{var Bt=Nt=>{var _t=kZ(),vi=v(_(_t),2);us(vi,Si=>m(Be,Si),()=>c(Be)),D(Nt,_t)};z(at,Nt=>{c(fe)&&Nt(Bt)})}j(()=>{Ve.disabled=c(Ne),O(Re,c(fe)?"Hide map":"Pick on map")}),Ht(lt,()=>c(de),Nt=>m(de,Nt)),Ht(ge,()=>c(Ce),Nt=>m(Ce,Nt)),Ht(Ae,()=>c(oe),Nt=>m(oe,Nt)),$("click",Ve,ti),$("click",Ft,()=>m(fe,!c(fe))),D(ae,xe)},dt=Lt(()=>c(Gi).some(ae=>ae.id==="solar"));z(pe,ae=>{c(dt)&&ae(Ze)})}var ht=v(pe,2);{var Wt=ae=>{var xe=FZ(),Le=v(_(xe),2),me=_(Le),Ie=v(_(me));jn(Ie,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var lt=v(me,2),G=_(lt);G.value=G.__value="debug";var re=v(G);re.value=re.__value="info";var Pe=v(re);Pe.value=Pe.__value="warn";var it=v(Pe);it.value=it.__value="error",Bs(lt,()=>c(rt),ge=>m(rt,ge)),D(ae,xe)},Tt=Lt(()=>c(Gi).some(ae=>ae.id==="logging"));z(ht,ae=>{c(Tt)&&ae(Wt)})}var di=v(ht,2);{var I=ae=>{var xe=IZ(),Le=v(_(xe),2),me=_(Le),Ie=v(_(me));jn(Ie,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var lt=v(me,2),G=v(Le,2),re=_(G),Pe=v(_(re));jn(Pe,()=>"Prefix for all sheDB MQTT topics. Defaults to she/db/ — documents publish to {prefix}doc/{id}, views to {prefix}view/{id}, commands use {prefix}set/{id} etc.");var it=v(re,2),ge=v(G,2),_e=v(_(ge),2);let ct;var st=_(_e),Ae=v(st,4);jn(Ae,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var xt=v(ge,2);{var Ge=Ve=>{var Je=LZ(),Ct=v(_(Je),2);let Ue;var Ft=_(Ct),Re=v(Ft,4);jn(Re,()=>"When enabled, MQTT messages for document changes are published as retained messages."),j(()=>{Ue=Dt(Ct,1,"check-label svelte-767znw",null,Ue,{muted:!c(We)}),Ft.disabled=!c(We)}),Cs(Ft,()=>c(Rt),at=>m(Rt,at)),D(Ve,Je)};z(xt,Ve=>{c(gt)&&Ve(Ge)})}j(()=>{rn(lt,"placeholder",`defaults to ${c(i)??""}/db`),it.disabled=!c(We),ct=Dt(_e,1,"check-label svelte-767znw",null,ct,{muted:!c(We)}),st.disabled=!c(We)}),Ht(lt,()=>c(We),Ve=>m(We,Ve)),Ht(it,()=>c(ye),Ve=>m(ye,Ve)),Cs(st,()=>c(gt),Ve=>m(gt,Ve)),D(ae,xe)},W=Lt(()=>c(Gi).some(ae=>ae.id==="shedb"));z(di,ae=>{c(W)&&ae(I)})}var K=v(di,2);{var le=ae=>{var xe=PZ(),Le=v(_(xe),2),me=_(Le),Ie=v(_(me));jn(Ie,()=>"redis:// URL for the optional Redis write-through cache. All state store changes are written to the she:state hash. Leave empty to disable.");var lt=v(me,2);Ht(lt,()=>c(nt),G=>m(nt,G)),D(ae,xe)},Z=Lt(()=>c(Gi).some(ae=>ae.id==="redis"));z(K,ae=>{c(Z)&&ae(le)})}var Q=v(K,2);{var ce=ae=>{var xe=HZ(),Le=v(_(xe),2),me=_(Le),Ie=v(_(me));jn(Ie,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var lt=v(me,2);Zt(lt,21,()=>St,Ni,(Ge,Ve)=>{var Je=TA(),Ct=_(Je),Ue={};j(()=>{O(Ct,c(Ve).label),Ue!==(Ue=c(Ve).id)&&(Je.value=(Je.__value=c(Ve).id)??"")}),D(Ge,Je)});var G=v(Le,2);{var re=Ge=>{var Ve=RZ();let Je;var Ct=_(Ve);{var Ue=at=>{var Bt=TZ(),Nt=v(yt(Bt));j(()=>O(Nt,` ${c(si).freeNote??""}`)),D(at,Bt)};z(Ct,at=>{c(si).freeNote&&at(Ue)})}var Ft=v(Ct,2);{var Re=at=>{var Bt=MZ(),Nt=v(yt(Bt));j(()=>rn(Nt,"href",c(si).apiKeyUrl)),D(at,Bt)};z(Ft,at=>{c(si).apiKeyUrl&&at(Re)})}j(()=>Je=Dt(Ve,1,"preset-note svelte-767znw",null,Je,{free:!!c(si).freeNote})),D(Ge,Ve)};z(G,Ge=>{var Ve,Je;((Ve=c(si))!=null&&Ve.freeNote||(Je=c(si))!=null&&Je.apiKeyUrl)&&Ge(re)})}var Pe=v(G,2);{var it=Ge=>{var Ve=NZ(),Je=_(Ve),Ct=v(_(Je));jn(Ct,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var Ue=v(Je,2);j(()=>{var Ft;return rn(Ue,"placeholder",c(Ee)==="ollama"?"http://localhost:11434":c(Ee)==="lmstudio"?"http://localhost:1234":((Ft=c(si))==null?void 0:Ft.baseUrl)??"")}),Ht(Ue,()=>c(pt),Ft=>m(pt,Ft)),D(Ge,Ve)};z(Pe,Ge=>{c(Ee)!=="anthropic"&&Ge(it)})}var ge=v(Pe,2),_e=_(ge),ct=v(_(_e));jn(ct,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var st=v(_e,2),Ae=v(ge,2);{var xt=Ge=>{var Ve=OZ(),Je=_(Ve),Ct=v(_(Je));jn(Ct,()=>"Stored in config.json. Not needed for local providers.");var Ue=v(Je,2);Ht(Ue,()=>c(Ye),Ft=>m(Ye,Ft)),D(Ge,Ve)};z(Ae,Ge=>{c(Ee)!=="ollama"&&c(Ee)!=="lmstudio"&&Ge(xt)})}j(()=>{var Ge;return rn(st,"placeholder",((Ge=c(si))==null?void 0:Ge.defaultModel)||"e.g. llama3.2")}),$("change",lt,Ai),Bs(lt,()=>c(Ee),Ge=>m(Ee,Ge)),Ht(st,()=>c(ut),Ge=>m(ut,Ge)),D(ae,xe)},Xe=Lt(()=>c(Gi).some(ae=>ae.id==="ai"));z(Q,ae=>{c(Xe)&&ae(ce)})}D(ne,Se)};z(Ke,ne=>{c(Li)?ne(ot):ne($t,-1)})}j(()=>{X.disabled=c(hi),O(Fe,c(hi)?"Saving…":"Save")}),Ht(Xi,()=>c(ki),ne=>m(ki,ne)),$("click",X,Gt),D(o,wi),js()}Zs(["click","change"]);var jZ=B("<option> </option>"),$Z=B('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),UZ=B('<div class="page svelte-18loop9"><div class="toolbar svelte-18loop9"><h2 class="svelte-18loop9">Logs</h2> <select class="svelte-18loop9"></select> <input class="filter-in svelte-18loop9" type="search" placeholder="Filter messages…"/> <label class="check-label svelte-18loop9" title="Interpret filter as a regular expression"><input type="checkbox" class="svelte-18loop9"/> <span class="checkmark svelte-18loop9"></span> Regex</label> <label class="check-label svelte-18loop9"><input type="checkbox" class="svelte-18loop9"/> <span class="checkmark svelte-18loop9"></span> Auto-scroll</label> <button class="svelte-18loop9">Clear</button></div> <div class="log svelte-18loop9"></div></div>');function qZ(o,e){Vs(e,!0);let t=F(yi(yF())),i,n=F(!0),s=F("all"),r=F(""),a=F(!1);const d=["all","debug","info","warn","error"],u={debug:0,info:1,warn:2,error:3};lS(H=>{m(t,[...c(t).slice(-1999),H],!0)}),Ks(()=>{i&&(i.scrollTop=i.scrollHeight)}),$n(()=>{c(t).length,c(n)&&i&&(i.scrollTop=i.scrollHeight)});function f(){m(t,[],!0)}function g(H){if(c(s)!=="all"&&u[H.level]<u[c(s)])return!1;if(!c(r))return!0;if(c(a))try{return new RegExp(c(r),"i").test(H.msg)}catch{}return H.msg.toLowerCase().includes(c(r).toLowerCase())}function p(H){return new Date(H).toLocaleTimeString()}var C=UZ(),b=_(C),y=v(_(b),2);Zt(y,21,()=>d,Ni,(H,J)=>{var se=jZ(),ue=_(se),ie={};j(()=>{O(ue,c(J)),ie!==(ie=c(J))&&(se.value=(se.__value=c(J))??"")}),D(H,se)});var w=v(y,2),A=v(w,2),P=_(A),M=v(A,2),R=_(M),T=v(M,2),V=v(b,2);Zt(V,21,()=>c(t).filter(g),H=>H.ts+H.msg,(H,J)=>{var se=$Z(),ue=_(se),ie=_(ue),de=v(ue,2),Ce=_(de),oe=v(de,2),fe=_(oe);j((Be,Ne)=>{Dt(se,1,`line ${c(J).level??""}`,"svelte-18loop9"),O(ie,Be),O(Ce,Ne),O(fe,c(J).msg)},[()=>p(c(J).ts),()=>c(J).level.toUpperCase()]),D(H,se)}),us(V,H=>i=H,()=>i),Bs(y,()=>c(s),H=>m(s,H)),Ht(w,()=>c(r),H=>m(r,H)),Cs(P,()=>c(a),H=>m(a,H)),Cs(R,()=>c(n),H=>m(n,H)),$("click",T,f),D(o,C),js()}Zs(["click"]);var GZ=B('<span class="chat-model svelte-1twuiul"><!></span>'),KZ=B('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),ZZ=B('<div class="unconfigured svelte-1twuiul">Configure an AI provider in the <strong class="svelte-1twuiul">Config</strong> tab to use the AI assistant.</div>'),XZ=B('Working on view <code class="svelte-1twuiul"> </code>',1),YZ=B('<button class="chip svelte-1twuiul"> </button>'),QZ=B('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),JZ=B('<div class="msg-content user-text svelte-1twuiul"> </div>'),MA=B('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),RA=B('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),NA=B('<div class="tool-events svelte-1twuiul"></div>'),OA=B('<div class="text-block svelte-1twuiul"></div>'),eX=B('<button class="expand-btn svelte-1twuiul"> </button>'),tX=B('<div class="code-block svelte-1twuiul"><div class="code-header svelte-1twuiul"><span class="code-lang svelte-1twuiul"> </span> <div class="code-actions svelte-1twuiul"><button class="svelte-1twuiul">Copy</button></div></div> <div><pre class="svelte-1twuiul"><code class="hljs svelte-1twuiul"></code></pre> <!></div></div>'),iX=B('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),nX=B('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),sX=B("<div><!></div>"),oX=B('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),rX=B('<div class="code-block svelte-1twuiul"><div class="code-header svelte-1twuiul"><span class="code-lang svelte-1twuiul"> </span></div> <pre class="svelte-1twuiul"><code class="hljs svelte-1twuiul"></code></pre></div>'),aX=B('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),lX=B('<div class="chat-error svelte-1twuiul"> </div>'),cX=B('<span><span class="badge badge-db svelte-1twuiul">db</span> <span class="chip-name svelte-1twuiul"> </span> <button class="chip-remove svelte-1twuiul"> </button></span>'),dX=B('<span class="file-chip svelte-1twuiul"><span> </span> <span class="chip-name svelte-1twuiul"> </span> <button class="chip-remove svelte-1twuiul" title="Remove from context">×</button></span>'),uX=B('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),hX=B('<button class="send-btn svelte-1twuiul">↑</button>'),fX=B('<option class="svelte-1twuiul"> </option>'),gX=B('<select class="model-select svelte-1twuiul"></select>'),pX=B('<span class="model-name svelte-1twuiul"> </span>'),xX=B('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),mX=B('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),vX=B('<p class="info-status svelte-1twuiul">Loading…</p>'),_X=B('<p class="info-status info-err svelte-1twuiul"> </p>'),bX=B('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),CX=B('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),EX=B('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),yX=B('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),wX=B('<div class="running-model svelte-1twuiul"> </div>'),SX=B('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),DX=B('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),AX=B('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),kX=B('<div class="info-overlay svelte-1twuiul"><div class="info-popup svelte-1twuiul"><div class="info-popup-header svelte-1twuiul"><span class="svelte-1twuiul"> </span> <button title="Close" class="svelte-1twuiul">✕</button></div> <div class="info-popup-body svelte-1twuiul"><!></div></div></div>'),BX=B('<div class="chat-panel svelte-1twuiul"><div class="chat-header svelte-1twuiul"><span class="chat-title svelte-1twuiul">AI — View assistant</span> <!> <!></div> <div class="messages svelte-1twuiul"><!> <!> <!> <!> <!></div> <!> <div class="context-row svelte-1twuiul"><label title="Include sheDB document IDs in context" class="svelte-1twuiul"><input type="checkbox" class="svelte-1twuiul"/><span class="checkmark svelte-1twuiul"></span> Doc IDs</label> <label title="Include sample document content in context (first 10 docs)" class="svelte-1twuiul"><input type="checkbox" class="svelte-1twuiul"/><span class="checkmark svelte-1twuiul"></span> Sample docs</label> <label title="Let the AI query sheDB documents on demand. Disables real-time streaming." class="svelte-1twuiul"><input type="checkbox" class="svelte-1twuiul"/><span class="checkmark svelte-1twuiul"></span> 😎 Agent</label> <span class="req-size svelte-1twuiul"> </span></div> <div class="files-row svelte-1twuiul"><!> <!> <button class="add-file-btn svelte-1twuiul" title="Attach file to context">+</button> <input type="file" multiple="" class="file-input-hidden svelte-1twuiul"/></div> <div><div><textarea rows="3" class="svelte-1twuiul"></textarea></div> <!></div> <!></div> <!>',1);function FX(o,e){Vs(e,!0),Rv.registerLanguage("javascript",kF),es.use({breaks:!0,gfm:!0});let t=wu(e,"currentView",3,null);const i="she:viewchat:messages";let n=F(yi(JSON.parse(localStorage.getItem(i)??"[]"))),s=F(null),r=F(""),a=F(!1),d=F(""),u=F(null),f=F(yi([])),g=F(yi(localStorage.getItem("she:selectedModel")??""));$n(()=>{localStorage.setItem(i,JSON.stringify(c(n)))});let p=F(yi(new Set)),C=F(!1),b=F(null),y=F(!1),w=F(""),A=null,P=F(0);const M=["[core] reticulating splines…","[io] calibrating the flux capacitor…","[net] pinging the oracle (no response)…","[gpu] overclocking the neurons…","[fs] loading sarcasm module v4.2…","[mem] defragmenting the embedding space…","[sched] running gradient descent into madness…","[net] synchronizing with the hive mind…","[model] tickling the transformer…","[io] consulting rubber duck debugger…"];let R=F(!0),T=F(!0),V=F(!0),H=F(yi([])),J=F(!0),se=F(!1),ue,ie=F(yi([])),de=F(0),Ce,oe;const fe=Lt(()=>({apiref:!1,shedb:c(R),sampleDocs:c(T),tools:c(V)})),Be=Lt(()=>{var I;return((I=c(u))==null?void 0:I.configured)??!1}),Ne=Lt(()=>c(de)+new TextEncoder().encode(c(r)).length),ve=Lt(()=>c(J)?t():null);async function rt(){try{const I=await xF();m(u,I,!0),I.configured&&!c(g)&&m(g,I.model,!0)}catch{}}$n(()=>(window.addEventListener("she:config-changed",rt),()=>window.removeEventListener("she:config-changed",rt))),Ks(()=>{rt()}),$n(()=>{c(g)&&localStorage.setItem("she:selectedModel",c(g))}),$n(()=>{var I;(I=c(u))!=null&&I.provider&&mF().then(W=>{m(f,W.models,!0),!c(g)&&W.models.length>0&&m(g,W.models[0],!0)}).catch(()=>{})}),$n(()=>{c(g),m(b,null),m(w,"")}),$n(()=>{const I=c(fe),W=c(ve),K=c(H);c(Be)&&vF({context:I,currentView:W??null,extraFiles:K.length>0?K:void 0}).then(le=>{m(de,new TextEncoder().encode(le.prompt).length,!0)}).catch(()=>{})}),$n(()=>{if(!c(a))return;m(P,Math.floor(Math.random()*M.length),!0);const I=setInterval(()=>{m(P,(c(P)+1)%M.length)},1e4);return()=>clearInterval(I)}),$n(()=>{var I;oe&&(c(n).length+(((I=c(s))==null?void 0:I.length)??0),requestAnimationFrame(()=>{oe&&(oe.scrollTop=oe.scrollHeight)}))});function We(I){const W=[],K=/```(\w*)\n([\s\S]*?)```/g;let le=0,Z;for(;(Z=K.exec(I))!==null;)Z.index>le&&W.push({type:"text",text:I.slice(le,Z.index)}),W.push({type:"code",lang:Z[1]||"text",text:Z[2].trimEnd()}),le=Z.index+Z[0].length;return le<I.length&&W.push({type:"text",text:I.slice(le)}),W}function ye(I){const W=[],K=/```(\w*)\n([\s\S]*?)```/g;let le=0,Z;for(;(Z=K.exec(I))!==null;)Z.index>le&&W.push({type:"text",text:I.slice(le,Z.index)}),W.push({type:"code",lang:Z[1]||"text",text:Z[2].trimEnd()}),le=Z.index+Z[0].length;const Q=I.slice(le),ce=Q.match(/```(\w*)\n([\s\S]*)$/);return ce?(ce.index>0&&W.push({type:"text",text:Q.slice(0,ce.index)}),W.push({type:"code",lang:ce[1]||"text",text:ce[2]})):Q&&W.push({type:"text",text:Q}),W}function gt(I){const W={};for(const K of I)if(K.type==="code"){if(K.lang==="filter")W.filter=K.text.trim();else if(Ye(K.lang)){const le=K.text.split(`
223
- `)[0].trim();le==="// @view-map"?W.map=K.text.split(`
224
- `).slice(1).join(`
225
- `).trim():le==="// @view-reduce"&&(W.reduce=K.text.split(`
226
- `).slice(1).join(`
227
- `).trim())}}return W}function Rt(I){return I.filter!==void 0||I.map!==void 0||I.reduce!==void 0}function nt(I){const W=[];return I.filter!==void 0&&W.push("filter"),I.map!==void 0&&W.push("map"),I.reduce!==void 0&&W.push("reduce"),`Apply ${W.join(" + ")}`}const St=15;function Ee(I){return I.split(`
228
- `).length>St}function Pt(I){const W=new Set(c(p));W.has(I)?W.delete(I):W.add(I),m(p,W,!0)}function pt(I,W){if(Ye(W))try{return Rv.highlight(I,{language:"javascript"}).value}catch{}return I.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function ut(I){return es.parse(I)}function Ye(I){return!I||I==="js"||I==="javascript"}function kt(I){navigator.clipboard.writeText(I).catch(()=>{})}async function ci(){if(m(C,!0),!(c(b)||c(y))){m(y,!0),m(w,"");try{m(b,await fw(c(g)||c(u).model),!0)}catch(I){m(w,I.message,!0)}m(y,!1)}}function Ci(I){return I>=1e9?`${(I/1e9).toFixed(1)} GB`:I>=1e6?`${(I/1e6).toFixed(0)} MB`:`${I} B`}function Ai(I){const W=I.match(/\.([^.]+)$/);return W?W[1].toUpperCase():"?"}function si(I){switch(I){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return I}}function Vt(I){m(H,c(H).filter((W,K)=>K!==I),!0)}function et(){ue.click()}async function Oe(I){if(!(!I||I.length===0))for(const W of Array.from(I)){const K=await W.text();m(H,[...c(H),{name:W.name,content:K}],!0)}}function ti(I){const W=I.target;Oe(W.files),W.value=""}function Li(I){var W;I.preventDefault(),m(se,!1),Oe(((W=I.dataTransfer)==null?void 0:W.files)??null)}function hi(I){var W;(W=I.dataTransfer)!=null&&W.types.includes("Files")&&(I.preventDefault(),m(se,!0))}function Ui(){m(se,!1)}async function Wi(){const I=c(r).trim();if(!(!I||c(a))){m(r,""),m(d,""),m(a,!0),m(n,[...c(n),{role:"user",content:I}],!0),A=new AbortController,m(ie,[],!0);try{await _F({messages:c(n),currentView:c(ve),context:c(fe),modelOverride:c(g)||void 0,extraFiles:c(H).length>0?c(H):void 0},W=>{m(s,(c(s)??"")+W)},A.signal,W=>{m(ie,[...c(ie),W],!0)}),m(n,[...c(n),{role:"assistant",content:c(s)??"",toolEvents:c(ie).length>0?[...c(ie)]:void 0}],!0),m(ie,[],!0)}catch(W){if(W.name==="AbortError"){const K=c(s);K!=null&&K.trim()&&m(n,[...c(n),{role:"assistant",content:K+`
229
-
230
- *[stopped]*`,toolEvents:c(ie).length>0?[...c(ie)]:void 0}],!0)}else m(d,W.message,!0)}finally{A=null,m(s,null),m(ie,[],!0),m(a,!1)}}}function ki(){A==null||A.abort()}function dn(I){I.key==="Enter"&&!I.shiftKey&&(I.preventDefault(),Wi())}function ln(){m(n,[],!0),m(d,"")}const Gi=["Write a view to list all document IDs","Write a view to sum a numeric property across all documents","Write a view that filters to a specific prefix and emits a field","Write a reduce that returns the maximum value","Explain how the current view works"];function bn(I){m(r,I,!0),Ce==null||Ce.focus()}var vt=BX(),Gt=yt(vt),wi=_(Gt),zi=v(_(wi),2);{var Mi=I=>{var W=GZ(),K=_(W);{var le=Q=>{var ce=_o();j(()=>O(ce,`${c(u).provider??""} · ${(c(g)||c(u).model)??""}`)),D(Q,ce)},Z=Q=>{var ce=_o("Not configured");D(Q,ce)};z(K,Q=>{c(Be)?Q(le):Q(Z,-1)})}j(()=>rn(W,"title",`Provider: ${c(u).provider??""}`)),D(I,W)};z(zi,I=>{c(u)&&I(Mi)})}var Ri=v(zi,2);{var Oi=I=>{var W=KZ();$("click",W,ln),D(I,W)};z(Ri,I=>{c(n).length>0&&I(Oi)})}var Xi=v(wi,2),Ei=_(Xi);{var Qe=I=>{var W=ZZ();D(I,W)},wt=I=>{var W=QZ(),K=_(W),le=_(K);{var Z=Xe=>{var ae=XZ(),xe=v(yt(ae)),Le=_(xe);j(()=>O(Le,t().id)),D(Xe,ae)},Q=Xe=>{var ae=_o("No view selected. Ask a general sheDB view question.");D(Xe,ae)};z(le,Xe=>{t()?Xe(Z):Xe(Q,-1)})}var ce=v(K,2);Zt(ce,17,()=>Gi,Ni,(Xe,ae)=>{var xe=YZ(),Le=_(xe);j(()=>O(Le,c(ae))),$("click",xe,()=>bn(c(ae))),D(Xe,xe)}),D(I,W)};z(Ei,I=>{c(Be)?c(n).length===0&&c(s)===null&&I(wt,1):I(Qe)})}var Fi=v(Ei,2);Zt(Fi,17,()=>c(n),Ni,(I,W,K)=>{var le=sX(),Z=_(le);{var Q=Xe=>{var ae=JZ(),xe=_(ae);j(()=>O(xe,c(W).content)),D(Xe,ae)},ce=Xe=>{const ae=Lt(()=>We(c(W).content)),xe=Lt(()=>gt(c(ae)));var Le=nX(),me=yt(Le);{var Ie=ge=>{var _e=NA();Zt(_e,21,()=>c(W).toolEvents,Ni,(ct,st)=>{var Ae=Es(),xt=yt(Ae);{var Ge=Je=>{var Ct=MA(),Ue=v(_(Ct)),Ft=_(Ue);j(Re=>O(Ft,Re),[()=>c(st).name.replace(/_/g," ")]),D(Je,Ct)},Ve=Je=>{var Ct=RA(),Ue=v(_(Ct)),Ft=_(Ue);j(Re=>O(Ft,Re),[()=>c(st).name.replace(/_/g," ")]),D(Je,Ct)};z(xt,Je=>{c(st).type==="tool_call"?Je(Ge):Je(Ve,-1)})}D(ct,Ae)}),D(ge,_e)};z(me,ge=>{var _e;(_e=c(W).toolEvents)!=null&&_e.length&&ge(Ie)})}var lt=v(me,2),G=_(lt);Zt(G,17,()=>c(ae),Ni,(ge,_e,ct)=>{var st=Es(),Ae=yt(st);{var xt=Ve=>{var Je=OA();ac(Je,()=>ut(c(_e).text),!0),D(Ve,Je)},Ge=Ve=>{const Je=Lt(()=>`${K}:${ct}`),Ct=Lt(()=>Ee(c(_e).text)),Ue=Lt(()=>c(p).has(c(Je))),Ft=Lt(()=>c(_e).lang==="filter");var Re=tX(),at=_(Re),Bt=_(at),Nt=_(Bt),_t=v(Bt,2),vi=_(_t),Si=v(at,2);let qi;var Ii=_(Si),Ki=_(Ii);ac(Ki,()=>pt(c(_e).text,c(_e).lang??""),!0);var Pi=v(Ii,2);{var Jt=Qt=>{var Yi=eX(),Ji=_(Yi);j(()=>O(Ji,c(Ue)?"▲ collapse":"▼ expand")),$("click",Yi,()=>Pt(c(Je))),D(Qt,Yi)};z(Pi,Qt=>{c(Ct)&&Qt(Jt)})}j(()=>{O(Nt,c(Ft)?"filter":c(_e).lang),qi=Dt(Si,1,"code-body svelte-1twuiul",null,qi,{collapsed:c(Ct)&&!c(Ue)})}),$("click",vi,()=>kt(c(_e).text)),D(Ve,Re)};z(Ae,Ve=>{c(_e).type==="text"?Ve(xt):Ve(Ge,-1)})}D(ge,st)});var re=v(G,2);{var Pe=ge=>{var _e=iX(),ct=_(_e),st=_(ct);j(Ae=>O(st,Ae),[()=>nt(c(xe))]),$("click",ct,()=>e.onApplyView(c(xe))),D(ge,_e)},it=Lt(()=>Rt(c(xe))&&e.onApplyView);z(re,ge=>{c(it)&&ge(Pe)})}D(Xe,Le)};z(Z,Xe=>{c(W).role==="user"?Xe(Q):Xe(ce,-1)})}j(()=>Dt(le,1,`message ${c(W).role??""}`,"svelte-1twuiul")),D(I,le)});var Bi=v(Fi,2);{var pi=I=>{var W=NA();Zt(W,21,()=>c(ie),Ni,(K,le)=>{var Z=Es(),Q=yt(Z);{var ce=ae=>{var xe=MA(),Le=v(_(xe)),me=_(Le);j(Ie=>O(me,Ie),[()=>c(le).name.replace(/_/g," ")]),D(ae,xe)},Xe=ae=>{var xe=RA(),Le=v(_(xe)),me=_(Le);j(Ie=>O(me,Ie),[()=>c(le).name.replace(/_/g," ")]),D(ae,xe)};z(Q,ae=>{c(le).type==="tool_call"?ae(ce):ae(Xe,-1)})}D(K,Z)}),D(I,W)};z(Bi,I=>{c(ie).length>0&&I(pi)})}var Ti=v(Bi,2);{var X=I=>{var W=oX(),K=_(W),le=_(K),Z=_(le);j(()=>O(Z,M[c(P)])),D(I,W)};z(Ti,I=>{c(a)&&c(s)===null&&c(ie).length===0&&I(X)})}var Fe=v(Ti,2);{var Ke=I=>{var W=aX(),K=_(W);Zt(K,21,()=>ye(c(s)),Ni,(le,Z)=>{var Q=Es(),ce=yt(Q);{var Xe=xe=>{var Le=OA();ac(Le,()=>ut(c(Z).text),!0),D(xe,Le)},ae=xe=>{var Le=rX(),me=_(Le),Ie=_(me),lt=_(Ie),G=v(me,2),re=_(G);ac(re,()=>pt(c(Z).text,c(Z).lang??""),!0),j(()=>O(lt,c(Z).lang)),D(xe,Le)};z(ce,xe=>{c(Z).type==="text"?xe(Xe):xe(ae,-1)})}D(le,Q)}),D(I,W)};z(Fe,I=>{c(s)!==null&&I(Ke)})}us(Xi,I=>oe=I,()=>oe);var ot=v(Xi,2);{var $t=I=>{var W=lX(),K=_(W);j(()=>O(K,c(d))),D(I,W)};z(ot,I=>{c(d)&&I($t)})}var ne=v(ot,2),Se=_(ne),Me=_(Se),Y=v(Se,2),He=_(Y),je=v(Y,2),De=_(je),At=v(je,2),Ot=_(At),ni=v(ne,2),ii=_(ni);{var xi=I=>{var W=cX();let K;var le=v(_(W),2),Z=_(le),Q=v(le,2),ce=_(Q);j(()=>{K=Dt(W,1,"file-chip svelte-1twuiul",null,K,{inactive:!c(J)}),O(Z,t().id),rn(Q,"title",c(J)?"Remove from context":"Re-add to context"),O(ce,c(J)?"×":"+")}),$("click",Q,()=>m(J,!c(J))),D(I,W)};z(ii,I=>{t()&&I(xi)})}var jt=v(ii,2);Zt(jt,17,()=>c(H),Ni,(I,W,K)=>{const le=Lt(()=>Ai(c(W).name));var Z=dX(),Q=_(Z),ce=_(Q),Xe=v(Q,2),ae=_(Xe),xe=v(Xe,2);j((Le,me)=>{Dt(Q,1,`badge badge-${Le??""}`,"svelte-1twuiul"),O(ce,me),O(ae,c(W).name)},[()=>c(le).toLowerCase(),()=>si(c(le))]),$("click",xe,()=>Vt(K)),D(I,Z)});var mi=v(jt,2),ze=v(mi,2);us(ze,I=>ue=I,()=>ue);var tt=v(ni,2);let Yt;var qt=_(tt);let fi;var Kt=_(qt);us(Kt,I=>Ce=I,()=>Ce);var pe=v(qt,2);{var Ze=I=>{var W=uX();$("click",W,ki),D(I,W)},dt=I=>{var W=hX();j(K=>W.disabled=K,[()=>!c(r).trim()||!c(Be)]),$("click",W,Wi),D(I,W)};z(pe,I=>{c(a)?I(Ze):I(dt,-1)})}var ht=v(tt,2);{var Wt=I=>{var W=mX(),K=_(W),le=_(K),Z=v(K,2);{var Q=xe=>{var Le=gX();Zt(Le,21,()=>c(f),Ni,(me,Ie)=>{var lt=fX(),G=_(lt),re={};j(()=>{O(G,c(Ie)),re!==(re=c(Ie))&&(lt.value=(lt.__value=c(Ie))??"")}),D(me,lt)}),j(()=>Le.disabled=c(a)),Bs(Le,()=>c(g),me=>m(g,me)),D(xe,Le)},ce=xe=>{var Le=pX(),me=_(Le);j(()=>O(me,c(g)||c(u).model)),D(xe,Le)};z(Z,xe=>{c(f).length>0?xe(Q):xe(ce,-1)})}var Xe=v(Z,2);{var ae=xe=>{var Le=xX();$("click",Le,ci),D(xe,Le)};z(Xe,xe=>{c(u).provider==="ollama"&&xe(ae)})}j(()=>O(le,c(u).provider)),D(I,W)};z(ht,I=>{c(Be)&&c(u)&&I(Wt)})}var Tt=v(Gt,2);{var di=I=>{var W=kX(),K=_(W),le=_(K),Z=_(le),Q=_(Z),ce=v(Z,2),Xe=v(le,2),ae=_(Xe);{var xe=Ie=>{var lt=vX();D(Ie,lt)},Le=Ie=>{var lt=_X(),G=_(lt);j(()=>O(G,c(w))),D(Ie,lt)},me=Ie=>{var lt=AX(),G=_(lt);{var re=Ve=>{var Je=bX(),Ct=v(yt(Je)),Ue=_(Ct);j(()=>O(Ue,c(b).version)),D(Ve,Je)};z(G,Ve=>{c(b).version&&Ve(re)})}var Pe=v(G,2);{var it=Ve=>{var Je=CX(),Ct=v(yt(Je)),Ue=_(Ct);j(()=>O(Ue,c(b).details.family)),D(Ve,Je)};z(Pe,Ve=>{var Je;(Je=c(b).details)!=null&&Je.family&&Ve(it)})}var ge=v(Pe,2);{var _e=Ve=>{var Je=EX(),Ct=v(yt(Je)),Ue=_(Ct);j(()=>O(Ue,c(b).details.parameter_size)),D(Ve,Je)};z(ge,Ve=>{var Je;(Je=c(b).details)!=null&&Je.parameter_size&&Ve(_e)})}var ct=v(ge,2);{var st=Ve=>{var Je=yX(),Ct=v(yt(Je)),Ue=_(Ct);j(()=>O(Ue,c(b).details.quantization_level)),D(Ve,Je)};z(ct,Ve=>{var Je;(Je=c(b).details)!=null&&Je.quantization_level&&Ve(st)})}var Ae=v(ct,2);{var xt=Ve=>{var Je=SX(),Ct=v(yt(Je),2);Zt(Ct,21,()=>c(b).running,Ni,(Ue,Ft)=>{var Re=wX(),at=_(Re);j(Bt=>O(at,`${c(Ft).name??""} · ${Bt??""} VRAM`),[()=>Ci(c(Ft).size_vram)]),D(Ue,Re)}),D(Ve,Je)},Ge=Ve=>{var Je=DX();D(Ve,Je)};z(Ae,Ve=>{c(b).running&&c(b).running.length>0?Ve(xt):c(b).running!==null&&Ve(Ge,1)})}D(Ie,lt)};z(ae,Ie=>{c(y)?Ie(xe):c(w)?Ie(Le,1):c(b)&&Ie(me,2)})}j(()=>{var Ie;return O(Q,`Ollama · ${(c(g)||((Ie=c(u))==null?void 0:Ie.model))??""}`)}),$("click",W,()=>m(C,!1)),$("click",K,Ie=>Ie.stopPropagation()),$("click",ce,()=>m(C,!1)),D(I,W)};z(Tt,I=>{c(C)&&I(di)})}j(I=>{O(Ot,I),Yt=Dt(tt,1,"input-row svelte-1twuiul",null,Yt,{"drag-over":c(se)}),fi=Dt(qt,1,"textarea-wrap svelte-1twuiul",null,fi,{loading:c(a)}),rn(Kt,"placeholder",c(Be)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),Kt.disabled=c(a)||!c(Be)},[()=>Ci(c(Ne))]),Cs(Me,()=>c(R),I=>m(R,I)),Cs(He,()=>c(T),I=>m(T,I)),Cs(De,()=>c(V),I=>m(V,I)),$("click",mi,et),$("change",ze,ti),fs("dragover",tt,hi),fs("dragleave",tt,Ui),fs("drop",tt,Li),$("keydown",Kt,dn),Ht(Kt,()=>c(r),I=>m(r,I)),D(o,vt),js()}Zs(["click","change","keydown"]);var LX=B('<div class="me svelte-1pxdb1"></div>');function qC(o,e){Vs(e,!0);let t=wu(e,"value",15,""),i=wu(e,"language",3,"javascript"),n,s,r=!1;Ks(()=>{const d=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=xr.create(n,{value:t(),language:i(),theme:"vs-dark",minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:13,fontFamily:"'Cascadia Code', 'Fira Code', monospace",automaticLayout:!0,wordWrap:"on",lineNumbers:"on",renderLineHighlight:"none",overviewRulerLanes:0,scrollbar:{verticalScrollbarSize:6,horizontalScrollbarSize:6},...d}),s.onDidChangeModelContent(()=>{r||t(s.getValue())})}),Tp(()=>s==null?void 0:s.dispose()),$n(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=LX();us(a,d=>n=d,()=>n),D(o,a),js()}var IX=B('<!> <div class="welcome svelte-rrt0o"><div class="welcome-inner svelte-rrt0o"><div class="welcome-logo svelte-rrt0o">db</div> <p class="welcome-sub svelte-rrt0o">sheDB — embedded JSON document store with MapReduce views</p> <div class="welcome-hint svelte-rrt0o"><strong>In scripts:</strong> use <code class="svelte-rrt0o">she.db.get(id)</code>, <code class="svelte-rrt0o">she.db.set(id, doc)</code>, <code class="svelte-rrt0o">she.db.extend(id, partial)</code>, <code class="svelte-rrt0o">she.db.sub(pattern, cb)</code>.<br/> <strong>Views:</strong> <code class="svelte-rrt0o">this</code> = current document &mdash; call <code class="svelte-rrt0o">emit(value)</code> to add to result.</div> <div class="welcome-links svelte-rrt0o"><a href="https://github.com/hobbyquaker/she/blob/main/doc/db/README.md" target="_blank" rel="noopener" class="svelte-rrt0o">sheDB docs</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/db/view-examples.md" target="_blank" rel="noopener" class="svelte-rrt0o">View examples</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-rrt0o">GitHub</a></div></div></div>',1),PX=B('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"><line x1="5.5" y1="5" x2="4" y2="2.5"></line><line x1="10.5" y1="5" x2="12" y2="2.5"></line><path d="M3 11 V7 A5 3.5 0 0 0 13 7 V11 Z" stroke-linejoin="round"></path><circle cx="6" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle><circle cx="10" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle></svg> AI</button>'),HA=B('<div class="form-error svelte-rrt0o"> </div>'),TX=B('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),WA=B("<li> </li>"),zA=B('<div class="error-bar svelte-rrt0o"> </div>'),VA=B('<div class="loading svelte-rrt0o">Loading…</div>'),MX=B('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),RX=B('<div class="editor-toolbar svelte-rrt0o"><span class="editor-title svelte-rrt0o"> </span> <button class="svelte-rrt0o">Save</button> <button class="btn-danger svelte-rrt0o">Delete</button></div> <!> <!>',1),NX=B('<div class="panel svelte-rrt0o"><aside class="sidebar svelte-rrt0o"><div class="toolbar svelte-rrt0o"><button class="svelte-rrt0o">+ Doc</button></div> <!> <div class="sidebar-search svelte-rrt0o"><input type="search" placeholder="Filter…" class="svelte-rrt0o"/></div> <ul class="flat-list svelte-rrt0o"></ul></aside> <div class="resize-handle svelte-rrt0o" role="separator"></div> <main class="editor-area svelte-rrt0o"><!></main></div>'),OX=B('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),HX=B('<label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Retain <span class="section-hint svelte-rrt0o">— send as retained MQTT message</span></label>'),WX=B('<span class="badge-error svelte-rrt0o">error</span>'),zX=B('<span class="badge-ok svelte-rrt0o"> </span>'),VX=B('<pre class="result-error svelte-rrt0o"> </pre>'),jX=B('<pre class="result-json svelte-rrt0o"> </pre>'),$X=B('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),UX=B('<div class="view-sections svelte-rrt0o"><div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Description <span class="section-hint svelte-rrt0o">— optional, shown in sidebar</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="(optional description)"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Filter <span class="section-hint svelte-rrt0o">— MQTT wildcard, optional</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="#"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Map <span class="section-hint svelte-rrt0o">— <code>this</code> = document &nbsp;·&nbsp; call <code>emit(this)</code> to include in result</span></div> <div class="monaco-view-wrap monaco-view-wrap--map svelte-rrt0o"><!></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Reduce <span class="section-hint svelte-rrt0o">— receives <code>result</code> array, must <code>return</code> new value (optional)</span></div> <div class="monaco-view-wrap monaco-view-wrap--reduce svelte-rrt0o"><!></div></div> <div class="view-section view-section--options svelte-rrt0o"><label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Publish to MQTT <span class="section-hint svelte-rrt0o">— publish view to MQTT topic <code> </code></span></label> <!></div> <!></div>'),qX=B('<div class="editor-toolbar svelte-rrt0o"><span class="editor-title svelte-rrt0o"> </span> <button class="svelte-rrt0o">Save</button> <button title="Re-run view" class="svelte-rrt0o">Refresh</button> <button class="btn-danger svelte-rrt0o">Delete</button></div> <!> <!>',1),GX=B('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),KX=B('<div class="panel svelte-rrt0o"><aside class="sidebar svelte-rrt0o"><div class="toolbar svelte-rrt0o"><button class="svelte-rrt0o">+ View</button></div> <!> <div class="sidebar-search svelte-rrt0o"><input type="search" placeholder="Filter…" class="svelte-rrt0o"/></div> <ul class="flat-list svelte-rrt0o"></ul></aside> <div class="resize-handle svelte-rrt0o" role="separator"></div> <main class="editor-area svelte-rrt0o"><!></main> <!></div>'),ZX=B('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function XX(o,e){Vs(e,!0);const t=Qe=>{var wt=IX(),Fi=yt(wt);us(qc(Fi,{}),Bi=>si=Bi,()=>si),D(Qe,wt)};let i=F(yi([])),n=F(null),s=F("{}"),r=F(!1),a=F(null);const d="she-db-selected-view";let u=F(yi([])),f=F(yi(localStorage.getItem(d))),g=F("#"),p=F("// emit(this.someProperty)"),C=F(""),b=F(""),y=F(!1),w=F(!1),A=F(null),P=F(!1),M=F(null),R=F("she/db/view/");const T="she-db-panel";let V=F(yi(localStorage.getItem(T)??"docs")),H=F(""),J=F(!1),se=F(null),ue=F(""),ie=F(!1),de=F(null);const Ce="she-db-sidebar-width";let oe=F(yi(parseInt(localStorage.getItem(Ce)??"220",10))),fe=!1,Be=0,Ne=0;const ve="she-db-chat-width",rt="she-db-chat-open";let We=F(localStorage.getItem(rt)==="true"),ye=F(yi(parseInt(localStorage.getItem(ve)??"320",10))),gt=!1,Rt=0,nt=0;const St=Lt(()=>c(f)?{id:c(f),filter:c(g),map:c(p),reduce:c(C)}:null);function Ee(Qe){Qe.filter!==void 0&&m(g,Qe.filter,!0),Qe.map!==void 0&&m(p,Qe.map,!0),Qe.reduce!==void 0&&m(C,Qe.reduce,!0)}$n(()=>{localStorage.setItem(rt,String(c(We)))}),$n(()=>{localStorage.setItem(T,c(V))}),$n(()=>{c(f)?localStorage.setItem(d,c(f)):localStorage.removeItem(d)});function Pt(Qe){fe=!0,Be=Qe.clientX,Ne=c(oe),Qe.preventDefault()}function pt(Qe){fe&&m(oe,Math.max(140,Math.min(500,Ne+Qe.clientX-Be)),!0),gt&&m(ye,Math.max(240,Math.min(600,nt-(Qe.clientX-Rt))),!0)}function ut(){fe&&(fe=!1,localStorage.setItem(Ce,String(c(oe)))),gt&&(gt=!1,localStorage.setItem(ve,String(c(ye))))}function Ye(Qe){gt=!0,Rt=Qe.clientX,nt=c(ye),Qe.preventDefault()}async function kt(){try{m(i,await uF(),!0)}catch{}}async function ci(){try{m(u,await hF(),!0)}catch{}}async function Ci(Qe){m(n,Qe,!0),m(a,null),m(r,!0);try{const wt=await j$(Qe);m(s,JSON.stringify(wt,null,2),!0)}catch(wt){m(a,wt instanceof Error?wt.message:String(wt),!0)}finally{m(r,!1)}}async function Ai(){if(c(n)){m(a,null);try{const Qe=JSON.parse(c(s));await aA(c(n),Qe)}catch(Qe){m(a,Qe instanceof Error?Qe.message:String(Qe),!0)}}}let si;async function Vt(){if(c(n)&&await si.show(`Delete document "${c(n)}"?`,{confirm:"Delete",danger:!0}))try{await $$(c(n)),m(n,null),m(s,"{}")}catch(Qe){m(a,Qe instanceof Error?Qe.message:String(Qe),!0)}}async function et(){const Qe=c(H).trim();if(Qe){m(se,null);try{await aA(Qe,{}),m(J,!1),m(H,""),await Ci(Qe)}catch(wt){m(se,wt instanceof Error?wt.message:String(wt),!0)}}}async function Oe(Qe){m(f,Qe,!0),m(M,null),m(P,!0),m(A,null);try{const wt=await U$(Qe);m(g,wt.filter??"",!0),m(p,wt.map,!0),m(C,wt.reduce??"",!0),m(b,wt.description??"",!0),m(y,wt.mqttpub??!1,!0),m(w,wt.retain??!1,!0),m(A,await VC(Qe).catch(()=>null),!0)}catch(wt){m(M,wt instanceof Error?wt.message:String(wt),!0)}finally{m(P,!1)}}async function ti(){if(c(f)){m(M,null);try{const Qe={map:c(p)};c(g).trim()&&(Qe.filter=c(g).trim()),c(C).trim()&&(Qe.reduce=c(C).trim()),c(b).trim()&&(Qe.description=c(b).trim()),c(y)&&(Qe.mqttpub=!0),c(w)&&(Qe.retain=!0),await lA(c(f),Qe)}catch(Qe){m(M,Qe instanceof Error?Qe.message:String(Qe),!0)}}}async function Li(){if(c(f))try{m(A,await VC(c(f)),!0)}catch(Qe){m(M,Qe instanceof Error?Qe.message:String(Qe),!0)}}async function hi(){if(c(f)&&await si.show(`Delete view "${c(f)}"?`,{confirm:"Delete",danger:!0}))try{await q$(c(f)),m(f,null),m(g,""),m(p,"// emit(this.someProperty)"),m(C,""),m(b,""),m(y,!1),m(w,!1),m(A,null)}catch(Qe){m(M,Qe instanceof Error?Qe.message:String(Qe),!0)}}async function Ui(){if(!c(ue).trim())return;const Qe=c(ue).trim();m(de,null);try{await lA(Qe,{map:"// emit(this.someProperty)"}),m(ie,!1),m(ue,""),await ci(),await Oe(Qe)}catch(wt){m(de,wt instanceof Error?wt.message:String(wt),!0)}}let Wi=F(""),ki=F(""),dn=Lt(()=>[...c(i)].filter(Qe=>!c(Wi)||Qe.toLowerCase().includes(c(Wi).toLowerCase())).sort()),ln=Lt(()=>[...c(u)].filter(Qe=>!c(ki)||Qe.toLowerCase().includes(c(ki).toLowerCase())).sort());Ks(()=>{kt(),ci().then(()=>{c(f)&&c(u).includes(c(f))?Oe(c(f)):m(f,null)}),Il().then(pi=>{const Ti=pi.dbPrefix||"she/db/",X=Ti.endsWith("/")?Ti:Ti+"/";m(R,X+"view/")}).catch(()=>{});const Qe=ar("db:ids",pi=>{m(i,pi.ids??[],!0)}),wt=ar("db:viewIds",pi=>{m(u,pi.ids??[],!0)}),Fi=ar("db:change",async pi=>{const Ti=pi.id;c(n)===Ti&&(pi.doc===null?(m(n,null),m(s,"{}")):m(s,JSON.stringify(pi.doc,null,2),!0))}),Bi=ar("db:viewUpdate",async pi=>{const Ti=pi.id;c(f)===Ti&&m(A,await VC(Ti).catch(()=>null),!0)});return()=>{Qe(),wt(),Fi(),Bi()}});var Gi=ZX(),bn=_(Gi),vt=_(bn);let Gt;var wi=v(vt,2);let zi;var Mi=v(wi,2);{var Ri=Qe=>{var wt=PX();let Fi;j(()=>{Fi=Dt(wt,1,"ai-toggle svelte-rrt0o",null,Fi,{"ai-open":c(We)}),rn(wt,"title",c(We)?"Close AI assistant":"Open AI assistant")}),$("click",wt,()=>m(We,!c(We))),D(Qe,wt)};z(Mi,Qe=>{c(V)==="views"&&Qe(Ri)})}var Oi=v(bn,2);{var Xi=Qe=>{var wt=NX(),Fi=_(wt);let Bi;var pi=_(Fi),Ti=_(pi),X=v(pi,2);{var Fe=je=>{var De=TX(),At=yt(De),Ot=_(At),ni=v(Ot,2),ii=v(At,2);{var xi=jt=>{var mi=HA(),ze=_(mi);j(()=>O(ze,c(se))),D(jt,mi)};z(ii,jt=>{c(se)&&jt(xi)})}$("keydown",Ot,jt=>jt.key==="Enter"&&et()),Ht(Ot,()=>c(H),jt=>m(H,jt)),$("click",ni,et),D(je,De)};z(X,je=>{c(J)&&je(Fe)})}var Ke=v(X,2),ot=_(Ke),$t=v(Ke,2);Zt($t,20,()=>c(dn),je=>je,(je,De)=>{var At=WA();let Ot;var ni=_(At);j(()=>{Ot=Dt(At,1,"flat-item svelte-rrt0o",null,Ot,{"active-item":c(n)===De}),O(ni,De)}),$("click",At,()=>Ci(De)),D(je,At)});var ne=v(Fi,2),Se=v(ne,2),Me=_(Se);{var Y=je=>{var De=RX(),At=yt(De),Ot=_(At),ni=_(Ot),ii=v(Ot,2),xi=v(ii,2),jt=v(At,2);{var mi=qt=>{var fi=zA(),Kt=_(fi);j(()=>O(Kt,c(a))),D(qt,fi)};z(jt,qt=>{c(a)&&qt(mi)})}var ze=v(jt,2);{var tt=qt=>{var fi=VA();D(qt,fi)},Yt=qt=>{var fi=MX(),Kt=_(fi);qC(Kt,{language:"json",get value(){return c(s)},set value(pe){m(s,pe,!0)}}),D(qt,fi)};z(ze,qt=>{c(r)?qt(tt):qt(Yt,-1)})}j(()=>O(ni,c(n))),$("click",ii,Ai),$("click",xi,Vt),D(je,De)},He=je=>{t(je)};z(Me,je=>{c(n)?je(Y):je(He,-1)})}j(()=>Bi=$o(Fi,"",Bi,{width:`${c(oe)??""}px`})),$("click",Ti,()=>{m(J,!c(J)),m(se,null)}),Ht(ot,()=>c(Wi),je=>m(Wi,je)),$("mousedown",ne,Pt),D(Qe,wt)},Ei=Qe=>{var wt=KX(),Fi=_(wt);let Bi;var pi=_(Fi),Ti=_(pi),X=v(pi,2);{var Fe=At=>{var Ot=OX(),ni=yt(Ot),ii=_(ni),xi=v(ii,2),jt=v(ni,2);{var mi=ze=>{var tt=HA(),Yt=_(tt);j(()=>O(Yt,c(de))),D(ze,tt)};z(jt,ze=>{c(de)&&ze(mi)})}$("keydown",ii,ze=>ze.key==="Enter"&&Ui()),Ht(ii,()=>c(ue),ze=>m(ue,ze)),$("click",xi,Ui),D(At,Ot)};z(X,At=>{c(ie)&&At(Fe)})}var Ke=v(X,2),ot=_(Ke),$t=v(Ke,2);Zt($t,20,()=>c(ln),At=>At,(At,Ot)=>{var ni=WA();let ii;var xi=_(ni);j(()=>{ii=Dt(ni,1,"flat-item svelte-rrt0o",null,ii,{"active-item":c(f)===Ot}),O(xi,Ot)}),$("click",ni,()=>Oe(Ot)),D(At,ni)});var ne=v(Fi,2),Se=v(ne,2),Me=_(Se);{var Y=At=>{var Ot=qX(),ni=yt(Ot),ii=_(ni),xi=_(ii),jt=v(ii,2),mi=v(jt,2),ze=v(mi,2),tt=v(ni,2);{var Yt=pe=>{var Ze=zA(),dt=_(Ze);j(()=>O(dt,c(M))),D(pe,Ze)};z(tt,pe=>{c(M)&&pe(Yt)})}var qt=v(tt,2);{var fi=pe=>{var Ze=VA();D(pe,Ze)},Kt=pe=>{var Ze=UX(),dt=_(Ze),ht=v(_(dt),2),Wt=_(ht),Tt=v(dt,2),di=v(_(Tt),2),I=_(di),W=v(Tt,2),K=v(_(W),2),le=_(K);qC(le,{language:"javascript",get value(){return c(p)},set value(it){m(p,it,!0)}});var Z=v(W,2),Q=v(_(Z),2),ce=_(Q);qC(ce,{language:"javascript",get value(){return c(C)},set value(it){m(C,it,!0)}});var Xe=v(Z,2),ae=_(Xe),xe=_(ae),Le=v(xe,4),me=v(_(Le)),Ie=_(me),lt=v(ae,2);{var G=it=>{var ge=HX(),_e=_(ge);Cs(_e,()=>c(w),ct=>m(w,ct)),D(it,ge)};z(lt,it=>{c(y)&&it(G)})}var re=v(Xe,2);{var Pe=it=>{var ge=$X(),_e=_(ge),ct=v(_(_e));{var st=Je=>{var Ct=WX();D(Je,Ct)},Ae=Je=>{var Ct=zX(),Ue=_(Ct);j(()=>O(Ue,`${c(A).length??0??""} items · rev ${c(A)._rev??""}`)),D(Je,Ct)};z(ct,Je=>{c(A).error?Je(st):Je(Ae,-1)})}var xt=v(_e,2);{var Ge=Je=>{var Ct=VX(),Ue=_(Ct);j(()=>O(Ue,c(A).error)),D(Je,Ct)},Ve=Je=>{var Ct=jX(),Ue=_(Ct);j(Ft=>O(Ue,Ft),[()=>JSON.stringify(c(A).result,null,2)]),D(Je,Ct)};z(xt,Je=>{c(A).error?Je(Ge):Je(Ve,-1)})}D(it,ge)};z(re,it=>{c(A)&&it(Pe)})}j(()=>O(Ie,`${c(R)??""}${c(f)??""} on every update`)),Ht(Wt,()=>c(b),it=>m(b,it)),Ht(I,()=>c(g),it=>m(g,it)),Cs(xe,()=>c(y),it=>m(y,it)),D(pe,Ze)};z(qt,pe=>{c(P)?pe(fi):pe(Kt,-1)})}j(()=>O(xi,c(f))),$("click",jt,ti),$("click",mi,Li),$("click",ze,hi),D(At,Ot)},He=At=>{t(At)};z(Me,At=>{c(f)?At(Y):At(He,-1)})}var je=v(Se,2);{var De=At=>{var Ot=GX(),ni=yt(Ot),ii=v(ni,2);let xi;var jt=_(ii);FX(jt,{get currentView(){return c(St)},onApplyView:Ee}),j(()=>xi=$o(ii,"",xi,{width:`${c(ye)??""}px`})),$("mousedown",ni,Ye),D(At,Ot)};z(je,At=>{c(We)&&At(De)})}j(()=>Bi=$o(Fi,"",Bi,{width:`${c(oe)??""}px`})),$("click",Ti,()=>{m(ie,!c(ie)),m(de,null)}),Ht(ot,()=>c(ki),At=>m(ki,At)),$("mousedown",ne,Pt),D(Qe,wt)};z(Oi,Qe=>{c(V)==="docs"?Qe(Xi):Qe(Ei,-1)})}j(()=>{Gt=Dt(vt,1,"svelte-rrt0o",null,Gt,{active:c(V)==="docs"}),zi=Dt(wi,1,"svelte-rrt0o",null,zi,{active:c(V)==="views"})}),$("mousemove",Gi,pt),$("mouseup",Gi,ut),fs("mouseleave",Gi,ut),$("click",vt,()=>m(V,"docs")),$("click",wi,()=>m(V,"views")),D(o,Gi),js()}Zs(["mousemove","mouseup","click","keydown","mousedown"]);var mm={exports:{}},YX=mm.exports,jA;function QX(){return jA||(jA=1,(function(o,e){(function(i,n){o.exports=n()})(typeof self<"u"?self:YX,function(){return(function(t){var i={};function n(s){if(i[s])return i[s].exports;var r=i[s]={i:s,l:!1,exports:{}};return t[s].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=i,n.d=function(s,r,a){n.o(s,r)||Object.defineProperty(s,r,{configurable:!1,enumerable:!0,get:a})},n.n=function(s){var r=s&&s.__esModule?function(){return s.default}:function(){return s};return n.d(r,"a",r),r},n.o=function(s,r){return Object.prototype.hasOwnProperty.call(s,r)},n.p="",n(n.s=3)})([(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=(function(){function r(a,d){this.width=d,this.height=a.length/d,this.data=a}return r.createEmpty=function(a,d){return new r(new Uint8ClampedArray(a*d),a)},r.prototype.get=function(a,d){return a<0||a>=this.width||d<0||d>=this.height?!1:!!this.data[d*this.width+a]},r.prototype.set=function(a,d,u){this.data[d*this.width+a]=u?1:0},r.prototype.setRegion=function(a,d,u,f,g){for(var p=d;p<d+f;p++)for(var C=a;C<a+u;C++)this.set(C,p,!!g)},r})();i.BitMatrix=s}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(2);function r(d,u){return d^u}i.addOrSubtractGF=r;var a=(function(){function d(u,f,g){this.primitive=u,this.size=f,this.generatorBase=g,this.expTable=new Array(this.size),this.logTable=new Array(this.size);for(var p=1,C=0;C<this.size;C++)this.expTable[C]=p,p=p*2,p>=this.size&&(p=(p^this.primitive)&this.size-1);for(var C=0;C<this.size-1;C++)this.logTable[this.expTable[C]]=C;this.zero=new s.default(this,Uint8ClampedArray.from([0])),this.one=new s.default(this,Uint8ClampedArray.from([1]))}return d.prototype.multiply=function(u,f){return u===0||f===0?0:this.expTable[(this.logTable[u]+this.logTable[f])%(this.size-1)]},d.prototype.inverse=function(u){if(u===0)throw new Error("Can't invert 0");return this.expTable[this.size-this.logTable[u]-1]},d.prototype.buildMonomial=function(u,f){if(u<0)throw new Error("Invalid monomial degree less than 0");if(f===0)return this.zero;var g=new Uint8ClampedArray(u+1);return g[0]=f,new s.default(this,g)},d.prototype.log=function(u){if(u===0)throw new Error("Can't take log(0)");return this.logTable[u]},d.prototype.exp=function(u){return this.expTable[u]},d})();i.default=a}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(1),r=(function(){function a(d,u){if(u.length===0)throw new Error("No coefficients.");this.field=d;var f=u.length;if(f>1&&u[0]===0){for(var g=1;g<f&&u[g]===0;)g++;if(g===f)this.coefficients=d.zero.coefficients;else{this.coefficients=new Uint8ClampedArray(f-g);for(var p=0;p<this.coefficients.length;p++)this.coefficients[p]=u[g+p]}}else this.coefficients=u}return a.prototype.degree=function(){return this.coefficients.length-1},a.prototype.isZero=function(){return this.coefficients[0]===0},a.prototype.getCoefficient=function(d){return this.coefficients[this.coefficients.length-1-d]},a.prototype.addOrSubtract=function(d){var u;if(this.isZero())return d;if(d.isZero())return this;var f=this.coefficients,g=d.coefficients;f.length>g.length&&(u=[g,f],f=u[0],g=u[1]);for(var p=new Uint8ClampedArray(g.length),C=g.length-f.length,b=0;b<C;b++)p[b]=g[b];for(var b=C;b<g.length;b++)p[b]=s.addOrSubtractGF(f[b-C],g[b]);return new a(this.field,p)},a.prototype.multiply=function(d){if(d===0)return this.field.zero;if(d===1)return this;for(var u=this.coefficients.length,f=new Uint8ClampedArray(u),g=0;g<u;g++)f[g]=this.field.multiply(this.coefficients[g],d);return new a(this.field,f)},a.prototype.multiplyPoly=function(d){if(this.isZero()||d.isZero())return this.field.zero;for(var u=this.coefficients,f=u.length,g=d.coefficients,p=g.length,C=new Uint8ClampedArray(f+p-1),b=0;b<f;b++)for(var y=u[b],w=0;w<p;w++)C[b+w]=s.addOrSubtractGF(C[b+w],this.field.multiply(y,g[w]));return new a(this.field,C)},a.prototype.multiplyByMonomial=function(d,u){if(d<0)throw new Error("Invalid degree less than 0");if(u===0)return this.field.zero;for(var f=this.coefficients.length,g=new Uint8ClampedArray(f+d),p=0;p<f;p++)g[p]=this.field.multiply(this.coefficients[p],u);return new a(this.field,g)},a.prototype.evaluateAt=function(d){var u=0;if(d===0)return this.getCoefficient(0);var f=this.coefficients.length;if(d===1)return this.coefficients.forEach(function(p){u=s.addOrSubtractGF(u,p)}),u;u=this.coefficients[0];for(var g=1;g<f;g++)u=s.addOrSubtractGF(this.field.multiply(d,u),this.coefficients[g]);return u},a})();i.default=r}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(4),r=n(5),a=n(11),d=n(12);function u(p){var C=d.locate(p);if(!C)return null;for(var b=0,y=C;b<y.length;b++){var w=y[b],A=a.extract(p,w),P=r.decode(A.matrix);if(P)return{binaryData:P.bytes,data:P.text,chunks:P.chunks,version:P.version,location:{topRightCorner:A.mappingFunction(w.dimension,0),topLeftCorner:A.mappingFunction(0,0),bottomRightCorner:A.mappingFunction(w.dimension,w.dimension),bottomLeftCorner:A.mappingFunction(0,w.dimension),topRightFinderPattern:w.topRight,topLeftFinderPattern:w.topLeft,bottomLeftFinderPattern:w.bottomLeft,bottomRightAlignmentPattern:w.alignmentPattern}}}return null}var f={inversionAttempts:"attemptBoth"};function g(p,C,b,y){y===void 0&&(y={});var w=f;Object.keys(w||{}).forEach(function(H){w[H]=y[H]||w[H]});var A=w.inversionAttempts==="attemptBoth"||w.inversionAttempts==="invertFirst",P=w.inversionAttempts==="onlyInvert"||w.inversionAttempts==="invertFirst",M=s.binarize(p,C,b,A),R=M.binarized,T=M.inverted,V=u(P?T:R);return!V&&(w.inversionAttempts==="attemptBoth"||w.inversionAttempts==="invertFirst")&&(V=u(P?R:T)),V}g.default=g,i.default=g}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0),r=8,a=24;function d(g,p,C){return g<p?p:g>C?C:g}var u=(function(){function g(p,C){this.width=p,this.data=new Uint8ClampedArray(p*C)}return g.prototype.get=function(p,C){return this.data[C*this.width+p]},g.prototype.set=function(p,C,b){this.data[C*this.width+p]=b},g})();function f(g,p,C,b){if(g.length!==p*C*4)throw new Error("Malformed data passed to binarizer.");for(var y=new u(p,C),w=0;w<p;w++)for(var A=0;A<C;A++){var P=g[(A*p+w)*4+0],M=g[(A*p+w)*4+1],R=g[(A*p+w)*4+2];y.set(w,A,.2126*P+.7152*M+.0722*R)}for(var T=Math.ceil(p/r),V=Math.ceil(C/r),H=new u(T,V),J=0;J<V;J++)for(var se=0;se<T;se++){for(var ue=0,ie=1/0,de=0,A=0;A<r;A++)for(var w=0;w<r;w++){var Ce=y.get(se*r+w,J*r+A);ue+=Ce,ie=Math.min(ie,Ce),de=Math.max(de,Ce)}var oe=ue/Math.pow(r,2);if(de-ie<=a&&(oe=ie/2,J>0&&se>0)){var fe=(H.get(se,J-1)+2*H.get(se-1,J)+H.get(se-1,J-1))/4;ie<fe&&(oe=fe)}H.set(se,J,oe)}var Be=s.BitMatrix.createEmpty(p,C),Ne=null;b&&(Ne=s.BitMatrix.createEmpty(p,C));for(var J=0;J<V;J++)for(var se=0;se<T;se++){for(var ve=d(se,2,T-3),rt=d(J,2,V-3),ue=0,We=-2;We<=2;We++)for(var ye=-2;ye<=2;ye++)ue+=H.get(ve+We,rt+ye);for(var gt=ue/25,We=0;We<r;We++)for(var ye=0;ye<r;ye++){var w=se*r+We,A=J*r+ye,Rt=y.get(w,A);Be.set(w,A,Rt<=gt),b&&Ne.set(w,A,!(Rt<=gt))}}return b?{binarized:Be,inverted:Ne}:{binarized:Be}}i.binarize=f}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0),r=n(6),a=n(9),d=n(10);function u(R,T){for(var V=R^T,H=0;V;)H++,V&=V-1;return H}function f(R,T){return T<<1|R}var g=[{bits:21522,formatInfo:{errorCorrectionLevel:1,dataMask:0}},{bits:20773,formatInfo:{errorCorrectionLevel:1,dataMask:1}},{bits:24188,formatInfo:{errorCorrectionLevel:1,dataMask:2}},{bits:23371,formatInfo:{errorCorrectionLevel:1,dataMask:3}},{bits:17913,formatInfo:{errorCorrectionLevel:1,dataMask:4}},{bits:16590,formatInfo:{errorCorrectionLevel:1,dataMask:5}},{bits:20375,formatInfo:{errorCorrectionLevel:1,dataMask:6}},{bits:19104,formatInfo:{errorCorrectionLevel:1,dataMask:7}},{bits:30660,formatInfo:{errorCorrectionLevel:0,dataMask:0}},{bits:29427,formatInfo:{errorCorrectionLevel:0,dataMask:1}},{bits:32170,formatInfo:{errorCorrectionLevel:0,dataMask:2}},{bits:30877,formatInfo:{errorCorrectionLevel:0,dataMask:3}},{bits:26159,formatInfo:{errorCorrectionLevel:0,dataMask:4}},{bits:25368,formatInfo:{errorCorrectionLevel:0,dataMask:5}},{bits:27713,formatInfo:{errorCorrectionLevel:0,dataMask:6}},{bits:26998,formatInfo:{errorCorrectionLevel:0,dataMask:7}},{bits:5769,formatInfo:{errorCorrectionLevel:3,dataMask:0}},{bits:5054,formatInfo:{errorCorrectionLevel:3,dataMask:1}},{bits:7399,formatInfo:{errorCorrectionLevel:3,dataMask:2}},{bits:6608,formatInfo:{errorCorrectionLevel:3,dataMask:3}},{bits:1890,formatInfo:{errorCorrectionLevel:3,dataMask:4}},{bits:597,formatInfo:{errorCorrectionLevel:3,dataMask:5}},{bits:3340,formatInfo:{errorCorrectionLevel:3,dataMask:6}},{bits:2107,formatInfo:{errorCorrectionLevel:3,dataMask:7}},{bits:13663,formatInfo:{errorCorrectionLevel:2,dataMask:0}},{bits:12392,formatInfo:{errorCorrectionLevel:2,dataMask:1}},{bits:16177,formatInfo:{errorCorrectionLevel:2,dataMask:2}},{bits:14854,formatInfo:{errorCorrectionLevel:2,dataMask:3}},{bits:9396,formatInfo:{errorCorrectionLevel:2,dataMask:4}},{bits:8579,formatInfo:{errorCorrectionLevel:2,dataMask:5}},{bits:11994,formatInfo:{errorCorrectionLevel:2,dataMask:6}},{bits:11245,formatInfo:{errorCorrectionLevel:2,dataMask:7}}],p=[function(R){return(R.y+R.x)%2===0},function(R){return R.y%2===0},function(R){return R.x%3===0},function(R){return(R.y+R.x)%3===0},function(R){return(Math.floor(R.y/2)+Math.floor(R.x/3))%2===0},function(R){return R.x*R.y%2+R.x*R.y%3===0},function(R){return(R.y*R.x%2+R.y*R.x%3)%2===0},function(R){return((R.y+R.x)%2+R.y*R.x%3)%2===0}];function C(R){var T=17+4*R.versionNumber,V=s.BitMatrix.createEmpty(T,T);V.setRegion(0,0,9,9,!0),V.setRegion(T-8,0,8,9,!0),V.setRegion(0,T-8,9,8,!0);for(var H=0,J=R.alignmentPatternCenters;H<J.length;H++)for(var se=J[H],ue=0,ie=R.alignmentPatternCenters;ue<ie.length;ue++){var de=ie[ue];se===6&&de===6||se===6&&de===T-7||se===T-7&&de===6||V.setRegion(se-2,de-2,5,5,!0)}return V.setRegion(6,9,1,T-17,!0),V.setRegion(9,6,T-17,1,!0),R.versionNumber>6&&(V.setRegion(T-11,0,3,6,!0),V.setRegion(0,T-11,6,3,!0)),V}function b(R,T,V){for(var H=p[V.dataMask],J=R.height,se=C(T),ue=[],ie=0,de=0,Ce=!0,oe=J-1;oe>0;oe-=2){oe===6&&oe--;for(var fe=0;fe<J;fe++)for(var Be=Ce?J-1-fe:fe,Ne=0;Ne<2;Ne++){var ve=oe-Ne;if(!se.get(ve,Be)){de++;var rt=R.get(ve,Be);H({y:Be,x:ve})&&(rt=!rt),ie=f(rt,ie),de===8&&(ue.push(ie),de=0,ie=0)}}Ce=!Ce}return ue}function y(R){var T=R.height,V=Math.floor((T-17)/4);if(V<=6)return d.VERSIONS[V-1];for(var H=0,J=5;J>=0;J--)for(var se=T-9;se>=T-11;se--)H=f(R.get(se,J),H);for(var ue=0,se=5;se>=0;se--)for(var J=T-9;J>=T-11;J--)ue=f(R.get(se,J),ue);for(var ie=1/0,de,Ce=0,oe=d.VERSIONS;Ce<oe.length;Ce++){var fe=oe[Ce];if(fe.infoBits===H||fe.infoBits===ue)return fe;var Be=u(H,fe.infoBits);Be<ie&&(de=fe,ie=Be),Be=u(ue,fe.infoBits),Be<ie&&(de=fe,ie=Be)}if(ie<=3)return de}function w(R){for(var T=0,V=0;V<=8;V++)V!==6&&(T=f(R.get(V,8),T));for(var H=7;H>=0;H--)H!==6&&(T=f(R.get(8,H),T));for(var J=R.height,se=0,H=J-1;H>=J-7;H--)se=f(R.get(8,H),se);for(var V=J-8;V<J;V++)se=f(R.get(V,8),se);for(var ue=1/0,ie=null,de=0,Ce=g;de<Ce.length;de++){var oe=Ce[de],fe=oe.bits,Be=oe.formatInfo;if(fe===T||fe===se)return Be;var Ne=u(T,fe);Ne<ue&&(ie=Be,ue=Ne),T!==se&&(Ne=u(se,fe),Ne<ue&&(ie=Be,ue=Ne))}return ue<=3?ie:null}function A(R,T,V){var H=T.errorCorrectionLevels[V],J=[],se=0;if(H.ecBlocks.forEach(function(rt){for(var We=0;We<rt.numBlocks;We++)J.push({numDataCodewords:rt.dataCodewordsPerBlock,codewords:[]}),se+=rt.dataCodewordsPerBlock+H.ecCodewordsPerBlock}),R.length<se)return null;R=R.slice(0,se);for(var ue=H.ecBlocks[0].dataCodewordsPerBlock,ie=0;ie<ue;ie++)for(var de=0,Ce=J;de<Ce.length;de++){var oe=Ce[de];oe.codewords.push(R.shift())}if(H.ecBlocks.length>1)for(var fe=H.ecBlocks[0].numBlocks,Be=H.ecBlocks[1].numBlocks,ie=0;ie<Be;ie++)J[fe+ie].codewords.push(R.shift());for(;R.length>0;)for(var Ne=0,ve=J;Ne<ve.length;Ne++){var oe=ve[Ne];oe.codewords.push(R.shift())}return J}function P(R){var T=y(R);if(!T)return null;var V=w(R);if(!V)return null;var H=b(R,T,V),J=A(H,T,V.errorCorrectionLevel);if(!J)return null;for(var se=J.reduce(function(Ne,ve){return Ne+ve.numDataCodewords},0),ue=new Uint8ClampedArray(se),ie=0,de=0,Ce=J;de<Ce.length;de++){var oe=Ce[de],fe=a.decode(oe.codewords,oe.codewords.length-oe.numDataCodewords);if(!fe)return null;for(var Be=0;Be<oe.numDataCodewords;Be++)ue[ie++]=fe[Be]}try{return r.decode(ue,T.versionNumber)}catch{return null}}function M(R){if(R==null)return null;var T=P(R);if(T)return T;for(var V=0;V<R.width;V++)for(var H=V+1;H<R.height;H++)R.get(V,H)!==R.get(H,V)&&(R.set(V,H,!R.get(V,H)),R.set(H,V,!R.get(H,V)));return P(R)}i.decode=M}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(7),r=n(8),a;(function(y){y.Numeric="numeric",y.Alphanumeric="alphanumeric",y.Byte="byte",y.Kanji="kanji",y.ECI="eci"})(a=i.Mode||(i.Mode={}));var d;(function(y){y[y.Terminator=0]="Terminator",y[y.Numeric=1]="Numeric",y[y.Alphanumeric=2]="Alphanumeric",y[y.Byte=4]="Byte",y[y.Kanji=8]="Kanji",y[y.ECI=7]="ECI"})(d||(d={}));function u(y,w){for(var A=[],P="",M=[10,12,14][w],R=y.readBits(M);R>=3;){var T=y.readBits(10);if(T>=1e3)throw new Error("Invalid numeric value above 999");var V=Math.floor(T/100),H=Math.floor(T/10)%10,J=T%10;A.push(48+V,48+H,48+J),P+=V.toString()+H.toString()+J.toString(),R-=3}if(R===2){var T=y.readBits(7);if(T>=100)throw new Error("Invalid numeric value above 99");var V=Math.floor(T/10),H=T%10;A.push(48+V,48+H),P+=V.toString()+H.toString()}else if(R===1){var T=y.readBits(4);if(T>=10)throw new Error("Invalid numeric value above 9");A.push(48+T),P+=T.toString()}return{bytes:A,text:P}}var f=["0","1","2","3","4","5","6","7","8","9","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"," ","$","%","*","+","-",".","/",":"];function g(y,w){for(var A=[],P="",M=[9,11,13][w],R=y.readBits(M);R>=2;){var T=y.readBits(11),V=Math.floor(T/45),H=T%45;A.push(f[V].charCodeAt(0),f[H].charCodeAt(0)),P+=f[V]+f[H],R-=2}if(R===1){var V=y.readBits(6);A.push(f[V].charCodeAt(0)),P+=f[V]}return{bytes:A,text:P}}function p(y,w){for(var A=[],P="",M=[8,16,16][w],R=y.readBits(M),T=0;T<R;T++){var V=y.readBits(8);A.push(V)}try{P+=decodeURIComponent(A.map(function(H){return"%"+("0"+H.toString(16)).substr(-2)}).join(""))}catch{}return{bytes:A,text:P}}function C(y,w){for(var A=[],P="",M=[8,10,12][w],R=y.readBits(M),T=0;T<R;T++){var V=y.readBits(13),H=Math.floor(V/192)<<8|V%192;H<7936?H+=33088:H+=49472,A.push(H>>8,H&255),P+=String.fromCharCode(r.shiftJISTable[H])}return{bytes:A,text:P}}function b(y,w){for(var A,P,M,R,T=new s.BitStream(y),V=w<=9?0:w<=26?1:2,H={text:"",bytes:[],chunks:[],version:w};T.available()>=4;){var J=T.readBits(4);if(J===d.Terminator)return H;if(J===d.ECI)T.readBits(1)===0?H.chunks.push({type:a.ECI,assignmentNumber:T.readBits(7)}):T.readBits(1)===0?H.chunks.push({type:a.ECI,assignmentNumber:T.readBits(14)}):T.readBits(1)===0?H.chunks.push({type:a.ECI,assignmentNumber:T.readBits(21)}):H.chunks.push({type:a.ECI,assignmentNumber:-1});else if(J===d.Numeric){var se=u(T,V);H.text+=se.text,(A=H.bytes).push.apply(A,se.bytes),H.chunks.push({type:a.Numeric,text:se.text})}else if(J===d.Alphanumeric){var ue=g(T,V);H.text+=ue.text,(P=H.bytes).push.apply(P,ue.bytes),H.chunks.push({type:a.Alphanumeric,text:ue.text})}else if(J===d.Byte){var ie=p(T,V);H.text+=ie.text,(M=H.bytes).push.apply(M,ie.bytes),H.chunks.push({type:a.Byte,bytes:ie.bytes,text:ie.text})}else if(J===d.Kanji){var de=C(T,V);H.text+=de.text,(R=H.bytes).push.apply(R,de.bytes),H.chunks.push({type:a.Kanji,bytes:de.bytes,text:de.text})}}if(T.available()===0||T.readBits(T.available())===0)return H}i.decode=b}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=(function(){function r(a){this.byteOffset=0,this.bitOffset=0,this.bytes=a}return r.prototype.readBits=function(a){if(a<1||a>32||a>this.available())throw new Error("Cannot read "+a.toString()+" bits");var d=0;if(this.bitOffset>0){var u=8-this.bitOffset,f=a<u?a:u,g=u-f,p=255>>8-f<<g;d=(this.bytes[this.byteOffset]&p)>>g,a-=f,this.bitOffset+=f,this.bitOffset===8&&(this.bitOffset=0,this.byteOffset++)}if(a>0){for(;a>=8;)d=d<<8|this.bytes[this.byteOffset]&255,this.byteOffset++,a-=8;if(a>0){var g=8-a,p=255>>g<<g;d=d<<a|(this.bytes[this.byteOffset]&p)>>g,this.bitOffset+=a}}return d},r.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},r})();i.BitStream=s}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0}),i.shiftJISTable={32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:165,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:8254,33088:12288,33089:12289,33090:12290,33091:65292,33092:65294,33093:12539,33094:65306,33095:65307,33096:65311,33097:65281,33098:12443,33099:12444,33100:180,33101:65344,33102:168,33103:65342,33104:65507,33105:65343,33106:12541,33107:12542,33108:12445,33109:12446,33110:12291,33111:20189,33112:12293,33113:12294,33114:12295,33115:12540,33116:8213,33117:8208,33118:65295,33119:92,33120:12316,33121:8214,33122:65372,33123:8230,33124:8229,33125:8216,33126:8217,33127:8220,33128:8221,33129:65288,33130:65289,33131:12308,33132:12309,33133:65339,33134:65341,33135:65371,33136:65373,33137:12296,33138:12297,33139:12298,33140:12299,33141:12300,33142:12301,33143:12302,33144:12303,33145:12304,33146:12305,33147:65291,33148:8722,33149:177,33150:215,33152:247,33153:65309,33154:8800,33155:65308,33156:65310,33157:8806,33158:8807,33159:8734,33160:8756,33161:9794,33162:9792,33163:176,33164:8242,33165:8243,33166:8451,33167:65509,33168:65284,33169:162,33170:163,33171:65285,33172:65283,33173:65286,33174:65290,33175:65312,33176:167,33177:9734,33178:9733,33179:9675,33180:9679,33181:9678,33182:9671,33183:9670,33184:9633,33185:9632,33186:9651,33187:9650,33188:9661,33189:9660,33190:8251,33191:12306,33192:8594,33193:8592,33194:8593,33195:8595,33196:12307,33208:8712,33209:8715,33210:8838,33211:8839,33212:8834,33213:8835,33214:8746,33215:8745,33224:8743,33225:8744,33226:172,33227:8658,33228:8660,33229:8704,33230:8707,33242:8736,33243:8869,33244:8978,33245:8706,33246:8711,33247:8801,33248:8786,33249:8810,33250:8811,33251:8730,33252:8765,33253:8733,33254:8757,33255:8747,33256:8748,33264:8491,33265:8240,33266:9839,33267:9837,33268:9834,33269:8224,33270:8225,33271:182,33276:9711,33359:65296,33360:65297,33361:65298,33362:65299,33363:65300,33364:65301,33365:65302,33366:65303,33367:65304,33368:65305,33376:65313,33377:65314,33378:65315,33379:65316,33380:65317,33381:65318,33382:65319,33383:65320,33384:65321,33385:65322,33386:65323,33387:65324,33388:65325,33389:65326,33390:65327,33391:65328,33392:65329,33393:65330,33394:65331,33395:65332,33396:65333,33397:65334,33398:65335,33399:65336,33400:65337,33401:65338,33409:65345,33410:65346,33411:65347,33412:65348,33413:65349,33414:65350,33415:65351,33416:65352,33417:65353,33418:65354,33419:65355,33420:65356,33421:65357,33422:65358,33423:65359,33424:65360,33425:65361,33426:65362,33427:65363,33428:65364,33429:65365,33430:65366,33431:65367,33432:65368,33433:65369,33434:65370,33439:12353,33440:12354,33441:12355,33442:12356,33443:12357,33444:12358,33445:12359,33446:12360,33447:12361,33448:12362,33449:12363,33450:12364,33451:12365,33452:12366,33453:12367,33454:12368,33455:12369,33456:12370,33457:12371,33458:12372,33459:12373,33460:12374,33461:12375,33462:12376,33463:12377,33464:12378,33465:12379,33466:12380,33467:12381,33468:12382,33469:12383,33470:12384,33471:12385,33472:12386,33473:12387,33474:12388,33475:12389,33476:12390,33477:12391,33478:12392,33479:12393,33480:12394,33481:12395,33482:12396,33483:12397,33484:12398,33485:12399,33486:12400,33487:12401,33488:12402,33489:12403,33490:12404,33491:12405,33492:12406,33493:12407,33494:12408,33495:12409,33496:12410,33497:12411,33498:12412,33499:12413,33500:12414,33501:12415,33502:12416,33503:12417,33504:12418,33505:12419,33506:12420,33507:12421,33508:12422,33509:12423,33510:12424,33511:12425,33512:12426,33513:12427,33514:12428,33515:12429,33516:12430,33517:12431,33518:12432,33519:12433,33520:12434,33521:12435,33600:12449,33601:12450,33602:12451,33603:12452,33604:12453,33605:12454,33606:12455,33607:12456,33608:12457,33609:12458,33610:12459,33611:12460,33612:12461,33613:12462,33614:12463,33615:12464,33616:12465,33617:12466,33618:12467,33619:12468,33620:12469,33621:12470,33622:12471,33623:12472,33624:12473,33625:12474,33626:12475,33627:12476,33628:12477,33629:12478,33630:12479,33631:12480,33632:12481,33633:12482,33634:12483,33635:12484,33636:12485,33637:12486,33638:12487,33639:12488,33640:12489,33641:12490,33642:12491,33643:12492,33644:12493,33645:12494,33646:12495,33647:12496,33648:12497,33649:12498,33650:12499,33651:12500,33652:12501,33653:12502,33654:12503,33655:12504,33656:12505,33657:12506,33658:12507,33659:12508,33660:12509,33661:12510,33662:12511,33664:12512,33665:12513,33666:12514,33667:12515,33668:12516,33669:12517,33670:12518,33671:12519,33672:12520,33673:12521,33674:12522,33675:12523,33676:12524,33677:12525,33678:12526,33679:12527,33680:12528,33681:12529,33682:12530,33683:12531,33684:12532,33685:12533,33686:12534,33695:913,33696:914,33697:915,33698:916,33699:917,33700:918,33701:919,33702:920,33703:921,33704:922,33705:923,33706:924,33707:925,33708:926,33709:927,33710:928,33711:929,33712:931,33713:932,33714:933,33715:934,33716:935,33717:936,33718:937,33727:945,33728:946,33729:947,33730:948,33731:949,33732:950,33733:951,33734:952,33735:953,33736:954,33737:955,33738:956,33739:957,33740:958,33741:959,33742:960,33743:961,33744:963,33745:964,33746:965,33747:966,33748:967,33749:968,33750:969,33856:1040,33857:1041,33858:1042,33859:1043,33860:1044,33861:1045,33862:1025,33863:1046,33864:1047,33865:1048,33866:1049,33867:1050,33868:1051,33869:1052,33870:1053,33871:1054,33872:1055,33873:1056,33874:1057,33875:1058,33876:1059,33877:1060,33878:1061,33879:1062,33880:1063,33881:1064,33882:1065,33883:1066,33884:1067,33885:1068,33886:1069,33887:1070,33888:1071,33904:1072,33905:1073,33906:1074,33907:1075,33908:1076,33909:1077,33910:1105,33911:1078,33912:1079,33913:1080,33914:1081,33915:1082,33916:1083,33917:1084,33918:1085,33920:1086,33921:1087,33922:1088,33923:1089,33924:1090,33925:1091,33926:1092,33927:1093,33928:1094,33929:1095,33930:1096,33931:1097,33932:1098,33933:1099,33934:1100,33935:1101,33936:1102,33937:1103,33951:9472,33952:9474,33953:9484,33954:9488,33955:9496,33956:9492,33957:9500,33958:9516,33959:9508,33960:9524,33961:9532,33962:9473,33963:9475,33964:9487,33965:9491,33966:9499,33967:9495,33968:9507,33969:9523,33970:9515,33971:9531,33972:9547,33973:9504,33974:9519,33975:9512,33976:9527,33977:9535,33978:9501,33979:9520,33980:9509,33981:9528,33982:9538,34975:20124,34976:21782,34977:23043,34978:38463,34979:21696,34980:24859,34981:25384,34982:23030,34983:36898,34984:33909,34985:33564,34986:31312,34987:24746,34988:25569,34989:28197,34990:26093,34991:33894,34992:33446,34993:39925,34994:26771,34995:22311,34996:26017,34997:25201,34998:23451,34999:22992,35e3:34427,35001:39156,35002:32098,35003:32190,35004:39822,35005:25110,35006:31903,35007:34999,35008:23433,35009:24245,35010:25353,35011:26263,35012:26696,35013:38343,35014:38797,35015:26447,35016:20197,35017:20234,35018:20301,35019:20381,35020:20553,35021:22258,35022:22839,35023:22996,35024:23041,35025:23561,35026:24799,35027:24847,35028:24944,35029:26131,35030:26885,35031:28858,35032:30031,35033:30064,35034:31227,35035:32173,35036:32239,35037:32963,35038:33806,35039:34915,35040:35586,35041:36949,35042:36986,35043:21307,35044:20117,35045:20133,35046:22495,35047:32946,35048:37057,35049:30959,35050:19968,35051:22769,35052:28322,35053:36920,35054:31282,35055:33576,35056:33419,35057:39983,35058:20801,35059:21360,35060:21693,35061:21729,35062:22240,35063:23035,35064:24341,35065:39154,35066:28139,35067:32996,35068:34093,35136:38498,35137:38512,35138:38560,35139:38907,35140:21515,35141:21491,35142:23431,35143:28879,35144:32701,35145:36802,35146:38632,35147:21359,35148:40284,35149:31418,35150:19985,35151:30867,35152:33276,35153:28198,35154:22040,35155:21764,35156:27421,35157:34074,35158:39995,35159:23013,35160:21417,35161:28006,35162:29916,35163:38287,35164:22082,35165:20113,35166:36939,35167:38642,35168:33615,35169:39180,35170:21473,35171:21942,35172:23344,35173:24433,35174:26144,35175:26355,35176:26628,35177:27704,35178:27891,35179:27945,35180:29787,35181:30408,35182:31310,35183:38964,35184:33521,35185:34907,35186:35424,35187:37613,35188:28082,35189:30123,35190:30410,35191:39365,35192:24742,35193:35585,35194:36234,35195:38322,35196:27022,35197:21421,35198:20870,35200:22290,35201:22576,35202:22852,35203:23476,35204:24310,35205:24616,35206:25513,35207:25588,35208:27839,35209:28436,35210:28814,35211:28948,35212:29017,35213:29141,35214:29503,35215:32257,35216:33398,35217:33489,35218:34199,35219:36960,35220:37467,35221:40219,35222:22633,35223:26044,35224:27738,35225:29989,35226:20985,35227:22830,35228:22885,35229:24448,35230:24540,35231:25276,35232:26106,35233:27178,35234:27431,35235:27572,35236:29579,35237:32705,35238:35158,35239:40236,35240:40206,35241:40644,35242:23713,35243:27798,35244:33659,35245:20740,35246:23627,35247:25014,35248:33222,35249:26742,35250:29281,35251:20057,35252:20474,35253:21368,35254:24681,35255:28201,35256:31311,35257:38899,35258:19979,35259:21270,35260:20206,35261:20309,35262:20285,35263:20385,35264:20339,35265:21152,35266:21487,35267:22025,35268:22799,35269:23233,35270:23478,35271:23521,35272:31185,35273:26247,35274:26524,35275:26550,35276:27468,35277:27827,35278:28779,35279:29634,35280:31117,35281:31166,35282:31292,35283:31623,35284:33457,35285:33499,35286:33540,35287:33655,35288:33775,35289:33747,35290:34662,35291:35506,35292:22057,35293:36008,35294:36838,35295:36942,35296:38686,35297:34442,35298:20420,35299:23784,35300:25105,35301:29273,35302:30011,35303:33253,35304:33469,35305:34558,35306:36032,35307:38597,35308:39187,35309:39381,35310:20171,35311:20250,35312:35299,35313:22238,35314:22602,35315:22730,35316:24315,35317:24555,35318:24618,35319:24724,35320:24674,35321:25040,35322:25106,35323:25296,35324:25913,35392:39745,35393:26214,35394:26800,35395:28023,35396:28784,35397:30028,35398:30342,35399:32117,35400:33445,35401:34809,35402:38283,35403:38542,35404:35997,35405:20977,35406:21182,35407:22806,35408:21683,35409:23475,35410:23830,35411:24936,35412:27010,35413:28079,35414:30861,35415:33995,35416:34903,35417:35442,35418:37799,35419:39608,35420:28012,35421:39336,35422:34521,35423:22435,35424:26623,35425:34510,35426:37390,35427:21123,35428:22151,35429:21508,35430:24275,35431:25313,35432:25785,35433:26684,35434:26680,35435:27579,35436:29554,35437:30906,35438:31339,35439:35226,35440:35282,35441:36203,35442:36611,35443:37101,35444:38307,35445:38548,35446:38761,35447:23398,35448:23731,35449:27005,35450:38989,35451:38990,35452:25499,35453:31520,35454:27179,35456:27263,35457:26806,35458:39949,35459:28511,35460:21106,35461:21917,35462:24688,35463:25324,35464:27963,35465:28167,35466:28369,35467:33883,35468:35088,35469:36676,35470:19988,35471:39993,35472:21494,35473:26907,35474:27194,35475:38788,35476:26666,35477:20828,35478:31427,35479:33970,35480:37340,35481:37772,35482:22107,35483:40232,35484:26658,35485:33541,35486:33841,35487:31909,35488:21e3,35489:33477,35490:29926,35491:20094,35492:20355,35493:20896,35494:23506,35495:21002,35496:21208,35497:21223,35498:24059,35499:21914,35500:22570,35501:23014,35502:23436,35503:23448,35504:23515,35505:24178,35506:24185,35507:24739,35508:24863,35509:24931,35510:25022,35511:25563,35512:25954,35513:26577,35514:26707,35515:26874,35516:27454,35517:27475,35518:27735,35519:28450,35520:28567,35521:28485,35522:29872,35523:29976,35524:30435,35525:30475,35526:31487,35527:31649,35528:31777,35529:32233,35530:32566,35531:32752,35532:32925,35533:33382,35534:33694,35535:35251,35536:35532,35537:36011,35538:36996,35539:37969,35540:38291,35541:38289,35542:38306,35543:38501,35544:38867,35545:39208,35546:33304,35547:20024,35548:21547,35549:23736,35550:24012,35551:29609,35552:30284,35553:30524,35554:23721,35555:32747,35556:36107,35557:38593,35558:38929,35559:38996,35560:39e3,35561:20225,35562:20238,35563:21361,35564:21916,35565:22120,35566:22522,35567:22855,35568:23305,35569:23492,35570:23696,35571:24076,35572:24190,35573:24524,35574:25582,35575:26426,35576:26071,35577:26082,35578:26399,35579:26827,35580:26820,35648:27231,35649:24112,35650:27589,35651:27671,35652:27773,35653:30079,35654:31048,35655:23395,35656:31232,35657:32e3,35658:24509,35659:35215,35660:35352,35661:36020,35662:36215,35663:36556,35664:36637,35665:39138,35666:39438,35667:39740,35668:20096,35669:20605,35670:20736,35671:22931,35672:23452,35673:25135,35674:25216,35675:25836,35676:27450,35677:29344,35678:30097,35679:31047,35680:32681,35681:34811,35682:35516,35683:35696,35684:25516,35685:33738,35686:38816,35687:21513,35688:21507,35689:21931,35690:26708,35691:27224,35692:35440,35693:30759,35694:26485,35695:40653,35696:21364,35697:23458,35698:33050,35699:34384,35700:36870,35701:19992,35702:20037,35703:20167,35704:20241,35705:21450,35706:21560,35707:23470,35708:24339,35709:24613,35710:25937,35712:26429,35713:27714,35714:27762,35715:27875,35716:28792,35717:29699,35718:31350,35719:31406,35720:31496,35721:32026,35722:31998,35723:32102,35724:26087,35725:29275,35726:21435,35727:23621,35728:24040,35729:25298,35730:25312,35731:25369,35732:28192,35733:34394,35734:35377,35735:36317,35736:37624,35737:28417,35738:31142,35739:39770,35740:20136,35741:20139,35742:20140,35743:20379,35744:20384,35745:20689,35746:20807,35747:31478,35748:20849,35749:20982,35750:21332,35751:21281,35752:21375,35753:21483,35754:21932,35755:22659,35756:23777,35757:24375,35758:24394,35759:24623,35760:24656,35761:24685,35762:25375,35763:25945,35764:27211,35765:27841,35766:29378,35767:29421,35768:30703,35769:33016,35770:33029,35771:33288,35772:34126,35773:37111,35774:37857,35775:38911,35776:39255,35777:39514,35778:20208,35779:20957,35780:23597,35781:26241,35782:26989,35783:23616,35784:26354,35785:26997,35786:29577,35787:26704,35788:31873,35789:20677,35790:21220,35791:22343,35792:24062,35793:37670,35794:26020,35795:27427,35796:27453,35797:29748,35798:31105,35799:31165,35800:31563,35801:32202,35802:33465,35803:33740,35804:34943,35805:35167,35806:35641,35807:36817,35808:37329,35809:21535,35810:37504,35811:20061,35812:20534,35813:21477,35814:21306,35815:29399,35816:29590,35817:30697,35818:33510,35819:36527,35820:39366,35821:39368,35822:39378,35823:20855,35824:24858,35825:34398,35826:21936,35827:31354,35828:20598,35829:23507,35830:36935,35831:38533,35832:20018,35833:27355,35834:37351,35835:23633,35836:23624,35904:25496,35905:31391,35906:27795,35907:38772,35908:36705,35909:31402,35910:29066,35911:38536,35912:31874,35913:26647,35914:32368,35915:26705,35916:37740,35917:21234,35918:21531,35919:34219,35920:35347,35921:32676,35922:36557,35923:37089,35924:21350,35925:34952,35926:31041,35927:20418,35928:20670,35929:21009,35930:20804,35931:21843,35932:22317,35933:29674,35934:22411,35935:22865,35936:24418,35937:24452,35938:24693,35939:24950,35940:24935,35941:25001,35942:25522,35943:25658,35944:25964,35945:26223,35946:26690,35947:28179,35948:30054,35949:31293,35950:31995,35951:32076,35952:32153,35953:32331,35954:32619,35955:33550,35956:33610,35957:34509,35958:35336,35959:35427,35960:35686,35961:36605,35962:38938,35963:40335,35964:33464,35965:36814,35966:39912,35968:21127,35969:25119,35970:25731,35971:28608,35972:38553,35973:26689,35974:20625,35975:27424,35976:27770,35977:28500,35978:31348,35979:32080,35980:34880,35981:35363,35982:26376,35983:20214,35984:20537,35985:20518,35986:20581,35987:20860,35988:21048,35989:21091,35990:21927,35991:22287,35992:22533,35993:23244,35994:24314,35995:25010,35996:25080,35997:25331,35998:25458,35999:26908,36e3:27177,36001:29309,36002:29356,36003:29486,36004:30740,36005:30831,36006:32121,36007:30476,36008:32937,36009:35211,36010:35609,36011:36066,36012:36562,36013:36963,36014:37749,36015:38522,36016:38997,36017:39443,36018:40568,36019:20803,36020:21407,36021:21427,36022:24187,36023:24358,36024:28187,36025:28304,36026:29572,36027:29694,36028:32067,36029:33335,36030:35328,36031:35578,36032:38480,36033:20046,36034:20491,36035:21476,36036:21628,36037:22266,36038:22993,36039:23396,36040:24049,36041:24235,36042:24359,36043:25144,36044:25925,36045:26543,36046:28246,36047:29392,36048:31946,36049:34996,36050:32929,36051:32993,36052:33776,36053:34382,36054:35463,36055:36328,36056:37431,36057:38599,36058:39015,36059:40723,36060:20116,36061:20114,36062:20237,36063:21320,36064:21577,36065:21566,36066:23087,36067:24460,36068:24481,36069:24735,36070:26791,36071:27278,36072:29786,36073:30849,36074:35486,36075:35492,36076:35703,36077:37264,36078:20062,36079:39881,36080:20132,36081:20348,36082:20399,36083:20505,36084:20502,36085:20809,36086:20844,36087:21151,36088:21177,36089:21246,36090:21402,36091:21475,36092:21521,36160:21518,36161:21897,36162:22353,36163:22434,36164:22909,36165:23380,36166:23389,36167:23439,36168:24037,36169:24039,36170:24055,36171:24184,36172:24195,36173:24218,36174:24247,36175:24344,36176:24658,36177:24908,36178:25239,36179:25304,36180:25511,36181:25915,36182:26114,36183:26179,36184:26356,36185:26477,36186:26657,36187:26775,36188:27083,36189:27743,36190:27946,36191:28009,36192:28207,36193:28317,36194:30002,36195:30343,36196:30828,36197:31295,36198:31968,36199:32005,36200:32024,36201:32094,36202:32177,36203:32789,36204:32771,36205:32943,36206:32945,36207:33108,36208:33167,36209:33322,36210:33618,36211:34892,36212:34913,36213:35611,36214:36002,36215:36092,36216:37066,36217:37237,36218:37489,36219:30783,36220:37628,36221:38308,36222:38477,36224:38917,36225:39321,36226:39640,36227:40251,36228:21083,36229:21163,36230:21495,36231:21512,36232:22741,36233:25335,36234:28640,36235:35946,36236:36703,36237:40633,36238:20811,36239:21051,36240:21578,36241:22269,36242:31296,36243:37239,36244:40288,36245:40658,36246:29508,36247:28425,36248:33136,36249:29969,36250:24573,36251:24794,36252:39592,36253:29403,36254:36796,36255:27492,36256:38915,36257:20170,36258:22256,36259:22372,36260:22718,36261:23130,36262:24680,36263:25031,36264:26127,36265:26118,36266:26681,36267:26801,36268:28151,36269:30165,36270:32058,36271:33390,36272:39746,36273:20123,36274:20304,36275:21449,36276:21766,36277:23919,36278:24038,36279:24046,36280:26619,36281:27801,36282:29811,36283:30722,36284:35408,36285:37782,36286:35039,36287:22352,36288:24231,36289:25387,36290:20661,36291:20652,36292:20877,36293:26368,36294:21705,36295:22622,36296:22971,36297:23472,36298:24425,36299:25165,36300:25505,36301:26685,36302:27507,36303:28168,36304:28797,36305:37319,36306:29312,36307:30741,36308:30758,36309:31085,36310:25998,36311:32048,36312:33756,36313:35009,36314:36617,36315:38555,36316:21092,36317:22312,36318:26448,36319:32618,36320:36001,36321:20916,36322:22338,36323:38442,36324:22586,36325:27018,36326:32948,36327:21682,36328:23822,36329:22524,36330:30869,36331:40442,36332:20316,36333:21066,36334:21643,36335:25662,36336:26152,36337:26388,36338:26613,36339:31364,36340:31574,36341:32034,36342:37679,36343:26716,36344:39853,36345:31545,36346:21273,36347:20874,36348:21047,36416:23519,36417:25334,36418:25774,36419:25830,36420:26413,36421:27578,36422:34217,36423:38609,36424:30352,36425:39894,36426:25420,36427:37638,36428:39851,36429:30399,36430:26194,36431:19977,36432:20632,36433:21442,36434:23665,36435:24808,36436:25746,36437:25955,36438:26719,36439:29158,36440:29642,36441:29987,36442:31639,36443:32386,36444:34453,36445:35715,36446:36059,36447:37240,36448:39184,36449:26028,36450:26283,36451:27531,36452:20181,36453:20180,36454:20282,36455:20351,36456:21050,36457:21496,36458:21490,36459:21987,36460:22235,36461:22763,36462:22987,36463:22985,36464:23039,36465:23376,36466:23629,36467:24066,36468:24107,36469:24535,36470:24605,36471:25351,36472:25903,36473:23388,36474:26031,36475:26045,36476:26088,36477:26525,36478:27490,36480:27515,36481:27663,36482:29509,36483:31049,36484:31169,36485:31992,36486:32025,36487:32043,36488:32930,36489:33026,36490:33267,36491:35222,36492:35422,36493:35433,36494:35430,36495:35468,36496:35566,36497:36039,36498:36060,36499:38604,36500:39164,36501:27503,36502:20107,36503:20284,36504:20365,36505:20816,36506:23383,36507:23546,36508:24904,36509:25345,36510:26178,36511:27425,36512:28363,36513:27835,36514:29246,36515:29885,36516:30164,36517:30913,36518:31034,36519:32780,36520:32819,36521:33258,36522:33940,36523:36766,36524:27728,36525:40575,36526:24335,36527:35672,36528:40235,36529:31482,36530:36600,36531:23437,36532:38635,36533:19971,36534:21489,36535:22519,36536:22833,36537:23241,36538:23460,36539:24713,36540:28287,36541:28422,36542:30142,36543:36074,36544:23455,36545:34048,36546:31712,36547:20594,36548:26612,36549:33437,36550:23649,36551:34122,36552:32286,36553:33294,36554:20889,36555:23556,36556:25448,36557:36198,36558:26012,36559:29038,36560:31038,36561:32023,36562:32773,36563:35613,36564:36554,36565:36974,36566:34503,36567:37034,36568:20511,36569:21242,36570:23610,36571:26451,36572:28796,36573:29237,36574:37196,36575:37320,36576:37675,36577:33509,36578:23490,36579:24369,36580:24825,36581:20027,36582:21462,36583:23432,36584:25163,36585:26417,36586:27530,36587:29417,36588:29664,36589:31278,36590:33131,36591:36259,36592:37202,36593:39318,36594:20754,36595:21463,36596:21610,36597:23551,36598:25480,36599:27193,36600:32172,36601:38656,36602:22234,36603:21454,36604:21608,36672:23447,36673:23601,36674:24030,36675:20462,36676:24833,36677:25342,36678:27954,36679:31168,36680:31179,36681:32066,36682:32333,36683:32722,36684:33261,36685:33311,36686:33936,36687:34886,36688:35186,36689:35728,36690:36468,36691:36655,36692:36913,36693:37195,36694:37228,36695:38598,36696:37276,36697:20160,36698:20303,36699:20805,36700:21313,36701:24467,36702:25102,36703:26580,36704:27713,36705:28171,36706:29539,36707:32294,36708:37325,36709:37507,36710:21460,36711:22809,36712:23487,36713:28113,36714:31069,36715:32302,36716:31899,36717:22654,36718:29087,36719:20986,36720:34899,36721:36848,36722:20426,36723:23803,36724:26149,36725:30636,36726:31459,36727:33308,36728:39423,36729:20934,36730:24490,36731:26092,36732:26991,36733:27529,36734:28147,36736:28310,36737:28516,36738:30462,36739:32020,36740:24033,36741:36981,36742:37255,36743:38918,36744:20966,36745:21021,36746:25152,36747:26257,36748:26329,36749:28186,36750:24246,36751:32210,36752:32626,36753:26360,36754:34223,36755:34295,36756:35576,36757:21161,36758:21465,36759:22899,36760:24207,36761:24464,36762:24661,36763:37604,36764:38500,36765:20663,36766:20767,36767:21213,36768:21280,36769:21319,36770:21484,36771:21736,36772:21830,36773:21809,36774:22039,36775:22888,36776:22974,36777:23100,36778:23477,36779:23558,36780:23567,36781:23569,36782:23578,36783:24196,36784:24202,36785:24288,36786:24432,36787:25215,36788:25220,36789:25307,36790:25484,36791:25463,36792:26119,36793:26124,36794:26157,36795:26230,36796:26494,36797:26786,36798:27167,36799:27189,36800:27836,36801:28040,36802:28169,36803:28248,36804:28988,36805:28966,36806:29031,36807:30151,36808:30465,36809:30813,36810:30977,36811:31077,36812:31216,36813:31456,36814:31505,36815:31911,36816:32057,36817:32918,36818:33750,36819:33931,36820:34121,36821:34909,36822:35059,36823:35359,36824:35388,36825:35412,36826:35443,36827:35937,36828:36062,36829:37284,36830:37478,36831:37758,36832:37912,36833:38556,36834:38808,36835:19978,36836:19976,36837:19998,36838:20055,36839:20887,36840:21104,36841:22478,36842:22580,36843:22732,36844:23330,36845:24120,36846:24773,36847:25854,36848:26465,36849:26454,36850:27972,36851:29366,36852:30067,36853:31331,36854:33976,36855:35698,36856:37304,36857:37664,36858:22065,36859:22516,36860:39166,36928:25325,36929:26893,36930:27542,36931:29165,36932:32340,36933:32887,36934:33394,36935:35302,36936:39135,36937:34645,36938:36785,36939:23611,36940:20280,36941:20449,36942:20405,36943:21767,36944:23072,36945:23517,36946:23529,36947:24515,36948:24910,36949:25391,36950:26032,36951:26187,36952:26862,36953:27035,36954:28024,36955:28145,36956:30003,36957:30137,36958:30495,36959:31070,36960:31206,36961:32051,36962:33251,36963:33455,36964:34218,36965:35242,36966:35386,36967:36523,36968:36763,36969:36914,36970:37341,36971:38663,36972:20154,36973:20161,36974:20995,36975:22645,36976:22764,36977:23563,36978:29978,36979:23613,36980:33102,36981:35338,36982:36805,36983:38499,36984:38765,36985:31525,36986:35535,36987:38920,36988:37218,36989:22259,36990:21416,36992:36887,36993:21561,36994:22402,36995:24101,36996:25512,36997:27700,36998:28810,36999:30561,37e3:31883,37001:32736,37002:34928,37003:36930,37004:37204,37005:37648,37006:37656,37007:38543,37008:29790,37009:39620,37010:23815,37011:23913,37012:25968,37013:26530,37014:36264,37015:38619,37016:25454,37017:26441,37018:26905,37019:33733,37020:38935,37021:38592,37022:35070,37023:28548,37024:25722,37025:23544,37026:19990,37027:28716,37028:30045,37029:26159,37030:20932,37031:21046,37032:21218,37033:22995,37034:24449,37035:24615,37036:25104,37037:25919,37038:25972,37039:26143,37040:26228,37041:26866,37042:26646,37043:27491,37044:28165,37045:29298,37046:29983,37047:30427,37048:31934,37049:32854,37050:22768,37051:35069,37052:35199,37053:35488,37054:35475,37055:35531,37056:36893,37057:37266,37058:38738,37059:38745,37060:25993,37061:31246,37062:33030,37063:38587,37064:24109,37065:24796,37066:25114,37067:26021,37068:26132,37069:26512,37070:30707,37071:31309,37072:31821,37073:32318,37074:33034,37075:36012,37076:36196,37077:36321,37078:36447,37079:30889,37080:20999,37081:25305,37082:25509,37083:25666,37084:25240,37085:35373,37086:31363,37087:31680,37088:35500,37089:38634,37090:32118,37091:33292,37092:34633,37093:20185,37094:20808,37095:21315,37096:21344,37097:23459,37098:23554,37099:23574,37100:24029,37101:25126,37102:25159,37103:25776,37104:26643,37105:26676,37106:27849,37107:27973,37108:27927,37109:26579,37110:28508,37111:29006,37112:29053,37113:26059,37114:31359,37115:31661,37116:32218,37184:32330,37185:32680,37186:33146,37187:33307,37188:33337,37189:34214,37190:35438,37191:36046,37192:36341,37193:36984,37194:36983,37195:37549,37196:37521,37197:38275,37198:39854,37199:21069,37200:21892,37201:28472,37202:28982,37203:20840,37204:31109,37205:32341,37206:33203,37207:31950,37208:22092,37209:22609,37210:23720,37211:25514,37212:26366,37213:26365,37214:26970,37215:29401,37216:30095,37217:30094,37218:30990,37219:31062,37220:31199,37221:31895,37222:32032,37223:32068,37224:34311,37225:35380,37226:38459,37227:36961,37228:40736,37229:20711,37230:21109,37231:21452,37232:21474,37233:20489,37234:21930,37235:22766,37236:22863,37237:29245,37238:23435,37239:23652,37240:21277,37241:24803,37242:24819,37243:25436,37244:25475,37245:25407,37246:25531,37248:25805,37249:26089,37250:26361,37251:24035,37252:27085,37253:27133,37254:28437,37255:29157,37256:20105,37257:30185,37258:30456,37259:31379,37260:31967,37261:32207,37262:32156,37263:32865,37264:33609,37265:33624,37266:33900,37267:33980,37268:34299,37269:35013,37270:36208,37271:36865,37272:36973,37273:37783,37274:38684,37275:39442,37276:20687,37277:22679,37278:24974,37279:33235,37280:34101,37281:36104,37282:36896,37283:20419,37284:20596,37285:21063,37286:21363,37287:24687,37288:25417,37289:26463,37290:28204,37291:36275,37292:36895,37293:20439,37294:23646,37295:36042,37296:26063,37297:32154,37298:21330,37299:34966,37300:20854,37301:25539,37302:23384,37303:23403,37304:23562,37305:25613,37306:26449,37307:36956,37308:20182,37309:22810,37310:22826,37311:27760,37312:35409,37313:21822,37314:22549,37315:22949,37316:24816,37317:25171,37318:26561,37319:33333,37320:26965,37321:38464,37322:39364,37323:39464,37324:20307,37325:22534,37326:23550,37327:32784,37328:23729,37329:24111,37330:24453,37331:24608,37332:24907,37333:25140,37334:26367,37335:27888,37336:28382,37337:32974,37338:33151,37339:33492,37340:34955,37341:36024,37342:36864,37343:36910,37344:38538,37345:40667,37346:39899,37347:20195,37348:21488,37349:22823,37350:31532,37351:37261,37352:38988,37353:40441,37354:28381,37355:28711,37356:21331,37357:21828,37358:23429,37359:25176,37360:25246,37361:25299,37362:27810,37363:28655,37364:29730,37365:35351,37366:37944,37367:28609,37368:35582,37369:33592,37370:20967,37371:34552,37372:21482,37440:21481,37441:20294,37442:36948,37443:36784,37444:22890,37445:33073,37446:24061,37447:31466,37448:36799,37449:26842,37450:35895,37451:29432,37452:40008,37453:27197,37454:35504,37455:20025,37456:21336,37457:22022,37458:22374,37459:25285,37460:25506,37461:26086,37462:27470,37463:28129,37464:28251,37465:28845,37466:30701,37467:31471,37468:31658,37469:32187,37470:32829,37471:32966,37472:34507,37473:35477,37474:37723,37475:22243,37476:22727,37477:24382,37478:26029,37479:26262,37480:27264,37481:27573,37482:30007,37483:35527,37484:20516,37485:30693,37486:22320,37487:24347,37488:24677,37489:26234,37490:27744,37491:30196,37492:31258,37493:32622,37494:33268,37495:34584,37496:36933,37497:39347,37498:31689,37499:30044,37500:31481,37501:31569,37502:33988,37504:36880,37505:31209,37506:31378,37507:33590,37508:23265,37509:30528,37510:20013,37511:20210,37512:23449,37513:24544,37514:25277,37515:26172,37516:26609,37517:27880,37518:34411,37519:34935,37520:35387,37521:37198,37522:37619,37523:39376,37524:27159,37525:28710,37526:29482,37527:33511,37528:33879,37529:36015,37530:19969,37531:20806,37532:20939,37533:21899,37534:23541,37535:24086,37536:24115,37537:24193,37538:24340,37539:24373,37540:24427,37541:24500,37542:25074,37543:25361,37544:26274,37545:26397,37546:28526,37547:29266,37548:30010,37549:30522,37550:32884,37551:33081,37552:33144,37553:34678,37554:35519,37555:35548,37556:36229,37557:36339,37558:37530,37559:38263,37560:38914,37561:40165,37562:21189,37563:25431,37564:30452,37565:26389,37566:27784,37567:29645,37568:36035,37569:37806,37570:38515,37571:27941,37572:22684,37573:26894,37574:27084,37575:36861,37576:37786,37577:30171,37578:36890,37579:22618,37580:26626,37581:25524,37582:27131,37583:20291,37584:28460,37585:26584,37586:36795,37587:34086,37588:32180,37589:37716,37590:26943,37591:28528,37592:22378,37593:22775,37594:23340,37595:32044,37596:29226,37597:21514,37598:37347,37599:40372,37600:20141,37601:20302,37602:20572,37603:20597,37604:21059,37605:35998,37606:21576,37607:22564,37608:23450,37609:24093,37610:24213,37611:24237,37612:24311,37613:24351,37614:24716,37615:25269,37616:25402,37617:25552,37618:26799,37619:27712,37620:30855,37621:31118,37622:31243,37623:32224,37624:33351,37625:35330,37626:35558,37627:36420,37628:36883,37696:37048,37697:37165,37698:37336,37699:40718,37700:27877,37701:25688,37702:25826,37703:25973,37704:28404,37705:30340,37706:31515,37707:36969,37708:37841,37709:28346,37710:21746,37711:24505,37712:25764,37713:36685,37714:36845,37715:37444,37716:20856,37717:22635,37718:22825,37719:23637,37720:24215,37721:28155,37722:32399,37723:29980,37724:36028,37725:36578,37726:39003,37727:28857,37728:20253,37729:27583,37730:28593,37731:3e4,37732:38651,37733:20814,37734:21520,37735:22581,37736:22615,37737:22956,37738:23648,37739:24466,37740:26007,37741:26460,37742:28193,37743:30331,37744:33759,37745:36077,37746:36884,37747:37117,37748:37709,37749:30757,37750:30778,37751:21162,37752:24230,37753:22303,37754:22900,37755:24594,37756:20498,37757:20826,37758:20908,37760:20941,37761:20992,37762:21776,37763:22612,37764:22616,37765:22871,37766:23445,37767:23798,37768:23947,37769:24764,37770:25237,37771:25645,37772:26481,37773:26691,37774:26812,37775:26847,37776:30423,37777:28120,37778:28271,37779:28059,37780:28783,37781:29128,37782:24403,37783:30168,37784:31095,37785:31561,37786:31572,37787:31570,37788:31958,37789:32113,37790:21040,37791:33891,37792:34153,37793:34276,37794:35342,37795:35588,37796:35910,37797:36367,37798:36867,37799:36879,37800:37913,37801:38518,37802:38957,37803:39472,37804:38360,37805:20685,37806:21205,37807:21516,37808:22530,37809:23566,37810:24999,37811:25758,37812:27934,37813:30643,37814:31461,37815:33012,37816:33796,37817:36947,37818:37509,37819:23776,37820:40199,37821:21311,37822:24471,37823:24499,37824:28060,37825:29305,37826:30563,37827:31167,37828:31716,37829:27602,37830:29420,37831:35501,37832:26627,37833:27233,37834:20984,37835:31361,37836:26932,37837:23626,37838:40182,37839:33515,37840:23493,37841:37193,37842:28702,37843:22136,37844:23663,37845:24775,37846:25958,37847:27788,37848:35930,37849:36929,37850:38931,37851:21585,37852:26311,37853:37389,37854:22856,37855:37027,37856:20869,37857:20045,37858:20970,37859:34201,37860:35598,37861:28760,37862:25466,37863:37707,37864:26978,37865:39348,37866:32260,37867:30071,37868:21335,37869:26976,37870:36575,37871:38627,37872:27741,37873:20108,37874:23612,37875:24336,37876:36841,37877:21250,37878:36049,37879:32905,37880:34425,37881:24319,37882:26085,37883:20083,37884:20837,37952:22914,37953:23615,37954:38894,37955:20219,37956:22922,37957:24525,37958:35469,37959:28641,37960:31152,37961:31074,37962:23527,37963:33905,37964:29483,37965:29105,37966:24180,37967:24565,37968:25467,37969:25754,37970:29123,37971:31896,37972:20035,37973:24316,37974:20043,37975:22492,37976:22178,37977:24745,37978:28611,37979:32013,37980:33021,37981:33075,37982:33215,37983:36786,37984:35223,37985:34468,37986:24052,37987:25226,37988:25773,37989:35207,37990:26487,37991:27874,37992:27966,37993:29750,37994:30772,37995:23110,37996:32629,37997:33453,37998:39340,37999:20467,38e3:24259,38001:25309,38002:25490,38003:25943,38004:26479,38005:30403,38006:29260,38007:32972,38008:32954,38009:36649,38010:37197,38011:20493,38012:22521,38013:23186,38014:26757,38016:26995,38017:29028,38018:29437,38019:36023,38020:22770,38021:36064,38022:38506,38023:36889,38024:34687,38025:31204,38026:30695,38027:33833,38028:20271,38029:21093,38030:21338,38031:25293,38032:26575,38033:27850,38034:30333,38035:31636,38036:31893,38037:33334,38038:34180,38039:36843,38040:26333,38041:28448,38042:29190,38043:32283,38044:33707,38045:39361,38046:40614,38047:20989,38048:31665,38049:30834,38050:31672,38051:32903,38052:31560,38053:27368,38054:24161,38055:32908,38056:30033,38057:30048,38058:20843,38059:37474,38060:28300,38061:30330,38062:37271,38063:39658,38064:20240,38065:32624,38066:25244,38067:31567,38068:38309,38069:40169,38070:22138,38071:22617,38072:34532,38073:38588,38074:20276,38075:21028,38076:21322,38077:21453,38078:21467,38079:24070,38080:25644,38081:26001,38082:26495,38083:27710,38084:27726,38085:29256,38086:29359,38087:29677,38088:30036,38089:32321,38090:33324,38091:34281,38092:36009,38093:31684,38094:37318,38095:29033,38096:38930,38097:39151,38098:25405,38099:26217,38100:30058,38101:30436,38102:30928,38103:34115,38104:34542,38105:21290,38106:21329,38107:21542,38108:22915,38109:24199,38110:24444,38111:24754,38112:25161,38113:25209,38114:25259,38115:26e3,38116:27604,38117:27852,38118:30130,38119:30382,38120:30865,38121:31192,38122:32203,38123:32631,38124:32933,38125:34987,38126:35513,38127:36027,38128:36991,38129:38750,38130:39131,38131:27147,38132:31800,38133:20633,38134:23614,38135:24494,38136:26503,38137:27608,38138:29749,38139:30473,38140:32654,38208:40763,38209:26570,38210:31255,38211:21305,38212:30091,38213:39661,38214:24422,38215:33181,38216:33777,38217:32920,38218:24380,38219:24517,38220:30050,38221:31558,38222:36924,38223:26727,38224:23019,38225:23195,38226:32016,38227:30334,38228:35628,38229:20469,38230:24426,38231:27161,38232:27703,38233:28418,38234:29922,38235:31080,38236:34920,38237:35413,38238:35961,38239:24287,38240:25551,38241:30149,38242:31186,38243:33495,38244:37672,38245:37618,38246:33948,38247:34541,38248:39981,38249:21697,38250:24428,38251:25996,38252:27996,38253:28693,38254:36007,38255:36051,38256:38971,38257:25935,38258:29942,38259:19981,38260:20184,38261:22496,38262:22827,38263:23142,38264:23500,38265:20904,38266:24067,38267:24220,38268:24598,38269:25206,38270:25975,38272:26023,38273:26222,38274:28014,38275:29238,38276:31526,38277:33104,38278:33178,38279:33433,38280:35676,38281:36e3,38282:36070,38283:36212,38284:38428,38285:38468,38286:20398,38287:25771,38288:27494,38289:33310,38290:33889,38291:34154,38292:37096,38293:23553,38294:26963,38295:39080,38296:33914,38297:34135,38298:20239,38299:21103,38300:24489,38301:24133,38302:26381,38303:31119,38304:33145,38305:35079,38306:35206,38307:28149,38308:24343,38309:25173,38310:27832,38311:20175,38312:29289,38313:39826,38314:20998,38315:21563,38316:22132,38317:22707,38318:24996,38319:25198,38320:28954,38321:22894,38322:31881,38323:31966,38324:32027,38325:38640,38326:25991,38327:32862,38328:19993,38329:20341,38330:20853,38331:22592,38332:24163,38333:24179,38334:24330,38335:26564,38336:20006,38337:34109,38338:38281,38339:38491,38340:31859,38341:38913,38342:20731,38343:22721,38344:30294,38345:30887,38346:21029,38347:30629,38348:34065,38349:31622,38350:20559,38351:22793,38352:29255,38353:31687,38354:32232,38355:36794,38356:36820,38357:36941,38358:20415,38359:21193,38360:23081,38361:24321,38362:38829,38363:20445,38364:33303,38365:37610,38366:22275,38367:25429,38368:27497,38369:29995,38370:35036,38371:36628,38372:31298,38373:21215,38374:22675,38375:24917,38376:25098,38377:26286,38378:27597,38379:31807,38380:33769,38381:20515,38382:20472,38383:21253,38384:21574,38385:22577,38386:22857,38387:23453,38388:23792,38389:23791,38390:23849,38391:24214,38392:25265,38393:25447,38394:25918,38395:26041,38396:26379,38464:27861,38465:27873,38466:28921,38467:30770,38468:32299,38469:32990,38470:33459,38471:33804,38472:34028,38473:34562,38474:35090,38475:35370,38476:35914,38477:37030,38478:37586,38479:39165,38480:40179,38481:40300,38482:20047,38483:20129,38484:20621,38485:21078,38486:22346,38487:22952,38488:24125,38489:24536,38490:24537,38491:25151,38492:26292,38493:26395,38494:26576,38495:26834,38496:20882,38497:32033,38498:32938,38499:33192,38500:35584,38501:35980,38502:36031,38503:37502,38504:38450,38505:21536,38506:38956,38507:21271,38508:20693,38509:21340,38510:22696,38511:25778,38512:26420,38513:29287,38514:30566,38515:31302,38516:37350,38517:21187,38518:27809,38519:27526,38520:22528,38521:24140,38522:22868,38523:26412,38524:32763,38525:20961,38526:30406,38528:25705,38529:30952,38530:39764,38531:40635,38532:22475,38533:22969,38534:26151,38535:26522,38536:27598,38537:21737,38538:27097,38539:24149,38540:33180,38541:26517,38542:39850,38543:26622,38544:40018,38545:26717,38546:20134,38547:20451,38548:21448,38549:25273,38550:26411,38551:27819,38552:36804,38553:20397,38554:32365,38555:40639,38556:19975,38557:24930,38558:28288,38559:28459,38560:34067,38561:21619,38562:26410,38563:39749,38564:24051,38565:31637,38566:23724,38567:23494,38568:34588,38569:28234,38570:34001,38571:31252,38572:33032,38573:22937,38574:31885,38575:27665,38576:30496,38577:21209,38578:22818,38579:28961,38580:29279,38581:30683,38582:38695,38583:40289,38584:26891,38585:23167,38586:23064,38587:20901,38588:21517,38589:21629,38590:26126,38591:30431,38592:36855,38593:37528,38594:40180,38595:23018,38596:29277,38597:28357,38598:20813,38599:26825,38600:32191,38601:32236,38602:38754,38603:40634,38604:25720,38605:27169,38606:33538,38607:22916,38608:23391,38609:27611,38610:29467,38611:30450,38612:32178,38613:32791,38614:33945,38615:20786,38616:26408,38617:40665,38618:30446,38619:26466,38620:21247,38621:39173,38622:23588,38623:25147,38624:31870,38625:36016,38626:21839,38627:24758,38628:32011,38629:38272,38630:21249,38631:20063,38632:20918,38633:22812,38634:29242,38635:32822,38636:37326,38637:24357,38638:30690,38639:21380,38640:24441,38641:32004,38642:34220,38643:35379,38644:36493,38645:38742,38646:26611,38647:34222,38648:37971,38649:24841,38650:24840,38651:27833,38652:30290,38720:35565,38721:36664,38722:21807,38723:20305,38724:20778,38725:21191,38726:21451,38727:23461,38728:24189,38729:24736,38730:24962,38731:25558,38732:26377,38733:26586,38734:28263,38735:28044,38736:29494,38737:29495,38738:30001,38739:31056,38740:35029,38741:35480,38742:36938,38743:37009,38744:37109,38745:38596,38746:34701,38747:22805,38748:20104,38749:20313,38750:19982,38751:35465,38752:36671,38753:38928,38754:20653,38755:24188,38756:22934,38757:23481,38758:24248,38759:25562,38760:25594,38761:25793,38762:26332,38763:26954,38764:27096,38765:27915,38766:28342,38767:29076,38768:29992,38769:31407,38770:32650,38771:32768,38772:33865,38773:33993,38774:35201,38775:35617,38776:36362,38777:36965,38778:38525,38779:39178,38780:24958,38781:25233,38782:27442,38784:27779,38785:28020,38786:32716,38787:32764,38788:28096,38789:32645,38790:34746,38791:35064,38792:26469,38793:33713,38794:38972,38795:38647,38796:27931,38797:32097,38798:33853,38799:37226,38800:20081,38801:21365,38802:23888,38803:27396,38804:28651,38805:34253,38806:34349,38807:35239,38808:21033,38809:21519,38810:23653,38811:26446,38812:26792,38813:29702,38814:29827,38815:30178,38816:35023,38817:35041,38818:37324,38819:38626,38820:38520,38821:24459,38822:29575,38823:31435,38824:33870,38825:25504,38826:30053,38827:21129,38828:27969,38829:28316,38830:29705,38831:30041,38832:30827,38833:31890,38834:38534,38835:31452,38836:40845,38837:20406,38838:24942,38839:26053,38840:34396,38841:20102,38842:20142,38843:20698,38844:20001,38845:20940,38846:23534,38847:26009,38848:26753,38849:28092,38850:29471,38851:30274,38852:30637,38853:31260,38854:31975,38855:33391,38856:35538,38857:36988,38858:37327,38859:38517,38860:38936,38861:21147,38862:32209,38863:20523,38864:21400,38865:26519,38866:28107,38867:29136,38868:29747,38869:33256,38870:36650,38871:38563,38872:40023,38873:40607,38874:29792,38875:22593,38876:28057,38877:32047,38878:39006,38879:20196,38880:20278,38881:20363,38882:20919,38883:21169,38884:23994,38885:24604,38886:29618,38887:31036,38888:33491,38889:37428,38890:38583,38891:38646,38892:38666,38893:40599,38894:40802,38895:26278,38896:27508,38897:21015,38898:21155,38899:28872,38900:35010,38901:24265,38902:24651,38903:24976,38904:28451,38905:29001,38906:31806,38907:32244,38908:32879,38976:34030,38977:36899,38978:37676,38979:21570,38980:39791,38981:27347,38982:28809,38983:36034,38984:36335,38985:38706,38986:21172,38987:23105,38988:24266,38989:24324,38990:26391,38991:27004,38992:27028,38993:28010,38994:28431,38995:29282,38996:29436,38997:31725,38998:32769,38999:32894,39e3:34635,39001:37070,39002:20845,39003:40595,39004:31108,39005:32907,39006:37682,39007:35542,39008:20525,39009:21644,39010:35441,39011:27498,39012:36036,39013:33031,39014:24785,39015:26528,39016:40434,39017:20121,39018:20120,39019:39952,39020:35435,39021:34241,39022:34152,39023:26880,39024:28286,39025:30871,39026:33109,39071:24332,39072:19984,39073:19989,39074:20010,39075:20017,39076:20022,39077:20028,39078:20031,39079:20034,39080:20054,39081:20056,39082:20098,39083:20101,39084:35947,39085:20106,39086:33298,39087:24333,39088:20110,39089:20126,39090:20127,39091:20128,39092:20130,39093:20144,39094:20147,39095:20150,39096:20174,39097:20173,39098:20164,39099:20166,39100:20162,39101:20183,39102:20190,39103:20205,39104:20191,39105:20215,39106:20233,39107:20314,39108:20272,39109:20315,39110:20317,39111:20311,39112:20295,39113:20342,39114:20360,39115:20367,39116:20376,39117:20347,39118:20329,39119:20336,39120:20369,39121:20335,39122:20358,39123:20374,39124:20760,39125:20436,39126:20447,39127:20430,39128:20440,39129:20443,39130:20433,39131:20442,39132:20432,39133:20452,39134:20453,39135:20506,39136:20520,39137:20500,39138:20522,39139:20517,39140:20485,39141:20252,39142:20470,39143:20513,39144:20521,39145:20524,39146:20478,39147:20463,39148:20497,39149:20486,39150:20547,39151:20551,39152:26371,39153:20565,39154:20560,39155:20552,39156:20570,39157:20566,39158:20588,39159:20600,39160:20608,39161:20634,39162:20613,39163:20660,39164:20658,39232:20681,39233:20682,39234:20659,39235:20674,39236:20694,39237:20702,39238:20709,39239:20717,39240:20707,39241:20718,39242:20729,39243:20725,39244:20745,39245:20737,39246:20738,39247:20758,39248:20757,39249:20756,39250:20762,39251:20769,39252:20794,39253:20791,39254:20796,39255:20795,39256:20799,39257:20800,39258:20818,39259:20812,39260:20820,39261:20834,39262:31480,39263:20841,39264:20842,39265:20846,39266:20864,39267:20866,39268:22232,39269:20876,39270:20873,39271:20879,39272:20881,39273:20883,39274:20885,39275:20886,39276:20900,39277:20902,39278:20898,39279:20905,39280:20906,39281:20907,39282:20915,39283:20913,39284:20914,39285:20912,39286:20917,39287:20925,39288:20933,39289:20937,39290:20955,39291:20960,39292:34389,39293:20969,39294:20973,39296:20976,39297:20981,39298:20990,39299:20996,39300:21003,39301:21012,39302:21006,39303:21031,39304:21034,39305:21038,39306:21043,39307:21049,39308:21071,39309:21060,39310:21067,39311:21068,39312:21086,39313:21076,39314:21098,39315:21108,39316:21097,39317:21107,39318:21119,39319:21117,39320:21133,39321:21140,39322:21138,39323:21105,39324:21128,39325:21137,39326:36776,39327:36775,39328:21164,39329:21165,39330:21180,39331:21173,39332:21185,39333:21197,39334:21207,39335:21214,39336:21219,39337:21222,39338:39149,39339:21216,39340:21235,39341:21237,39342:21240,39343:21241,39344:21254,39345:21256,39346:30008,39347:21261,39348:21264,39349:21263,39350:21269,39351:21274,39352:21283,39353:21295,39354:21297,39355:21299,39356:21304,39357:21312,39358:21318,39359:21317,39360:19991,39361:21321,39362:21325,39363:20950,39364:21342,39365:21353,39366:21358,39367:22808,39368:21371,39369:21367,39370:21378,39371:21398,39372:21408,39373:21414,39374:21413,39375:21422,39376:21424,39377:21430,39378:21443,39379:31762,39380:38617,39381:21471,39382:26364,39383:29166,39384:21486,39385:21480,39386:21485,39387:21498,39388:21505,39389:21565,39390:21568,39391:21548,39392:21549,39393:21564,39394:21550,39395:21558,39396:21545,39397:21533,39398:21582,39399:21647,39400:21621,39401:21646,39402:21599,39403:21617,39404:21623,39405:21616,39406:21650,39407:21627,39408:21632,39409:21622,39410:21636,39411:21648,39412:21638,39413:21703,39414:21666,39415:21688,39416:21669,39417:21676,39418:21700,39419:21704,39420:21672,39488:21675,39489:21698,39490:21668,39491:21694,39492:21692,39493:21720,39494:21733,39495:21734,39496:21775,39497:21780,39498:21757,39499:21742,39500:21741,39501:21754,39502:21730,39503:21817,39504:21824,39505:21859,39506:21836,39507:21806,39508:21852,39509:21829,39510:21846,39511:21847,39512:21816,39513:21811,39514:21853,39515:21913,39516:21888,39517:21679,39518:21898,39519:21919,39520:21883,39521:21886,39522:21912,39523:21918,39524:21934,39525:21884,39526:21891,39527:21929,39528:21895,39529:21928,39530:21978,39531:21957,39532:21983,39533:21956,39534:21980,39535:21988,39536:21972,39537:22036,39538:22007,39539:22038,39540:22014,39541:22013,39542:22043,39543:22009,39544:22094,39545:22096,39546:29151,39547:22068,39548:22070,39549:22066,39550:22072,39552:22123,39553:22116,39554:22063,39555:22124,39556:22122,39557:22150,39558:22144,39559:22154,39560:22176,39561:22164,39562:22159,39563:22181,39564:22190,39565:22198,39566:22196,39567:22210,39568:22204,39569:22209,39570:22211,39571:22208,39572:22216,39573:22222,39574:22225,39575:22227,39576:22231,39577:22254,39578:22265,39579:22272,39580:22271,39581:22276,39582:22281,39583:22280,39584:22283,39585:22285,39586:22291,39587:22296,39588:22294,39589:21959,39590:22300,39591:22310,39592:22327,39593:22328,39594:22350,39595:22331,39596:22336,39597:22351,39598:22377,39599:22464,39600:22408,39601:22369,39602:22399,39603:22409,39604:22419,39605:22432,39606:22451,39607:22436,39608:22442,39609:22448,39610:22467,39611:22470,39612:22484,39613:22482,39614:22483,39615:22538,39616:22486,39617:22499,39618:22539,39619:22553,39620:22557,39621:22642,39622:22561,39623:22626,39624:22603,39625:22640,39626:27584,39627:22610,39628:22589,39629:22649,39630:22661,39631:22713,39632:22687,39633:22699,39634:22714,39635:22750,39636:22715,39637:22712,39638:22702,39639:22725,39640:22739,39641:22737,39642:22743,39643:22745,39644:22744,39645:22757,39646:22748,39647:22756,39648:22751,39649:22767,39650:22778,39651:22777,39652:22779,39653:22780,39654:22781,39655:22786,39656:22794,39657:22800,39658:22811,39659:26790,39660:22821,39661:22828,39662:22829,39663:22834,39664:22840,39665:22846,39666:31442,39667:22869,39668:22864,39669:22862,39670:22874,39671:22872,39672:22882,39673:22880,39674:22887,39675:22892,39676:22889,39744:22904,39745:22913,39746:22941,39747:20318,39748:20395,39749:22947,39750:22962,39751:22982,39752:23016,39753:23004,39754:22925,39755:23001,39756:23002,39757:23077,39758:23071,39759:23057,39760:23068,39761:23049,39762:23066,39763:23104,39764:23148,39765:23113,39766:23093,39767:23094,39768:23138,39769:23146,39770:23194,39771:23228,39772:23230,39773:23243,39774:23234,39775:23229,39776:23267,39777:23255,39778:23270,39779:23273,39780:23254,39781:23290,39782:23291,39783:23308,39784:23307,39785:23318,39786:23346,39787:23248,39788:23338,39789:23350,39790:23358,39791:23363,39792:23365,39793:23360,39794:23377,39795:23381,39796:23386,39797:23387,39798:23397,39799:23401,39800:23408,39801:23411,39802:23413,39803:23416,39804:25992,39805:23418,39806:23424,39808:23427,39809:23462,39810:23480,39811:23491,39812:23495,39813:23497,39814:23508,39815:23504,39816:23524,39817:23526,39818:23522,39819:23518,39820:23525,39821:23531,39822:23536,39823:23542,39824:23539,39825:23557,39826:23559,39827:23560,39828:23565,39829:23571,39830:23584,39831:23586,39832:23592,39833:23608,39834:23609,39835:23617,39836:23622,39837:23630,39838:23635,39839:23632,39840:23631,39841:23409,39842:23660,39843:23662,39844:20066,39845:23670,39846:23673,39847:23692,39848:23697,39849:23700,39850:22939,39851:23723,39852:23739,39853:23734,39854:23740,39855:23735,39856:23749,39857:23742,39858:23751,39859:23769,39860:23785,39861:23805,39862:23802,39863:23789,39864:23948,39865:23786,39866:23819,39867:23829,39868:23831,39869:23900,39870:23839,39871:23835,39872:23825,39873:23828,39874:23842,39875:23834,39876:23833,39877:23832,39878:23884,39879:23890,39880:23886,39881:23883,39882:23916,39883:23923,39884:23926,39885:23943,39886:23940,39887:23938,39888:23970,39889:23965,39890:23980,39891:23982,39892:23997,39893:23952,39894:23991,39895:23996,39896:24009,39897:24013,39898:24019,39899:24018,39900:24022,39901:24027,39902:24043,39903:24050,39904:24053,39905:24075,39906:24090,39907:24089,39908:24081,39909:24091,39910:24118,39911:24119,39912:24132,39913:24131,39914:24128,39915:24142,39916:24151,39917:24148,39918:24159,39919:24162,39920:24164,39921:24135,39922:24181,39923:24182,39924:24186,39925:40636,39926:24191,39927:24224,39928:24257,39929:24258,39930:24264,39931:24272,39932:24271,4e4:24278,40001:24291,40002:24285,40003:24282,40004:24283,40005:24290,40006:24289,40007:24296,40008:24297,40009:24300,40010:24305,40011:24307,40012:24304,40013:24308,40014:24312,40015:24318,40016:24323,40017:24329,40018:24413,40019:24412,40020:24331,40021:24337,40022:24342,40023:24361,40024:24365,40025:24376,40026:24385,40027:24392,40028:24396,40029:24398,40030:24367,40031:24401,40032:24406,40033:24407,40034:24409,40035:24417,40036:24429,40037:24435,40038:24439,40039:24451,40040:24450,40041:24447,40042:24458,40043:24456,40044:24465,40045:24455,40046:24478,40047:24473,40048:24472,40049:24480,40050:24488,40051:24493,40052:24508,40053:24534,40054:24571,40055:24548,40056:24568,40057:24561,40058:24541,40059:24755,40060:24575,40061:24609,40062:24672,40064:24601,40065:24592,40066:24617,40067:24590,40068:24625,40069:24603,40070:24597,40071:24619,40072:24614,40073:24591,40074:24634,40075:24666,40076:24641,40077:24682,40078:24695,40079:24671,40080:24650,40081:24646,40082:24653,40083:24675,40084:24643,40085:24676,40086:24642,40087:24684,40088:24683,40089:24665,40090:24705,40091:24717,40092:24807,40093:24707,40094:24730,40095:24708,40096:24731,40097:24726,40098:24727,40099:24722,40100:24743,40101:24715,40102:24801,40103:24760,40104:24800,40105:24787,40106:24756,40107:24560,40108:24765,40109:24774,40110:24757,40111:24792,40112:24909,40113:24853,40114:24838,40115:24822,40116:24823,40117:24832,40118:24820,40119:24826,40120:24835,40121:24865,40122:24827,40123:24817,40124:24845,40125:24846,40126:24903,40127:24894,40128:24872,40129:24871,40130:24906,40131:24895,40132:24892,40133:24876,40134:24884,40135:24893,40136:24898,40137:24900,40138:24947,40139:24951,40140:24920,40141:24921,40142:24922,40143:24939,40144:24948,40145:24943,40146:24933,40147:24945,40148:24927,40149:24925,40150:24915,40151:24949,40152:24985,40153:24982,40154:24967,40155:25004,40156:24980,40157:24986,40158:24970,40159:24977,40160:25003,40161:25006,40162:25036,40163:25034,40164:25033,40165:25079,40166:25032,40167:25027,40168:25030,40169:25018,40170:25035,40171:32633,40172:25037,40173:25062,40174:25059,40175:25078,40176:25082,40177:25076,40178:25087,40179:25085,40180:25084,40181:25086,40182:25088,40183:25096,40184:25097,40185:25101,40186:25100,40187:25108,40188:25115,40256:25118,40257:25121,40258:25130,40259:25134,40260:25136,40261:25138,40262:25139,40263:25153,40264:25166,40265:25182,40266:25187,40267:25179,40268:25184,40269:25192,40270:25212,40271:25218,40272:25225,40273:25214,40274:25234,40275:25235,40276:25238,40277:25300,40278:25219,40279:25236,40280:25303,40281:25297,40282:25275,40283:25295,40284:25343,40285:25286,40286:25812,40287:25288,40288:25308,40289:25292,40290:25290,40291:25282,40292:25287,40293:25243,40294:25289,40295:25356,40296:25326,40297:25329,40298:25383,40299:25346,40300:25352,40301:25327,40302:25333,40303:25424,40304:25406,40305:25421,40306:25628,40307:25423,40308:25494,40309:25486,40310:25472,40311:25515,40312:25462,40313:25507,40314:25487,40315:25481,40316:25503,40317:25525,40318:25451,40320:25449,40321:25534,40322:25577,40323:25536,40324:25542,40325:25571,40326:25545,40327:25554,40328:25590,40329:25540,40330:25622,40331:25652,40332:25606,40333:25619,40334:25638,40335:25654,40336:25885,40337:25623,40338:25640,40339:25615,40340:25703,40341:25711,40342:25718,40343:25678,40344:25898,40345:25749,40346:25747,40347:25765,40348:25769,40349:25736,40350:25788,40351:25818,40352:25810,40353:25797,40354:25799,40355:25787,40356:25816,40357:25794,40358:25841,40359:25831,40360:33289,40361:25824,40362:25825,40363:25260,40364:25827,40365:25839,40366:25900,40367:25846,40368:25844,40369:25842,40370:25850,40371:25856,40372:25853,40373:25880,40374:25884,40375:25861,40376:25892,40377:25891,40378:25899,40379:25908,40380:25909,40381:25911,40382:25910,40383:25912,40384:30027,40385:25928,40386:25942,40387:25941,40388:25933,40389:25944,40390:25950,40391:25949,40392:25970,40393:25976,40394:25986,40395:25987,40396:35722,40397:26011,40398:26015,40399:26027,40400:26039,40401:26051,40402:26054,40403:26049,40404:26052,40405:26060,40406:26066,40407:26075,40408:26073,40409:26080,40410:26081,40411:26097,40412:26482,40413:26122,40414:26115,40415:26107,40416:26483,40417:26165,40418:26166,40419:26164,40420:26140,40421:26191,40422:26180,40423:26185,40424:26177,40425:26206,40426:26205,40427:26212,40428:26215,40429:26216,40430:26207,40431:26210,40432:26224,40433:26243,40434:26248,40435:26254,40436:26249,40437:26244,40438:26264,40439:26269,40440:26305,40441:26297,40442:26313,40443:26302,40444:26300,40512:26308,40513:26296,40514:26326,40515:26330,40516:26336,40517:26175,40518:26342,40519:26345,40520:26352,40521:26357,40522:26359,40523:26383,40524:26390,40525:26398,40526:26406,40527:26407,40528:38712,40529:26414,40530:26431,40531:26422,40532:26433,40533:26424,40534:26423,40535:26438,40536:26462,40537:26464,40538:26457,40539:26467,40540:26468,40541:26505,40542:26480,40543:26537,40544:26492,40545:26474,40546:26508,40547:26507,40548:26534,40549:26529,40550:26501,40551:26551,40552:26607,40553:26548,40554:26604,40555:26547,40556:26601,40557:26552,40558:26596,40559:26590,40560:26589,40561:26594,40562:26606,40563:26553,40564:26574,40565:26566,40566:26599,40567:27292,40568:26654,40569:26694,40570:26665,40571:26688,40572:26701,40573:26674,40574:26702,40576:26803,40577:26667,40578:26713,40579:26723,40580:26743,40581:26751,40582:26783,40583:26767,40584:26797,40585:26772,40586:26781,40587:26779,40588:26755,40589:27310,40590:26809,40591:26740,40592:26805,40593:26784,40594:26810,40595:26895,40596:26765,40597:26750,40598:26881,40599:26826,40600:26888,40601:26840,40602:26914,40603:26918,40604:26849,40605:26892,40606:26829,40607:26836,40608:26855,40609:26837,40610:26934,40611:26898,40612:26884,40613:26839,40614:26851,40615:26917,40616:26873,40617:26848,40618:26863,40619:26920,40620:26922,40621:26906,40622:26915,40623:26913,40624:26822,40625:27001,40626:26999,40627:26972,40628:27e3,40629:26987,40630:26964,40631:27006,40632:26990,40633:26937,40634:26996,40635:26941,40636:26969,40637:26928,40638:26977,40639:26974,40640:26973,40641:27009,40642:26986,40643:27058,40644:27054,40645:27088,40646:27071,40647:27073,40648:27091,40649:27070,40650:27086,40651:23528,40652:27082,40653:27101,40654:27067,40655:27075,40656:27047,40657:27182,40658:27025,40659:27040,40660:27036,40661:27029,40662:27060,40663:27102,40664:27112,40665:27138,40666:27163,40667:27135,40668:27402,40669:27129,40670:27122,40671:27111,40672:27141,40673:27057,40674:27166,40675:27117,40676:27156,40677:27115,40678:27146,40679:27154,40680:27329,40681:27171,40682:27155,40683:27204,40684:27148,40685:27250,40686:27190,40687:27256,40688:27207,40689:27234,40690:27225,40691:27238,40692:27208,40693:27192,40694:27170,40695:27280,40696:27277,40697:27296,40698:27268,40699:27298,40700:27299,40768:27287,40769:34327,40770:27323,40771:27331,40772:27330,40773:27320,40774:27315,40775:27308,40776:27358,40777:27345,40778:27359,40779:27306,40780:27354,40781:27370,40782:27387,40783:27397,40784:34326,40785:27386,40786:27410,40787:27414,40788:39729,40789:27423,40790:27448,40791:27447,40792:30428,40793:27449,40794:39150,40795:27463,40796:27459,40797:27465,40798:27472,40799:27481,40800:27476,40801:27483,40802:27487,40803:27489,40804:27512,40805:27513,40806:27519,40807:27520,40808:27524,40809:27523,40810:27533,40811:27544,40812:27541,40813:27550,40814:27556,40815:27562,40816:27563,40817:27567,40818:27570,40819:27569,40820:27571,40821:27575,40822:27580,40823:27590,40824:27595,40825:27603,40826:27615,40827:27628,40828:27627,40829:27635,40830:27631,40832:40638,40833:27656,40834:27667,40835:27668,40836:27675,40837:27684,40838:27683,40839:27742,40840:27733,40841:27746,40842:27754,40843:27778,40844:27789,40845:27802,40846:27777,40847:27803,40848:27774,40849:27752,40850:27763,40851:27794,40852:27792,40853:27844,40854:27889,40855:27859,40856:27837,40857:27863,40858:27845,40859:27869,40860:27822,40861:27825,40862:27838,40863:27834,40864:27867,40865:27887,40866:27865,40867:27882,40868:27935,40869:34893,40870:27958,40871:27947,40872:27965,40873:27960,40874:27929,40875:27957,40876:27955,40877:27922,40878:27916,40879:28003,40880:28051,40881:28004,40882:27994,40883:28025,40884:27993,40885:28046,40886:28053,40887:28644,40888:28037,40889:28153,40890:28181,40891:28170,40892:28085,40893:28103,40894:28134,40895:28088,40896:28102,40897:28140,40898:28126,40899:28108,40900:28136,40901:28114,40902:28101,40903:28154,40904:28121,40905:28132,40906:28117,40907:28138,40908:28142,40909:28205,40910:28270,40911:28206,40912:28185,40913:28274,40914:28255,40915:28222,40916:28195,40917:28267,40918:28203,40919:28278,40920:28237,40921:28191,40922:28227,40923:28218,40924:28238,40925:28196,40926:28415,40927:28189,40928:28216,40929:28290,40930:28330,40931:28312,40932:28361,40933:28343,40934:28371,40935:28349,40936:28335,40937:28356,40938:28338,40939:28372,40940:28373,40941:28303,40942:28325,40943:28354,40944:28319,40945:28481,40946:28433,40947:28748,40948:28396,40949:28408,40950:28414,40951:28479,40952:28402,40953:28465,40954:28399,40955:28466,40956:28364,161:65377,162:65378,163:65379,164:65380,165:65381,166:65382,167:65383,168:65384,169:65385,170:65386,171:65387,172:65388,173:65389,174:65390,175:65391,176:65392,177:65393,178:65394,179:65395,180:65396,181:65397,182:65398,183:65399,184:65400,185:65401,186:65402,187:65403,188:65404,189:65405,190:65406,191:65407,192:65408,193:65409,194:65410,195:65411,196:65412,197:65413,198:65414,199:65415,200:65416,201:65417,202:65418,203:65419,204:65420,205:65421,206:65422,207:65423,208:65424,209:65425,210:65426,211:65427,212:65428,213:65429,214:65430,215:65431,216:65432,217:65433,218:65434,219:65435,220:65436,221:65437,222:65438,223:65439,57408:28478,57409:28435,57410:28407,57411:28550,57412:28538,57413:28536,57414:28545,57415:28544,57416:28527,57417:28507,57418:28659,57419:28525,57420:28546,57421:28540,57422:28504,57423:28558,57424:28561,57425:28610,57426:28518,57427:28595,57428:28579,57429:28577,57430:28580,57431:28601,57432:28614,57433:28586,57434:28639,57435:28629,57436:28652,57437:28628,57438:28632,57439:28657,57440:28654,57441:28635,57442:28681,57443:28683,57444:28666,57445:28689,57446:28673,57447:28687,57448:28670,57449:28699,57450:28698,57451:28532,57452:28701,57453:28696,57454:28703,57455:28720,57456:28734,57457:28722,57458:28753,57459:28771,57460:28825,57461:28818,57462:28847,57463:28913,57464:28844,57465:28856,57466:28851,57467:28846,57468:28895,57469:28875,57470:28893,57472:28889,57473:28937,57474:28925,57475:28956,57476:28953,57477:29029,57478:29013,57479:29064,57480:29030,57481:29026,57482:29004,57483:29014,57484:29036,57485:29071,57486:29179,57487:29060,57488:29077,57489:29096,57490:29100,57491:29143,57492:29113,57493:29118,57494:29138,57495:29129,57496:29140,57497:29134,57498:29152,57499:29164,57500:29159,57501:29173,57502:29180,57503:29177,57504:29183,57505:29197,57506:29200,57507:29211,57508:29224,57509:29229,57510:29228,57511:29232,57512:29234,57513:29243,57514:29244,57515:29247,57516:29248,57517:29254,57518:29259,57519:29272,57520:29300,57521:29310,57522:29314,57523:29313,57524:29319,57525:29330,57526:29334,57527:29346,57528:29351,57529:29369,57530:29362,57531:29379,57532:29382,57533:29380,57534:29390,57535:29394,57536:29410,57537:29408,57538:29409,57539:29433,57540:29431,57541:20495,57542:29463,57543:29450,57544:29468,57545:29462,57546:29469,57547:29492,57548:29487,57549:29481,57550:29477,57551:29502,57552:29518,57553:29519,57554:40664,57555:29527,57556:29546,57557:29544,57558:29552,57559:29560,57560:29557,57561:29563,57562:29562,57563:29640,57564:29619,57565:29646,57566:29627,57567:29632,57568:29669,57569:29678,57570:29662,57571:29858,57572:29701,57573:29807,57574:29733,57575:29688,57576:29746,57577:29754,57578:29781,57579:29759,57580:29791,57581:29785,57582:29761,57583:29788,57584:29801,57585:29808,57586:29795,57587:29802,57588:29814,57589:29822,57590:29835,57591:29854,57592:29863,57593:29898,57594:29903,57595:29908,57596:29681,57664:29920,57665:29923,57666:29927,57667:29929,57668:29934,57669:29938,57670:29936,57671:29937,57672:29944,57673:29943,57674:29956,57675:29955,57676:29957,57677:29964,57678:29966,57679:29965,57680:29973,57681:29971,57682:29982,57683:29990,57684:29996,57685:30012,57686:30020,57687:30029,57688:30026,57689:30025,57690:30043,57691:30022,57692:30042,57693:30057,57694:30052,57695:30055,57696:30059,57697:30061,57698:30072,57699:30070,57700:30086,57701:30087,57702:30068,57703:30090,57704:30089,57705:30082,57706:30100,57707:30106,57708:30109,57709:30117,57710:30115,57711:30146,57712:30131,57713:30147,57714:30133,57715:30141,57716:30136,57717:30140,57718:30129,57719:30157,57720:30154,57721:30162,57722:30169,57723:30179,57724:30174,57725:30206,57726:30207,57728:30204,57729:30209,57730:30192,57731:30202,57732:30194,57733:30195,57734:30219,57735:30221,57736:30217,57737:30239,57738:30247,57739:30240,57740:30241,57741:30242,57742:30244,57743:30260,57744:30256,57745:30267,57746:30279,57747:30280,57748:30278,57749:30300,57750:30296,57751:30305,57752:30306,57753:30312,57754:30313,57755:30314,57756:30311,57757:30316,57758:30320,57759:30322,57760:30326,57761:30328,57762:30332,57763:30336,57764:30339,57765:30344,57766:30347,57767:30350,57768:30358,57769:30355,57770:30361,57771:30362,57772:30384,57773:30388,57774:30392,57775:30393,57776:30394,57777:30402,57778:30413,57779:30422,57780:30418,57781:30430,57782:30433,57783:30437,57784:30439,57785:30442,57786:34351,57787:30459,57788:30472,57789:30471,57790:30468,57791:30505,57792:30500,57793:30494,57794:30501,57795:30502,57796:30491,57797:30519,57798:30520,57799:30535,57800:30554,57801:30568,57802:30571,57803:30555,57804:30565,57805:30591,57806:30590,57807:30585,57808:30606,57809:30603,57810:30609,57811:30624,57812:30622,57813:30640,57814:30646,57815:30649,57816:30655,57817:30652,57818:30653,57819:30651,57820:30663,57821:30669,57822:30679,57823:30682,57824:30684,57825:30691,57826:30702,57827:30716,57828:30732,57829:30738,57830:31014,57831:30752,57832:31018,57833:30789,57834:30862,57835:30836,57836:30854,57837:30844,57838:30874,57839:30860,57840:30883,57841:30901,57842:30890,57843:30895,57844:30929,57845:30918,57846:30923,57847:30932,57848:30910,57849:30908,57850:30917,57851:30922,57852:30956,57920:30951,57921:30938,57922:30973,57923:30964,57924:30983,57925:30994,57926:30993,57927:31001,57928:31020,57929:31019,57930:31040,57931:31072,57932:31063,57933:31071,57934:31066,57935:31061,57936:31059,57937:31098,57938:31103,57939:31114,57940:31133,57941:31143,57942:40779,57943:31146,57944:31150,57945:31155,57946:31161,57947:31162,57948:31177,57949:31189,57950:31207,57951:31212,57952:31201,57953:31203,57954:31240,57955:31245,57956:31256,57957:31257,57958:31264,57959:31263,57960:31104,57961:31281,57962:31291,57963:31294,57964:31287,57965:31299,57966:31319,57967:31305,57968:31329,57969:31330,57970:31337,57971:40861,57972:31344,57973:31353,57974:31357,57975:31368,57976:31383,57977:31381,57978:31384,57979:31382,57980:31401,57981:31432,57982:31408,57984:31414,57985:31429,57986:31428,57987:31423,57988:36995,57989:31431,57990:31434,57991:31437,57992:31439,57993:31445,57994:31443,57995:31449,57996:31450,57997:31453,57998:31457,57999:31458,58e3:31462,58001:31469,58002:31472,58003:31490,58004:31503,58005:31498,58006:31494,58007:31539,58008:31512,58009:31513,58010:31518,58011:31541,58012:31528,58013:31542,58014:31568,58015:31610,58016:31492,58017:31565,58018:31499,58019:31564,58020:31557,58021:31605,58022:31589,58023:31604,58024:31591,58025:31600,58026:31601,58027:31596,58028:31598,58029:31645,58030:31640,58031:31647,58032:31629,58033:31644,58034:31642,58035:31627,58036:31634,58037:31631,58038:31581,58039:31641,58040:31691,58041:31681,58042:31692,58043:31695,58044:31668,58045:31686,58046:31709,58047:31721,58048:31761,58049:31764,58050:31718,58051:31717,58052:31840,58053:31744,58054:31751,58055:31763,58056:31731,58057:31735,58058:31767,58059:31757,58060:31734,58061:31779,58062:31783,58063:31786,58064:31775,58065:31799,58066:31787,58067:31805,58068:31820,58069:31811,58070:31828,58071:31823,58072:31808,58073:31824,58074:31832,58075:31839,58076:31844,58077:31830,58078:31845,58079:31852,58080:31861,58081:31875,58082:31888,58083:31908,58084:31917,58085:31906,58086:31915,58087:31905,58088:31912,58089:31923,58090:31922,58091:31921,58092:31918,58093:31929,58094:31933,58095:31936,58096:31941,58097:31938,58098:31960,58099:31954,58100:31964,58101:31970,58102:39739,58103:31983,58104:31986,58105:31988,58106:31990,58107:31994,58108:32006,58176:32002,58177:32028,58178:32021,58179:32010,58180:32069,58181:32075,58182:32046,58183:32050,58184:32063,58185:32053,58186:32070,58187:32115,58188:32086,58189:32078,58190:32114,58191:32104,58192:32110,58193:32079,58194:32099,58195:32147,58196:32137,58197:32091,58198:32143,58199:32125,58200:32155,58201:32186,58202:32174,58203:32163,58204:32181,58205:32199,58206:32189,58207:32171,58208:32317,58209:32162,58210:32175,58211:32220,58212:32184,58213:32159,58214:32176,58215:32216,58216:32221,58217:32228,58218:32222,58219:32251,58220:32242,58221:32225,58222:32261,58223:32266,58224:32291,58225:32289,58226:32274,58227:32305,58228:32287,58229:32265,58230:32267,58231:32290,58232:32326,58233:32358,58234:32315,58235:32309,58236:32313,58237:32323,58238:32311,58240:32306,58241:32314,58242:32359,58243:32349,58244:32342,58245:32350,58246:32345,58247:32346,58248:32377,58249:32362,58250:32361,58251:32380,58252:32379,58253:32387,58254:32213,58255:32381,58256:36782,58257:32383,58258:32392,58259:32393,58260:32396,58261:32402,58262:32400,58263:32403,58264:32404,58265:32406,58266:32398,58267:32411,58268:32412,58269:32568,58270:32570,58271:32581,58272:32588,58273:32589,58274:32590,58275:32592,58276:32593,58277:32597,58278:32596,58279:32600,58280:32607,58281:32608,58282:32616,58283:32617,58284:32615,58285:32632,58286:32642,58287:32646,58288:32643,58289:32648,58290:32647,58291:32652,58292:32660,58293:32670,58294:32669,58295:32666,58296:32675,58297:32687,58298:32690,58299:32697,58300:32686,58301:32694,58302:32696,58303:35697,58304:32709,58305:32710,58306:32714,58307:32725,58308:32724,58309:32737,58310:32742,58311:32745,58312:32755,58313:32761,58314:39132,58315:32774,58316:32772,58317:32779,58318:32786,58319:32792,58320:32793,58321:32796,58322:32801,58323:32808,58324:32831,58325:32827,58326:32842,58327:32838,58328:32850,58329:32856,58330:32858,58331:32863,58332:32866,58333:32872,58334:32883,58335:32882,58336:32880,58337:32886,58338:32889,58339:32893,58340:32895,58341:32900,58342:32902,58343:32901,58344:32923,58345:32915,58346:32922,58347:32941,58348:20880,58349:32940,58350:32987,58351:32997,58352:32985,58353:32989,58354:32964,58355:32986,58356:32982,58357:33033,58358:33007,58359:33009,58360:33051,58361:33065,58362:33059,58363:33071,58364:33099,58432:38539,58433:33094,58434:33086,58435:33107,58436:33105,58437:33020,58438:33137,58439:33134,58440:33125,58441:33126,58442:33140,58443:33155,58444:33160,58445:33162,58446:33152,58447:33154,58448:33184,58449:33173,58450:33188,58451:33187,58452:33119,58453:33171,58454:33193,58455:33200,58456:33205,58457:33214,58458:33208,58459:33213,58460:33216,58461:33218,58462:33210,58463:33225,58464:33229,58465:33233,58466:33241,58467:33240,58468:33224,58469:33242,58470:33247,58471:33248,58472:33255,58473:33274,58474:33275,58475:33278,58476:33281,58477:33282,58478:33285,58479:33287,58480:33290,58481:33293,58482:33296,58483:33302,58484:33321,58485:33323,58486:33336,58487:33331,58488:33344,58489:33369,58490:33368,58491:33373,58492:33370,58493:33375,58494:33380,58496:33378,58497:33384,58498:33386,58499:33387,58500:33326,58501:33393,58502:33399,58503:33400,58504:33406,58505:33421,58506:33426,58507:33451,58508:33439,58509:33467,58510:33452,58511:33505,58512:33507,58513:33503,58514:33490,58515:33524,58516:33523,58517:33530,58518:33683,58519:33539,58520:33531,58521:33529,58522:33502,58523:33542,58524:33500,58525:33545,58526:33497,58527:33589,58528:33588,58529:33558,58530:33586,58531:33585,58532:33600,58533:33593,58534:33616,58535:33605,58536:33583,58537:33579,58538:33559,58539:33560,58540:33669,58541:33690,58542:33706,58543:33695,58544:33698,58545:33686,58546:33571,58547:33678,58548:33671,58549:33674,58550:33660,58551:33717,58552:33651,58553:33653,58554:33696,58555:33673,58556:33704,58557:33780,58558:33811,58559:33771,58560:33742,58561:33789,58562:33795,58563:33752,58564:33803,58565:33729,58566:33783,58567:33799,58568:33760,58569:33778,58570:33805,58571:33826,58572:33824,58573:33725,58574:33848,58575:34054,58576:33787,58577:33901,58578:33834,58579:33852,58580:34138,58581:33924,58582:33911,58583:33899,58584:33965,58585:33902,58586:33922,58587:33897,58588:33862,58589:33836,58590:33903,58591:33913,58592:33845,58593:33994,58594:33890,58595:33977,58596:33983,58597:33951,58598:34009,58599:33997,58600:33979,58601:34010,58602:34e3,58603:33985,58604:33990,58605:34006,58606:33953,58607:34081,58608:34047,58609:34036,58610:34071,58611:34072,58612:34092,58613:34079,58614:34069,58615:34068,58616:34044,58617:34112,58618:34147,58619:34136,58620:34120,58688:34113,58689:34306,58690:34123,58691:34133,58692:34176,58693:34212,58694:34184,58695:34193,58696:34186,58697:34216,58698:34157,58699:34196,58700:34203,58701:34282,58702:34183,58703:34204,58704:34167,58705:34174,58706:34192,58707:34249,58708:34234,58709:34255,58710:34233,58711:34256,58712:34261,58713:34269,58714:34277,58715:34268,58716:34297,58717:34314,58718:34323,58719:34315,58720:34302,58721:34298,58722:34310,58723:34338,58724:34330,58725:34352,58726:34367,58727:34381,58728:20053,58729:34388,58730:34399,58731:34407,58732:34417,58733:34451,58734:34467,58735:34473,58736:34474,58737:34443,58738:34444,58739:34486,58740:34479,58741:34500,58742:34502,58743:34480,58744:34505,58745:34851,58746:34475,58747:34516,58748:34526,58749:34537,58750:34540,58752:34527,58753:34523,58754:34543,58755:34578,58756:34566,58757:34568,58758:34560,58759:34563,58760:34555,58761:34577,58762:34569,58763:34573,58764:34553,58765:34570,58766:34612,58767:34623,58768:34615,58769:34619,58770:34597,58771:34601,58772:34586,58773:34656,58774:34655,58775:34680,58776:34636,58777:34638,58778:34676,58779:34647,58780:34664,58781:34670,58782:34649,58783:34643,58784:34659,58785:34666,58786:34821,58787:34722,58788:34719,58789:34690,58790:34735,58791:34763,58792:34749,58793:34752,58794:34768,58795:38614,58796:34731,58797:34756,58798:34739,58799:34759,58800:34758,58801:34747,58802:34799,58803:34802,58804:34784,58805:34831,58806:34829,58807:34814,58808:34806,58809:34807,58810:34830,58811:34770,58812:34833,58813:34838,58814:34837,58815:34850,58816:34849,58817:34865,58818:34870,58819:34873,58820:34855,58821:34875,58822:34884,58823:34882,58824:34898,58825:34905,58826:34910,58827:34914,58828:34923,58829:34945,58830:34942,58831:34974,58832:34933,58833:34941,58834:34997,58835:34930,58836:34946,58837:34967,58838:34962,58839:34990,58840:34969,58841:34978,58842:34957,58843:34980,58844:34992,58845:35007,58846:34993,58847:35011,58848:35012,58849:35028,58850:35032,58851:35033,58852:35037,58853:35065,58854:35074,58855:35068,58856:35060,58857:35048,58858:35058,58859:35076,58860:35084,58861:35082,58862:35091,58863:35139,58864:35102,58865:35109,58866:35114,58867:35115,58868:35137,58869:35140,58870:35131,58871:35126,58872:35128,58873:35148,58874:35101,58875:35168,58876:35166,58944:35174,58945:35172,58946:35181,58947:35178,58948:35183,58949:35188,58950:35191,58951:35198,58952:35203,58953:35208,58954:35210,58955:35219,58956:35224,58957:35233,58958:35241,58959:35238,58960:35244,58961:35247,58962:35250,58963:35258,58964:35261,58965:35263,58966:35264,58967:35290,58968:35292,58969:35293,58970:35303,58971:35316,58972:35320,58973:35331,58974:35350,58975:35344,58976:35340,58977:35355,58978:35357,58979:35365,58980:35382,58981:35393,58982:35419,58983:35410,58984:35398,58985:35400,58986:35452,58987:35437,58988:35436,58989:35426,58990:35461,58991:35458,58992:35460,58993:35496,58994:35489,58995:35473,58996:35493,58997:35494,58998:35482,58999:35491,59e3:35524,59001:35533,59002:35522,59003:35546,59004:35563,59005:35571,59006:35559,59008:35556,59009:35569,59010:35604,59011:35552,59012:35554,59013:35575,59014:35550,59015:35547,59016:35596,59017:35591,59018:35610,59019:35553,59020:35606,59021:35600,59022:35607,59023:35616,59024:35635,59025:38827,59026:35622,59027:35627,59028:35646,59029:35624,59030:35649,59031:35660,59032:35663,59033:35662,59034:35657,59035:35670,59036:35675,59037:35674,59038:35691,59039:35679,59040:35692,59041:35695,59042:35700,59043:35709,59044:35712,59045:35724,59046:35726,59047:35730,59048:35731,59049:35734,59050:35737,59051:35738,59052:35898,59053:35905,59054:35903,59055:35912,59056:35916,59057:35918,59058:35920,59059:35925,59060:35938,59061:35948,59062:35960,59063:35962,59064:35970,59065:35977,59066:35973,59067:35978,59068:35981,59069:35982,59070:35988,59071:35964,59072:35992,59073:25117,59074:36013,59075:36010,59076:36029,59077:36018,59078:36019,59079:36014,59080:36022,59081:36040,59082:36033,59083:36068,59084:36067,59085:36058,59086:36093,59087:36090,59088:36091,59089:36100,59090:36101,59091:36106,59092:36103,59093:36111,59094:36109,59095:36112,59096:40782,59097:36115,59098:36045,59099:36116,59100:36118,59101:36199,59102:36205,59103:36209,59104:36211,59105:36225,59106:36249,59107:36290,59108:36286,59109:36282,59110:36303,59111:36314,59112:36310,59113:36300,59114:36315,59115:36299,59116:36330,59117:36331,59118:36319,59119:36323,59120:36348,59121:36360,59122:36361,59123:36351,59124:36381,59125:36382,59126:36368,59127:36383,59128:36418,59129:36405,59130:36400,59131:36404,59132:36426,59200:36423,59201:36425,59202:36428,59203:36432,59204:36424,59205:36441,59206:36452,59207:36448,59208:36394,59209:36451,59210:36437,59211:36470,59212:36466,59213:36476,59214:36481,59215:36487,59216:36485,59217:36484,59218:36491,59219:36490,59220:36499,59221:36497,59222:36500,59223:36505,59224:36522,59225:36513,59226:36524,59227:36528,59228:36550,59229:36529,59230:36542,59231:36549,59232:36552,59233:36555,59234:36571,59235:36579,59236:36604,59237:36603,59238:36587,59239:36606,59240:36618,59241:36613,59242:36629,59243:36626,59244:36633,59245:36627,59246:36636,59247:36639,59248:36635,59249:36620,59250:36646,59251:36659,59252:36667,59253:36665,59254:36677,59255:36674,59256:36670,59257:36684,59258:36681,59259:36678,59260:36686,59261:36695,59262:36700,59264:36706,59265:36707,59266:36708,59267:36764,59268:36767,59269:36771,59270:36781,59271:36783,59272:36791,59273:36826,59274:36837,59275:36834,59276:36842,59277:36847,59278:36999,59279:36852,59280:36869,59281:36857,59282:36858,59283:36881,59284:36885,59285:36897,59286:36877,59287:36894,59288:36886,59289:36875,59290:36903,59291:36918,59292:36917,59293:36921,59294:36856,59295:36943,59296:36944,59297:36945,59298:36946,59299:36878,59300:36937,59301:36926,59302:36950,59303:36952,59304:36958,59305:36968,59306:36975,59307:36982,59308:38568,59309:36978,59310:36994,59311:36989,59312:36993,59313:36992,59314:37002,59315:37001,59316:37007,59317:37032,59318:37039,59319:37041,59320:37045,59321:37090,59322:37092,59323:25160,59324:37083,59325:37122,59326:37138,59327:37145,59328:37170,59329:37168,59330:37194,59331:37206,59332:37208,59333:37219,59334:37221,59335:37225,59336:37235,59337:37234,59338:37259,59339:37257,59340:37250,59341:37282,59342:37291,59343:37295,59344:37290,59345:37301,59346:37300,59347:37306,59348:37312,59349:37313,59350:37321,59351:37323,59352:37328,59353:37334,59354:37343,59355:37345,59356:37339,59357:37372,59358:37365,59359:37366,59360:37406,59361:37375,59362:37396,59363:37420,59364:37397,59365:37393,59366:37470,59367:37463,59368:37445,59369:37449,59370:37476,59371:37448,59372:37525,59373:37439,59374:37451,59375:37456,59376:37532,59377:37526,59378:37523,59379:37531,59380:37466,59381:37583,59382:37561,59383:37559,59384:37609,59385:37647,59386:37626,59387:37700,59388:37678,59456:37657,59457:37666,59458:37658,59459:37667,59460:37690,59461:37685,59462:37691,59463:37724,59464:37728,59465:37756,59466:37742,59467:37718,59468:37808,59469:37804,59470:37805,59471:37780,59472:37817,59473:37846,59474:37847,59475:37864,59476:37861,59477:37848,59478:37827,59479:37853,59480:37840,59481:37832,59482:37860,59483:37914,59484:37908,59485:37907,59486:37891,59487:37895,59488:37904,59489:37942,59490:37931,59491:37941,59492:37921,59493:37946,59494:37953,59495:37970,59496:37956,59497:37979,59498:37984,59499:37986,59500:37982,59501:37994,59502:37417,59503:38e3,59504:38005,59505:38007,59506:38013,59507:37978,59508:38012,59509:38014,59510:38017,59511:38015,59512:38274,59513:38279,59514:38282,59515:38292,59516:38294,59517:38296,59518:38297,59520:38304,59521:38312,59522:38311,59523:38317,59524:38332,59525:38331,59526:38329,59527:38334,59528:38346,59529:28662,59530:38339,59531:38349,59532:38348,59533:38357,59534:38356,59535:38358,59536:38364,59537:38369,59538:38373,59539:38370,59540:38433,59541:38440,59542:38446,59543:38447,59544:38466,59545:38476,59546:38479,59547:38475,59548:38519,59549:38492,59550:38494,59551:38493,59552:38495,59553:38502,59554:38514,59555:38508,59556:38541,59557:38552,59558:38549,59559:38551,59560:38570,59561:38567,59562:38577,59563:38578,59564:38576,59565:38580,59566:38582,59567:38584,59568:38585,59569:38606,59570:38603,59571:38601,59572:38605,59573:35149,59574:38620,59575:38669,59576:38613,59577:38649,59578:38660,59579:38662,59580:38664,59581:38675,59582:38670,59583:38673,59584:38671,59585:38678,59586:38681,59587:38692,59588:38698,59589:38704,59590:38713,59591:38717,59592:38718,59593:38724,59594:38726,59595:38728,59596:38722,59597:38729,59598:38748,59599:38752,59600:38756,59601:38758,59602:38760,59603:21202,59604:38763,59605:38769,59606:38777,59607:38789,59608:38780,59609:38785,59610:38778,59611:38790,59612:38795,59613:38799,59614:38800,59615:38812,59616:38824,59617:38822,59618:38819,59619:38835,59620:38836,59621:38851,59622:38854,59623:38856,59624:38859,59625:38876,59626:38893,59627:40783,59628:38898,59629:31455,59630:38902,59631:38901,59632:38927,59633:38924,59634:38968,59635:38948,59636:38945,59637:38967,59638:38973,59639:38982,59640:38991,59641:38987,59642:39019,59643:39023,59644:39024,59712:39025,59713:39028,59714:39027,59715:39082,59716:39087,59717:39089,59718:39094,59719:39108,59720:39107,59721:39110,59722:39145,59723:39147,59724:39171,59725:39177,59726:39186,59727:39188,59728:39192,59729:39201,59730:39197,59731:39198,59732:39204,59733:39200,59734:39212,59735:39214,59736:39229,59737:39230,59738:39234,59739:39241,59740:39237,59741:39248,59742:39243,59743:39249,59744:39250,59745:39244,59746:39253,59747:39319,59748:39320,59749:39333,59750:39341,59751:39342,59752:39356,59753:39391,59754:39387,59755:39389,59756:39384,59757:39377,59758:39405,59759:39406,59760:39409,59761:39410,59762:39419,59763:39416,59764:39425,59765:39439,59766:39429,59767:39394,59768:39449,59769:39467,59770:39479,59771:39493,59772:39490,59773:39488,59774:39491,59776:39486,59777:39509,59778:39501,59779:39515,59780:39511,59781:39519,59782:39522,59783:39525,59784:39524,59785:39529,59786:39531,59787:39530,59788:39597,59789:39600,59790:39612,59791:39616,59792:39631,59793:39633,59794:39635,59795:39636,59796:39646,59797:39647,59798:39650,59799:39651,59800:39654,59801:39663,59802:39659,59803:39662,59804:39668,59805:39665,59806:39671,59807:39675,59808:39686,59809:39704,59810:39706,59811:39711,59812:39714,59813:39715,59814:39717,59815:39719,59816:39720,59817:39721,59818:39722,59819:39726,59820:39727,59821:39730,59822:39748,59823:39747,59824:39759,59825:39757,59826:39758,59827:39761,59828:39768,59829:39796,59830:39827,59831:39811,59832:39825,59833:39830,59834:39831,59835:39839,59836:39840,59837:39848,59838:39860,59839:39872,59840:39882,59841:39865,59842:39878,59843:39887,59844:39889,59845:39890,59846:39907,59847:39906,59848:39908,59849:39892,59850:39905,59851:39994,59852:39922,59853:39921,59854:39920,59855:39957,59856:39956,59857:39945,59858:39955,59859:39948,59860:39942,59861:39944,59862:39954,59863:39946,59864:39940,59865:39982,59866:39963,59867:39973,59868:39972,59869:39969,59870:39984,59871:40007,59872:39986,59873:40006,59874:39998,59875:40026,59876:40032,59877:40039,59878:40054,59879:40056,59880:40167,59881:40172,59882:40176,59883:40201,59884:40200,59885:40171,59886:40195,59887:40198,59888:40234,59889:40230,59890:40367,59891:40227,59892:40223,59893:40260,59894:40213,59895:40210,59896:40257,59897:40255,59898:40254,59899:40262,59900:40264,59968:40285,59969:40286,59970:40292,59971:40273,59972:40272,59973:40281,59974:40306,59975:40329,59976:40327,59977:40363,59978:40303,59979:40314,59980:40346,59981:40356,59982:40361,59983:40370,59984:40388,59985:40385,59986:40379,59987:40376,59988:40378,59989:40390,59990:40399,59991:40386,59992:40409,59993:40403,59994:40440,59995:40422,59996:40429,59997:40431,59998:40445,59999:40474,6e4:40475,60001:40478,60002:40565,60003:40569,60004:40573,60005:40577,60006:40584,60007:40587,60008:40588,60009:40594,60010:40597,60011:40593,60012:40605,60013:40613,60014:40617,60015:40632,60016:40618,60017:40621,60018:38753,60019:40652,60020:40654,60021:40655,60022:40656,60023:40660,60024:40668,60025:40670,60026:40669,60027:40672,60028:40677,60029:40680,60030:40687,60032:40692,60033:40694,60034:40695,60035:40697,60036:40699,60037:40700,60038:40701,60039:40711,60040:40712,60041:30391,60042:40725,60043:40737,60044:40748,60045:40766,60046:40778,60047:40786,60048:40788,60049:40803,60050:40799,60051:40800,60052:40801,60053:40806,60054:40807,60055:40812,60056:40810,60057:40823,60058:40818,60059:40822,60060:40853,60061:40860,60062:40864,60063:22575,60064:27079,60065:36953,60066:29796,60067:20956,60068:29081}}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(1),r=n(2);function a(g,p,C,b){var y;p.degree()<C.degree()&&(y=[C,p],p=y[0],C=y[1]);for(var w=p,A=C,P=g.zero,M=g.one;A.degree()>=b/2;){var R=w,T=P;if(w=A,P=M,w.isZero())return null;A=R;for(var V=g.zero,H=w.getCoefficient(w.degree()),J=g.inverse(H);A.degree()>=w.degree()&&!A.isZero();){var se=A.degree()-w.degree(),ue=g.multiply(A.getCoefficient(A.degree()),J);V=V.addOrSubtract(g.buildMonomial(se,ue)),A=A.addOrSubtract(w.multiplyByMonomial(se,ue))}if(M=V.multiplyPoly(P).addOrSubtract(T),A.degree()>=w.degree())return null}var ie=M.getCoefficient(0);if(ie===0)return null;var de=g.inverse(ie);return[M.multiply(de),A.multiply(de)]}function d(g,p){var C=p.degree();if(C===1)return[p.getCoefficient(1)];for(var b=new Array(C),y=0,w=1;w<g.size&&y<C;w++)p.evaluateAt(w)===0&&(b[y]=g.inverse(w),y++);return y!==C?null:b}function u(g,p,C){for(var b=C.length,y=new Array(b),w=0;w<b;w++){for(var A=g.inverse(C[w]),P=1,M=0;M<b;M++)w!==M&&(P=g.multiply(P,s.addOrSubtractGF(1,g.multiply(C[M],A))));y[w]=g.multiply(p.evaluateAt(A),g.inverse(P)),g.generatorBase!==0&&(y[w]=g.multiply(y[w],A))}return y}function f(g,p){var C=new Uint8ClampedArray(g.length);C.set(g);for(var b=new s.default(285,256,0),y=new r.default(b,C),w=new Uint8ClampedArray(p),A=!1,P=0;P<p;P++){var M=y.evaluateAt(b.exp(P+b.generatorBase));w[w.length-1-P]=M,M!==0&&(A=!0)}if(!A)return C;var R=new r.default(b,w),T=a(b,b.buildMonomial(p,1),R,p);if(T===null)return null;var V=d(b,T[0]);if(V==null)return null;for(var H=u(b,T[1],V),J=0;J<V.length;J++){var se=C.length-1-b.log(V[J]);if(se<0)return null;C[se]=s.addOrSubtractGF(C[se],H[J])}return C}i.decode=f}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0}),i.VERSIONS=[{infoBits:null,versionNumber:1,alignmentPatternCenters:[],errorCorrectionLevels:[{ecCodewordsPerBlock:7,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:13,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:13}]},{ecCodewordsPerBlock:17,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:2,alignmentPatternCenters:[6,18],errorCorrectionLevels:[{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:34}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:28}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]}]},{infoBits:null,versionNumber:3,alignmentPatternCenters:[6,22],errorCorrectionLevels:[{ecCodewordsPerBlock:15,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:55}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:13}]}]},{infoBits:null,versionNumber:4,alignmentPatternCenters:[6,26],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:80}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:32}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:5,alignmentPatternCenters:[6,30],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:43}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:11},{numBlocks:2,dataCodewordsPerBlock:12}]}]},{infoBits:null,versionNumber:6,alignmentPatternCenters:[6,34],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:27}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:31892,versionNumber:7,alignmentPatternCenters:[6,22,38],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:78}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:31}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:13},{numBlocks:1,dataCodewordsPerBlock:14}]}]},{infoBits:34236,versionNumber:8,alignmentPatternCenters:[6,24,42],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:97}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:38},{numBlocks:2,dataCodewordsPerBlock:39}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:18},{numBlocks:2,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:14},{numBlocks:2,dataCodewordsPerBlock:15}]}]},{infoBits:39577,versionNumber:9,alignmentPatternCenters:[6,26,46],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:12},{numBlocks:4,dataCodewordsPerBlock:13}]}]},{infoBits:42195,versionNumber:10,alignmentPatternCenters:[6,28,50],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68},{numBlocks:2,dataCodewordsPerBlock:69}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:43},{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]}]},{infoBits:48118,versionNumber:11,alignmentPatternCenters:[6,30,54],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:81}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:50},{numBlocks:4,dataCodewordsPerBlock:51}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:22},{numBlocks:4,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:12},{numBlocks:8,dataCodewordsPerBlock:13}]}]},{infoBits:51042,versionNumber:12,alignmentPatternCenters:[6,32,58],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:92},{numBlocks:2,dataCodewordsPerBlock:93}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:20},{numBlocks:6,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:55367,versionNumber:13,alignmentPatternCenters:[6,34,62],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:37},{numBlocks:1,dataCodewordsPerBlock:38}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:20},{numBlocks:4,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:11},{numBlocks:4,dataCodewordsPerBlock:12}]}]},{infoBits:58893,versionNumber:14,alignmentPatternCenters:[6,26,46,66],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:40},{numBlocks:5,dataCodewordsPerBlock:41}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:16},{numBlocks:5,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:5,dataCodewordsPerBlock:13}]}]},{infoBits:63784,versionNumber:15,alignmentPatternCenters:[6,26,48,70],errorCorrectionLevels:[{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:87},{numBlocks:1,dataCodewordsPerBlock:88}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:41},{numBlocks:5,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:7,dataCodewordsPerBlock:13}]}]},{infoBits:68472,versionNumber:16,alignmentPatternCenters:[6,26,50,74],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:98},{numBlocks:1,dataCodewordsPerBlock:99}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:70749,versionNumber:17,alignmentPatternCenters:[6,30,54,78],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:1,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22},{numBlocks:15,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:17,dataCodewordsPerBlock:15}]}]},{infoBits:76311,versionNumber:18,alignmentPatternCenters:[6,30,56,82],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:120},{numBlocks:1,dataCodewordsPerBlock:121}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:43},{numBlocks:4,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:1,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:19,dataCodewordsPerBlock:15}]}]},{infoBits:79154,versionNumber:19,alignmentPatternCenters:[6,30,58,86],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:113},{numBlocks:4,dataCodewordsPerBlock:114}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:44},{numBlocks:11,dataCodewordsPerBlock:45}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:21},{numBlocks:4,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:13},{numBlocks:16,dataCodewordsPerBlock:14}]}]},{infoBits:84390,versionNumber:20,alignmentPatternCenters:[6,34,62,90],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:41},{numBlocks:13,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:5,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:15},{numBlocks:10,dataCodewordsPerBlock:16}]}]},{infoBits:87683,versionNumber:21,alignmentPatternCenters:[6,28,50,72,94],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:116},{numBlocks:4,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:16},{numBlocks:6,dataCodewordsPerBlock:17}]}]},{infoBits:92361,versionNumber:22,alignmentPatternCenters:[6,26,50,74,98],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:111},{numBlocks:7,dataCodewordsPerBlock:112}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:13}]}]},{infoBits:96236,versionNumber:23,alignmentPatternCenters:[6,30,54,74,102],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:121},{numBlocks:5,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:47},{numBlocks:14,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:16,dataCodewordsPerBlock:15},{numBlocks:14,dataCodewordsPerBlock:16}]}]},{infoBits:102084,versionNumber:24,alignmentPatternCenters:[6,28,54,80,106],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:45},{numBlocks:14,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:30,dataCodewordsPerBlock:16},{numBlocks:2,dataCodewordsPerBlock:17}]}]},{infoBits:102881,versionNumber:25,alignmentPatternCenters:[6,32,58,84,110],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:106},{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:47},{numBlocks:13,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:110507,versionNumber:26,alignmentPatternCenters:[6,30,58,86,114],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:114},{numBlocks:2,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:46},{numBlocks:4,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:28,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:33,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]}]},{infoBits:110734,versionNumber:27,alignmentPatternCenters:[6,34,62,90,118],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:23},{numBlocks:26,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:117786,versionNumber:28,alignmentPatternCenters:[6,26,50,74,98,122],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:117},{numBlocks:10,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:45},{numBlocks:23,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:24},{numBlocks:31,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:31,dataCodewordsPerBlock:16}]}]},{infoBits:119615,versionNumber:29,alignmentPatternCenters:[6,30,54,78,102,126],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:116},{numBlocks:7,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:21,dataCodewordsPerBlock:45},{numBlocks:7,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:23},{numBlocks:37,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:26,dataCodewordsPerBlock:16}]}]},{infoBits:126325,versionNumber:30,alignmentPatternCenters:[6,26,52,78,104,130],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:115},{numBlocks:10,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:47},{numBlocks:10,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:25,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:25,dataCodewordsPerBlock:16}]}]},{infoBits:127568,versionNumber:31,alignmentPatternCenters:[6,30,56,82,108,134],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:3,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:46},{numBlocks:29,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:24},{numBlocks:1,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:133589,versionNumber:32,alignmentPatternCenters:[6,34,60,86,112,138],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:24},{numBlocks:35,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:35,dataCodewordsPerBlock:16}]}]},{infoBits:136944,versionNumber:33,alignmentPatternCenters:[6,30,58,86,114,142],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:21,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:24},{numBlocks:19,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:141498,versionNumber:34,alignmentPatternCenters:[6,34,62,90,118,146],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:6,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:44,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:59,dataCodewordsPerBlock:16},{numBlocks:1,dataCodewordsPerBlock:17}]}]},{infoBits:145311,versionNumber:35,alignmentPatternCenters:[6,30,54,78,102,126,150],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:121},{numBlocks:7,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:47},{numBlocks:26,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:39,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:41,dataCodewordsPerBlock:16}]}]},{infoBits:150283,versionNumber:36,alignmentPatternCenters:[6,24,50,76,102,128,154],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:121},{numBlocks:14,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:47},{numBlocks:34,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:46,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:64,dataCodewordsPerBlock:16}]}]},{infoBits:152622,versionNumber:37,alignmentPatternCenters:[6,28,54,80,106,132,158],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:46},{numBlocks:14,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:49,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:24,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:158308,versionNumber:38,alignmentPatternCenters:[6,32,58,84,110,136,162],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:122},{numBlocks:18,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:46},{numBlocks:32,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:48,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:15},{numBlocks:32,dataCodewordsPerBlock:16}]}]},{infoBits:161089,versionNumber:39,alignmentPatternCenters:[6,26,54,82,110,138,166],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:40,dataCodewordsPerBlock:47},{numBlocks:7,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:43,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:15},{numBlocks:67,dataCodewordsPerBlock:16}]}]},{infoBits:167017,versionNumber:40,alignmentPatternCenters:[6,30,58,86,114,142,170],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:118},{numBlocks:6,dataCodewordsPerBlock:119}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:18,dataCodewordsPerBlock:47},{numBlocks:31,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:24},{numBlocks:34,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:15},{numBlocks:61,dataCodewordsPerBlock:16}]}]}]}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0);function r(f,g,p,C){var b=f.x-g.x+p.x-C.x,y=f.y-g.y+p.y-C.y;if(b===0&&y===0)return{a11:g.x-f.x,a12:g.y-f.y,a13:0,a21:p.x-g.x,a22:p.y-g.y,a23:0,a31:f.x,a32:f.y,a33:1};var w=g.x-p.x,A=C.x-p.x,P=g.y-p.y,M=C.y-p.y,R=w*M-A*P,T=(b*M-A*y)/R,V=(w*y-b*P)/R;return{a11:g.x-f.x+T*g.x,a12:g.y-f.y+T*g.y,a13:T,a21:C.x-f.x+V*C.x,a22:C.y-f.y+V*C.y,a23:V,a31:f.x,a32:f.y,a33:1}}function a(f,g,p,C){var b=r(f,g,p,C);return{a11:b.a22*b.a33-b.a23*b.a32,a12:b.a13*b.a32-b.a12*b.a33,a13:b.a12*b.a23-b.a13*b.a22,a21:b.a23*b.a31-b.a21*b.a33,a22:b.a11*b.a33-b.a13*b.a31,a23:b.a13*b.a21-b.a11*b.a23,a31:b.a21*b.a32-b.a22*b.a31,a32:b.a12*b.a31-b.a11*b.a32,a33:b.a11*b.a22-b.a12*b.a21}}function d(f,g){return{a11:f.a11*g.a11+f.a21*g.a12+f.a31*g.a13,a12:f.a12*g.a11+f.a22*g.a12+f.a32*g.a13,a13:f.a13*g.a11+f.a23*g.a12+f.a33*g.a13,a21:f.a11*g.a21+f.a21*g.a22+f.a31*g.a23,a22:f.a12*g.a21+f.a22*g.a22+f.a32*g.a23,a23:f.a13*g.a21+f.a23*g.a22+f.a33*g.a23,a31:f.a11*g.a31+f.a21*g.a32+f.a31*g.a33,a32:f.a12*g.a31+f.a22*g.a32+f.a32*g.a33,a33:f.a13*g.a31+f.a23*g.a32+f.a33*g.a33}}function u(f,g){for(var p=a({x:3.5,y:3.5},{x:g.dimension-3.5,y:3.5},{x:g.dimension-6.5,y:g.dimension-6.5},{x:3.5,y:g.dimension-3.5}),C=r(g.topLeft,g.topRight,g.alignmentPattern,g.bottomLeft),b=d(C,p),y=s.BitMatrix.createEmpty(g.dimension,g.dimension),w=function(V,H){var J=b.a13*V+b.a23*H+b.a33;return{x:(b.a11*V+b.a21*H+b.a31)/J,y:(b.a12*V+b.a22*H+b.a32)/J}},A=0;A<g.dimension;A++)for(var P=0;P<g.dimension;P++){var M=P+.5,R=A+.5,T=w(M,R);y.set(P,A,f.get(Math.floor(T.x),Math.floor(T.y)))}return{matrix:y,mappingFunction:w}}i.extract=u}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=4,r=.5,a=1.5,d=function(M,R){return Math.sqrt(Math.pow(R.x-M.x,2)+Math.pow(R.y-M.y,2))};function u(M){return M.reduce(function(R,T){return R+T})}function f(M,R,T){var V,H,J,se,ue=d(M,R),ie=d(R,T),de=d(M,T),Ce,oe,fe;return ie>=ue&&ie>=de?(V=[R,M,T],Ce=V[0],oe=V[1],fe=V[2]):de>=ie&&de>=ue?(H=[M,R,T],Ce=H[0],oe=H[1],fe=H[2]):(J=[M,T,R],Ce=J[0],oe=J[1],fe=J[2]),(fe.x-oe.x)*(Ce.y-oe.y)-(fe.y-oe.y)*(Ce.x-oe.x)<0&&(se=[fe,Ce],Ce=se[0],fe=se[1]),{bottomLeft:Ce,topLeft:oe,topRight:fe}}function g(M,R,T,V){var H=(u(C(M,T,V,5))/7+u(C(M,R,V,5))/7+u(C(T,M,V,5))/7+u(C(R,M,V,5))/7)/4;if(H<1)throw new Error("Invalid module size");var J=Math.round(d(M,R)/H),se=Math.round(d(M,T)/H),ue=Math.floor((J+se)/2)+7;switch(ue%4){case 0:ue++;break;case 2:ue--;break}return{dimension:ue,moduleSize:H}}function p(M,R,T,V){var H=[{x:Math.floor(M.x),y:Math.floor(M.y)}],J=Math.abs(R.y-M.y)>Math.abs(R.x-M.x),se,ue,ie,de;J?(se=Math.floor(M.y),ue=Math.floor(M.x),ie=Math.floor(R.y),de=Math.floor(R.x)):(se=Math.floor(M.x),ue=Math.floor(M.y),ie=Math.floor(R.x),de=Math.floor(R.y));for(var Ce=Math.abs(ie-se),oe=Math.abs(de-ue),fe=Math.floor(-Ce/2),Be=se<ie?1:-1,Ne=ue<de?1:-1,ve=!0,rt=se,We=ue;rt!==ie+Be;rt+=Be){var ye=J?We:rt,gt=J?rt:We;if(T.get(ye,gt)!==ve&&(ve=!ve,H.push({x:ye,y:gt}),H.length===V+1))break;if(fe+=oe,fe>0){if(We===de)break;We+=Ne,fe-=Ce}}for(var Rt=[],nt=0;nt<V;nt++)H[nt]&&H[nt+1]?Rt.push(d(H[nt],H[nt+1])):Rt.push(0);return Rt}function C(M,R,T,V){var H,J=R.y-M.y,se=R.x-M.x,ue=p(M,R,T,Math.ceil(V/2)),ie=p(M,{x:M.x-se,y:M.y-J},T,Math.ceil(V/2)),de=ue.shift()+ie.shift()-1;return(H=ie.concat(de)).concat.apply(H,ue)}function b(M,R){var T=u(M)/u(R),V=0;return R.forEach(function(H,J){V+=Math.pow(M[J]-H*T,2)}),{averageSize:T,error:V}}function y(M,R,T){try{var V=C(M,{x:-1,y:M.y},T,R.length),H=C(M,{x:M.x,y:-1},T,R.length),J={x:Math.max(0,M.x-M.y)-1,y:Math.max(0,M.y-M.x)-1},se=C(M,J,T,R.length),ue={x:Math.min(T.width,M.x+M.y)+1,y:Math.min(T.height,M.y+M.x)+1},ie=C(M,ue,T,R.length),de=b(V,R),Ce=b(H,R),oe=b(se,R),fe=b(ie,R),Be=Math.sqrt(de.error*de.error+Ce.error*Ce.error+oe.error*oe.error+fe.error*fe.error),Ne=(de.averageSize+Ce.averageSize+oe.averageSize+fe.averageSize)/4,ve=(Math.pow(de.averageSize-Ne,2)+Math.pow(Ce.averageSize-Ne,2)+Math.pow(oe.averageSize-Ne,2)+Math.pow(fe.averageSize-Ne,2))/Ne;return Be+ve}catch{return 1/0}}function w(M,R){for(var T=Math.round(R.x);M.get(T,Math.round(R.y));)T--;for(var V=Math.round(R.x);M.get(V,Math.round(R.y));)V++;for(var H=(T+V)/2,J=Math.round(R.y);M.get(Math.round(H),J);)J--;for(var se=Math.round(R.y);M.get(Math.round(H),se);)se++;var ue=(J+se)/2;return{x:H,y:ue}}function A(M){for(var R=[],T=[],V=[],H=[],J=function(ye){for(var gt=0,Rt=!1,nt=[0,0,0,0,0],St=function(Pt){var pt=M.get(Pt,ye);if(pt===Rt)gt++;else{nt=[nt[1],nt[2],nt[3],nt[4],gt],gt=1,Rt=pt;var ut=u(nt)/7,Ye=Math.abs(nt[0]-ut)<ut&&Math.abs(nt[1]-ut)<ut&&Math.abs(nt[2]-3*ut)<3*ut&&Math.abs(nt[3]-ut)<ut&&Math.abs(nt[4]-ut)<ut&&!pt,kt=u(nt.slice(-3))/3,ci=Math.abs(nt[2]-kt)<kt&&Math.abs(nt[3]-kt)<kt&&Math.abs(nt[4]-kt)<kt&&pt;if(Ye){var Ci=Pt-nt[3]-nt[4],Ai=Ci-nt[2],si={startX:Ai,endX:Ci,y:ye},Vt=T.filter(function(ti){return Ai>=ti.bottom.startX&&Ai<=ti.bottom.endX||Ci>=ti.bottom.startX&&Ai<=ti.bottom.endX||Ai<=ti.bottom.startX&&Ci>=ti.bottom.endX&&nt[2]/(ti.bottom.endX-ti.bottom.startX)<a&&nt[2]/(ti.bottom.endX-ti.bottom.startX)>r});Vt.length>0?Vt[0].bottom=si:T.push({top:si,bottom:si})}if(ci){var et=Pt-nt[4],Oe=et-nt[3],si={startX:Oe,y:ye,endX:et},Vt=H.filter(function(hi){return Oe>=hi.bottom.startX&&Oe<=hi.bottom.endX||et>=hi.bottom.startX&&Oe<=hi.bottom.endX||Oe<=hi.bottom.startX&&et>=hi.bottom.endX&&nt[2]/(hi.bottom.endX-hi.bottom.startX)<a&&nt[2]/(hi.bottom.endX-hi.bottom.startX)>r});Vt.length>0?Vt[0].bottom=si:H.push({top:si,bottom:si})}}},Ee=-1;Ee<=M.width;Ee++)St(Ee);R.push.apply(R,T.filter(function(Pt){return Pt.bottom.y!==ye&&Pt.bottom.y-Pt.top.y>=2})),T=T.filter(function(Pt){return Pt.bottom.y===ye}),V.push.apply(V,H.filter(function(Pt){return Pt.bottom.y!==ye})),H=H.filter(function(Pt){return Pt.bottom.y===ye})},se=0;se<=M.height;se++)J(se);R.push.apply(R,T.filter(function(ye){return ye.bottom.y-ye.top.y>=2})),V.push.apply(V,H);var ue=R.filter(function(ye){return ye.bottom.y-ye.top.y>=2}).map(function(ye){var gt=(ye.top.startX+ye.top.endX+ye.bottom.startX+ye.bottom.endX)/4,Rt=(ye.top.y+ye.bottom.y+1)/2;if(M.get(Math.round(gt),Math.round(Rt))){var nt=[ye.top.endX-ye.top.startX,ye.bottom.endX-ye.bottom.startX,ye.bottom.y-ye.top.y+1],St=u(nt)/nt.length,Ee=y({x:Math.round(gt),y:Math.round(Rt)},[1,1,3,1,1],M);return{score:Ee,x:gt,y:Rt,size:St}}}).filter(function(ye){return!!ye}).sort(function(ye,gt){return ye.score-gt.score}).map(function(ye,gt,Rt){if(gt>s)return null;var nt=Rt.filter(function(Ee,Pt){return gt!==Pt}).map(function(Ee){return{x:Ee.x,y:Ee.y,score:Ee.score+Math.pow(Ee.size-ye.size,2)/ye.size,size:Ee.size}}).sort(function(Ee,Pt){return Ee.score-Pt.score});if(nt.length<2)return null;var St=ye.score+nt[0].score+nt[1].score;return{points:[ye].concat(nt.slice(0,2)),score:St}}).filter(function(ye){return!!ye}).sort(function(ye,gt){return ye.score-gt.score});if(ue.length===0)return null;var ie=f(ue[0].points[0],ue[0].points[1],ue[0].points[2]),de=ie.topRight,Ce=ie.topLeft,oe=ie.bottomLeft,fe=P(M,V,de,Ce,oe),Be=[];fe&&Be.push({alignmentPattern:{x:fe.alignmentPattern.x,y:fe.alignmentPattern.y},bottomLeft:{x:oe.x,y:oe.y},dimension:fe.dimension,topLeft:{x:Ce.x,y:Ce.y},topRight:{x:de.x,y:de.y}});var Ne=w(M,de),ve=w(M,Ce),rt=w(M,oe),We=P(M,V,Ne,ve,rt);return We&&Be.push({alignmentPattern:{x:We.alignmentPattern.x,y:We.alignmentPattern.y},bottomLeft:{x:rt.x,y:rt.y},topLeft:{x:ve.x,y:ve.y},topRight:{x:Ne.x,y:Ne.y},dimension:We.dimension}),Be.length===0?null:Be}i.locate=A;function P(M,R,T,V,H){var J,se,ue;try{J=g(V,T,H,M),se=J.dimension,ue=J.moduleSize}catch{return null}var ie={x:T.x-V.x+H.x,y:T.y-V.y+H.y},de=(d(V,H)+d(V,T))/2/ue,Ce=1-3/de,oe={x:V.x+Ce*(ie.x-V.x),y:V.y+Ce*(ie.y-V.y)},fe=R.map(function(Ne){var ve=(Ne.top.startX+Ne.top.endX+Ne.bottom.startX+Ne.bottom.endX)/4,rt=(Ne.top.y+Ne.bottom.y+1)/2;if(M.get(Math.floor(ve),Math.floor(rt))){var We=[Ne.top.endX-Ne.top.startX,Ne.bottom.endX-Ne.bottom.startX,Ne.bottom.y-Ne.top.y+1];u(We)/We.length;var ye=y({x:Math.floor(ve),y:Math.floor(rt)},[1,1,1],M),gt=ye+d({x:ve,y:rt},oe);return{x:ve,y:rt,score:gt}}}).filter(function(Ne){return!!Ne}).sort(function(Ne,ve){return Ne.score-ve.score}),Be=de>=15&&fe.length?fe[0]:oe;return{alignmentPattern:Be,dimension:se}}})]).default})})(mm)),mm.exports}var JX=QX();const eY=cS(JX);var tY=B('<label class="svelte-1ua3isv">Passcode <input type="number" placeholder="20202021" class="svelte-1ua3isv"/></label> <label class="svelte-1ua3isv">Discriminator (optional) <input type="number" placeholder="3840" class="svelte-1ua3isv"/></label>',1),iY=B('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label> <div class="scan-row svelte-1ua3isv"><button class="scan-btn svelte-1ua3isv" title="Scan QR code with camera"><svg width="13" height="13" viewBox="0 0 16 16" fill="currentColor"><path d="M1 1h5v5H1V1zm1 1v3h3V2H2zm7-1h5v5h-5V1zm1 1v3h3V2h-3zM1 9h5v5H1V9zm1 1v3h3v-3H2zm7 0h2v2H9v-2zm2 0h2v2h-2v-2zm0 2h2v2h-2v-2zm-2 2h2v2H9v-2zm2 0h2v2h-2v-2z"></path></svg> Camera</button> <label class="scan-btn scan-file-btn svelte-1ua3isv" title="Decode QR from image file"><svg width="13" height="13" viewBox="0 0 16 16" fill="currentColor"><path d="M13 4H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1zM3 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H3zm5 2.5a.5.5 0 0 1 .5.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1V6a.5.5 0 0 1 .5-.5z"></path></svg> Image… <input type="file" accept="image/*" style="display:none" class="svelte-1ua3isv"/></label></div>',1),$A=B('<p class="err svelte-1ua3isv"> </p>'),nY=B('<div class="wizard svelte-1ua3isv"><div class="wizard-tabs svelte-1ua3isv"><button>Passcode</button> <button>QR / Code</button></div> <!> <label class="svelte-1ua3isv">IP Address (optional, bypasses mDNS) <input type="text" placeholder="192.168.1.100 or 192.168.1.100:5540" class="svelte-1ua3isv"/></label> <!> <button class="commission-btn svelte-1ua3isv"> </button></div>'),sY=B('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),oY=B('<span class="device-name svelte-1ua3isv"> </span>'),rY=B('<li><button class="device-select-btn svelte-1ua3isv"><span></span> <span class="device-label svelte-1ua3isv"><!></span></button> <button class="unpair-btn svelte-1ua3isv" title="Unpair">✕</button></li>'),aY=B('<li class="empty svelte-1ua3isv">No paired devices</li>'),lY=B('<p class="info svelte-1ua3isv">Loading…</p>'),cY=B('<p class="device-subtitle svelte-1ua3isv"> </p>'),dY=B('<span class="ep-chip svelte-1ua3isv"> </span>'),uY=B('<span class="attr-id svelte-1ua3isv"> </span>'),hY=B('<button class="attr-action-btn svelte-1ua3isv"> </button>'),fY=B('<div class="attr-actions svelte-1ua3isv"></div>'),gY=B('<span class="cmd-sep svelte-1ua3isv">,</span>'),pY=B('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),xY=B('<span class="cmd-id svelte-1ua3isv"> </span>'),mY=B("<!> <!>",1),vY=B('<span class="cmd-list svelte-1ua3isv"></span>'),_Y=B(' <span class="cmd-id svelte-1ua3isv"> </span>',1),bY=B('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),CY=B('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"><th class="svelte-1ua3isv">deviceType</th><th class="svelte-1ua3isv">revision</th></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),EY=B('<th class="svelte-1ua3isv"> </th>'),yY=B('<td class="svelte-1ua3isv"> </td>'),wY=B('<tr class="svelte-1ua3isv"></tr>'),SY=B('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),DY=B('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),AY=B('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),kY=B('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),BY=B('<span class="attr-val svelte-1ua3isv"> </span>'),FY=B('<tr class="svelte-1ua3isv"><td class="attr-name-cell svelte-1ua3isv"><span class="attr-key svelte-1ua3isv"> </span><!></td><td class="attr-actions-cell svelte-1ua3isv"><!></td><td class="attr-val-cell svelte-1ua3isv"><!></td></tr>'),LY=B('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),IY=B('<table class="cluster-table svelte-1ua3isv"><colgroup><col class="col-attr-name svelte-1ua3isv"/><col class="col-attr-actions svelte-1ua3isv"/><col class="col-attr-val"/></colgroup><tbody class="svelte-1ua3isv"></tbody></table>'),PY=B('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),TY=B('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),MY=B('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),RY=B('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),NY=B('<span class="stream-badge svelte-1ua3isv"> </span>'),OY=B('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),GC=B('&nbsp;<span class="e-sub svelte-1ua3isv"> </span>',1),HY=B('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),WY=B('<span class="e-badge e-badge-attr svelte-1ua3isv">attr</span> <span class="e-node svelte-1ua3isv"> <!></span> <span class="e-ep svelte-1ua3isv"> <!></span> <span class="e-cluster svelte-1ua3isv"> </span> <span class="e-attr svelte-1ua3isv"> </span> <span class="e-val svelte-1ua3isv"> </span>',1),zY=B('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),VY=B('<div class="stream-body svelte-1ua3isv"><!></div>'),jY=B('<p class="scan-err svelte-1ua3isv"> </p>'),$Y=B('<div class="scan-preview svelte-1ua3isv"><video playsinline="" class="scan-video svelte-1ua3isv"></video> <div class="scan-reticle svelte-1ua3isv"></div></div> <p class="scan-hint svelte-1ua3isv">Point camera at the QR code on the device</p>',3),UY=B('<div class="scan-backdrop svelte-1ua3isv"></div> <div class="scan-modal svelte-1ua3isv"><div class="scan-modal-hdr svelte-1ua3isv"><span>Scan Matter QR Code</span> <button class="scan-close svelte-1ua3isv">✕</button></div> <!> <canvas style="display:none"></canvas></div>',1),qY=B('<!> <div class="matter-page svelte-1ua3isv"><div class="matter-main svelte-1ua3isv"><div class="sidebar svelte-1ua3isv"><div class="sidebar-header svelte-1ua3isv"><span class="sidebar-title svelte-1ua3isv">Matter Devices</span> <button class="add-btn svelte-1ua3isv" title="Commission new device">+</button></div> <!> <ul class="device-list svelte-1ua3isv"><!> <!></ul></div> <div class="detail svelte-1ua3isv"><!></div></div> <div class="stream-panel svelte-1ua3isv"><div class="stream-resize svelte-1ua3isv"></div> <div class="stream-hdr-row svelte-1ua3isv"><span class="stream-title svelte-1ua3isv">Matter Events</span> <!> <button class="stream-toggle svelte-1ua3isv" title="Toggle event feed"> </button></div> <!></div></div> <!>',1);function GY(o,e){Vs(e,!0);const t={onOff:{onOff:[{label:"On",command:"on"},{label:"Off",command:"off"},{label:"Toggle",command:"toggle"}]},levelControl:{currentLevel:[{label:"Step ▲",command:"stepWithOnOff",args:{stepMode:0,stepSize:25,transitionTime:5}},{label:"Step ▼",command:"stepWithOnOff",args:{stepMode:1,stepSize:25,transitionTime:5}}]},windowCovering:{currentPositionLiftPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}],currentPositionTiltPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}]}};async function i(Y,He,je,De,At){try{await sU(Y,He,je,De,At)}catch(Ot){console.error("matter command failed",Ot)}}const n={identify:{0:"identify",1:"triggerEffect"},groups:{0:"addGroup",1:"viewGroup",2:"getGroupMembership",3:"removeGroup",4:"removeAllGroups",5:"addGroupIfIdentifying"},scenes:{0:"addScene",1:"viewScene",2:"removeScene",3:"removeAllScenes",4:"storeScene",5:"recallScene",6:"getSceneMembership",64:"enhancedAddScene",65:"enhancedViewScene",66:"copyScene"},onOff:{0:"off",1:"on",2:"toggle",64:"offWithEffect",65:"onWithRecallGlobalScene",66:"onWithTimedOff"},levelControl:{0:"moveToLevel",1:"move",2:"step",3:"stop",4:"moveToLevelWithOnOff",5:"moveWithOnOff",6:"stepWithOnOff",7:"stopWithOnOff",8:"moveToClosestFrequency"},colorControl:{0:"moveToHue",1:"moveHue",2:"stepHue",3:"moveToSaturation",4:"moveSaturation",5:"stepSaturation",6:"moveToHueAndSaturation",7:"moveToColor",8:"moveColor",9:"stepColor",10:"moveToColorTemperature",64:"enhancedMoveToHue",65:"enhancedMoveHue",66:"enhancedStepHue",67:"enhancedMoveToHueAndSaturation",68:"colorLoopSet",71:"stopMoveStep",75:"moveColorTemperature",76:"stepColorTemperature"},thermostat:{0:"setpointRaiseLower",1:"setWeeklySchedule",2:"getWeeklySchedule",3:"clearWeeklySchedule"},doorLock:{0:"lockDoor",1:"unlockDoor",3:"unlockWithTimeout",11:"setWeekDaySchedule",12:"getWeekDaySchedule",13:"clearWeekDaySchedule",14:"setYearDaySchedule",15:"getYearDaySchedule",16:"clearYearDaySchedule",17:"setHolidaySchedule",18:"getHolidaySchedule",19:"clearHolidaySchedule",26:"setUser",27:"getUser",28:"clearUser",34:"setCredential",36:"getCredential",38:"clearCredential"},windowCovering:{0:"upOrOpen",1:"downOrClose",2:"stopMotion",4:"goToLiftValue",5:"goToLiftPercentage",7:"goToTiltValue",8:"goToTiltPercentage"},fanControl:{0:"step"}};function s(Y,He){const je=n[Y];return He.map(De=>{const At=typeof De=="number"?De:Number(De);return{id:At,name:(je==null?void 0:je[At])??null}})}const r={10:"Door Lock",11:"Door Lock Controller",14:"Aggregator",15:"Generic Switch",17:"On/Off Plug-In Unit",18:"Dimmable Plug-In Unit",19:"Pump",20:"On/Off Light Switch",21:"Dimmer Switch",22:"Color Dimmer Switch",23:"Control Bridge",24:"Pump Controller",256:"On/Off Light",257:"Dimmable Light",268:"Extended Color Light",269:"Color Temperature Light",262:"Light Sensor",263:"Occupancy Sensor",514:"Window Covering",515:"Window Covering Controller",768:"Heating/Cooling Unit",769:"Thermostat",770:"Temperature Sensor",771:"Pressure Sensor",772:"Flow Sensor",773:"Humidity Sensor",774:"On/Off Sensor",2112:"Air Quality Sensor"},a={generatedCommandList:65528,acceptedCommandList:65529,eventList:65530,attributeList:65531,featureMap:65532,clusterRevision:65533},d={descriptor:{deviceTypeList:0,serverList:1,clientList:2,partsList:3,tagList:4},basicInformation:{dataModelRevision:0,vendorName:1,vendorID:2,vendorId:2,productName:3,productID:4,productId:4,nodeLabel:5,location:6,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,localConfigDisabled:16,reachable:17,uniqueID:18,uniqueId:18,capabilityMinima:19,productAppearance:20,specificationVersion:21,maxPathsPerInvoke:22},bridgedDeviceBasicInformation:{vendorName:1,vendorID:2,vendorId:2,productName:3,productId:4,nodeLabel:5,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,reachable:17,uniqueID:18,uniqueId:18,productAppearance:20},identify:{identifyTime:0,identifyType:1},groups:{nameSupport:0},onOff:{onOff:0,globalSceneControl:16384,onTime:16385,offWaitTime:16386,startUpOnOff:16387},levelControl:{currentLevel:0,remainingTime:1,minLevel:2,maxLevel:3,currentFrequency:4,minFrequency:5,maxFrequency:6,options:15,onOffTransitionTime:16,onLevel:17,onTransitionTime:18,offTransitionTime:19,defaultMoveRate:20,startUpCurrentLevel:16384},colorControl:{currentHue:0,currentSaturation:1,remainingTime:2,currentX:3,currentY:4,colorTemperatureMireds:7,colorMode:8,options:15,enhancedCurrentHue:16384,enhancedColorMode:16385,colorLoopActive:16386,colorLoopDirection:16387,colorLoopTime:16388,colorCapabilities:16394,colorTempPhysicalMinMireds:16395,colorTempPhysicalMaxMireds:16396,coupleColorTempToLevelMinMireds:16397,startUpColorTemperatureMireds:16400},thermostat:{localTemperature:0,outdoorTemperature:1,occupancy:2,absMinHeatSetpointLimit:3,absMaxHeatSetpointLimit:4,absMinCoolSetpointLimit:5,absMaxCoolSetpointLimit:6,piCoolingDemand:7,piHeatingDemand:8,localTemperatureCalibration:16,occupiedCoolingSetpoint:17,occupiedHeatingSetpoint:18,unoccupiedCoolingSetpoint:19,unoccupiedHeatingSetpoint:20,minHeatSetpointLimit:21,maxHeatSetpointLimit:22,minCoolSetpointLimit:23,maxCoolSetpointLimit:24,minSetpointDeadBand:25,remoteSensing:26,controlSequenceOfOperation:27,systemMode:28,thermostatRunningMode:30,startOfWeek:32,numberOfWeeklyTransitions:33,numberOfDailyTransitions:34,temperatureSetpointHold:35,temperatureSetpointHoldDuration:36,thermostatProgrammingOperationMode:37,thermostatRunningState:41,setpointChangeSource:48,setpointChangeAmount:49,setpointChangeSourceTimestamp:50,occupiedSetback:52,unoccupiedSetback:55,emergencyHeatDelta:58},windowCovering:{type:0,physicalClosedLimitLift:1,physicalClosedLimitTilt:2,currentPositionLift:3,currentPositionTilt:4,numberOfActuationsLift:5,numberOfActuationsTilt:6,configStatus:7,currentPositionLiftPercentage:8,currentPositionTiltPercentage:9,operationalStatus:10,targetPositionLiftPercent100ths:11,targetPositionTiltPercent100ths:12,endProductType:13,currentPositionLiftPercent100ths:14,currentPositionTiltPercent100ths:15,installedOpenLimitLift:16,installedClosedLimitLift:17,installedOpenLimitTilt:18,installedClosedLimitTilt:19,mode:23,safetyStatus:26},doorLock:{lockState:0,lockType:1,actuatorEnabled:2,doorState:3,numberOfTotalUsersSupported:17,numberOfPINUsersSupported:18,maxPINCodeLength:23,minPINCodeLength:24,language:33,autoRelockTime:35,soundVolume:36,operatingMode:37,supportedOperatingModes:38,wrongCodeEntryLimit:48},fanControl:{fanMode:0,fanModeSequence:1,percentSetting:2,percentCurrent:3,speedMax:4,speedSetting:5,speedCurrent:6,rockSupport:7,rockSetting:8,windSupport:9,windSetting:10,airflowDirectionSupport:11,airflowDirection:12},occupancySensing:{occupancy:0,occupancySensorType:1,occupancySensorTypeBitmap:2,holdTime:3,pirOccupiedToUnoccupiedDelay:16,pirUnoccupiedToOccupiedDelay:17},illuminanceMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,lightSensorType:4},temperatureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},pressureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,scaledValue:16,minScaledValue:17,maxScaledValue:18,scale:20},flowMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},relativeHumidityMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},powerSource:{status:0,order:1,description:2,batVoltage:11,batPercentRemaining:12,batTimeRemaining:13,batChargeLevel:14,batReplacementNeeded:15,batReplaceability:16,batPresent:17,activeBatFaults:18,batChargeState:26}};function u(Y){return"0x"+Y.toString(16).toUpperCase().padStart(4,"0")}let f=F(yi([])),g=yi(new Map);function p(Y){if(Y==null)return"—";if(typeof Y=="boolean"||typeof Y=="number")return String(Y);if(typeof Y=="string")return Y.length>50?Y.slice(0,47)+"…":Y;const He=JSON.stringify(Y);return He.length>60?He.slice(0,57)+"…":He}function C(Y){return Y==null?"—":typeof Y=="boolean"||typeof Y=="number"?String(Y):typeof Y=="string"?Y:JSON.stringify(Y)}function b(Y){return Y!==null&&typeof Y=="object"&&!Array.isArray(Y)}function y(Y){return Array.isArray(Y)&&Y.length>0&&Y.every(b)}function w(Y,He){return!!(He==="attributeList"||Array.isArray(Y)&&Y.length===0||b(Y)&&Object.keys(Y).length===0)}function A(Y){return new Date(Y).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const P=500,M=20,R=32;let T=0,V=F(yi([])),H=F(!0),J=F(180),se=Lt(()=>{const Y=Math.max(1,Math.floor((c(J)-R)/M)+1);return c(V).slice(0,Y)});function ue(Y){Y.preventDefault();const He=Y.clientY,je=c(J);function De(Ot){m(J,Math.max(60,Math.min(600,je+He-Ot.clientY)),!0)}function At(){document.removeEventListener("mousemove",De),document.removeEventListener("mouseup",At)}document.addEventListener("mousemove",De),document.addEventListener("mouseup",At)}let ie=F(null),de=F(!1),Ce=F(null),oe=F(!1),fe=F("passcode"),Be=F(""),Ne=F(""),ve=F(""),rt=F(!1),We=F(null),ye=F(""),gt=F(!1),Rt=F(""),nt=F(void 0),St=F(void 0),Ee=null,Pt=null;function pt(){Pt!==null&&(cancelAnimationFrame(Pt),Pt=null),Ee&&(Ee.getTracks().forEach(Y=>Y.stop()),Ee=null),m(gt,!1),m(Rt,"")}function ut(Y){pt(),m(fe,"pairingCode"),m(ve,Y,!0)}function Ye(){if(!c(St))return null;const Y=c(St).getContext("2d",{willReadFrequently:!0}),{width:He,height:je}=c(St);if(!He||!je)return null;const De=Y.getImageData(0,0,He,je);return eY(De.data,De.width,De.height,{inversionAttempts:"dontInvert"})}async function kt(){if(m(gt,!0),m(Rt,""),await ul(),!c(nt)||!c(St))return;try{Ee=await navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}}),c(nt).srcObject=Ee,await c(nt).play()}catch(He){m(Rt,"Camera unavailable: "+(He instanceof Error?He.message:String(He)));return}const Y=()=>{var He;if(!(!c(nt)||!c(St)||!Ee)){if(c(nt).readyState===c(nt).HAVE_ENOUGH_DATA){c(St).width=c(nt).videoWidth,c(St).height=c(nt).videoHeight,c(St).getContext("2d",{willReadFrequently:!0}).drawImage(c(nt),0,0);const De=Ye();if((He=De==null?void 0:De.data)!=null&&He.startsWith("MT:")){ut(De.data);return}}Pt=requestAnimationFrame(Y)}};Pt=requestAnimationFrame(Y)}function ci(Y){var De;const He=(De=Y.target.files)==null?void 0:De[0];if(!He)return;const je=new FileReader;je.onload=At=>{const Ot=new Image;Ot.onload=()=>{var xi;if(!c(St))return;c(St).width=Ot.width,c(St).height=Ot.height,c(St).getContext("2d",{willReadFrequently:!0}).drawImage(Ot,0,0);const ii=Ye();(xi=ii==null?void 0:ii.data)!=null&&xi.startsWith("MT:")?ut(ii.data):m(Rt,"No Matter QR code found in image.")},Ot.src=At.target.result},je.readAsDataURL(He)}const Ci="she:matter:selectedNodeId";async function Ai(){try{m(f,await gF(),!0);for(const Y of c(f))gm(Y.nodeId).then(He=>{g.set(Y.nodeId,He)}).catch(()=>{});if(c(f).length>0&&!c(ie)){const Y=localStorage.getItem(Ci),He=Y&&c(f).find(je=>je.nodeId===Y)?Y:c(f)[0].nodeId;si(He)}}catch{m(f,[],!0)}}async function si(Y){m(de,!0),m(Ce,null);try{m(ie,await gm(Y),!0),g.set(Y,c(ie)),localStorage.setItem(Ci,Y)}catch(He){m(Ce,He instanceof Error?He.message:String(He),!0)}finally{m(de,!1)}}let Vt;async function et(Y){var He;if(await Vt.show(`Unpair device ${Y}?`,{confirm:"Unpair",danger:!0}))try{await nU(Y),((He=c(ie))==null?void 0:He.nodeId)===Y&&m(ie,null),await Ai()}catch(je){m(Ce,je instanceof Error?je.message:String(je),!0)}}async function Oe(){m(rt,!0),m(We,null);try{let Y;c(fe)==="passcode"?(Y={passcode:Number(c(Be))},c(Ne)&&(Y={...Y,discriminator:Number(c(Ne))})):Y={pairingCode:c(ve).trim()},c(ye).trim()&&(Y={...Y,discoveryAddress:c(ye).trim()}),await iU(Y),m(oe,!1),m(Be,""),m(Ne,""),m(ve,""),m(ye,""),await Ai()}catch(Y){m(We,Y instanceof Error?Y.message:String(Y),!0)}finally{m(rt,!1)}}Ks(()=>{Ai()});const ti=ar("matter:deviceList",Y=>{if(!Array.isArray(Y.devices))return;const He=Y.devices;for(const je of He)g.has(je.nodeId)||gm(je.nodeId).then(De=>{g.set(je.nodeId,De)}).catch(()=>{});m(f,He,!0)}),Li=ar("matter:deviceStatus",Y=>{if(Y.nodeId===void 0)return;const He=String(Y.nodeId),je=!!Y.online;m(f,c(f).map(De=>De.nodeId===He?{...De,online:je}:De),!0),m(V,[{id:T++,kind:"status",nodeId:He,online:je,ts:Date.now()},...c(V).slice(0,P-1)],!0)}),hi=ar("matter:attr",Y=>{const He=String(Y.nodeId),je=Y.endpointId,De=String(Y.clusterName),At=String(Y.attrName),Ot=Y.value;if(c(ie)&&c(ie).nodeId===He){const ii=c(ie).endpoints.find(jt=>jt.endpointId===je),xi=ii==null?void 0:ii.clusters.find(jt=>jt.name===De);xi&&(xi.attrs[At]=Ot)}const ni=g.get(He);if(ni){const ii=ni.endpoints.find(jt=>jt.endpointId===je),xi=ii==null?void 0:ii.clusters.find(jt=>jt.name===De);xi&&(xi.attrs[At]=Ot)}m(V,[{id:T++,kind:"attr",nodeId:He,endpointId:je,clusterName:De,attrName:At,value:Ot,ts:Y.ts??Date.now()},...c(V).slice(0,P-1)],!0)});Tp(()=>{ti(),Li(),hi(),pt()});var Ui=qY(),Wi=yt(Ui);us(qc(Wi,{}),Y=>Vt=Y,()=>Vt);var ki=v(Wi,2),dn=_(ki),ln=_(dn),Gi=_(ln),bn=v(_(Gi),2),vt=v(Gi,2);{var Gt=Y=>{var He=nY(),je=_(He),De=_(je);let At;var Ot=v(De,2);let ni;var ii=v(je,2);{var xi=Kt=>{var pe=tY(),Ze=yt(pe),dt=v(_(Ze)),ht=v(Ze,2),Wt=v(_(ht));Ht(dt,()=>c(Be),Tt=>m(Be,Tt)),Ht(Wt,()=>c(Ne),Tt=>m(Ne,Tt)),D(Kt,pe)},jt=Kt=>{var pe=iY(),Ze=yt(pe),dt=v(_(Ze)),ht=v(Ze,2),Wt=_(ht),Tt=v(Wt,2),di=v(_(Tt),2);Ht(dt,()=>c(ve),I=>m(ve,I)),$("click",Wt,kt),$("change",di,ci),D(Kt,pe)};z(ii,Kt=>{c(fe)==="passcode"?Kt(xi):Kt(jt,-1)})}var mi=v(ii,2),ze=v(_(mi)),tt=v(mi,2);{var Yt=Kt=>{var pe=$A(),Ze=_(pe);j(()=>O(Ze,c(We))),D(Kt,pe)};z(tt,Kt=>{c(We)&&Kt(Yt)})}var qt=v(tt,2),fi=_(qt);j(()=>{At=Dt(De,1,"svelte-1ua3isv",null,At,{active:c(fe)==="passcode"}),ni=Dt(Ot,1,"svelte-1ua3isv",null,ni,{active:c(fe)==="pairingCode"}),qt.disabled=c(rt),O(fi,c(rt)?"Commissioning…":"Commission")}),$("click",De,()=>m(fe,"passcode")),$("click",Ot,()=>m(fe,"pairingCode")),Ht(ze,()=>c(ye),Kt=>m(ye,Kt)),$("click",qt,Oe),D(Y,He)};z(vt,Y=>{c(oe)&&Y(Gt)})}var wi=v(vt,2),zi=_(wi);Zt(zi,17,()=>c(f),Y=>Y.nodeId,(Y,He)=>{var je=rY();let De;var At=_(je),Ot=_(At);let ni;var ii=v(Ot,2),xi=_(ii);{var jt=tt=>{var Yt=sY(),qt=yt(Yt),fi=_(qt),Kt=v(qt,2),pe=_(Kt);j(()=>{O(fi,c(He).name),O(pe,`#${c(He).nodeId??""}`)}),D(tt,Yt)},mi=tt=>{var Yt=oY(),qt=_(Yt);j(()=>O(qt,`Node ${c(He).nodeId??""}`)),D(tt,Yt)};z(xi,tt=>{c(He).name?tt(jt):tt(mi,-1)})}var ze=v(At,2);j(()=>{var tt;De=Dt(je,1,"svelte-1ua3isv",null,De,{selected:((tt=c(ie))==null?void 0:tt.nodeId)===c(He).nodeId}),ni=Dt(Ot,1,"status-dot svelte-1ua3isv",null,ni,{online:c(He).online})}),$("click",At,()=>si(c(He).nodeId)),$("click",ze,()=>et(c(He).nodeId)),D(Y,je)});var Mi=v(zi,2);{var Ri=Y=>{var He=aY();D(Y,He)};z(Mi,Y=>{c(f).length===0&&Y(Ri)})}var Oi=v(ln,2),Xi=_(Oi);{var Ei=Y=>{var He=lY();D(Y,He)},Qe=Y=>{var He=$A(),je=_(He);j(()=>O(je,c(Ce))),D(Y,He)},wt=Y=>{var He=MY(),je=yt(He),De=_(je),At=_(De),Ot=v(De,2);{var ni=mi=>{var ze=cY(),tt=_(ze);j(()=>O(tt,c(ie).subtitle)),D(mi,ze)};z(Ot,mi=>{c(ie).subtitle&&mi(ni)})}var ii=v(Ot,2),xi=_(ii),jt=v(je,2);Zt(jt,17,()=>c(ie).endpoints,mi=>mi.endpointId,(mi,ze)=>{var tt=TY(),Yt=_(tt),qt=_(Yt),fi=v(qt),Kt=_(fi),pe=v(fi,2);Zt(pe,21,()=>c(ze).clusters,Ni,(Wt,Tt)=>{var di=dY(),I=_(di);j(()=>O(I,c(Tt).name)),D(Wt,di)});var Ze=v(Yt,2);{var dt=Wt=>{var Tt=IY(),di=v(_(Tt));Zt(di,21,()=>c(ze).clusters,Ni,(I,W)=>{var K=LY(),le=yt(K),Z=_(le),Q=_(Z),ce=v(le,2);Zt(ce,17,()=>Object.entries(c(W).attrs),Ni,(Xe,ae)=>{var xe=Lt(()=>o8(c(ae),2));let Le=()=>c(xe)[0],me=()=>c(xe)[1];var Ie=Es(),lt=yt(Ie);{var G=Pe=>{const it=Lt(()=>{var Pi;return(Pi=t[c(W).name])==null?void 0:Pi[Le()]}),ge=Lt(()=>(Le()==="acceptedCommandList"||Le()==="generatedCommandList")&&Array.isArray(me())),_e=Lt(()=>{var Pi;return((Pi=d[c(W).name])==null?void 0:Pi[Le()])??a[Le()]});var ct=FY(),st=_(ct),Ae=_(st),xt=_(Ae),Ge=v(Ae);{var Ve=Pi=>{var Jt=uY(),Qt=_(Jt);j(Yi=>O(Qt,`(${Yi??""})`),[()=>u(c(_e))]),D(Pi,Jt)};z(Ge,Pi=>{c(_e)!==void 0&&Pi(Ve)})}var Je=v(st),Ct=_(Je);{var Ue=Pi=>{var Jt=fY();Zt(Jt,21,()=>c(it),Ni,(Qt,Yi)=>{var Ji=hY(),Ln=_(Ji);j(()=>O(Ln,c(Yi).label)),$("click",Ji,()=>i(c(ie).nodeId,c(ze).endpointId,c(W).name,c(Yi).command,c(Yi).args)),D(Qt,Ji)}),D(Pi,Jt)};z(Ct,Pi=>{c(it)&&Pi(Ue)})}var Ft=v(Je),Re=_(Ft);{var at=Pi=>{var Jt=vY();Zt(Jt,21,()=>s(c(W).name,me()),Ni,(Qt,Yi,Ji)=>{var Ln=mY(),Jn=yt(Ln);{var Ss=ss=>{var ps=gY();D(ss,ps)};z(Jn,ss=>{Ji>0&&ss(Ss)})}var as=v(Jn,2);{var Fs=ss=>{var ps=pY(),Vi=yt(ps),Ys=_(Vi),Pn=v(Vi),Vn=_(Pn);j(()=>{O(Ys,c(Yi).name),O(Vn,`(${c(Yi).id??""})`)}),D(ss,ps)},kn=ss=>{var ps=xY(),Vi=_(ps);j(()=>O(Vi,c(Yi).id)),D(ss,ps)};z(as,ss=>{c(Yi).name?ss(Fs):ss(kn,-1)})}D(Qt,Ln)}),D(Pi,Jt)},Bt=Pi=>{var Jt=CY(),Qt=v(_(Jt));Zt(Qt,21,me,Ni,(Yi,Ji)=>{const Ln=Lt(()=>c(Ji)),Jn=Lt(()=>c(Ln).deviceType),Ss=Lt(()=>r[c(Jn)]);var as=bY(),Fs=_(as),kn=_(Fs);{var ss=Pn=>{var Vn=_Y(),Ts=yt(Vn),dr=v(Ts),Or=_(dr);j(Za=>{O(Ts,`${c(Ss)??""} `),O(Or,`(${Za??""})`)},[()=>u(c(Jn))]),D(Pn,Vn)},ps=Pn=>{var Vn=_o();j(Ts=>O(Vn,Ts),[()=>u(c(Jn))]),D(Pn,Vn)};z(kn,Pn=>{c(Ss)?Pn(ss):Pn(ps,-1)})}var Vi=v(Fs),Ys=_(Vi);j(Pn=>O(Ys,Pn),[()=>C(c(Ln).revision)]),D(Yi,as)}),D(Pi,Jt)},Nt=Lt(()=>Le()==="deviceTypeList"&&Array.isArray(me())),_t=Pi=>{const Jt=Lt(()=>[...new Set(me().flatMap(Jn=>Object.keys(Jn)))]);var Qt=SY(),Yi=_(Qt),Ji=_(Yi);Zt(Ji,21,()=>c(Jt),Ni,(Jn,Ss)=>{var as=EY(),Fs=_(as);j(()=>O(Fs,c(Ss))),D(Jn,as)});var Ln=v(Yi);Zt(Ln,21,me,Ni,(Jn,Ss)=>{var as=wY();Zt(as,21,()=>c(Jt),Ni,(Fs,kn)=>{var ss=yY(),ps=_(ss);j(Vi=>O(ps,Vi),[()=>C(c(Ss)[c(kn)])]),D(Fs,ss)}),D(Jn,as)}),D(Pi,Qt)},vi=Lt(()=>y(me())),Si=Pi=>{var Jt=AY(),Qt=_(Jt);Zt(Qt,21,()=>Object.entries(me()),Ni,(Yi,Ji)=>{var Ln=Lt(()=>o8(c(Ji),2));let Jn=()=>c(Ln)[0],Ss=()=>c(Ln)[1];var as=DY(),Fs=_(as),kn=_(Fs),ss=v(Fs),ps=_(ss);j(Vi=>{O(kn,Jn()),O(ps,Vi)},[()=>C(Ss())]),D(Yi,as)}),D(Pi,Jt)},qi=Lt(()=>b(me())),Ii=Pi=>{var Jt=kY(),Qt=_(Jt);j(()=>{rn(Jt,"href",me()),O(Qt,me())}),D(Pi,Jt)},Ki=Pi=>{var Jt=BY(),Qt=_(Jt);j(Yi=>O(Qt,Yi),[()=>C(me())]),D(Pi,Jt)};z(Re,Pi=>{c(ge)?Pi(at):c(Nt)?Pi(Bt,1):c(vi)?Pi(_t,2):c(qi)?Pi(Si,3):(Le()==="productUrl"||Le()==="productURL")&&typeof me()=="string"?Pi(Ii,4):Pi(Ki,-1)})}j(()=>{rn(st,"title",Le()),O(xt,Le())}),D(Pe,ct)},re=Lt(()=>!w(me(),Le()));z(lt,Pe=>{c(re)&&Pe(G)})}D(Xe,Ie)}),j(()=>O(Q,c(W).name)),D(I,K)}),D(Wt,Tt)},ht=Wt=>{var Tt=PY();D(Wt,Tt)};z(Ze,Wt=>{c(ze).clusters.length>0?Wt(dt):Wt(ht,-1)})}j(()=>{O(qt,`${c(ze).name??`Endpoint ${c(ze).endpointId}`??""} `),O(Kt,`ep${c(ze).endpointId??""}`)}),D(mi,tt)}),j(()=>{O(At,c(ie).name??`Node ${c(ie).nodeId}`),O(xi,`Node ID: ${c(ie).nodeId??""}`)}),D(Y,He)},Fi=Y=>{var He=RY();D(Y,He)};z(Xi,Y=>{c(de)?Y(Ei):c(Ce)?Y(Qe,1):c(ie)?Y(wt,2):Y(Fi,-1)})}var Bi=v(dn,2),pi=_(Bi),Ti=v(pi,2),X=v(_(Ti),2);{var Fe=Y=>{var He=NY(),je=_(He);j(()=>O(je,c(V).length)),D(Y,He)};z(X,Y=>{!c(H)&&c(V).length>0&&Y(Fe)})}var Ke=v(X,2),ot=_(Ke),$t=v(Ti,2);{var ne=Y=>{var He=VY(),je=_(He);{var De=Ot=>{var ni=OY();D(Ot,ni)},At=Ot=>{var ni=Es(),ii=yt(ni);Zt(ii,17,()=>c(se),xi=>xi.id,(xi,jt)=>{const mi=Lt(()=>{var dt,ht;return((dt=g.get(c(jt).nodeId))==null?void 0:dt.name)??((ht=c(f).find(Wt=>Wt.nodeId===c(jt).nodeId))==null?void 0:ht.name)??null}),ze=Lt(()=>{var dt,ht;return c(jt).endpointId!==void 0?((ht=(dt=g.get(c(jt).nodeId))==null?void 0:dt.endpoints.find(Wt=>Wt.endpointId===c(jt).endpointId))==null?void 0:ht.name)??null:null}),tt=Lt(()=>c(jt).attrName??c(jt).clusterName);var Yt=zY(),qt=_(Yt),fi=_(qt),Kt=v(qt,2);{var pe=dt=>{var ht=HY(),Wt=v(yt(ht),2),Tt=_(Wt),di=v(Tt);{var I=Z=>{var Q=GC(),ce=v(yt(Q)),Xe=_(ce);j(()=>O(Xe,`(#${c(jt).nodeId??""})`)),D(Z,Q)};z(di,Z=>{c(mi)&&Z(I)})}var W=v(Wt,2);let K;var le=_(W);j(()=>{O(Tt,c(mi)??`#${c(jt).nodeId}`),K=Dt(W,1,"e-val svelte-1ua3isv",null,K,{"e-online":c(jt).online,"e-offline":!c(jt).online}),O(le,c(jt).online?"online":"offline")}),D(dt,ht)},Ze=dt=>{var ht=WY(),Wt=v(yt(ht),2),Tt=_(Wt),di=v(Tt);{var I=me=>{var Ie=GC(),lt=v(yt(Ie)),G=_(lt);j(()=>O(G,`(#${c(jt).nodeId??""})`)),D(me,Ie)};z(di,me=>{c(mi)&&me(I)})}var W=v(Wt,2),K=_(W),le=v(K);{var Z=me=>{var Ie=GC(),lt=v(yt(Ie)),G=_(lt);j(()=>O(G,`(ep ${c(jt).endpointId??""})`)),D(me,Ie)};z(le,me=>{c(ze)&&me(Z)})}var Q=v(W,2),ce=_(Q),Xe=v(Q,2),ae=_(Xe),xe=v(Xe,2),Le=_(xe);j(me=>{O(Tt,c(mi)??`#${c(jt).nodeId}`),O(K,c(ze)??`ep${c(jt).endpointId}`),O(ce,c(jt).clusterName),O(ae,c(tt)),O(Le,me)},[()=>p(c(jt).value)]),D(dt,ht)};z(Kt,dt=>{c(jt).kind==="status"?dt(pe):dt(Ze,-1)})}j(dt=>O(fi,dt),[()=>A(c(jt).ts)]),D(xi,Yt)}),D(Ot,ni)};z(je,Ot=>{c(se).length===0?Ot(De):Ot(At,-1)})}D(Y,He)};z($t,Y=>{c(H)&&Y(ne)})}var Se=v(ki,2);{var Me=Y=>{var He=UY(),je=yt(He),De=v(je,2),At=_(De),Ot=v(_(At),2),ni=v(At,2);{var ii=mi=>{var ze=jY(),tt=_(ze);j(()=>O(tt,c(Rt))),D(mi,ze)},xi=mi=>{var ze=$Y(),tt=yt(ze),Yt=_(tt);us(Yt,qt=>m(nt,qt),()=>c(nt)),D(mi,ze)};z(ni,mi=>{c(Rt)?mi(ii):mi(xi,-1)})}var jt=v(ni,2);us(jt,mi=>m(St,mi),()=>c(St)),$("click",je,pt),$("click",Ot,pt),D(Y,He)};z(Se,Y=>{c(gt)&&Y(Me)})}j(()=>{$o(Bi,c(H)?`height: ${c(J)}px;`:""),O(ot,c(H)?"▾":"▸")}),$("click",bn,()=>m(oe,!c(oe))),$("mousedown",pi,ue),$("click",Ke,()=>{m(H,!c(H))}),D(o,Ui),js()}Zs(["click","change","mousedown"]);var KY=B("<button>›</button>"),ZY=B('<span class="chev-ph svelte-1vejtrc"></span>'),XY=B('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),YY=B("<button>🔒</button>"),QY=B('<span class="acl-loading">Loading…</span>'),JY=B("<span> </span>"),eQ=B('<span class="acl-dyn svelte-1vejtrc" title="per-user/client pattern — cannot evaluate statically">⚠%u/%c</span>'),tQ=B('<span class="acl-members svelte-1vejtrc"> </span>'),iQ=B('<span class="acl-group svelte-1vejtrc"> </span>'),nQ=B('<span> <strong class="svelte-1vejtrc"> </strong> <!> <!> <!></span>'),sQ=B('<div class="acl-sec svelte-1vejtrc"><span class="acl-sec-hdr svelte-1vejtrc"> </span> <!></div>'),oQ=B('<div class="acl-panel svelte-1vejtrc"><!></div>'),rQ=B('<div class="tc svelte-1vejtrc"></div>'),aQ=B('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!> <!></div> <!> <!></div>'),lQ=B('<button class="acl-refresh svelte-1vejtrc" title="Refresh ACL data">↺</button>'),cQ=B('<button title="Show ACL coverage for topics"><svg width="11" height="11" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><rect x="3" y="7" width="10" height="8" rx="1.5"></rect><path d="M5 7V5a3 3 0 0 1 6 0v2" fill="none" stroke="currentColor" stroke-width="1.8"></path></svg> ACL<!></button> <!>',1),dQ=B("<option></option>"),uQ=B('<span class="pub-ok svelte-1vejtrc">✓</span>'),hQ=B('<span class="pub-err svelte-1vejtrc"> </span>'),fQ=B('<div class="info svelte-1vejtrc">Loading…</div>'),gQ=B('<div class="info err svelte-1vejtrc"> </div>'),pQ=B('<div class="info svelte-1vejtrc">No topics match.</div>'),xQ=B('<div class="vr svelte-1vejtrc"><span class="v-topic svelte-1vejtrc"> </span> <span class="v-val svelte-1vejtrc"> </span> <span class="v-ts svelte-1vejtrc"> </span></div>'),mQ=B('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),vQ=B('<div class="info svelte-1vejtrc">No topics yet.</div>'),_Q=B('<div class="tree-wrap svelte-1vejtrc"><!></div>'),bQ=B('<span class="stream-badge"> </span>'),CQ=B('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),EQ=B('<span class="s-ret svelte-1vejtrc" title="retained snapshot">&#x229B;</span>'),yQ=B('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),wQ=B('<div class="stream-body svelte-1vejtrc"><!></div>'),SQ=B('<div class="ctx-bd svelte-1vejtrc"></div> <div class="ctx-menu svelte-1vejtrc"><button class="svelte-1vejtrc">Copy topic</button> <button class="svelte-1vejtrc">Clear retained</button></div>',1),DQ=B('<label class="modal-check svelte-1vejtrc"><input type="checkbox" class="svelte-1vejtrc"/> <span class="checkmark svelte-1vejtrc"></span> Recursive — also clear all child topics</label>'),AQ=B('<div class="modal-bd svelte-1vejtrc"></div> <div class="modal svelte-1vejtrc"><div class="modal-title svelte-1vejtrc">Clear retained</div> <div class="modal-body svelte-1vejtrc"><p class="svelte-1vejtrc">Clear retained value for <code class="svelte-1vejtrc"> </code>?</p> <!></div> <div class="modal-footer svelte-1vejtrc"><button class="btn-cancel svelte-1vejtrc">Cancel</button> <button class="btn-confirm svelte-1vejtrc">Clear</button></div></div>',1),kQ=B('<div class="page svelte-1vejtrc"><div class="toolbar svelte-1vejtrc"><h2 class="svelte-1vejtrc">MQTT</h2> <!></div> <div class="main-group svelte-1vejtrc"><div class="pub-bar svelte-1vejtrc"><input class="pt svelte-1vejtrc" type="text" placeholder="topic" list="pub-topic-list" autocomplete="off"/> <datalist id="pub-topic-list"></datalist> <input class="pp svelte-1vejtrc" type="text" placeholder="payload"/> <label class="rl svelte-1vejtrc"><input type="checkbox" class="svelte-1vejtrc"/> <span class="checkmark svelte-1vejtrc"></span> retain</label> <select class="svelte-1vejtrc"><option>QoS 0</option><option>QoS 1</option><option>QoS 2</option></select> <button class="svelte-1vejtrc">Publish</button> <!> <!></div> <div class="tree-filter-bar svelte-1vejtrc"><input class="filter-in svelte-1vejtrc" type="search" placeholder="Filter topics…"/> <span class="count svelte-1vejtrc"><!> </span></div> <!></div> <div class="stream-panel svelte-1vejtrc"><div class="stream-resize svelte-1vejtrc"></div> <div class="stream-hdr-row svelte-1vejtrc"><input class="filter-in stream-filter-in svelte-1vejtrc" type="search" placeholder="Live stream filter (MQTT wildcard, default: #)"/> <!> <button class="stream-toggle svelte-1vejtrc" title="Toggle live stream"> </button></div> <!></div> <!> <!></div>');function BQ(o,e){Vs(e,!0);const t=(I,W=tb)=>{const K=Lt(()=>c(g).has(W().path)),le=Lt(()=>c(a)>=0&&W().children.size>0),Z=Lt(()=>c(a)>=0&&W().isLeaf&&!n.has(W().path));var Q=aQ(),ce=_(Q);let Xe;var ae=_(ce);{var xe=Ae=>{var xt=KY();let Ge;j(()=>{Ge=Dt(xt,1,"chev svelte-1vejtrc",null,Ge,{open:c(K)}),rn(xt,"aria-label",c(K)?"Collapse":"Expand")}),$("click",xt,()=>p(W().path)),D(Ae,xt)},Le=Ae=>{var xt=ZY();D(Ae,xt)};z(ae,Ae=>{c(le)?Ae(xe):Ae(Le,-1)})}var me=v(ae,2),Ie=_(me),lt=v(me,2);{var G=Ae=>{var xt=XY(),Ge=yt(xt),Ve=_(Ge),Je=v(Ge,2),Ct=_(Je);j((Ue,Ft,Re)=>{rn(Ge,"title",Ue),O(Ve,Ft),O(Ct,Re)},[()=>{var Ue;return Ci((Ue=Vt(W().path))==null?void 0:Ue.val)},()=>{var Ue;return Ci((Ue=Vt(W().path))==null?void 0:Ue.val)},()=>{var Ue;return((Ue=Vt(W().path))==null?void 0:Ue.ts)!=null?Ai(Vt(W().path).ts):""}]),D(Ae,xt)},re=Lt(()=>W().isLeaf&&i.has(W().path));z(lt,Ae=>{c(re)&&Ae(G)})}var Pe=v(lt,2);{var it=Ae=>{const xt=Lt(()=>!!c(Ui)&&Gi(W().path));var Ge=YY();let Ve;j(()=>{Ve=Dt(Ge,1,"acl-badge svelte-1vejtrc",null,Ve,{matched:c(xt)}),rn(Ge,"title",c(xt)?"Has explicit ACL — click to inspect":"No explicit ACL — click to inspect defaults")}),$("click",Ge,Je=>{Je.stopPropagation(),vt(W().path)}),D(Ae,Ge)};z(Pe,Ae=>{c(Li)&&W().isLeaf&&Ae(it)})}var ge=v(ce,2);{var _e=Ae=>{var xt=oQ(),Ge=_(xt);{var Ve=Ct=>{var Ue=QY();D(Ct,Ue)},Je=Ct=>{var Ue=Es(),Ft=yt(Ue);Zt(Ft,17,()=>[{label:"Send",section:c(ki).send},{label:"Subscribe",section:c(ki).subscribe},{label:"Receive",section:c(ki).receive}],Ni,(Re,at)=>{var Bt=sQ(),Nt=_(Bt),_t=_(Nt),vi=v(Nt,2);{var Si=Ii=>{var Ki=JY();let Pi;var Jt=_(Ki);j(()=>{Pi=Dt(Ki,1,"acl-def svelte-1vejtrc",null,Pi,{allow:c(at).section.default,deny:!c(at).section.default}),O(Jt,`${c(at).section.default?"allow":"deny"} (default)`)}),D(Ii,Ki)},qi=Ii=>{var Ki=Es(),Pi=yt(Ki);Zt(Pi,17,()=>c(at).section.roles,Ni,(Jt,Qt)=>{var Yi=nQ();let Ji;var Ln=_(Yi),Jn=v(Ln),Ss=_(Jn),as=v(Jn,2);{var Fs=Vi=>{var Ys=eQ();D(Vi,Ys)};z(as,Vi=>{c(Qt).dynamic&&Vi(Fs)})}var kn=v(as,2);{var ss=Vi=>{var Ys=tQ(),Pn=_(Ys);j(Vn=>O(Pn,Vn),[()=>c(Qt).users.join(", ")]),D(Vi,Ys)};z(kn,Vi=>{c(Qt).users.length>0&&Vi(ss)})}var ps=v(kn,2);Zt(ps,17,()=>c(Qt).groups,Ni,(Vi,Ys)=>{var Pn=iQ(),Vn=_(Pn);j(()=>O(Vn,c(Ys).groupname)),D(Vi,Pn)}),j(()=>{Ji=Dt(Yi,1,"acl-role svelte-1vejtrc",null,Ji,{allow:c(Qt).allow,deny:!c(Qt).allow}),O(Ln,`${c(Qt).allow?"✓":"✗"} `),O(Ss,c(Qt).rolename)}),D(Jt,Yi)}),D(Ii,Ki)};z(vi,Ii=>{c(at).section.roles.length===0?Ii(Si):Ii(qi,-1)})}j(()=>O(_t,c(at).label)),D(Re,Bt)}),D(Ct,Ue)};z(Ge,Ct=>{c(dn)?Ct(Ve):c(ki)&&Ct(Je,1)})}D(Ae,xt)};z(ge,Ae=>{c(Li)&&W().isLeaf&&c(Wi)===W().path&&Ae(_e)})}var ct=v(ge,2);{var st=Ae=>{var xt=rQ();Zt(xt,21,()=>[...W().children.values()].sort((Ge,Ve)=>Ge.seg.localeCompare(Ve.seg)),Ge=>Ge.path,(Ge,Ve)=>{t(Ge,()=>c(Ve))}),D(Ae,xt)};z(ct,Ae=>{c(le)&&c(K)&&Ae(st)})}j(()=>{Xe=Dt(ce,1,"tr svelte-1vejtrc",null,Xe,{stale:c(Z)}),O(Ie,W().seg)}),$("click",ce,()=>{m(de,W().path+"/#")}),$("contextmenu",ce,Ae=>{Ae.preventDefault(),m(ye,{x:Ae.clientX,y:Ae.clientY,topic:W().path},!0)}),D(I,Q)},i=new Map,n=new Set,s=new Set;let r=null,a=F(0);function d(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const I of s)f(I);s.clear(),l8(a)}))}const u=new Map;function f(I){const W=I.split("/");let K=u,le="";for(let Z=0;Z<W.length;Z++){const Q=W[Z];le=Z===0?Q:`${le}/${Q}`,K.has(Q)||K.set(Q,{seg:Q,path:le,children:new Map,isLeaf:!1});const ce=K.get(Q);Z===W.length-1&&(ce.isLeaf=!0),K=ce.children}}let g=F(yi(new Set));function p(I){const W=new Set(c(g));W.has(I)?W.delete(I):W.add(I),m(g,W,!0)}let C=F("");const b=24,y=5;let w=F(0),A=F(300),P=Lt(()=>{if(c(a),!c(C))return[];const I=c(C).toLowerCase().split(/\s+/).filter(Boolean),W=[];for(const[K,le]of i){const Z=K.toLowerCase();I.every(Q=>Z.includes(Q))&&W.push({topic:K,...le})}return W.sort((K,le)=>K.topic.localeCompare(le.topic))}),M=Lt(()=>{const I=c(P).length,W=Math.max(0,Math.floor(c(w)/b)-y),K=Math.min(I,Math.ceil((c(w)+c(A))/b)+y);return{start:W,end:K,totalH:I*b,top:W*b}});const R=1e3,T=200,V=20,H=36;let J=0,se=F(yi([])),ue=F(yi([])),ie=F(!0),de=F("#"),Ce=F(200);$n(()=>{const I=c(de).trim(),W=Ol(()=>c(se)),K=!I||I==="#"?W.slice(0,T):W.filter(le=>oe(I,le.topic)).slice(0,T);if(I&&I!=="#"){const le=new Set(K.map(Q=>Q.topic)),Z=[];for(const[Q,ce]of i)le.has(Q)||oe(I,Q)&&Z.push({id:-(Z.length+1),topic:Q,val:ce.val,ts:ce.ts,retained:!0});Z.sort((Q,ce)=>Q.topic.localeCompare(ce.topic)),m(ue,[...K,...Z],!0)}else m(ue,K,!0)});function oe(I,W){if(I==="#")return!0;const K=I.split("/"),le=W.split("/");for(let Z=0;Z<K.length;Z++){if(K[Z]==="#")return!0;if(Z>=le.length||K[Z]!=="+"&&K[Z]!==le[Z])return!1}return K.length===le.length}function fe(I){I.preventDefault();const W=I.clientY,K=c(Ce);function le(Q){m(Ce,Math.max(60,Math.min(800,K+W-Q.clientY)),!0)}function Z(){document.removeEventListener("mousemove",le),document.removeEventListener("mouseup",Z)}document.addEventListener("mousemove",le),document.addEventListener("mouseup",Z)}let Be=Lt(()=>{const I=Math.max(1,Math.floor((c(Ce)-H)/V)+1);return c(ue).slice(0,I)}),Ne=F(!0),ve=F(null);async function rt(){m(Ne,!0),m(ve,null);try{const I=await pF();for(const W of I)i.set(W.topic,{val:W.val,ts:W.ts}),f(W.topic)}catch(I){m(ve,I instanceof Error?I.message:String(I),!0)}finally{m(Ne,!1),l8(a)}}const We=ar("mqtt",I=>{const{topic:W,val:K,ts:le}=I;i.set(W,{val:K,ts:le}),n.add(W),s.add(W),d();const Z={id:J++,topic:W,val:K,ts:le};m(se,[Z,...c(se).slice(0,R-1)],!0);const Q=c(de).trim();(!Q||Q==="#"||oe(Q,W))&&m(ue,[Z,...c(ue).filter(ce=>!(ce.retained&&ce.topic===W)).slice(0,T-1)],!0)});let ye=F(null),gt=F(null);async function Rt(I,W){const K=[I];if(W){const le=I+"/";for(const Z of i.keys())Z.startsWith(le)&&K.push(Z)}for(const le of K)await dA(le,"",!0,0)}let nt=Lt(()=>(c(a),[...i.keys()].sort())),St=F(""),Ee=F(""),Pt=F(!1),pt=F(0),ut=F(!1),Ye=F(null),kt=F(!1);async function ci(){if(c(St)){m(ut,!0),m(Ye,null),m(kt,!1);try{await dA(c(St),c(Ee),c(Pt),c(pt)),m(kt,!0),setTimeout(()=>{m(kt,!1)},2e3)}catch(I){m(Ye,I instanceof Error?I.message:String(I),!0)}finally{m(ut,!1)}}}function Ci(I){return I==null?"":typeof I=="object"?JSON.stringify(I):String(I)}function Ai(I){return new Date(I).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function si(I){return new Date(I).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Vt(I){return c(a),i.get(I)}let et=Lt(()=>(c(a),[...u.values()].sort((I,W)=>I.seg.localeCompare(W.seg)))),Oe=Lt(()=>(c(a),i.size)),ti=F(!1),Li=F(!1),hi=F(!1),Ui=F(null),Wi=F(null),ki=F(null),dn=F(!1);function ln(I,W,K){return W.includes("%u")||W.includes("%c")?"dynamic":I==="subscribeLiteral"||I==="unsubscribeLiteral"?W===K?"match":"no-match":oe(W,K)?"match":"no-match"}function Gi(I){if(!c(Ui))return!1;for(const W of c(Ui).roles)if(W.acls){for(const K of W.acls)if(ln(K.acltype,K.topic,I)!=="no-match")return!0}return!1}async function bn(){m(hi,!0);try{const I=await EF();m(Ui,{roles:I.roles},!0)}catch{m(Ui,null),m(Li,!1)}finally{m(hi,!1)}}async function vt(I){if(c(Wi)===I){m(Wi,null),m(ki,null);return}m(Wi,I,!0),m(ki,null),m(dn,!0);try{m(ki,await BU(I),!0)}catch{m(ki,null)}finally{m(dn,!1)}}async function Gt(){c(Li)?(m(Li,!1),m(Wi,null),m(ki,null)):(m(Li,!0),m(Wi,null),m(ki,null),c(Ui)||await bn())}Ks(rt),Ks(async()=>{var I;try{const W=await oS();m(ti,!!((I=W.dynsec)!=null&&I.dynsecReady),!0)}catch{m(ti,!1)}}),Tp(()=>{We(),r!==null&&cancelAnimationFrame(r)});var wi=kQ(),zi=_(wi),Mi=v(_(zi),2);{var Ri=I=>{var W=cQ(),K=yt(W);let le;var Z=v(_(K),2);{var Q=ae=>{var xe=_o("…");D(ae,xe)};z(Z,ae=>{c(hi)&&ae(Q)})}var ce=v(K,2);{var Xe=ae=>{var xe=lQ();j(()=>xe.disabled=c(hi)),$("click",xe,bn),D(ae,xe)};z(ce,ae=>{c(Li)&&ae(Xe)})}j(()=>{le=Dt(K,1,"acl-btn svelte-1vejtrc",null,le,{active:c(Li)}),K.disabled=c(hi)}),$("click",K,Gt),D(I,W)};z(Mi,I=>{c(ti)&&I(Ri)})}var Oi=v(zi,2),Xi=_(Oi),Ei=_(Xi),Qe=v(Ei,2);Zt(Qe,20,()=>c(nt),I=>I,(I,W)=>{var K=dQ(),le={};j(()=>{le!==(le=W)&&(K.value=(K.__value=W)??"")}),D(I,K)});var wt=v(Qe,2),Fi=v(wt,2),Bi=_(Fi),pi=v(Fi,2),Ti=_(pi);Ti.value=Ti.__value=0;var X=v(Ti);X.value=X.__value=1;var Fe=v(X);Fe.value=Fe.__value=2;var Ke=v(pi,2),ot=v(Ke,2);{var $t=I=>{var W=uQ();D(I,W)};z(ot,I=>{c(kt)&&I($t)})}var ne=v(ot,2);{var Se=I=>{var W=hQ(),K=_(W);j(()=>O(K,c(Ye))),D(I,W)};z(ne,I=>{c(Ye)&&I(Se)})}var Me=v(Xi,2),Y=_(Me),He=v(Y,2),je=_(He);{var De=I=>{var W=_o();j(()=>O(W,`${c(P).length??""} /`)),D(I,W)};z(je,I=>{c(C)&&I(De)})}var At=v(je),Ot=v(Me,2);{var ni=I=>{var W=fQ();D(I,W)},ii=I=>{var W=gQ(),K=_(W);j(()=>O(K,c(ve))),D(I,W)},xi=I=>{var W=Es(),K=yt(W);{var le=Q=>{var ce=pQ();D(Q,ce)},Z=Q=>{var ce=mQ(),Xe=_(ce),ae=_(Xe);Zt(ae,21,()=>c(P).slice(c(M).start,c(M).end),xe=>xe.topic,(xe,Le)=>{var me=xQ(),Ie=_(me),lt=_(Ie),G=v(Ie,2),re=_(G),Pe=v(G,2),it=_(Pe);j((ge,_e,ct)=>{O(lt,c(Le).topic),rn(G,"title",ge),O(re,_e),O(it,ct)},[()=>Ci(c(Le).val),()=>Ci(c(Le).val),()=>Ai(c(Le).ts)]),D(xe,me)}),j(()=>{$o(Xe,`height: ${c(M).totalH??""}px; position: relative;`),$o(ae,`top: ${c(M).top??""}px;`)}),fs("scroll",ce,xe=>{m(w,xe.currentTarget.scrollTop,!0)}),dP(ce,"clientHeight",xe=>m(A,xe)),D(Q,ce)};z(K,Q=>{c(P).length===0?Q(le):Q(Z,-1)})}D(I,W)},jt=I=>{var W=_Q(),K=_(W);{var le=Q=>{var ce=vQ();D(Q,ce)},Z=Q=>{var ce=Es(),Xe=yt(ce);Zt(Xe,17,()=>c(et),ae=>ae.path,(ae,xe)=>{t(ae,()=>c(xe))}),D(Q,ce)};z(K,Q=>{c(et).length===0?Q(le):Q(Z,-1)})}D(I,W)};z(Ot,I=>{c(Ne)?I(ni):c(ve)?I(ii,1):c(C)?I(xi,2):I(jt,-1)})}var mi=v(Oi,2),ze=_(mi),tt=v(ze,2),Yt=_(tt),qt=v(Yt,2);{var fi=I=>{var W=bQ(),K=_(W);j(()=>O(K,c(ue).length)),D(I,W)};z(qt,I=>{!c(ie)&&c(ue).length>0&&I(fi)})}var Kt=v(qt,2),pe=_(Kt),Ze=v(tt,2);{var dt=I=>{var W=wQ(),K=_(W);{var le=Q=>{var ce=CQ();D(Q,ce)},Z=Q=>{var ce=Es(),Xe=yt(ce);Zt(Xe,17,()=>c(Be),ae=>ae.id,(ae,xe)=>{var Le=yQ();let me;var Ie=_(Le),lt=_(Ie),G=v(Ie,2);{var re=ct=>{var st=EQ();D(ct,st)};z(G,ct=>{c(xe).retained&&ct(re)})}var Pe=v(G,2),it=_(Pe),ge=v(Pe,2),_e=_(ge);j((ct,st,Ae)=>{me=Dt(Le,1,"sr svelte-1vejtrc",null,me,{retained:c(xe).retained}),O(lt,ct),O(it,c(xe).topic),rn(ge,"title",st),O(_e,Ae)},[()=>si(c(xe).ts),()=>Ci(c(xe).val),()=>Ci(c(xe).val)]),D(ae,Le)}),D(Q,ce)};z(K,Q=>{c(Be).length===0?Q(le):Q(Z,-1)})}D(I,W)};z(Ze,I=>{c(ie)&&I(dt)})}var ht=v(mi,2);{var Wt=I=>{var W=SQ(),K=yt(W),le=v(K,2);let Z;var Q=_(le),ce=v(Q,2);j(()=>Z=$o(le,"",Z,{left:`${c(ye).x??""}px`,top:`${c(ye).y??""}px`})),$("click",K,()=>m(ye,null)),$("contextmenu",K,Xe=>{Xe.preventDefault(),m(ye,null)}),$("click",Q,()=>{navigator.clipboard.writeText(c(ye).topic),m(ye,null)}),$("click",ce,()=>{const Xe=c(ye).topic,ae=Xe+"/",xe=[...i.keys()].some(Le=>Le.startsWith(ae));m(gt,{topic:Xe,hasChildren:xe,recursive:!1},!0),m(ye,null)}),D(I,W)};z(ht,I=>{c(ye)&&I(Wt)})}var Tt=v(ht,2);{var di=I=>{var W=AQ(),K=yt(W),le=v(K,2),Z=v(_(le),2),Q=_(Z),ce=v(_(Q)),Xe=_(ce),ae=v(Q,2);{var xe=lt=>{var G=DQ(),re=_(G);Cs(re,()=>c(gt).recursive,Pe=>c(gt).recursive=Pe),D(lt,G)};z(ae,lt=>{c(gt).hasChildren&&lt(xe)})}var Le=v(Z,2),me=_(Le),Ie=v(me,2);j(()=>O(Xe,c(gt).topic)),$("click",K,()=>m(gt,null)),$("click",me,()=>m(gt,null)),$("click",Ie,()=>{const{topic:lt,recursive:G}=c(gt);m(gt,null),Rt(lt,G)}),D(I,W)};z(Tt,I=>{c(gt)&&I(di)})}j(()=>{Ke.disabled=c(ut)||!c(St),O(At,` ${c(Oe)??""}`),$o(mi,c(ie)?`height: ${c(Ce)}px;`:""),O(pe,c(ie)?"▾":"▸")}),Ht(Ei,()=>c(St),I=>m(St,I)),Ht(wt,()=>c(Ee),I=>m(Ee,I)),Cs(Bi,()=>c(Pt),I=>m(Pt,I)),Bs(pi,()=>c(pt),I=>m(pt,I)),$("click",Ke,ci),Ht(Y,()=>c(C),I=>m(C,I)),$("mousedown",ze,fe),Ht(Yt,()=>c(de),I=>m(de,I)),$("click",Kt,()=>{m(ie,!c(ie))}),D(o,wi),js()}Zs(["click","contextmenu","mousedown"]);var FQ=B('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),LQ=B('<div class="restart-banner svelte-twakcj">⚠ Package changes require a daemon restart to take effect. <button class="restart-btn svelte-twakcj">Restart now</button></div>'),IQ=B('<div class="err svelte-twakcj"> </div>'),PQ=B('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),TQ=B('<p class="empty svelte-twakcj">No packages installed.</p>'),MQ=B('<p class="empty svelte-twakcj">No match.</p>'),RQ=B("<span> </span>"),NQ=b6('<svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><circle cx="8" cy="8" r="6" stroke-dasharray="18" stroke-dashoffset="4"></circle></svg>'),OQ=b6('<svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8A5 5 0 1 1 10.5 3.67"></path><polyline points="10.5,1.5 10.5,4 13,4"></polyline></svg>'),HQ=B('<div><div class="dep-info svelte-twakcj"><a class="dep-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="dep-ver svelte-twakcj"> </span> <!></div> <div class="dep-btns svelte-twakcj"><button><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 4.5l-4 4l-4 1.5l-1.5 1.5l7 7l1.5 -1.5l1.5 -4l4 -4"></path><line x1="9" y1="15" x2="4.5" y2="19.5"></line><line x1="14.5" y1="4" x2="20" y2="9.5"></line></svg></button> <button><!></button> <button class="icon-btn icon-btn--danger svelte-twakcj" title="Uninstall"><svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><line x1="2" y1="2" x2="14" y2="14"></line><line x1="14" y1="2" x2="2" y2="14"></line></svg></button></div></div>'),WQ=B('<span class="result-author svelte-twakcj"> </span>'),zQ=B('<span class="result-date svelte-twakcj"> </span>'),VQ=B('<span class="result-desc svelte-twakcj"> </span>'),jQ=B('<div class="result-row svelte-twakcj"><div class="result-info svelte-twakcj"><a class="result-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="result-ver svelte-twakcj"> </span> <!> <!> <!></div> <button class="install-btn svelte-twakcj"> </button></div>'),$Q=B('<div class="results-list svelte-twakcj"></div>'),UQ=B('<pre class="npm-output svelte-twakcj"> </pre>'),qQ=B(`<p class="hint svelte-twakcj">Install npm packages into <code class="svelte-twakcj">~/.she/</code>. Scripts can then <code class="svelte-twakcj">require('package-name')</code> directly.</p>`),GQ=B('<!> <div class="pkg-shell svelte-twakcj"><!> <!> <div class="pkg-body svelte-twakcj"><div class="pkg-left svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Installed</span> <span class="pane-count svelte-twakcj"> </span> <!> <button class="icon-btn check-outdated-btn svelte-twakcj" title="Check for package updates"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8A5 5 0 1 1 10.5 3.67"></path><polyline points="10.5,1.5 10.5,4 13,4"></polyline></svg></button></div> <div class="filter-row svelte-twakcj"><input class="filter-in svelte-twakcj" type="search" placeholder="Filter…"/></div> <div class="installed-list svelte-twakcj"><!></div></div> <div class="pkg-right svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Search npm</span></div> <div class="search-row svelte-twakcj"><input class="search-in svelte-twakcj" type="text" placeholder="Package name, e.g. axios, lodash…"/> <button class="search-btn svelte-twakcj"> </button></div> <!> <!> <!></div></div></div>',1);function KQ(o,e){Vs(e,!0);let t=F(yi([])),i=F(""),n=F(yi({})),s=F(yi([])),r=F(!1),a=F(""),d=F(yi([])),u=F(!1),f=F(!1),g=F(!1),p=F(""),C=F(""),b=yi({});const y=Lt(()=>c(i).trim()?c(t).filter(vt=>vt.name.toLowerCase().includes(c(i).toLowerCase())):c(t)),w=Lt(()=>Object.keys(c(n)).filter(vt=>!c(s).includes(vt)).length);Ks(async()=>{await Promise.all([A(),P(),M()])});async function A(){try{m(t,await G$(),!0),m(p,"")}catch(vt){m(p,vt.message,!0)}}async function P(){try{m(n,await fF(),!0)}catch{}}async function M(){try{const vt=await Il();m(s,Array.isArray(vt.pinnedPackages)?vt.pinnedPackages:[],!0)}catch{}}async function R(vt){const Gt=c(s).includes(vt)?c(s).filter(wi=>wi!==vt):[...c(s),vt];m(s,Gt,!0);try{const wi=await Il();await ap({...wi,pinnedPackages:Gt})}catch{}}async function T(){m(r,!0);try{m(n,await Q$(),!0)}catch{}finally{m(r,!1)}}async function V(){const vt=c(a).trim();if(!vt){m(d,[],!0);return}m(g,!0),m(p,"");try{m(d,await K$(vt),!0)}catch(Gt){m(p,Gt.message,!0)}finally{m(g,!1)}}function H(vt){if(!vt)return"";try{return new Date(vt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function J(vt,Gt){b[vt]=!0,m(p,""),m(C,"");try{const wi=await Z$(vt,Gt);m(C,wi.stdout||wi.stderr||"Done.",!0),m(u,!0),await A()}catch(wi){m(p,wi.message,!0)}finally{b[vt]=!1}}async function se(vt){b[vt]=!0,m(p,""),m(C,"");try{const Gt=await X$(vt);m(C,Gt.stdout||Gt.stderr||"Done.",!0),m(u,!0);const wi={...c(n)};delete wi[vt],m(n,wi,!0),await A()}catch(Gt){m(p,Gt.message,!0)}finally{b[vt]=!1}}async function ue(vt){b[vt]=!0,m(p,""),m(C,"");try{const Gt=await Y$(vt);m(C,Gt.stdout||Gt.stderr||"Done.",!0),m(u,!0);const wi={...c(n)};delete wi[vt],m(n,wi,!0),await A()}catch(Gt){m(p,Gt.message,!0)}finally{b[vt]=!1}}let ie;async function de(){if(await ie.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){m(f,!0);try{await dF()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var Ce=GQ(),oe=yt(Ce);us(qc(oe,{}),vt=>ie=vt,()=>ie);var fe=v(oe,2),Be=_(fe);{var Ne=vt=>{var Gt=FQ();D(vt,Gt)},ve=vt=>{var Gt=LQ(),wi=v(_(Gt));$("click",wi,de),D(vt,Gt)};z(Be,vt=>{c(f)?vt(Ne):c(u)&&vt(ve,1)})}var rt=v(Be,2);{var We=vt=>{var Gt=IQ(),wi=_(Gt);j(()=>O(wi,c(p))),D(vt,Gt)};z(rt,vt=>{c(p)&&vt(We)})}var ye=v(rt,2),gt=_(ye),Rt=_(gt),nt=v(_(Rt),2),St=_(nt),Ee=v(nt,2);{var Pt=vt=>{var Gt=PQ(),wi=_(Gt);j(()=>O(wi,`${c(w)??""} outdated`)),D(vt,Gt)};z(Ee,vt=>{c(w)>0&&vt(Pt)})}var pt=v(Ee,2),ut=_(pt);let Ye;var kt=v(Rt,2),ci=_(kt),Ci=v(kt,2),Ai=_(Ci);{var si=vt=>{var Gt=TQ();D(vt,Gt)},Vt=vt=>{var Gt=MQ();D(vt,Gt)},et=vt=>{var Gt=Es(),wi=yt(Gt);Zt(wi,17,()=>c(y),zi=>zi.name,(zi,Mi)=>{var Ri=HQ();let Oi;var Xi=_(Ri),Ei=_(Xi),Qe=_(Ei),wt=v(Ei,2),Fi=_(wt),Bi=v(wt,2);{var pi=Y=>{var He=RQ();let je;var De=_(He);j(At=>{je=Dt(He,1,"dep-latest svelte-twakcj",null,je,At),O(De,`→ v${c(n)[c(Mi).name].latest??""}`)},[()=>({"dep-latest--pinned":c(s).includes(c(Mi).name)})]),D(Y,He)};z(Bi,Y=>{c(n)[c(Mi).name]&&Y(pi)})}var Ti=v(Xi,2),X=_(Ti);let Fe;var Ke=v(X,2);let ot;var $t=_(Ke);{var ne=Y=>{var He=NQ();D(Y,He)},Se=Y=>{var He=OQ();D(Y,He)};z($t,Y=>{b[c(Mi).name]?Y(ne):Y(Se,-1)})}var Me=v(Ke,2);j((Y,He,je)=>{Oi=Dt(Ri,1,"dep-row svelte-twakcj",null,Oi,{"dep-busy":!!b[c(Mi).name]}),rn(Ei,"href",c(Mi).url??`https://www.npmjs.com/package/${c(Mi).name}`),O(Qe,c(Mi).name),O(Fi,c(Mi).installedVersion??c(Mi).version),Fe=Dt(X,1,"icon-btn svelte-twakcj",null,Fe,Y),rn(X,"title",He),ot=Dt(Ke,1,"icon-btn svelte-twakcj",null,ot,je),Ke.disabled=!!b[c(Mi).name],rn(Ke,"title",c(n)[c(Mi).name]?`Update to v${c(n)[c(Mi).name].latest}`:"Update to latest"),Me.disabled=!!b[c(Mi).name]},[()=>({"icon-btn--pinned":c(s).includes(c(Mi).name)}),()=>c(s).includes(c(Mi).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!c(n)[c(Mi).name]&&!c(s).includes(c(Mi).name)})]),$("click",X,()=>R(c(Mi).name)),$("click",Ke,()=>ue(c(Mi).name)),$("click",Me,()=>se(c(Mi).name)),D(zi,Ri)}),D(vt,Gt)};z(Ai,vt=>{c(t).length===0?vt(si):c(y).length===0?vt(Vt,1):vt(et,-1)})}var Oe=v(gt,2),ti=v(_(Oe),2),Li=_(ti),hi=v(Li,2),Ui=_(hi),Wi=v(ti,2);{var ki=vt=>{var Gt=$Q();Zt(Gt,21,()=>c(d),wi=>wi.name,(wi,zi)=>{var Mi=jQ(),Ri=_(Mi),Oi=_(Ri),Xi=_(Oi),Ei=v(Oi,2),Qe=_(Ei),wt=v(Ei,2);{var Fi=ot=>{var $t=WQ(),ne=_($t);j(()=>O(ne,c(zi).author)),D(ot,$t)};z(wt,ot=>{c(zi).author&&ot(Fi)})}var Bi=v(wt,2);{var pi=ot=>{var $t=zQ(),ne=_($t);j(Se=>{rn($t,"title",c(zi).date),O(ne,Se)},[()=>H(c(zi).date)]),D(ot,$t)};z(Bi,ot=>{c(zi).date&&ot(pi)})}var Ti=v(Bi,2);{var X=ot=>{var $t=VQ(),ne=_($t);j(()=>O(ne,c(zi).description)),D(ot,$t)};z(Ti,ot=>{c(zi).description&&ot(X)})}var Fe=v(Ri,2),Ke=_(Fe);j(()=>{rn(Oi,"href",c(zi).url??`https://www.npmjs.com/package/${c(zi).name}`),O(Xi,c(zi).name),O(Qe,c(zi).version),Fe.disabled=!!b[c(zi).name],O(Ke,b[c(zi).name]?"Installing…":"Install")}),$("click",Fe,()=>J(c(zi).name)),D(wi,Mi)}),D(vt,Gt)};z(Wi,vt=>{c(d).length>0&&vt(ki)})}var dn=v(Wi,2);{var ln=vt=>{var Gt=UQ(),wi=_(Gt);j(()=>O(wi,c(C))),D(vt,Gt)};z(dn,vt=>{c(C)&&vt(ln)})}var Gi=v(dn,2);{var bn=vt=>{var Gt=qQ();D(vt,Gt)};z(Gi,vt=>{!c(d).length&&!c(C)&&vt(bn)})}j(()=>{O(St,c(t).length),pt.disabled=c(r),Ye=Dt(ut,0,"svelte-twakcj",null,Ye,{spinning:c(r)}),hi.disabled=c(g),O(Ui,c(g)?"Searching…":"Search")}),$("click",pt,T),Ht(ci,()=>c(i),vt=>m(i,vt)),$("keydown",Li,vt=>vt.key==="Enter"&&V()),Ht(Li,()=>c(a),vt=>m(a,vt)),$("click",hi,V),D(o,Ce),js()}Zs(["click","keydown"]);var ZQ=B('<div class="plugin-warning svelte-3itf14">⚠ The dynamic-security plugin is not responding. Add <code class="svelte-3itf14">plugin …/mosquitto_dynamic_security.so</code> and <code class="svelte-3itf14">plugin_opt_config_file …/dynamic-security.json</code> to your mosquitto.conf and restart mosquitto. Operations below will time out until the plugin is active.</div>'),ba=B('<div class="err svelte-3itf14"> </div>'),XQ=B('<div class="empty svelte-3itf14">No users found.</div>'),YQ=B('<span class="tag svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove role">×</button></span>'),yh=B("<option> </option>"),zx=B('<div class="inline-err svelte-3itf14"> </div>'),UA=B('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— role —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),QQ=B('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove from group">×</button></span>'),JQ=B('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— group —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),eJ=B('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus svelte-3itf14" title="Add role">+</button></div> <!></div></td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus tag-plus--group svelte-3itf14" title="Add to group">+</button></div> <!></div></td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button title="Set password" class="svelte-3itf14">🔑</button> <button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),tJ=B('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Username</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14">Groups</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),iJ=B('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Users</h3> <button class="btn-add svelte-3itf14">+ Add user</button></div> <!> <!></div>'),nJ=B('<div class="empty svelte-3itf14">No roles found.</div>'),sJ=B('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button title="Edit ACLs" class="svelte-3itf14">Edit ACLs</button> <button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),oJ=B('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Role</th><th class="svelte-3itf14">ACLs</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),rJ=B('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Roles</h3> <button class="btn-add svelte-3itf14">+ Add role</button></div> <!> <!></div>'),aJ=B('<div class="empty svelte-3itf14">No groups found.</div>'),lJ=B('<span class="tag svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove member">×</button></span>'),cJ=B('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— user —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),dJ=B('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove role">×</button></span>'),uJ=B('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus svelte-3itf14" title="Add member">+</button></div> <!></div></td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus tag-plus--group svelte-3itf14" title="Add role">+</button></div> <!></div></td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),hJ=B('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Group</th><th class="svelte-3itf14">Members</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),fJ=B('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Groups</h3> <button class="btn-add svelte-3itf14">+ Add group</button></div> <!> <!></div>'),qA=B('<div class="empty svelte-3itf14">Loading…</div>'),gJ=B('<tr><td class="mono small svelte-3itf14"> </td><td class="acl-radio svelte-3itf14"><input type="radio" value="allow"/></td><td class="acl-radio svelte-3itf14"><input type="radio" value="deny"/></td></tr>'),pJ=B('<table class="acl-defaults-table svelte-3itf14"><thead><tr><th class="svelte-3itf14">Operation</th><th class="svelte-3itf14">Allow</th><th class="svelte-3itf14">Deny</th></tr></thead><tbody></tbody></table>'),xJ=B('<div class="anon-current svelte-3itf14">Current: <span class="mono svelte-3itf14"> </span></div>'),mJ=B('<div class="anon-current muted svelte-3itf14">No anonymous group configured.</div>'),vJ=B('<div class="anon-row svelte-3itf14"><select class="svelte-3itf14"><option>— none —</option><!></select> <button class="svelte-3itf14"> </button></div> <!>',1),_J=B('<div class="panel svelte-3itf14"><div class="settings-section svelte-3itf14"><h3 class="settings-heading svelte-3itf14">Default ACL Access</h3> <p class="settings-hint svelte-3itf14">Broker-wide defaults applied when no role ACL matches. Role ACLs always take precedence over these defaults.</p> <!> <!></div> <div class="settings-section svelte-3itf14"><h3 class="settings-heading svelte-3itf14">Anonymous Group</h3> <p class="settings-hint svelte-3itf14">Clients connecting without credentials are treated as members of this group. Requires <code class="svelte-3itf14">allow_anonymous true</code> in mosquitto.conf.</p> <!> <!></div></div>'),bJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add user</h3> <label class="svelte-3itf14">Username<input autocomplete="off" class="svelte-3itf14"/></label> <label class="svelte-3itf14">Password <div class="pw-row svelte-3itf14"><input autocomplete="new-password" class="svelte-3itf14"/> <button class="toggle-pw svelte-3itf14"> </button></div></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),CJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Set password for <em class="svelte-3itf14"> </em></h3> <label class="svelte-3itf14">New password <input type="password" autocomplete="new-password" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),EJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add role</h3> <label class="svelte-3itf14">Role name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),yJ=B('<tr class="svelte-3itf14"><td class="mono small svelte-3itf14"> </td><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="svelte-3itf14"><button class="danger">✕</button></td></tr>'),wJ=B('<table class="acl-table svelte-3itf14"><thead><tr><th class="svelte-3itf14">Type</th><th class="svelte-3itf14">Topic</th><th class="svelte-3itf14">Allow</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),SJ=B('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),DJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-3itf14"><h3 class="svelte-3itf14">ACLs for role <em class="svelte-3itf14"> </em></h3> <!> <div class="acl-add-row svelte-3itf14"><select class="svelte-3itf14"></select> <input placeholder="topic or pattern" class="svelte-3itf14"/> <label class="allow-toggle svelte-3itf14"><input type="checkbox" class="svelte-3itf14"/> Allow</label> <button class="svelte-3itf14">Add</button></div> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Close</button></div></div></div>'),AJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add group</h3> <label class="svelte-3itf14">Group name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),kJ=B('<div class="users-page svelte-3itf14"><!> <div class="panel-tabs svelte-3itf14"><button>Users</button> <button>Roles</button> <button>Groups</button> <button>Settings</button> <button class="reload-btn svelte-3itf14" title="Refresh">↺</button></div> <!> <!> <!> <!></div> <!> <!> <!> <!> <!> <!>',1);function BJ(o,e){Vs(e,!0);let t=wu(e,"dynsecReady",3,!1),i,n=F(yi([])),s=F(yi([])),r=F(yi([])),a=F(""),d=F(""),u=F(""),f=F("users"),g=F(null),p=F(""),C=F(""),b=F(!1);const y=Lt(()=>c(g)?c(g).kind==="user-roles"?c(s).map(pe=>pe.rolename).filter(pe=>{var Ze,dt;return!((dt=(Ze=c(n).find(ht=>ht.username===c(g).target))==null?void 0:Ze.roles)!=null&&dt.some(ht=>ht.rolename===pe))}):c(g).kind==="user-groups"?c(r).map(pe=>pe.groupname).filter(pe=>{var Ze,dt;return!((dt=(Ze=c(n).find(ht=>ht.username===c(g).target))==null?void 0:Ze.groups)!=null&&dt.some(ht=>ht.groupname===pe))}):c(g).kind==="group-members"?c(n).map(pe=>pe.username).filter(pe=>{var Ze,dt;return!((dt=(Ze=c(r).find(ht=>ht.groupname===c(g).target))==null?void 0:Ze.clients)!=null&&dt.some(ht=>ht.username===pe))}):c(s).map(pe=>pe.rolename).filter(pe=>{var Ze,dt;return!((dt=(Ze=c(r).find(ht=>ht.groupname===c(g).target))==null?void 0:Ze.roles)!=null&&dt.some(ht=>ht.rolename===pe))}):[]);function w(pe,Ze){m(g,{kind:pe,target:Ze},!0),m(p,""),m(C,"")}async function A(){if(!(!c(g)||!c(p))){m(b,!0),m(C,"");try{const{kind:pe,target:Ze}=c(g);pe==="user-roles"?await xU(Ze,c(p)):pe==="user-groups"?await uA(c(p),Ze):pe==="group-members"?await uA(Ze,c(p)):await SU(Ze,c(p)),m(g,null),m(p,""),await ki()}catch(pe){m(C,pe.message,!0)}finally{m(b,!1)}}}async function P(pe,Ze){try{await mU(pe,Ze),await ki()}catch(dt){m(a,dt.message,!0)}}async function M(pe,Ze){try{await hA(Ze,pe),await ki()}catch(dt){m(a,dt.message,!0)}}async function R(pe,Ze){try{await hA(pe,Ze),await ki()}catch(dt){m(u,dt.message,!0)}}async function T(pe,Ze){try{await DU(pe,Ze),await ki()}catch(dt){m(u,dt.message,!0)}}let V=F(!1),H=F(""),J=F(""),se=F(!1),ue=F(""),ie=F(!1),de=F(!1),Ce=F(""),oe=F(""),fe=F(""),Be=F(!1),Ne=F(!1),ve=F(""),rt=F(""),We=F(!1),ye=F(null),gt=F(!1),Rt=F("publishClientSend"),nt=F(""),St=F(!0),Ee=F(""),Pt=F(!1),pt=F(""),ut=F(""),Ye=F(!1),kt=F(yi([])),ci=F(""),Ci=F(!1),Ai=F(null),si=F(""),Vt=F(""),et=F(!1),Oe=F(!1);const ti=[{acltype:"publishClientSend",label:"Publish (send)"},{acltype:"publishClientReceive",label:"Publish (receive)"},{acltype:"subscribe",label:"Subscribe"},{acltype:"unsubscribe",label:"Unsubscribe"}];async function Li(){var pe,Ze;m(Oe,!1),m(ci,""),m(Vt,"");try{const[dt,ht]=await Promise.allSettled([AU(),FU()]);if(dt.status==="fulfilled"){const Wt=Object.fromEntries(dt.value.acls.map(Tt=>[Tt.acltype,Tt.allow]));m(kt,ti.map(({acltype:Tt})=>({acltype:Tt,allow:Wt[Tt]??(Tt==="publishClientReceive"||Tt==="unsubscribe")})),!0)}else m(ci,((pe=dt.reason)==null?void 0:pe.message)??"Failed to load default ACLs",!0);ht.status==="fulfilled"?(m(Ai,ht.value.group,!0),m(si,ht.value.group??"",!0)):m(Vt,((Ze=ht.reason)==null?void 0:Ze.message)??"Failed to load anonymous group",!0)}finally{m(Oe,!0)}}async function hi(pe,Ze){m(kt,c(kt).map(dt=>dt.acltype===pe?{...dt,allow:Ze}:dt),!0),m(Ci,!0),m(ci,"");try{await kU(c(kt))}catch(dt){m(ci,dt.message,!0)}finally{m(Ci,!1)}}async function Ui(){m(et,!0),m(Vt,"");try{await LU(c(si)||null),m(Ai,c(si)||null,!0)}catch(pe){m(Vt,pe.message,!0)}finally{m(et,!1)}}const Wi=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function ki(){var pe,Ze,dt;try{const[ht,Wt,Tt]=await Promise.allSettled([hU(),EF(),EU()]);ht.status==="fulfilled"?(m(n,ht.value.users,!0),m(a,"")):m(a,((pe=ht.reason)==null?void 0:pe.message)??"Failed to load users",!0),Wt.status==="fulfilled"?(m(s,Wt.value.roles,!0),m(d,"")):m(d,((Ze=Wt.reason)==null?void 0:Ze.message)??"Failed to load roles",!0),Tt.status==="fulfilled"?(m(r,Tt.value.groups,!0),m(u,"")):m(u,((dt=Tt.reason)==null?void 0:dt.message)??"Failed to load groups",!0)}catch{}}Ks(()=>{ki()});async function dn(){m(ue,""),m(ie,!0);try{await fU(c(H),c(J)),m(H,""),m(J,""),m(V,!1),await ki()}catch(pe){m(ue,pe.message??"Failed to create user",!0)}finally{m(ie,!1)}}async function ln(pe){if(await i.show(`Delete user “${pe}”?`,{confirm:"Delete",danger:!0}))try{await gU(pe),await ki()}catch(Ze){m(a,Ze.message,!0)}}async function Gi(pe){m(Ce,pe,!0),m(oe,""),m(fe,""),m(de,!0)}async function bn(){m(fe,""),m(Be,!0);try{await pU(c(Ce),c(oe)),m(de,!1)}catch(pe){m(fe,pe.message,!0)}finally{m(Be,!1)}}async function vt(){m(rt,""),m(We,!0);try{await vU(c(ve)),m(ve,""),m(Ne,!1),await ki()}catch(pe){m(rt,pe.message??"Failed to create role",!0)}finally{m(We,!1)}}async function Gt(pe){var Ze;if(await i.show(`Delete role “${pe}”?`,{confirm:"Delete",danger:!0}))try{await _U(pe),((Ze=c(ye))==null?void 0:Ze.rolename)===pe&&(m(ye,null),m(gt,!1)),await ki()}catch(dt){m(d,dt.message,!0)}}function wi(pe){m(ye,pe,!0),m(gt,!0),m(Rt,"publishClientSend"),m(nt,""),m(St,!0),m(Ee,"")}async function zi(){if(c(ye)){m(Ee,"");try{await bU(c(ye).rolename,{acltype:c(Rt),topic:c(nt),allow:c(St)}),m(nt,""),await ki(),m(ye,c(s).find(pe=>pe.rolename===c(ye).rolename)??c(ye),!0)}catch(pe){m(Ee,pe.message,!0)}}}async function Mi(pe,Ze,dt){try{await CU(pe,Ze,dt),await ki(),m(ye,c(s).find(ht=>ht.rolename===pe)??c(ye),!0)}catch(ht){m(Ee,ht.message,!0)}}async function Ri(){m(ut,""),m(Ye,!0);try{await yU(c(pt)),m(pt,""),m(Pt,!1),await ki()}catch(pe){m(ut,pe.message??"Failed to create group",!0)}finally{m(Ye,!1)}}async function Oi(pe){if(await i.show(`Delete group “${pe}”?`,{confirm:"Delete",danger:!0}))try{await wU(pe),await ki()}catch(Ze){m(u,Ze.message,!0)}}var Xi=kJ(),Ei=yt(Xi),Qe=_(Ei);{var wt=pe=>{var Ze=ZQ();D(pe,Ze)};z(Qe,pe=>{t()||pe(wt)})}var Fi=v(Qe,2),Bi=_(Fi);let pi;var Ti=v(Bi,2);let X;var Fe=v(Ti,2);let Ke;var ot=v(Fe,2);let $t;var ne=v(ot,2),Se=v(Fi,2);{var Me=pe=>{var Ze=iJ(),dt=_(Ze),ht=v(_(dt),2),Wt=v(dt,2);{var Tt=K=>{var le=ba(),Z=_(le);j(()=>O(Z,c(a))),D(K,le)};z(Wt,K=>{c(a)&&K(Tt)})}var di=v(Wt,2);{var I=K=>{var le=XQ();D(K,le)},W=K=>{var le=tJ(),Z=v(_(le));Zt(Z,21,()=>c(n),Ni,(Q,ce)=>{var Xe=eJ(),ae=_(Xe),xe=_(ae),Le=v(ae),me=_(Le),Ie=_(me),lt=_(Ie);Zt(lt,17,()=>c(ce).roles??[],Ni,(Ue,Ft)=>{var Re=YQ(),at=_(Re),Bt=v(at);j(()=>O(at,c(Ft).rolename)),$("click",Bt,()=>P(c(ce).username,c(Ft).rolename)),D(Ue,Re)});var G=v(lt,2),re=v(Ie,2);{var Pe=Ue=>{var Ft=UA(),Re=yt(Ft),at=_(Re),Bt=_(at);Bt.value=Bt.__value="";var Nt=v(Bt);Zt(Nt,17,()=>c(y),Ni,(Ii,Ki)=>{var Pi=yh(),Jt=_(Pi),Qt={};j(()=>{O(Jt,c(Ki)),Qt!==(Qt=c(Ki))&&(Pi.value=(Pi.__value=c(Ki))??"")}),D(Ii,Pi)});var _t=v(at,2),vi=v(_t,2),Si=v(Re,2);{var qi=Ii=>{var Ki=zx(),Pi=_(Ki);j(()=>O(Pi,c(C))),D(Ii,Ki)};z(Si,Ii=>{c(C)&&Ii(qi)})}j(()=>_t.disabled=!c(p)||c(b)),Bs(at,()=>c(p),Ii=>m(p,Ii)),$("click",_t,A),$("click",vi,()=>m(g,null)),D(Ue,Ft)};z(re,Ue=>{var Ft;((Ft=c(g))==null?void 0:Ft.kind)==="user-roles"&&c(g).target===c(ce).username&&Ue(Pe)})}var it=v(Le),ge=_(it),_e=_(ge),ct=_(_e);Zt(ct,17,()=>c(ce).groups??[],Ni,(Ue,Ft)=>{var Re=QQ(),at=_(Re),Bt=v(at);j(()=>O(at,c(Ft).groupname)),$("click",Bt,()=>M(c(ce).username,c(Ft).groupname)),D(Ue,Re)});var st=v(ct,2),Ae=v(_e,2);{var xt=Ue=>{var Ft=JQ(),Re=yt(Ft),at=_(Re),Bt=_(at);Bt.value=Bt.__value="";var Nt=v(Bt);Zt(Nt,17,()=>c(y),Ni,(Ii,Ki)=>{var Pi=yh(),Jt=_(Pi),Qt={};j(()=>{O(Jt,c(Ki)),Qt!==(Qt=c(Ki))&&(Pi.value=(Pi.__value=c(Ki))??"")}),D(Ii,Pi)});var _t=v(at,2),vi=v(_t,2),Si=v(Re,2);{var qi=Ii=>{var Ki=zx(),Pi=_(Ki);j(()=>O(Pi,c(C))),D(Ii,Ki)};z(Si,Ii=>{c(C)&&Ii(qi)})}j(()=>_t.disabled=!c(p)||c(b)),Bs(at,()=>c(p),Ii=>m(p,Ii)),$("click",_t,A),$("click",vi,()=>m(g,null)),D(Ue,Ft)};z(Ae,Ue=>{var Ft;((Ft=c(g))==null?void 0:Ft.kind)==="user-groups"&&c(g).target===c(ce).username&&Ue(xt)})}var Ge=v(it),Ve=_(Ge),Je=_(Ve),Ct=v(Je,2);j(()=>O(xe,c(ce).username)),$("click",G,()=>w("user-roles",c(ce).username)),$("click",st,()=>w("user-groups",c(ce).username)),$("click",Je,()=>Gi(c(ce).username)),$("click",Ct,()=>ln(c(ce).username)),D(Q,Xe)}),D(K,le)};z(di,K=>{c(n).length===0?K(I):K(W,-1)})}$("click",ht,()=>{m(V,!0),m(ue,"")}),D(pe,Ze)};z(Se,pe=>{c(f)==="users"&&pe(Me)})}var Y=v(Se,2);{var He=pe=>{var Ze=rJ(),dt=_(Ze),ht=v(_(dt),2),Wt=v(dt,2);{var Tt=K=>{var le=ba(),Z=_(le);j(()=>O(Z,c(d))),D(K,le)};z(Wt,K=>{c(d)&&K(Tt)})}var di=v(Wt,2);{var I=K=>{var le=nJ();D(K,le)},W=K=>{var le=oJ(),Z=v(_(le));Zt(Z,21,()=>c(s),Ni,(Q,ce)=>{var Xe=sJ(),ae=_(Xe),xe=_(ae),Le=v(ae),me=_(Le),Ie=v(Le),lt=_(Ie),G=_(lt),re=v(G,2);j(()=>{var Pe;O(xe,c(ce).rolename),O(me,((Pe=c(ce).acls)==null?void 0:Pe.length)??0)}),$("click",G,()=>wi(c(ce))),$("click",re,()=>Gt(c(ce).rolename)),D(Q,Xe)}),D(K,le)};z(di,K=>{c(s).length===0?K(I):K(W,-1)})}$("click",ht,()=>{m(Ne,!0),m(rt,""),m(ve,"")}),D(pe,Ze)};z(Y,pe=>{c(f)==="roles"&&pe(He)})}var je=v(Y,2);{var De=pe=>{var Ze=fJ(),dt=_(Ze),ht=v(_(dt),2),Wt=v(dt,2);{var Tt=K=>{var le=ba(),Z=_(le);j(()=>O(Z,c(u))),D(K,le)};z(Wt,K=>{c(u)&&K(Tt)})}var di=v(Wt,2);{var I=K=>{var le=aJ();D(K,le)},W=K=>{var le=hJ(),Z=v(_(le));Zt(Z,21,()=>c(r),Ni,(Q,ce)=>{var Xe=uJ(),ae=_(Xe),xe=_(ae),Le=v(ae),me=_(Le),Ie=_(me),lt=_(Ie);Zt(lt,17,()=>c(ce).clients??[],Ni,(Ct,Ue)=>{var Ft=lJ(),Re=_(Ft),at=v(Re);j(()=>O(Re,c(Ue).username)),$("click",at,()=>R(c(ce).groupname,c(Ue).username)),D(Ct,Ft)});var G=v(lt,2),re=v(Ie,2);{var Pe=Ct=>{var Ue=cJ(),Ft=yt(Ue),Re=_(Ft),at=_(Re);at.value=at.__value="";var Bt=v(at);Zt(Bt,17,()=>c(y),Ni,(qi,Ii)=>{var Ki=yh(),Pi=_(Ki),Jt={};j(()=>{O(Pi,c(Ii)),Jt!==(Jt=c(Ii))&&(Ki.value=(Ki.__value=c(Ii))??"")}),D(qi,Ki)});var Nt=v(Re,2),_t=v(Nt,2),vi=v(Ft,2);{var Si=qi=>{var Ii=zx(),Ki=_(Ii);j(()=>O(Ki,c(C))),D(qi,Ii)};z(vi,qi=>{c(C)&&qi(Si)})}j(()=>Nt.disabled=!c(p)||c(b)),Bs(Re,()=>c(p),qi=>m(p,qi)),$("click",Nt,A),$("click",_t,()=>m(g,null)),D(Ct,Ue)};z(re,Ct=>{var Ue;((Ue=c(g))==null?void 0:Ue.kind)==="group-members"&&c(g).target===c(ce).groupname&&Ct(Pe)})}var it=v(Le),ge=_(it),_e=_(ge),ct=_(_e);Zt(ct,17,()=>c(ce).roles??[],Ni,(Ct,Ue)=>{var Ft=dJ(),Re=_(Ft),at=v(Re);j(()=>O(Re,c(Ue).rolename)),$("click",at,()=>T(c(ce).groupname,c(Ue).rolename)),D(Ct,Ft)});var st=v(ct,2),Ae=v(_e,2);{var xt=Ct=>{var Ue=UA(),Ft=yt(Ue),Re=_(Ft),at=_(Re);at.value=at.__value="";var Bt=v(at);Zt(Bt,17,()=>c(y),Ni,(qi,Ii)=>{var Ki=yh(),Pi=_(Ki),Jt={};j(()=>{O(Pi,c(Ii)),Jt!==(Jt=c(Ii))&&(Ki.value=(Ki.__value=c(Ii))??"")}),D(qi,Ki)});var Nt=v(Re,2),_t=v(Nt,2),vi=v(Ft,2);{var Si=qi=>{var Ii=zx(),Ki=_(Ii);j(()=>O(Ki,c(C))),D(qi,Ii)};z(vi,qi=>{c(C)&&qi(Si)})}j(()=>Nt.disabled=!c(p)||c(b)),Bs(Re,()=>c(p),qi=>m(p,qi)),$("click",Nt,A),$("click",_t,()=>m(g,null)),D(Ct,Ue)};z(Ae,Ct=>{var Ue;((Ue=c(g))==null?void 0:Ue.kind)==="group-roles"&&c(g).target===c(ce).groupname&&Ct(xt)})}var Ge=v(it),Ve=_(Ge),Je=_(Ve);j(()=>O(xe,c(ce).groupname)),$("click",G,()=>w("group-members",c(ce).groupname)),$("click",st,()=>w("group-roles",c(ce).groupname)),$("click",Je,()=>Oi(c(ce).groupname)),D(Q,Xe)}),D(K,le)};z(di,K=>{c(r).length===0?K(I):K(W,-1)})}$("click",ht,()=>{m(Pt,!0),m(ut,""),m(pt,"")}),D(pe,Ze)};z(je,pe=>{c(f)==="groups"&&pe(De)})}var At=v(je,2);{var Ot=pe=>{var Ze=_J(),dt=_(Ze),ht=v(_(dt),4);{var Wt=Xe=>{var ae=ba(),xe=_(ae);j(()=>O(xe,c(ci))),D(Xe,ae)};z(ht,Xe=>{c(ci)&&Xe(Wt)})}var Tt=v(ht,2);{var di=Xe=>{var ae=qA();D(Xe,ae)},I=Xe=>{var ae=pJ(),xe=v(_(ae));Zt(xe,21,()=>ti,Ni,(Le,me)=>{let Ie=()=>c(me).acltype,lt=()=>c(me).label;const G=Lt(()=>c(kt).find(xt=>xt.acltype===Ie()));var re=gJ();let Pe;var it=_(re),ge=_(it),_e=v(it),ct=_(_e),st=v(_e),Ae=_(st);j(()=>{var xt,Ge;Pe=Dt(re,1,"svelte-3itf14",null,Pe,{saving:c(Ci)}),O(ge,lt()),rn(ct,"name",Ie()),oa(ct,((xt=c(G))==null?void 0:xt.allow)===!0),rn(Ae,"name",Ie()),oa(Ae,((Ge=c(G))==null?void 0:Ge.allow)===!1)}),$("change",ct,()=>hi(Ie(),!0)),$("change",Ae,()=>hi(Ie(),!1)),D(Le,re)}),D(Xe,ae)};z(Tt,Xe=>{c(Oe)?Xe(I,-1):Xe(di)})}var W=v(dt,2),K=v(_(W),4);{var le=Xe=>{var ae=ba(),xe=_(ae);j(()=>O(xe,c(Vt))),D(Xe,ae)};z(K,Xe=>{c(Vt)&&Xe(le)})}var Z=v(K,2);{var Q=Xe=>{var ae=qA();D(Xe,ae)},ce=Xe=>{var ae=vJ(),xe=yt(ae),Le=_(xe),me=_(Le);me.value=me.__value="";var Ie=v(me);Zt(Ie,17,()=>c(r),Ni,(ge,_e)=>{var ct=yh(),st=_(ct),Ae={};j(()=>{O(st,c(_e).groupname),Ae!==(Ae=c(_e).groupname)&&(ct.value=(ct.__value=c(_e).groupname)??"")}),D(ge,ct)});var lt=v(Le,2),G=_(lt),re=v(xe,2);{var Pe=ge=>{var _e=xJ(),ct=v(_(_e)),st=_(ct);j(()=>O(st,c(Ai))),D(ge,_e)},it=ge=>{var _e=mJ();D(ge,_e)};z(re,ge=>{c(Ai)?ge(Pe):ge(it,-1)})}j(()=>{lt.disabled=c(et)||c(si)===(c(Ai)??""),O(G,c(et)?"Saving…":"Save")}),Bs(Le,()=>c(si),ge=>m(si,ge)),$("click",lt,Ui),D(Xe,ae)};z(Z,Xe=>{c(Oe)?Xe(ce,-1):Xe(Q)})}D(pe,Ze)};z(At,pe=>{c(f)==="settings"&&pe(Ot)})}var ni=v(Ei,2);{var ii=pe=>{var Ze=bJ(),dt=_(Ze),ht=v(_(dt),2),Wt=v(_(ht)),Tt=v(ht,2),di=v(_(Tt)),I=_(di),W=v(I,2),K=_(W),le=v(Tt,2);{var Z=xe=>{var Le=ba(),me=_(Le);j(()=>O(me,c(ue))),D(xe,Le)};z(le,xe=>{c(ue)&&xe(Z)})}var Q=v(le,2),ce=_(Q),Xe=v(ce,2),ae=_(Xe);j(()=>{rn(I,"type",c(se)?"text":"password"),O(K,c(se)?"Hide":"Show"),Xe.disabled=c(ie)||!c(H)||!c(J),O(ae,c(ie)?"Creating…":"Create")}),Ht(Wt,()=>c(H),xe=>m(H,xe)),Ht(I,()=>c(J),xe=>m(J,xe)),$("click",W,()=>m(se,!c(se))),$("click",ce,()=>m(V,!1)),$("click",Xe,dn),D(pe,Ze)};z(ni,pe=>{c(V)&&pe(ii)})}var xi=v(ni,2);{var jt=pe=>{var Ze=CJ(),dt=_(Ze),ht=_(dt),Wt=v(_(ht)),Tt=_(Wt),di=v(ht,2),I=v(_(di)),W=v(di,2);{var K=Xe=>{var ae=ba(),xe=_(ae);j(()=>O(xe,c(fe))),D(Xe,ae)};z(W,Xe=>{c(fe)&&Xe(K)})}var le=v(W,2),Z=_(le),Q=v(Z,2),ce=_(Q);j(()=>{O(Tt,c(Ce)),Q.disabled=c(Be)||!c(oe),O(ce,c(Be)?"Saving…":"Set password")}),Ht(I,()=>c(oe),Xe=>m(oe,Xe)),$("click",Z,()=>m(de,!1)),$("click",Q,bn),D(pe,Ze)};z(xi,pe=>{c(de)&&pe(jt)})}var mi=v(xi,2);{var ze=pe=>{var Ze=EJ(),dt=_(Ze),ht=v(_(dt),2),Wt=v(_(ht)),Tt=v(ht,2);{var di=Z=>{var Q=ba(),ce=_(Q);j(()=>O(ce,c(rt))),D(Z,Q)};z(Tt,Z=>{c(rt)&&Z(di)})}var I=v(Tt,2),W=_(I),K=v(W,2),le=_(K);j(()=>{K.disabled=c(We)||!c(ve),O(le,c(We)?"Creating…":"Create")}),Ht(Wt,()=>c(ve),Z=>m(ve,Z)),$("click",W,()=>m(Ne,!1)),$("click",K,vt),D(pe,Ze)};z(mi,pe=>{c(Ne)&&pe(ze)})}var tt=v(mi,2);{var Yt=pe=>{var Ze=DJ(),dt=_(Ze),ht=_(dt),Wt=v(_(ht)),Tt=_(Wt),di=v(ht,2);{var I=Ie=>{var lt=wJ(),G=v(_(lt));Zt(G,21,()=>c(ye).acls??[],Ni,(re,Pe)=>{var it=yJ(),ge=_(it),_e=_(ge),ct=v(ge),st=_(ct),Ae=v(ct),xt=_(Ae),Ge=v(Ae),Ve=_(Ge);j(()=>{O(_e,c(Pe).acltype),O(st,c(Pe).topic),O(xt,c(Pe).allow?"✓":"✗")}),$("click",Ve,()=>Mi(c(ye).rolename,c(Pe).acltype,c(Pe).topic)),D(re,it)}),D(Ie,lt)},W=Ie=>{var lt=SJ();D(Ie,lt)};z(di,Ie=>{var lt;(((lt=c(ye).acls)==null?void 0:lt.length)??0)>0?Ie(I):Ie(W,-1)})}var K=v(di,2),le=_(K);Zt(le,21,()=>Wi,Ni,(Ie,lt)=>{var G=yh(),re=_(G),Pe={};j(()=>{O(re,c(lt)),Pe!==(Pe=c(lt))&&(G.value=(G.__value=c(lt))??"")}),D(Ie,G)});var Z=v(le,2),Q=v(Z,2),ce=_(Q),Xe=v(Q,2),ae=v(K,2);{var xe=Ie=>{var lt=ba(),G=_(lt);j(()=>O(G,c(Ee))),D(Ie,lt)};z(ae,Ie=>{c(Ee)&&Ie(xe)})}var Le=v(ae,2),me=_(Le);j(()=>{O(Tt,c(ye).rolename),Xe.disabled=!c(nt)}),Bs(le,()=>c(Rt),Ie=>m(Rt,Ie)),Ht(Z,()=>c(nt),Ie=>m(nt,Ie)),Cs(ce,()=>c(St),Ie=>m(St,Ie)),$("click",Xe,zi),$("click",me,()=>m(gt,!1)),D(pe,Ze)};z(tt,pe=>{c(gt)&&c(ye)&&pe(Yt)})}var qt=v(tt,2);{var fi=pe=>{var Ze=AJ(),dt=_(Ze),ht=v(_(dt),2),Wt=v(_(ht)),Tt=v(ht,2);{var di=Z=>{var Q=ba(),ce=_(Q);j(()=>O(ce,c(ut))),D(Z,Q)};z(Tt,Z=>{c(ut)&&Z(di)})}var I=v(Tt,2),W=_(I),K=v(W,2),le=_(K);j(()=>{K.disabled=c(Ye)||!c(pt),O(le,c(Ye)?"Creating…":"Create")}),Ht(Wt,()=>c(pt),Z=>m(pt,Z)),$("click",W,()=>m(Pt,!1)),$("click",K,Ri),D(pe,Ze)};z(qt,pe=>{c(Pt)&&pe(fi)})}var Kt=v(qt,2);us(qc(Kt,{}),pe=>i=pe,()=>i),j(()=>{pi=Dt(Bi,1,"svelte-3itf14",null,pi,{active:c(f)==="users"}),X=Dt(Ti,1,"svelte-3itf14",null,X,{active:c(f)==="roles"}),Ke=Dt(Fe,1,"svelte-3itf14",null,Ke,{active:c(f)==="groups"}),$t=Dt(ot,1,"svelte-3itf14",null,$t,{active:c(f)==="settings"})}),$("click",Bi,()=>m(f,"users")),$("click",Ti,()=>m(f,"roles")),$("click",Fe,()=>m(f,"groups")),$("click",ot,()=>{m(f,"settings"),c(Oe)||Li()}),$("click",ne,ki),D(o,Xi),js()}Zs(["click","change"]);var GA=B('<div class="err svelte-9i68x"> </div>'),FJ=B('<div class="ok svelte-9i68x">Saved.</div>'),LJ=B('<div class="reload-msg svelte-9i68x"> </div>'),IJ=B('<div class="loading svelte-9i68x">Loading…</div>'),PJ=B('<div class="anon-row svelte-9i68x"><span class="field-label svelte-9i68x"><code class="svelte-9i68x">allow_anonymous</code></span> <select class="svelte-9i68x"><option>auto (broker default)</option><option>true — allow unauthenticated clients</option><option>false — require authentication</option></select></div>'),TJ=B("<option></option>"),MJ=B('<div class="tls-section svelte-9i68x"><div class="field-row svelte-9i68x"><label class="svelte-9i68x">Certificate file (certfile) <input placeholder="/etc/mosquitto/certs/server.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Key file (keyfile) <input placeholder="/etc/mosquitto/certs/server.key" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CA file (cafile) — single CA cert <input placeholder="/etc/mosquitto/ca.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">CA path (capath) — CA cert directory <input placeholder="/etc/mosquitto/ca-certs/" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CRL file (crlfile) <input placeholder="/etc/mosquitto/crl.pem" class="svelte-9i68x"/></label> <label class="svelte-9i68x">TLS version <select class="svelte-9i68x"><option>Default</option><option>tlsv1.3</option><option>tlsv1.2</option></select></label></div> <div class="field-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Require client certificate (require_certificate)</label> <label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Use cert CN as username (use_identity_as_username)</label></div></div>'),RJ=B('<div class="field-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Use cert Subject as username (use_subject_as_username)</label></div>'),NJ=B('<div class="advanced-section svelte-9i68x"><div class="field-row svelte-9i68x"><label class="svelte-9i68x">Mount point <input placeholder="(none)" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Max connections <input type="number" min="-1" placeholder="-1 (unlimited)" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Max QoS <select class="svelte-9i68x"><option>default</option><option>0 — fire and forget</option><option>1 — at least once</option><option>2 — exactly once</option></select></label></div> <!></div>'),OJ=B('<div class="auth-section svelte-9i68x"><div class="auth-section-title svelte-9i68x">Authentication</div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">allow_anonymous <select class="svelte-9i68x"><option>auto (broker default)</option><option>true — allow unauthenticated</option><option>false — require auth</option></select></label> <label class="svelte-9i68x">password_file <input placeholder="/etc/mosquitto/passwd" class="svelte-9i68x"/></label> <label class="svelte-9i68x">acl_file <input placeholder="/etc/mosquitto/acl" class="svelte-9i68x"/></label></div></div>'),HJ=B('<div class="listener-card svelte-9i68x"><div class="card-title svelte-9i68x"><span> </span> <button class="remove-btn svelte-9i68x" title="Remove listener">✕</button></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">Port <input type="number" min="1" max="65535" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Protocol <select class="svelte-9i68x"><option>mqtt</option><option>websockets</option></select></label> <label class="svelte-9i68x">Bind address <input placeholder="(all interfaces)" class="svelte-9i68x"/></label> <label class="toggle-label tls-inline svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> TLS</label></div> <datalist></datalist> <!> <button class="advanced-btn svelte-9i68x"> </button> <!> <!></div>'),WJ=B('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),zJ=B('<div class="global-settings svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> <span><code>per_listener_settings</code> — independent auth per listener</span> <span class="info-icon svelte-9i68x" title="Not recommended when using the dynamic-security plugin — dynsec credentials only apply to the default listener. See mosquitto documentation.">ℹ</span></label> <!></div> <div class="cards svelte-9i68x"><!> <!></div>',1),VJ=B('<div class="listeners-page svelte-9i68x"><div class="page-header svelte-9i68x"><h3 class="svelte-9i68x">Listeners</h3> <div class="header-actions svelte-9i68x"><button class="svelte-9i68x">+ Add listener</button> <button class="btn-save svelte-9i68x"> </button> <button class="btn-reload svelte-9i68x" title="Apply &amp; Reload mosquitto"> </button></div></div> <!> <!> <!> <!> <!></div>');function jJ(o,e){Vs(e,!0);let t=F(null),i=F(""),n=F(!1),s=F(""),r=F(!1),a=F(!1),d=F(""),u=F(yi([])),f=F(null),g=F(!1),p=F(""),C=F(yi([])),b=F(yi(new Set));Ks(()=>{y(),rU().then(Ee=>{m(C,Ee.addresses,!0)}).catch(()=>{})});async function y(){try{m(t,await rS(),!0),m(u,JSON.parse(JSON.stringify(c(t).listeners)),!0),m(f,c(t).checksum,!0);const Ee=c(t).managed.allow_anonymous;m(p,Ee==="true"||Ee==="false"?Ee:"",!0),m(g,c(t).managed.per_listener_settings==="true"),m(i,"")}catch(Ee){m(i,Ee.message??"Failed to load broker config",!0)}}function w(){m(u,[...c(u),{port:1883,bindAddress:"",protocol:"mqtt",tls:{}}],!0),m(b,new Set(c(b)),!0)}function A(Ee){const Pt=new Set(c(b));Pt.has(Ee)?Pt.delete(Ee):Pt.add(Ee),m(b,Pt,!0)}function P(Ee){m(u,c(u).filter((Pt,pt)=>pt!==Ee),!0)}async function M(){if(c(t)){m(n,!0),m(s,""),m(r,!1);try{const Ee={...c(t).managed};c(g)?(Ee.per_listener_settings="true",delete Ee.allow_anonymous):(delete Ee.per_listener_settings,c(p)?Ee.allow_anonymous=c(p):delete Ee.allow_anonymous),await bF({listeners:c(u),managed:Ee,passthrough:c(t).passthrough,checksum:c(f)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await y()}catch(Ee){m(s,Ee.message??"Save failed",!0)}finally{m(n,!1)}}}async function R(){m(a,!0),m(d,"");try{const Ee=await CF();m(d,Ee.stderr||Ee.stdout||"Reloaded",!0)}catch(Ee){m(d,"Error: "+(Ee.message??"reload failed"))}finally{m(a,!1)}}function T(Ee){var Pt,pt,ut,Ye,kt;return!!((Pt=Ee.tls)!=null&&Pt.enabled||(pt=Ee.tls)!=null&&pt.certfile||(ut=Ee.tls)!=null&&ut.keyfile||(Ye=Ee.tls)!=null&&Ye.capath||(kt=Ee.tls)!=null&&kt.cafile)}function V(Ee,Pt){Pt?Ee.tls={...Ee.tls,enabled:!0}:Ee.tls={},m(u,[...c(u)],!0)}var H=VJ(),J=_(H),se=v(_(J),2),ue=_(se),ie=v(ue,2),de=_(ie),Ce=v(ie,2),oe=_(Ce),fe=v(J,2);{var Be=Ee=>{var Pt=GA(),pt=_(Pt);j(()=>O(pt,c(i))),D(Ee,Pt)};z(fe,Ee=>{c(i)&&Ee(Be)})}var Ne=v(fe,2);{var ve=Ee=>{var Pt=GA(),pt=_(Pt);j(()=>O(pt,c(s))),D(Ee,Pt)};z(Ne,Ee=>{c(s)&&Ee(ve)})}var rt=v(Ne,2);{var We=Ee=>{var Pt=FJ();D(Ee,Pt)};z(rt,Ee=>{c(r)&&Ee(We)})}var ye=v(rt,2);{var gt=Ee=>{var Pt=LJ(),pt=_(Pt);j(()=>O(pt,c(d))),D(Ee,Pt)};z(ye,Ee=>{c(d)&&Ee(gt)})}var Rt=v(ye,2);{var nt=Ee=>{var Pt=IJ();D(Ee,Pt)},St=Ee=>{var Pt=zJ(),pt=yt(Pt),ut=_(pt),Ye=_(ut),kt=v(ut,2);{var ci=et=>{var Oe=PJ(),ti=v(_(Oe),2),Li=_(ti);Li.value=Li.__value="";var hi=v(Li);hi.value=hi.__value="true";var Ui=v(hi);Ui.value=Ui.__value="false",Bs(ti,()=>c(p),Wi=>m(p,Wi)),D(et,Oe)};z(kt,et=>{c(g)||et(ci)})}var Ci=v(pt,2),Ai=_(Ci);Zt(Ai,17,()=>c(u),Ni,(et,Oe,ti)=>{var Li=HJ(),hi=_(Li),Ui=_(hi),Wi=_(Ui),ki=v(Ui,2),dn=v(hi,2),ln=_(dn),Gi=v(_(ln)),bn=v(ln,2),vt=v(_(bn)),Gt=_(vt);Gt.value=Gt.__value="mqtt";var wi=v(Gt);wi.value=wi.__value="websockets";var zi=v(bn,2),Mi=v(_(zi));rn(Mi,"list",`bind-addr-list-${ti}`);var Ri=v(zi,2),Oi=_(Ri),Xi=v(dn,2);rn(Xi,"id",`bind-addr-list-${ti}`),Zt(Xi,21,()=>c(C),Ni,(ot,$t)=>{var ne=TJ(),Se={};j(()=>{Se!==(Se=c($t))&&(ne.value=(ne.__value=c($t))??"")}),D(ot,ne)});var Ei=v(Xi,2);{var Qe=ot=>{var $t=MJ(),ne=_($t),Se=_(ne),Me=v(_(Se)),Y=v(Se,2),He=v(_(Y)),je=v(ne,2),De=_(je),At=v(_(De)),Ot=v(De,2),ni=v(_(Ot)),ii=v(je,2),xi=_(ii),jt=v(_(xi)),mi=v(xi,2),ze=v(_(mi)),tt=_(ze);tt.value=tt.__value="";var Yt=v(tt);Yt.value=Yt.__value="tlsv1.3";var qt=v(Yt);qt.value=qt.__value="tlsv1.2";var fi=v(ii,2),Kt=_(fi),pe=_(Kt),Ze=v(Kt,2),dt=_(Ze);Ht(Me,()=>c(Oe).tls.certfile,ht=>c(Oe).tls.certfile=ht),Ht(He,()=>c(Oe).tls.keyfile,ht=>c(Oe).tls.keyfile=ht),Ht(At,()=>c(Oe).tls.cafile,ht=>c(Oe).tls.cafile=ht),Ht(ni,()=>c(Oe).tls.capath,ht=>c(Oe).tls.capath=ht),Ht(jt,()=>c(Oe).tls.crlfile,ht=>c(Oe).tls.crlfile=ht),Bs(ze,()=>c(Oe).tls.tls_version,ht=>c(Oe).tls.tls_version=ht),Cs(pe,()=>c(Oe).tls.require_certificate,ht=>c(Oe).tls.require_certificate=ht),Cs(dt,()=>c(Oe).tls.use_identity_as_username,ht=>c(Oe).tls.use_identity_as_username=ht),D(ot,$t)},wt=Lt(()=>T(c(Oe)));z(Ei,ot=>{c(wt)&&ot(Qe)})}var Fi=v(Ei,2),Bi=_(Fi),pi=v(Fi,2);{var Ti=ot=>{var $t=NJ(),ne=_($t),Se=_(ne),Me=v(_(Se)),Y=v(Se,2),He=v(_(Y)),je=v(Y,2),De=v(_(je)),At=_(De);At.value=At.__value="";var Ot=v(At);Ot.value=Ot.__value="0";var ni=v(Ot);ni.value=ni.__value="1";var ii=v(ni);ii.value=ii.__value="2";var xi;w1(De);var jt=v(ne,2);{var mi=tt=>{var Yt=RJ(),qt=_(Yt),fi=_(qt);Cs(fi,()=>c(Oe).tls.use_subject_as_username,Kt=>c(Oe).tls.use_subject_as_username=Kt),D(tt,Yt)},ze=Lt(()=>T(c(Oe)));z(jt,tt=>{c(ze)&&tt(mi)})}j(tt=>{xi!==(xi=tt)&&(De.value=(De.__value=tt)??"",Tm(De,tt))},[()=>c(Oe).max_qos!==void 0?String(c(Oe).max_qos):""]),Ht(Me,()=>c(Oe).mount_point,tt=>c(Oe).mount_point=tt),Ht(He,()=>c(Oe).max_connections,tt=>c(Oe).max_connections=tt),$("change",De,tt=>{const Yt=tt.target.value;c(Oe).max_qos=Yt===""?void 0:Number(Yt),m(u,[...c(u)],!0)}),D(ot,$t)},X=Lt(()=>c(b).has(ti));z(pi,ot=>{c(X)&&ot(Ti)})}var Fe=v(pi,2);{var Ke=ot=>{var $t=OJ(),ne=v(_($t),2),Se=_(ne),Me=v(_(Se)),Y=_(Me);Y.value=Y.__value="";var He=v(Y);He.value=He.__value="true";var je=v(He);je.value=je.__value="false";var De;w1(Me);var At=v(Se,2),Ot=v(_(At)),ni=v(At,2),ii=v(_(ni));j(()=>{De!==(De=c(Oe).allow_anonymous===void 0?"":c(Oe).allow_anonymous?"true":"false")&&(Me.value=Me.__value=c(Oe).allow_anonymous===void 0?"":c(Oe).allow_anonymous?"true":"false",Tm(Me,c(Oe).allow_anonymous===void 0?"":c(Oe).allow_anonymous?"true":"false"))}),$("change",Me,xi=>{const jt=xi.target.value;c(Oe).allow_anonymous=jt===""?void 0:jt==="true",m(u,[...c(u)],!0)}),Ht(Ot,()=>c(Oe).password_file,xi=>c(Oe).password_file=xi),Ht(ii,()=>c(Oe).acl_file,xi=>c(Oe).acl_file=xi),D(ot,$t)};z(Fe,ot=>{c(g)&&ot(Ke)})}j((ot,$t)=>{O(Wi,`Port ${c(Oe).port??""}`),oa(Oi,ot),O(Bi,`${$t??""} Advanced`)},[()=>T(c(Oe)),()=>c(b).has(ti)?"▾":"▸"]),$("click",ki,()=>P(ti)),Ht(Gi,()=>c(Oe).port,ot=>c(Oe).port=ot),Bs(vt,()=>c(Oe).protocol,ot=>c(Oe).protocol=ot),Ht(Mi,()=>c(Oe).bindAddress,ot=>c(Oe).bindAddress=ot),$("change",Oi,ot=>V(c(Oe),ot.target.checked)),$("click",Fi,()=>A(ti)),D(et,Li)});var si=v(Ai,2);{var Vt=et=>{var Oe=WJ();D(et,Oe)};z(si,et=>{c(u).length===0&&et(Vt)})}Cs(Ye,()=>c(g),et=>m(g,et)),D(Ee,Pt)};z(Rt,Ee=>{c(t)===null&&!c(i)?Ee(nt):Ee(St,-1)})}j(()=>{ie.disabled=c(n),O(de,c(n)?"Saving…":"Save"),Ce.disabled=c(a),O(oe,c(a)?"Reloading…":"Apply & Reload")}),$("click",ue,w),$("click",ie,M),$("click",Ce,R),D(o,H),js()}Zs(["click","change"]);var KA=B('<div class="err svelte-1by6o5t"> </div>'),$J=B('<div class="ok svelte-1by6o5t">Saved.</div>'),UJ=B('<div class="reload-msg svelte-1by6o5t"> </div>'),KC=B('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> </label>'),qJ=B('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> <strong> </strong></label>'),GJ=B(`<div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">General</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistence</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — persist sessions &amp; retained msgs</option><option>false — no disk persistence</option></select></label> <p class="hint svelte-1by6o5t">Enable on-disk persistence of subscriptions, retained messages, and QoS 1/2 queues.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistence_location</span> <input placeholder="/var/lib/mosquitto/" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Directory where mosquitto stores its persistence data. Must be writable by the mosquitto process.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">sys_interval</span> <input type="number" placeholder="10" min="0" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Interval in seconds between <code class="svelte-1by6o5t">$SYS</code> status updates. <code class="svelte-1by6o5t">0</code> disables <code class="svelte-1by6o5t">$SYS</code> messages.</p></div></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">include_dir</span> <textarea placeholder="/etc/mosquitto/conf.d" class="svelte-1by6o5t"></textarea></label> <p class="hint svelte-1by6o5t">One path per line. Each directory will be scanned for <code class="svelte-1by6o5t">*.conf</code> files and included in order.</p></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Logging</h4> <div class="field svelte-1by6o5t"><span class="field-key svelte-1by6o5t">log_dest</span> <div class="checkbox-group svelte-1by6o5t"></div> <p class="hint svelte-1by6o5t">Log destinations. Enable <code class="svelte-1by6o5t">topic</code> to stream logs to <code class="svelte-1by6o5t">$SYS/broker/log/*</code> and view them in the Logs tab. <code class="svelte-1by6o5t">none</code> disables logging entirely.</p></div> <div class="field svelte-1by6o5t"><span class="field-key svelte-1by6o5t">log_type</span> <div class="log-type-grid svelte-1by6o5t"><div class="log-type-group svelte-1by6o5t"><span class="log-type-group-label svelte-1by6o5t">Severity</span> <!></div> <div class="log-type-group svelte-1by6o5t"><span class="log-type-group-label svelte-1by6o5t">Events</span> <!></div> <div class="log-type-group log-type-group--other svelte-1by6o5t"><!> <span class="all-hint svelte-1by6o5t">enables all types above</span></div></div> <p class="hint svelte-1by6o5t">Types of messages to log. Leave all unchecked to use the broker default.</p></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Connection limits</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_connections</span> <input placeholder="−1 (unlimited)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum simultaneous client connections. <code class="svelte-1by6o5t">-1</code> = unlimited.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_keepalive</span> <input placeholder="65535" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum keepalive value (seconds) a client may request. <code class="svelte-1by6o5t">0</code> = unlimited.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_inflight_messages</span> <input placeholder="20" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Max simultaneous unacknowledged QoS 1/2 messages per client.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_queued_messages</span> <input placeholder="100" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Max messages queued for a disconnected persistent client.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Packet &amp; payload size</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_packet_size</span> <input placeholder="0 (no limit)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum MQTT packet size in bytes (MQTT v5 only). <code class="svelte-1by6o5t">0</code> = no limit.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">message_size_limit</span> <input placeholder="0 (no limit)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum payload size in bytes for published messages. <code class="svelte-1by6o5t">0</code> = no limit.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Sessions &amp; persistence</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistent_client_expiration</span> <input placeholder="e.g. 7d, 2h, 30m" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Expire persistent sessions after this duration. Suffix: <code class="svelte-1by6o5t">d</code>/<code class="svelte-1by6o5t">h</code>/<code class="svelte-1by6o5t">m</code>/<code class="svelte-1by6o5t">s</code>. Empty = never expire.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">retain_available</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — allow retained messages</option><option>false — disable retained messages globally</option></select></label> <p class="hint svelte-1by6o5t">Disable retained messages broker-wide.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Performance</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">set_tcp_nodelay</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — disable Nagle (lower latency)</option><option>false — enable Nagle</option></select></label> <p class="hint svelte-1by6o5t">Disable Nagle's algorithm to reduce latency at the cost of slightly more packets.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">connection_messages</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — log connect/disconnect</option><option>false — suppress</option></select></label> <p class="hint svelte-1by6o5t">Log a message on every client connect and disconnect.</p></div></div></div>`,1),KJ=B('<div class="config-page svelte-1by6o5t"><div class="page-header svelte-1by6o5t"><h3 class="svelte-1by6o5t">Global config</h3> <div class="header-actions svelte-1by6o5t"><button class="btn-save svelte-1by6o5t"> </button> <button class="btn-reload svelte-1by6o5t"> </button></div></div> <!> <!> <!> <!> <!></div>');function ZJ(o,e){Vs(e,!0);let t=F(null),i=F(""),n=F(!1),s=F(""),r=F(!1),a=F(!1),d=F(""),u=F(null),f=F(""),g=F(""),p=F(""),C=F(""),b=F(""),y=F(""),w=F(""),A=F(""),P=F(""),M=F(""),R=F(""),T=F(""),V=F(""),H=F("");const J=["file","stdout","stderr","syslog","topic","none"],se=["error","warning","notice","information","debug"],ue=["connect","disconnect","subscribe","unsubscribe","publish","receive","websockets"],ie=["all"];[...se,...ue,...ie];let de=F(yi(new Set)),Ce=F(yi(new Set));function oe(et,Oe){const ti=new Set(et);return ti.has(Oe)?ti.delete(Oe):ti.add(Oe),ti}function fe(et){if(!c(t))return"";const Oe=c(t).managed[et];return Array.isArray(Oe)?Oe[0]:Oe??""}function Be(et){if(!c(t))return new Set;const Oe=c(t).managed[et];return Oe?new Set(Array.isArray(Oe)?Oe:[Oe]):new Set}Ks(()=>Ne());async function Ne(){try{m(t,await rS(),!0),m(u,c(t).checksum,!0),m(f,fe("persistence"),!0),m(g,fe("persistence_location"),!0),m(p,fe("sys_interval"),!0);const et=c(t).managed.include_dir;m(C,et?Array.isArray(et)?et.join(`
231
- `):et:"",!0),m(b,fe("max_connections"),!0),m(y,fe("max_inflight_messages"),!0),m(w,fe("max_queued_messages"),!0),m(A,fe("max_packet_size"),!0),m(P,fe("message_size_limit"),!0),m(M,fe("max_keepalive"),!0),m(R,fe("persistent_client_expiration"),!0),m(T,fe("retain_available"),!0),m(V,fe("set_tcp_nodelay"),!0),m(H,fe("connection_messages"),!0),m(de,Be("log_dest"),!0),m(Ce,Be("log_type"),!0),m(i,"")}catch(et){m(i,et.message??"Failed to load config",!0)}}async function ve(){if(c(t)){m(n,!0),m(s,""),m(r,!1);try{let Oe=function(Li,hi){hi!==""?et[Li]=hi:delete et[Li]};const et={...c(t).managed};Oe("persistence",c(f)),Oe("persistence_location",c(g)),Oe("sys_interval",c(p));const ti=c(C).split(`
232
- `).map(Li=>Li.trim()).filter(Boolean);ti.length>0?et.include_dir=ti.length===1?ti[0]:ti:delete et.include_dir,Oe("max_connections",c(b)),Oe("max_inflight_messages",c(y)),Oe("max_queued_messages",c(w)),Oe("max_packet_size",c(A)),Oe("message_size_limit",c(P)),Oe("max_keepalive",c(M)),Oe("persistent_client_expiration",c(R)),Oe("retain_available",c(T)),Oe("set_tcp_nodelay",c(V)),Oe("connection_messages",c(H)),c(de).size>0?et.log_dest=c(de).size===1?[...c(de)][0]:[...c(de)]:delete et.log_dest,c(Ce).size>0?et.log_type=c(Ce).size===1?[...c(Ce)][0]:[...c(Ce)]:delete et.log_type,await bF({listeners:c(t).listeners,managed:et,passthrough:c(t).passthrough,checksum:c(u)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await Ne()}catch(et){m(s,et.message??"Save failed",!0)}finally{m(n,!1)}}}async function rt(){m(a,!0),m(d,"");try{const et=await CF();m(d,et.stderr||et.stdout||"Reloaded",!0)}catch(et){m(d,"Error: "+(et.message??"reload failed"))}finally{m(a,!1)}}var We=KJ(),ye=_(We),gt=v(_(ye),2),Rt=_(gt),nt=_(Rt),St=v(Rt,2),Ee=_(St),Pt=v(ye,2);{var pt=et=>{var Oe=KA(),ti=_(Oe);j(()=>O(ti,c(i))),D(et,Oe)};z(Pt,et=>{c(i)&&et(pt)})}var ut=v(Pt,2);{var Ye=et=>{var Oe=KA(),ti=_(Oe);j(()=>O(ti,c(s))),D(et,Oe)};z(ut,et=>{c(s)&&et(Ye)})}var kt=v(ut,2);{var ci=et=>{var Oe=$J();D(et,Oe)};z(kt,et=>{c(r)&&et(ci)})}var Ci=v(kt,2);{var Ai=et=>{var Oe=UJ(),ti=_(Oe);j(()=>O(ti,c(d))),D(et,Oe)};z(Ci,et=>{c(d)&&et(Ai)})}var si=v(Ci,2);{var Vt=et=>{var Oe=GJ(),ti=yt(Oe),Li=v(_(ti),2),hi=_(Li),Ui=_(hi),Wi=v(_(Ui),2),ki=_(Wi);ki.value=ki.__value="";var dn=v(ki);dn.value=dn.__value="true";var ln=v(dn);ln.value=ln.__value="false";var Gi=v(hi,2),bn=_(Gi),vt=v(_(bn),2),Gt=v(Gi,2),wi=_(Gt),zi=v(_(wi),2),Mi=v(Li,2),Ri=_(Mi),Oi=v(_(Ri),2);rn(Oi,"rows",3);var Xi=v(ti,2),Ei=v(_(Xi),2),Qe=v(_(Ei),2);Zt(Qe,21,()=>J,Ni,(ge,_e)=>{var ct=KC(),st=_(ct),Ae=v(st,3);j(xt=>{oa(st,xt),O(Ae,` ${c(_e)??""}`)},[()=>c(de).has(c(_e))]),$("change",st,()=>{m(de,oe(c(de),c(_e)),!0)}),D(ge,ct)});var wt=v(Ei,2),Fi=v(_(wt),2),Bi=_(Fi),pi=v(_(Bi),2);Zt(pi,17,()=>se,Ni,(ge,_e)=>{var ct=KC(),st=_(ct),Ae=v(st,3);j(xt=>{oa(st,xt),O(Ae,` ${c(_e)??""}`)},[()=>c(Ce).has(c(_e))]),$("change",st,()=>{m(Ce,oe(c(Ce),c(_e)),!0)}),D(ge,ct)});var Ti=v(Bi,2),X=v(_(Ti),2);Zt(X,17,()=>ue,Ni,(ge,_e)=>{var ct=KC(),st=_(ct),Ae=v(st,3);j(xt=>{oa(st,xt),O(Ae,` ${c(_e)??""}`)},[()=>c(Ce).has(c(_e))]),$("change",st,()=>{m(Ce,oe(c(Ce),c(_e)),!0)}),D(ge,ct)});var Fe=v(Ti,2),Ke=_(Fe);Zt(Ke,17,()=>ie,Ni,(ge,_e)=>{var ct=qJ(),st=_(ct),Ae=v(st,4),xt=_(Ae);j(Ge=>{oa(st,Ge),O(xt,c(_e))},[()=>c(Ce).has(c(_e))]),$("change",st,()=>{m(Ce,oe(c(Ce),c(_e)),!0)}),D(ge,ct)});var ot=v(Xi,2),$t=v(_(ot),2),ne=_($t),Se=_(ne),Me=v(_(Se),2),Y=v(ne,2),He=_(Y),je=v(_(He),2),De=v(Y,2),At=_(De),Ot=v(_(At),2),ni=v(De,2),ii=_(ni),xi=v(_(ii),2),jt=v(ot,2),mi=v(_(jt),2),ze=_(mi),tt=_(ze),Yt=v(_(tt),2),qt=v(ze,2),fi=_(qt),Kt=v(_(fi),2),pe=v(jt,2),Ze=v(_(pe),2),dt=_(Ze),ht=_(dt),Wt=v(_(ht),2),Tt=v(dt,2),di=_(Tt),I=v(_(di),2),W=_(I);W.value=W.__value="";var K=v(W);K.value=K.__value="true";var le=v(K);le.value=le.__value="false";var Z=v(pe,2),Q=v(_(Z),2),ce=_(Q),Xe=_(ce),ae=v(_(Xe),2),xe=_(ae);xe.value=xe.__value="";var Le=v(xe);Le.value=Le.__value="true";var me=v(Le);me.value=me.__value="false";var Ie=v(ce,2),lt=_(Ie),G=v(_(lt),2),re=_(G);re.value=re.__value="";var Pe=v(re);Pe.value=Pe.__value="true";var it=v(Pe);it.value=it.__value="false",Bs(Wi,()=>c(f),ge=>m(f,ge)),Ht(vt,()=>c(g),ge=>m(g,ge)),Ht(zi,()=>c(p),ge=>m(p,ge)),Ht(Oi,()=>c(C),ge=>m(C,ge)),Ht(Me,()=>c(b),ge=>m(b,ge)),Ht(je,()=>c(M),ge=>m(M,ge)),Ht(Ot,()=>c(y),ge=>m(y,ge)),Ht(xi,()=>c(w),ge=>m(w,ge)),Ht(Yt,()=>c(A),ge=>m(A,ge)),Ht(Kt,()=>c(P),ge=>m(P,ge)),Ht(Wt,()=>c(R),ge=>m(R,ge)),Bs(I,()=>c(T),ge=>m(T,ge)),Bs(ae,()=>c(V),ge=>m(V,ge)),Bs(G,()=>c(H),ge=>m(H,ge)),D(et,Oe)};z(si,et=>{c(t)&&et(Vt)})}j(()=>{Rt.disabled=c(n),O(nt,c(n)?"Saving…":"Save"),St.disabled=c(a),O(Ee,c(a)?"Reloading…":"Apply & Reload")}),$("click",Rt,ve),$("click",St,rt),D(o,We),js()}Zs(["click","change"]);var il=B('<div class="err svelte-9auejo"> </div>'),XJ=B('<div class="info-card svelte-9auejo"><dl class="svelte-9auejo"><dt class="svelte-9auejo">CN</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint (SHA-256)</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd> </dd></dl></div>'),YJ=B('<div class="empty svelte-9auejo">No managed server certificate. Use one of the options above, or configure <code>certfile</code>/<code>keyfile</code> manually in the Listeners tab.</div>'),QJ=B('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),JJ=B('<tr><td class="mono svelte-9auejo"> </td><td class="mono small svelte-9auejo"> </td><td> </td><td class="actions svelte-9auejo"><button class="danger svelte-9auejo">✕</button></td></tr>'),eee=B('<table class="svelte-9auejo"><thead><tr><th class="svelte-9auejo">CN</th><th class="svelte-9auejo">Fingerprint</th><th class="svelte-9auejo">Expires</th><th class="svelte-9auejo"></th></tr></thead><tbody></tbody></table>'),tee=B('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Certificate installed.</p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd><dt class="svelte-9auejo">Expires</dt><dd class="svelte-9auejo"> </dd></dl></div>'),ZA=B('<button class="btn-primary svelte-9auejo"> </button>'),iee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate self-signed server certificate</h3> <label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.local" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Validity (days)<input type="number" min="1" max="3650" class="svelte-9auejo"/></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div></div></div>'),nee=B('<label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.local" class="svelte-9auejo"/></label> <p class="hint svelte-9auejo">A private key and CSR are generated on the server. Copy the CSR, have it signed by your CA, then paste the signed cert below.</p> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),see=B('<div class="ok svelte-9auejo">✓ Certificate installed.</div>'),oee=B('<p class="hint svelte-9auejo">Key stored on server. Copy the CSR, get it signed, then paste the signed certificate to complete installation.</p> <label class="svelte-9auejo">Certificate Signing Request<textarea readonly="" rows="8" class="svelte-9auejo"></textarea></label> <div class="csr-actions svelte-9auejo"><button class="svelte-9auejo">Copy CSR</button> <a class="btn-download svelte-9auejo" download="server.csr">Download .csr</a></div> <hr class="svelte-9auejo"/> <label class="svelte-9auejo">Upload signed certificate (PEM)<textarea rows="6" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div>',1),ree=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Generate key + CSR for server certificate</h3> <!></div></div>'),aee=B('<label class="svelte-9auejo">Certificate (PEM)<textarea rows="5" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <label class="svelte-9auejo">Private key (PEM — leave blank if key is already on disk from a prior CSR)<textarea rows="4" placeholder="-----BEGIN PRIVATE KEY----- … -----END PRIVATE KEY-----" class="svelte-9auejo"></textarea></label>',1),lee=B('<span class="file-name mono small svelte-9auejo"> </span>'),cee=B('<label class="svelte-9auejo">PKCS#12 file <div class="file-row svelte-9auejo"><input type="file" accept=".p12,.pfx" class="svelte-9auejo"/> <!></div></label> <label class="svelte-9auejo">Passphrase <div class="pw-row svelte-9auejo"><input autocomplete="off" class="svelte-9auejo"/> <button class="toggle-pw svelte-9auejo"> </button></div></label>',1),dee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Import server certificate</h3> <div class="import-mode-tabs svelte-9auejo"><button>PEM files</button> <button>PKCS#12 (.p12 / .pfx)</button></div> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),ZC=B("<option></option>"),uee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Use existing certificate files</h3> <p class="hint svelte-9auejo">Enter absolute paths on the broker host. Tab-completion is available for paths starting with /.</p> <label class="svelte-9auejo">Certificate file path <input list="set-cert-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/fullchain.pem" class="svelte-9auejo"/> <datalist id="set-cert-path-list"></datalist></label> <label class="svelte-9auejo">Private key file path <input list="set-key-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/privkey.pem" class="svelte-9auejo"/> <datalist id="set-key-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),hee=B('<label class="svelte-9auejo">CA certificate (PEM)<textarea rows="8" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),fee=B('<p class="hint svelte-9auejo">Enter the absolute path to the CA certificate file on the broker host.</p> <label class="svelte-9auejo">CA certificate path <input list="trusted-path-list" placeholder="/etc/ssl/certs/my-ca.pem" class="svelte-9auejo"/> <datalist id="trusted-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),gee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Add trusted CA certificate</h3> <div class="import-mode-tabs svelte-9auejo"><button>Paste PEM</button> <button>From path</button></div> <!></div></div>'),pee=B('<div class="certs-page svelte-9auejo"><div class="page-toolbar svelte-9auejo"><button class="reload-btn svelte-9auejo" title="Refresh">↺</button></div> <!> <!> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Server Certificate</h3> <button class="svelte-9auejo">Self-signed</button> <button class="svelte-9auejo">Generate CSR</button> <button class="svelte-9auejo">Import cert</button> <button class="svelte-9auejo">Use path</button></div> <!></div> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Trusted CA Certificates</h3> <button class="svelte-9auejo">+ Add CA cert</button></div> <!></div></div> <!> <!> <!> <!> <!>',1);function xee(o,e){Vs(e,!0);let t=F(null),i=F(yi([])),n=F(""),s=F(""),r=F(!1),a=F(""),d=F(""),u=F(365),f=F(!1),g=F(""),p=F(null),C=F(!1),b=F(""),y=F(""),w=F(!1),A=F(""),P=F(""),M=F(""),R=F(!1),T=F(""),V=F(!1),H=F(!1),J=F("pem"),se=F(""),ue=F(""),ie=F(""),de=F(""),Ce=F(""),oe=F(!1),fe=F(!1),Be=F(""),Ne=F(!1),ve=F(""),rt=F(""),We=F(!1),ye=F(""),gt=F(yi([])),Rt=F(yi([])),nt=F(!1),St=F("pem"),Ee=F(""),Pt=F(!1),pt=F(""),ut=F(""),Ye=F(yi([])),kt=F(!1),ci=F("");async function Ci(){try{const[ze,tt]=await Promise.allSettled([IU(),MU()]);ze.status==="fulfilled"&&m(t,ze.value.server,!0),tt.status==="fulfilled"&&m(i,tt.value.certs,!0),m(n,"")}catch(ze){m(n,ze.message,!0)}}Ks(()=>{Ci()});async function Ai(){m(g,""),m(f,!0),m(p,null);try{const ze=c(d).split(",").map(Yt=>Yt.trim()).filter(Boolean),tt=await PU({cn:c(a),san:ze,days:c(u)});m(p,{fingerprint:tt.fingerprint,expires:tt.expires},!0),await Ci()}catch(ze){m(g,ze.message,!0)}finally{m(f,!1)}}async function si(){m(A,""),m(w,!0),m(P,"");try{const ze=c(y).split(",").map(Yt=>Yt.trim()).filter(Boolean),tt=await TU({cn:c(b),san:ze});m(P,tt.csrPem,!0)}catch(ze){m(A,ze.message,!0)}finally{m(w,!1)}}async function Vt(){m(T,""),m(R,!0),m(V,!1);try{if(!c(M).trim())throw new Error("Paste the signed certificate PEM");await jC({cert:c(M)}),m(V,!0),await Ci()}catch(ze){m(T,ze.message,!0)}finally{m(R,!1)}}function et(){navigator.clipboard.writeText(c(P)).catch(()=>{})}function Oe(ze){var qt;const tt=(qt=ze.target.files)==null?void 0:qt[0];if(!tt)return;m(de,tt.name,!0);const Yt=new FileReader;Yt.onload=()=>{const fi=Yt.result;m(ie,btoa(String.fromCharCode(...new Uint8Array(fi))),!0)},Yt.readAsArrayBuffer(tt)}async function ti(){m(Be,""),m(fe,!0);try{if(c(J)==="p12"){if(!c(ie))throw new Error("Select a .p12 / .pfx file");await jC({p12base64:c(ie),passphrase:c(Ce)})}else{if(!c(se).trim())throw new Error("Certificate PEM is required");await jC({cert:c(se),key:c(ue)||void 0})}m(H,!1),await Ci()}catch(ze){m(Be,ze.message,!0)}finally{m(fe,!1)}}function Li(ze){let tt;return Yt=>{const qt=Yt.target.value;clearTimeout(tt),tt=setTimeout(async()=>{if(!qt.startsWith("/")||qt.length<2){ze([]);return}try{ze((await OU(qt)).suggestions)}catch{ze([])}},280)}}const hi=Li(ze=>{m(gt,ze,!0)}),Ui=Li(ze=>{m(Rt,ze,!0)}),Wi=Li(ze=>{m(Ye,ze,!0)});async function ki(){m(ye,""),m(We,!0);try{await HU({certPath:c(ve),keyPath:c(rt)}),m(Ne,!1),await Ci()}catch(ze){m(ye,ze.message,!0)}finally{m(We,!1)}}async function dn(){m(pt,""),m(Pt,!0);try{await RU(c(Ee)),m(Ee,""),m(nt,!1),await Ci()}catch(ze){m(pt,ze.message,!0)}finally{m(Pt,!1)}}async function ln(){m(ci,""),m(kt,!0);try{await WU(c(ut)),m(ut,""),m(nt,!1),await Ci()}catch(ze){m(ci,ze.message,!0)}finally{m(kt,!1)}}async function Gi(ze){if(confirm("Remove this trusted CA cert?"))try{await NU(ze),await Ci()}catch(tt){m(s,tt.message,!0)}}function bn(ze){const tt=new Date(ze).getTime()-Date.now();return tt<0?"expired":tt<30*864e5?"expiring":""}function vt(ze){return new Date(ze).toLocaleDateString()}var Gt=pee(),wi=yt(Gt),zi=_(wi),Mi=_(zi),Ri=v(zi,2);{var Oi=ze=>{var tt=il(),Yt=_(tt);j(()=>O(Yt,c(n))),D(ze,tt)};z(Ri,ze=>{c(n)&&ze(Oi)})}var Xi=v(Ri,2);{var Ei=ze=>{var tt=il(),Yt=_(tt);j(()=>O(Yt,c(s))),D(ze,tt)};z(Xi,ze=>{c(s)&&ze(Ei)})}var Qe=v(Xi,2),wt=_(Qe),Fi=v(_(wt),2),Bi=v(Fi,2),pi=v(Bi,2),Ti=v(pi,2),X=v(wt,2);{var Fe=ze=>{var tt=XJ(),Yt=_(tt),qt=v(_(Yt)),fi=_(qt),Kt=v(qt,3),pe=_(Kt),Ze=v(Kt,3),dt=_(Ze);j((ht,Wt)=>{O(fi,c(t).cn),O(pe,c(t).fingerprint),Dt(Ze,1,ht,"svelte-9auejo"),O(dt,Wt)},[()=>sg(bn(c(t).expires)),()=>vt(c(t).expires)]),D(ze,tt)},Ke=ze=>{var tt=YJ();D(ze,tt)};z(X,ze=>{c(t)?ze(Fe):ze(Ke,-1)})}var ot=v(Qe,2),$t=_(ot),ne=v(_($t),2),Se=v($t,2);{var Me=ze=>{var tt=QJ();D(ze,tt)},Y=ze=>{var tt=eee(),Yt=v(_(tt));Zt(Yt,21,()=>c(i),Ni,(qt,fi)=>{var Kt=JJ(),pe=_(Kt),Ze=_(pe),dt=v(pe),ht=_(dt),Wt=v(dt),Tt=_(Wt),di=v(Wt),I=_(di);j((W,K,le)=>{O(Ze,c(fi).cn),O(ht,`${W??""}…`),Dt(Wt,1,K,"svelte-9auejo"),O(Tt,le)},[()=>c(fi).fingerprint.slice(0,29),()=>sg(bn(c(fi).expires)),()=>vt(c(fi).expires)]),$("click",I,()=>Gi(c(fi).fingerprint)),D(qt,Kt)}),D(ze,tt)};z(Se,ze=>{c(i).length===0?ze(Me):ze(Y,-1)})}var He=v(wi,2);{var je=ze=>{var tt=iee(),Yt=_(tt),qt=v(_(Yt),2),fi=v(_(qt)),Kt=v(qt,2),pe=v(_(Kt)),Ze=v(Kt,2),dt=v(_(Ze)),ht=v(Ze,2);{var Wt=Z=>{var Q=il(),ce=_(Q);j(()=>O(ce,c(g))),D(Z,Q)};z(ht,Z=>{c(g)&&Z(Wt)})}var Tt=v(ht,2);{var di=Z=>{var Q=tee(),ce=v(_(Q),2),Xe=v(_(ce)),ae=_(Xe),xe=v(Xe,2),Le=_(xe);j(me=>{O(ae,c(p).fingerprint),O(Le,me)},[()=>vt(c(p).expires)]),D(Z,Q)};z(Tt,Z=>{c(p)&&Z(di)})}var I=v(Tt,2),W=_(I),K=v(W,2);{var le=Z=>{var Q=ZA(),ce=_(Q);j(()=>{Q.disabled=c(f),O(ce,c(f)?"Generating…":"Generate")}),$("click",Q,Ai),D(Z,Q)};z(K,Z=>{c(p)||Z(le)})}Ht(fi,()=>c(a),Z=>m(a,Z)),Ht(pe,()=>c(d),Z=>m(d,Z)),Ht(dt,()=>c(u),Z=>m(u,Z)),$("click",W,()=>m(r,!1)),D(ze,tt)};z(He,ze=>{c(r)&&ze(je)})}var De=v(He,2);{var At=ze=>{var tt=ree(),Yt=_(tt),qt=v(_(Yt),2);{var fi=pe=>{var Ze=nee(),dt=yt(Ze),ht=v(_(dt)),Wt=v(dt,2),Tt=v(_(Wt)),di=v(Wt,4);{var I=Q=>{var ce=il(),Xe=_(ce);j(()=>O(Xe,c(A))),D(Q,ce)};z(di,Q=>{c(A)&&Q(I)})}var W=v(di,2),K=_(W),le=v(K,2),Z=_(le);j(()=>{le.disabled=c(w),O(Z,c(w)?"Generating…":"Generate key + CSR")}),Ht(ht,()=>c(b),Q=>m(b,Q)),Ht(Tt,()=>c(y),Q=>m(y,Q)),$("click",K,()=>m(C,!1)),$("click",le,si),D(pe,Ze)},Kt=pe=>{var Ze=oee(),dt=v(yt(Ze),2),ht=v(_(dt)),Wt=v(dt,2),Tt=_(Wt),di=v(Tt,2),I=v(Wt,4),W=v(_(I)),K=v(I,2);{var le=Le=>{var me=il(),Ie=_(me);j(()=>O(Ie,c(T))),D(Le,me)};z(K,Le=>{c(T)&&Le(le)})}var Z=v(K,2);{var Q=Le=>{var me=see();D(Le,me)};z(Z,Le=>{c(V)&&Le(Q)})}var ce=v(Z,2),Xe=_(ce),ae=v(Xe,2);{var xe=Le=>{var me=ZA(),Ie=_(me);j(lt=>{me.disabled=lt,O(Ie,c(R)?"Uploading…":"Upload signed cert")},[()=>c(R)||!c(M).trim()]),$("click",me,Vt),D(Le,me)};z(ae,Le=>{c(V)||Le(xe)})}j(Le=>{S1(ht,c(P)),rn(di,"href",`data:application/pkcs10;charset=utf-8,${Le??""}`)},[()=>encodeURIComponent(c(P))]),$("click",Tt,et),Ht(W,()=>c(M),Le=>m(M,Le)),$("click",Xe,()=>m(C,!1)),D(pe,Ze)};z(qt,pe=>{c(P)?pe(Kt,-1):pe(fi)})}D(ze,tt)};z(De,ze=>{c(C)&&ze(At)})}var Ot=v(De,2);{var ni=ze=>{var tt=dee(),Yt=_(tt),qt=v(_(Yt),2),fi=_(qt);let Kt;var pe=v(fi,2);let Ze;var dt=v(qt,2);{var ht=Z=>{var Q=aee(),ce=yt(Q),Xe=v(_(ce)),ae=v(ce,2),xe=v(_(ae));Ht(Xe,()=>c(se),Le=>m(se,Le)),Ht(xe,()=>c(ue),Le=>m(ue,Le)),D(Z,Q)},Wt=Z=>{var Q=cee(),ce=yt(Q),Xe=v(_(ce)),ae=_(Xe),xe=v(ae,2);{var Le=Pe=>{var it=lee(),ge=_(it);j(()=>O(ge,c(de))),D(Pe,it)};z(xe,Pe=>{c(de)&&Pe(Le)})}var me=v(ce,2),Ie=v(_(me)),lt=_(Ie),G=v(lt,2),re=_(G);j(()=>{rn(lt,"type",c(oe)?"text":"password"),O(re,c(oe)?"Hide":"Show")}),$("change",ae,Oe),Ht(lt,()=>c(Ce),Pe=>m(Ce,Pe)),$("click",G,()=>m(oe,!c(oe))),D(Z,Q)};z(dt,Z=>{c(J)==="pem"?Z(ht):Z(Wt,-1)})}var Tt=v(dt,2);{var di=Z=>{var Q=il(),ce=_(Q);j(()=>O(ce,c(Be))),D(Z,Q)};z(Tt,Z=>{c(Be)&&Z(di)})}var I=v(Tt,2),W=_(I),K=v(W,2),le=_(K);j(()=>{Kt=Dt(fi,1,"svelte-9auejo",null,Kt,{active:c(J)==="pem"}),Ze=Dt(pe,1,"svelte-9auejo",null,Ze,{active:c(J)==="p12"}),K.disabled=c(fe),O(le,c(fe)?"Importing…":"Import")}),$("click",fi,()=>m(J,"pem")),$("click",pe,()=>m(J,"p12")),$("click",W,()=>m(H,!1)),$("click",K,ti),D(ze,tt)};z(Ot,ze=>{c(H)&&ze(ni)})}var ii=v(Ot,2);{var xi=ze=>{var tt=uee(),Yt=_(tt),qt=v(_(Yt),4),fi=v(_(qt)),Kt=v(fi,2);Zt(Kt,21,()=>c(gt),Ni,(K,le)=>{var Z=ZC(),Q={};j(()=>{Q!==(Q=c(le))&&(Z.value=(Z.__value=c(le))??"")}),D(K,Z)});var pe=v(qt,2),Ze=v(_(pe)),dt=v(Ze,2);Zt(dt,21,()=>c(Rt),Ni,(K,le)=>{var Z=ZC(),Q={};j(()=>{Q!==(Q=c(le))&&(Z.value=(Z.__value=c(le))??"")}),D(K,Z)});var ht=v(pe,2);{var Wt=K=>{var le=il(),Z=_(le);j(()=>O(Z,c(ye))),D(K,le)};z(ht,K=>{c(ye)&&K(Wt)})}var Tt=v(ht,2),di=_(Tt),I=v(di,2),W=_(I);j(K=>{I.disabled=K,O(W,c(We)?"Installing…":"Install")},[()=>c(We)||!c(ve).trim()||!c(rt).trim()]),$("input",fi,hi),Ht(fi,()=>c(ve),K=>m(ve,K)),$("input",Ze,Ui),Ht(Ze,()=>c(rt),K=>m(rt,K)),$("click",di,()=>m(Ne,!1)),$("click",I,ki),D(ze,tt)};z(ii,ze=>{c(Ne)&&ze(xi)})}var jt=v(ii,2);{var mi=ze=>{var tt=gee(),Yt=_(tt),qt=v(_(Yt),2),fi=_(qt);let Kt;var pe=v(fi,2);let Ze;var dt=v(qt,2);{var ht=Tt=>{var di=hee(),I=yt(di),W=v(_(I)),K=v(I,2);{var le=ae=>{var xe=il(),Le=_(xe);j(()=>O(Le,c(pt))),D(ae,xe)};z(K,ae=>{c(pt)&&ae(le)})}var Z=v(K,2),Q=_(Z),ce=v(Q,2),Xe=_(ce);j(ae=>{ce.disabled=ae,O(Xe,c(Pt)?"Adding…":"Add CA cert")},[()=>c(Pt)||!c(Ee).trim()]),Ht(W,()=>c(Ee),ae=>m(Ee,ae)),$("click",Q,()=>m(nt,!1)),$("click",ce,dn),D(Tt,di)},Wt=Tt=>{var di=fee(),I=v(yt(di),2),W=v(_(I)),K=v(W,2);Zt(K,21,()=>c(Ye),Ni,(xe,Le)=>{var me=ZC(),Ie={};j(()=>{Ie!==(Ie=c(Le))&&(me.value=(me.__value=c(Le))??"")}),D(xe,me)});var le=v(I,2);{var Z=xe=>{var Le=il(),me=_(Le);j(()=>O(me,c(ci))),D(xe,Le)};z(le,xe=>{c(ci)&&xe(Z)})}var Q=v(le,2),ce=_(Q),Xe=v(ce,2),ae=_(Xe);j(xe=>{Xe.disabled=xe,O(ae,c(kt)?"Adding…":"Add CA cert")},[()=>c(kt)||!c(ut).trim()]),$("input",W,Wi),Ht(W,()=>c(ut),xe=>m(ut,xe)),$("click",ce,()=>m(nt,!1)),$("click",Xe,ln),D(Tt,di)};z(dt,Tt=>{c(St)==="pem"?Tt(ht):Tt(Wt,-1)})}j(()=>{Kt=Dt(fi,1,"svelte-9auejo",null,Kt,{active:c(St)==="pem"}),Ze=Dt(pe,1,"svelte-9auejo",null,Ze,{active:c(St)==="path"})}),$("click",fi,()=>m(St,"pem")),$("click",pe,()=>m(St,"path")),D(ze,tt)};z(jt,ze=>{c(nt)&&ze(mi)})}$("click",Mi,Ci),$("click",Fi,()=>{m(r,!0),m(g,""),m(p,null)}),$("click",Bi,()=>{m(C,!0),m(A,""),m(P,""),m(M,""),m(V,!1),m(T,"")}),$("click",pi,()=>{m(H,!0),m(Be,""),m(J,"pem"),m(se,""),m(ue,""),m(ie,""),m(de,""),m(Ce,""),m(oe,!1)}),$("click",Ti,()=>{m(Ne,!0),m(ye,""),m(ve,""),m(rt,""),m(gt,[],!0),m(Rt,[],!0)}),$("click",ne,()=>{m(nt,!0),m(pt,""),m(Ee,""),m(St,"pem"),m(ci,""),m(ut,""),m(Ye,[],!0)}),D(o,Gt),js()}Zs(["click","change","input"]);var Vx=B('<div class="err svelte-17yczfe"> </div>'),mee=B('<div class="check-list svelte-17yczfe"><div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto_ctrl</code> <span> </span></div> <div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto</code> <span> </span></div></div>'),vee=B('<div class="checking svelte-17yczfe">Checking…</div>'),_ee=B('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Tool availability</h3> <p class="hint svelte-17yczfe">These tools must be installed and in the PATH of the she process. They are used by the Setup Wizard and cert installation.</p> <!> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div></div>'),bee=B('<label class="svelte-17yczfe">Install command (run locally) <div class="pubkey-row svelte-17yczfe"><input readonly="" class="svelte-17yczfe"/> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),Cee=B('<label class="svelte-17yczfe">Public key <div class="pubkey-row svelte-17yczfe"><textarea readonly="" rows="3" class="svelte-17yczfe"></textarea> <button class="copy-btn svelte-17yczfe">Copy</button></div></label> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>',1),Eee=B('<div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>'),yee=B("<span> </span>"),wee=B('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH connection</h3> <p class="hint svelte-17yczfe">Used for file operations: reading/writing mosquitto.conf and installing certificates on the broker host. User/ACL management always uses the MQTT port directly.</p> <div class="fields svelte-17yczfe"><label class="svelte-17yczfe">Host<input placeholder="192.168.1.10 or broker.local" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Port<input type="number" min="1" max="65535" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">SSH user<input placeholder="root" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Identity file (private key)<input class="svelte-17yczfe"/></label></div></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH keypair</h3> <p class="hint svelte-17yczfe">Dedicated Ed25519 keypair for she to authenticate to the broker host. Private key stored at <code class="svelte-17yczfe"> </code>.</p> <!> <!></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Test connection</h3> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button> <!></div></div>',1),See=B('<div class="ok svelte-17yczfe">Saved.</div>'),Dee=B('<div class="mosquitto-page svelte-17yczfe"><!> <div class="mode-bar svelte-17yczfe"><span class="mode-label svelte-17yczfe">Connection mode</span> <div class="mode-toggle svelte-17yczfe"><button>Local</button> <button>SSH / Remote</button></div> <span class="mode-desc svelte-17yczfe"> </span></div> <!> <!> <!> <!> <div class="row svelte-17yczfe"><button class="btn-primary svelte-17yczfe"> </button></div></div>');function Aee(o,e){Vs(e,!0);let t=F(yi({})),i=F(""),n=F(!1),s=F(!1),r=F(""),a=F("~/.she/ssh/broker_id_ed25519"),d=F("local"),u=F(null),f=F(!1),g=F(""),p=F(""),C=F(!1),b=F(""),y=F(!1),w=F(""),A=F(yi({}));Ks(async()=>{try{const[Ye,kt,ci]=await Promise.all([Il(),oS(),fetch("/she/broker/ssh/pubkey").then(Ai=>Ai.json()).catch(()=>({publicKey:null}))]);m(A,Ye,!0),kt.sshKeyDefault&&m(a,kt.sshKeyDefault,!0);const Ci=c(A).broker??{};m(t,Ci.ssh??{},!0),c(t).port||(c(t).port=22),c(t).identityFile||(c(t).identityFile=c(a)),ci.publicKey&&m(p,ci.publicKey,!0),m(d,c(t).host?"ssh":"local",!0),c(d)==="local"&&P()}catch(Ye){m(i,Ye.message,!0)}});async function P(){m(f,!0),m(g,"");try{m(u,await oU(),!0)}catch(Ye){m(g,Ye.message??"Check failed",!0)}finally{m(f,!1)}}async function M(){m(n,!0),m(r,""),m(s,!1);try{const Ye=c(A).broker??{},kt=c(d)==="local"?{...c(t),host:""}:c(t),ci={...c(A),broker:{...Ye,ssh:kt}};await ap(ci),m(s,!0),setTimeout(()=>m(s,!1),3e3)}catch(Ye){m(r,Ye.message,!0)}finally{m(n,!1)}}async function R(){m(C,!0),m(b,"");try{const Ye=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),kt=await Ye.json();if(!Ye.ok)throw new Error(kt.error??Ye.statusText);m(p,kt.publicKey,!0)}catch(Ye){m(b,Ye.message,!0)}finally{m(C,!1)}}async function T(){m(y,!0),m(w,"");try{const Ye=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),kt=await Ye.json();if(!Ye.ok)throw new Error(kt.error??Ye.statusText);m(w,kt.ok?"✓ Connection successful":"✗ "+(kt.error??"Failed"),!0)}catch(Ye){m(w,"✗ "+Ye.message)}finally{m(y,!1)}}function V(Ye){navigator.clipboard.writeText(Ye).catch(()=>{})}const H=Lt(()=>c(t).identityFile&&c(t).user&&c(t).host?`ssh-copy-id -i ${c(t).identityFile}.pub ${c(t).user}@${c(t).host}`:"");var J=Dee(),se=_(J);{var ue=Ye=>{var kt=Vx(),ci=_(kt);j(()=>O(ci,c(i))),D(Ye,kt)};z(se,Ye=>{c(i)&&Ye(ue)})}var ie=v(se,2),de=v(_(ie),2),Ce=_(de);let oe;var fe=v(Ce,2);let Be;var Ne=v(de,2),ve=_(Ne),rt=v(ie,2);{var We=Ye=>{var kt=_ee(),ci=v(_(kt),4);{var Ci=Li=>{var hi=Vx(),Ui=_(hi);j(()=>O(Ui,c(g))),D(Li,hi)};z(ci,Li=>{c(g)&&Li(Ci)})}var Ai=v(ci,2);{var si=Li=>{var hi=mee(),Ui=_(hi),Wi=_(Ui);let ki;var dn=_(Wi),ln=v(Wi,4);let Gi;var bn=_(ln),vt=v(Ui,2),Gt=_(vt);let wi;var zi=_(Gt),Mi=v(Gt,4);let Ri;var Oi=_(Mi);j(()=>{ki=Dt(Wi,1,"check-icon svelte-17yczfe",null,ki,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),O(dn,c(u).mosquittoCtrl?"✓":"✗"),Gi=Dt(ln,1,"check-note svelte-17yczfe",null,Gi,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),O(bn,c(u).mosquittoCtrl?"found in PATH":"not found — install the mosquitto or mosquitto-clients package"),wi=Dt(Gt,1,"check-icon svelte-17yczfe",null,wi,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),O(zi,c(u).mosquitto?"✓":"✗"),Ri=Dt(Mi,1,"check-note svelte-17yczfe",null,Ri,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),O(Oi,c(u).mosquitto?"found in PATH":"not found — install the mosquitto package")}),D(Li,hi)},Vt=Li=>{var hi=vee();D(Li,hi)};z(Ai,Li=>{c(u)?Li(si):c(f)&&Li(Vt,1)})}var et=v(Ai,2),Oe=_(et),ti=_(Oe);j(()=>{Oe.disabled=c(f),O(ti,c(f)?"Checking…":c(u)?"Re-check":"Check tools")}),$("click",Oe,P),D(Ye,kt)};z(rt,Ye=>{c(d)==="local"&&Ye(We)})}var ye=v(rt,2);{var gt=Ye=>{var kt=wee(),ci=yt(kt),Ci=v(_(ci),4),Ai=_(Ci),si=v(_(Ai)),Vt=v(Ai,2),et=v(_(Vt)),Oe=v(Vt,2),ti=v(_(Oe)),Li=v(Oe,2),hi=v(_(Li)),Ui=v(ci,2),Wi=v(_(Ui),2),ki=v(_(Wi)),dn=_(ki),ln=v(Wi,2);{var Gi=Ei=>{var Qe=Cee(),wt=yt(Qe),Fi=v(_(wt)),Bi=_(Fi),pi=v(Bi,2),Ti=v(wt,2);{var X=$t=>{var ne=bee(),Se=v(_(ne)),Me=_(Se),Y=v(Me,2);j(()=>S1(Me,c(H))),$("click",Y,()=>V(c(H))),D($t,ne)};z(Ti,$t=>{c(H)&&$t(X)})}var Fe=v(Ti,2),Ke=_(Fe),ot=_(Ke);j(()=>{S1(Bi,c(p)),Ke.disabled=c(C),O(ot,c(C)?"Generating…":"Regenerate keypair")}),$("click",pi,()=>V(c(p))),$("click",Ke,R),D(Ei,Qe)},bn=Ei=>{var Qe=Eee(),wt=_(Qe),Fi=_(wt);j(()=>{wt.disabled=c(C),O(Fi,c(C)?"Generating…":"Generate keypair")}),$("click",wt,R),D(Ei,Qe)};z(ln,Ei=>{c(p)?Ei(Gi):Ei(bn,-1)})}var vt=v(ln,2);{var Gt=Ei=>{var Qe=Vx(),wt=_(Qe);j(()=>O(wt,c(b))),D(Ei,Qe)};z(vt,Ei=>{c(b)&&Ei(Gt)})}var wi=v(Ui,2),zi=v(_(wi),2),Mi=_(zi),Ri=_(Mi),Oi=v(Mi,2);{var Xi=Ei=>{var Qe=yee();let wt;var Fi=_(Qe);j(Bi=>{wt=Dt(Qe,1,"test-result svelte-17yczfe",null,wt,Bi),O(Fi,c(w))},[()=>({ok:c(w).startsWith("✓"),fail:c(w).startsWith("✗")})]),D(Ei,Qe)};z(Oi,Ei=>{c(w)&&Ei(Xi)})}j(()=>{rn(hi,"placeholder",c(a)),O(dn,c(t).identityFile||c(a)),Mi.disabled=c(y)||!c(t).host,O(Ri,c(y)?"Testing…":"Test SSH connection")}),Ht(si,()=>c(t).host,Ei=>c(t).host=Ei),Ht(et,()=>c(t).port,Ei=>c(t).port=Ei),Ht(ti,()=>c(t).user,Ei=>c(t).user=Ei),Ht(hi,()=>c(t).identityFile,Ei=>c(t).identityFile=Ei),$("click",Mi,T),D(Ye,kt)};z(ye,Ye=>{c(d)==="ssh"&&Ye(gt)})}var Rt=v(ye,2);{var nt=Ye=>{var kt=Vx(),ci=_(kt);j(()=>O(ci,c(r))),D(Ye,kt)};z(Rt,Ye=>{c(r)&&Ye(nt)})}var St=v(Rt,2);{var Ee=Ye=>{var kt=See();D(Ye,kt)};z(St,Ye=>{c(s)&&Ye(Ee)})}var Pt=v(St,2),pt=_(Pt),ut=_(pt);j(()=>{oe=Dt(Ce,1,"svelte-17yczfe",null,oe,{active:c(d)==="local"}),Be=Dt(fe,1,"svelte-17yczfe",null,Be,{active:c(d)==="ssh"}),O(ve,c(d)==="local"?"she and mosquitto run on the same machine — local filesystem access":"mosquitto runs on a remote host — file operations go through SSH"),pt.disabled=c(n),O(ut,c(n)?"Saving…":"Save")}),$("click",Ce,()=>{m(d,"local"),c(u)||P()}),$("click",fe,()=>m(d,"ssh")),$("click",pt,M),D(o,J),js()}Zs(["click"]);var kee=B("<button> </button>"),Bee=B('<code>log_dest topic</code> is not enabled in mosquitto.conf.<br/> <span class="hint svelte-1yc29ow">Enable it in the <strong>Config</strong> tab, then click <em>Apply &amp; Reload</em>.</span>',1),Fee=B('<code>log_dest topic</code> is configured — waiting for messages&hellip;<br/> <span class="hint svelte-1yc29ow">If nothing appears, mosquitto may need a full restart for the change to take effect.</span>',1),Lee=B('Waiting for log messages&hellip;<br/> <span class="hint svelte-1yc29ow">Make sure <code class="svelte-1yc29ow">log_dest topic</code> is set in mosquitto.conf.</span>',1),Iee=B('<div class="empty svelte-1yc29ow"><!></div>'),Pee=B('<div class="entry svelte-1yc29ow"><span class="ts svelte-1yc29ow"> </span> <span> </span> <span class="msg svelte-1yc29ow"> </span></div>'),Tee=B('<div class="logs-page svelte-1yc29ow"><div class="toolbar svelte-1yc29ow"><div class="level-filters svelte-1yc29ow"></div> <div class="spacer svelte-1yc29ow"></div> <label class="autoscroll-label svelte-1yc29ow"><input type="checkbox" class="svelte-1yc29ow"/> <span class="checkmark svelte-1yc29ow"></span> Auto-scroll</label> <button class="btn-clear svelte-1yc29ow">Clear</button></div> <div class="log-container svelte-1yc29ow"><!></div></div>');function Mee(o,e){Vs(e,!0);const t={D:"DBG",I:"INF",N:"NTC",W:"WRN",E:"ERR"},i={D:"lvl-d",I:"lvl-i",N:"lvl-n",W:"lvl-w",E:"lvl-e"},n=new Set(["D","I","N","W","E"]);let s=F(yi([])),r=F(!0),a=F(yi(new Set(["D","I","N","W","E"]))),d=F(void 0),u=F(!1),f=F(null),g=null;Ks(async()=>{const ie=await aU().catch(()=>[]),de=jU(),Ce=new Set,oe=[...ie,...de].filter(fe=>n.has(fe.level)).map(fe=>({ts:fe.ts,level:fe.level,msg:fe.msg}));oe.sort((fe,Be)=>fe.ts-Be.ts),m(s,oe.filter(fe=>{const Be=`${fe.ts}\0${fe.msg}`;return Ce.has(Be)?!1:(Ce.add(Be),!0)}).slice(-500),!0),c(s).length>0&&(m(u,!0),ul().then(p)),g=ar("brokerLog",fe=>{n.has(fe.level)&&(m(u,!0),m(s,[...c(s).slice(-499),{ts:fe.ts,level:fe.level,msg:fe.msg}],!0),c(r)&&ul().then(p))}),rS().then(fe=>{const Be=fe.managed.log_dest,Ne=Array.isArray(Be)?Be:Be?[Be]:[];m(f,Ne.includes("topic"),!0)}).catch(()=>{m(f,null)})}),Tp(()=>{g==null||g()});function p(){c(d)&&(c(d).scrollTop=c(d).scrollHeight)}function C(ie){const de=new Set(c(a));de.has(ie)?de.delete(ie):de.add(ie),m(a,de,!0)}function b(){m(s,[],!0),m(u,!1)}let y=Lt(()=>c(s).filter(ie=>c(a).has(ie.level)));function w(ie){const de=new Date(ie);return de.toTimeString().slice(0,8)+"."+String(de.getMilliseconds()).padStart(3,"0")}var A=Tee(),P=_(A),M=_(P);Zt(M,20,()=>["D","I","N","W","E"],Ni,(ie,de)=>{var Ce=kee();let oe;var fe=_(Ce);j(Be=>{oe=Dt(Ce,1,`lvl-btn ${i[de]??""}`,"svelte-1yc29ow",oe,Be),rn(Ce,"title",`Toggle ${de??""} messages`),O(fe,t[de])},[()=>({active:c(a).has(de)})]),$("click",Ce,()=>C(de)),D(ie,Ce)});var R=v(M,4),T=_(R),V=v(R,2),H=v(P,2),J=_(H);{var se=ie=>{var de=Iee(),Ce=_(de);{var oe=Be=>{var Ne=Es(),ve=yt(Ne);{var rt=gt=>{var Rt=Bee();D(gt,Rt)},We=gt=>{var Rt=Fee();D(gt,Rt)},ye=gt=>{var Rt=Lee();D(gt,Rt)};z(ve,gt=>{c(f)===!1?gt(rt):c(f)===!0?gt(We,1):gt(ye,-1)})}D(Be,Ne)},fe=Be=>{var Ne=_o("No messages match the current filter.");D(Be,Ne)};z(Ce,Be=>{c(u)?Be(fe,-1):Be(oe)})}D(ie,de)},ue=ie=>{var de=Es(),Ce=yt(de);Zt(Ce,17,()=>c(y),oe=>oe.ts+oe.msg,(oe,fe)=>{var Be=Pee(),Ne=_(Be),ve=_(Ne),rt=v(Ne,2),We=_(rt),ye=v(rt,2),gt=_(ye);j(Rt=>{O(ve,Rt),Dt(rt,1,`badge ${i[c(fe).level]??""}`,"svelte-1yc29ow"),O(We,t[c(fe).level]),O(gt,c(fe).msg)},[()=>w(c(fe).ts)]),D(oe,Be)}),D(ie,de)};z(J,ie=>{c(y).length===0?ie(se):ie(ue,-1)})}us(H,ie=>m(d,ie),()=>c(d)),Cs(T,()=>c(r),ie=>m(r,ie)),$("click",V,b),D(o,A),js()}Zs(["click"]);var Ree=B('<div class="err svelte-d31be1"> </div>'),Nee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1">This wizard will configure the <strong>Mosquitto Dynamic Security plugin</strong> for use with she. It will:</p> <ul class="svelte-d31be1"><li>Create a <code class="svelte-d31be1">she-admin</code> service account with a random strong password.</li> <li>Write <code class="svelte-d31be1">dynamic-security.json</code> to your mosquitto config directory.</li> <li>Add the <code class="svelte-d31be1">plugin</code> line to <code class="svelte-d31be1">mosquitto.conf</code>.</li> <li>Ask you to restart mosquitto to activate the plugin.</li></ul> <p class="hint svelte-d31be1">In <strong>remote mode</strong> (SSH host configured), <code class="svelte-d31be1">mosquitto_ctrl</code> is invoked on the broker host via SSH. In local mode, it must be installed on this machine. <code class="svelte-d31be1">mosquitto_ctrl</code> is part of the <code class="svelte-d31be1">mosquitto</code> package.</p> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Start</button></div></div>'),Oee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),Hee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1">dynsec is not yet active. Configure bootstrap settings:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" placeholder="(leave blank to auto-generate)" class="svelte-d31be1"/></label> <label class="svelte-d31be1">Mosquitto config directory<input class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1"> </button></div></div>'),Wee=B('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),zee=B(`<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec files written and credentials saved.</div> <p class="svelte-d31be1">The <code class="svelte-d31be1">plugin</code> line has been added to <code class="svelte-d31be1"> </code>.</p> <p class="svelte-d31be1">Enabling a new plugin requires a <strong>full mosquitto restart</strong> (not just SIGHUP):</p> <div class="actions svelte-d31be1"><button class="btn-warn svelte-d31be1"> </button> <button class="skip-step svelte-d31be1">Skip (I'll restart manually)</button></div> <!></div>`),Vee=B('<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec is configured and connected.</div> <p class="svelte-d31be1">she is now managing broker users and ACLs via the Dynamic Security plugin. You can use the <strong>Users & Roles</strong> tab to add users, create roles, and define ACL rules.</p> <div class="actions svelte-d31be1"><button class="btn-primary svelte-d31be1">Done</button></div></div>'),jee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1">Enter the credentials of an existing dynsec admin account:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Back</button> <button class="btn-primary svelte-d31be1"> </button></div></div>'),$ee=B('<div class="wizard svelte-d31be1"><div class="wizard-header svelte-d31be1"><h3 class="svelte-d31be1">dynsec Setup Wizard</h3> <button class="skip-btn svelte-d31be1">Manual setup instead</button></div> <!> <!></div>');function Uee(o,e){Vs(e,!0);let t=F("intro"),i=F(""),n=F(!1),s=F("she-admin"),r=F(""),a=F("/etc/mosquitto"),d=F(null),u=F(!1),f=F(!1),g=F("she-admin"),p=F(""),C=F(!1);async function b(){m(n,!0),m(i,"");try{(await(await fetch("/she/broker/wizard/probe",{method:"POST",headers:{"Content-Type":"application/json"}})).json()).active?m(t,"done"):m(t,"config")}catch(oe){m(i,oe.message,!0)}finally{m(n,!1)}}async function y(){m(n,!0),m(i,"");try{const oe=await fetch("/she/broker/wizard/bootstrap",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adminUsername:c(s),adminPassword:c(r)||void 0,configDir:c(a)})}),fe=await oe.json();if(!oe.ok||!fe.ok)throw new Error(fe.error??"Bootstrap failed");m(d,fe,!0);const Be=await Il(),Ne=Be.broker??{};await ap({...Be,broker:{...Ne,dynsec:{adminUsername:fe.adminUsername,adminPassword:fe.adminPassword}}}),await dU().catch(()=>{}),m(t,"restart")}catch(oe){m(i,oe.message,!0)}finally{m(n,!1)}}async function w(){m(f,!0),m(i,"");try{await lU(),await new Promise(oe=>setTimeout(oe,2e3)),m(u,!0),m(t,"done")}catch(oe){m(i,oe.message,!0)}finally{m(f,!1)}}async function A(){m(C,!0),m(i,"");try{const oe=await Il(),fe=oe.broker??{};await ap({...oe,broker:{...fe,dynsec:{adminUsername:c(g),adminPassword:c(p)}}}),m(t,"done")}catch(oe){m(i,oe.message,!0)}finally{m(C,!1)}}var P=$ee(),M=_(P),R=v(_(M),2),T=v(M,2);{var V=oe=>{var fe=Ree(),Be=_(fe);j(()=>O(Be,c(i))),D(oe,fe)};z(T,oe=>{c(i)&&oe(V)})}var H=v(T,2);{var J=oe=>{var fe=Nee(),Be=v(_(fe),6),Ne=_(Be);j(()=>Ne.disabled=c(n)),$("click",Ne,()=>{m(t,"probe"),b()}),D(oe,fe)},se=oe=>{var fe=Oee(),Be=_(fe),Ne=_(Be);j(()=>O(Ne,c(n)?"Probing dynsec…":"Checking dynsec status…")),D(oe,fe)},ue=oe=>{var fe=Hee(),Be=v(_(fe),2),Ne=v(_(Be)),ve=v(Be,2),rt=v(_(ve)),We=v(ve,2),ye=v(_(We)),gt=v(We,2),Rt=_(gt),nt=_(Rt);j(()=>{Rt.disabled=c(n)||!c(s),O(nt,c(n)?"Bootstrapping…":"Bootstrap dynsec")}),Ht(Ne,()=>c(s),St=>m(s,St)),Ht(rt,()=>c(r),St=>m(r,St)),Ht(ye,()=>c(a),St=>m(a,St)),$("click",Rt,y),D(oe,fe)},ie=oe=>{var fe=zee(),Be=v(_(fe),2),Ne=v(_(Be),3),ve=_(Ne),rt=v(Be,4),We=_(rt),ye=_(We),gt=v(We,2),Rt=v(rt,2);{var nt=St=>{var Ee=Wee();D(St,Ee)};z(Rt,St=>{c(f)&&St(nt)})}j(()=>{O(ve,c(d).confFilePath),We.disabled=c(f),O(ye,c(f)?"Restarting…":"Restart mosquitto now")}),$("click",We,w),$("click",gt,()=>{m(t,"done")}),D(oe,fe)},de=oe=>{var fe=Vee(),Be=v(_(fe),4),Ne=_(Be);$("click",Ne,function(...ve){var rt;(rt=e.onDone)==null||rt.apply(this,ve)}),D(oe,fe)},Ce=oe=>{var fe=jee(),Be=v(_(fe),2),Ne=v(_(Be)),ve=v(Be,2),rt=v(_(ve)),We=v(ve,2),ye=_(We),gt=v(ye,2),Rt=_(gt);j(()=>{gt.disabled=c(C)||!c(g)||!c(p),O(Rt,c(C)?"Saving…":"Save credentials")}),Ht(Ne,()=>c(g),nt=>m(g,nt)),Ht(rt,()=>c(p),nt=>m(p,nt)),$("click",ye,()=>m(t,"intro")),$("click",gt,A),D(oe,fe)};z(H,oe=>{c(t)==="intro"?oe(J):c(t)==="probe"?oe(se,1):c(t)==="config"?oe(ue,2):c(t)==="restart"&&c(d)?oe(ie,3):c(t)==="done"?oe(de,4):c(t)==="manual"&&oe(Ce,5)})}$("click",R,()=>m(t,"manual")),D(o,P),js()}Zs(["click"]);var qee=B('<div class="loading svelte-zuhcpo">Loading…</div>'),Gee=B('<div class="error-banner svelte-zuhcpo"> </div>'),Kee=B('<div class="conn-row svelte-zuhcpo"><span></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span><!></span> <button class="btn-deactivate svelte-zuhcpo"> </button></div>'),Zee=B('<button class="btn-wizard-inline svelte-zuhcpo">Setup Wizard ↗</button>'),Xee=B('<div class="conn-row svelte-zuhcpo"><span class="dot dot-off svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span class="conn-detail muted svelte-zuhcpo">not configured</span> <!></div>'),Yee=B('<div class="error-inline svelte-zuhcpo"> </div>'),Qee=B('<button class="diag-btn svelte-zuhcpo"> </button>'),XA=B('<p class="diag-issue svelte-zuhcpo"> </p>'),Jee=B('<p class="diag-ok-msg svelte-zuhcpo">✓ dynamic-security.json looks correct. Verify mosquitto restarted with the plugin loaded.</p>'),ete=B('<p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">File</span><code class="svelte-zuhcpo"> </code></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Admin user exists</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Has admin role</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">$CONTROL publish ACL</span><span> </span></p> <!> <!>',1),tte=B('<div><!></div> <button class="diag-btn svelte-zuhcpo" style="margin-top:6px"> </button>',1),ite=B('<button class="wizard-btn svelte-zuhcpo">Run Setup Wizard</button>'),nte=B('<div class="diag-area svelte-zuhcpo"><!> <!></div>'),ste=B('<div class="stats-block svelte-zuhcpo"><dl class="svelte-zuhcpo"><dt class="svelte-zuhcpo">Version</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Uptime</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Clients</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Messages</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Topics</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Traffic</dt><dd class="svelte-zuhcpo"> </dd></dl></div>'),ote=B('<div style="margin-top: 20px;"><!></div>'),rte=B('<div class="status-layout svelte-zuhcpo"><div class="conn-block svelte-zuhcpo"><div class="conn-row svelte-zuhcpo"><span class="dot ok svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">mosquitto</span> <span class="conn-detail svelte-zuhcpo"> </span></div> <!> <!></div> <!> <!></div> <!>',1),ate=B('<div class="tab-content svelte-zuhcpo"><!></div>'),lte=B('<div class="broker-page svelte-zuhcpo"><div class="sub-nav svelte-zuhcpo"><button>Status</button> <button>Directory</button> <button>Config</button> <button>Listeners</button> <button>Certificates</button> <button>Connection</button> <button>Logs</button></div> <!></div> <!>',1);function cte(o,e){Vs(e,!0);let t=F(!1),i,n=F(!1),s=F(""),r=F(!1),a=F(null);const d="she-broker-tab";let u=F(yi(localStorage.getItem(d)??"status"));$n(()=>{localStorage.setItem(d,c(u))});let f=F(null),g=F(""),p=F(!0);async function C(){try{m(f,await oS(),!0),m(g,"")}catch(ut){m(g,ut.message??"Failed to load broker status",!0)}finally{m(p,!1)}}Ks(()=>{C();const ut=setInterval(C,1e4);return()=>clearInterval(ut)});async function b(){m(r,!0),m(a,null);try{m(a,await uU(),!0)}catch(ut){m(a,{ok:!1,dynSecPath:"",issues:[ut.message??"Diagnose request failed"]},!0)}finally{m(r,!1)}}async function y(){if(await i.show("Remove dynsec plugin lines from mosquitto.conf and clear credentials? You will need to restart mosquitto afterwards.",{confirm:"Deactivate",danger:!0})){m(n,!0),m(s,"");try{await cU(),await C()}catch(ut){m(s,ut.message??"Deactivate failed",!0)}finally{m(n,!1)}}}function w(ut){var kt;if(!((kt=c(f))!=null&&kt.sys))return"—";const Ye=c(f).sys[ut];return Ye?String(Ye.val??"—"):"—"}function A(ut){if(ut==="—")return ut;const Ye=ut.match(/^(\d+)/),kt=Ye?parseInt(Ye[1]):NaN;if(isNaN(kt))return ut;const ci=Math.floor(kt/86400),Ci=Math.floor(kt%86400/3600),Ai=Math.floor(kt%3600/60),si=kt%60,Vt=et=>String(et).padStart(2,"0");return ci>0?`${ci}d ${Vt(Ci)}:${Vt(Ai)}:${Vt(si)}`:`${Vt(Ci)}:${Vt(Ai)}:${Vt(si)}`}function P(ut){if(ut==="—")return ut;const Ye=parseInt(ut);return isNaN(Ye)?ut:Ye<1024?`${Ye} B`:Ye<1048576?`${(Ye/1024).toFixed(1)} KB`:Ye<1073741824?`${(Ye/1048576).toFixed(1)} MB`:`${(Ye/1073741824).toFixed(1)} GB`}var M=lte(),R=yt(M),T=_(R),V=_(T);let H;var J=v(V,2);let se;var ue=v(J,2);let ie;var de=v(ue,2);let Ce;var oe=v(de,2);let fe;var Be=v(oe,2);let Ne;var ve=v(Be,2);let rt;var We=v(T,2);{var ye=ut=>{var Ye=ate(),kt=_(Ye);{var ci=si=>{var Vt=qee();D(si,Vt)},Ci=si=>{var Vt=Gee(),et=_(Vt);j(()=>O(et,c(g))),D(si,Vt)},Ai=si=>{var Vt=rte(),et=yt(Vt),Oe=_(et),ti=_(Oe),Li=v(_(ti),4),hi=_(Li),Ui=v(ti,2);{var Wi=Ri=>{var Oi=Kee(),Xi=_(Oi);let Ei;var Qe=v(Xi,4);let wt;var Fi=_(Qe);{var Bi=Ke=>{var ot=_o("plugin active");D(Ke,ot)},pi=Ke=>{var ot=_o("connected — plugin not responding");D(Ke,ot)},Ti=Ke=>{var ot=_o("disconnected");D(Ke,ot)};z(Fi,Ke=>{c(f).dynsec.dynsecReady?Ke(Bi):c(f).dynsec.connected?Ke(pi,1):Ke(Ti,-1)})}var X=v(Qe,2),Fe=_(X);j(()=>{Ei=Dt(Xi,1,"dot svelte-zuhcpo",null,Ei,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,"dot-err":!c(f).dynsec.connected}),wt=Dt(Qe,1,"conn-detail svelte-zuhcpo",null,wt,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,err:!c(f).dynsec.connected}),X.disabled=c(n),O(Fe,c(n)?"…":"deactivate")}),$("click",X,y),D(Ri,Oi)},ki=Ri=>{var Oi=Xee(),Xi=v(_(Oi),6);{var Ei=Qe=>{var wt=Zee();$("click",wt,()=>m(t,!0)),D(Qe,wt)};z(Xi,Qe=>{c(t)||Qe(Ei)})}D(Ri,Oi)};z(Ui,Ri=>{c(f).dynsec.configured?Ri(Wi):Ri(ki,-1)})}var dn=v(Ui,2);{var ln=Ri=>{var Oi=Yee(),Xi=_(Oi);j(()=>O(Xi,c(s))),D(Ri,Oi)};z(dn,Ri=>{c(s)&&Ri(ln)})}var Gi=v(Oe,2);{var bn=Ri=>{var Oi=nte(),Xi=_(Oi);{var Ei=Bi=>{var pi=Qee(),Ti=_(pi);j(()=>{pi.disabled=c(r),O(Ti,c(r)?"Running diagnostics…":"Run diagnostics")}),$("click",pi,b),D(Bi,pi)},Qe=Bi=>{var pi=tte(),Ti=yt(pi);let X;var Fe=_(Ti);{var Ke=Se=>{var Me=XA(),Y=_(Me);j(()=>O(Y,`⚠ ${c(a).error??""}`)),D(Se,Me)},ot=Se=>{var Me=ete(),Y=yt(Me),He=v(_(Y)),je=_(He),De=v(Y,2),At=v(_(De)),Ot=_(At),ni=v(De,2),ii=v(_(ni)),xi=_(ii),jt=v(ni,2),mi=v(_(jt)),ze=_(mi),tt=v(jt,2);Zt(tt,17,()=>c(a).issues,Ni,(fi,Kt)=>{var pe=XA(),Ze=_(pe);j(()=>O(Ze,`⚠ ${c(Kt)??""}`)),D(fi,pe)});var Yt=v(tt,2);{var qt=fi=>{var Kt=Jee();D(fi,Kt)};z(Yt,fi=>{c(a).ok&&fi(qt)})}j(()=>{O(je,c(a).dynSecPath),Dt(At,1,sg(c(a).adminClientExists?"ok":"fail"),"svelte-zuhcpo"),O(Ot,c(a).adminClientExists?"✓ yes":"✗ no"),Dt(ii,1,sg(c(a).hasAdminRole?"ok":"fail"),"svelte-zuhcpo"),O(xi,c(a).hasAdminRole?"✓ yes":"✗ no"),Dt(mi,1,sg(c(a).hasControlSendAcl?"ok":"fail"),"svelte-zuhcpo"),O(ze,c(a).hasControlSendAcl?"✓ present":"✗ missing")}),D(Se,Me)};z(Fe,Se=>{c(a).error?Se(Ke):Se(ot,-1)})}var $t=v(Ti,2),ne=_($t);j(()=>{X=Dt(Ti,1,"diag-card svelte-zuhcpo",null,X,{"diag-ok":c(a).ok,"diag-fail":!c(a).ok}),$t.disabled=c(r),O(ne,c(r)?"Running…":"Re-run")}),$("click",$t,b),D(Bi,pi)};z(Xi,Bi=>{c(a)?Bi(Qe,-1):Bi(Ei)})}var wt=v(Xi,2);{var Fi=Bi=>{var pi=ite();$("click",pi,()=>m(t,!0)),D(Bi,pi)};z(wt,Bi=>{c(t)||Bi(Fi)})}D(Ri,Oi)};z(Gi,Ri=>{c(f).dynsec.configured&&c(f).dynsec.connected&&!c(f).dynsec.dynsecReady&&Ri(bn)})}var vt=v(Gi,2);{var Gt=Ri=>{var Oi=ste(),Xi=_(Oi),Ei=v(_(Xi)),Qe=_(Ei),wt=v(Ei,3),Fi=_(wt),Bi=v(wt,3),pi=_(Bi),Ti=v(Bi,3),X=_(Ti),Fe=v(Ti,3),Ke=_(Fe),ot=v(Fe,3),$t=_(ot);j((ne,Se,Me,Y,He,je,De,At,Ot,ni,ii,xi)=>{O(Qe,ne),O(Fi,Se),O(pi,`${Me??""} connected · ${Y??""} max · ${He??""} total`),O(X,`${je??""} rcv · ${De??""} sent · ${At??""} stored`),O(Ke,`${Ot??""} retained · ${ni??""} subscriptions`),O($t,`${ii??""} in · ${xi??""} out`)},[()=>w("$SYS/broker/version"),()=>A(w("$SYS/broker/uptime")),()=>w("$SYS/broker/clients/connected"),()=>w("$SYS/broker/clients/maximum"),()=>w("$SYS/broker/clients/total"),()=>w("$SYS/broker/messages/received"),()=>w("$SYS/broker/messages/sent"),()=>w("$SYS/broker/messages/stored"),()=>w("$SYS/broker/retained messages/count"),()=>w("$SYS/broker/subscriptions/count"),()=>P(w("$SYS/broker/bytes/received")),()=>P(w("$SYS/broker/bytes/sent"))]),D(Ri,Oi)},wi=Lt(()=>Object.keys(c(f).sys).length>0);z(vt,Ri=>{c(wi)&&Ri(Gt)})}var zi=v(et,2);{var Mi=Ri=>{var Oi=ote(),Xi=_(Oi);Uee(Xi,{onDone:()=>{m(t,!1),C()}}),D(Ri,Oi)};z(zi,Ri=>{c(t)&&(!c(f).dynsec.configured||!c(f).dynsec.dynsecReady)&&Ri(Mi)})}j(()=>O(hi,c(f).sshConfigured?`ssh — ${c(f).sshHost}`:"local")),D(si,Vt)};z(kt,si=>{c(p)?si(ci):c(g)?si(Ci,1):c(f)&&si(Ai,2)})}D(ut,Ye)},gt=ut=>{{let Ye=Lt(()=>{var kt;return((kt=c(f))==null?void 0:kt.dynsec.dynsecReady)??!1});BJ(ut,{get dynsecReady(){return c(Ye)}})}},Rt=ut=>{ZJ(ut,{})},nt=ut=>{jJ(ut,{})},St=ut=>{xee(ut,{})},Ee=ut=>{Aee(ut,{})},Pt=ut=>{Mee(ut,{})};z(We,ut=>{c(u)==="status"?ut(ye):c(u)==="users"?ut(gt,1):c(u)==="brokerconfig"?ut(Rt,2):c(u)==="listeners"?ut(nt,3):c(u)==="certs"?ut(St,4):c(u)==="ssh"?ut(Ee,5):c(u)==="logs"&&ut(Pt,6)})}var pt=v(R,2);us(qc(pt,{}),ut=>i=ut,()=>i),j(()=>{H=Dt(V,1,"svelte-zuhcpo",null,H,{active:c(u)==="status"}),se=Dt(J,1,"svelte-zuhcpo",null,se,{active:c(u)==="users"}),ie=Dt(ue,1,"svelte-zuhcpo",null,ie,{active:c(u)==="brokerconfig"}),Ce=Dt(de,1,"svelte-zuhcpo",null,Ce,{active:c(u)==="listeners"}),fe=Dt(oe,1,"svelte-zuhcpo",null,fe,{active:c(u)==="certs"}),Ne=Dt(Be,1,"svelte-zuhcpo",null,Ne,{active:c(u)==="ssh"}),rt=Dt(ve,1,"svelte-zuhcpo",null,rt,{active:c(u)==="logs"})}),$("click",V,()=>m(u,"status")),$("click",J,()=>m(u,"users")),$("click",ue,()=>m(u,"brokerconfig")),$("click",de,()=>m(u,"listeners")),$("click",oe,()=>m(u,"certs")),$("click",Be,()=>m(u,"ssh")),$("click",ve,()=>m(u,"logs")),D(o,M),js()}Zs(["click"]);var dte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),ute=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),hte=B('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),fte=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),gte=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),pte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),xte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),mte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),vte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),_te=B('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),bte=B('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),Cte=B('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),Ete=B('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button>'),yte=B('<div class="version-popup svelte-1n46o8q"><dl class="svelte-1n46o8q"><dt class="svelte-1n46o8q">Installed</dt><dd class="svelte-1n46o8q"></dd> <!></dl> <div class="version-actions svelte-1n46o8q"><!> <button class="check-btn svelte-1n46o8q" title="Check for updates now"><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button></div></div>'),wte=B('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),Ste=B('<dt class="svelte-1n46o8q">Matter nodes</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Matter endpoints</dt><dd class="svelte-1n46o8q"> </dd>',1),Dte=B('<dt class="svelte-1n46o8q">DB docs</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">DB views</dt><dd class="svelte-1n46o8q"> </dd>',1),Ate=B('<dl class="svelte-1n46o8q"><!> <dt class="svelte-1n46o8q">Scripts</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT topics</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT msg/s</dt><dd class="svelte-1n46o8q"> </dd> <!> <!> <dt class="svelte-1n46o8q">Handlers</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Memory</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">CPU</dt><dd class="svelte-1n46o8q"> </dd></dl>'),kte=B('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),Bte=B('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M18.36 6.64a9 9 0 1 1-12.73 0" class="svelte-1n46o8q"></path><line x1="12" y1="2" x2="12" y2="12" class="svelte-1n46o8q"></line></svg> Restart daemon</button>'),Fte=B('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),Lte=B('<button class="nav-logout svelte-1n46o8q" title="Logout"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" class="svelte-1n46o8q"></path><polyline points="16 17 21 12 16 7" class="svelte-1n46o8q"></polyline><line x1="21" y1="12" x2="9" y2="12" class="svelte-1n46o8q"></line></svg></button>'),Ite=B('<div class="shell svelte-1n46o8q"><nav class="svelte-1n46o8q"><span class="brand svelte-1n46o8q">she</span> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="5,3 1,8 5,13" class="svelte-1n46o8q"></polyline><polyline points="11,3 15,8 11,13" class="svelte-1n46o8q"></polyline></svg> Scripts</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" class="svelte-1n46o8q"><rect x="0.75" y="0.75" width="14.5" height="14.5" rx="1" class="svelte-1n46o8q"></rect><path d="M2,11 V5 H5 V11" class="svelte-1n46o8q"></path><path d="M6,12 V5 H9 V8 H6" class="svelte-1n46o8q"></path><path d="M10,11 V5 H15 V11" class="svelte-1n46o8q"></path><line x1="12.5" y1="5" x2="12.5" y2="11" class="svelte-1n46o8q"></line></svg> Packages <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" stroke="none" style="vertical-align: middle" class="svelte-1n46o8q"><path fill-rule="evenodd" d="M2,0 H14 A2,2 0 0,1 16,2 V14 A2,2 0 0,1 14,16 H0 V2 A2,2 0 0,1 2,0 Z M0,16 L0,12 A4,4 0 0,1 4,16 Z M0,10.5 A5.5,5.5 0 0,1 5.5,16 L9,16 A9,9 0 0,0 0,7 Z M0,5.5 A10.5,10.5 0 0,1 10.5,16 L13.5,16 A13.5,13.5 0 0,0 0,2.5 Z" class="svelte-1n46o8q"></path></svg> MQTT <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><circle cx="8" cy="10" r="2" class="svelte-1n46o8q"></circle><path d="M5,7 A4,4 0,0,1 11,7" class="svelte-1n46o8q"></path><path d="M3,5 A6.5,6.5 0,0,1 13,5" class="svelte-1n46o8q"></path><line x1="8" y1="12" x2="8" y2="15" class="svelte-1n46o8q"></line></svg> Broker</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M8,2 L8,7" class="svelte-1n46o8q"></path><path d="M6,5 L8,7.5 L10,5" class="svelte-1n46o8q"></path><path d="M2.5,14 L6,10" class="svelte-1n46o8q"></path><path d="M6.2,12.8 L6,10 L3.2,10.2" class="svelte-1n46o8q"></path><path d="M13.5,14 L10,10" class="svelte-1n46o8q"></path><path d="M9.8,12.8 L10,10 L12.8,10.2" class="svelte-1n46o8q"></path></svg> Matter <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><ellipse cx="8" cy="4.5" rx="5" ry="1.8" class="svelte-1n46o8q"></ellipse><path d="M3,4.5 v7 a5,1.8 0,0,0 10,0 v-7" class="svelte-1n46o8q"></path><path d="M3,8 a5,1.8 0,0,0 10,0" class="svelte-1n46o8q"></path></svg> DB</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-1n46o8q"><line x1="2" y1="5" x2="14" y2="5" class="svelte-1n46o8q"></line><line x1="2" y1="8" x2="14" y2="8" class="svelte-1n46o8q"></line><line x1="2" y1="11" x2="9" y2="11" class="svelte-1n46o8q"></line></svg> Logs <!></button> <div class="nav-spacer svelte-1n46o8q"></div> <div class="nav-right svelte-1n46o8q"><a class="nav-icon svelte-1n46o8q" href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" title="GitHub"><svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" class="svelte-1n46o8q"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" class="svelte-1n46o8q"></path></svg></a> <div class="version-wrap svelte-1n46o8q"><button class="version svelte-1n46o8q"> <!></button> <!></div> <div class="stats-wrap svelte-1n46o8q"><button class="nav-icon svelte-1n46o8q" title="Daemon status"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><line x1="18" y1="20" x2="18" y2="10" class="svelte-1n46o8q"></line><line x1="12" y1="20" x2="12" y2="4" class="svelte-1n46o8q"></line><line x1="6" y1="20" x2="6" y2="14" class="svelte-1n46o8q"></line></svg></button> <!></div> <button title="Settings"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z" class="svelte-1n46o8q"></path><circle cx="12" cy="12" r="3" class="svelte-1n46o8q"></circle></svg></button> <!></div></nav> <main class="svelte-1n46o8q"><!> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div></main></div>'),Pte=B('<div class="login-error svelte-1n46o8q"> </div>'),Tte=B('<div class="login-overlay svelte-1n46o8q"><form class="login-box svelte-1n46o8q"><div class="login-brand svelte-1n46o8q">she</div> <h2 class="svelte-1n46o8q">Sign in</h2> <div class="login-field svelte-1n46o8q"><label for="she-password" class="svelte-1n46o8q">Password</label> <input id="she-password" type="password" placeholder="Enter password" autocomplete="current-password" class="svelte-1n46o8q"/></div> <!> <button type="submit" class="login-btn svelte-1n46o8q"> </button></form></div>'),Mte=B('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Restarting smart-home-engine…</div></div>'),Rte=B('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Updating smart-home-engine…</div></div>'),Nte=B("<!> <!> <!> <!>",1);function Ote(o,e){Vs(e,!0);const t=["scripts","mqtt","matter","security","db","logs","config","packages"];function i(){const pt=location.hash.slice(1);return t.includes(pt)?pt:"scripts"}let n=F(yi(i())),s=F(null),r=F(!1),a=F(!1),d=F(!1),u=F(!1),f=F("none"),g=F(""),p=F(!1),C=F(""),b=F(""),y=F(!1),w=F(!1);B$(()=>{m(p,!0)});async function A(){m(b,""),m(y,!0);try{await I$(c(C)),m(C,""),m(p,!1)}catch(pt){m(b,pt.message??"Login failed",!0)}finally{m(y,!1)}}async function P(){if(c(f)==="proxy"&&c(g)){window.location.href=c(g);return}await P$(),m(p,!0)}let M=F(null),R=F(!1),T=F(!1),V=F(!1),H=F(!1),J=F(yi([])),se=F(0),ue=F(yi([]));const ie=Lt(()=>c(ue).filter(pt=>pt.online).length),de=Lt(()=>c(ue).length===0?"none":c(ie)===c(ue).length?"all":c(ie)>0?"some":"offline");let Ce=F(!1),oe=F(!1);async function fe(){if(!await c(M).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;m(R,!0);let pt;try{pt=(await Xf()).startedAt}catch{}try{await dF()}catch{}const ut=Date.now()+6e4;for(;Date.now()<ut;){await new Promise(Ye=>setTimeout(Ye,250));try{const Ye=await Xf();if(pt===void 0||Ye.startedAt!==pt){location.reload();return}}catch{}}location.reload()}async function Be(){m(d,!0);try{const pt=await H$();c(s)&&m(s,{...c(s),latestVersion:pt.latestVersion??void 0},!0)}catch{}finally{m(d,!1)}}async function Ne(){var Ye,kt;if(!await c(M).show(`Update to v${(Ye=c(s))==null?void 0:Ye.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;m(a,!1),m(u,!0);const pt=(kt=c(s))==null?void 0:kt.startedAt;try{await O$()}catch{}const ut=Date.now()+18e4;for(;Date.now()<ut;){await new Promise(ci=>setTimeout(ci,1e3));try{const ci=await Xf();if(pt===void 0||ci.startedAt!==pt){location.reload();return}}catch{m(u,!1),m(R,!0)}}location.reload()}function ve(pt){m(n,pt,!0),location.hash=pt}Ks(async()=>{location.hash||(location.hash=c(n));const pt=()=>{m(n,i(),!0)};window.addEventListener("hashchange",pt);try{const Vt=await L$();m(f,Vt.mode,!0),m(g,Vt.proxyLogoutUrl??"",!0),c(f)==="password"&&(await fetch("/she/scripts")).status===401&&m(p,!0)}catch{}m(w,!0);async function ut(){try{m(s,await Xf(),!0)}catch{}try{const[Vt,et]=await Promise.all([fF(),Il()]);m(J,Array.isArray(et.pinnedPackages)?et.pinnedPackages:[],!0),m(se,Object.keys(Vt).filter(Oe=>!c(J).includes(Oe)).length,!0)}catch{}}ut();const Ye=setInterval(ut,5e3),kt=ar("mqtt:status",Vt=>{Vt.connected===!1?(m(H,!0),m(T,!1),m(V,!1)):(m(H,!1),m(T,Vt.ready===!1),m(V,Vt.ready===!0))}),ci=ar("matter:deviceList",Vt=>{Array.isArray(Vt.devices)&&m(ue,Vt.devices.map(et=>({nodeId:String(et.nodeId),online:!!et.online})),!0)}),Ci=ar("matter:deviceStatus",Vt=>{if(Vt.nodeId===void 0)return;const et=String(Vt.nodeId),Oe=!!Vt.online;m(ue,c(ue).map(ti=>ti.nodeId===et?{...ti,online:Oe}:ti),!0)}),Ai=yF();m(Ce,Ai.some(Vt=>Vt.level==="error"),!0),m(oe,!c(Ce)&&Ai.some(Vt=>Vt.level==="warn"),!0);const si=lS(Vt=>{Vt.level==="error"?(m(Ce,!0),m(oe,!1)):Vt.level==="warn"&&!c(Ce)&&m(oe,!0)});return()=>{window.removeEventListener("hashchange",pt),clearInterval(Ye),kt(),ci(),Ci(),si()}});var rt=Nte();fs("click",Jk,()=>{c(r)&&m(r,!1),c(a)&&m(a,!1)});var We=yt(rt);{var ye=pt=>{var ut=Ite(),Ye=_(ut),kt=v(_(Ye),2);let ci;var Ci=v(kt,2);let Ai;var si=v(_(Ci),2);{var Vt=Z=>{var Q=dte();j(()=>rn(Q,"title",`${c(se)??""} package update${c(se)===1?"":"s"} available`)),D(Z,Q)};z(si,Z=>{c(se)>0&&Z(Vt)})}var et=v(Ci,2);let Oe;var ti=v(_(et),2);{var Li=Z=>{var Q=ute();D(Z,Q)},hi=Z=>{var Q=hte();D(Z,Q)},Ui=Z=>{var Q=fte();D(Z,Q)};z(ti,Z=>{c(H)?Z(Li):c(T)?Z(hi,1):c(V)&&Z(Ui,2)})}var Wi=v(et,2);let ki;var dn=v(Wi,2);let ln;var Gi=v(_(dn),2);{var bn=Z=>{var Q=gte();D(Z,Q)},vt=Z=>{var Q=pte();D(Z,Q)},Gt=Z=>{var Q=xte();D(Z,Q)};z(Gi,Z=>{c(de)==="all"?Z(bn):c(de)==="some"?Z(vt,1):c(de)==="offline"&&Z(Gt,2)})}var wi=v(dn,2);let zi;var Mi=v(wi,2);let Ri;var Oi=v(_(Mi),2);{var Xi=Z=>{var Q=mte();D(Z,Q)},Ei=Z=>{var Q=vte();D(Z,Q)};z(Oi,Z=>{c(Ce)?Z(Xi):c(oe)&&Z(Ei,1)})}var Qe=v(Mi,4),wt=v(_(Qe),2),Fi=_(wt),Bi=_(Fi);Bi.nodeValue="v1.11.0 ";var pi=v(Bi);{var Ti=Z=>{var Q=_te();D(Z,Q)};z(pi,Z=>{var Q,ce;(Q=c(s))!=null&&Q.latestVersion&&!((ce=c(s))!=null&&ce.docker)&&Z(Ti)})}var X=v(Fi,2);{var Fe=Z=>{var Q=yte(),ce=_(Q),Xe=v(_(ce));Xe.textContent="v1.11.0";var ae=v(Xe,2);{var xe=ge=>{var _e=bte(),ct=v(yt(_e)),st=_(ct);j(()=>O(st,`v${c(s).latestVersion??""}`)),D(ge,_e)},Le=ge=>{var _e=Cte();D(ge,_e)};z(ae,ge=>{var _e;(_e=c(s))!=null&&_e.latestVersion?ge(xe):ge(Le,-1)})}var me=v(ce,2),Ie=_(me);{var lt=ge=>{var _e=Ete(),ct=v(_(_e));j(()=>O(ct,` Update to v${c(s).latestVersion??""}`)),$("click",_e,Ne),D(ge,_e)};z(Ie,ge=>{var _e;(_e=c(s))!=null&&_e.latestVersion&&ge(lt)})}var G=v(Ie,2),re=_(G);let Pe;var it=v(re);j(()=>{G.disabled=c(d),Pe=Dt(re,0,"svelte-1n46o8q",null,Pe,{spinning:c(d)}),O(it,` ${c(d)?"Checking…":"Check for updates"}`)}),$("click",Q,ge=>ge.stopPropagation()),$("click",G,Be),D(Z,Q)};z(X,Z=>{var Q;c(a)&&!((Q=c(s))!=null&&Q.docker)&&Z(Fe)})}var Ke=v(wt,2),ot=_(Ke),$t=v(ot,2);{var ne=Z=>{var Q=Fte(),ce=_(Q);{var Xe=Ie=>{var lt=Ate(),G=_(lt);{var re=Bt=>{const Nt=Lt(()=>Math.floor((Date.now()-c(s).startedAt)/1e3)),_t=Lt(()=>Math.floor(c(Nt)/86400)),vi=Lt(()=>Math.floor(c(Nt)%86400/3600)),Si=Lt(()=>Math.floor(c(Nt)%3600/60));var qi=wte(),Ii=v(yt(qi)),Ki=_(Ii);j(()=>O(Ki,`${c(_t)>0?c(_t)+"d ":""}${c(vi)>0||c(_t)>0?c(vi)+"h ":""}${c(Si)??""}m`)),D(Bt,qi)};z(G,Bt=>{c(s).startedAt&&Bt(re)})}var Pe=v(G,3),it=_(Pe),ge=v(Pe,3),_e=_(ge),ct=v(ge,3),st=_(ct),Ae=v(ct,2);{var xt=Bt=>{var Nt=Ste(),_t=v(yt(Nt)),vi=_(_t),Si=v(_t,3),qi=_(Si);j(()=>{O(vi,c(s).matterNodes??0),O(qi,c(s).matterEndpoints??0)}),D(Bt,Nt)};z(Ae,Bt=>{c(s).matterEnabled&&Bt(xt)})}var Ge=v(Ae,2);{var Ve=Bt=>{var Nt=Dte(),_t=v(yt(Nt)),vi=_(_t),Si=v(_t,3),qi=_(Si);j(()=>{O(vi,c(s).dbDocs??"—"),O(qi,c(s).dbViews??"—")}),D(Bt,Nt)};z(Ge,Bt=>{c(s).dbEnabled&&Bt(Ve)})}var Je=v(Ge,3),Ct=_(Je),Ue=v(Je,3),Ft=_(Ue),Re=v(Ue,3),at=_(Re);j(()=>{O(it,c(s).scripts),O(_e,c(s).topics),O(st,c(s).mqttMsgPerSec??"—"),O(Ct,c(s).handlers??"—"),O(Ft,c(s).memMb!=null?c(s).memMb+" MB":"—"),O(at,c(s).cpuPercent!=null?c(s).cpuPercent+" %":"—")}),D(Ie,lt)},ae=Ie=>{var lt=kte();D(Ie,lt)};z(ce,Ie=>{c(s)?Ie(Xe):Ie(ae,-1)})}var xe=v(ce,2),Le=_(xe);{var me=Ie=>{var lt=Bte();$("click",lt,()=>{m(r,!1),fe()}),D(Ie,lt)};z(Le,Ie=>{var lt;(lt=c(s))!=null&&lt.docker||Ie(me)})}$("click",Q,Ie=>Ie.stopPropagation()),D(Z,Q)};z($t,Z=>{c(r)&&Z(ne)})}var Se=v(Ke,2);let Me;var Y=v(Se,2);{var He=Z=>{var Q=Lte();$("click",Q,P),D(Z,Q)};z(Y,Z=>{c(f)==="password"&&Z(He)})}var je=v(Ye,2),De=_(je);us(qc(De,{}),Z=>m(M,Z,!0),()=>c(M));var At=v(De,2);let Ot;var ni=_(At);{let Z=Lt(()=>c(n)==="scripts");nZ(ni,{get active(){return c(Z)}})}var ii=v(At,2);let xi;var jt=_(ii);KQ(jt,{});var mi=v(ii,2);let ze;var tt=_(mi);BQ(tt,{});var Yt=v(mi,2);let qt;var fi=_(Yt);GY(fi,{});var Kt=v(Yt,2);let pe;var Ze=_(Kt);cte(Ze,{});var dt=v(Kt,2);let ht;var Wt=_(dt);XX(Wt,{});var Tt=v(dt,2);let di;var I=_(Tt);VZ(I,{});var W=v(Tt,2);let K;var le=_(W);qZ(le,{}),j(()=>{ci=Dt(kt,1,"svelte-1n46o8q",null,ci,{active:c(n)==="scripts"}),Ai=Dt(Ci,1,"svelte-1n46o8q",null,Ai,{active:c(n)==="packages"}),Oe=Dt(et,1,"svelte-1n46o8q",null,Oe,{active:c(n)==="mqtt"}),ki=Dt(Wi,1,"svelte-1n46o8q",null,ki,{active:c(n)==="security"}),ln=Dt(dn,1,"svelte-1n46o8q",null,ln,{active:c(n)==="matter"}),zi=Dt(wi,1,"svelte-1n46o8q",null,zi,{active:c(n)==="db"}),Ri=Dt(Mi,1,"svelte-1n46o8q",null,Ri,{active:c(n)==="logs"}),Me=Dt(Se,1,"nav-settings svelte-1n46o8q",null,Me,{active:c(n)==="config"}),Ot=Dt(At,1,"page-wrap svelte-1n46o8q",null,Ot,{hidden:c(n)!=="scripts"}),xi=Dt(ii,1,"page-wrap svelte-1n46o8q",null,xi,{hidden:c(n)!=="packages"}),ze=Dt(mi,1,"page-wrap svelte-1n46o8q",null,ze,{hidden:c(n)!=="mqtt"}),qt=Dt(Yt,1,"page-wrap svelte-1n46o8q",null,qt,{hidden:c(n)!=="matter"}),pe=Dt(Kt,1,"page-wrap svelte-1n46o8q",null,pe,{hidden:c(n)!=="security"}),ht=Dt(dt,1,"page-wrap svelte-1n46o8q",null,ht,{hidden:c(n)!=="db"}),di=Dt(Tt,1,"page-wrap svelte-1n46o8q",null,di,{hidden:c(n)!=="config"}),K=Dt(W,1,"page-wrap svelte-1n46o8q",null,K,{hidden:c(n)!=="logs"})}),$("click",kt,()=>ve("scripts")),$("click",Ci,()=>ve("packages")),$("click",et,()=>ve("mqtt")),$("click",Wi,()=>ve("security")),$("click",dn,()=>ve("matter")),$("click",wi,()=>ve("db")),$("click",Mi,()=>{ve("logs"),m(Ce,!1),m(oe,!1)}),$("click",Fi,Z=>{Z.stopPropagation(),m(a,!c(a)),m(r,!1)}),$("click",ot,Z=>{Z.stopPropagation(),m(r,!c(r)),m(a,!1)}),$("click",Se,()=>ve("config")),D(pt,ut)};z(We,pt=>{c(w)&&!c(p)&&pt(ye)})}var gt=v(We,2);{var Rt=pt=>{var ut=Tte(),Ye=_(ut),kt=v(_(Ye),4),ci=v(_(kt),2),Ci=v(kt,2);{var Ai=et=>{var Oe=Pte(),ti=_(Oe);j(()=>O(ti,c(b))),D(et,Oe)};z(Ci,et=>{c(b)&&et(Ai)})}var si=v(Ci,2),Vt=_(si);j(()=>{ci.disabled=c(y),si.disabled=c(y)||!c(C),O(Vt,c(y)?"Signing in…":"Sign in")}),fs("submit",Ye,et=>{et.preventDefault(),A()}),Ht(ci,()=>c(C),et=>m(C,et)),D(pt,ut)};z(gt,pt=>{c(p)&&pt(Rt)})}var nt=v(gt,2);{var St=pt=>{var ut=Mte();D(pt,ut)};z(nt,pt=>{c(R)&&pt(St)})}var Ee=v(nt,2);{var Pt=pt=>{var ut=Rte();D(pt,ut)};z(Ee,pt=>{c(u)&&pt(Pt)})}D(o,rt),js()}Zs(["click"]);ZI(Ote,{target:document.getElementById("app")});export{I6 as t};