smart-home-engine 1.0.10 → 1.1.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.
@@ -0,0 +1,230 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-CXWNuhmR.js","assets/monaco-langs-BW2J83t5.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-DAKcfE4c.js"])))=>i.map(i=>d[i]);
2
+ var CA=Object.defineProperty;var eL=o=>{throw TypeError(o)};var xA=(o,e,t)=>e in o?CA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var pn=(o,e,t)=>xA(o,typeof e!="symbol"?e+"":e,t),mw=(o,e,t)=>e.has(o)||eL("Cannot "+t);var re=(o,e,t)=>(mw(o,e,"read from private field"),t?t.call(o):e.get(o)),nn=(o,e,t)=>e.has(o)?eL("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),sn=(o,e,t,i)=>(mw(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),Bn=(o,e,t)=>(mw(o,e,"access private method"),t);import{_ as SE,m as CE,l as qt,A as _o,C as be,I as jn,D as n_,a as os,g as xE,M as Nt,b as Ci,E as ra,c as O,r as In,d as Dr,e as C,f as kA,h as Hn,R as rn,S as vi,i as Ys,j as Er,k as mn,n as qi,o as ue,p as je,K as ds,q as jt,s as ht,t as ms,u as U,v as Ji,O as Oa,w as gs,P as Xt,x as vw,y as s_,z as kE,B as hl,F as aa,G as mS,H as Ms,U as En,J as lf,L as Yt,N as vl,Q as LA,T as uo,V as vS,W as IA,X as LE,$ as Vt,Y as yn,Z as _n,a0 as Kn,a1 as Ri,a2 as $o,a3 as lp,a4 as dt,a5 as km,a6 as DA,a7 as EA,a8 as _s,a9 as TA,aa as la,ab as mo,ac as ii,ad as IE,ae as zn,af as PA,ag as MA,ah as fo,ai as Wf,aj as us,ak as fy,al as oo,am as Hc,an as jx,ao as gy,ap as Es,aq as cf,ar as Ts,as as py,at as _y,au as NA,av as o_,aw as Bf,ax as El,ay as RA,az as zf,aA as AA,aB as $x,aC as OA,aD as FA,aE as tL,aF as ss,aG as fl,aH as ro,aI as zi,aJ as ll,aK as HA,aL as Ba,aM as zo,aN as Cs,aO as ca,aP as Ux,aQ as vs,aR as ts,aS as Jm,aT as Bi,aU as DE,aV as WA,aW as qx,aX as my,aY as Gx,aZ as Kx,a_ as md,a$ as BA,b0 as Zx,b1 as zA,b2 as Xx,b3 as Tl,b4 as Pl,b5 as df,b6 as cp,b7 as Do,b8 as r_,b9 as Qm,ba as bw,bb as Nn,bc as Yx,bd as a_,be as vy,bf as VA,bg as EE,bh as dp,bi as uf,bj as up,bk as l_,bl as by,bm as vn,bn as Wc,bo as c_,bp as jA,bq as $A,br as Jx,bs as UA,bt as ev,bu as rr,bv as Qx,bw as hf,bx as Ml,by as Vf,bz as Yi,bA as ff,bB as TE,bC as d_,bD as qA,bE as vd,bF as At,bG as iL,bH as Lm,bI as PE,bJ as Mr,bK as ta,bL as An,bM as gf,bN as wr,bO as pf,bP as Gn,bQ as hp,bR as Ru,bS,bT as ME,bU as NE,bV as RE,bW as e0,bX as So,bY as kn,bZ as u_,b_ as AE,b$ as gl,c0 as yy,c1 as GA,c2 as yh,c3 as nL,c4 as h_,c5 as OE,c6 as wh,c7 as KA,c8 as gr,c9 as wy,ca as ZA,cb as vo,cc as da,cd as f_,ce as fp,cf as FE,cg as nr,ch as g_,ci as Sy,cj as XA,ck as YA,cl as JA,cm as jf,cn as za,co as xs,cp as QA,cq as t0,cr as eO,cs as tO,ct as sL,cu as iO,cv as p_,cw as bl,cx as yS,cy as pu,cz as yl,cA as nO,cB as Fa,cC as Sr,cD as Oo,cE as oL,cF as Qs,cG as __,cH as Ec,cI as Va,cJ as sO,cK as ua,cL as gp,cM as Cy,cN as HE,cO as oO,cP as rO,cQ as i0,cR as aO,cS as pp,cT as lO,cU as ic,cV as _p,cW as rL,cX as cO,cY as dO,cZ as Ua,c_ as uO,c$ as n0,d0 as WE,d1 as BE,d2 as zE,d3 as VE,d4 as hO,d5 as fO,d6 as jE,d7 as $E,d8 as gO,d9 as s0,da as pO,db as _O,dc as Xn,dd as mO,de as o0,df as vO,dg as Sh,dh as aL,di as bO,dj as yO,dk as wO,dl as SO,dm as CO,dn as xO,dp as _f,dq as xy,dr as wS,ds as kO,dt as LO,du as lL,dv as SS,dw as IO,dx as cL,dy as yw,dz as DO,dA as UE,dB as EO,dC as qE,dD as CS,dE as TO,dF as PO,dG as MO,dH as GE,dI as KE,dJ as NO,dK as tv,dL as ZE,dM as ky,dN as RO,dO as AO,dP as Tc,dQ as r0,dR as OO,dS as dL,dT as uL,dU as FO,dV as Ch,dW as XE,dX as HO,dY as WO,dZ as BO,d_ as zO,d$ as YE,e0 as JE,e1 as QE,e2 as eT,e3 as VO,e4 as Ha,e5 as hL,e6 as jO,e7 as m_,e8 as $O,e9 as Cg,ea as tT,eb as fL,ec as mp,ed as iT,ee as iv,ef as UO,eg as nT,eh as qO,ei as sT,ej as GO,ek as KO,el as oT,em as rT,en as wl,eo as Ly,ep as ZO,eq as aT,er as Vo,es as bd,et as lT,eu as XO,ev as YO,ew as cT,ex as dT,ey as JO,ez as uT,eA as hT,eB as vp,eC as QO,eD as e2,eE as t2,eF as i2,eG as hg,eH as gL,eI as n2,eJ as s2,eK as o2,eL as nv,eM as Bs,eN as r2,eO as xS,eP as Au,eQ as a2,eR as al,eS as l2,eT as c2,eU as fT,eV as d2,eW as Vg,eX as u2,eY as h2,eZ as f2,e_ as g2,e$ as pL,f0 as _L,f1 as mL,f2 as Ou,f3 as a0,f4 as gT,f5 as kS,f6 as Im,f7 as pT,f8 as sv,f9 as p2,fa as _2,fb as m2,fc as v2,fd as l0,fe as _T,ff as b2,fg as ov,fh as mT,fi as vT,fj as y2,fk as w2,fl as S2,fm as C2,fn as x2,fo as k2,fp as L2,fq as I2,fr as bT,fs as D2,ft as rv,fu as yT,fv as E2,fw as wT,fx as T2,fy as ST,fz as CT,fA as P2,fB as vL,fC as xT,fD as bL,fE as M2,fF as ww,fG as yL,fH as N2,fI as R2,fJ as A2,fK as Ea,fL as Pc,fM as O2,fN as wL,fO as Dm,fP as F2,fQ as cl,fR as Iy,fS as LS,fT as H2,fU as kT,fV as LT,fW as eo,fX as SL,fY as G_,fZ as c0,f_ as W2,f$ as B2,g0 as z2,g1 as V2,g2 as j2,g3 as $2,g4 as U2,g5 as q2,g6 as CL,g7 as G2,g8 as K2,g9 as Z2,ga as mf,gb as jg,gc as IT,gd as X2,ge as d0,gf as Em,gg as K_,gh as Sw,gi as Y2,gj as J2,gk as DT,gl as Q2,gm as u0,gn as eF,go as tF,gp as ET,gq as Dy,gr as iF,gs as av,gt as h0,gu as f0,gv as g0,gw as TT,gx as PT,gy as MT,gz as NT,gA as RT,gB as AT,gC as OT,gD as xL,gE as FT,gF as Yu,gG as nF,gH as sF,gI as oF,gJ as rF,gK as HT,gL as aF,gM as lF,gN as kL,gO as IS,gP as cc,gQ as cF,gR as dF,gS as uF,gT as hF,gU as fF,gV as gF,gW as LL,gX as p0,gY as DS,gZ as pF,g_ as ES,g$ as _F,h0 as mF,h1 as vF,h2 as bF,h3 as _0,h4 as WT,h5 as IL,h6 as DL,h7 as yF,h8 as wF,h9 as SF,ha as EL,hb as Cw,hc as CF,hd as xF,he as kF,hf as xw,hg as BT,hh as zT,hi as VT,hj as jT,hk as Sl,hl as $T,hm as m0,hn as TL,ho as LF,hp as UT,hq as IF,hr as DF,hs as Ey,ht as Ty,hu as Fu,hv as Py,hw as v_,hx as EF,hy as My,hz as TF,hA as PF,hB as MF,hC as qT,hD as fg,hE as NF,hF as RF,hG as AF,hH as OF,hI as b_,hJ as FF,hK as GT,hL as KT,hM as ZT,hN as TS,hO as HF,hP as WF,hQ as BF,hR as zF,hS as VF,hT as PS,hU as jF,hV as $F,hW as UF,hX as qF,hY as GF,hZ as KF,h_ as ZF,h$ as XF,i0 as XT,i1 as YF,i2 as JF,i3 as QF,i4 as PL,i5 as e3,i6 as t3,i7 as nd,i8 as dr,i9 as i3,ia as n3}from"./monaco-langs-BW2J83t5.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 YT=!1;var v0=Array.isArray,s3=Array.prototype.indexOf,lv=Array.prototype.includes,Ny=Array.from,o3=Object.defineProperty,Hh=Object.getOwnPropertyDescriptor,r3=Object.getOwnPropertyDescriptors,a3=Object.prototype,l3=Array.prototype,JT=Object.getPrototypeOf,ML=Object.isExtensible;const Ry=()=>{};function c3(o){for(var e=0;e<o.length;e++)o[e]()}function QT(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function d3(o,e,t=!1){return o===void 0?t?e():e:o}function NL(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 no=2,vf=4,Ay=8,eP=1<<24,ia=16,oa=32,Mc=64,MS=128,Lr=512,zs=1024,qs=2048,ja=4096,xo=8192,Ir=16384,$f=32768,NS=1<<25,bf=65536,cv=1<<17,u3=1<<18,Uf=1<<19,h3=1<<20,Na=1<<25,_u=65536,dv=1<<21,Wh=1<<22,dc=1<<23,yd=Symbol("$state"),f3=Symbol("legacy props"),g3=Symbol(""),Tm=Symbol("attributes"),RS=Symbol("class"),AS=Symbol("style"),xg=Symbol("text"),Pm=Symbol("form reset"),Oy=new class extends Error{constructor(){super(...arguments);pn(this,"name","StaleReactionError");pn(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var bE;const p3=!!((bE=globalThis.document)!=null&&bE.contentType)&&globalThis.document.contentType.includes("xml");function tP(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function _3(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function m3(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function v3(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function b3(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function y3(o){throw new Error("https://svelte.dev/e/effect_orphan")}function w3(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function S3(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function C3(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function x3(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function k3(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function L3(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const I3=1,D3=2,iP=4,E3=8,T3=16,P3=1,M3=4,N3=8,R3=16,A3=1,O3=2,Ws=Symbol("uninitialized"),nP="http://www.w3.org/1999/xhtml",F3="http://www.w3.org/2000/svg",H3="http://www.w3.org/1998/Math/MathML";function W3(){console.warn("https://svelte.dev/e/derived_inert")}function B3(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function z3(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function sP(o){return o===this.v}function V3(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function oP(o){return!V3(o,this.v)}let j3=!1,io=null;function yf(o){io=o}function Ns(o,e=!1,t){io={p:io,i:!1,c:null,e:null,s:o,x:null,r:Ln,l:null}}function Rs(o){var e=io,t=e.e;if(t!==null){e.e=null;for(var i of t)IP(i)}return o!==void 0&&(e.x=o),e.i=!0,io=e.p,o??{}}function rP(){return!0}let ld=[];function aP(){var o=ld;ld=[],c3(o)}function uc(o){if(ld.length===0&&!Ug){var e=ld;queueMicrotask(()=>{e===ld&&aP()})}ld.push(o)}function $3(){for(;ld.length>0;)aP()}function lP(o){var e=Ln;if(e===null)return xn.f|=dc,o;if((e.f&$f)===0&&(e.f&vf)===0)throw o;nc(o,e)}function nc(o,e){for(;e!==null;){if((e.f&MS)!==0){if((e.f&$f)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const U3=-7169;function ws(o,e){o.f=o.f&U3|e}function b0(o){(o.f&Lr)!==0||o.deps===null?ws(o,zs):ws(o,ja)}function cP(o){if(o!==null)for(const e of o)(e.f&no)===0||(e.f&_u)===0||(e.f^=_u,cP(e.deps))}function dP(o,e,t){(o.f&qs)!==0?e.add(o):(o.f&ja)!==0&&t.add(o),cP(o.deps),ws(o,zs)}let Z_=!1;function q3(o){var e=Z_;try{return Z_=!1,[o(),Z_]}finally{Z_=e}}let kw=null,Ju=null,Fi=null,$g=null,Js=null,OS=null,Ug=!1,Lw=!1,xh=null,Mm=null;var RL=0;let G3=1;var jh,Ql,hd,$h,Uh,qh,nl,Gh,No,Yp,sl,qr,ka,Kh,fd,Yn,FS,kg,HS,uP,hP,gh,K3,Lg;const yb=class yb{constructor(){nn(this,Yn);pn(this,"id",G3++);nn(this,jh,!1);pn(this,"linked",!0);nn(this,Ql,null);nn(this,hd,null);pn(this,"async_deriveds",new Map);pn(this,"current",new Map);pn(this,"previous",new Map);nn(this,$h,new Set);nn(this,Uh,new Set);nn(this,qh,0);nn(this,nl,new Map);nn(this,Gh,null);nn(this,No,[]);nn(this,Yp,[]);nn(this,sl,new Set);nn(this,qr,new Set);nn(this,ka,new Map);nn(this,Kh,new Set);pn(this,"is_fork",!1);nn(this,fd,!1);Ju===null?kw=Ju=this:(sn(Ju,hd,this),sn(this,Ql,Ju)),Ju=this}skip_effect(e){re(this,ka).has(e)||re(this,ka).set(e,{d:[],m:[]}),re(this,Kh).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=re(this,ka).get(e);if(i){re(this,ka).delete(e);for(var n of i.d)ws(n,qs),t(n);for(n of i.m)ws(n,ja),t(n)}re(this,Kh).add(e)}capture(e,t,i=!1){e.v!==Ws&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&dc)===0&&(this.current.set(e,[t,i]),Js==null||Js.set(e,t)),this.is_fork||(e.v=t)}activate(){Fi=this}deactivate(){Fi=null,Js=null}flush(){try{Lw=!0,Fi=this,Bn(this,Yn,kg).call(this)}finally{RL=0,OS=null,xh=null,Mm=null,Lw=!1,Fi=null,Js=null,wd.clear()}}discard(){var e;for(const t of re(this,Uh))t(this);re(this,Uh).clear(),Bn(this,Yn,Lg).call(this),(e=re(this,Gh))==null||e.resolve()}register_created_effect(e){re(this,Yp).push(e)}increment(e,t){if(sn(this,qh,re(this,qh)+1),e){let i=re(this,nl).get(t)??0;re(this,nl).set(t,i+1)}}decrement(e,t){if(sn(this,qh,re(this,qh)-1),e){let i=re(this,nl).get(t)??0;i===1?re(this,nl).delete(t):re(this,nl).set(t,i-1)}re(this,fd)||(sn(this,fd,!0),uc(()=>{sn(this,fd,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)re(this,sl).add(i);for(const i of t)re(this,qr).add(i);e.clear(),t.clear()}oncommit(e){re(this,$h).add(e)}ondiscard(e){re(this,Uh).add(e)}settled(){return(re(this,Gh)??sn(this,Gh,QT())).promise}static ensure(){if(Fi===null){const e=Fi=new yb;!Lw&&!Ug&&uc(()=>{re(e,jh)||e.flush()})}return Fi}apply(){{Js=null;return}}schedule(e){var n;if(OS=e,(n=e.b)!=null&&n.is_pending&&(e.f&(vf|Ay|eP))!==0&&(e.f&$f)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(xh!==null&&t===Ln&&(xn===null||(xn.f&no)===0))return;if((i&(Mc|oa))!==0){if((i&zs)===0)return;t.f^=zs}}re(this,No).push(t)}};jh=new WeakMap,Ql=new WeakMap,hd=new WeakMap,$h=new WeakMap,Uh=new WeakMap,qh=new WeakMap,nl=new WeakMap,Gh=new WeakMap,No=new WeakMap,Yp=new WeakMap,sl=new WeakMap,qr=new WeakMap,ka=new WeakMap,Kh=new WeakMap,fd=new WeakMap,Yn=new WeakSet,FS=function(){if(this.is_fork)return!0;for(const i of re(this,nl).keys()){for(var e=i,t=!1;e.parent!==null;){if(re(this,ka).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},kg=function(){var c,u,f,g;sn(this,jh,!0),RL++>1e3&&(Bn(this,Yn,Lg).call(this),X3());for(const p of re(this,sl))re(this,qr).delete(p),ws(p,qs),this.schedule(p);for(const p of re(this,qr))ws(p,ja),this.schedule(p);const e=re(this,No);sn(this,No,[]),this.apply();var t=xh=[],i=[],n=Mm=[];for(const p of e)try{Bn(this,Yn,HS).call(this,p,t,i)}catch(w){throw pP(p),Bn(this,Yn,FS).call(this)||this.discard(),w}if(Fi=null,n.length>0){var s=yb.ensure();for(const p of n)s.schedule(p)}if(xh=null,Mm=null,Bn(this,Yn,FS).call(this)){Bn(this,Yn,gh).call(this,i),Bn(this,Yn,gh).call(this,t);for(const[p,w]of re(this,ka))gP(p,w);n.length>0&&Bn(c=Fi,Yn,kg).call(c);return}const r=Bn(this,Yn,uP).call(this);if(r){Bn(this,Yn,gh).call(this,i),Bn(this,Yn,gh).call(this,t),Bn(u=r,Yn,hP).call(u,this);return}re(this,sl).clear(),re(this,qr).clear();for(const p of re(this,$h))p(this);re(this,$h).clear(),$g=this,AL(i),AL(t),$g=null,(f=re(this,Gh))==null||f.resolve();var a=Fi;if(re(this,qh)===0&&(re(this,No).length===0||a!==null)&&Bn(this,Yn,Lg).call(this),re(this,No).length>0)if(a!==null){const p=a;re(p,No).push(...re(this,No).filter(w=>!re(p,No).includes(w)))}else a=this;a!==null&&Bn(g=a,Yn,kg).call(g)},HS=function(e,t,i){e.f^=zs;for(var n=e.first;n!==null;){var s=n.f,r=(s&(oa|Mc))!==0,a=r&&(s&zs)!==0,c=a||(s&xo)!==0||re(this,ka).has(n);if(!c&&n.fn!==null){r?n.f^=zs:(s&vf)!==0?t.push(n):w_(n)&&((s&ia)!==0&&re(this,qr).add(n),Sf(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}}},uP=function(){for(var e=re(this,Ql);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=re(e,Ql)}return null},hP=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(re(e,sl),re(e,qr));const t=n=>{var s=n.reactions;if(s!==null)for(const c of s){var r=c.f;if((r&no)!==0)t(c);else{var a=c;r&(Wh|ia)&&!this.async_deriveds.has(a)&&(re(this,qr).delete(a),ws(a,qs),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),Bn(i=e,Yn,Lg).call(i),Fi=this,Bn(this,Yn,kg).call(this)},gh=function(e){for(var t=0;t<e.length;t+=1)dP(e[t],re(this,sl),re(this,qr))},K3=function(){var f;for(let g=kw;g!==null;g=re(g,hd)){var e=g.id<this.id,t=[];for(const[p,[w,m]]of this.current){if(g.current.has(p)){var i=g.current.get(p)[0];if(e&&w!==i)g.current.set(p,[w,m]);else continue}t.push(p)}if(e)for(const[p,w]of this.async_deriveds){const m=g.async_deriveds.get(p);m&&w.promise.then(m.resolve).catch(m.reject)}if(re(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 re(this,Kh))g.unskip_effect(p,w=>{var m;(w.f&(ia|Wh))!==0?g.schedule(w):Bn(m=g,Yn,gh).call(m,[w])});g.activate();var s=new Set,r=new Map;for(var a of t)fP(a,n,s,r);r=new Map;var c=[...g.current].filter(([p,w])=>{const m=this.current.get(p);return m?m[0]!==w[0]||m[1]!==w[1]:!0}).map(([p])=>p);if(c.length>0)for(const p of re(this,Yp))(p.f&(Ir|xo|cv))===0&&y0(p,c,r)&&((p.f&(Wh|ia))!==0?(ws(p,qs),g.schedule(p)):re(g,sl).add(p));if(re(g,No).length>0&&!re(g,fd)){g.apply();for(var u of re(g,No))Bn(f=g,Yn,HS).call(f,u,[],[]);sn(g,No,[])}g.deactivate()}}}},Lg=function(){if(this.linked){var e=re(this,Ql),t=re(this,hd);e===null?kw=t:sn(e,hd,t),t===null?Ju=e:sn(t,Ql,e),this.linked=!1}};let mu=yb;function Z3(o){var e=Ug;Ug=!0;try{for(var t;;){if($3(),Fi===null)return t;Fi.flush()}}finally{Ug=e}}function X3(){try{w3()}catch(o){nc(o,OS)}}let jr=null;function AL(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(Ir|xo))===0&&w_(i)&&(jr=new Set,Sf(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&TP(i),(jr==null?void 0:jr.size)>0)){wd.clear();for(const n of jr){if((n.f&(Ir|xo))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)jr.has(r)&&(jr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const c=s[a];(c.f&(Ir|xo))===0&&Sf(c)}}jr.clear()}}jr=null}}function fP(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&no)!==0?fP(n,e,t,i):(s&(Wh|ia))!==0&&(s&qs)===0&&y0(n,e,i)&&(ws(n,qs),w0(n))}}function y0(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(lv.call(e,n))return!0;if((n.f&no)!==0&&y0(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function w0(o){Fi.schedule(o)}function gP(o,e){if(!((o.f&oa)!==0&&(o.f&zs)!==0)){(o.f&qs)!==0?e.d.push(o):(o.f&ja)!==0&&e.m.push(o),ws(o,zs);for(var t=o.first;t!==null;)gP(t,e),t=t.next}}function pP(o){ws(o,zs);for(var e=o.first;e!==null;)pP(e),e=e.next}function Y3(o){let e=0,t=vu(0),i;return()=>{k0()&&(d(t),Hy(()=>(e===0&&(i=Rl(()=>o(()=>qg(t)))),e+=1,()=>{uc(()=>{e-=1,e===0&&(i==null||i(),i=void 0,qg(t))})})))}}var J3=bf|Uf;function Q3(o,e,t,i){new eH(o,e,t,i)}var _r,Vx,mr,gd,Ro,vr,yo,Qo,ol,pd,ec,Zh,Jp,Qp,rl,wb,Ss,tH,iH,nH,WS,Nm,Rm,BS,zS;class eH{constructor(e,t,i,n){nn(this,Ss);pn(this,"parent");pn(this,"is_pending",!1);pn(this,"transform_error");nn(this,_r);nn(this,Vx,null);nn(this,mr);nn(this,gd);nn(this,Ro);nn(this,vr,null);nn(this,yo,null);nn(this,Qo,null);nn(this,ol,null);nn(this,pd,0);nn(this,ec,0);nn(this,Zh,!1);nn(this,Jp,new Set);nn(this,Qp,new Set);nn(this,rl,null);nn(this,wb,Y3(()=>(sn(this,rl,vu(re(this,pd))),()=>{sn(this,rl,null)})));var s;sn(this,_r,e),sn(this,mr,t),sn(this,gd,r=>{var a=Ln;a.b=this,a.f|=MS,i(r)}),this.parent=Ln.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),sn(this,Ro,D0(()=>{Bn(this,Ss,WS).call(this)},J3))}defer_effect(e){dP(e,re(this,Jp),re(this,Qp))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!re(this,mr).pending}update_pending_count(e,t){Bn(this,Ss,BS).call(this,e,t),sn(this,pd,re(this,pd)+e),!(!re(this,rl)||re(this,Zh))&&(sn(this,Zh,!0),uc(()=>{sn(this,Zh,!1),re(this,rl)&&wf(re(this,rl),re(this,pd))}))}get_effect_pending(){return re(this,wb).call(this),d(re(this,rl))}error(e){if(!re(this,mr).onerror&&!re(this,mr).failed)throw e;Fi!=null&&Fi.is_fork?(re(this,vr)&&Fi.skip_effect(re(this,vr)),re(this,yo)&&Fi.skip_effect(re(this,yo)),re(this,Qo)&&Fi.skip_effect(re(this,Qo)),Fi.oncommit(()=>{Bn(this,Ss,zS).call(this,e)})):Bn(this,Ss,zS).call(this,e)}}_r=new WeakMap,Vx=new WeakMap,mr=new WeakMap,gd=new WeakMap,Ro=new WeakMap,vr=new WeakMap,yo=new WeakMap,Qo=new WeakMap,ol=new WeakMap,pd=new WeakMap,ec=new WeakMap,Zh=new WeakMap,Jp=new WeakMap,Qp=new WeakMap,rl=new WeakMap,wb=new WeakMap,Ss=new WeakSet,tH=function(){try{sn(this,vr,br(()=>re(this,gd).call(this,re(this,_r))))}catch(e){this.error(e)}},iH=function(e){const t=re(this,mr).failed;t&&sn(this,Qo,br(()=>{t(re(this,_r),()=>e,()=>()=>{})}))},nH=function(){const e=re(this,mr).pending;e&&(this.is_pending=!0,sn(this,yo,br(()=>e(re(this,_r)))),uc(()=>{var t=sn(this,ol,document.createDocumentFragment()),i=pl();t.append(i),sn(this,vr,Bn(this,Ss,Rm).call(this,()=>br(()=>re(this,gd).call(this,i)))),re(this,ec)===0&&(re(this,_r).before(t),sn(this,ol,null),Cd(re(this,yo),()=>{sn(this,yo,null)}),Bn(this,Ss,Nm).call(this,Fi))}))},WS=function(){try{if(this.is_pending=this.has_pending_snippet(),sn(this,ec,0),sn(this,pd,0),sn(this,vr,br(()=>{re(this,gd).call(this,re(this,_r))})),re(this,ec)>0){var e=sn(this,ol,document.createDocumentFragment());T0(re(this,vr),e);const t=re(this,mr).pending;sn(this,yo,br(()=>t(re(this,_r))))}else Bn(this,Ss,Nm).call(this,Fi)}catch(t){this.error(t)}},Nm=function(e){this.is_pending=!1,e.transfer_effects(re(this,Jp),re(this,Qp))},Rm=function(e){var t=Ln,i=xn,n=io;$a(re(this,Ro)),Tr(re(this,Ro)),yf(re(this,Ro).ctx);try{return mu.ensure(),e()}catch(s){return lP(s),null}finally{$a(t),Tr(i),yf(n)}},BS=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&Bn(i=this.parent,Ss,BS).call(i,e,t);return}sn(this,ec,re(this,ec)+e),re(this,ec)===0&&(Bn(this,Ss,Nm).call(this,t),re(this,yo)&&Cd(re(this,yo),()=>{sn(this,yo,null)}),re(this,ol)&&(re(this,_r).before(re(this,ol)),sn(this,ol,null)))},zS=function(e){re(this,vr)&&(jo(re(this,vr)),sn(this,vr,null)),re(this,yo)&&(jo(re(this,yo)),sn(this,yo,null)),re(this,Qo)&&(jo(re(this,Qo)),sn(this,Qo,null));var t=re(this,mr).onerror;let i=re(this,mr).failed;var n=!1,s=!1;const r=()=>{if(n){z3();return}n=!0,s&&L3(),re(this,Qo)!==null&&Cd(re(this,Qo),()=>{sn(this,Qo,null)}),Bn(this,Ss,Rm).call(this,()=>{Bn(this,Ss,WS).call(this)})},a=c=>{try{s=!0,t==null||t(c,r),s=!1}catch(u){nc(u,re(this,Ro)&&re(this,Ro).parent)}i&&sn(this,Qo,Bn(this,Ss,Rm).call(this,()=>{try{return br(()=>{var u=Ln;u.b=this,u.f|=MS,i(re(this,_r),()=>c,()=>r)})}catch(u){return nc(u,re(this,Ro).parent),null}}))};uc(()=>{var c;try{c=this.transform_error(e)}catch(u){nc(u,re(this,Ro)&&re(this,Ro).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(a,u=>nc(u,re(this,Ro)&&re(this,Ro).parent)):a(c)})};function sH(o,e,t,i){const n=bp;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=Ln,a=oH(),c=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(w){nc(w,r)}uv()}}var f=_P();if(t.length===0){c.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>rH(p))).then(p=>u([...e.map(n),...p])).catch(p=>nc(p,r)).finally(f)}c?c.then(()=>{a(),g(),uv()}):g()}function oH(){var o=Ln,e=xn,t=io,i=Fi;return function(s=!0){$a(o),Tr(e),yf(t),s&&(o.f&Ir)===0&&(i==null||i.activate(),i==null||i.apply())}}function uv(o=!0){$a(null),Tr(null),yf(null),o&&(Fi==null||Fi.deactivate())}function _P(){var o=Ln,e=o.b,t=Fi,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 bp(o){var e=no|qs;return Ln!==null&&(Ln.f|=Uf),{ctx:io,deps:null,effects:null,equals:sP,f:e,fn:o,reactions:null,rv:0,v:Ws,wv:0,parent:Ln,ac:null}}const X_=Symbol("obsolete");function rH(o,e,t){let i=Ln;i===null&&_3();var n=void 0,s=vu(Ws),r=!xn,a=new Set;return vH(()=>{var w,m;var c=Ln,u=QT();n=u.promise;try{Promise.resolve(o()).then(u.resolve,x=>{x!==Oy&&u.reject(x)}).finally(uv)}catch(x){u.reject(x),uv()}var f=Fi;if(r){if((c.f&$f)!==0)var g=_P();if((w=i.b)!=null&&w.is_rendered())(m=f.async_deriveds.get(c))==null||m.reject(X_);else for(const x of a.values())x.reject(X_);a.add(u),f.async_deriveds.set(c,u)}const p=(x,k=void 0)=>{g==null||g(),a.delete(u),k!==X_&&(f.activate(),k?(s.f|=dc,wf(s,k)):((s.f&dc)!==0&&(s.f^=dc),wf(s,x)),f.deactivate())};u.promise.then(p,x=>p(null,x||"unknown"))}),L0(()=>{for(const c of a)c.reject(X_)}),new Promise(c=>{function u(f){function g(){f===n?c(s):u(n)}f.then(g,g)}u(n)})}function wt(o){const e=bp(o);return NP(e),e}function S0(o){const e=bp(o);return e.equals=oP,e}function aH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)jo(e[t])}}function C0(o){var e,t=Ln,i=o.parent;if(!Cl&&i!==null&&o.v!==Ws&&(i.f&(Ir|xo))!==0)return W3(),o.v;$a(i);try{o.f&=~_u,aH(o),e=FP(o)}finally{$a(t)}return e}function mP(o){var e=C0(o);if(!o.equals(e)&&(o.wv=AP(),(!(Fi!=null&&Fi.is_fork)||o.deps===null)&&(Fi!==null?(Fi.capture(o,e,!0),$g==null||$g.capture(o,e,!0)):o.v=e,o.deps===null))){ws(o,zs);return}Cl||(Js!==null?(k0()||Fi!=null&&Fi.is_fork)&&Js.set(o,e):b0(o))}function lH(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(Oy),i.fn!==null&&(i.teardown=Ry),i.ac=null,yp(i,0),E0(i))}function vP(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&Sf(e)}let hv=new Set;const wd=new Map;let bP=!1;function vu(o,e){var t={f:0,v:o,reactions:null,equals:sP,rv:0,wv:0};return t}function M(o,e){const t=vu(o);return NP(t),t}function cH(o,e=!1,t=!0){const i=vu(o);return e||(i.equals=oP),i}function y(o,e,t=!1){xn!==null&&(!na||(xn.f&cv)!==0)&&rP()&&(xn.f&(no|ia|Wh|cv))!==0&&(Wa===null||!Wa.has(o))&&k3();let i=t?yi(e):e;return wf(o,i,Mm)}function wf(o,e,t=null){if(!o.equals(e)){wd.set(o,Cl?e:o.v);var i=mu.ensure();if(i.capture(o,e),(o.f&no)!==0){const n=o;(o.f&qs)!==0&&C0(n),Js===null&&b0(n)}o.wv=AP(),yP(o,qs,t),Ln!==null&&(Ln.f&zs)!==0&&(Ln.f&(oa|Mc))===0&&(pr===null?yH([o]):pr.push(o)),!i.is_fork&&hv.size>0&&!bP&&dH()}return e}function dH(){bP=!1;for(const o of hv){(o.f&zs)!==0&&ws(o,ja);let e;try{e=w_(o)}catch{e=!0}e&&Sf(o)}hv.clear()}function OL(o,e=1){var t=d(o),i=e===1?t++:t--;return y(o,t),i}function qg(o){y(o,o.v+1)}function yP(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,c=(a&qs)===0;if(c&&ws(r,e),(a&cv)!==0)hv.add(r);else if((a&no)!==0){var u=r;Js==null||Js.delete(u),(a&_u)===0&&(a&Lr&&(Ln===null||(Ln.f&dv)===0)&&(r.f|=_u),yP(u,ja,t))}else if(c){var f=r;(a&ia)!==0&&jr!==null&&jr.add(f),t!==null?t.push(f):w0(f)}}}function yi(o){if(typeof o!="object"||o===null||yd in o)return o;const e=JT(o);if(e!==a3&&e!==l3)return o;var t=new Map,i=v0(o),n=M(0),s=xd,r=a=>{if(xd===s)return a();var c=xn,u=xd;Tr(null),BL(s);var f=a();return Tr(c),BL(u),f};return i&&t.set("length",M(o.length)),new Proxy(o,{defineProperty(a,c,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&C3();var f=t.get(c);return f===void 0?r(()=>{var g=M(u.value);return t.set(c,g),g}):y(f,u.value,!0),!0},deleteProperty(a,c){var u=t.get(c);if(u===void 0){if(c in a){const f=r(()=>M(Ws));t.set(c,f),qg(n)}}else y(u,Ws),qg(n);return!0},get(a,c,u){var w;if(c===yd)return o;var f=t.get(c),g=c in a;if(f===void 0&&(!g||(w=Hh(a,c))!=null&&w.writable)&&(f=r(()=>{var m=yi(g?a[c]:Ws),x=M(m);return x}),t.set(c,f)),f!==void 0){var p=d(f);return p===Ws?void 0:p}return Reflect.get(a,c,u)},getOwnPropertyDescriptor(a,c){var u=Reflect.getOwnPropertyDescriptor(a,c);if(u&&"value"in u){var f=t.get(c);f&&(u.value=d(f))}else if(u===void 0){var g=t.get(c),p=g==null?void 0:g.v;if(g!==void 0&&p!==Ws)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return u},has(a,c){var p;if(c===yd)return!0;var u=t.get(c),f=u!==void 0&&u.v!==Ws||Reflect.has(a,c);if(u!==void 0||Ln!==null&&(!f||(p=Hh(a,c))!=null&&p.writable)){u===void 0&&(u=r(()=>{var w=f?yi(a[c]):Ws,m=M(w);return m}),t.set(c,u));var g=d(u);if(g===Ws)return!1}return f},set(a,c,u,f){var A;var g=t.get(c),p=c in a;if(i&&c==="length")for(var w=u;w<g.v;w+=1){var m=t.get(w+"");m!==void 0?y(m,Ws):w in a&&(m=r(()=>M(Ws)),t.set(w+"",m))}if(g===void 0)(!p||(A=Hh(a,c))!=null&&A.writable)&&(g=r(()=>M(void 0)),y(g,yi(u)),t.set(c,g));else{p=g.v!==Ws;var x=r(()=>yi(u));y(g,x)}var k=Reflect.getOwnPropertyDescriptor(a,c);if(k!=null&&k.set&&k.set.call(f,u),!p){if(i&&typeof c=="string"){var D=t.get("length"),P=Number(c);Number.isInteger(P)&&P>=D.v&&y(D,P+1)}qg(n)}return!0},ownKeys(a){d(n);var c=Reflect.ownKeys(a).filter(g=>{var p=t.get(g);return p===void 0||p.v!==Ws});for(var[u,f]of t)f.v!==Ws&&!(u in a)&&c.push(u);return c},setPrototypeOf(){x3()}})}function FL(o){try{if(o!==null&&typeof o=="object"&&yd in o)return o[yd]}catch{}return o}function uH(o,e){return Object.is(FL(o),FL(e))}var Sd,wP,SP,CP,xP;function hH(){if(Sd===void 0){Sd=window,wP=document,SP=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;CP=Hh(e,"firstChild").get,xP=Hh(e,"nextSibling").get,ML(o)&&(o[RS]=void 0,o[Tm]=null,o[AS]=void 0,o.__e=void 0),ML(t)&&(t[xg]=void 0)}}function pl(o=""){return document.createTextNode(o)}function Ra(o){return CP.call(o)}function y_(o){return xP.call(o)}function v(o,e){return Ra(o)}function Et(o,e=!1){{var t=Ra(o);return t instanceof Comment&&t.data===""?y_(t):t}}function b(o,e=1,t=!1){let i=o;for(;e--;)i=y_(i);return i}function fH(o){o.textContent=""}function kP(){return!1}function LP(o,e,t){return e==null||e===nP?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let HL=!1;function gH(){HL||(HL=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[Pm])==null||e.call(t)})},{capture:!0}))}function Fy(o){var e=xn,t=Ln;Tr(null),$a(null);try{return o()}finally{Tr(e),$a(t)}}function x0(o,e,t,i=t){o.addEventListener(e,()=>Fy(t));const n=o[Pm];n?o[Pm]=()=>{n(),i(!0)}:o[Pm]=()=>i(!0),gH()}function pH(o){Ln===null&&(xn===null&&y3(),b3()),Cl&&v3()}function _H(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=Ln;t!==null&&(t.f&xo)!==0&&(o|=xo);var i={ctx:io,deps:null,nodes:null,f:o|qs|Lr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};Fi==null||Fi.register_created_effect(i);var n=i;if((o&vf)!==0)xh!==null?xh.push(i):mu.ensure().schedule(i);else if(e!==null){try{Sf(i)}catch(r){throw jo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&Uf)===0&&(n=n.first,(o&ia)!==0&&(o&bf)!==0&&n!==null&&(n.f|=bf))}if(n!==null&&(n.parent=t,t!==null&&_H(n,t),xn!==null&&(xn.f&no)!==0&&(o&Mc)===0)){var s=xn;(s.effects??(s.effects=[])).push(n)}return i}function k0(){return xn!==null&&!na}function L0(o){const e=Nl(Ay,null);return ws(e,zs),e.teardown=o,e}function $n(o){pH();var e=Ln.f,t=!xn&&(e&oa)!==0&&io!==null&&!io.i;if(t){var i=io;(i.e??(i.e=[])).push(o)}else return IP(o)}function IP(o){return Nl(vf|h3,o)}function mH(o){mu.ensure();const e=Nl(Mc|Uf,o);return(t={})=>new Promise(i=>{t.outro?Cd(e,()=>{jo(e),i(void 0)}):(jo(e),i(void 0))})}function I0(o){return Nl(vf,o)}function vH(o){return Nl(Wh|Uf,o)}function Hy(o,e=0){return Nl(Ay|e,o)}function V(o,e=[],t=[],i=[]){sH(i,e,t,n=>{Nl(Ay,()=>o(...n.map(d)))})}function D0(o,e=0){var t=Nl(ia|e,o);return t}function br(o){return Nl(oa|Uf,o)}function DP(o){var e=o.teardown;if(e!==null){const t=Cl,i=xn;WL(!0),Tr(null);try{e.call(null)}finally{WL(t),Tr(i)}}}function E0(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&Fy(()=>{n.abort(Oy)});var i=t.next;(t.f&Mc)!==0?t.parent=null:jo(t,e),t=i}}function bH(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&oa)===0&&jo(e),e=t}}function jo(o,e=!0){var t=!1;(e||(o.f&u3)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(EP(o.nodes.start,o.nodes.end),t=!0),ws(o,NS),E0(o,e&&!t),yp(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();DP(o),o.f^=NS,o.f|=Ir;var n=o.parent;n!==null&&n.first!==null&&TP(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function EP(o,e){for(;o!==null;){var t=o===e?null:y_(o);o.remove(),o=t}}function TP(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 Cd(o,e,t=!0){var i=[];PP(o,i,!0);var n=()=>{t&&jo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function PP(o,e,t){if((o.f&xo)===0){o.f^=xo;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&bf)!==0||(n.f&oa)!==0&&(o.f&ia)!==0;PP(n,e,r?t:!1)}n=s}}}function fv(o){MP(o,!0)}function MP(o,e){if((o.f&xo)!==0){o.f^=xo,(o.f&zs)===0&&(ws(o,qs),mu.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&bf)!==0||(t.f&oa)!==0;MP(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 T0(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:y_(t);e.append(t),t=n}}let Am=!1,Cl=!1;function WL(o){Cl=o}let xn=null,na=!1;function Tr(o){xn=o}let Ln=null;function $a(o){Ln=o}let Wa=null;function NP(o){xn!==null&&(Wa??(Wa=new Set)).add(o)}let Ao=null,Yo=0,pr=null;function yH(o){pr=o}let RP=1,cd=0,xd=cd;function BL(o){xd=o}function AP(){return++RP}function w_(o){var e=o.f;if((e&qs)!==0)return!0;if(e&no&&(o.f&=~_u),(e&ja)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(w_(s)&&mP(s),s.wv>o.wv)return!0}(e&Lr)!==0&&Js===null&&ws(o,zs)}return!1}function OP(o,e,t=!0){var i=o.reactions;if(i!==null&&!(Wa!==null&&Wa.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&no)!==0?OP(s,e,!1):e===s&&(t?ws(s,qs):(s.f&zs)!==0&&ws(s,ja),w0(s))}}function FP(o){var x;var e=Ao,t=Yo,i=pr,n=xn,s=Wa,r=io,a=na,c=xd,u=o.f;Ao=null,Yo=0,pr=null,xn=(u&(oa|Mc))===0?o:null,Wa=null,yf(o.ctx),na=!1,xd=++cd,o.ac!==null&&(Fy(()=>{o.ac.abort(Oy)}),o.ac=null);try{o.f|=dv;var f=o.fn,g=f();o.f|=$f;var p=o.deps,w=Fi==null?void 0:Fi.is_fork;if(Ao!==null){var m;if(w||yp(o,Yo),p!==null&&Yo>0)for(p.length=Yo+Ao.length,m=0;m<Ao.length;m++)p[Yo+m]=Ao[m];else o.deps=p=Ao;if(k0()&&(o.f&Lr)!==0)for(m=Yo;m<p.length;m++)((x=p[m]).reactions??(x.reactions=[])).push(o)}else!w&&p!==null&&Yo<p.length&&(yp(o,Yo),p.length=Yo);if(rP()&&pr!==null&&!na&&p!==null&&(o.f&(no|ja|qs))===0)for(m=0;m<pr.length;m++)OP(pr[m],o);if(n!==null&&n!==o){if(cd++,n.deps!==null)for(let k=0;k<t;k+=1)n.deps[k].rv=cd;if(e!==null)for(const k of e)k.rv=cd;pr!==null&&(i===null?i=pr:i.push(...pr))}return(o.f&dc)!==0&&(o.f^=dc),g}catch(k){return lP(k)}finally{o.f^=dv,Ao=e,Yo=t,pr=i,xn=n,Wa=s,yf(r),na=a,xd=c}}function wH(o,e){let t=e.reactions;if(t!==null){var i=s3.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&no)!==0&&(Ao===null||!lv.call(Ao,e))){var s=e;(s.f&Lr)!==0&&(s.f^=Lr,s.f&=~_u),s.v!==Ws&&b0(s),lH(s),yp(s,0)}}function yp(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)wH(o,t[i])}function Sf(o){var e=o.f;if((e&Ir)===0){ws(o,zs);var t=Ln,i=Am;Ln=o,Am=!0;try{(e&(ia|eP))!==0?bH(o):E0(o),DP(o);var n=FP(o);o.teardown=typeof n=="function"?n:null,o.wv=RP;var s;YT&&j3&&(o.f&qs)!==0&&o.deps}finally{Am=i,Ln=t}}}async function Om(){await Promise.resolve(),Z3()}function d(o){var e=o.f,t=(e&no)!==0;if(xn!==null&&!na){var i=Ln!==null&&(Ln.f&Ir)!==0;if(!i&&(Wa===null||!Wa.has(o))){var n=xn.deps;if((xn.f&dv)!==0)o.rv<cd&&(o.rv=cd,Ao===null&&n!==null&&n[Yo]===o?Yo++:Ao===null?Ao=[o]:Ao.push(o));else{xn.deps??(xn.deps=[]),lv.call(xn.deps,o)||xn.deps.push(o);var s=o.reactions;s===null?o.reactions=[xn]:lv.call(s,xn)||s.push(xn)}}}if(Cl&&wd.has(o))return wd.get(o);if(t){var r=o;if(Cl){var a=r.v;return((r.f&zs)===0&&r.reactions!==null||WP(r))&&(a=C0(r)),wd.set(r,a),a}var c=(r.f&Lr)===0&&!na&&xn!==null&&(Am||(xn.f&Lr)!==0),u=(r.f&$f)===0;w_(r)&&(c&&(r.f|=Lr),mP(r)),c&&!u&&(vP(r),HP(r))}if(Js!=null&&Js.has(o))return Js.get(o);if((o.f&dc)!==0)throw o.v;return o.v}function HP(o){if(o.f|=Lr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&no)!==0&&(e.f&Lr)===0&&(vP(e),HP(e))}function WP(o){if(o.v===Ws)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(wd.has(e)||(e.f&no)!==0&&WP(e))return!0;return!1}function Rl(o){var e=na;try{return na=!0,o()}finally{na=e}}const SH=["touchstart","touchmove"];function CH(o){return SH.includes(o)}const dd=Symbol("events"),BP=new Set,VS=new Set;function xH(o,e,t,i={}){function n(s){if(i.capture||jS.call(e,s),!s.cancelBubble)return Fy(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?uc(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function cs(o,e,t,i,n){var s={capture:i,passive:n},r=xH(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&L0(()=>{e.removeEventListener(o,r,s)})}function G(o,e,t){(e[dd]??(e[dd]={}))[o]=t}function Ks(o){for(var e=0;e<o.length;e++)BP.add(o[e]);for(var t of VS)t(o)}let zL=null;function jS(o){var x,k;var e=this,t=e.ownerDocument,i=o.type,n=((x=o.composedPath)==null?void 0:x.call(o))||[],s=n[0]||o.target;zL=o;var r=0,a=zL===o&&o[dd];if(a){var c=n.indexOf(a);if(c!==-1&&(e===document||e===window)){o[dd]=e;return}var u=n.indexOf(e);if(u===-1)return;c<=u&&(r=c)}if(s=n[r]||o.target,s!==e){o3(o,"currentTarget",{configurable:!0,get(){return s||t}});var f=xn,g=Ln;Tr(null),$a(null);try{for(var p,w=[];s!==null&&s!==e;){try{var m=(k=s[dd])==null?void 0:k[i];m!=null&&(!s.disabled||o.target===s)&&m.call(s,o)}catch(D){p?w.push(D):p=D}if(o.cancelBubble)break;r++,s=r<n.length?n[r]:null}if(p){for(let D of w)queueMicrotask(()=>{throw D});throw p}}finally{o[dd]=e,delete o.currentTarget,Tr(f),$a(g)}}}var yE;const Iw=((yE=globalThis==null?void 0:globalThis.window)==null?void 0:yE.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function kH(o){return(Iw==null?void 0:Iw.createHTML(o))??o}function zP(o){var e=LP("template");return e.innerHTML=kH(o.replaceAll("<!>","<!---->")),e.content}function bu(o,e){var t=Ln;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function T(o,e){var t=(e&A3)!==0,i=(e&O3)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=zP(s?o:"<!>"+o),t||(n=Ra(n)));var r=i||SP?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Ra(r),c=r.lastChild;bu(a,c)}else bu(r,r);return r}}function LH(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=zP(n),a=Ra(r);s=Ra(a)}var c=s.cloneNode(!0);return bu(c,c),c}}function VP(o,e){return LH(o,e,"svg")}function sa(o=""){{var e=pl(o+"");return bu(e,e),e}}function Vs(){var o=document.createDocumentFragment(),e=document.createComment(""),t=pl();return o.append(e,t),bu(e,t),o}function E(o,e){o!==null&&o.before(e)}function F(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[xg]??(o[xg]=o.nodeValue))&&(o[xg]=t,o.nodeValue=`${t}`)}function IH(o,e){return DH(o,e)}const Y_=new Map;function DH(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){hH();var c=void 0,u=mH(()=>{var f=t??e.appendChild(pl());Q3(f,{pending:()=>{}},w=>{Ns({});var m=io;s&&(m.c=s),n&&(i.$$events=n),c=o(w,i)||{},Rs()},a);var g=new Set,p=w=>{for(var m=0;m<w.length;m++){var x=w[m];if(!g.has(x)){g.add(x);var k=CH(x);for(const A of[e,document]){var D=Y_.get(A);D===void 0&&(D=new Map,Y_.set(A,D));var P=D.get(x);P===void 0?(A.addEventListener(x,jS,{passive:k}),D.set(x,1)):D.set(x,P+1)}}}};return p(Ny(BP)),VS.add(p),()=>{var k;for(var w of g)for(const D of[e,document]){var m=Y_.get(D),x=m.get(w);--x==0?(D.removeEventListener(w,jS),m.delete(w),m.size===0&&Y_.delete(D)):m.set(w,x)}VS.delete(p),f!==t&&((k=f.parentNode)==null||k.removeChild(f))}});return EH.set(c,u),c}let EH=new WeakMap;var Gr,La,er,_d,e_,t_,Sb;class TH{constructor(e,t=!0){pn(this,"anchor");nn(this,Gr,new Map);nn(this,La,new Map);nn(this,er,new Map);nn(this,_d,new Set);nn(this,e_,!0);nn(this,t_,e=>{if(re(this,Gr).has(e)){var t=re(this,Gr).get(e),i=re(this,La).get(t);if(i)fv(i),re(this,_d).delete(t);else{var n=re(this,er).get(t);n&&(fv(n.effect),re(this,La).set(t,n.effect),re(this,er).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of re(this,Gr)){if(re(this,Gr).delete(s),s===e)break;const a=re(this,er).get(r);a&&(jo(a.effect),re(this,er).delete(r))}for(const[s,r]of re(this,La)){if(s===t||re(this,_d).has(s))continue;const a=()=>{if(Array.from(re(this,Gr).values()).includes(s)){var u=document.createDocumentFragment();T0(r,u),u.append(pl()),re(this,er).set(s,{effect:r,fragment:u})}else jo(r);re(this,_d).delete(s),re(this,La).delete(s)};re(this,e_)||!i?(re(this,_d).add(s),Cd(r,a,!1)):a()}}});nn(this,Sb,e=>{re(this,Gr).delete(e);const t=Array.from(re(this,Gr).values());for(const[i,n]of re(this,er))t.includes(i)||(jo(n.effect),re(this,er).delete(i))});this.anchor=e,sn(this,e_,t)}ensure(e,t){var i=Fi,n=kP();if(t&&!re(this,La).has(e)&&!re(this,er).has(e))if(n){var s=document.createDocumentFragment(),r=pl();s.append(r),re(this,er).set(e,{effect:br(()=>t(r)),fragment:s})}else re(this,La).set(e,br(()=>t(this.anchor)));if(re(this,Gr).set(i,e),n){for(const[a,c]of re(this,La))a===e?i.unskip_effect(c):i.skip_effect(c);for(const[a,c]of re(this,er))a===e?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(re(this,t_)),i.ondiscard(re(this,Sb))}else re(this,t_).call(this,i)}}Gr=new WeakMap,La=new WeakMap,er=new WeakMap,_d=new WeakMap,e_=new WeakMap,t_=new WeakMap,Sb=new WeakMap;function W(o,e,t=!1){var i=new TH(o),n=t?bf:0;function s(r,a){i.ensure(r,a)}D0(()=>{var r=!1;e((a,c=0)=>{r=!0,s(c,a)}),r||s(-1,null)},n)}function on(o,e){return e}function PH(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let g=e[a];Cd(g,()=>{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var p=o.outrogroups;$S(o,Ny(s.done)),p.delete(s),p.size===0&&(o.outrogroups=null)}}else r-=1},!1)}if(r===0){var c=i.length===0&&t!==null;if(c){var u=t,f=u.parentNode;fH(f),f.append(u),o.items.clear()}$S(o,e,!c)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function $S(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|=Na;const r=document.createDocumentFragment();T0(s,r)}else jo(e[n],t)}}var VL;function _i(o,e,t,i,n,s=null){var r=o,a=new Map,c=(e&iP)!==0;if(c){var u=o;r=u.appendChild(pl())}var f=null,g=S0(()=>{var A=t();return v0(A)?A:A==null?[]:Ny(A)}),p,w=new Map,m=!0;function x(A){(P.effect.f&Ir)===0&&(P.pending.delete(A),P.fallback=f,MH(P,p,r,e,i),f!==null&&(p.length===0?(f.f&Na)===0?fv(f):(f.f^=Na,Ig(f,null,r)):Cd(f,()=>{f=null})))}function k(A){P.pending.delete(A)}var D=D0(()=>{p=d(g);for(var A=p.length,j=new Set,H=Fi,te=kP(),J=0;J<A;J+=1){var le=p[J],we=i(le,J),Be=m?null:a.get(we);Be?(Be.v&&wf(Be.v,le),Be.i&&wf(Be.i,J),te&&H.unskip_effect(Be.e)):(Be=NH(a,m?r:VL??(VL=pl()),le,we,J,n,e,t),m||(Be.e.f|=Na),a.set(we,Be)),j.add(we)}if(A===0&&s&&!f&&(m?f=br(()=>s(r)):(f=br(()=>s(VL??(VL=pl()))),f.f|=Na)),A>j.size&&m3(),!m)if(w.set(H,j),te){for(const[ce,st]of a)j.has(ce)||H.skip_effect(st.e);H.oncommit(x),H.ondiscard(k)}else x(H);d(g)}),P={effect:D,items:a,pending:w,outrogroups:null,fallback:f};m=!1}function gg(o){for(;o!==null&&(o.f&oa)===0;)o=o.next;return o}function MH(o,e,t,i,n){var Be,ce,st,at,me,ct,gt,Tt,Ne;var s=(i&E3)!==0,r=e.length,a=o.items,c=gg(o.effect.first),u,f=null,g,p=[],w=[],m,x,k,D;if(s)for(D=0;D<r;D+=1)m=e[D],x=n(m,D),k=a.get(x).e,(k.f&Na)===0&&((ce=(Be=k.nodes)==null?void 0:Be.a)==null||ce.measure(),(g??(g=new Set)).add(k));for(D=0;D<r;D+=1){if(m=e[D],x=n(m,D),k=a.get(x).e,o.outrogroups!==null)for(const Lt of o.outrogroups)Lt.pending.delete(k),Lt.done.delete(k);if((k.f&xo)!==0&&(fv(k),s&&((at=(st=k.nodes)==null?void 0:st.a)==null||at.unfix(),(g??(g=new Set)).delete(k))),(k.f&Na)!==0)if(k.f^=Na,k===c)Ig(k,null,t);else{var P=f?f.next:c;k===o.effect.last&&(o.effect.last=k.prev),k.prev&&(k.prev.next=k.next),k.next&&(k.next.prev=k.prev),Bl(o,f,k),Bl(o,k,P),Ig(k,P,t),f=k,p=[],w=[],c=gg(f.next);continue}if(k!==c){if(u!==void 0&&u.has(k)){if(p.length<w.length){var A=w[0],j;f=A.prev;var H=p[0],te=p[p.length-1];for(j=0;j<p.length;j+=1)Ig(p[j],A,t);for(j=0;j<w.length;j+=1)u.delete(w[j]);Bl(o,H.prev,te.next),Bl(o,f,H),Bl(o,te,A),c=A,f=te,D-=1,p=[],w=[]}else u.delete(k),Ig(k,c,t),Bl(o,k.prev,k.next),Bl(o,k,f===null?o.effect.first:f.next),Bl(o,f,k),f=k;continue}for(p=[],w=[];c!==null&&c!==k;)(u??(u=new Set)).add(c),w.push(c),c=gg(c.next);if(c===null)continue}(k.f&Na)===0&&p.push(k),f=k,c=gg(k.next)}if(o.outrogroups!==null){for(const Lt of o.outrogroups)Lt.pending.size===0&&($S(o,Ny(Lt.done)),(me=o.outrogroups)==null||me.delete(Lt));o.outrogroups.size===0&&(o.outrogroups=null)}if(c!==null||u!==void 0){var J=[];if(u!==void 0)for(k of u)(k.f&xo)===0&&J.push(k);for(;c!==null;)(c.f&xo)===0&&c!==o.fallback&&J.push(c),c=gg(c.next);var le=J.length;if(le>0){var we=(i&iP)!==0&&r===0?t:null;if(s){for(D=0;D<le;D+=1)(gt=(ct=J[D].nodes)==null?void 0:ct.a)==null||gt.measure();for(D=0;D<le;D+=1)(Ne=(Tt=J[D].nodes)==null?void 0:Tt.a)==null||Ne.fix()}PH(o,J,we)}}s&&uc(()=>{var Lt,Re;if(g!==void 0)for(k of g)(Re=(Lt=k.nodes)==null?void 0:Lt.a)==null||Re.apply()})}function NH(o,e,t,i,n,s,r,a){var c=(r&I3)!==0?(r&T3)===0?cH(t,!1,!1):vu(t):null,u=(r&D3)!==0?vu(n):null;return{v:c,i:u,e:br(()=>(s(e,c??t,u??n,a),()=>{o.delete(i)}))}}function Ig(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Na)===0?e.nodes.start:t;i!==null;){var r=y_(i);if(s.before(i),i===n)return;i=r}}function Bl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function sc(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var c=o;V(()=>{var u=Ln;if(a!==(a=e()??"")){if(t){u.nodes=null,c.innerHTML=a,a!==""&&bu(Ra(c),c.lastChild);return}if(u.nodes!==null&&(EP(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?F3:n?H3:void 0,g=LP(i?"svg":n?"math":"template",f);g.innerHTML=a;var p=i||n?g:g.content;if(bu(Ra(p),p.lastChild),i||n)for(;Ra(p);)r.before(Ra(p));else r.before(p)}}})}function jP(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=jP(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function RH(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=jP(o))&&(i&&(i+=" "),i+=e);return i}function J_(o){return typeof o=="object"?RH(o):o??""}const jL=[...`
3
+ \r\f \v\uFEFF`];function AH(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||jL.includes(i[r-1]))&&(a===i.length||jL.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function $L(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 Dw(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function OH(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,c=[];i&&c.push(...Object.keys(i).map(Dw)),n&&c.push(...Object.keys(n).map(Dw));var u=0,f=-1;const x=o.length;for(var g=0;g<x;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===x-1){if(f!==-1){var w=Dw(o.substring(u,f).trim());if(!c.includes(w)){p!==";"&&g++;var m=o.substring(u,g).trim();t+=" "+m+";"}}u=g+1,f=-1}}}}return i&&(t+=$L(i)),n&&(t+=$L(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function Rt(o,e,t,i,n,s){var r=o[RS];if(r!==t||r===void 0){var a=AH(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[RS]=t}else if(s&&n!==s)for(var c in s){var u=!!s[c];(n==null||u!==!!n[c])&&o.classList.toggle(c,u)}return s}function Ew(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 Fo(o,e,t,i){var n=o[AS];if(n!==e){var s=OH(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[AS]=e}else i&&(Array.isArray(i)?(Ew(o,t==null?void 0:t[0],i[0]),Ew(o,t==null?void 0:t[1],i[1],"important")):Ew(o,t,i));return i}function $P(o,e,t=!1){if(o.multiple){if(e==null)return;if(!v0(e))return B3();for(var i of o.options)i.selected=e.includes(Gg(i));return}for(i of o.options){var n=Gg(i);if(uH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function FH(o){var e=new MutationObserver(()=>{$P(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),L0(()=>{e.disconnect()})}function Ho(o,e,t=e){var i=new WeakSet,n=!0;x0(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),Gg);else{var c=o.querySelector(r)??o.querySelector("option:not([disabled])");a=c&&Gg(c)}t(a),o.__value=a,Fi!==null&&i.add(Fi)}),I0(()=>{var s=e();if(o===document.activeElement){var r=Fi;if(i.has(r))return}if($P(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=Gg(a),t(s))}o.__value=s,n=!1}),FH(o)}function Gg(o){return"__value"in o?o.__value:o.value}const HH=Symbol("is custom element"),WH=Symbol("is html"),BH=p3?"progress":"PROGRESS";function UL(o,e){var t=P0(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==BH)||(o.value=e??"")}function Dg(o,e){var t=P0(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function Wi(o,e,t,i){var n=P0(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[g3]=t),t==null?o.removeAttribute(e):typeof t!="string"&&zH(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function P0(o){return o[Tm]??(o[Tm]={[HH]:o.nodeName.includes("-"),[WH]:o.namespaceURI===nP})}var qL=new Map;function zH(o){var e=o.getAttribute("is")||o.nodeName,t=qL.get(e);if(t)return t;qL.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=r3(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=JT(n)}return t}function Zt(o,e,t=e){var i=new WeakSet;x0(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=Tw(o)?Pw(s):s,t(s),Fi!==null&&i.add(Fi),await Om(),s!==(s=e())){var r=o.selectionStart,a=o.selectionEnd,c=o.value.length;if(o.value=s??"",a!==null){var u=o.value.length;r===a&&a===c&&u>c?(o.selectionStart=u,o.selectionEnd=u):(o.selectionStart=r,o.selectionEnd=Math.min(a,u))}}}),Rl(e)==null&&o.value&&(t(Tw(o)?Pw(o.value):o.value),Fi!==null&&i.add(Fi)),Hy(()=>{var n=e();if(o===document.activeElement){var s=Fi;if(i.has(s))return}Tw(o)&&n===Pw(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function Is(o,e,t=e){x0(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),Rl(e)==null&&t(o.checked),Hy(()=>{var i=e();o.checked=!!i})}function Tw(o){var e=o.type;return e==="number"||e==="range"}function Pw(o){return o===""?null:+o}var tc,Xh,i_,Cb,UP;const xb=class xb{constructor(e){nn(this,Cb);nn(this,tc,new WeakMap);nn(this,Xh);nn(this,i_);sn(this,i_,e)}observe(e,t){var i=re(this,tc).get(e)||new Set;return i.add(t),re(this,tc).set(e,i),Bn(this,Cb,UP).call(this).observe(e,re(this,i_)),()=>{var n=re(this,tc).get(e);n.delete(t),n.size===0&&(re(this,tc).delete(e),re(this,Xh).unobserve(e))}}};tc=new WeakMap,Xh=new WeakMap,i_=new WeakMap,Cb=new WeakSet,UP=function(){return re(this,Xh)??sn(this,Xh,new ResizeObserver(e=>{for(var t of e){xb.entries.set(t.target,t);for(var i of re(this,tc).get(t.target)||[])i(t)}}))},pn(xb,"entries",new WeakMap);let US=xb;var VH=new US({box:"border-box"});function jH(o,e,t){var i=VH.observe(o,()=>t(o[e]));I0(()=>(Rl(()=>t(o[e])),i))}function Mw(o,e){return o===e||(o==null?void 0:o[yd])===e}function Ds(o={},e,t,i){var n=io.r,s=Ln;return I0(()=>{var r,a;return Hy(()=>{r=a,a=[],Rl(()=>{Mw(t(...a),o)||(e(o,...a),r&&Mw(t(...r),o)&&e(null,...r))})}),()=>{let c=s;for(;c!==n&&c.parent!==null&&c.parent.f&NS;)c=c.parent;const u=()=>{a&&Mw(t(...a),o)&&e(null,...a)},f=c.teardown;c.teardown=()=>{u(),f==null||f()}}}),o}function Cf(o,e,t,i){var j;var n=!0,s=(t&N3)!==0,r=(t&R3)!==0,a=i,c=!0,u=void 0,f=()=>r&&n?(u??(u=bp(i)),d(u)):(c&&(c=!1,a=r?Rl(i):i),a);let g;if(s){var p=yd in o||f3 in o;g=((j=Hh(o,e))==null?void 0:j.set)??(p&&e in o?H=>o[e]=H:void 0)}var w,m=!1;s?[w,m]=q3(()=>o[e]):w=o[e],w===void 0&&i!==void 0&&(w=f(),g&&(S3(),g(w)));var x;if(x=()=>{var H=o[e];return H===void 0?f():(c=!0,H)},(t&M3)===0)return x;if(g){var k=o.$$legacy;return(function(H,te){return arguments.length>0?((!te||k||m)&&g(te?x():H),H):x()})}var D=!1,P=((t&P3)!==0?bp:S0)(()=>(D=!1,x()));s&&d(P);var A=Ln;return(function(H,te){if(arguments.length>0){const J=te?d(P):s?yi(H):H;return y(P,J),D=!0,a!==void 0&&(a=J),H}return Cl&&D||(A.f&Ir)!==0?P.v:d(P)})}function ao(o){io===null&&tP(),$n(()=>{const e=Rl(o);if(typeof e=="function")return e})}function Wy(o){io===null&&tP(),ao(()=>()=>Rl(o))}const $H="5";var wE;typeof window<"u"&&((wE=window.__svelte??(window.__svelte={})).v??(wE.v=new Set)).add($H);/*!-----------------------------------------------------------------------------
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 UH=Object.defineProperty,qH=Object.getOwnPropertyDescriptor,GH=Object.getOwnPropertyNames,KH=Object.prototype.hasOwnProperty,ZH=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of GH(e))!KH.call(o,n)&&n!==t&&UH(o,n,{get:()=>e[n],enumerable:!(i=qH(e,n))||i.enumerable});return o},XH=(o,e,t)=>(ZH(o,e,"default"),t),S_={};XH(S_,CE);var YH=class{constructor(e,t,i){this._onDidChange=new S_.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)}},JH={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},QH={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},qP=new YH("json",JH,QH),eW=()=>GP().then(o=>o.getWorker());S_.languages.json={jsonDefaults:qP,getWorker:eW};function GP(){return SE(()=>import("./jsonMode-CXWNuhmR.js"),__vite__mapDeps([0,1,2]))}S_.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});S_.languages.onLanguage("json",()=>{GP().then(o=>o.setupMode(qP))});/*!-----------------------------------------------------------------------------
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 tW=Object.defineProperty,iW=Object.getOwnPropertyDescriptor,nW=Object.getOwnPropertyNames,sW=Object.prototype.hasOwnProperty,oW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of nW(e))!sW.call(o,n)&&n!==t&&tW(o,n,{get:()=>e[n],enumerable:!(i=iW(e,n))||i.enumerable});return o},rW=(o,e,t)=>(oW(o,e,"default"),t),aW="5.4.5",xf={};rW(xf,CE);var KP=(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))(KP||{}),ZP=(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))(ZP||{}),XP=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(XP||{}),YP=(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))(YP||{}),JP=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(JP||{}),QP=class{constructor(o,e,t,i,n){this._onDidChange=new xf.Emitter,this._onDidExtraLibsChange=new xf.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)}},lW=aW,eM={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},tM=new QP({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},eM),iM=new QP({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},eM),cW=()=>By().then(o=>o.getTypeScriptWorker()),dW=()=>By().then(o=>o.getJavaScriptWorker());xf.languages.typescript={ModuleKind:KP,JsxEmit:ZP,NewLineKind:XP,ScriptTarget:YP,ModuleResolutionKind:JP,typescriptVersion:lW,typescriptDefaults:tM,javascriptDefaults:iM,getTypeScriptWorker:cW,getJavaScriptWorker:dW};function By(){return SE(()=>import("./tsMode-DAKcfE4c.js"),__vite__mapDeps([3,1,2]))}xf.languages.onLanguage("typescript",()=>By().then(o=>o.setupTypeScript(tM)));xf.languages.onLanguage("javascript",()=>By().then(o=>o.setupJavaScript(iM)));class uW extends _o{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:qt("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Ci.map,toggled:be.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:be.has("isInDiffEditor"),menu:{when:be.has("isInDiffEditor"),id:Nt.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(jn),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class nM extends _o{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:qt("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:be.has("isInDiffEditor")})}run(e,...t){const i=e.get(jn),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class sM extends _o{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:qt("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:be.has("isInDiffEditor")})}run(e,...t){const i=e.get(jn),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const C_=qt("diffEditor","Diff Editor");class hW extends ra{constructor(){super({id:"diffEditor.switchSide",title:qt("switchSide","Switch Side"),icon:Ci.arrowSwap,precondition:be.has("isInDiffEditor"),f1:!0,category:C_})}runEditorCommand(e,t,i){const n=qf(e);if(n instanceof n_){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class fW extends ra{constructor(){super({id:"diffEditor.exitCompareMove",title:qt("exitCompareMove","Exit Compare Move"),icon:Ci.close,precondition:O.comparingMovedCode,f1:!1,category:C_,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=qf(e);n instanceof n_&&n.exitCompareMove()}}class gW extends ra{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:qt("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Ci.fold,precondition:be.has("isInDiffEditor"),f1:!0,category:C_})}runEditorCommand(e,t,...i){const n=qf(e);n instanceof n_&&n.collapseAllUnchangedRegions()}}class pW extends ra{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:qt("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Ci.unfold,precondition:be.has("isInDiffEditor"),f1:!0,category:C_})}runEditorCommand(e,t,...i){const n=qf(e);n instanceof n_&&n.showAllUnchangedRegions()}}class qS extends _o{constructor(){super({id:"diffEditor.revert",title:qt("revert","Revert"),f1:!1,category:C_})}run(e,t){const i=_W(e,t.originalUri,t.modifiedUri);i instanceof n_&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const oM=qt("accessibleDiffViewer","Accessible Diff Viewer"),kb=class kb extends _o{constructor(){super({id:kb.id,title:qt("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:oM,precondition:be.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=qf(e);t==null||t.accessibleDiffViewerNext()}};kb.id="editor.action.accessibleDiffViewer.next";let wp=kb;const Lb=class Lb extends _o{constructor(){super({id:Lb.id,title:qt("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:oM,precondition:be.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=qf(e);t==null||t.accessibleDiffViewerPrev()}};Lb.id="editor.action.accessibleDiffViewer.prev";let gv=Lb;function _W(o,e,t){return o.get(os).listDiffEditors().find(s=>{var c,u;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((c=r.getModel())==null?void 0:c.uri.toString())===t.toString()&&a&&((u=a.getModel())==null?void 0:u.uri.toString())===e.toString()})||null}function qf(o){const t=o.get(os).listDiffEditors(),i=xE();if(i)for(const n of t){const s=n.getContainerDomNode();if(mW(s,i))return n}return null}function mW(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}In(uW);In(nM);In(sM);Dr.appendMenuItem(Nt.EditorTitle,{command:{id:new sM().desc.id,title:C("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:be.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:be.has("isInDiffEditor")},order:11,group:"1_diff",when:be.and(O.diffEditorRenderSideBySideInlineBreakpointReached,be.has("isInDiffEditor"))});Dr.appendMenuItem(Nt.EditorTitle,{command:{id:new nM().desc.id,title:C("showMoves","Show Moved Code Blocks"),icon:Ci.move,toggled:kA.create("config.diffEditor.experimental.showMoves",!0),precondition:be.has("isInDiffEditor")},order:10,group:"1_diff",when:be.has("isInDiffEditor")});In(qS);for(const o of[{icon:Ci.arrowRight,key:O.diffEditorInlineMode.toNegated()},{icon:Ci.discard,key:O.diffEditorInlineMode}])Dr.appendMenuItem(Nt.DiffEditorHunkToolbar,{command:{id:new qS().desc.id,title:C("revertHunk","Revert Block"),icon:o.icon},when:be.and(O.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Dr.appendMenuItem(Nt.DiffEditorSelectionToolbar,{command:{id:new qS().desc.id,title:C("revertSelection","Revert Selection"),icon:o.icon},when:be.and(O.diffEditorModifiedWritable,o.key),order:5,group:"primary"});In(hW);In(fW);In(gW);In(pW);Dr.appendMenuItem(Nt.EditorTitle,{command:{id:wp.id,title:C("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:be.has("isInDiffEditor")},order:10,group:"2_diff",when:be.and(O.accessibleDiffViewerVisible.negate(),be.has("isInDiffEditor"))});Hn.registerCommandAlias("editor.action.diffReview.next",wp.id);In(wp);Hn.registerCommandAlias("editor.action.diffReview.prev",gv.id);In(gv);var vW=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},bW=function(o,e){return function(t,i){e(t,i,o)}},GS;const zy=new rn("selectionAnchorSet",!1);var Dd;let Nc=(Dd=class{static get(e){return e.getContribution(GS.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=zy.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(vi.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Ys().appendText(C("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Er(C("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(vi.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()}},GS=Dd,Dd.ID="editor.contrib.selectionAnchorController",Dd);Nc=GS=vW([bW(1,mn)],Nc);class yW extends je{constructor(){super({id:"editor.action.setSelectionAnchor",label:C("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2080),weight:100}})}async run(e,t){var i;(i=Nc.get(t))==null||i.setSelectionAnchor()}}class wW extends je{constructor(){super({id:"editor.action.goToSelectionAnchor",label:C("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:zy})}async run(e,t){var i;(i=Nc.get(t))==null||i.goToSelectionAnchor()}}class SW extends je{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:C("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:zy,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2089),weight:100}})}async run(e,t){var i;(i=Nc.get(t))==null||i.selectFromAnchorToCursor()}}class CW extends je{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:C("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:zy,kbOpts:{kbExpr:O.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=Nc.get(t))==null||i.cancelSelectionAnchor()}}qi(Nc.ID,Nc,4);ue(yW);ue(wW);ue(SW);ue(CW);const xW=jt("editorOverviewRuler.bracketMatchForeground","#A0A0A0",C("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class kW extends je{constructor(){super({id:"editor.action.jumpToBracket",label:C("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=yu.get(t))==null||i.jumpToBracket()}}class LW extends je{constructor(){super({id:"editor.action.selectToBracket",label:C("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:qt("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=yu.get(t))==null||s.selectToBracket(n)}}class IW extends je{constructor(){super({id:"editor.action.removeBrackets",label:C("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=yu.get(t))==null||i.removeBrackets(this.id)}}class DW{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const Kl=class Kl extends ht{static get(e){return e.getContribution(Kl.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new ms(()=>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 c=e.bracketPairs.findNextBracket(n);c&&c.range&&(r=c.range.getStartPosition())}}return r?new vi(r.lineNumber,r.column,r.lineNumber,r.column):new vi(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,c=null;if(r){r.sort(U.compareRangesUsingStarts);const[u,f]=r;if(a=e?u.getStartPosition():u.getEndPosition(),c=e?f.getEndPosition():f.getStartPosition(),f.containsPosition(s)){const g=a;a=c,c=g}}a&&c&&i.push(new vi(a.lineNumber,a.column,c.lineNumber,c.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 w=e[g];w.isEmpty()&&(s[r++]=w.getStartPosition())}s.length>1&&s.sort(Xt.compare);const a=[];let c=0,u=0;const f=n.length;for(let g=0,p=s.length;g<p;g++){const w=s[g];for(;u<f&&n[u].position.isBefore(w);)u++;if(u<f&&n[u].position.equals(w))a[c++]=n[u];else{let m=t.bracketPairs.matchBracket(w,20),x=Kl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!m&&this._matchBrackets==="always"&&(m=t.bracketPairs.findEnclosingBrackets(w,20),x=Kl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[c++]=new DW(w,m,x)}}this._lastBracketsData=a,this._lastVersionId=i}};Kl.ID="editor.contrib.bracketMatchingController",Kl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=Ji.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:gs(xW),position:Oa.Center}}),Kl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=Ji.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let yu=Kl;qi(yu.ID,yu,1);ue(LW);ue(kW);ue(IW);Dr.appendMenuItem(Nt.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:C({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class EW{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 U(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new U(i,s,i,s),a)}else{const r=new U(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new U(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new vi(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new vi(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class rM extends je{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 EW(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class TW extends rM{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:C("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:O.writable})}}class PW extends rM{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:C("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:O.writable})}}ue(TW);ue(PW);class MW extends je{constructor(){super({id:"editor.action.transposeLetters",label:C("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:O.writable,kbOpts:{kbExpr:O.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,c=r.startColumn,u=i.getLineMaxColumn(a);if(a===1&&(c===1||c===2&&u===2))continue;const f=c===u?r.getPosition():vw.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=vw.leftPosition(i,f),p=vw.leftPosition(i,g),w=i.getValueInRange(U.fromPositions(p,g)),m=i.getValueInRange(U.fromPositions(g,f)),x=U.fromPositions(p,f);n.push(new s_(x,m+w))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}ue(MW);const Vy=(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 M0(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function NW(o,e,t){const i={id:Vy(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class aM{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 hl.some(this,([i,n])=>n.asFile())&&t.push("files"),cM(pv(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 pv(e)}}function pv(o){return o.toLowerCase()}function lM(o,e){return cM(pv(o),e.map(pv))}function cM(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 jy=Object.freeze({create:o=>kE(o.map(e=>e.toString())).join(`\r
14
+ `),split:o=>o.split(`\r
15
+ `),parse:o=>jy.split(o).filter(e=>!e.startsWith("#"))}),wa=class wa{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+wa.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new wa((this.value?[this.value,...e]:e).join(wa.sep))}};wa.sep=".",wa.None=new wa("@@none@@"),wa.Empty=new wa("");let Vn=wa;const GL={EDITORS:"CodeEditors",FILES:"CodeFiles"};class RW{}const AW={DragAndDropContribution:"workbench.contributions.dragAndDrop"};aa.add(AW.DragAndDropContribution,new RW);const sp=class sp{constructor(){}static getInstance(){return sp.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};sp.INSTANCE=new sp;let KS=sp;function dM(o){const e=new aM;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,M0(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,OW(n))}}return e}function OW(o){const e=o.path?En.parse(o.path):void 0;return NW(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const FW=Object.freeze([GL.EDITORS,GL.FILES,mS.RESOURCES,mS.INTERNAL_URI_LIST]);function uM(o,e=!1){const t=dM(o),i=t.get(mS.INTERNAL_URI_LIST);if(i)t.replace(Ms.uriList,i);else if(e||!t.has(Ms.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(En.file(a).toString()):n.push(En.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Ms.uriList,M0(jy.create(n)))}for(const n of FW)t.delete(n);return t}var N0=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},Sp=function(o,e){return function(t,i){e(t,i,o)}};class R0{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 op=class op extends R0{constructor(){super(...arguments),this.kind=op.kind,this.dropMimeTypes=[Ms.text],this.pasteMimeTypes=[Ms.text]}async getEdit(e,t){const i=e.get(Ms.text);if(!i||e.has(Ms.uriList))return;const n=await i.asString();return{handledMimeType:Ms.text,title:C("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};op.id="text",op.kind=new Vn("text.plain");let wu=op;class hM extends R0{constructor(){super(...arguments),this.kind=new Vn("uri.absolute"),this.dropMimeTypes=[Ms.uriList],this.pasteMimeTypes=[Ms.uriList]}async getEdit(e,t){const i=await fM(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:c})=>a.scheme===uo.file?a.fsPath:(n++,c)).join(" ");let r;return n>0?r=i.length>1?C("defaultDropProvider.uriList.uris","Insert Uris"):C("defaultDropProvider.uriList.uri","Insert Uri"):r=i.length>1?C("defaultDropProvider.uriList.paths","Insert Paths"):C("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Ms.uriList,insertText:s,title:r,kind:this.kind}}}let _v=class extends R0{constructor(e){super(),this._workspaceContextService=e,this.kind=new Vn("uri.relative"),this.dropMimeTypes=[Ms.uriList],this.pasteMimeTypes=[Ms.uriList]}async getEdit(e,t){const i=await fM(e);if(!i.length||t.isCancellationRequested)return;const n=vl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?LA(r.uri,s):void 0}));if(n.length)return{handledMimeType:Ms.uriList,insertText:n.join(" "),title:i.length>1?C("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):C("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};_v=N0([Sp(0,lf)],_v);class HW{constructor(){this.kind=new Vn("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Ms.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var c;if(n.triggerKind!==vS.PasteAs&&!((c=n.only)!=null&&c.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:C("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function fM(o){const e=o.get(Ms.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of jy.parse(t))try{i.push({uri:En.parse(n),originalText:n})}catch{}return i}let ZS=class extends ht{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new wu)),this._register(e.documentDropEditProvider.register("*",new hM)),this._register(e.documentDropEditProvider.register("*",new _v(t)))}};ZS=N0([Sp(0,Yt),Sp(1,lf)],ZS);let XS=class extends ht{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new wu)),this._register(e.documentPasteEditProvider.register("*",new hM)),this._register(e.documentPasteEditProvider.register("*",new _v(t))),this._register(e.documentPasteEditProvider.register("*",new HW))}};XS=N0([Sp(0,Yt),Sp(1,lf)],XS);const ur=class ur{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=ur._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(ur.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(ur.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(ur.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(ur.isVariableCharacter(i)||ur.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 ur._table[i]>"u"&&!ur.isDigitCharacter(i)&&!ur.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};ur._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let YS=ur;class Gf{constructor(){this._children=[]}appendChild(e){return e instanceof Co&&this._children[this._children.length-1]instanceof Co?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,c){for(const u of a)u.parent=c,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 x_)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let Co=class gM extends Gf{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new gM(this.value)}};class pM extends Gf{}class sr extends pM{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 Kf?this._children[0]:void 0}clone(){const e=new sr(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class Kf extends Gf{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Co&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new Kf;return this.options.forEach(e.appendChild,e),e}}class A0 extends Gf{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 Kr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Kr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new A0;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 Kr extends Gf{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 Kr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class Cp extends pM{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 Co(t)],!0):!1}clone(){const e=new Cp(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function KL(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class x_ extends Gf{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof sr&&(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 KL([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof sr&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Cp&&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 x_;return this._children=this.children.map(t=>t.clone()),e}walk(e){KL(this.children,e)}}class Su{constructor(){this._scanner=new YS,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 x_;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(c=>(c instanceof sr&&(c.isFinalTabstop?n.set(0,void 0):!n.has(c.index)&&c.children.length>0?n.set(c.index,c.children):s.push(c)),!0));const r=(c,u)=>{const f=n.get(c.index);if(!f)return;const g=new sr(c.index);g.transform=c.transform;for(const p of f){const w=p.clone();g.appendChild(w),w instanceof sr&&n.has(w.index)&&!u.has(w.index)&&(u.add(w.index),r(w,u),u.delete(w.index))}t.replace(c,[g])},a=new Set;for(const c of s)r(c,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 sr(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 Co(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 sr(Number(t)):new Cp(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 sr(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Co("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new Kf;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 Co(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 Cp(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Co("${"+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 A0;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 Co(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 Kr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Kr(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 Kr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Kr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Kr(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 Kr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Kr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new Co(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function _M(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 IA(o,{range:s,text:typeof t.insertText=="string"?Su.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function mM(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 c of o)if(c!==r&&e(a,c)){let u=t.get(r);u||(u=[],t.set(r,u)),u.push(c)}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 c=[];const u=t.get(a);return u&&(n.push(a),c=s(u),n.pop()),i.add(a),[...c,a,...s(r.slice(1))]}return s(Array.from(o))}var WW=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},BW=function(o,e){return function(t,i){e(t,i,o)}};const zW=Ji.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:LE,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Ib=class Ib extends ht{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=Vt(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=Vt("span.icon");this.domNode.append(t),t.classList.add(...yn.asClassNameArray(Ci.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(_n(this.domNode,Kn.CLICK,n=>{this.delegate.cancel()}))}getId(){return Ib.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)}};Ib.baseId="editor.widget.inlineProgressWidget";let JS=Ib,mv=class extends ht{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new $o),this._currentWidget=this._register(new $o),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=lp(()=>{const a=U.fromPositions(e);this._currentDecorations.set([{range:a,options:zW}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(JS,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()}};mv=WW([BW(2,Ri)],mv);var VW=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},ZL=function(o,e){return function(t,i){e(t,i,o)}},Fm,fc;let ko=(fc=class{static get(e){return e.getContribution(Fm.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new $o,this._messageListeners=new dt,this._mouseOverMessage=!1,this._editor=e,this._visible=Fm.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){Er(km(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=km(e)?DA(e,{actionHandler:{callback:n=>{this.closeMessage(),EA(this._openerService,n,km(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new XL(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(_s.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&TA(xE(),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(_n(this._messageWidget.value.getDomNode(),Kn.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(_n(this._messageWidget.value.getDomNode(),Kn.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 U(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(XL.fadeOut(this._messageWidget.value))}},Fm=fc,fc.ID="editor.contrib.messageController",fc.MESSAGE_VISIBLE=new rn("messageVisible",!1,C("messageVisible","Whether the editor is currently showing an inline message")),fc);ko=Fm=VW([ZL(1,mn),ZL(2,la)],ko);const jW=mo.bindToContribution(ko.get);ii(new jW({id:"leaveEditorMessage",precondition:ko.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let XL=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)}};qi(ko.ID,ko,4);function Nw(o,e){return e&&(o.stack||o.stacktrace)?C("stackTrace.format","{0}: {1}",JL(o),YL(o.stack)||YL(o.stacktrace)):JL(o)}function YL(o){return Array.isArray(o)?o.join(`
16
+ `):o}function JL(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"?C("nodeExceptionMessage","A system error occurred ({0})",o.message):o.message||C("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function vv(o=null,e=!1){if(!o)return C("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=vl(o),i=vv(t[0],e);return t.length>1?C("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(IE(o))return o;if(o.detail){const t=o.detail;if(t.error)return Nw(t.error,e);if(t.exception)return Nw(t.exception,e)}return o.stack?Nw(o,e):o.message?o.message:C("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var vM=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)}},QS,Ed;let eC=(Ed=class extends ht{constructor(e,t,i,n,s,r,a,c,u,f){super(),this.typeId=e,this.editor=t,this.showCommand=n,this.range=s,this.edits=r,this.onSelectNewEdit=a,this._contextMenuService=c,this._keybindingService=f,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(u),this.visibleContext.set(!0),this._register(zn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(zn((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(g=>{s.containsPosition(g.position)||this.dispose()})),this._register(_s.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=Vt(".post-edit-widget"),this.button=this._register(new PA(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(_n(this.domNode,Kn.CLICK,()=>this.showSelector()))}getId(){return QS.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=fo(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>MA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},QS=Ed,Ed.baseId="editor.widget.postEditWidget",Ed);eC=QS=vM([Bh(7,Wf),Bh(8,mn),Bh(9,us)],eC);let bv=class extends ht{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 $o),this._register(_s.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 c=async k=>{const D=this._editor.getModel();D&&(await D.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:k,allEdits:t.allEdits},i,n,s))},u=(k,D)=>{Hc(k)||(this._notificationService.error(D),i&&this.show(e[0],t,c))};let f;try{f=await n(a,s)}catch(k){return u(k,C("resolveError",`Error resolving edit '{0}':
17
+ {1}`,a.title,vv(k)))}if(s.isCancellationRequested)return;const g=_M(r.uri,e,f),p=e[0],w=r.deltaDecorations([],[{range:p,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let m,x;try{m=await this._bulkEditService.apply(g,{editor:this._editor,token:s}),x=r.getDecorationRange(w[0])}catch(k){return u(k,C("applyError",`Error applying edit '{0}':
18
+ {1}`,a.title,vv(k)))}finally{r.deltaDecorations(w,[])}s.isCancellationRequested||i&&m.isApplied&&t.allEdits.length>1&&this.show(x??p,t,c)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(eC,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()}};bv=vM([Bh(4,Ri),Bh(5,fy),Bh(6,oo)],bv);var $W=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},Qu=function(o,e){return function(t,i){e(t,i,o)}},ed;const bM="editor.changePasteType",O0=new rn("pasteWidgetVisible",!1,C("pasteWidgetVisible","Whether the paste widget is showing")),Rw="application/vnd.code.copyMetadata";var Td;let xl=(Td=class extends ht{static get(e){return e.getContribution(ed.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 c=e.getContainerDomNode();this._register(_n(c,"copy",u=>this.handleCopy(u))),this._register(_n(c,"cut",u=>this.handleCopy(u))),this._register(_n(c,"paste",u=>this.handlePaste(u),!0)),this._pasteProgressManager=this._register(new mv("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(bv,"pasteIntoEditor",e,O0,{id:bM,label:C("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},jx().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 x,k,D,P;if(!this._editor.hasTextFocus()||((k=(x=this._clipboardService).clearInternalState)==null||k.call(x),!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 U(s[0].startLineNumber,1,s[0].startLineNumber,1+t.getLineLength(s[0].startLineNumber))]}const a=(D=this._editor._getViewModel())==null?void 0:D.getPlainTextToCopy(i,n,gy),u={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:r,mode:null},f=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(A=>!!A.prepareDocumentPaste);if(!f.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:u});return}const g=dM(e.clipboardData),p=f.flatMap(A=>A.copyMimeTypes??[]),w=Vy();this.setCopyMetadata(e.clipboardData,{id:w,providerCopyMimeTypes:p,defaultPastePayload:u});const m=Es(async A=>{const j=vl(await Promise.all(f.map(async H=>{try{return await H.prepareDocumentPaste(t,s,g,A)}catch(te){console.error(te);return}})));j.reverse();for(const H of j)for(const[te,J]of H)g.replace(te,J);return g});(P=ed._currentCopyOperation)==null||P.dataTransferPromise.cancel(),ed._currentCopyOperation={handle:w,dataTransferPromise:m}}async handlePaste(e){var c,u,f;if(!e.clipboardData||!this._editor.hasTextFocus())return;(c=ko.get(this._editor))==null||c.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=uM(e.clipboardData);s.delete(Rw);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],Ms.uriList],a=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(g=>{var w,m;const p=(w=this._pasteAsActionContext)==null?void 0:w.preferred;return p&&g.providedPasteEditKinds&&!this.providerMatchesPreference(g,p)?!1:(m=g.pasteMimeTypes)==null?void 0:m.some(x=>lM(x,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=ko.get(this._editor))==null||i.showMessage(C("pasteAsError","No paste edits for '{0}' found",t instanceof Vn?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new cf(r,3,void 0),c=Es(async u=>{const f=this._editor;if(!f.hasModel())return;const g=f.getModel(),p=new dt,w=p.add(new Ts(u));p.add(a.token.onCancellationRequested(()=>w.cancel()));const m=w.token;try{if(await this.mergeInDataFromCopy(i,n,m),m.isCancellationRequested)return;const x=e.filter(P=>this.isSupportedPasteProvider(P,i));if(!x.length||x.length===1&&x[0]instanceof wu)return this.applyDefaultPasteHandler(i,n,m,s);const k={triggerKind:vS.Automatic},D=await this.getPasteEdits(x,i,g,t,k,m);if(p.add(D),m.isCancellationRequested)return;if(D.edits.length===1&&D.edits[0].provider instanceof wu)return this.applyDefaultPasteHandler(i,n,m,s);if(D.edits.length){const P=f.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:D.edits},P,(A,j)=>new Promise((H,te)=>{(async()=>{var J,le;try{const we=(le=(J=A.provider).resolveDocumentPasteEdit)==null?void 0:le.call(J,A,j),Be=new py,ce=we&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),C("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([Be.p,we]),{cancel:()=>(Be.cancel(),te(new _y))},0);return ce&&(A.additionalEdit=ce.additionalEdit),H(A)}catch(we){return te(we)}})()}),m)}await this.applyDefaultPasteHandler(i,n,m,s)}finally{p.dispose(),this._currentPasteOperation===c&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),C("pasteIntoEditorProgress","Running paste handlers. Click to cancel and do basic paste"),c,{cancel:async()=>{try{if(c.cancel(),a.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(i,n,a.token,s)}finally{a.dispose()}}}).then(()=>{a.dispose()}),this._currentPasteOperation=c}showPasteAsPick(e,t,i,n,s){const r=Es(async a=>{const c=this._editor;if(!c.hasModel())return;const u=c.getModel(),f=new dt,g=f.add(new cf(c,3,void 0,a));try{if(await this.mergeInDataFromCopy(n,s,g.token),g.token.isCancellationRequested)return;let p=t.filter(D=>this.isSupportedPasteProvider(D,n,e));e&&(p=p.filter(D=>this.providerMatchesPreference(D,e)));const w={triggerKind:vS.PasteAs,only:e&&e instanceof Vn?e:void 0};let m=f.add(await this.getPasteEdits(p,n,u,i,w,g.token));if(g.token.isCancellationRequested)return;if(e&&(m={edits:m.edits.filter(D=>e instanceof Vn?e.contains(D.kind):e.providerId===D.provider.id),dispose:m.dispose}),!m.edits.length){w.only&&this.showPasteAsNoEditMessage(i,w.only);return}let x;if(e)x=m.edits.at(0);else{const D=await this._quickInputService.pick(m.edits.map(P=>{var A;return{label:P.title,description:(A=P.kind)==null?void 0:A.value,edit:P}}),{placeHolder:C("pasteAsPickerPlaceholder","Select Paste Action")});x=D==null?void 0:D.edit}if(!x)return;const k=_M(u.uri,i,x);await this._bulkEditService.apply(k,{editor:this._editor})}finally{f.dispose(),this._currentPasteOperation===r&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:C("pasteAsProgress","Running paste handlers")},()=>r)}setCopyMetadata(e,t){e.setData(Rw,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(Rw);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=NA.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=ed._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await ed._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(Ms.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(Ms.uriList,M0(jy.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new dt,c=await o_(Promise.all(e.map(async f=>{var g,p;try{const w=await((g=f.provideDocumentPasteEdits)==null?void 0:g.call(f,i,n,t,s,r));return w&&a.add(w),(p=w==null?void 0:w.edits)==null?void 0:p.map(m=>({...m,provider:f}))}catch(w){Hc(w)||console.error(w);return}})),r),u=vl(c??[]).flat().filter(f=>!s.only||s.only.contains(f.kind));return{edits:mM(u),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(Ms.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 Vn?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},ed=Td,Td.ID="editor.contrib.copyPasteActionController",Td);xl=ed=$W([Qu(1,Ri),Qu(2,fy),Qu(3,Bf),Qu(4,Yt),Qu(5,El),Qu(6,RA)],xl);const Cu="9_cutcopypaste",UW=zf||document.queryCommandSupported("cut"),yM=zf||document.queryCommandSupported("copy"),qW=typeof navigator.clipboard>"u"||AA?document.queryCommandSupported("paste"):!0;function F0(o){return o.register(),o}const GW=UW?F0(new $x({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:zf?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Nt.MenubarEditMenu,group:"2_ccp",title:C({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:Nt.EditorContext,group:Cu,title:C("actions.clipboard.cutLabel","Cut"),when:O.writable,order:1},{menuId:Nt.CommandPalette,group:"",title:C("actions.clipboard.cutLabel","Cut"),order:1},{menuId:Nt.SimpleEditorContext,group:Cu,title:C("actions.clipboard.cutLabel","Cut"),when:O.writable,order:1}]})):void 0,KW=yM?F0(new $x({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:zf?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Nt.MenubarEditMenu,group:"2_ccp",title:C({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:Nt.EditorContext,group:Cu,title:C("actions.clipboard.copyLabel","Copy"),order:2},{menuId:Nt.CommandPalette,group:"",title:C("actions.clipboard.copyLabel","Copy"),order:1},{menuId:Nt.SimpleEditorContext,group:Cu,title:C("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;Dr.appendMenuItem(Nt.MenubarEditMenu,{submenu:Nt.MenubarCopy,title:qt("copy as","Copy As"),group:"2_ccp",order:3});Dr.appendMenuItem(Nt.EditorContext,{submenu:Nt.EditorContextCopy,title:qt("copy as","Copy As"),group:Cu,order:3});Dr.appendMenuItem(Nt.EditorContext,{submenu:Nt.EditorContextShare,title:qt("share","Share"),group:"11_share",order:-1,when:be.and(be.notEquals("resourceScheme","output"),O.editorTextFocus)});Dr.appendMenuItem(Nt.ExplorerContext,{submenu:Nt.ExplorerContextShare,title:qt("share","Share"),group:"11_share",order:-1});const Aw=qW?F0(new $x({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:zf?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Nt.MenubarEditMenu,group:"2_ccp",title:C({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:Nt.EditorContext,group:Cu,title:C("actions.clipboard.pasteLabel","Paste"),when:O.writable,order:4},{menuId:Nt.CommandPalette,group:"",title:C("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:Nt.SimpleEditorContext,group:Cu,title:C("actions.clipboard.pasteLabel","Paste"),when:O.writable,order:4}]})):void 0;class ZW extends je{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:C("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:O.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(tL.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),tL.forceCopyWithSyntaxHighlighting=!1)}}function wM(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(os).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)=>(jx().execCommand(e),!0)))}wM(GW,"cut");wM(KW,"copy");Aw&&(Aw.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(os),i=o.get(Bf),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=xl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():OA?(async()=>{const a=await i.readText();if(a!==""){const c=FA.INSTANCE.get(a);let u=!1,f=null,g=null;c&&(u=n.getOption(37)&&!!c.isFromEmptySelection,f=typeof c.multicursorText<"u"?c.multicursorText:null,g=c.mode),n.trigger("keyboard","paste",{text:a,pasteOnNewLine:u,multicursorText:f,mode:g})}})():!0:!1}),Aw.addImplementation(0,"generic-dom",(o,e)=>(jx().execCommand("paste"),!0)));yM&&ue(ZW);const On=new class{constructor(){this.QuickFix=new Vn("quickfix"),this.Refactor=new Vn("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 Vn("notebook"),this.Source=new Vn("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var Eo;(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"})(Eo||(Eo={}));function XW(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>SM(e,t,o.include))||!o.includeSourceActions&&On.Source.contains(e))}function YW(o,e){const t=e.kind?new Vn(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>SM(t,i,o.include))||!o.includeSourceActions&&t&&On.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function SM(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class Ta{static fromUser(e,t){return!e||typeof e!="object"?new Ta(t.kind,t.apply,!1):new Ta(Ta.getKindFromUser(e,t.kind),Ta.getApplyFromUser(e,t.apply),Ta.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 Vn(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 JW{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){ss(n)}i&&(this.action.edit=i.edit)}return this}}const CM="editor.action.codeAction",H0="editor.action.quickFix",xM="editor.action.autoFix",kM="editor.action.refactor",LM="editor.action.sourceAction",tC="editor.action.organizeImports",iC="editor.action.fixAll";class Kg extends ht{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:zo(e.diagnostics)?zo(t.diagnostics)?Kg.codeActionsPreferredComparator(e,t):-1:zo(t.diagnostics)?1:Kg.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(Kg.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&On.QuickFix.contains(new Vn(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 QL={actions:[],documentation:void 0};async function kh(o,e,t,i,n,s){var x;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],On.Notebook]},c={only:(x=r.include)==null?void 0:x.value,trigger:i.type},u=new HA(e,s),f=i.type===2,g=QW(o,e,f?a:r),p=new dt,w=g.map(async k=>{try{n.report(k);const D=await k.provideCodeActions(e,t,c,u.token);if(D&&p.add(D),u.token.isCancellationRequested)return QL;const P=((D==null?void 0:D.actions)||[]).filter(j=>j&&YW(r,j)),A=tB(k,P,r.include);return{actions:P.map(j=>new JW(j,k)),documentation:A}}catch(D){if(Hc(D))throw D;return ss(D),QL}}),m=o.onDidChange(()=>{const k=o.all(e);Ba(k,g)||u.cancel()});try{const k=await Promise.all(w),D=k.map(A=>A.actions).flat(),P=[...vl(k.map(A=>A.documentation)),...eB(o,e,i,D)];return new Kg(D,P,p)}finally{m.dispose(),u.dispose()}}function QW(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>XW(t,new Vn(n))):!0)}function*eB(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(c=>c.action)))}function tB(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new Vn(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 Vn(n.kind)))return s.command}}var ud;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(ud||(ud={}));async function iB(o,e,t,i,n=zi.None){var u;const s=o.get(fy),r=o.get(Cs),a=o.get(ca),c=o.get(oo);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!==ud.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=nB(f);c.error(typeof g=="string"?g:C("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function nB(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}Hn.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof En))throw fl();const{codeActionProvider:s}=o.get(Yt),r=o.get(ro).getModel(e);if(!r)throw fl();const a=vi.isISelection(t)?vi.liftSelection(t):U.isIRange(t)?r.validateRange(t):void 0;if(!a)throw fl();const c=typeof i=="string"?new Vn(i):void 0,u=await kh(s,r,a,{type:1,triggerAction:Eo.Default,filter:{includeSourceActions:!0,include:c}},ll.None,zi.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(zi.None));try{return await Promise.all(f),u.validActions.map(p=>p.action)}finally{setTimeout(()=>u.dispose(),100)}});var sB=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},oB=function(o,e){return function(t,i){e(t,i,o)}},nC,Pd;let sC=(Pd=class{constructor(e){this.keybindingService=e}getResolver(){const e=new Ux(()=>this.keybindingService.getKeybindings().filter(t=>nC.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===tC?i={kind:On.SourceOrganizeImports.value}:t.command===iC&&(i={kind:On.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...Ta.fromUser(i,{kind:Vn.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 Vn(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)}},nC=Pd,Pd.codeActionCommands=[kM,CM,LM,tC,iC],Pd);sC=nC=sB([oB(0,us)],sC);jt("symbolIcon.arrayForeground",vs,C("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.booleanForeground",vs,C("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},C("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.colorForeground",vs,C("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.constantForeground",vs,C("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},C("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},C("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},C("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},C("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},C("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.fileForeground",vs,C("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.folderForeground",vs,C("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},C("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},C("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.keyForeground",vs,C("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.keywordForeground",vs,C("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},C("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.moduleForeground",vs,C("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.namespaceForeground",vs,C("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.nullForeground",vs,C("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.numberForeground",vs,C("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.objectForeground",vs,C("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.operatorForeground",vs,C("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.packageForeground",vs,C("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.propertyForeground",vs,C("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.referenceForeground",vs,C("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.snippetForeground",vs,C("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.stringForeground",vs,C("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.structForeground",vs,C("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.textForeground",vs,C("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.typeParameterForeground",vs,C("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.unitForeground",vs,C("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},C("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const IM=Object.freeze({kind:Vn.Empty,title:C("codeAction.widget.id.more","More Actions...")}),rB=Object.freeze([{kind:On.QuickFix,title:C("codeAction.widget.id.quickfix","Quick Fix")},{kind:On.RefactorExtract,title:C("codeAction.widget.id.extract","Extract"),icon:Ci.wrench},{kind:On.RefactorInline,title:C("codeAction.widget.id.inline","Inline"),icon:Ci.wrench},{kind:On.RefactorRewrite,title:C("codeAction.widget.id.convert","Rewrite"),icon:Ci.wrench},{kind:On.RefactorMove,title:C("codeAction.widget.id.move","Move"),icon:Ci.wrench},{kind:On.SurroundWith,title:C("codeAction.widget.id.surround","Surround With"),icon:Ci.surroundWith},{kind:On.Source,title:C("codeAction.widget.id.source","Source Action"),icon:Ci.symbolFile},IM]);function aB(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:IM,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=rB.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new Vn(s.action.kind):Vn.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:Ci.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var lB=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},cB=function(o,e){return function(t,i){e(t,i,o)}},ph;const eI=ts("gutter-lightbulb",Ci.lightBulb,C("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),tI=ts("gutter-lightbulb-auto-fix",Ci.lightbulbAutofix,C("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),iI=ts("gutter-lightbulb-sparkle",Ci.lightbulbSparkle,C("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),nI=ts("gutter-lightbulb-aifix-auto-fix",Ci.lightbulbSparkleAutofix,C("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.")),sI=ts("gutter-lightbulb-sparkle-filled",Ci.sparkleFilled,C("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 $r;(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})($r||($r={}));var dl;let xp=(dl=class extends ht{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new Bi),this.onClick=this._onClick.event,this._state=$r.Hidden,this._gutterState=$r.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+eI.id,"codicon-"+nI.id,"codicon-"+tI.id,"codicon-"+iI.id,"codicon-"+sI.id],this.gutterDecoration=ph.GUTTER_DECORATION,this._domNode=Vt("div.lightBulbWidget"),this._domNode.role="listbox",this._register(DE.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(WA(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=fo(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(_n(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(_s.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(xM))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(H0))==null?void 0:n.getLabel())??void 0,this._updateLightBulbTitleAndIcon()})),this._register(this._editor.onMouseDown(async i=>{if(!i.target.element||!this.lightbulbClasses.some(c=>i.target.element&&i.target.element.classList.contains(c))||this.gutterState.type!==1)return;this._editor.focus();const{top:n,height:s}=fo(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:c}=r.validatePosition(i),u=r.getOptions().tabSize,f=this._editor.getOptions().get(50),g=r.getLineContent(a),p=qx(g,u),w=f.spaceWidth*p>22,m=H=>H>2&&this._editor.getTopForLineNumber(H)===this._editor.getTopForLineNumber(H-1),x=this._editor.getLineDecorations(a);let k=!1;if(x)for(const H of x){const te=H.options.glyphMarginClassName;if(te&&!this.lightbulbClasses.some(J=>te.includes(J))){k=!0;break}}let D=a,P=1;if(!w){const H=te=>{const J=r.getLineContent(te);return/^\s*$|^\s+/.test(J)||J.length<=P};if(a>1&&!m(a-1)){const te=r.getLineCount(),J=a===te,le=a>1&&H(a-1),we=!J&&H(a+1),Be=H(a),ce=!we&&!le;if(!we&&!le&&!k)return this.gutterState=new $r.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:ph._posPref}),this.renderGutterLightbub(),this.hide();le||J||le&&!Be?D-=1:(we||ce&&Be)&&(D+=1)}else if(a===1&&(a===r.getLineCount()||!H(a+1)&&!H(a)))if(this.gutterState=new $r.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:ph._posPref}),k)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(a<r.getLineCount()&&!m(a+1))D+=1;else if(c*f.spaceWidth<22)return this.hide();P=/^\S\s*$/.test(r.getLineContent(D))?2:1}this.state=new $r.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:ph._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const A=e.validActions,j=e.validActions[0].action.kind;if(A.length!==1||!j){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==$r.Hidden&&(this.state=$r.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==$r.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=$r.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=Ci.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=Ci.lightbulbSparkleAutofix:e=Ci.lightbulbAutofix:this.state.actions.hasAIFix?e=Ci.lightbulbSparkle:e=Ci.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=yn.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=sI,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=nI:e=tI:this.gutterState.actions.hasAIFix?e=iI:e=eI,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=Ji.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:yn.asClassName(e),glyphMargin:{position:Jm.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 U(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 U(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=C("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=C("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=C("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=C("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}},ph=dl,dl.GUTTER_DECORATION=Ji.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:yn.asClassName(Ci.lightBulb),glyphMargin:{position:Jm.Left},stickiness:1}),dl.ID="editor.contrib.lightbulbWidget",dl._posPref=[0],dl);xp=ph=lB([cB(1,us)],xp);var DM=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},oC=function(o,e){return function(t,i){e(t,i,o)}};const EM="acceptSelectedCodeAction",TM="previewSelectedCodeAction";class dB{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 rC=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 Gx(e,Kx);return{container:e,icon:t,text:i,keybinding:n}}renderElement(e,t,i){var r,a,c;if((r=e.group)!=null&&r.icon?(i.icon.className=yn.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=md(e.group.icon.color.id))):(i.icon.className=yn.asClassName(Ci.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=PM(e.label),i.keybinding.set(e.keybinding),BA(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(EM))==null?void 0:a.getLabel(),s=(c=this._keybindingService.lookupKeybinding(TM))==null?void 0:c.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=C({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=C({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",n):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};rC=DM([oC(1,us)],rC);class uB extends UIEvent{constructor(){super("acceptSelectedAction")}}class oI extends UIEvent{constructor(){super("previewSelectedAction")}}function hB(o){if(o.kind==="action")return o.label}let aC=class extends ht{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 Ts),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const a={getHeight:c=>c.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:c=>c.kind};this._list=this._register(new Zx(e,this.domNode,a,[new rC(t,this._keybindingService),new dB],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:hB},accessibilityProvider:{getAriaLabel:c=>{if(c.kind==="action"){let u=c.label?PM(c==null?void 0:c.label):"";return c.disabled&&(u=C({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",u,c.disabled)),u}return null},getWidgetAriaLabel:()=>C({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:c=>c.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(zA),this._register(this._list.onMouseClick(c=>this.onListClick(c))),this._register(this._list.onMouseOver(c=>this.onListHover(c))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(c=>this.onListSelection(c))),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(c=>c.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 c=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(...c,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 oI:new uB;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 oI):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([])}};aC=DM([oC(4,my),oC(5,us)],aC);function PM(o){return o.replace(/\r\n|\r|\n/g," ")}var fB=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},Ow=function(o,e){return function(t,i){e(t,i,o)}};jt("actionBar.toggledBackground",Xx,C("actionBar.toggledBackground","Background color for toggled action items in action bar."));const xu={Visible:new rn("codeActionMenuVisible",!1,C("codeActionMenuVisible","Whether the action widget list is visible"))},Hu=Tl("actionWidgetService");let ku=class extends ht{get isVisible(){return xu.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new $o)}show(e,t,i,n,s,r,a){const c=xu.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance(aC,e,t,i,n);this._contextViewService.showContextView({getAnchor:()=>s,render:f=>(c.set(!0),this._renderWidget(f,u,a??[])),onHide:f=>{c.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 w;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 dt,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(_n(a,Kn.MOUSE_DOWN,m=>m.stopPropagation()));const c=document.createElement("div"),u=e.appendChild(c);u.classList.add("context-view-pointerBlock"),s.add(_n(u,Kn.POINTER_MOVE,()=>u.remove())),s.add(_n(u,Kn.MOUSE_DOWN,()=>u.remove()));let f=0;if(i.length){const m=this._createActionBar(".action-widget-action-bar",i);m&&(n.appendChild(m.getContainer().parentElement),s.add(m),f=m.getContainer().offsetWidth)}const g=(w=this._list.value)==null?void 0:w.layout(f);n.style.width=`${g}px`;const p=s.add(df(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=Vt(e),n=new cp(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};ku=fB([Ow(0,my),Ow(1,mn),Ow(2,Ri)],ku);Pl(Hu,ku,1);const k_=1100;In(class extends _o{constructor(){super({id:"hideCodeActionWidget",title:qt("hideCodeActionWidget.title","Hide action widget"),precondition:xu.Visible,keybinding:{weight:k_,primary:9,secondary:[1033]}})}run(o){o.get(Hu).hide(!0)}});In(class extends _o{constructor(){super({id:"selectPrevCodeAction",title:qt("selectPrevCodeAction.title","Select previous action"),precondition:xu.Visible,keybinding:{weight:k_,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(Hu);e instanceof ku&&e.focusPrevious()}});In(class extends _o{constructor(){super({id:"selectNextCodeAction",title:qt("selectNextCodeAction.title","Select next action"),precondition:xu.Visible,keybinding:{weight:k_,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(Hu);e instanceof ku&&e.focusNext()}});In(class extends _o{constructor(){super({id:EM,title:qt("acceptSelected.title","Accept selected action"),precondition:xu.Visible,keybinding:{weight:k_,primary:3,secondary:[2137]}})}run(o){const e=o.get(Hu);e instanceof ku&&e.acceptSelected()}});In(class extends _o{constructor(){super({id:TM,title:qt("previewSelected.title","Preview selected action"),precondition:xu.Visible,keybinding:{weight:k_,primary:2051}})}run(o){const e=o.get(Hu);e instanceof ku&&e.acceptSelected(!0)}});const MM=new rn("supportedCodeAction",""),rI="_typescript.applyFixAllCodeAction";class gB extends ht{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new r_),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=>Qm(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Eo.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!==bw.Off){{if(i===bw.On)return t;if(i===bw.OnCode){if(!t.isEmpty())return t;const s=this._editor.getModel(),{lineNumber:r,column:a}=t.getPosition(),c=s.getLineContent(r);if(c.length===0)return;if(a===1){if(/\s/.test(c[0]))return}else if(a===s.getLineMaxColumn(r)){if(/\s/.test(c[c.length-1]))return}else if(/\s/.test(c[a-2])&&/\s/.test(c[a-1]))return}}return t}}}var sd;(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(Hc(r))return NM;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(sd||(sd={}));const NM=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class pB extends ht{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 $o),this._state=sd.Empty,this._onDidChangeState=this._register(new Bi),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=MM.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(c=>{c.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(sd.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(sd.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 gB(this._editor,this._markerService,i=>{var c;if(!i){this.setState(sd.Empty);return}const n=i.selection.getStartPosition(),s=Es(async u=>{var f,g,p,w,m,x,k,D,P,A;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===Eo.QuickFix||(g=(f=i.trigger.filter)==null?void 0:f.include)!=null&&g.contains(On.QuickFix))){const j=await kh(this._registry,e,i.selection,i.trigger,ll.None,u),H=[...j.allActions];if(u.isCancellationRequested)return NM;const te=(p=j.validActions)==null?void 0:p.some(le=>le.action.kind?On.QuickFix.contains(new Vn(le.action.kind)):!1),J=this._markerService.read({resource:e.uri});if(te){for(const le of j.validActions)(m=(w=le.action.command)==null?void 0:w.arguments)!=null&&m.some(we=>typeof we=="string"&&we.includes(rI))&&(le.action.diagnostics=[...J.filter(we=>we.relatedInformation)]);return{validActions:j.validActions,allActions:H,documentation:j.documentation,hasAutoFix:j.hasAutoFix,hasAIFix:j.hasAIFix,allAIFixes:j.allAIFixes,dispose:()=>{j.dispose()}}}else if(!te&&J.length>0){const le=i.selection.getPosition();let we=le,Be=Number.MAX_VALUE;const ce=[...j.validActions];for(const at of J){const me=at.endColumn,ct=at.endLineNumber,gt=at.startLineNumber;if(ct===le.lineNumber||gt===le.lineNumber){we=new Xt(ct,me);const Tt={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(x=i.trigger.filter)!=null&&x.include?(k=i.trigger.filter)==null?void 0:k.include:On.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((D=i.trigger.context)==null?void 0:D.notAvailableMessage)||"",position:we}},Ne=new vi(we.lineNumber,we.column,we.lineNumber,we.column),Lt=await kh(this._registry,e,Ne,Tt,ll.None,u);if(Lt.validActions.length!==0){for(const Re of Lt.validActions)(A=(P=Re.action.command)==null?void 0:P.arguments)!=null&&A.some(ke=>typeof ke=="string"&&ke.includes(rI))&&(Re.action.diagnostics=[...J.filter(ke=>ke.relatedInformation)]);j.allActions.length===0&&H.push(...Lt.allActions),Math.abs(le.column-me)<Be?ce.unshift(...Lt.validActions):ce.push(...Lt.validActions)}Be=Math.abs(le.column-me)}}const st=ce.filter((at,me,ct)=>ct.findIndex(gt=>gt.action.title===at.action.title)===me);return st.sort((at,me)=>at.action.isPreferred&&!me.action.isPreferred?-1:!at.action.isPreferred&&me.action.isPreferred||at.action.isAI&&!me.action.isAI?1:!at.action.isAI&&me.action.isAI?-1:0),{validActions:st,allActions:H,documentation:j.documentation,hasAutoFix:j.hasAutoFix,hasAIFix:j.hasAIFix,allAIFixes:j.allAIFixes,dispose:()=>{j.dispose()}}}}if(i.trigger.type===1){const j=new Do,H=await kh(this._registry,e,i.selection,i.trigger,ll.None,u);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:H.validActions.length,duration:j.elapsed()}),H}return kh(this._registry,e,i.selection,i.trigger,ll.None,u)});i.trigger.type===1&&((c=this._progressService)==null||c.showWhile(s,250));const r=new sd.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:Eo.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 _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},_a=function(o,e){return function(t,i){e(t,i,o)}},_h;const mB="quickfix-edit-highlight";var gc;let kf=(gc=class extends ht{static get(e){return e.getContribution(_h.ID)}constructor(e,t,i,n,s,r,a,c,u,f,g){super(),this._commandService=a,this._configurationService=c,this._actionWidgetService=u,this._instantiationService=f,this._telemetryService=g,this._activeCodeActions=this._register(new $o),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new pB(this._editor,s.codeActionProvider,t,i,r,c,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new Ux(()=>{const p=this._editor.getContribution(xp.ID);return p&&this._register(p.onClick(w=>this.showCodeActionsFromLightbulb(w.actions,w))),p}),this._resolver=n.createInstance(sC),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,ud.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=ko.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(iB,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Eo.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,c;if(e.type!==1){this.hideLightBulbWidget();return}let t;try{t=await e.actions}catch(u){Nn(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,ud.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const g=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(g&&g.action.disabled){(r=ko.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)){(c=ko.get(this._editor))==null||c.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=Xt.isIPosition(t)?this.toCoords(t):t,c={onSelect:async(u,f)=>{this._applyCodeAction(u,!0,!!f,i.fromLightbulb?ud.FromAILightbulb:ud.FromCodeActions),this._actionWidgetService.hide(!1),n.clear()},onHide:u=>{var f;(f=this._editor)==null||f.focus(),n.clear()},onHover:async(u,f)=>{var w;if(f.isCancellationRequested)return;let g=!1;const p=u.action.kind;if(p){const m=new Vn(p);g=[On.RefactorExtract,On.RefactorInline,On.RefactorRewrite,On.RefactorMove,On.Source].some(k=>k.contains(m))}return{canPreview:g||!!((w=u.action.edit)!=null&&w.edits.length)}},onFocus:u=>{var f,g;if(u&&u.action){const p=u.action.ranges,w=u.action.diagnostics;if(n.clear(),p&&p.length>0){const m=w&&(w==null?void 0:w.length)>1?w.map(x=>({range:x,options:_h.DECORATION})):p.map(x=>({range:x,options:_h.DECORATION}));n.set(m)}else if(w&&w.length>0){const m=w.map(k=>({range:k,options:_h.DECORATION}));n.set(m);const x=w[0];if(x.startLineNumber&&x.startColumn){const k=(g=(f=this._editor.getModel())==null?void 0:f.getWordAtPosition({lineNumber:x.startLineNumber,column:x.startColumn}))==null?void 0:g.word;uf(C("editingNewSelection","Context: {0} at line {1} and column {2}.",k,x.startLineNumber,x.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,aB(r,this._shouldShowHeaders(),this._resolver.getResolver()),c,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=fo(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:C("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:C("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}},_h=gc,gc.ID="editor.contrib.codeActionController",gc.DECORATION=Ji.register({description:"quickfix-highlight",className:mB}),gc);kf=_h=_B([_a(1,Yx),_a(2,mn),_a(3,Ri),_a(4,Yt),_a(5,a_),_a(6,Cs),_a(7,jn),_a(8,Hu),_a(9,Ri),_a(10,ca)],kf);vy((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(VA));const i=o.getColor(EE);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${dp(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function L_(o){return be.regex(MM.keys()[0],new RegExp("(\\s|^)"+up(o.value)+"\\b"))}const W0={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:C("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:C("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[C("args.schema.apply.first","Always apply the first returned code action."),C("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),C("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:C("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function Wu(o,e,t,i,n=Eo.Default){if(o.hasModel()){const s=kf.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class vB extends je{constructor(){super({id:H0,label:C("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:be.and(O.writable,O.hasCodeActionsProvider),kbOpts:{kbExpr:O.textInputFocus,primary:2137,weight:100}})}run(e,t){return Wu(t,C("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,Eo.QuickFix)}}class bB extends mo{constructor(){super({id:CM,precondition:be.and(O.writable,O.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:W0}]}})}runEditorCommand(e,t,i){const n=Ta.fromUser(i,{kind:Vn.Empty,apply:"ifSingle"});return Wu(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?C("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):C("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?C("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):C("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}class yB extends je{constructor(){super({id:kM,label:C("refactor.label","Refactor..."),alias:"Refactor...",precondition:be.and(O.writable,O.hasCodeActionsProvider),kbOpts:{kbExpr:O.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:be.and(O.writable,L_(On.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:W0}]}})}run(e,t,i){const n=Ta.fromUser(i,{kind:On.Refactor,apply:"never"});return Wu(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?C("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):C("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?C("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):C("editor.action.refactor.noneMessage","No refactorings available"),{include:On.Refactor.contains(n.kind)?n.kind:Vn.None,onlyIncludePreferredActions:n.preferred},n.apply,Eo.Refactor)}}class wB extends je{constructor(){super({id:LM,label:C("source.label","Source Action..."),alias:"Source Action...",precondition:be.and(O.writable,O.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:be.and(O.writable,L_(On.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:W0}]}})}run(e,t,i){const n=Ta.fromUser(i,{kind:On.Source,apply:"never"});return Wu(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?C("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):C("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?C("editor.action.source.noneMessage.preferred","No preferred source actions available"):C("editor.action.source.noneMessage","No source actions available"),{include:On.Source.contains(n.kind)?n.kind:Vn.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,Eo.SourceAction)}}class SB extends je{constructor(){super({id:tC,label:C("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:be.and(O.writable,L_(On.SourceOrganizeImports)),kbOpts:{kbExpr:O.textInputFocus,primary:1581,weight:100}})}run(e,t){return Wu(t,C("editor.action.organize.noneMessage","No organize imports action available"),{include:On.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Eo.OrganizeImports)}}class CB extends je{constructor(){super({id:iC,label:C("fixAll.label","Fix All"),alias:"Fix All",precondition:be.and(O.writable,L_(On.SourceFixAll))})}run(e,t){return Wu(t,C("fixAll.noneMessage","No fix all action available"),{include:On.SourceFixAll,includeSourceActions:!0},"ifSingle",Eo.FixAll)}}class xB extends je{constructor(){super({id:xM,label:C("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:be.and(O.writable,L_(On.QuickFix)),kbOpts:{kbExpr:O.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return Wu(t,C("editor.action.autoFix.noneMessage","No auto fixes available"),{include:On.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Eo.AutoFix)}}qi(kf.ID,kf,3);qi(xp.ID,xp,4);ue(vB);ue(yB);ue(wB);ue(SB);ue(xB);ue(CB);ii(new bB);aa.as(l_.Configuration).registerConfiguration({...by,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:C("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});aa.as(l_.Configuration).registerConfiguration({...by,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:C("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});aa.as(l_.Configuration).registerConfiguration({...by,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:C("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 lC{constructor(){this.lenses=[],this._disposables=new dt}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 RM(o,e,t){const i=o.ordered(e),n=new Map,s=new lC,r=i.map(async(a,c)=>{n.set(a,c);try{const u=await Promise.resolve(a.provideCodeLenses(e,t));u&&s.add(u,a)}catch(u){ss(u)}});return await Promise.all(r),s.lenses=s.lenses.sort((a,c)=>a.symbol.range.startLineNumber<c.symbol.range.startLineNumber?-1:a.symbol.range.startLineNumber>c.symbol.range.startLineNumber?1:n.get(a.provider)<n.get(c.provider)?-1:n.get(a.provider)>n.get(c.provider)?1:a.symbol.range.startColumn<c.symbol.range.startColumn?-1:a.symbol.range.startColumn>c.symbol.range.startColumn?1:0),s}Hn.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;vn(En.isUri(t)),vn(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(Yt),s=o.get(ro).getModel(t);if(!s)throw fl();const r=[],a=new dt;return RM(n,s,zi.None).then(c=>{a.add(c);const u=[];for(const f of c.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,zi.None)).then(g=>r.push(g||f.symbol)));return Promise.all(u)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var kB=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},LB=function(o,e){return function(t,i){e(t,i,o)}};const AM=Tl("ICodeLensCache");class aI{constructor(e,t){this.lineCount=e,this.data=t}}let cC=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new c_(20,.75);const t="codelens/cache";jA($A,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=_s.filter(e.onWillSaveState,r=>r.reason===Jx.SHUTDOWN);_s.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 lC;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new aI(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 U(a,1,a,11)});const r=new lC;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new aI(n.lineCount,r))}}catch{}}};cC=kB([LB(0,Wc)],cC);Pl(AM,cC,1);class IB{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 rp=class rp{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${rp._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=UA(r.command.title.trim());if(r.command.id){const c=`c${rp._idPool++}`;i.push(Vt("a",{id:c,title:r.command.tooltip,role:"button"},...a)),this._commands.set(c,r.command)}else i.push(Vt("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(Vt("span",void 0," | "))}}n?(ev(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):ev(this._domNode,Vt("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}};rp._idPool=0;let dC=rp;class Fw{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 lI=Ji.register({collapseOnReplaceEdit:!0,description:"codelens"});class cI{constructor(e,t,i,n,s,r){this._isDisposed=!1,this._editor=t,this._data=e,this._decorationIds=[];let a;const c=[];this._data.forEach((u,f)=>{u.symbol.command&&c.push(u.symbol),i.addDecoration({range:u.symbol.range,options:lI},g=>this._decorationIds[f]=g),a?a=U.plusRange(a,u.symbol.range):a=U.lift(u.symbol.range)}),this._viewZone=new IB(a.startLineNumber-1,s,r),this._viewZoneId=n.addZone(this._viewZone),c.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(c,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new dC(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&&U.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:lI},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 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},pg=function(o,e){return function(t,i){e(t,i,o)}},Yh;let kp=(Yh=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 dt,this._localToDispose=new dt,this._lenses=[],this._oldCodeLensModels=new dt,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new ms(()=>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",Qx.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&&lp(()=>{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 ms(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=Es(r=>RM(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()},Nn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(zn(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{var n;this._editor.changeDecorations(s=>{this._editor.changeViewZones(r=>{const a=[];let c=-1;this._lenses.forEach(f=>{!f.isValid()||c===f.getLineNumber()?a.push(f):(f.update(r),c=f.getLineNumber())});const u=new Fw;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(zn(()=>{if(this._editor.getModel()){const n=hf.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(c=>this._notificationService.error(c));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new Fw;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 c=a.symbol.range.startLineNumber;c<1||c>t||(n&&n[n.length-1].symbol.range.startLineNumber===c?n.push(a):(n=[a],i.push(n)))}if(!i.length&&!this._lenses.length)return;const s=hf.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(c=>{const u=new Fw;let f=0,g=0;for(;g<i.length&&f<this._lenses.length;){const p=i[g][0].symbol.range.startLineNumber,w=this._lenses[f].getLineNumber();w<p?(this._lenses[f].dispose(u,c),this._lenses.splice(f,1)):w===p?(this._lenses[f].updateCodeLensSymbols(i[g],u),g++,f++):(this._lenses.splice(f,0,new cI(i[g],this._editor,u,c,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),f++,g++)}for(;f<this._lenses.length;)this._lenses[f].dispose(u,c),this._lenses.splice(f,1);for(;g<i.length;)this._lenses.push(new cI(i[g],this._editor,u,c,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 c=a.computeIfNecessary(e);c&&(t.push(c),i.push(a))}),t.length===0)return;const n=Date.now(),s=Es(a=>{const c=t.map((u,f)=>{const g=new Array(u.length),p=u.map((w,m)=>!w.symbol.command&&typeof w.provider.resolveCodeLens=="function"?Promise.resolve(w.provider.resolveCodeLens(e,w.symbol,a)).then(x=>{g[m]=x},ss):(g[m]=w.symbol,Promise.resolve(void 0)));return Promise.all(p).then(()=>{!a.isCancellationRequested&&!i[f].isDisposed()&&i[f].updateCommands(g)})});return Promise.all(c)});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=>{Nn(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}},Yh.ID="css.editor.codeLens",Yh);kp=DB([pg(1,Yt),pg(2,rr),pg(3,Cs),pg(4,oo),pg(5,AM)],kp);qi(kp.ID,kp,1);ue(class extends je{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:O.hasCodeLensProvider,label:C("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(El),n=e.get(Cs),s=e.get(oo),r=t.getSelection().positionLineNumber,a=t.getContribution(kp.ID);if(!a)return;const c=await a.getModel();if(!c)return;const u=[];for(const p of c.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:C("placeHolder","Select a command")});if(!f)return;let g=f.command;if(c.isDisposed){const p=await a.getModel(),w=p==null?void 0:p.lenses.find(m=>{var x;return m.symbol.range.startLineNumber===r&&((x=m.symbol.command)==null?void 0:x.title)===g.title});if(!w||!w.symbol.command)return;g=w.symbol.command}try{await n.executeCommand(g.id,...g.arguments||[])}catch(p){s.error(p)}}});var OM=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},uC=function(o,e){return function(t,i){e(t,i,o)}};let Lp=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 Yi(new ff(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),c=r?Yi.Format.CSS.formatRGB(a):Yi.Format.CSS.formatRGBA(a),u=r?Yi.Format.CSS.formatHSL(a):Yi.Format.CSS.formatHSLA(a),f=r?Yi.Format.CSS.formatHex(a):Yi.Format.CSS.formatHexA(a),g=[];return g.push({label:c,textEdit:{range:n,text:c}}),g.push({label:u,textEdit:{range:n,text:u}}),g.push({label:f,textEdit:{range:n,text:f}}),g}};Lp=OM([uC(0,Ml)],Lp);let hC=class extends ht{constructor(e,t){super(),this._register(e.colorProvider.register("*",new Lp(t)))}};hC=OM([uC(0,Yt),uC(1,Ml)],hC);Vf(hC);async function FM(o,e,t,i=!0){return B0(new EB,o,e,t,i)}function HM(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class EB{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 TB{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 PB{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,zi.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function B0(o,e,t,i,n){let s=!1,r;const a=[],c=e.ordered(t);for(let u=c.length-1;u>=0;u--){const f=c[u];if(f instanceof Lp)r=f;else try{await o.compute(f,t,i,a)&&(s=!0)}catch(g){ss(g)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function WM(o,e){const{colorProvider:t}=o.get(Yt),i=o.get(ro).getModel(e);if(!i)throw fl();const n=o.get(jn).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}Hn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof En))throw fl();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=WM(o,t);return B0(new TB,n,i,zi.None,s)});Hn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof En)||!Array.isArray(t)||t.length!==4||!U.isIRange(s))throw fl();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:c}=WM(o,n),[u,f,g,p]=t;return B0(new PB({range:s,color:{red:u,green:f,blue:g,alpha:p}}),a,r,zi.None,c)});var MB=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},Hw=function(o,e){return function(t,i){e(t,i,o)}},fC;const BM=Object.create({});var pc;let Lf=(pc=class extends ht{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new dt),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new TE(this._editor),this._decoratorLimitReporter=new NB,this._colorDecorationClassRefs=this._register(new dt),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:fC.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),c=s.hasChanged(148);(a||c)&&(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 r_,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=Es(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new Do(!1),n=await FM(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){Nn(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:Ji.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:c,alpha:u}=e[s].colorInfo.color,f=new ff(Math.round(r*255),Math.round(a*255),Math.round(c*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:LE,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:BM}}})}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(U.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)}},fC=pc,pc.ID="editor.contrib.colorDetector",pc.RECOMPUTE_TIME=1e3,pc);Lf=fC=MB([Hw(1,jn),Hw(2,Yt),Hw(3,rr)],Lf);class NB{constructor(){this._onDidChange=new Bi,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}qi(Lf.ID,Lf,1);class RB{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 Bi,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new Bi,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new Bi,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 Bo=Vt;class AB extends ht{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Bo(".colorpicker-header"),At(e,this._domNode),this._pickedColorNode=At(this._domNode,Bo(".picked-color")),At(this._pickedColorNode,Bo("span.codicon.codicon-color-mode")),this._pickedColorPresentation=At(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const s=C("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",s),this._originalColorNode=At(this._domNode,Bo(".original-color")),this._originalColorNode.style.backgroundColor=Yi.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(iL)||Yi.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(iL)||Yi.white})),this._register(_n(this._pickedColorNode,Kn.CLICK,()=>this.model.selectNextColorPresentation())),this._register(_n(this._originalColorNode,Kn.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=Yi.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 OB(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Yi.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 OB extends ht{constructor(e){super(),this._onClicked=this._register(new Bi),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),At(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),At(this._button,t),At(t,Bo(".button"+yn.asCSSSelector(ts("color-picker-close",Ci.close,C("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(_n(this._button,Kn.CLICK,()=>{this._onClicked.fire()}))}}class FB extends ht{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Bo(".colorpicker-body"),At(e,this._domNode),this._saturationBox=new HB(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 WB(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 BB(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 zB(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 Yi(new Lm(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Yi(new Lm(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new Yi(new Lm(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 HB extends ht{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new Bi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Bi,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Bo(".saturation-wrap"),At(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",At(this._domNode,this._canvas),this.selection=Bo(".saturation-selection"),At(this._domNode,this.selection),this.layout(),this._register(_n(this._domNode,Kn.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 PE);const t=fo(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=_n(e.target.ownerDocument,Kn.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 Yi(new Lm(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=Yi.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 zM extends ht{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new Bi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Bi,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=At(e,Bo(".standalone-strip")),this.overlay=At(this.domNode,Bo(".standalone-overlay"))):(this.domNode=At(e,Bo(".strip")),this.overlay=At(this.domNode,Bo(".overlay"))),this.slider=At(this.domNode,Bo(".slider")),this.slider.style.top="0px",this._register(_n(this.domNode,Kn.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 PE),i=fo(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=_n(e.target.ownerDocument,Kn.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 WB extends zM{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 Yi(new ff(t,i,n,1)),r=new Yi(new ff(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class BB extends zM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class zB extends ht{constructor(e){super(),this._onClicked=this._register(new Bi),this.onClicked=this._onClicked.event,this._button=At(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(_n(this._button,Kn.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class VB extends d_{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(qA.getInstance(vd(e)).onDidChange(()=>this.layout())),this._domNode=Bo(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new AB(this._domNode,this.model,n,s)),this.body=this._register(new FB(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class Ww{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 Hm{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 Bu=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var VM=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},jM=function(o,e){return function(t,i){e(t,i,o)}};class jB{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 Ip=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return ta.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=Lf.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 $M(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=UM(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}};Ip=VM([jM(1,Mr)],Ip);class $B{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let Dp=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!Lf.get(this._editor))return null;const s=await FM(i,this._editor.getModel(),zi.None);let r=null,a=null;for(const g of s){const p=g.colorInfo;U.containsRange(p.range,e.range)&&(r=p,a=g.provider)}const c=r??e,u=a??t,f=!!r;return{colorHover:await $M(this,this._editor.getModel(),c,u),foundInEditor:f}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new U(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await Wm(this._editor.getModel(),t,this._color,i,e),i=qM(this._editor,i,t))}renderHoverParts(e,t){return UM(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};Dp=VM([jM(1,Mr)],Dp);async function $M(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:c}=t.color,u=new ff(Math.round(s*255),Math.round(r*255),Math.round(a*255),c),f=new Yi(u),g=await HM(e,t,i,zi.None),p=new RB(f,[],0);return p.colorPresentations=g||[],p.guessColorPresentation(f,n),o instanceof Ip?new jB(o,U.lift(t.range),p,i):new $B(o,U.lift(t.range),p,i)}function UM(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new An(302,p))}const s=new dt,r=i[0],a=e.getModel(),c=r.model,u=s.add(new VB(n.fragment,c,e.getOption(144),t,o instanceof Dp));let f=!1,g=new U(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof Dp){const p=r.model.color;o.color=p,Wm(a,c,p,g,r),s.add(c.onColorFlushed(w=>{o.color=w}))}else s.add(c.onColorFlushed(async p=>{await Wm(a,c,p,g,r),f=!0,g=qM(e,g,c)}));return s.add(c.onDidChangeColor(p=>{Wm(a,c,p,g,r)})),s.add(e.onDidChangeModelContent(p=>{f?f=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:u,disposables:s}}function qM(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=U.lift(n.range),r=o.getModel()._setTrackedRange(null,s,3);return o.executeEdits("colorpicker",i),o.pushUndoStop(),o.getModel()._getTrackedRange(r)??s}async function Wm(o,e,t,i,n){const s=await HM(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,zi.None);e.colorPresentations=s||[]}const GM="editor.action.showHover",UB="editor.action.showDefinitionPreviewHover",qB="editor.action.scrollUpHover",GB="editor.action.scrollDownHover",KB="editor.action.scrollLeftHover",ZB="editor.action.scrollRightHover",XB="editor.action.pageUpHover",YB="editor.action.pageDownHover",JB="editor.action.goToTopHover",QB="editor.action.goToBottomHover",$y="editor.action.increaseHoverVerbosityLevel",e4=C({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),Uy="editor.action.decreaseHoverVerbosityLevel",t4=C({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),KM="editor.action.inlineSuggest.commit",ZM="editor.action.inlineSuggest.showPrevious",XM="editor.action.inlineSuggest.showNext";var z0=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},yr=function(o,e){return function(t,i){e(t,i,o)}},Bm;let gC=class extends ht{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=So(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=kn(this,n=>{var c,u;const s=(c=this.model.read(n))==null?void 0:c.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 Xt(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(u_((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=AE((u,f)=>{const g=f.add(this.instantiationService.createInstance(If,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(g),f.add(zn(()=>e.removeContentWidget(g))),f.add(Gn(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==gl.Explicit&&r.triggerExplicitly()})),g}),c=yy(this,(u,f)=>!!this.position.read(u)||!!f);s.add(Gn(u=>{c.read(u)&&a.read(u)}))}))}};gC=z0([yr(2,Ri)],gC);const i4=ts("inline-suggestion-hints-next",Ci.chevronRight,C("parameterHintsNextIcon","Icon for show next parameter hint.")),n4=ts("inline-suggestion-hints-previous",Ci.chevronLeft,C("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var _c;let If=(_c=class extends ht{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new gf(e,t,i,!0,()=>this._commandService.executeCommand(e)),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let r=t;return s&&(r=C({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,s.getLabel())),n.tooltip=r,n}constructor(e,t,i,n,s,r,a,c,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${Bm.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=wr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[wr("div@toolBar")]),this.previousAction=this.createCommandAction(ZM,C("previous","Previous"),yn.asClassName(n4)),this.availableSuggestionCountAction=new gf("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(XM,C("next","Next"),yn.asClassName(i4)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Nt.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new ms(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new ms(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(c.createInstance(pC,this.nodes.toolBar,Nt.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,w)=>{if(p instanceof pf)return c.createInstance(o4,p,void 0);if(p===this.availableSuggestionCountAction){const m=new s4(void 0,p,{label:!0,icon:!1});return m.setClass("availableSuggestionCount"),m}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(p=>{Bm._dropDownVisible=p})),this._register(Gn(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(Gn(p=>{const w=this._suggestionCount.read(p),m=this._currentSuggestionIdx.read(p);w!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${m+1}/${w}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),w!==void 0&&w>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(Gn(p=>{const m=this._extraCommands.read(p).map(x=>({class:void 0,id:x.id,enabled:!0,tooltip:x.tooltip||"",label:x.title,run:k=>this._commandService.executeCommand(x.id)}));for(const[x,k]of this.inlineCompletionsActionsMenus.getActions())for(const D of k)D instanceof pf&&m.push(D);m.length>0&&m.unshift(new hp),this.toolBar.setAdditionalSecondaryActions(m)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},Bm=_c,_c._dropDownVisible=!1,_c.id=0,_c);If=Bm=z0([yr(6,Cs),yr(7,Ri),yr(8,us),yr(9,mn),yr(10,Ru)],If);class s4 extends bS{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 o4=class extends ME{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=wr("div.keybinding").root;this._register(new Gx(t,Kx,{disableTitle:!0,...NE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},pC=class extends RE{constructor(e,t,i,n,s,r,a,c,u){super(e,{resetMenu:t,...i},n,s,r,a,c,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,c,u;const e=[],t=[];e0(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=(c=this.options2)==null?void 0:c.toolbarOptions)==null?void 0:u.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){Ba(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Ba(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};pC=z0([yr(3,Ru),yr(4,mn),yr(5,Wf),yr(6,us),yr(7,Cs),yr(8,ca)],pC);function qy(o,e,t){const i=fo(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let r4=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class YM extends ht{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new Bi),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new ms(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new ms(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new ms(()=>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=GA(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){Nn(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 r4(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 V0{constructor(){this._onDidWillResize=new Bi,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new Bi,this.onDidResize=this._onDidResize.event,this._sashListener=new dt,this._size=new An(0,0),this._minSize=new An(0,0),this._maxSize=new An(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new yh(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new yh(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new yh(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:nL.North}),this._southSash=new yh(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:nL.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(_s.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(_s.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(_s.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(_s.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 An(t,e);An.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 a4=30,l4=24;class c4 extends ht{constructor(e,t=new An(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new V0),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=An.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 An(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?Xt.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:fo(t).top+i.top-a4}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=fo(t),s=h_(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-l4}_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 d4=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},Q_=function(o,e){return function(t,i){e(t,i,o)}},ba;const dI=30,u4=6;var mc;let _C=(mc=class extends c4{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,c=new An(a,r);super(e,c),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new OE),this._onDidResize=this._register(new Bi),this.onDidResize=this._onDidResize.event,this._minimumSize=c,this._hoverVisibleKey=O.hoverVisible.bindTo(t),this._hoverFocusedKey=O.hoverFocused.bindTo(t),At(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(df(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 ba.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 ba._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return ba._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){ba._applyMaxDimensions(this._hover.contentsDomNode,e,t),ba._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 An(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){ba._lastDimensions=new An(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=u4;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?h_(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=fo(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=uI(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=uI(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,ba._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,ba._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=wh(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&&KA(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 An(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 An(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 An(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=wh(e),i=gr(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=wh(e),i=gr(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=wh(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-dI})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+dI})}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})}},ba=mc,mc.ID="editor.contrib.resizableContentHoverWidget",mc._lastDimensions=new An(0,0),mc);_C=ba=d4([Q_(1,mn),Q_(2,jn),Q_(3,wy),Q_(4,us)],_C);function uI(o,e,t,i,n,s){const r=t+n/2,a=i+s/2,c=Math.max(Math.abs(o-r)-n/2,0),u=Math.max(Math.abs(e-a)-s/2,0);return Math.sqrt(c*c+u*u)}class yv{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,c=r.range.endLineNumber===n?r.range.endColumn:s;if(r.options.showIfCollapsed){if(a>t.range.startColumn+1||t.range.endColumn-1>c)return!1}else if(a>t.range.startColumn||t.range.endColumn>c)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return ta.EMPTY;const i=yv._getLineDecorations(this._editor,t);return ta.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):ta.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=yv._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return vl(t)}}class JM{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 h4(this,this.anchor,t,this.isComplete)}}class h4 extends JM{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var f4=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},g4=function(o,e){return function(t,i){e(t,i,o)}};const hI=Vt;let wv=class extends ht{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=hI("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=At(this.hoverElement,hI("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(ZA.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=At(this.actionsElement,e);return this._hasContent=!0,t}};wv=f4([g4(0,us)],wv);class p4{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function _4(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(ss);if(!(!s||!m4(s)))return new p4(o,s,e)}function j0(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,c)=>_4(a,c,e,t,i));return ta.fromPromises(r).coalesce()}function QM(o,e,t,i,n=!1){return j0(o,e,t,i,n).map(s=>s.hover).toPromise()}vo("_executeHoverProvider",(o,e,t)=>{const i=o.get(Yt);return QM(i.hoverProvider,e,t,zi.None)});vo("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(Yt);return QM(i.hoverProvider,e,t,zi.None,!0)});function m4(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var v4=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)}};const Lh=Vt,b4=ts("hover-increase-verbosity",Ci.add,C("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),y4=ts("hover-decrease-verbosity",Ci.remove,C("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class Cr{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 eN{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case nr.Increase:return this.hover.canIncreaseVerbosity??!1;case nr.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let Ep=class{constructor(e,t,i,n,s,r,a,c){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=n,this._languageFeaturesService=s,this._keybindingService=r,this._hoverService=a,this._commandService=c,this.hoverOrdinal=3}createLoadingMessage(e){return new Cr(this,e.range,[new Ys().appendText(C("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 c=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&&c>f&&e.range.startColumn>=f&&(p=!0,r.push(new Cr(this,e.range,[{value:C("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!p&&typeof g=="number"&&c>=g&&r.push(new Cr(this,e.range,[{value:C("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let w=!1;for(const m of t){const x=m.range.startLineNumber===n?m.range.startColumn:1,k=m.range.endLineNumber===n?m.range.endColumn:s,D=m.options.hoverMessage;if(!D||fp(D))continue;m.options.beforeContentClassName&&(w=!0);const P=new U(e.range.startLineNumber,x,e.range.startLineNumber,k);r.push(new Cr(this,P,FE(D),w,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return ta.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):ta.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return j0(e,t,s,n).filter(c=>!fp(c.hover.contents)).map(c=>{const u=c.hover.range?U.lift(c.hover.range):i.range,f=new eN(c.hover,c.provider,s);return new Cr(this,u,c.hover.contents,!1,c.ordinal,f)})}renderHoverParts(e,t){return this._renderedHoverParts=new w4(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))}};Ep=v4([Kc(1,da),Kc(2,la),Kc(3,jn),Kc(4,Yt),Kc(5,us),Kc(6,f_),Kc(7,Cs)],Ep);class em{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class w4{constructor(e,t,i,n,s,r,a,c,u,f,g){this._hoverParticipant=i,this._editor=n,this._languageService=s,this._openerService=r,this._commandService=a,this._keybindingService=c,this._hoverService=u,this._configurationService=f,this._onFinishedRendering=g,this._ongoingHoverOperations=new Map,this._disposables=new dt,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(zn(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(g_(n=>n.ordinal,Sy)),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 dt;if(r.add(i),!s)return new em(e,n,r);const a=s.supportsVerbosityAction(nr.Increase),c=s.supportsVerbosityAction(nr.Decrease);if(!a&&!c)return new em(e,n,r);const u=Lh("div.verbosity-actions");return n.prepend(u),r.add(this._renderHoverExpansionAction(u,nr.Increase,a)),r.add(this._renderHoverExpansionAction(u,nr.Decrease,c)),new em(e,n,r)}_renderMarkdownHover(e,t){return tN(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new dt,s=t===nr.Increase,r=At(e,Lh(yn.asCSSSelector(s?b4:y4)));r.tabIndex=0;const a=new XA("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,C4(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const c=()=>this._commandService.executeCommand(t===nr.Increase?$y:Uy);return n.add(new YA(r,c)),n.add(new JA(r,c,[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 c=new eN(a,r.hoverProvider,r.hoverPosition),u=s.hoverPart,f=new Cr(this._hoverParticipant,u.range,a.contents,u.isBeforeContent,u.ordinal,c),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===nr.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new Ts;this._ongoingHoverOperations.set(s,{verbosityDelta:n,tokenSource:a});const c={verbosityRequest:{verbosityDelta:n,previousHover:e.hover}};let u;try{u=await Promise.resolve(s.provideHover(t,e.hoverPosition,a.token,c))}catch(f){ss(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 c=new em(i,s,t.disposables);s.focus(),n.dispose(),this.renderedHoverParts[e]=c}_focusOnHoverPartWithIndex(e){this.renderedHoverParts[e].hoverElement.focus()}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}}function S4(o,e,t,i,n){e.sort(g_(r=>r.ordinal,Sy));const s=[];for(const r of e)s.push(tN(t,r,i,n,o.onContentsChanged));return new Lu(s)}function tN(o,e,t,i,n){const s=new dt,r=Lh("div.hover-row"),a=Lh("div.hover-row-contents");r.appendChild(a);const c=e.contents;for(const f of c){if(fp(f))continue;const g=Lh("div.markdown-hover"),p=At(g,Lh("div.hover-contents")),w=s.add(new jf({editor:o},t,i));s.add(w.onDidRenderAsync(()=>{p.className="hover-contents code-hover-contents",n()}));const m=s.add(w.render(f));p.appendChild(m.element),a.appendChild(g)}return{hoverPart:e,hoverElement:r,dispose(){s.dispose()}}}function C4(o,e){switch(e){case nr.Increase:{const t=o.lookupKeybinding($y);return t?C("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):C("increaseVerbosity","Increase Hover Verbosity")}case nr.Decrease:{const t=o.lookupKeybinding(Uy);return t?C("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):C("decreaseVerbosity","Decrease Hover Verbosity")}}}function mC(o,e){return!!o[e]}class Bw{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=mC(e.event,t.triggerModifier),this.hasSideBySideModifier=mC(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class fI{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=mC(e,t.triggerModifier)}}class tm{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 gI(o){return o==="altKey"?za?new tm(57,"metaKey",6,"altKey"):new tm(5,"ctrlKey",6,"altKey"):za?new tm(6,"altKey",57,"metaKey"):new tm(6,"altKey",5,"ctrlKey")}class Gy extends ht{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new Bi),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new Bi),this.onExecute=this._onExecute.event,this._onCancel=this._register(new Bi),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=gI(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=gI(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 Bw(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new Bw(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new Bw(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new fI(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new fI(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 iN{constructor(e,t){this.range=e,this.direction=t}}class $0{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new $0(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){ss(t),this._isResolved=!1}}}const Nh=class Nh{static async create(e,t,i,n){const s=[],r=e.ordered(t).reverse().map(a=>i.map(async c=>{try{const u=await a.provideInlayHints(t,c,n);(u!=null&&u.hints.length||a.onDidChangeInlayHints)&&s.push([u??Nh._emptyInlayHintList,a])}catch(u){ss(u)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new _y;return new Nh(i,s,t)}constructor(e,t,i){this._disposables=new dt,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 c=i.validatePosition(a.position);let u="before";const f=Nh._getRangeAtPosition(i,c);let g;f.getStartPosition().isBefore(c)?(g=U.fromPositions(f.getStartPosition(),c),u="after"):(g=U.fromPositions(c,f.getEndPosition()),u="before"),n.push(new $0(a,new iN(g,u),r))}}this.items=n.sort((s,r)=>Xt.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 U(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 c=s.getStartOffset(a),u=s.getEndOffset(a);return u-c===1&&(c===r&&a>1?(c=s.getStartOffset(a-1),u=s.getEndOffset(a-1)):u===r&&a<s.getCount()-1&&(c=s.getStartOffset(a+1),u=s.getEndOffset(a+1))),new U(i,c+1,i,u+1)}};Nh._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let Sv=Nh;function x4(o){return En.from({scheme:uo.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var k4=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},Ja=function(o,e){return function(t,i){e(t,i,o)}};let Pr=class extends QA{constructor(e,t,i,n,s,r,a,c,u,f,g,p,w){super(e,{...n.getRawOptions(),overflowWidgetsDomNode:n.getOverflowWidgetsDomNode()},i,s,r,a,c,u,f,g,p,w),this._parentEditor=n,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(n.onDidChangeConfiguration(m=>this._onParentConfigurationChanged(m)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){t0(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Pr=k4([Ja(4,Ri),Ja(5,os),Ja(6,Cs),Ja(7,mn),Ja(8,Mr),Ja(9,oo),Ja(10,wy),Ja(11,xs),Ja(12,Yt)],Pr);const pI=new Yi(new ff(0,122,204)),L4={showArrow:!0,showFrame:!0,className:"",frameColor:pI,arrowColor:pI,keepEditorSelection:!1},I4="vs.editor.contrib.zoneWidget";class D4{constructor(e,t,i,n,s,r,a,c){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=n,this.showInHiddenAreas=a,this.ordinal=c,this._onDomNodeTop=s,this._onComputedHeight=r}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class E4{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const Db=class Db{constructor(e){this._editor=e,this._ruleName=Db._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),sL(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(){sL(this._ruleName),iO(`.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:U.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};Db._IdGenerator=new tO(".arrow-decoration-");let vC=Db;class T4{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new dt,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=eO(t),t0(this.options,L4,!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 vC(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=U.isIRange(e)?U.lift(e):U.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:Ji.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 c=0,u=0;if(this._arrow&&this.options.showArrow&&(c=Math.round(a/3),this._arrow.height=c,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 D4(r,i.lineNumber,i.column,t,w=>this._onViewZoneTop(w),w=>this._onViewZoneHeight(w),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=p.addZone(this._viewZone),this._overlayWidget=new E4(I4+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=c+"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 U(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 yh(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 nN=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},sN=function(o,e){return function(t,i){e(t,i,o)}};const oN=Tl("IPeekViewService");Pl(oN,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 go;(function(o){o.inPeekEditor=new rn("inReferenceSearchEditor",!0,C("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(go||(go={}));var Jh;let Cv=(Jh=class{constructor(e,t){e instanceof Pr&&go.inPeekEditor.bindTo(t)}dispose(){}},Jh.ID="editor.contrib.referenceController",Jh);Cv=nN([sN(1,mn)],Cv);qi(Cv.ID,Cv,0);function P4(o){const e=o.get(os).getFocusedCodeEditor();return e instanceof Pr?e.getParentEditor():e}const M4={headerBackgroundColor:Yi.white,primaryHeadingColor:Yi.fromHex("#333333"),secondaryHeadingColor:Yi.fromHex("#6c6c6cb3")};let xv=class extends T4{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new Bi,this.onDidClose=this._onDidClose.event,t0(this.options,M4,!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=Vt(".head"),this._bodyElement=Vt(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=Vt(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),yl(this._titleElement,"click",s=>this._onTitleClick(s))),At(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=Vt("span.filename"),this._secondaryHeading=Vt("span.dirname"),this._metaHeading=Vt("span.meta"),At(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=Vt(".peekview-actions");At(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new cp(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new gf("peekview.close",C("label.close","Close"),yn.asClassName(Ci.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:nO.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:Fa(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,Sr(this._metaHeading)):Oo(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`)}};xv=nN([sN(2,Ri)],xv);const N4=jt("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Yi.black,hcLight:Yi.white},C("peekViewTitleBackground","Background color of the peek view title area.")),rN=jt("peekViewTitleLabel.foreground",{dark:Yi.white,light:Yi.black,hcDark:Yi.white,hcLight:p_},C("peekViewTitleForeground","Color of the peek view title.")),aN=jt("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},C("peekViewTitleInfoForeground","Color of the peek view title info.")),R4=jt("peekView.border",{dark:yS,light:yS,hcDark:bl,hcLight:bl},C("peekViewBorder","Color of the peek view borders and arrow.")),A4=jt("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Yi.black,hcLight:Yi.white},C("peekViewResultsBackground","Background color of the peek view result list."));jt("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Yi.white,hcLight:p_},C("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));jt("peekViewResult.fileForeground",{dark:Yi.white,light:"#1E1E1E",hcDark:Yi.white,hcLight:p_},C("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));jt("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},C("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));jt("peekViewResult.selectionForeground",{dark:Yi.white,light:"#6C6C6C",hcDark:Yi.white,hcLight:p_},C("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const lN=jt("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Yi.black,hcLight:Yi.white},C("peekViewEditorBackground","Background color of the peek view editor."));jt("peekViewEditorGutter.background",lN,C("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));jt("peekViewEditorStickyScroll.background",lN,C("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));jt("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},C("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));jt("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},C("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));jt("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:pu,hcLight:pu},C("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class Rc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=sO.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?C({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,Va(this.uri),this.range.startLineNumber,this.range.startColumn):C("aria.oneReference","in {0} on line {1} at column {2}",Va(this.uri),this.range.startLineNumber,this.range.startColumn)}}class O4{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,c=i.getWordUntilPosition({lineNumber:n,column:s-t}),u=new U(n,c.startColumn,n,s),f=new U(r,a,r,1073741824),g=i.getValueInRange(u).replace(/^\s+/,""),p=i.getValueInRange(e),w=i.getValueInRange(f).replace(/\s+$/,"");return{value:g+p+w,highlight:{start:g.length,end:g.length+p.length}}}}class Tp{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new Ec}dispose(){Qs(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?C("aria.fileReferences.1","1 symbol in {0}, full path {1}",Va(this.uri),this.uri.fsPath):C("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Va(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 O4(i))}catch(i){Nn(i)}return this}}class Lo{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new Bi,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(Lo._compareReferences);let n;for(const s of e)if((!n||!oL.isEqual(n.uri,s.uri,!0))&&(n=new Tp(this,s.uri),this.groups.push(n)),n.children.length===0||Lo._compareReferences(s,n.children[n.children.length-1])!==0){const r=new Rc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){Qs(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new Lo(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?C("aria.result.0","No results found"):this.references.length===1?C("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?C("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):C("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:__(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()&&U.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 oL.compare(e.uri,t.uri)||U.compareRangesUsingStarts(e.range,t.range)}}var Ky=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},Zy=function(o,e){return function(t,i){e(t,i,o)}},bC;let yC=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof Lo||e instanceof Tp}getChildren(e){if(e instanceof Lo)return e.groups;if(e instanceof Tp)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};yC=Ky([Zy(0,ua)],yC);class F4{getHeight(){return 23}getTemplateId(e){return e instanceof Tp?kv.id:Lv.id}}let wC=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof Rc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return Va(e.uri)}};wC=Ky([Zy(0,us)],wC);class H4{getId(e){return e instanceof Rc?e.id:e.uri}}let SC=class extends ht{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new HE(i,{supportHighlights:!0})),this.badge=new oO(At(i,Vt(".count")),{},rO),e.appendChild(i)}set(e,t){const i=i0(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(C("referencesCount","{0} references",n)):this.badge.setTitleFormat(C("referenceCount","{0} reference",n))}};SC=Ky([Zy(1,gp)],SC);var Md;let kv=(Md=class{constructor(e){this._instantiationService=e,this.templateId=bC.id}renderTemplate(e){return this._instantiationService.createInstance(SC,e)}renderElement(e,t,i){i.set(e.element,Cy(e.filterData))}disposeTemplate(e){e.dispose()}},bC=Md,Md.id="FileReferencesRenderer",Md);kv=bC=Ky([Zy(0,Ri)],kv);class W4 extends ht{constructor(e){super(),this.label=this._register(new aO(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(`${Va(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!pp.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,Cy(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const Eb=class Eb{constructor(){this.templateId=Eb.id}renderTemplate(e){return new W4(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Eb.id="OneReferenceRenderer";let Lv=Eb;class B4{getWidgetAriaLabel(){return C("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var z4=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},eh=function(o,e){return function(t,i){e(t,i,o)}};const Tb=class Tb{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new dt,this._callOnModelChange=new dt,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:Tb.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(!U.equalsRange(s,n.range)){if(U.spansMultipleLines(s))r=!0;else{const a=n.range.endColumn-n.range.startColumn,c=s.endColumn-s.startColumn;a!==c&&(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()}};Tb.DecorationOptions=Ji.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let CC=Tb;class V4{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 j4 extends dO{}let xC=class extends xv{constructor(e,t,i,n,s,r,a,c,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=c,this._keybindingService=u,this._disposeOnNewModel=new dt,this._callOnDispose=new dt,this._onDidSelectReference=new Bi,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new An(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(),Qs(this._preview),Qs(this._previewNotAvailableMessage),Qs(this._tree),Qs(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(R4)||Yi.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(N4)||Yi.transparent,primaryHeadingColor:e.getColor(rN),secondaryHeadingColor:e.getColor(aN)})}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=At(e,Vt("div.messages")),Oo(this._messageContainer),this._splitView=new lO(e,{orientation:1}),this._previewContainer=At(e,Vt("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(Pr,this._previewContainer,t,{},this.editor),Oo(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(ic,C("missingPreviewMessage","no preview available"),_p,ic.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=At(e,Vt("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new B4,keyboardNavigationLabelProvider:this._instantiationService.createInstance(wC),identityProvider:new H4,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:A4}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(yl(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(j4,"ReferencesWidget",this._treeContainer,new F4,[this._instantiationService.createInstance(kv),this._instantiationService.createInstance(Lv)],this._instantiationService.createInstance(yC),i),this._splitView.addView({onDidChange:_s.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},rL.Distribute),this._splitView.addView({onDidChange:_s.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)}},rL.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 Rc&&(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")})),Oo(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new An(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=C("noResults","No results"),Sr(this._messageContainer),Promise.resolve(void 0)):(Oo(this._messageContainer),this._decorationsManager=new CC(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"),Sr(this._treeContainer),Sr(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 Rc)return e;if(e instanceof Tp&&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!==uo.inMemory?this.setTitle(cO(e.uri),this._uriLabel.getUriLabel(i0(e.uri))):this.setTitle(C("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}Qs(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=U.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()}};xC=z4([eh(3,Mr),eh(4,ua),eh(5,Ri),eh(6,oN),eh(7,gp),eh(8,us)],xC);var $4=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},th=function(o,e){return function(t,i){e(t,i,o)}},zm;const zu=new rn("referenceSearchVisible",!1,C("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var Nd;let Iu=(Nd=class{static get(e){return e.getContribution(zm.ID)}constructor(e,t,i,n,s,r,a,c){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=s,this._instantiationService=r,this._storageService=a,this._configurationService=c,this._disposables=new dt,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=zu.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=V4.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(xC,this._editor,this._defaultTreeKeyboardSupport,r),this._widget.setTitle(C("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(c=>{const{element:u,kind:f}=c;if(u)switch(f){case"open":(c.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(c=>{var u;if(a!==this._requestIdPool||!this._widget){c.dispose();return}return(u=this._model)==null||u.dispose(),this._model=c,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(C("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const f=this._editor.getModel().uri,g=new Xt(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()})}})},c=>{this._notificationService.error(c)})}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=U.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=zm.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,Es(c=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,Nn(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)}},zm=Nd,Nd.ID="editor.contrib.referencesController",Nd);Iu=zm=$4([th(2,mn),th(3,os),th(4,oo),th(5,Ri),th(6,Wc),th(7,jn)],Iu);function Vu(o,e){const t=P4(o);if(!t)return;const i=Iu.get(t);i&&e(i)}Ua.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:ds(2089,60),when:be.or(zu,go.inPeekEditor),handler(o){Vu(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Ua.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:be.or(zu,go.inPeekEditor),handler(o){Vu(o,e=>{e.goToNextOrPreviousReference(!0)})}});Ua.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:be.or(zu,go.inPeekEditor),handler(o){Vu(o,e=>{e.goToNextOrPreviousReference(!1)})}});Hn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");Hn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");Hn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");Hn.registerCommand("closeReferenceSearch",o=>Vu(o,e=>e.closeWidget()));Ua.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:be.and(go.inPeekEditor,be.not("config.editor.stablePeek"))});Ua.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:be.and(zu,be.not("config.editor.stablePeek"),be.or(O.editorTextFocus,uO.negate()))});Ua.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:be.and(zu,WE,BE.negate(),zE.negate()),handler(o){var i;const t=(i=o.get(n0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Rc&&Vu(o,n=>n.revealReference(t[0]))}});Ua.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:be.and(zu,WE,BE.negate(),zE.negate()),handler(o){var i;const t=(i=o.get(n0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Rc&&Vu(o,n=>n.openReference(t[0],!0,!0))}});Hn.registerCommand("openReference",o=>{var i;const t=(i=o.get(n0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Rc&&Vu(o,n=>n.openReference(t[0],!1,!0))});var cN=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},Eg=function(o,e){return function(t,i){e(t,i,o)}};const U0=new rn("hasSymbols",!1,C("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),Xy=Tl("ISymbolNavigationService");let kC=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=U0.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 LC(this._editorService),n=i.onDidChange(s=>{if(this._ignoreEditorChange)return;const r=this._editorService.getActiveCodeEditor();if(!r)return;const a=r.getModel(),c=r.getPosition();if(!a||!c)return;let u=!1,f=!1;for(const g of t.references)if(Qm(g.uri,a.uri))u=!0,f=f||U.containsPosition(g.range,c);else if(u)break;(!u||!f)&&this.reset()});this._currentState=VE(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:U.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?C("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):C("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};kC=cN([Eg(0,mn),Eg(1,os),Eg(2,oo),Eg(3,us)],kC);Pl(Xy,kC,1);ii(new class extends mo{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:U0,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(Xy).revealNext(e)}});Ua.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:U0,primary:9,handler(o){o.get(Xy).reset()}});let LC=class{constructor(e){this._listener=new Map,this._disposables=new dt,this._onDidChange=new Bi,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(),Qs(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,VE(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)}};LC=cN([Eg(0,os)],LC);function IC(o,e){return e.uri.scheme===o.uri.scheme?!0:!hO(e.uri,uo.walkThroughSnippet,uo.vscodeChatCodeBlock,uo.vscodeChatCodeCompareBlock)}async function I_(o,e,t,i,n){const r=t.ordered(o,i).map(c=>Promise.resolve(n(c,o,e)).then(void 0,u=>{ss(u)})),a=await Promise.all(r);return vl(a.flat()).filter(c=>IC(o,c))}function D_(o,e,t,i,n){return I_(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function q0(o,e,t,i,n){return I_(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function G0(o,e,t,i,n){return I_(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function K0(o,e,t,i,n){return I_(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function E_(o,e,t,i,n,s){return I_(e,t,o,n,async(r,a,c)=>{var g,p;const u=(g=await r.provideReferences(a,c,{includeDeclaration:!0},s))==null?void 0:g.filter(w=>IC(a,w));if(!i||!u||u.length!==2)return u;const f=(p=await r.provideReferences(a,c,{includeDeclaration:!1},s))==null?void 0:p.filter(w=>IC(a,w));return f&&f.length===1?f:u})}async function qa(o){const e=await o(),t=new Lo(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}vo("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(Yt),n=D_(i.definitionProvider,e,t,!1,zi.None);return qa(()=>n)});vo("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Yt),n=D_(i.definitionProvider,e,t,!0,zi.None);return qa(()=>n)});vo("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(Yt),n=K0(i.typeDefinitionProvider,e,t,!1,zi.None);return qa(()=>n)});vo("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Yt),n=K0(i.typeDefinitionProvider,e,t,!0,zi.None);return qa(()=>n)});vo("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(Yt),n=q0(i.declarationProvider,e,t,!1,zi.None);return qa(()=>n)});vo("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(Yt),n=q0(i.declarationProvider,e,t,!0,zi.None);return qa(()=>n)});vo("_executeReferenceProvider",(o,e,t)=>{const i=o.get(Yt),n=E_(i.referenceProvider,e,t,!1,!1,zi.None);return qa(()=>n)});vo("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(Yt),n=E_(i.referenceProvider,e,t,!1,!0,zi.None);return qa(()=>n)});vo("_executeImplementationProvider",(o,e,t)=>{const i=o.get(Yt),n=G0(i.implementationProvider,e,t,!1,zi.None);return qa(()=>n)});vo("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(Yt),n=G0(i.implementationProvider,e,t,!0,zi.None);return qa(()=>n)});Dr.appendMenuItem(Nt.EditorContext,{submenu:Nt.EditorContextPeek,title:C("peek.submenu","Peek"),group:"navigation",order:100});class Df{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof Df||Xt.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const hr=class hr extends ra{static all(){return hr._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of hl.wrap(t.menu))(i.id===Nt.EditorContext||i.id===Nt.EditorContextPeek)&&(i.when=be.and(e.precondition,i.when));return t}constructor(e,t){super(hr._patchConfig(t)),this.configuration=e,hr._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(oo),r=e.get(os),a=e.get(a_),c=e.get(Xy),u=e.get(Yt),f=e.get(Ri),g=t.getModel(),p=t.getPosition(),w=Df.is(i)?i:new Df(g,p),m=new cf(t,5),x=o_(this._getLocationModel(u,w.model,w.position,m.token),m.token).then(async k=>{var A;if(!k||m.token.isCancellationRequested)return;Er(k.ariaMessage);let D;if(k.referenceAt(g.uri,p)){const j=this._getAlternativeCommand(t);!hr._activeAlternativeCommands.has(j)&&hr._allSymbolNavigationCommands.has(j)&&(D=hr._allSymbolNavigationCommands.get(j))}const P=k.references.length;if(P===0){if(!this.configuration.muteMessage){const j=g.getWordAtPosition(p);(A=ko.get(t))==null||A.showMessage(this._getNoResultFoundMessage(j),p)}}else if(P===1&&D)hr._activeAlternativeCommands.add(this.desc.id),f.invokeFunction(j=>D.runEditorCommand(j,t,i,n).finally(()=>{hr._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(r,c,t,k,n)},k=>{s.error(k)}).finally(()=>{m.dispose()});return a.showWhile(x,250),x}async _onResult(e,t,i,n,s){const r=this._getGoToPreference(i);if(!(i instanceof Pr)&&(this.configuration.openInPeek||r==="peek"&&n.references.length>1))this._openInPeek(i,n,s);else{const a=n.firstReference(),c=n.references.length>1&&r==="gotoAndPeek",u=await this._openReference(i,e,a,this.configuration.openToSide,!c);c&&u?this._openInPeek(u,n,s):n.dispose(),r==="goto"&&t.put(a)}}async _openReference(e,t,i,n,s){let r;if(fO(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:U.collapseToStart(r),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(a){if(s){const c=a.getModel(),u=a.createDecorationsCollection([{range:r,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===c&&u.clear()},350)}return a}}_openInPeek(e,t,i){const n=Iu.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),Es(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};hr._allSymbolNavigationCommands=new Map,hr._activeAlternativeCommands=new Set;let kl=hr;class T_ extends kl{async _getLocationModel(e,t,i,n){return new Lo(await D_(e.definitionProvider,t,i,!1,n),C("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?C("noResultWord","No definition found for '{0}'",e.word):C("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}var vc;In((vc=class extends T_{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:vc.id,title:{...qt("actions.goToDecl.label","Go to Definition"),mnemonicTitle:C({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:O.hasDefinitionProvider,keybinding:[{when:O.editorTextFocus,primary:70,weight:100},{when:be.and(O.editorTextFocus,jE),primary:2118,weight:100}],menu:[{id:Nt.EditorContext,group:"navigation",order:1.1},{id:Nt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Hn.registerCommandAlias("editor.action.goToDeclaration",vc.id)}},vc.id="editor.action.revealDefinition",vc));var bc;In((bc=class extends T_{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:bc.id,title:qt("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:be.and(O.hasDefinitionProvider,O.isInEmbeddedEditor.toNegated()),keybinding:[{when:O.editorTextFocus,primary:ds(2089,70),weight:100},{when:be.and(O.editorTextFocus,jE),primary:ds(2089,2118),weight:100}]}),Hn.registerCommandAlias("editor.action.openDeclarationToTheSide",bc.id)}},bc.id="editor.action.revealDefinitionAside",bc));var yc;In((yc=class extends T_{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:yc.id,title:qt("actions.previewDecl.label","Peek Definition"),precondition:be.and(O.hasDefinitionProvider,go.notInPeekEditor,O.isInEmbeddedEditor.toNegated()),keybinding:{when:O.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Nt.EditorContextPeek,group:"peek",order:2}}),Hn.registerCommandAlias("editor.action.previewDeclaration",yc.id)}},yc.id="editor.action.peekDefinition",yc));class dN extends kl{async _getLocationModel(e,t,i,n){return new Lo(await q0(e.declarationProvider,t,i,!1,n),C("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?C("decl.noResultWord","No declaration found for '{0}'",e.word):C("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}var Rd;In((Rd=class extends dN{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Rd.id,title:{...qt("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:C({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:be.and(O.hasDeclarationProvider,O.isInEmbeddedEditor.toNegated()),menu:[{id:Nt.EditorContext,group:"navigation",order:1.3},{id:Nt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?C("decl.noResultWord","No declaration found for '{0}'",e.word):C("decl.generic.noResults","No declaration found")}},Rd.id="editor.action.revealDeclaration",Rd));In(class extends dN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:qt("actions.peekDecl.label","Peek Declaration"),precondition:be.and(O.hasDeclarationProvider,go.notInPeekEditor,O.isInEmbeddedEditor.toNegated()),menu:{id:Nt.EditorContextPeek,group:"peek",order:3}})}});class uN extends kl{async _getLocationModel(e,t,i,n){return new Lo(await K0(e.typeDefinitionProvider,t,i,!1,n),C("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?C("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):C("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}var Ad;In((Ad=class extends uN{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Ad.ID,title:{...qt("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:C({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:O.hasTypeDefinitionProvider,keybinding:{when:O.editorTextFocus,primary:0,weight:100},menu:[{id:Nt.EditorContext,group:"navigation",order:1.4},{id:Nt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Ad.ID="editor.action.goToTypeDefinition",Ad));var Od;In((Od=class extends uN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Od.ID,title:qt("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:be.and(O.hasTypeDefinitionProvider,go.notInPeekEditor,O.isInEmbeddedEditor.toNegated()),menu:{id:Nt.EditorContextPeek,group:"peek",order:4}})}},Od.ID="editor.action.peekTypeDefinition",Od));class hN extends kl{async _getLocationModel(e,t,i,n){return new Lo(await G0(e.implementationProvider,t,i,!1,n),C("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?C("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):C("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}var Fd;In((Fd=class extends hN{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Fd.ID,title:{...qt("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:C({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:O.hasImplementationProvider,keybinding:{when:O.editorTextFocus,primary:2118,weight:100},menu:[{id:Nt.EditorContext,group:"navigation",order:1.45},{id:Nt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Fd.ID="editor.action.goToImplementation",Fd));var Hd;In((Hd=class extends hN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Hd.ID,title:qt("actions.peekImplementation.label","Peek Implementations"),precondition:be.and(O.hasImplementationProvider,go.notInPeekEditor,O.isInEmbeddedEditor.toNegated()),keybinding:{when:O.editorTextFocus,primary:3142,weight:100},menu:{id:Nt.EditorContextPeek,group:"peek",order:5}})}},Hd.ID="editor.action.peekImplementation",Hd));class fN extends kl{_getNoResultFoundMessage(e){return e?C("references.no","No references found for '{0}'",e.word):C("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}In(class extends fN{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...qt("goToReferences.label","Go to References"),mnemonicTitle:C({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:be.and(O.hasReferenceProvider,go.notInPeekEditor,O.isInEmbeddedEditor.toNegated()),keybinding:{when:O.editorTextFocus,primary:1094,weight:100},menu:[{id:Nt.EditorContext,group:"navigation",order:1.45},{id:Nt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new Lo(await E_(e.referenceProvider,t,i,!0,!1,n),C("ref.title","References"))}});In(class extends fN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:qt("references.action.label","Peek References"),precondition:be.and(O.hasReferenceProvider,go.notInPeekEditor,O.isInEmbeddedEditor.toNegated()),menu:{id:Nt.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new Lo(await E_(e.referenceProvider,t,i,!1,!1,n),C("ref.title","References"))}});class U4 extends kl{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:qt("label.generic","Go to Any Symbol"),precondition:be.and(go.notInPeekEditor,O.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new Lo(this._references,C("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&C("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}Hn.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:En},{name:"position",description:"The position at which to start",constraint:Xt.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)=>{vn(En.isUri(e)),vn(Xt.isIPosition(t)),vn(Array.isArray(i)),vn(typeof n>"u"||typeof n=="string"),vn(typeof r>"u"||typeof r=="boolean");const a=o.get(os),c=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if($E(c))return c.setPosition(t),c.revealPositionInCenterIfOutsideViewport(t,0),c.invokeWithinContext(u=>{const f=new class extends U4{_getNoResultFoundMessage(g){return s||super._getNoResultFoundMessage(g)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);u.get(Ri).invokeFunction(f.run.bind(f),c)})}});Hn.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:En},{name:"position",description:"The position at which to start",constraint:Xt.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(Cs).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});Hn.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{vn(En.isUri(e)),vn(Xt.isIPosition(t));const i=o.get(Yt),n=o.get(os);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!$E(s)||!s.hasModel())return;const r=Iu.get(s);if(!r)return;const a=Es(u=>E_(i.referenceProvider,s.getModel(),Xt.lift(t),!1,!1,u).then(f=>new Lo(f,C("ref.title","References")))),c=new U(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(c,a,!1))})}});Hn.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function q4(o,e,t,i){const n=o.get(ua),s=o.get(Wf),r=o.get(Cs),a=o.get(Ri),c=o.get(oo);if(await i.item.resolve(zi.None),!i.part.location)return;const u=i.part.location,f=[],g=new Set(Dr.getMenuItems(Nt.EditorContext).map(w=>gO(w)?w.command.id:Vy()));for(const w of kl.all())g.has(w.desc.id)&&f.push(new gf(w.desc.id,pf.label(w.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const m=await n.createModelReference(u.uri);try{const x=new Df(m.object.textEditorModel,U.getStartPosition(u.range)),k=i.item.anchor.range;await a.invokeFunction(w.runEditorCommand.bind(w),e,x,k)}finally{m.dispose()}}));if(i.part.command){const{command:w}=i.part;f.push(new hp),f.push(new gf(w.id,w.title,void 0,!0,async()=>{try{await r.executeCommand(w.id,...w.arguments??[])}catch(m){c.notify({severity:s0.Error,source:i.item.provider.displayName,message:m})}}))}const p=e.getOption(128);s.showContextMenu({domForShadowRoot:p?e.getDomNode()??void 0:void 0,getAnchor:()=>{const w=fo(t);return{x:w.left,y:w.top+w.height+8}},getActions:()=>f,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function gN(o,e,t,i){const s=await o.get(ua).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,c=r.get(mn),u=go.inPeekEditor.getValue(c),f=!a&&t.getOption(89)&&!u;return new T_({openToSide:a,openInPeek:f,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new Df(s.object.textEditorModel,U.getStartPosition(i.range)),U.lift(i.range))}),s.dispose()}var G4=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)}},mh;class Iv{constructor(){this._entries=new c_(50)}get(e){const t=Iv._key(e);return this._entries.get(t)}set(e,t){const i=Iv._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const pN=Tl("IInlayHintsCache");Pl(pN,Iv,1);class DC{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 K4{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var ul;let Pp=(ul=class{static get(e){return e.getContribution(mh.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 dt,this._sessionDisposables=new dt,this._decorationsMetadata=new Map,this._ruleFactory=new TE(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(c=>{c.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,c;e.enabled==="onUnlessPressed"?(a=0,c=1):(a=1,c=0),this._activeRenderMode=a,this._sessionDisposables.add(pO.getInstance().event(u=>{if(!this._editor.hasModel())return;const f=u.altKey&&u.ctrlKey&&!(u.shiftKey||u.metaKey)?c: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(zn(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new ms(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new Ts;const c=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const u=n.token,f=await Sv.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){Nn(u)}finally{n.dispose(),c.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(zn(()=>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 c=Math.max(r.delay,1250);r.schedule(c)})),this._sessionDisposables.add(this._installDblClickGesture(()=>r.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new dt,t=e.add(new Gy(this._editor)),i=new dt;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 c=new Ts;i.add(zn(()=>c.dispose(!0))),r.item.resolve(c.token),this._activeInlayHintPart=r.part.command||r.part.location?new K4(r,s.hasTriggerModifier):void 0;const u=a.validatePosition(r.item.hint.position).lineNumber,f=new U(u,1,u,a.getLineMaxColumn(u)),g=this._getInlineHintsForRange(f);this._updateHintsDecorators([f],g),i.add(zn(()=>{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(gN,n,this._editor,r.location):_O.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(zi.None),zo(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>Xn.replace(U.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!mO(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(q4,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 o0&&(t==null?void 0:t.attachedData)instanceof DC)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:s0.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 iN(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(U.compareRangesUsingStarts)){const r=t.validateRange(new U(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!U.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=U.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var m,x;const i=[],n=(k,D,P,A,j)=>{const H={content:P,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:D.className,cursorStops:A,attachedData:j};i.push({item:k,classNameRef:D,decoration:{range:k.anchor.range,options:{description:"InlayHint",showIfCollapsed:k.anchor.range.isEmpty(),collapseOnReplaceEdit:!k.anchor.range.isEmpty(),stickiness:0,[k.anchor.direction]:this._activeRenderMode===0?H:void 0}}})},s=(k,D)=>{const P=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(k,P," ",D?Sh.Right:Sh.None)},{fontSize:r,fontFamily:a,padding:c,isUniform:u}=this._getLayoutInfo(),f="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(f,a);let g={line:0,totalLen:0};for(const k of t){if(g.line!==k.anchor.range.startLineNumber&&(g={line:k.anchor.range.startLineNumber,totalLen:0}),g.totalLen>mh._MAX_LABEL_LEN)continue;k.hint.paddingLeft&&s(k,!1);const D=typeof k.hint.label=="string"?[{label:k.hint.label}]:k.hint.label;for(let P=0;P<D.length;P++){const A=D[P],j=P===0,H=P===D.length-1,te={fontSize:`${r}px`,fontFamily:`var(${f}), ${Qx.fontFamily}`,verticalAlign:u?"baseline":"middle",unicodeBidi:"isolate"};zo(k.hint.textEdits)&&(te.cursor="default"),this._fillInColors(te,k.hint),(A.command||A.location)&&((m=this._activeInlayHintPart)==null?void 0:m.part.item)===k&&this._activeInlayHintPart.part.index===P&&(te.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(te.color=gs(vO),te.cursor="pointer")),c&&(j&&H?(te.padding=`1px ${Math.max(1,r/4)|0}px`,te.borderRadius=`${r/4|0}px`):j?(te.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,te.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):H?(te.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,te.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):te.padding="1px 0 1px 0");let J=A.label;g.totalLen+=J.length;let le=!1;const we=g.totalLen-mh._MAX_LABEL_LEN;if(we>0&&(J=J.slice(0,-we)+"…",le=!0),n(k,this._ruleFactory.createClassNameRef(te),Z4(J),H&&!k.hint.paddingRight?Sh.Right:Sh.None,new DC(k,P)),le)break}if(k.hint.paddingRight&&s(k,!0),i.length>mh._MAX_DECORATORS)break}const p=[];for(const[k,D]of this._decorationsMetadata){const P=(x=this._editor.getModel())==null?void 0:x.getDecorationRange(k);P&&e.some(A=>A.containsRange(P))&&(p.push(k),D.classNameRef.dispose(),this._decorationsMetadata.delete(k))}const w=hf.capture(this._editor);this._editor.changeDecorations(k=>{const D=k.deltaDecorations(p,i.map(P=>P.decoration));for(let P=0;P<D.length;P++){const A=i[P];this._decorationsMetadata.set(D[P],A)}}),w.restore(this._editor)}_fillInColors(e,t){t.kind===aL.Parameter?(e.backgroundColor=gs(bO),e.color=gs(yO)):t.kind===aL.Type?(e.backgroundColor=gs(wO),e.color=gs(SO)):(e.backgroundColor=gs(CO),e.color=gs(xO))}_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()}},mh=ul,ul.ID="editor.contrib.InlayHints",ul._MAX_DECORATORS=1500,ul._MAX_LABEL_LEN=43,ul);Pp=mh=G4([ih(1,Yt),ih(2,rr),ih(3,pN),ih(4,Cs),ih(5,oo),ih(6,Ri)],Pp);function Z4(o){return o.replace(/[ \t]/g," ")}Hn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;vn(En.isUri(t)),vn(U.isIRange(i));const{inlayHintsProvider:n}=o.get(Yt),s=await o.get(ua).createModelReference(t);try{const r=await Sv.create(n,s.object.textEditorModel,[U.lift(i)],zi.None),a=r.items.map(c=>c.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var X4=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},zl=function(o,e){return function(t,i){e(t,i,o)}};class _I extends Hm{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let Dv=class extends Ep{constructor(e,t,i,n,s,r,a,c,u){super(e,t,i,r,c,n,s,u),this._resolverService=a,this.hoverOrdinal=6}suggestHoverAnchor(e){var n;if(!Pp.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof o0&&i.attachedData instanceof DC?new _I(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof _I?new ta(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 Ys().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new Cr(this,e.range,[r],!1,0)),zo(s.item.hint.textEdits)&&n.emitOne(new Cr(this,e.range,[new Ys().appendText(C("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new Ys().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new Cr(this,e.range,[a],!1,1)),s.part.location||s.part.command){let u;const g=this._editor.getOption(78)==="altKey"?za?C("links.navigate.kb.meta.mac","cmd + click"):C("links.navigate.kb.meta","ctrl + click"):za?C("links.navigate.kb.alt.mac","option + click"):C("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?u=new Ys().appendText(C("hint.defAndCommand","Go to Definition ({0}), right click for more",g)):s.part.location?u=new Ys().appendText(C("hint.def","Go to Definition ({0})",g)):s.part.command&&(u=new Ys(`[${C("hint.cmd","Execute Command")}](${x4(s.part.command)} "${s.part.command.title}") (${g})`,{isTrusted:!0})),u&&n.emitOne(new Cr(this,e.range,[u],!1,1e4))}const c=await this._resolveInlayHintLabelPartHover(s,i);for await(const u of c)n.emitOne(u)}):ta.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return ta.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)?j0(this._languageFeaturesService.hoverProvider,r,new Xt(n.startLineNumber,n.startColumn),t).filter(a=>!fp(a.hover.contents)).map(a=>new Cr(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):ta.EMPTY}finally{s.dispose()}}};Dv=X4([zl(1,da),zl(2,la),zl(3,us),zl(4,f_),zl(5,jn),zl(6,ua),zl(7,Yt),zl(8,Cs)],Dv);class Z0 extends ht{constructor(e,t,i,n,s,r){super();const a=t.anchor,c=t.hoverParts;this._renderedHoverParts=this._register(new EC(e,i,c,r,s));const{showAtPosition:u,showAtSecondaryPosition:f}=Z0.computeHoverPositions(e,a.range,c);this.shouldAppearBeforeContent=c.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),w=f.getLineMinColumn(p.startLineNumber),m=new Xt(p.startLineNumber,w);n=g.convertViewPositionToModelPosition(m).column}const s=t.startLineNumber;let r=t.startColumn,a;for(const f of i){const g=f.range,p=g.startLineNumber===s,w=g.endLineNumber===s;if(p&&w){const x=g.startColumn,k=Math.min(r,x);r=Math.max(k,n)}f.forceShowAtRange&&(a=g)}let c,u;if(a){const f=a.getStartPosition();c=f,u=f}else c=t.getStartPosition(),u=new Xt(s,r);return{showAtPosition:c,showAtSecondaryPosition:u}}}class Y4{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 Pb=class Pb extends ht{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 ht.None;let i=t[0].range;for(const s of t){const r=s.range;i=U.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:Pb._DECORATION_OPTIONS}]),zn(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new wv(n),r={fragment:this._fragment,statusBar:s,...i},a=new dt;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 c=this._renderStatusBar(this._fragment,s);return c&&(a.add(c),this._renderedParts.push({type:"statusBar",hoverElement:c.hoverElement,actions:c.actions})),zn(()=>{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 Y4(e,t)}_registerListenersOnRenderedParts(){const e=new dt;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(_n(n,Kn.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(_n(n,Kn.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof Ep&&!(i instanceof Dv));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof Ip)}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 _f;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};Pb._DECORATION_OPTIONS=Ji.register({description:"content-hover-highlight",className:"hoverHighlight"});let EC=Pb;var J4=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},mI=function(o,e){return function(t,i){e(t,i,o)}};let TC=class extends ht{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new Bi),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(_C,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new yv(this._editor,this._participants),this._hoverOperation=this._register(new YM(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of Bu.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 JM(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(yl(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(yl(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(xy.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,c=s&&this._contentHoverWidget.isMouseGettingCloser(s.event.posx,s.event.posy);return a&&c?(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 Z0(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 Ww(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 Ww(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||!qy(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new Ww(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}};TC=J4([mI(1,Ri),mI(2,us)],TC);var Q4=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},vI=function(o,e){return function(t,i){e(t,i,o)}},PC,Wd;let Gs=(Wd=class extends ht{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new Bi),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new dt,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new ms(()=>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(PC.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?qy(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 c=this._isMouseOnContentHoverWidget(r);return a&&c},n=r=>{var u;const a=this._isMouseOnContentHoverWidget(r),c=((u=this._contentWidget)==null?void 0:u.isColorPickerVisible)??!1;return a&&c},s=(r,a)=>{var c,u,f,g;return(a&&((u=this._contentWidget)==null?void 0:u.containsNode((c=r.event.browserEvent.view)==null?void 0:c.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,c,u,f;if(this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._mouseMoveEvent=e,(a=this._contentWidget)!=null&&a.isFocused||(c=this._contentWidget)!=null&&c.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 c;if(!e)return;const i=(c=e.target.element)==null?void 0:c.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===GM||t.commandId===$y||t.commandId===Uy)&&((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)||If.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(TC,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()}},PC=Wd,Wd.ID="editor.contrib.contentHover",Wd);Gs=PC=Q4([vI(1,Ri),vI(2,us)],Gs);const Ak=class Ak extends ht{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!==BM||!i.range)return;const n=this._editor.getContribution(Gs.ID);if(n&&!n.isColorPickerVisible){const s=new U(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};Ak.ID="editor.contrib.colorContribution";let Ev=Ak;qi(Ev.ID,Ev,2);Bu.register(Ip);var _N=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)}},MC,NC,Bd;let Du=(Bd=class extends ht{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=O.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=O.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(RC,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(MC.ID)}},MC=Bd,Bd.ID="editor.contrib.standaloneColorPickerController",Bd);Du=MC=_N([Ih(1,mn),Ih(2,Ri)],Du);qi(Du.ID,Du,1);const bI=8,ez=22;var zd;let RC=(zd=class extends ht{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 Bi),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(Dp,this._editor),this._position=(g=this._editor._getViewModel())==null?void 0:g.getPrimaryCursorState().modelState.position;const c=this._editor.getSelection(),u=c?{startLineNumber:c.startLineNumber,startColumn:c.startColumn,endLineNumber:c.endLineNumber,endColumn:c.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},f=this._register(df(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 m;const w=(m=p.target.element)==null?void 0:m.classList;w&&w.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 NC.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 tz(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 Lp(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 wv(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 c=a.body,u=c.saturationBox.domNode.clientWidth,f=c.domNode.clientWidth-u-ez-bI,g=a.body.enterButton;g==null||g.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,w=p.pickedColorNode;w.style.width=u+bI+"px";const m=p.originalColorNode;m.style.width=f+"px";const x=a.header.closeButton;x==null||x.onClicked(()=>{this.hide()}),t&&(g&&(g.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},NC=zd,zd.ID="editor.contrib.standaloneColorPickerWidget",zd);RC=NC=_N([Ih(3,Ri),Ih(4,us),Ih(5,Yt),Ih(6,Ml)],RC);class tz{constructor(e,t){this.value=e,this.foundInEditor=t}}class iz extends ra{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...qt("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:C({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:Nt.CommandPalette}],metadata:{description:qt("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=Du.get(t))==null||i.showOrFocus()}}class nz extends je{constructor(){super({id:"editor.action.hideColorPicker",label:C({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:O.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:qt("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=Du.get(t))==null||i.hide()}}class sz extends je{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:C({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:O.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:qt("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=Du.get(t))==null||i.insertColor()}}ue(nz);ue(sz);In(iz);class oc{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),c=t.charCodeAt(r);if(a!==c&&!(a>=65&&a<=90&&a+32===c)&&!(c>=65&&c<=90&&c+32===a))return!1}return!0}_createOperationsForBlockComment(e,t,i,n,s,r){const a=e.startLineNumber,c=e.startColumn,u=e.endLineNumber,f=e.endColumn,g=s.getLineContent(a),p=s.getLineContent(u);let w=g.lastIndexOf(t,c-1+t.length),m=p.indexOf(i,f-1-i.length);if(w!==-1&&m!==-1)if(a===u)g.substring(w+t.length,m).indexOf(i)>=0&&(w=-1,m=-1);else{const k=g.substring(w+t.length),D=p.substring(0,m);(k.indexOf(i)>=0||D.indexOf(i)>=0)&&(w=-1,m=-1)}let x;w!==-1&&m!==-1?(n&&w+t.length<g.length&&g.charCodeAt(w+t.length)===32&&(t=t+" "),n&&m>0&&p.charCodeAt(m-1)===32&&(i=" "+i,m-=1),x=oc._createRemoveBlockCommentOperations(new U(a,w+t.length+1,u,m+1),t,i)):(x=oc._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=x.length===1?i:null);for(const k of x)r.addTrackedEditOperation(k.range,k.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return U.isEmpty(e)?n.push(Xn.delete(new U(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(Xn.delete(new U(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(Xn.delete(new U(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return U.isEmpty(e)?s.push(Xn.replace(new U(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(Xn.insert(new Xt(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(Xn.insert(new Xt(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 vi(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 vi(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class el{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 c=[];for(let u=0,f=i-t+1;u<f;u++)c[u]={ignore:!1,commentStr:a,commentStrOffset:0,commentStrLength:a.length};return c}static _analyzeLines(e,t,i,n,s,r,a,c){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 w=n[g],m=s+g;if(m===s&&a){w.ignore=!0;continue}const x=i.getLineContent(m),k=wS(x);if(k===-1){w.ignore=r,w.commentStrOffset=x.length;continue}if(u=!1,w.ignore=!1,w.commentStrOffset=k,f&&!oc._haystackHasNeedleAtOffset(x,w.commentStr,k)&&(e===0?f=!1:e===1||(w.ignore=!0)),f&&t){const D=k+w.commentStrLength;D<x.length&&x.charCodeAt(D)===32&&(w.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,c){const u=el._gatherPreflightCommentStrings(i,n,s,c);return u===null?{supported:!1}:el._analyzeLines(e,t,i,u,n,r,a,c)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=el._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(el._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new Xt(n.positionLineNumber,n.positionColumn);for(let a=0,c=s.length;a<c;a++)t.addEditOperation(s[a].range,s[a].text),U.isEmpty(s[a].range)&&U.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 c=e.getLineContent(s).lastIndexOf(i,a-1),u=e.getLineContent(r).indexOf(n,t.endColumn-1-i.length);return c!==-1&&u===-1&&(u=e.getLineContent(s).indexOf(n,c+i.length),r=s),c===-1&&u!==-1&&(c=e.getLineContent(r).lastIndexOf(i,u),s=r),t.isEmpty()&&(c===-1||u===-1)&&(c=e.getLineContent(s).indexOf(i),c!==-1&&(u=e.getLineContent(s).indexOf(n,c+i.length))),c!==-1&&e.getLineContent(s).charCodeAt(c+i.length)===32&&(i+=" "),u!==-1&&e.getLineContent(r).charCodeAt(u-1)===32&&(n=" "+n,u-=1),c!==-1&&u!==-1?oc._createRemoveBlockCommentOperations(new U(s,c+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 c=this._attemptRemoveBlockComment(e,i,r,a);if(!c){if(i.isEmpty()){const u=e.getLineContent(i.startLineNumber);let f=wS(u);f===-1&&(f=u.length),c=oc._createAddBlockCommentOperations(new U(i.startLineNumber,f+1,i.startLineNumber,u.length+1),r,a,this._insertSpace)}else c=oc._createAddBlockCommentOperations(new U(i.startLineNumber,e.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),r,a,this._insertSpace);c.length===1&&(this._deltaColumn=r.length+1)}this._selectionId=t.trackSelection(i);for(const u of c)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 U(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=el._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 vi(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(Xn.delete(new U(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(Xn.insert(new Xt(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 c=0,u=t.length;c<u;c++){if(t[c].ignore)continue;const f=e.getLineContent(i+c);let g=0;for(let p=0,w=t[c].commentStrOffset;g<s&&p<w;p++)g=el.nextVisibleColumn(g,n,f.charCodeAt(p)===9,1);g<s&&(s=g)}s=Math.floor(s/n)*n;for(let c=0,u=t.length;c<u;c++){if(t[c].ignore)continue;const f=e.getLineContent(i+c);let g=0;for(r=0,a=t[c].commentStrOffset;g<s&&r<a;r++)g=el.nextVisibleColumn(g,n,f.charCodeAt(r)===9,1);g>s?t[c].commentStrOffset=r-1:t[c].commentStrOffset=r}}}class X0 extends je{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(xs);if(!t.hasModel())return;const n=t.getModel(),s=[],r=n.getOptions(),a=t.getOption(23),c=t.getSelections().map((f,g)=>({selection:f,index:g,ignoreFirstLine:!1}));c.sort((f,g)=>U.compareRangesUsingStarts(f.selection,g.selection));let u=c[0];for(let f=1;f<c.length;f++){const g=c[f];u.selection.endLineNumber===g.selection.startLineNumber&&(u.index<g.index?g.ignoreFirstLine=!0:(u.ignoreFirstLine=!0,u=g))}for(const f of c)s.push(new el(i,f.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,f.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class oz extends X0{constructor(){super(0,{id:"editor.action.commentLine",label:C("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:Nt.MenubarEditMenu,group:"5_insert",title:C({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class rz extends X0{constructor(){super(1,{id:"editor.action.addCommentLine",label:C("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2081),weight:100}})}}class az extends X0{constructor(){super(2,{id:"editor.action.removeCommentLine",label:C("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2099),weight:100}})}}class lz extends je{constructor(){super({id:"editor.action.blockComment",label:C("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:Nt.MenubarEditMenu,group:"5_insert",title:C({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(xs);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new oc(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}ue(oz);ue(rz);ue(az);ue(lz);var cz=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},Zc=function(o,e){return function(t,i){e(t,i,o)}},AC,Vd;let Ef=(Vd=class{static get(e){return e.getContribution(AC.ID)}constructor(e,t,i,n,s,r,a,c){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=n,this._keybindingService=s,this._menuService=r,this._configurationService=a,this._workspaceContextService=c,this._toDispose=new dt,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&&kO(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 c of r)if(c instanceof LO){const u=this._getMenuActions(e,c.item.submenu);u.length>0&&(i.push(new lL(c.id,c.label,u)),a++)}else i.push(c),a++;a&&i.push(new hp)}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=fo(this._editor.getDomNode()),c=a.left+r.left,u=a.top+r.top+r.height;n={x:c,y:u}}const s=this._editor.getOption(128)&&!SS;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 bS(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const c=r;return typeof c.getActionViewItem=="function"?c.getActionViewItem():new bS(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()||IO(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 lL(`menu-action-${++i}`,u,f,void 0),r=(u,f,g,p,w)=>{if(!f)return n({label:u,enabled:f,run:()=>{}});const m=k=>()=>{this._configurationService.updateValue(g,k)},x=[];for(const k of w)x.push(n({label:k.label,checked:p===k.value,run:m(k.value)}));return s(u,x)},a=[];a.push(n({label:C("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new hp),a.push(n({label:C("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(r(C("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:C("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:C("context.minimap.size.fill","Fill"),value:"fill"},{label:C("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(r(C("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:C("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:C("context.minimap.slider.always","Always"),value:"always"}]));const c=this._editor.getOption(128)&&!SS;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:c?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()}},AC=Vd,Vd.ID="editor.contrib.contextmenu",Vd);Ef=AC=cz([Zc(1,Wf),Zc(2,my),Zc(3,mn),Zc(4,us),Zc(5,Ru),Zc(6,jn),Zc(7,lf)],Ef);class dz extends je{constructor(){super({id:"editor.action.showContextMenu",label:C("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:O.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=Ef.get(t))==null||i.showContextMenu()}}qi(Ef.ID,Ef,2);ue(dz);class zw{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 Vw{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const Mb=class Mb extends ht{static get(e){return e.getContribution(Mb.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 zw(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new Vw(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 Vw(new zw(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 Vw(new zw(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}};Mb.ID="editor.contrib.cursorUndoRedoController";let Tf=Mb;class uz extends je{constructor(){super({id:"cursorUndo",label:C("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:O.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=Tf.get(t))==null||n.cursorUndo()}}class hz extends je{constructor(){super({id:"cursorRedo",label:C("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=Tf.get(t))==null||n.cursorRedo()}}qi(Tf.ID,Tf,0);ue(uz);ue(hz);class fz{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 U(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 vi(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 vi(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 vi(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 vi(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 vi(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 nh(o){return za?o.altKey:o.ctrlKey}const Zl=class Zl extends ht{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)||(nh(e)&&(this._modifierPressed=!0),this._mouseDown&&nh(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(nh(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Zl.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}nh(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 Xt(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 vi(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new vi(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(nh(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Zl.ID,new fz(this._dragSelection,t,nh(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 U(e.lineNumber,e.column,e.lineNumber,e.column),options:Zl._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()}};Zl.ID="editor.contrib.dragAndDrop",Zl.TRIGGER_KEY_VALUE=za?6:5,Zl._DECORATION_OPTIONS=Ji.register({description:"dnd-target",className:"dnd-target"});let Tv=Zl;qi(Tv.ID,Tv,2);qi(xl.ID,xl,0);Vf(XS);ii(new class extends mo{constructor(){super({id:bM,precondition:O0,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=xl.get(e))==null?void 0:t.changePasteType()}});ii(new class extends mo{constructor(){super({id:"editor.hidePasteWidget",precondition:O0,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=xl.get(e))==null||t.clearWidgets()}});var jd;ue((jd=class extends je{constructor(){super({id:"editor.action.pasteAs",label:C("pasteAs","Paste As..."),alias:"Paste As...",precondition:O.writable,metadata:{description:"Paste as",args:[{name:"args",schema:jd.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=xl.get(t))==null?void 0:s.pasteAs(n?new Vn(n):void 0)}},jd.argsSchema={type:"object",properties:{kind:{type:"string",description:C("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.")}}},jd));ue(class extends je{constructor(){super({id:"editor.action.pasteAsText",label:C("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:O.writable})}run(o,e){var t;return(t=xl.get(e))==null?void 0:t.pasteAs({providerId:wu.id})}});class gz{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 yI{constructor(e){this.identifier=e}}const mN=Tl("treeViewsDndService");Pl(mN,gz,1);var pz=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},im=function(o,e){return function(t,i){e(t,i,o)}},OC;const vN="editor.experimental.dropIntoEditor.defaultProvider",bN="editor.changeDropType",Y0=new rn("dropWidgetVisible",!1,C("dropWidgetVisible","Whether the drop widget is showing"));var $d;let Pf=($d=class extends ht{static get(e){return e.getContribution(OC.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=KS.getInstance(),this._dropProgressManager=this._register(t.createInstance(mv,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(bv,"dropIntoEditor",e,Y0,{id:bN,label:C("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=Es(async r=>{const a=new dt,c=a.add(new cf(e,1,void 0,r));try{const u=await this.extractDataTransferData(i);if(u.size===0||c.token.isCancellationRequested)return;const f=e.getModel();if(!f)return;const g=this._languageFeaturesService.documentDropEditProvider.ordered(f).filter(w=>w.dropMimeTypes?w.dropMimeTypes.some(m=>u.matches(m)):!0),p=a.add(await this.getDropEdits(g,f,t,u,c));if(c.token.isCancellationRequested)return;if(p.edits.length){const w=this.getInitialActiveEditIndex(f,p.edits),m=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([U.fromPositions(t)],{activeEditIndex:w,allEdits:p.edits},m,async x=>x,r)}}finally{a.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,C("dropIntoEditorProgress","Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),this._currentOperation=n}async getDropEdits(e,t,i,n,s){const r=new dt,a=await o_(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),c=vl(a??[]).flat();return{edits:mM(c),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(vN,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new Vn(s),a=t.findIndex(c=>r.value===c.providerId&&c.handledMimeType&&lM(n,[c.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new aM;const t=uM(e.dataTransfer);if(this.treeItemsTransfer.hasData(yI.prototype)){const i=this.treeItemsTransfer.getData(yI.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}},OC=$d,$d.ID="editor.contrib.dropIntoEditorController",$d);Pf=OC=pz([im(1,Ri),im(2,jn),im(3,Yt),im(4,mN)],Pf);qi(Pf.ID,Pf,2);Vf(ZS);ii(new class extends mo{constructor(){super({id:bN,precondition:Y0,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=Pf.get(e))==null||i.changeDropType()}});ii(new class extends mo{constructor(){super({id:"editor.hideDropWidget",precondition:Y0,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=Pf.get(e))==null||i.clearWidgets()}});aa.as(l_.Configuration).registerConfiguration({...by,properties:{[vN]:{type:"object",scope:5,description:C("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});const Us=class Us{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===Us._FIND_MATCH_DECORATION||n===Us._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,Us._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,Us._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 U(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,Us._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=Us._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=Us._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 w=1,m=e.length;w<m;w++){const x=e[w].range;p+f>=x.startLineNumber?x.endLineNumber>p&&(p=x.endLineNumber):(s.push({range:new U(g,1,p,1),options:Us._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),g=x.startLineNumber,p=x.endLineNumber)}s.push({range:new U(g,1,p,1),options:Us._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const r=new Array(e.length);for(let a=0,c=e.length;a<c;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,Us._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}};Us._CURRENT_FIND_MATCH_DECORATION=Ji.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:gs(yw),position:Oa.Center},minimap:{color:gs(cL),position:1}}),Us._FIND_MATCH_DECORATION=Ji.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:gs(yw),position:Oa.Center},minimap:{color:gs(cL),position:1}}),Us._FIND_MATCH_NO_OVERVIEW_DECORATION=Ji.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),Us._FIND_MATCH_ONLY_OVERVIEW_DECORATION=Ji.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:gs(yw),position:Oa.Center}}),Us._RANGE_HIGHLIGHT_DECORATION=Ji.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),Us._FIND_SCOPE_DECORATION=Ji.register({description:"find-scope",className:"findScope",isWholeLine:!0});let FC=Us;class _z{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)=>U.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 yN(o,e){if(o&&o[0]!==""){const t=wI(o,e,"-"),i=wI(o,e,"_");return t&&!i?SI(o,e,"-"):!t&&i?SI(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():DO(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 wI(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function SI(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=yN([n[a]],r)+t}),s.slice(0,-1)}class CI{constructor(e){this.staticValue=e,this.kind=0}}class mz{constructor(e){this.pieces=e,this.kind=1}}class Mf{static fromStaticValue(e){return new Mf([kd.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new CI(""):e.length===1&&e[0].staticValue!==null?this._state=new CI(e[0].staticValue):this._state=new mz(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?yN(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=Mf._substitute(r.matchIndex,e);if(r.caseOps!==null&&r.caseOps.length>0){const c=[],u=r.caseOps.length;let f=0;for(let g=0,p=a.length;g<p;g++){if(f>=u){c.push(a.slice(g));break}switch(r.caseOps[f]){case"U":c.push(a[g].toUpperCase());break;case"u":c.push(a[g].toUpperCase()),f++;break;case"L":c.push(a[g].toLowerCase());break;case"l":c.push(a[g].toLowerCase()),f++;break;default:c.push(a[g])}}a=c.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 kd{static staticValue(e){return new kd(e,-1,null)}static caseOps(e,t){return new kd(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 vz{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++]=kd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=kd.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=kd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new Mf(this._result)}}function bz(o){if(!o||o.length===0)return new Mf(null);const e=[],t=new vz(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 c=o.charCodeAt(i+1);if(48<=c&&c<=57){i++,a=a*10+(c-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 Al=new rn("findWidgetVisible",!1);Al.toNegated();const Yy=new rn("findInputFocussed",!1),J0=new rn("replaceInputFocussed",!1),nm={primary:545,mac:{primary:2593}},sm={primary:565,mac:{primary:2613}},om={primary:560,mac:{primary:2608}},rm={primary:554,mac:{primary:2602}},am={primary:558,mac:{primary:2606}},Mn={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"},rc=19999,yz=240;class Zg{constructor(e,t){this._toDispose=new dt,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new r_,this._decorations=new FC(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new ms(()=>{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,Qs(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)},yz)):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 c=a.endLineNumber;return a.endColumn===1&&(c=c-1),new U(a.startLineNumber,1,c,this._editor.getModel().getLineMaxColumn(c))}return a}));const n=this._findMatches(i,!1,rc);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=UE(n.map(c=>c.range),c=>U.compareRangesUsingStarts(c,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 Xt(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()<rc){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=Zg._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 c=new Xt(s,r),u=a.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1);if(u&&u.range.isEmpty()&&u.range.getStartPosition().equals(c)&&(c=this._prevSearchPosition(c),u=a.findPreviousMatch(this._state.searchString,c,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 Xt(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<rc){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=Zg._getSearchRange(this._editor.getModel(),s);r.getEndPosition().isBefore(e)&&(e=r.getStartPosition()),e.isBefore(r.getStartPosition())&&(e=r.getStartPosition());const{lineNumber:a,column:c}=e,u=this._editor.getModel();let f=new Xt(a,c),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?bz(this._state.replaceString):Mf.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 s_(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new Xt(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=>Zg._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>=rc?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new EO(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 c;const u=this._state.preserveCase;a.hasReplacementPatterns||u?c=s.replace(i,function(){return a.buildReplaceString(arguments,u)}):c=s.replace(i,a.buildReplaceString(null,u));const f=new qE(r,c,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 _z(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 vi(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 Nb=class Nb extends d_{constructor(e,t,i){super(),this._hideSoon=this._register(new ms(()=>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:md(KE),inputActiveOptionForeground:md(GE),inputActiveOptionBackground:md(Xx)},s=this._register(CS());this.caseSensitive=this._register(new TO({appendTitle:this._keybindingLabelFor(Mn.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 PO({appendTitle:this._keybindingLabelFor(Mn.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 MO({appendTitle:this._keybindingLabelFor(Mn.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(_n(this._domNode,Kn.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(_n(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 Nb.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")}};Nb.ID="editor.contrib.findOptionsWidget";let HC=Nb;function lm(o,e){return o===1?!0:o===2?!1:e}class wz extends ht{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return lm(this._isRegexOverride,this._isRegex)}get wholeWord(){return lm(this._wholeWordOverride,this._wholeWord)}get matchCase(){return lm(this._matchCaseOverride,this._matchCase)}get preserveCase(){return lm(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 Bi),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"&&(U.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,c=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(w=>!U.equalsRange(w,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),c!==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>=rc}}const Sz=C("defaultLabel","input"),Cz=C("label.preserveCaseToggle","Preserve Case");class xz extends ZE{constructor(e){super({icon:Ci.preserveCase,title:Cz+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ky("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class kz extends d_{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new Bi),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Bi),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Bi),this._onInput=this._register(new Bi),this._onKeyUp=this._register(new Bi),this._onPreserveCaseKeyDown=this._register(new Bi),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||Sz;const s=n.appendPreserveCaseLabel||"",r=n.history||[],a=!!n.flexibleHeight,c=!!n.flexibleWidth,u=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new NO(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:n.showHistoryHint,flexibleHeight:a,flexibleWidth:c,flexibleMaxHeight:u,inputBoxStyles:n.inputBoxStyles})),this.preserveCase=this._register(new xz({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 w=f.indexOf(this.domNode.ownerDocument.activeElement);if(w>=0){let m=-1;p.equals(17)?m=(w+1)%f.length:p.equals(15)&&(w===0?m=f.length-1:m=w-1),p.equals(9)?(f[w].blur(),this.inputBox.focus()):m>=0&&f[m].focus(),tv.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 wN=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},SN=function(o,e){return function(t,i){e(t,i,o)}};const Q0=new rn("suggestWidgetVisible",!1,C("suggestWidgetVisible","Whether suggestion are visible")),ek="historyNavigationWidgetFocus",CN="historyNavigationForwardsEnabled",xN="historyNavigationBackwardsEnabled";let _l;const cm=[];function kN(o,e){if(cm.includes(e))throw new Error("Cannot register the same widget multiple times");cm.push(e);const t=new dt,i=new rn(ek,!1).bindTo(o),n=new rn(CN,!0).bindTo(o),s=new rn(xN,!0).bindTo(o),r=()=>{i.set(!0),_l=e},a=()=>{i.set(!1),_l===e&&(_l=void 0)};return AO(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(zn(()=>{cm.splice(cm.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let WC=class extends RO{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(kN(s,this.inputBox))}};WC=wN([SN(3,mn)],WC);let BC=class extends kz{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(kN(r,this.inputBox))}};BC=wN([SN(3,mn)],BC);Ua.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:be.and(be.has(ek),be.equals(xN,!0),be.not("isComposing"),Q0.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{_l==null||_l.showPreviousValue()}});Ua.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:be.and(be.has(ek),be.equals(CN,!0),be.not("isComposing"),Q0.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{_l==null||_l.showNextValue()}});function xI(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 kI=ts("find-collapsed",Ci.chevronRight,C("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),LI=ts("find-expanded",Ci.chevronDown,C("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),Lz=ts("find-selection",Ci.selection,C("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),Iz=ts("find-replace",Ci.replace,C("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),Dz=ts("find-replace-all",Ci.replaceAll,C("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),Ez=ts("find-previous-match",Ci.arrowUp,C("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),Tz=ts("find-next-match",Ci.arrowDown,C("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),Pz=C("label.findDialog","Find / Replace"),Mz=C("label.find","Find"),Nz=C("placeholder.find","Find"),Rz=C("label.previousMatchButton","Previous Match"),Az=C("label.nextMatchButton","Next Match"),Oz=C("label.toggleSelectionFind","Find in Selection"),Fz=C("label.closeButton","Close"),Hz=C("label.replace","Replace"),Wz=C("placeholder.replace","Replace"),Bz=C("label.replaceButton","Replace"),zz=C("label.replaceAllButton","Replace All"),Vz=C("label.toggleReplaceButton","Toggle Replace"),jz=C("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",rc),$z=C("label.matchesLocation","{0} of {1}"),II=C("label.noResults","No results"),ma=419,Uz=275,qz=Uz-54;let _g=69;const Gz=33,DI="ctrlEnterReplaceAll.windows.donotask",EI=za?256:2048;class jw{constructor(e){this.afterLineNumber=e,this.heightInPx=Gz,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function TI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function PI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const Rb=class Rb extends d_{constructor(e,t,i,n,s,r,a,c,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=c,this._notificationService=u,this._ctrlEnterReplaceAllWarningPrompted=!!c.getBoolean(DI,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new Tc(500),this._register(zn(()=>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 w=this._codeEditor.getOption(41).addExtraSpaceOnTop;w&&!this._viewZone&&(this._viewZone=new jw(0),this._showViewZone()),!w&&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=Yy.bindTo(r),this._findFocusTracker=this._register(df(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=J0.bindTo(r),this._replaceFocusTracker=this._register(df(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 jw(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 Rb.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=gr(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,Nn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=_g+"px",this._state.matchesCount>=rc?this._matchesCount.title=jz: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>=rc&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=r0($z,n,i)}else e=II;this._matchesCount.appendChild(document.createTextNode(e)),Er(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),_g=Math.max(_g,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===II)return i===""?C("ariaSearchNoResultEmpty","{0} found",e):C("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=C("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 C("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=fo(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 c=OO(this._domNode).left;r>c&&(t=!1);const u=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());n.left+(u?u.left:0)>c&&(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 jw(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&&gr(this._domNode)>ma){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=gr(this._findInput.domNode);return}if(ma+28+n>=i&&(r=!0),ma+28+n-_g>=i&&(a=!0),ma+28+n-_g>=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 c=this._findInput.inputBox.element.clientWidth;c>0&&(this._replaceInput.width=c)}else this._isReplaceVisible&&(this._replaceInput.width=gr(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&&!U.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(EI|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 TI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return PI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(EI|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{gy&&zf&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(C("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(DI,!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 TI(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return PI(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 WC(null,this._contextViewProvider,{width:qz,label:Mz,placeholder:Nz,appendCaseSensitiveLabel:this._keybindingLabelFor(Mn.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(Mn.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(Mn.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:()=>xI(this._keybindingService),inputBoxStyles:uL,toggleStyles:dL},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()})),FO&&this._register(this._findInput.onMouseDown(f=>this._onFindInputMouseDown(f))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(CS());this._prevBtn=this._register(new sh({label:Rz+this._keybindingLabelFor(Mn.PreviousMatchFindAction),icon:Ez,hoverDelegate:i,onTrigger:()=>{Ch(this._codeEditor.getAction(Mn.PreviousMatchFindAction)).run().then(void 0,Nn)}},this._hoverService)),this._nextBtn=this._register(new sh({label:Az+this._keybindingLabelFor(Mn.NextMatchFindAction),icon:Tz,hoverDelegate:i,onTrigger:()=>{Ch(this._codeEditor.getAction(Mn.NextMatchFindAction)).run().then(void 0,Nn)}},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 ZE({icon:Lz,title:Oz+this._keybindingLabelFor(Mn.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:md(Xx),inputActiveOptionBorder:md(KE),inputActiveOptionForeground:md(GE)})),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 sh({label:Fz+this._keybindingLabelFor(Mn.CloseFindWidgetCommand),icon:XE,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 BC(null,void 0,{label:Hz,placeholder:Wz,appendPreserveCaseLabel:this._keybindingLabelFor(Mn.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>xI(this._keybindingService),inputBoxStyles:uL,toggleStyles:dL},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(CS());this._replaceBtn=this._register(new sh({label:Bz+this._keybindingLabelFor(Mn.ReplaceOneAction),icon:Iz,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:f=>{f.equals(1026)&&(this._closeBtn.focus(),f.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new sh({label:zz+this._keybindingLabelFor(Mn.ReplaceAllAction),icon:Dz,hoverDelegate:r,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const a=document.createElement("div");a.className="replace-part",a.appendChild(this._replaceInput.domNode);const c=document.createElement("div");c.className="replace-actions",a.appendChild(c),c.appendChild(this._replaceBtn.domNode),c.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new sh({label:Vz,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=gr(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=Pz,this._domNode.role="dialog",this._domNode.style.width=`${ma}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 yh(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let u=ma;this._register(this._resizeSash.onDidStart(()=>{u=gr(this._domNode)})),this._register(this._resizeSash.onDidChange(f=>{this._resized=!0;const g=u+f.startX-f.currentX;if(g<ma)return;const p=parseFloat(HO(this._domNode).maxWidth)||0;g>p||(this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=gr(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const f=gr(this._domNode);if(f<ma)return;let g=ma;if(!this._resized||f===ma){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=gr(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};Rb.ID="editor.contrib.findWidget";let zC=Rb;class sh extends d_{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+yn.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??ky("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(...yn.asClassNameArray(kI)),this._domNode.classList.add(...yn.asClassNameArray(LI))):(this._domNode.classList.remove(...yn.asClassNameArray(LI)),this._domNode.classList.add(...yn.asClassNameArray(kI)))}}vy((o,e)=>{const t=o.getColor(EE);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${dp(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(WO);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${dp(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(bl);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(BO);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(zO);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});var LN=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},tr=function(o,e){return function(t,i){e(t,i,o)}},VC;const Kz=524288;function jC(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)<Kz)return o.getModel().getValueInRange(i)}return null}var Ud;let po=(Ud=class extends ht{get editor(){return this._editor}static get(e){return e.getContribution(VC.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=Al.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new Tc(500),this._state=this._register(new wz),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!!Yy.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=up(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=jC(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=up(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=jC(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 Zg(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(C("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)}},VC=Ud,Ud.ID="editor.contrib.findController",Ud);po=VC=LN([tr(1,mn),tr(2,Wc),tr(3,Bf),tr(4,oo),tr(5,f_)],po);let $C=class extends po{constructor(e,t,i,n,s,r,a,c,u){super(e,i,a,c,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 zC(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new HC(this._editor,this._state,this._keybindingService))}};$C=LN([tr(1,my),tr(2,mn),tr(3,us),tr(4,Mr),tr(5,oo),tr(6,Wc),tr(7,Bf),tr(8,f_)],$C);const Zz=YE(new JE({id:Mn.StartFindAction,label:C("startFindAction","Find"),alias:"Find",precondition:be.or(O.focus,be.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Nt.MenubarEditMenu,group:"3_find",title:C({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));Zz.addImplementation(0,(o,e,t)=>{const i=po.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 Xz={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 Yz extends je{constructor(){super({id:Mn.StartFindWithArgs,label:C("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:Xz})}async run(e,t,i){const n=po.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 Jz extends je{constructor(){super({id:Mn.StartFindWithSelection,label:C("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=po.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 IN extends je{async run(e,t){const i=po.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 Qz extends IN{constructor(){super({id:Mn.NextMatchFindAction,label:C("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:O.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:be.and(O.focus,Yy),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class eV extends IN{constructor(){super({id:Mn.PreviousMatchFindAction,label:C("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:O.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:be.and(O.focus,Yy),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class tV extends je{constructor(){super({id:Mn.GoToMatchFindAction,label:C("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Al}),this._highlightDecorations=[]}run(e,t,i){const n=po.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(oo).notify({severity:s0.Warning,message:C("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(El),a=new dt,c=a.add(r.createInputBox());c.placeholder=C("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 w=n.getState().matchesCount;if(p>0&&p<=w)return p-1;if(p<0&&p>=-w)return w+p},f=g=>{const p=u(g);if(typeof p=="number"){c.validationMessage=void 0,n.goToMatch(p);const w=n.getState().currentMatch;w&&this.addDecorations(t,w)}else c.validationMessage=C("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount),this.clearDecorations(t)};a.add(c.onDidChangeValue(g=>{f(g)})),a.add(c.onDidAccept(()=>{const g=u(c.value);typeof g=="number"?(n.goToMatch(g),c.hide()):c.validationMessage=C("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount)})),a.add(c.onDidHide(()=>{this.clearDecorations(t),a.dispose()})),c.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:gs(QE),position:Oa.Full}}}])})}}class DN extends je{async run(e,t){const i=po.get(t);if(!i)return;const n=jC(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 iV extends DN{constructor(){super({id:Mn.NextSelectionMatchFindAction,label:C("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:O.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class nV extends DN{constructor(){super({id:Mn.PreviousSelectionMatchFindAction,label:C("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:O.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const sV=YE(new JE({id:Mn.StartFindReplaceAction,label:C("startReplace","Replace"),alias:"Replace",precondition:be.or(O.focus,be.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Nt.MenubarEditMenu,group:"3_find",title:C({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));sV.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=po.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})});qi(po.ID,$C,0);ue(Yz);ue(Jz);ue(Qz);ue(eV);ue(tV);ue(iV);ue(nV);const ha=mo.bindToContribution(po.get);ii(new ha({id:Mn.CloseFindWidgetCommand,precondition:Al,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:be.and(O.focus,be.not("isComposing")),primary:9,secondary:[1033]}}));ii(new ha({id:Mn.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:O.focus,primary:nm.primary,mac:nm.mac,win:nm.win,linux:nm.linux}}));ii(new ha({id:Mn.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:O.focus,primary:sm.primary,mac:sm.mac,win:sm.win,linux:sm.linux}}));ii(new ha({id:Mn.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:O.focus,primary:om.primary,mac:om.mac,win:om.win,linux:om.linux}}));ii(new ha({id:Mn.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:O.focus,primary:rm.primary,mac:rm.mac,win:rm.win,linux:rm.linux}}));ii(new ha({id:Mn.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:O.focus,primary:am.primary,mac:am.mac,win:am.win,linux:am.linux}}));ii(new ha({id:Mn.ReplaceOneAction,precondition:Al,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:O.focus,primary:3094}}));ii(new ha({id:Mn.ReplaceOneAction,precondition:Al,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:be.and(O.focus,J0),primary:3}}));ii(new ha({id:Mn.ReplaceAllAction,precondition:Al,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:O.focus,primary:2563}}));ii(new ha({id:Mn.ReplaceAllAction,precondition:Al,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:be.and(O.focus,J0),primary:void 0,mac:{primary:2051}}}));ii(new ha({id:Mn.SelectAllMatchesAction,precondition:Al,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:O.focus,primary:515}}));const oV={0:" ",1:"u",2:"r"},MI=65535,Zr=16777215,NI=4278190080;class $w{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 Wo{constructor(e,t,i){if(e.length!==t.length||e.length>MI)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new $w(e.length),this._userDefinedStates=new $w(e.length),this._recoveredStates=new $w(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>Zr||r>Zr)throw new Error("startLineNumber or endLineNumber must not exceed "+Zr);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]&Zr}getEndLineNumber(e){return this._endIndexes[e]&Zr}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 rV(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&NI)>>>24)+((this._endIndexes[e]&NI)>>>16);return t===MI?-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]=`[${oV[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Zr,endLineNumber:this._endIndexes[e]&Zr,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 c=0;c<t;c++){const u=e[c];i[c]=u.startLineNumber,n[c]=u.endLineNumber,s.push(u.type),u.type&&(r=!0)}r||(s=void 0);const a=new Wo(i,n,s);for(let c=0;c<t;c++)e[c].isCollapsed&&a.setCollapsed(c,!0),a.setSource(c,e[c].source);return a}static sanitizeAndMerge(e,t,i,n){i=i??Number.MAX_VALUE;const s=(k,D)=>Array.isArray(k)?(P=>P<D?k[P]:void 0):(P=>P<D?k.toFoldRange(P):void 0),r=s(e,e.length),a=s(t,t.length);let c=0,u=0,f=r(0),g=a(0);const p=[];let w,m=0;const x=[];for(;f||g;){let k;if(g&&(!f||f.startLineNumber>=g.startLineNumber))f&&f.startLineNumber===g.startLineNumber?(g.source===1?k=g:(k=f,k.isCollapsed=g.isCollapsed&&(f.endLineNumber===g.endLineNumber||!(n!=null&&n.startsInside(f.startLineNumber+1,f.endLineNumber+1))),k.source=0),f=r(++c)):(k=g,g.isCollapsed&&g.source===0&&(k.source=2)),g=a(++u);else{let D=u,P=g;for(;;){if(!P||P.startLineNumber>f.endLineNumber){k=f;break}if(P.source===1&&P.endLineNumber>f.endLineNumber)break;P=a(++D)}f=r(++c)}if(k){for(;w&&w.endLineNumber<k.startLineNumber;)w=p.pop();k.endLineNumber>k.startLineNumber&&k.startLineNumber>m&&k.endLineNumber<=i&&(!w||w.endLineNumber>=k.endLineNumber)&&(x.push(k),m=k.startLineNumber,w&&p.push(w),w=k)}}return x}}class rV{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 aV{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new Bi,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new Wo(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=c=>{for(;n<c;){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 c of e){const u=c.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(Wo.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=Wo.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(Wo.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),c=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(c,a<=i,u)}),c&&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),c=this._textModel.getDecorationRange(this._editorDecorationIds[i]);c&&(s&&(e!=null&&e.startsInside(c.startLineNumber+1,c.endLineNumber))&&(s=!1),t.push({startLineNumber:c.startLineNumber,endLineNumber:c.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=Wo.sanitizeAndMerge(this._regions,t,i);this.updatePost(Wo.fromFoldRanges(n))}_getLinesChecksum(e,t){return eT(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,c=this._regions.length;a<c;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 c=this._regions.toRegion(r);if(this._regions.getStartLineNumber(r)<s)(!t||t(c))&&i.push(c);else break}return i}}function tk(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,(c,u)=>c.isCollapsed!==r&&u<e);i.push(...a)}}}o.toggleCollapseState(i)}function Zf(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,(c,u)=>c.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 EN(o,e,t,i){const n=[];for(const s of i){const r=o.getAllRegionsAtLine(s,(a,c)=>a.isCollapsed!==e&&c<=t);n.push(...r)}o.toggleCollapseState(n)}function lV(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 cV(o,e,t,i){const n=(r,a)=>a===e&&r.isCollapsed!==t&&!i.some(c=>r.containsLine(c)),s=o.getRegionsInside(null,n);o.toggleCollapseState(s)}function TN(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 ik(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 nk(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 dV(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 uV(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 hV(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 fV{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new Bi,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||VO(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 c=a.getStartLineNumber(i)+1,u=a.getEndLineNumber(i);s<=c&&u<=r||(!e&&n<this._hiddenRanges.length&&this._hiddenRanges[n].startLineNumber===c&&this._hiddenRanges[n].endLineNumber===u?(t.push(this._hiddenRanges[n]),n++):(e=!0,t.push(new U(c,1,u,1))),s=c,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 RI(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!gV(r,n))&&(n=RI(this._hiddenRanges,r)),n?n.startLineNumber-1:null);for(let r=0,a=e.length;r<a;r++){let c=e[r];const u=s(c.startLineNumber);u&&(c=c.setStartPosition(u,i.getLineMaxColumn(u)),t=!0);const f=s(c.endLineNumber);f&&(c=c.setEndPosition(f,i.getLineMaxColumn(f)),t=!0),e[r]=c}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function gV(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function RI(o,e){const t=UE(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const pV=5e3,_V="indent";class sk{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=_V}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(bV(this.editorModel,i,n,this.foldingRangesLimit))}}let mV=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Zr||t>Zr)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 Wo(i,n)}else{this._foldingRangesLimit.update(this._length,t);let i=0,n=this._indentOccurrences.length;for(let c=0;c<this._indentOccurrences.length;c++){const u=this._indentOccurrences[c];if(u){if(u+i>t){n=c;break}i+=u}}const s=e.getOptions().tabSize,r=new Uint32Array(t),a=new Uint32Array(t);for(let c=this._length-1,u=0;c>=0;c--){const f=this._startIndexes[c],g=e.getLineContent(f),p=qx(g,s);(p<n||p===n&&i++<t)&&(r[u]=f,a[u]=this._endIndexes[c],u++)}return new Wo(r,a)}}};const vV={limit:pV,update:()=>{}};function bV(o,e,t,i=vV){const n=o.getOptions().tabSize,s=new mV(i);let r;t&&(r=new RegExp(`(${t.start.source})|(?:${t.end.source})`));const a=[],c=o.getLineCount()+1;a.push({indent:-1,endAbove:c,line:c});for(let u=o.getLineCount();u>0;u--){const f=o.getLineContent(u),g=qx(f,n);let p=a[a.length-1];if(g===-1){e&&(p.endAbove=u);continue}let w;if(r&&(w=f.match(r)))if(w[1]){let m=a.length-1;for(;m>0&&a[m].indent!==-2;)m--;if(m>0){a.length=m+1,p=a[m],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 m=p.endAbove-1;m-u>=1&&s.insertFirst(u,m,g)}p.indent===g?p.endAbove=u:a.push({indent:g,endAbove:u,line:u})}return s.toIndentRanges(o)}const yV=jt("editor.foldBackground",{light:Ha(hL,.3),dark:Ha(hL,.3),hcDark:null,hcLight:null},C("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);jt("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},C("collapsedTextColor","Color of the collapsed text after the first line of a folded range."));jt("editorGutter.foldingControlForeground",jO,C("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const Pv=ts("folding-expanded",Ci.chevronDown,C("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),Mv=ts("folding-collapsed",Ci.chevronRight,C("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),AI=ts("folding-manual-collapsed",Mv,C("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),OI=ts("folding-manual-expanded",Pv,C("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),Uw={color:gs(yV),position:1},oh=C("linesCollapsed","Click to expand the range."),dm=C("linesExpanded","Click to collapse the range."),ns=class ns{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?ns.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?ns.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:ns.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:ns.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?ns.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ns.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?ns.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ns.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?ns.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:ns.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?ns.MANUALLY_EXPANDED_VISUAL_DECORATION:ns.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};ns.COLLAPSED_VISUAL_DECORATION=Ji.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:oh,firstLineDecorationClassName:yn.asClassName(Mv)}),ns.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Ji.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Uw,isWholeLine:!0,linesDecorationsTooltip:oh,firstLineDecorationClassName:yn.asClassName(Mv)}),ns.MANUALLY_COLLAPSED_VISUAL_DECORATION=Ji.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:oh,firstLineDecorationClassName:yn.asClassName(AI)}),ns.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Ji.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Uw,isWholeLine:!0,linesDecorationsTooltip:oh,firstLineDecorationClassName:yn.asClassName(AI)}),ns.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=Ji.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:oh}),ns.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=Ji.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Uw,isWholeLine:!0,linesDecorationsTooltip:oh}),ns.EXPANDED_VISUAL_DECORATION=Ji.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+yn.asClassName(Pv),linesDecorationsTooltip:dm}),ns.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Ji.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:yn.asClassName(Pv),linesDecorationsTooltip:dm}),ns.MANUALLY_EXPANDED_VISUAL_DECORATION=Ji.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+yn.asClassName(OI),linesDecorationsTooltip:dm}),ns.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Ji.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:yn.asClassName(OI),linesDecorationsTooltip:dm}),ns.NO_CONTROLS_EXPANDED_RANGE_DECORATION=Ji.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),ns.HIDDEN_RANGE_DECORATION=Ji.register({description:"folding-hidden-range-decoration",stickiness:1});let UC=ns;const wV={},SV="syntax";class ok{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=SV,this.disposables=new dt,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return CV(this.providers,this.editorModel,e).then(t=>{var i;return t?kV(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function CV(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,wV,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);const c=e.getLineCount();for(const u of a)u.start>0&&u.end>u.start&&u.end<=c&&i.push({start:u.start,end:u.end,rank:r,kind:u.kind})}},ss));return Promise.all(n).then(s=>i)}class xV{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>Zr||t>Zr)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 Wo(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 c=this._nestingLevelCounts[a];if(c){if(c+t>e){i=a;break}t+=c}}const n=new Uint32Array(e),s=new Uint32Array(e),r=[];for(let a=0,c=0;a<this._length;a++){const u=this._nestingLevels[a];(u<i||u===i&&t++<e)&&(n[c]=this._startIndexes[a],s[c]=this._endIndexes[a],r[c]=this._types[a],c++)}return new Wo(n,s,r)}}}function kV(o,e){const t=o.sort((r,a)=>{let c=r.start-a.start;return c===0&&(c=r.rank-a.rank),c}),i=new xV(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 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},mg=function(o,e){return function(t,i){e(t,i,o)}},td;const As=new rn("foldingEnabled",!1);var qd;let Ac=(qd=class extends ht{static get(e){return e.getContribution(td.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=td._foldingRangeSelector)==null?void 0:n.call(td,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 dt),this.editor=e,this._foldingLimitReporter=new PN(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 UC(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=As.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(c=>{if(c.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),c.hasChanged(47)&&this.onModelChanged(),c.hasChanged(111)||c.hasChanged(45)){const u=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=u.get(111),this.foldingDecorationProvider.showFoldingHighlights=u.get(45),this.triggerFoldingModelChanged()}c.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!=="indentation",this.onFoldingStrategyChanged()),c.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),c.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 aV(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new fV(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Tc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new ms(()=>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 sk(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=td.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new ok(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 Do,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=Es(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const u=s.setCollapsedAllOfType(m_.Imports.value,!0);u&&(r=hf.capture(this.editor),this._currentModelHasFoldedImports=u)}const a=this.editor.getSelections();e.update(s,IV(a)),r==null||r.restore(this.editor);const c=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=c)}return e})}).then(void 0,e=>(Nn(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,Nn)}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 c=e.event.altKey;let u=[];if(c){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)}},td=qd,qd.ID="editor.contrib.folding",qd);Ac=td=LV([mg(1,mn),mg(2,xs),mg(3,oo),mg(4,rr),mg(5,Yt)],Ac);class PN{constructor(e){this.editor=e,this._onDidChange=new Bi,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 js extends je{runEditorCommand(e,t,i){const n=e.get(xs),s=Ac.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 c=t.getSelection();c&&s.reveal(c.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 IV(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 MN(o){if(!Cg(o)){if(!tT(o))return!1;const e=o;if(!Cg(e.levels)&&!fL(e.levels)||!Cg(e.direction)&&!IE(e.direction)||!Cg(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(fL)))return!1}return!0}class DV extends js{constructor(){super({id:"editor.unfold",label:C("unfoldAction.label","Unfold"),alias:"Unfold",precondition:As,kbOpts:{kbExpr:O.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:MN,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"?EN(t,!1,s,r):Zf(t,!1,s,r)}}class EV extends js{constructor(){super({id:"editor.unfoldRecursively",label:C("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2142),weight:100}})}invoke(e,t,i,n){Zf(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class TV extends js{constructor(){super({id:"editor.fold",label:C("foldAction.label","Fold"),alias:"Fold",precondition:As,kbOpts:{kbExpr:O.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:MN,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"?lV(t,!0,s):a==="up"?EN(t,!0,r||1,s):Zf(t,!0,r||1,s)}}class PV extends js{constructor(){super({id:"editor.toggleFold",label:C("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);tk(t,1,n)}}class MV extends js{constructor(){super({id:"editor.foldRecursively",label:C("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Zf(t,!0,Number.MAX_VALUE,n)}}class NV extends js{constructor(){super({id:"editor.toggleFoldRecursively",label:C("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);tk(t,Number.MAX_VALUE,n)}}class RV extends js{constructor(){super({id:"editor.foldAllBlockComments",label:C("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())nk(t,m_.Comment.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).comments;if(a&&a.blockCommentStartToken){const c=new RegExp("^\\s*"+up(a.blockCommentStartToken));ik(t,c,!0)}}}}class AV extends js{constructor(){super({id:"editor.foldAllMarkerRegions",label:C("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())nk(t,m_.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 c=new RegExp(a.markers.start);ik(t,c,!0)}}}}class OV extends js{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:C("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())nk(t,m_.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 c=new RegExp(a.markers.start);ik(t,c,!1)}}}}class FV extends js{constructor(){super({id:"editor.foldAllExcept",label:C("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);TN(t,!0,n)}}class HV extends js{constructor(){super({id:"editor.unfoldAllExcept",label:C("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);TN(t,!1,n)}}class WV extends js{constructor(){super({id:"editor.foldAll",label:C("foldAllAction.label","Fold All"),alias:"Fold All",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2069),weight:100}})}invoke(e,t,i){Zf(t,!0)}}class BV extends js{constructor(){super({id:"editor.unfoldAll",label:C("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2088),weight:100}})}invoke(e,t,i){Zf(t,!1)}}const Rh=class Rh extends js{getFoldingLevel(){return parseInt(this.id.substr(Rh.ID_PREFIX.length))}invoke(e,t,i){cV(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};Rh.ID_PREFIX="editor.foldLevel",Rh.ID=e=>Rh.ID_PREFIX+e;let Nv=Rh;class zV extends js{constructor(){super({id:"editor.gotoParentFold",label:C("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=dV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class VV extends js{constructor(){super({id:"editor.gotoPreviousFold",label:C("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=uV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class jV extends js{constructor(){super({id:"editor.gotoNextFold",label:C("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=hV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class $V extends js{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:C("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2135),weight:100}})}invoke(e,t,i){var r;const n=[],s=i.getSelections();if(s){for(const a of s){let c=a.endLineNumber;a.endColumn===1&&--c,c>a.startLineNumber&&(n.push({startLineNumber:a.startLineNumber,endLineNumber:c,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((c,u)=>c.startLineNumber-u.startLineNumber);const a=Wo.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(Wo.fromFoldRanges(a))}}}}class UV extends js{constructor(){super({id:"editor.removeManualFoldingRanges",label:C("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(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:c}=r;s.push(c>=a?{startLineNumber:a,endLineNumber:c}:{endLineNumber:c,startLineNumber:a})}t.removeManualRanges(s),e.triggerFoldingModelChanged()}}}qi(Ac.ID,Ac,0);ue(DV);ue(EV);ue(TV);ue(MV);ue(NV);ue(WV);ue(BV);ue(RV);ue(AV);ue(OV);ue(FV);ue(HV);ue(PV);ue(zV);ue(VV);ue(jV);ue($V);ue(UV);for(let o=1;o<=7;o++)$O(new Nv({id:Nv.ID(o),label:C("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:As,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2048|21+o),weight:100}}));Hn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof En))throw fl();const i=o.get(Yt),n=o.get(ro).getModel(t);if(!n)throw fl();const s=o.get(jn);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(xs),a=s.getValue("editor.foldingStrategy",{resource:t}),c={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(w,m)=>{}},u=new sk(n,r,c);let f=u;if(a!=="indentation"){const w=Ac.getFoldingRangeProviders(i,n);w.length&&(f=new ok(n,w,()=>{},c,u))}const g=await f.compute(zi.None),p=[];try{if(g)for(let w=0;w<g.length;w++){const m=g.getType(w);p.push({start:g.getStartLineNumber(w),end:g.getEndLineNumber(w),kind:m?m_.fromValue(m):void 0})}return p}finally{f.dispose()}});class qV extends je{constructor(){super({id:"editor.action.fontZoomIn",label:C("EditorFontZoomIn.label","Increase Editor Font Size"),alias:"Increase Editor Font Size",precondition:void 0})}run(e,t){mp.setZoomLevel(mp.getZoomLevel()+1)}}class GV extends je{constructor(){super({id:"editor.action.fontZoomOut",label:C("EditorFontZoomOut.label","Decrease Editor Font Size"),alias:"Decrease Editor Font Size",precondition:void 0})}run(e,t){mp.setZoomLevel(mp.getZoomLevel()-1)}}class KV extends je{constructor(){super({id:"editor.action.fontZoomReset",label:C("EditorFontZoomReset.label","Reset Editor Font Size"),alias:"Reset Editor Font Size",precondition:void 0})}run(e,t){mp.setZoomLevel(0)}}ue(qV);ue(GV);ue(KV);var NN=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},Xg=function(o,e){return function(t,i){e(t,i,o)}},Qh;let Rv=(Qh=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new dt,this._sessionDisposables=new dt,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 iv;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 Ts,s=this._editor.onDidChangeModelContent(r=>{if(r.isFlush){n.cancel(),s.dispose();return}for(let a=0,c=r.changes.length;a<c;a++)if(r.changes[a].range.endLineNumber<=i.lineNumber){n.cancel(),s.dispose();return}});UO(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||zo(r)&&(this._accessibilitySignalService.playSignal(nT.format,{userGesture:!1}),qO.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},Qh.ID="editor.contrib.autoFormat",Qh);Rv=NN([Xg(1,Yt),Xg(2,Ml),Xg(3,iT)],Rv);var ef;let Av=(ef=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new dt,this._callOnModel=new dt,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(sT,this.editor,e,2,ll.None,zi.None,!1).catch(Nn))}},ef.ID="editor.contrib.formatOnPaste",ef);Av=NN([Xg(1,Yt),Xg(2,Ri)],Av);class ZV extends je{constructor(){super({id:"editor.action.formatDocument",label:C("formatDocument.label","Format Document"),alias:"Format Document",precondition:be.and(O.notInCompositeEditor,O.writable,O.hasDocumentFormattingProvider),kbOpts:{kbExpr:O.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(Ri);await e.get(a_).showWhile(i.invokeFunction(GO,t,1,ll.None,zi.None,!0),250)}}}class XV extends je{constructor(){super({id:"editor.action.formatSelection",label:C("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:be.and(O.writable,O.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2084),weight:100},contextMenuOpts:{when:O.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(Ri),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new U(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(a_).showWhile(i.invokeFunction(sT,t,s,1,ll.None,zi.None,!0),250)}}qi(Rv.ID,Rv,2);qi(Av.ID,Av,2);ue(ZV);ue(XV);Hn.registerCommand("editor.action.format",async o=>{const e=o.get(os).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(Cs);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var YV=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},qw=function(o,e){return function(t,i){e(t,i,o)}};class Dh{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 qC extends Dh{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class RN extends Dh{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class il extends Dh{static create(e,t,i){const n=new Ts(i),s=new il(t.uri),r=e.ordered(t),a=r.map((u,f)=>{const g=Dh.findId(`provider_${f}`,s),p=new RN(g,s,u.displayName??"Unknown Outline Provider",f);return Promise.resolve(u.provideDocumentSymbols(t,n.token)).then(w=>{for(const m of w||[])il._makeOutlineElement(m,p);return p},w=>(ss(w),p)).then(w=>{Dh.empty(w)?w.remove():s._groups.set(g,w)})}),c=e.onDidChange(()=>{const u=e.ordered(t);Ba(u,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?il.create(e,t,i):s._compact()).finally(()=>{n.dispose(),c.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=Dh.findId(e,t),n=new qC(i,t,e);if(e.children)for(const s of e.children)il._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=hl.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 qC?e.push(t.symbol):e.push(...hl.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>U.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return il._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>Xt.compare(U.getStartPosition(i.range),U.getStartPosition(n.range))||Xt.compare(U.getEndPosition(n.range),U.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&&il._flattenDocumentSymbols(e,n.children,n.name)}}const P_=Tl("IOutlineModelService");let GC=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new dt,this._cache=new c_(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()||!Ba(s.provider,n)){const a=new Ts;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:il.create(i,e,a.token),model:void 0},this._cache.set(e.id,s);const c=Date.now();s.promise.then(u=>{s.model=u,this._debounceInformation.update(e,Date.now()-c)}).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()}}};GC=YV([qw(0,Yt),qw(1,rr),qw(2,ro)],GC);Pl(P_,GC,1);Hn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;vn(En.isUri(t));const i=o.get(P_),s=await o.get(ua).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,zi.None)).getTopLevelSymbols()}finally{s.dispose()}});const Sa=class Sa extends ht{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=Sa.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=Sa.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=Sa.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=Sa.suppressSuggestions.bindTo(this.contextKeyService),this._register(Gn(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(Gn(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:c,lines:u}=a.parts[0],f=u[0],g=n.textModel.getLineIndentColumn(a.lineNumber);if(c<=g){let w=wS(f);w===-1&&(w=f.length-1),s=w>0;const m=n.textModel.getOptions().tabSize;r=KO.visibleColumnFromColumn(f,w+1,m)<m}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};Sa.inlineSuggestionVisible=new rn("inlineSuggestionVisible",!1,C("inlineSuggestionVisible","Whether an inline suggestion is visible")),Sa.inlineSuggestionHasIndentation=new rn("inlineSuggestionHasIndentation",!1,C("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),Sa.inlineSuggestionHasIndentationLessThanTabSize=new rn("inlineSuggestionHasIndentationLessThanTabSize",!0,C("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),Sa.suppressSuggestions=new rn("inlineSuggestionSuppressSuggestions",void 0,C("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let Io=Sa;function JV(o){const e=new dt,t=e.add(oT());return e.add(Gn(i=>{t.setStyle(o.read(i))})),e}class Mp{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 rT([...this.parts.map(s=>new wl(U.fromPositions(new Xt(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 Ov{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=Ly(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 KC{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new Ov(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=Ly(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 FI(o,e){return Ba(o,e,AN)}function AN(o,e){return o===e?!0:!o||!e?!1:o instanceof Mp&&e instanceof Mp||o instanceof KC&&e instanceof KC?o.equals(e):!1}const QV=[];function ej(){return QV}class ON{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new _f(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new U(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function FN(o,e){const t=new dt,i=o.createDecorationsCollection();return t.add(ZO({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function tj(o,e){return new Xt(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function HI(o,e){return new Xt(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var ij=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},nj=function(o,e){return function(t,i){e(t,i,o)}};const WI="ghost-text";let ZC=class extends ht{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Vo(this,!1),this.currentTextModel=So(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=kn(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 KC?r.columnRange:void 0,c=[],u=[];function f(x,k){if(u.length>0){const D=u[u.length-1];k&&D.decorations.push(new vp(D.content.length+1,D.content.length+1+x[0].length,k,0)),D.content+=x[0],x=x.slice(1)}for(const D of x)u.push({content:D,decorations:k?[new vp(1,D.length+1,k,0)]:[]})}const g=s.getLineContent(r.lineNumber);let p,w=0;for(const x of r.parts){let k=x.lines;p===void 0?(c.push({column:x.column,text:k[0],preview:x.preview}),k=k.slice(1)):f([g.substring(w,x.column-1)],void 0),k.length>0&&(f(k,WI),p===void 0&&x.column<=g.length&&(p=x.column)),w=x.column-1}p!==void 0&&f([g.substring(w)],void 0);const m=p!==void 0?new ON(p,g.length+1):void 0;return{replacedRange:a,inlineTexts:c,additionalLines:u,hiddenRange:m,lineNumber:r.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s}}),this.decorations=kn(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:U.fromPositions(new Xt(s.lineNumber,a.column)),options:{description:WI,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:Sh.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new sj(this.editor,this.languageService.languageIdCodec,kn(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(zn(()=>{this.isDisposed.set(!0,void 0)})),this._register(FN(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};ZC=ij([nj(2,da)],ZC);class sj extends ht{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=bd("editorOptionChanged",_s.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(Gn(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 c=document.createElement("div");oj(c,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:c,afterColumnAffinity:1})}})}}function oj(o,e,t,i,n){const s=i.get(33),r=i.get(118),a="none",c=i.get(95),u=i.get(51),f=i.get(50),g=i.get(67),p=new lT(1e4);p.appendString('<div class="suggest-preview-text">');for(let x=0,k=t.length;x<k;x++){const D=t[x],P=D.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(x*g)),p.appendString('px;width:1000000px;">');const A=hT(P),j=XO(P),H=YO.createEmpty(P,n);cT(new dT(f.isMonospace&&!s,f.canUseHalfwidthRightwardsArrow,P,!1,A,j,0,H,D.decorations,e,0,f.spaceWidth,f.middotWidth,f.wsmiddotWidth,r,a,c,u!==JO.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),uT(o,f);const w=p.build(),m=BI?BI.createHTML(w):w;o.innerHTML=m}const BI=aT("editorGhostText",{createHTML:o=>o});function rj(o,e){const t=new i2,i=new e2(t,u=>e.getLanguageConfiguration(u)),n=new QO(new aj([o]),i),s=t2(n,[],void 0,!0);let r="";const a=o.getLineContent();function c(u,f){if(u.kind===2)if(c(u.openingBracket,f),f=hg(f,u.openingBracket.length),u.child&&(c(u.child,f),f=hg(f,u.child.length)),u.closingBracket)c(u.closingBracket,f),f=hg(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(gL(f),gL(hg(f,u.length)));else if(u.kind===4)for(const g of u.children)c(g,f),f=hg(f,g.length)}}return c(s,n2),r}class aj{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 HN(o,e,t,i,n=zi.None,s){const r=e instanceof Xt?dj(e,t):e,a=o.all(t),c=new s2;for(const D of a)D.groupId&&c.add(D.groupId,D);function u(D){if(!D.yieldsToGroupIds)return[];const P=[];for(const A of D.yieldsToGroupIds||[]){const j=c.get(A);for(const H of j)P.push(H)}return P}const f=new Map,g=new Set;function p(D,P){if(P=[...P,D],g.has(D))return P;g.add(D);try{const A=u(D);for(const j of A){const H=p(j,P);if(H)return H}}finally{g.delete(D)}}function w(D){const P=f.get(D);if(P)return P;const A=p(D,[]);A&&ss(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${A.map(H=>H.toString?H.toString():""+H).join(" -> ")}`));const j=new py;return f.set(D,j.p),(async()=>{var H;if(!A){const te=u(D);for(const J of te){const le=await w(J);if(le&&le.items.length>0)return}}try{return e instanceof Xt?await D.provideInlineCompletions(t,e,i,n):await((H=D.provideInlineEdits)==null?void 0:H.call(D,t,e,i,n))}catch(te){ss(te);return}})().then(H=>j.complete(H),H=>j.error(H)),j.p}const m=await Promise.all(a.map(async D=>({provider:D,completions:await w(D)}))),x=new Map,k=[];for(const D of m){const P=D.completions;if(!P)continue;const A=new cj(P,D.provider);k.push(A);for(const j of P.items){const H=Fv.from(j,A,r,t,s);x.set(H.hash(),H)}}return new lj(Array.from(x.values()),new Set(x.keys()),k)}class lj{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 cj{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 Fv{static from(e,t,i,n,s){let r,a,c=e.range?U.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=zI(r,c.getStartPosition(),n,s);const u=r.length-e.insertText.length;u!==0&&(c=new U(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+u))}a=void 0}else if("snippet"in e.insertText){const u=e.insertText.snippet.length;if(s&&e.completeBracketPairs){e.insertText.snippet=zI(e.insertText.snippet,c.getStartPosition(),n,s);const g=e.insertText.snippet.length-u;g!==0&&(c=new U(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+g))}const f=new Su().parse(e.insertText.snippet);f.children.length===1&&f.children[0]instanceof Co?(r=f.children[0].value,a=void 0):(r=f.toString(),a={snippet:e.insertText.snippet,range:c})}else o2(e.insertText);return new Fv(r,e.command,c,r,a,e.additionalTextEdits||ej(),e,t)}constructor(e,t,i,n,s,r,a,c){this.filterText=e,this.command=t,this.range=i,this.insertText=n,this.snippetInfo=s,this.additionalTextEdits=r,this.sourceInlineCompletion=a,this.source=c,e=e.replace(/\r\n|\r/g,`
34
+ `),n=e.replace(/\r\n|\r/g,`
35
+ `)}withRange(e){return new Fv(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 wl(this.range,this.insertText)}}function dj(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new U(o.lineNumber,t.startColumn,o.lineNumber,i):U.fromPositions(o,o.with(void 0,i))}function zI(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?rj(a,i):o}function Ld(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=__(n,o.text),r=nv.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),c=U.fromPositions(r,o.range.getEndPosition());return new wl(c,a)}function WN(o,e){return o.text.startsWith(e.text)&&uj(o.range,e.range)}function VI(o,e,t,i,n=0){let s=Ld(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=Bs(r).length;if(s.range.startColumn-1<=a){const m=Bs(s.text).length,x=r.substring(s.range.startColumn-1,a),[k,D]=[s.range.getStartPosition(),s.range.getEndPosition()],P=k.column+x.length<=D.column?k.delta(0,x.length):D,A=U.fromPositions(P,D),j=s.text.startsWith(x)?s.text.substring(x.length):s.text.substring(m);s=new wl(A,j)}const u=e.getValueInRange(s.range),f=hj(u,s.text);if(!f)return;const g=s.range.startLineNumber,p=new Array;if(t==="prefix"){const m=f.filter(x=>x.originalLength===0);if(m.length>1||m.length===1&&m[0].originalStart!==u.length)return}const w=s.text.length-n;for(const m of f){const x=s.range.startColumn+m.originalStart+m.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===s.range.startLineNumber&&x<i.column||m.originalLength>0)return;if(m.modifiedLength===0)continue;const k=m.modifiedStart+m.modifiedLength,D=Math.max(m.modifiedStart,Math.min(k,w)),P=s.text.substring(m.modifiedStart,D),A=s.text.substring(D,Math.max(m.modifiedStart,k));P.length>0&&p.push(new Ov(x,P,!1)),A.length>0&&p.push(new Ov(x,A,!0))}return new Mp(g,p)}function uj(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let va;function hj(o,e){if((va==null?void 0:va.originalValue)===o&&(va==null?void 0:va.newValue)===e)return va==null?void 0:va.changes;{let t=$I(o,e,!0);if(t){const i=jI(t);if(i>0){const n=$I(o,e,!1);n&&jI(n)<i&&(t=n)}}return va={originalValue:o,newValue:e,changes:t},t}}function jI(o){let e=0;for(const t of o)e+=t.originalLength;return e}function $I(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 w=u.charCodeAt(g);w>f&&(f=w)}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 w=0,m=u.length;w<m;w++)if(t&&u[w]==="("){const x=g*100+f;p[w]=s(2*x),f++}else if(t&&u[w]===")"){f=Math.max(f-1,0);const x=g*100+f;p[w]=s(2*x+1),f===0&&g++}else p[w]=u.charCodeAt(w);return p}const a=r(o),c=r(e);return new r2({getElements:()=>a},{getElements:()=>c}).ComputeDiff(!1).changes}var fj=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},UI=function(o,e){return function(t,i){e(t,i,o)}};let XC=class extends ht{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 $o),this.inlineCompletions=xS("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=xS("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var f,g;const n=new pj(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 Ts,c=(async()=>{if((r||t.triggerKind===gl.Automatic)&&await gj(this._debounceValue.get(this.textModel),a.token),a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const w=new Date,m=await HN(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 x=new Date;this._debounceValue.update(this.textModel,x.getTime()-w.getTime());const k=new mj(m,n,this.textModel,this.versionId);if(i){const D=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!m.has(D)&&k.prepend(i.inlineCompletion,D.range,!0)}return this._updateOperation.clear(),Au(D=>{s.set(k,D)}),!0})(),u=new _j(n,a,c);return this._updateOperation.value=u,c}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()}};XC=fj([UI(3,Yt),UI(4,xs)],XC);function gj(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 pj{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&a2(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,c2())&&(e.context.triggerKind===gl.Automatic||this.context.triggerKind===gl.Explicit)&&this.versionId===e.versionId}}class _j{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class mj{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 qI(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 qI(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class qI{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=al({owner:this,equalsFn:U.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??Gw)}toSingleTextEdit(e){return new wl(this._updatedRange.read(e)??Gw,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=Ld(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,c=Math.max(0,t.column-n.range.startColumn);let u=a.substring(0,c),f=a.substring(c),g=r.substring(0,c),p=r.substring(c);const w=e.getLineIndentColumn(n.range.startLineNumber);return n.range.startColumn<=w&&(g=g.trimStart(),g.length===0&&(p=p.trimStart()),u=u.trimStart(),u.length===0&&(f=f.trimStart())),u.startsWith(g)&&!!l2(p,f)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&nv.ofRange(i).isGreaterThanOrEqualTo(nv.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new wl(this._updatedRange.read(e)??Gw,this.inlineCompletion.filterText)}}const Gw=new U(1,1,1,1),wi={Visible:Q0,HasFocusedSuggestion:new rn("suggestWidgetHasFocusedSuggestion",!1,C("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new rn("suggestWidgetDetailsVisible",!1,C("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new rn("suggestWidgetMultipleSuggestions",!1,C("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new rn("suggestionMakesTextEdit",!0,C("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new rn("acceptSuggestionOnEnter",!0,C("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new rn("suggestionHasInsertAndReplaceRange",!1,C("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new rn("suggestionInsertMode",void 0,{type:"string",description:C("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new rn("suggestionCanResolve",!1,C("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},hc=new Nt("suggestWidgetStatusBar");class vj{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=pp.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,U.isIRange(t.range)?(this.editStart=new Xt(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Xt(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Xt(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||U.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Xt(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Xt(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Xt(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||U.spansMultipleLines(t.range.insert)||U.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 Do(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{Hc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const Ab=class Ab{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}};Ab.default=new Ab;let Np=Ab;class bj{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function rk(o,e,t,i=Np.default,n={triggerKind:0},s=zi.None){const r=new Do;t=t.clone();const a=e.getWordAtPosition(t),c=a?new U(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):U.fromPositions(t),u={replace:c,insert:c.setEndPosition(t.lineNumber,t.column)},f=[],g=new dt,p=[];let w=!1;const m=(k,D,P)=>{var j;let A=!1;if(!D)return A;for(const H of D.suggestions)if(!i.kindFilter.has(H.kind)){if(!i.showDeprecated&&((j=H==null?void 0:H.tags)!=null&&j.includes(1)))continue;H.range||(H.range=u),H.sortText||(H.sortText=typeof H.label=="string"?H.label:H.label.label),!w&&H.insertTextRules&&H.insertTextRules&4&&(w=Su.guessNeedsClipboard(H.insertText)),f.push(new vj(t,H,D,k)),A=!0}return fT(D)&&g.add(D),p.push({providerName:k._debugDisplayName??"unknown_provider",elapsedProvider:D.duration??-1,elapsedOverall:P.elapsed()}),A},x=(async()=>{})();for(const k of o.orderedGroups(e)){let D=!1;if(await Promise.all(k.map(async P=>{if(i.providerItemsToReuse.has(P)){const A=i.providerItemsToReuse.get(P);A.forEach(j=>f.push(j)),D=D||A.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(P)))try{const A=new Do,j=await P.provideCompletionItems(e,t,n,s);D=m(P,j,A)||D}catch(A){ss(A)}})),D||s.isCancellationRequested)break}return await x,s.isCancellationRequested?(g.dispose(),Promise.reject(new _y)):new bj(f.sort(Sj(i.snippetSortOrder)),w,{entries:p,elapsed:r.elapsed()},g)}function ak(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 yj(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return ak(o,e)}function wj(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return ak(o,e)}const Jy=new Map;Jy.set(0,yj);Jy.set(2,wj);Jy.set(1,ak);function Sj(o){return Jy.get(o)}Hn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;vn(En.isUri(t)),vn(Xt.isIPosition(i)),vn(typeof n=="string"||!n),vn(typeof s=="number"||!s);const{completionProvider:r}=o.get(Yt),a=await o.get(ua).createModelReference(t);try{const c={incomplete:!1,suggestions:[]},u=[],f=a.object.textEditorModel.validatePosition(i),g=await rk(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(zi.None)),c.incomplete=c.incomplete||p.container.incomplete,c.suggestions.push(p.completion);try{return await Promise.all(u),c}finally{setTimeout(()=>g.disposable.dispose(),100)}}finally{a.dispose()}});function Cj(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class Eh{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 GI(o,e=gy){return d2(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var xj=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},kj=function(o,e){return function(t,i){e(t,i,o)}};class KI{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 ZI{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=Bs(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(u=>u===e?!1:(u instanceof Co&&(a=Bs(Ly(u.value).pop())),!0));const c=__(a,r);i=i.replace(/(\r\n|\r|\n)(.*)/g,(u,f,g)=>`${f}${a.substr(c)}${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 XI{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return Vg(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=Vg(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return u2(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(i0(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 YI{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=>!h2(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let Hv=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}}};Hv=xj([kj(2,xs)],Hv);const Ca=class Ca{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 Ca.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return Ca.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return Ca.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return Ca.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,c=a<10?"0"+a:a;return n+r+":"+c}}};Ca.dayNames=[C("Sunday","Sunday"),C("Monday","Monday"),C("Tuesday","Tuesday"),C("Wednesday","Wednesday"),C("Thursday","Thursday"),C("Friday","Friday"),C("Saturday","Saturday")],Ca.dayNamesShort=[C("SundayShort","Sun"),C("MondayShort","Mon"),C("TuesdayShort","Tue"),C("WednesdayShort","Wed"),C("ThursdayShort","Thu"),C("FridayShort","Fri"),C("SaturdayShort","Sat")],Ca.monthNames=[C("January","January"),C("February","February"),C("March","March"),C("April","April"),C("May","May"),C("June","June"),C("July","July"),C("August","August"),C("September","September"),C("October","October"),C("November","November"),C("December","December")],Ca.monthNamesShort=[C("JanuaryShort","Jan"),C("FebruaryShort","Feb"),C("MarchShort","Mar"),C("AprilShort","Apr"),C("MayShort","May"),C("JuneShort","Jun"),C("JulyShort","Jul"),C("AugustShort","Aug"),C("SeptemberShort","Sep"),C("OctoberShort","Oct"),C("NovemberShort","Nov"),C("DecemberShort","Dec")];let Wv=Ca;class JI{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=f2(this._workspaceService.getWorkspace());if(!g2(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(pL(e))return Vg(e.uri.path);let t=Vg(e.configPath.path);return t.endsWith(_L)&&(t=t.substr(0,t.length-_L.length-1)),t}_resoveWorkspacePath(e){if(pL(e))return GI(e.uri.fsPath);const t=Vg(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?GI(i):"/"}}class QI{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 Vy()}}var Lj=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},Ij=function(o,e){return function(t,i){e(t,i,o)}},Vr;const fr=class fr{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=mL(t.placeholders,sr.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=U.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?fr._decor.inactiveFinal:fr._decor.inactive,c=t.addDecoration(r,a);this._placeholderDecorations.set(i,c)}})}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),c=this._editor.getModel().getValueInRange(a),u=s.transform.resolve(c).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(Xn.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 c=this._placeholderDecorations.get(a),u=this._editor.getModel().getDecorationRange(c);r.push(new vi(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(c,a.isFinalTabstop?fr._decor.activeFinal:fr._decor.active),s.add(a);for(const f of this._snippet.enclosingPlaceholders(a)){const g=this._placeholderDecorations.get(f);n.changeDecorationOptions(g,f.isFinalTabstop?fr._decor.activeFinal:fr._decor.active),s.add(f)}}for(const[a,c]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(c,a.isFinalTabstop?fr._decor.inactiveFinal:fr._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof sr){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 Kf,!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 c of s._snippet.placeholderInfo.all)c.isFinalTabstop?c.index=n.index+(r+1)/this._nestingLevel:c.index=n.index+c.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 c of s._snippet.placeholders){const u=s._snippet.offset(c),f=s._snippet.fullLen(c),g=U.fromPositions(t.getPositionAt(s._offset+u),t.getPositionAt(s._offset+u+f)),p=i.addDecoration(g,fr._decor.inactive);this._placeholderDecorations.set(c,p)}}this._placeholderGroups=mL(this._snippet.placeholders,sr.compareByIndex)})}};fr._decor={active:Ji.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:Ji.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:Ji.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:Ji.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let Bv=fr;const eD={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let zv=Vr=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=Bs(r,0,t.column-1);let c;return n.walk(u=>{if(!(u instanceof Co)||u.parent instanceof Kf||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{c=c??n.toString();const w=c.charCodeAt(p-1);(w===10||w===13)&&(f[0]=e.normalizeIndentation(a+f[0]))}for(let w=1;w<f.length;w++)f[w]=e.normalizeIndentation(a+f[w])}const g=f.join(e.getEOL());return g!==u.value&&(u.parent.replace(u,[new Co(g)]),c=void 0),!0}),a}static adjustSelection(e,t,i,n){if(i!==0||n!==0){const{positionLineNumber:s,positionColumn:r}=t,a=r-i,c=r+n,u=e.validateRange({startLineNumber:s,startColumn:a,endLineNumber:s,endColumn:c});t=vi.createWithDirection(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,i,n,s,r,a,c,u){const f=[],g=[];if(!e.hasModel())return{edits:f,snippets:g};const p=e.getModel(),w=e.invokeWithinContext(j=>j.get(lf)),m=e.invokeWithinContext(j=>new XI(j.get(gp),p)),x=()=>a,k=p.getValueInRange(Vr.adjustSelection(p,e.getSelection(),i,0)),D=p.getValueInRange(Vr.adjustSelection(p,e.getSelection(),0,n)),P=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),A=e.getSelections().map((j,H)=>({selection:j,idx:H})).sort((j,H)=>U.compareRangesUsingStarts(j.selection,H.selection));for(const{selection:j,idx:H}of A){let te=Vr.adjustSelection(p,j,i,0),J=Vr.adjustSelection(p,j,0,n);k!==p.getValueInRange(te)&&(te=j),D!==p.getValueInRange(J)&&(J=j);const le=j.setStartPosition(te.startLineNumber,te.startColumn).setEndPosition(J.endLineNumber,J.endColumn),we=new Su().parse(t,!0,s),Be=le.getStartPosition(),ce=Vr.adjustWhitespace(p,Be,r||H>0&&P!==p.getLineFirstNonWhitespaceColumn(j.positionLineNumber),we);we.resolveVariables(new KI([m,new YI(x,H,A.length,e.getOption(79)==="spread"),new ZI(p,j,H,c),new Hv(p,j,u),new Wv,new JI(w),new QI])),f[H]=Xn.replace(le,we.toString()),f[H].identifier={major:H,minor:0},f[H]._isTracked=!0,g[H]=new Bv(e,we,ce)}return{edits:f,snippets:g}}static createEditsAndSnippetsFromEdits(e,t,i,n,s,r,a){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const c=[],u=e.getModel(),f=new Su,g=new x_,p=new KI([e.invokeWithinContext(m=>new XI(m.get(gp),u)),new YI(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new ZI(u,e.getSelection(),0,r),new Hv(u,e.getSelection(),a),new Wv,new JI(e.invokeWithinContext(m=>m.get(lf))),new QI]);t=t.sort((m,x)=>U.compareRangesUsingStarts(m.range,x.range));let w=0;for(let m=0;m<t.length;m++){const{range:x,template:k}=t[m];if(m>0){const H=t[m-1].range,te=U.fromPositions(H.getEndPosition(),x.getStartPosition()),J=new Co(u.getValueInRange(te));g.appendChild(J),w+=J.value.length}const D=f.parseFragment(k,g);Vr.adjustWhitespace(u,x.getStartPosition(),!0,g,new Set(D)),g.resolveVariables(p);const P=g.toString(),A=P.slice(w);w=P.length;const j=Xn.replace(x,A);j.identifier={major:m,minor:0},j._isTracked=!0,c.push(j)}return f.ensureFinalTabstop(g,i,!0),{edits:c,snippets:[new Bv(e,g,"")]}}constructor(e,t,i=eD,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){Qs(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"?Vr.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):Vr.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=>vi.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=eD){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=Vr.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(c=>!!c.identifier);for(let c=0;c<n.length;c++)n[c].initialize(r[c].textChange);const a=n[0].isTrivialSnippet;if(!a){for(const c of this._snippets)c.merge(n);console.assert(n.length===0)}return this._snippets[0].hasPlaceholder&&!a?this._move(void 0):r.map(c=>vi.fromPositions(c.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(U.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(U.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(U.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};zv=Vr=Lj([Ij(3,xs)],zv);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},um=function(o,e){return function(t,i){e(t,i,o)}},vh;const tD={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var Pa;let so=(Pa=class{static get(e){return e.getContribution(vh.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new dt,this._modelVersionId=-1,this._inSnippet=vh.InSnippetMode.bindTo(n),this._hasNextTabstop=vh.HasNextTabstop.bindTo(n),this._hasPrevTabstop=vh.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"?tD:{...tD,...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?(vn(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new zv(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()||!Xt.equals(this._editor.getPosition(),g))return;const{activeChoice:p}=this._session;if(!p||p.choice.options.length===0)return;const w=f.getValueInRange(p.range),m=!!p.choice.options.find(k=>k.value===w),x=[];for(let k=0;k<p.choice.options.length;k++){const D=p.choice.options[k];x.push({kind:13,label:D.value,insertText:D.value,sortText:"a".repeat(k+1),range:p.range,filterText:m?`${w}_${D.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:C("next","Go to next placeholder...")}})}return{suggestions:x}}},s=this._editor.getModel();let r,a=!1;const c=()=>{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:c}}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(()=>{Cj(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()}},vh=Pa,Pa.ID="snippetController2",Pa.InSnippetMode=new rn("inSnippetMode",!1,C("inSnippetMode","Whether the editor in current in snippet mode")),Pa.HasNextTabstop=new rn("hasNextTabstop",!1,C("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Pa.HasPrevTabstop=new rn("hasPrevTabstop",!1,C("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Pa);so=vh=Dj([um(1,Ou),um(2,Yt),um(3,mn),um(4,xs)],so);qi(so.ID,so,4);const Qy=mo.bindToContribution(so.get);ii(new Qy({id:"jumpToNextSnippetPlaceholder",precondition:be.and(so.InSnippetMode,so.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:O.textInputFocus,primary:2}}));ii(new Qy({id:"jumpToPrevSnippetPlaceholder",precondition:be.and(so.InSnippetMode,so.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:O.textInputFocus,primary:1026}}));ii(new Qy({id:"leaveSnippet",precondition:so.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:O.textInputFocus,primary:9,secondary:[1033]}}));ii(new Qy({id:"acceptSnippet",precondition:so.InSnippetMode,handler:o=>o.finish()}));var Ej=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},Kw=function(o,e){return function(t,i){e(t,i,o)}};let YC=class extends ht{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,n,s,r,a,c,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=c,this._enabled=u,this._instantiationService=f,this._commandService=g,this._languageConfigurationService=p,this._source=this._register(this._instantiationService.createInstance(XC,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=Vo(this,!1),this._forceUpdateExplicitlySignal=a0(this),this._selectedInlineCompletionId=Vo(this,void 0),this._primaryPosition=kn(this,m=>this._positions.read(m)[0]??new Xt(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([tl.Redo,tl.Undo,tl.AcceptWord]),this._fetchInlineCompletionsPromise=gT({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:gl.Automatic}),handleChange:(m,x)=>(m.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(m.change))?x.preserveCurrentCompletion=!0:m.didChange(this._forceUpdateExplicitlySignal)&&(x.inlineCompletionTriggerKind=gl.Explicit),!0)},(m,x)=>{if(this._forceUpdateExplicitlySignal.read(m),!(this._enabled.read(m)&&this.selectedSuggestItem.read(m)||this._isActive.read(m))){this._source.cancelUpdate();return}this._textModelVersionId.read(m);const D=this._source.suggestWidgetInlineCompletions.get(),P=this.selectedSuggestItem.read(m);if(D&&!P){const J=this._source.inlineCompletions.get();Au(le=>{(!J||D.request.versionId>J.request.versionId)&&this._source.inlineCompletions.set(D.clone(),le),this._source.clearSuggestWidgetInlineCompletions(le)})}const A=this._primaryPosition.read(m),j={triggerKind:x.inlineCompletionTriggerKind,selectedSuggestionInfo:P==null?void 0:P.toSelectedSuggestionInfo()},H=this.selectedInlineCompletion.get(),te=x.preserveCurrentCompletion||H!=null&&H.forwardStable?H:void 0;return this._source.fetch(A,j,te)}),this._filteredInlineCompletionItems=al({owner:this,equalsFn:kS()},m=>{const x=this._source.inlineCompletions.read(m);if(!x)return[];const k=this._primaryPosition.read(m);return x.inlineCompletions.filter(P=>P.isVisible(this.textModel,k,m))}),this.selectedInlineCompletionIndex=kn(this,m=>{const x=this._selectedInlineCompletionId.read(m),k=this._filteredInlineCompletionItems.read(m),D=this._selectedInlineCompletionId===void 0?-1:k.findIndex(P=>P.semanticId===x);return D===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):D}),this.selectedInlineCompletion=kn(this,m=>{const x=this._filteredInlineCompletionItems.read(m),k=this.selectedInlineCompletionIndex.read(m);return x[k]}),this.activeCommands=al({owner:this,equalsFn:kS()},m=>{var x;return((x=this.selectedInlineCompletion.read(m))==null?void 0:x.inlineCompletion.source.inlineCompletions.commands)??[]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,m=>m==null?void 0:m.request.context.triggerKind),this.inlineCompletionsCount=kn(this,m=>{if(this.lastTriggerKind.read(m)===gl.Explicit)return this._filteredInlineCompletionItems.read(m).length}),this.state=al({owner:this,equalsFn:(m,x)=>!m||!x?m===x:FI(m.ghostTexts,x.ghostTexts)&&m.inlineCompletion===x.inlineCompletion&&m.suggestItem===x.suggestItem},m=>{const x=this.textModel,k=this.selectedSuggestItem.read(m);if(k){const D=Ld(k.toSingleTextEdit(),x),P=this._computeAugmentation(D,m);if(!this._suggestPreviewEnabled.read(m)&&!P)return;const j=(P==null?void 0:P.edit)??D,H=P?P.edit.text.length-D.text.length:0,te=this._suggestPreviewMode.read(m),J=this._positions.read(m),le=[j,...Zw(this.textModel,J,j)],we=le.map((ce,st)=>VI(ce,x,te,J[st],H)).filter(Im),Be=we[0]??new Mp(j.range.endLineNumber,[]);return{edits:le,primaryGhostText:Be,ghostTexts:we,inlineCompletion:P==null?void 0:P.completion,suggestItem:k}}else{if(!this._isActive.read(m))return;const D=this.selectedInlineCompletion.read(m);if(!D)return;const P=D.toSingleTextEdit(m),A=this._inlineSuggestMode.read(m),j=this._positions.read(m),H=[P,...Zw(this.textModel,j,P)],te=H.map((J,le)=>VI(J,x,A,j[le],0)).filter(Im);return te[0]?{edits:H,primaryGhostText:te[0],ghostTexts:te,inlineCompletion:D,suggestItem:void 0}:void 0}}),this.ghostTexts=al({owner:this,equalsFn:FI},m=>{const x=this.state.read(m);if(x)return x.ghostTexts}),this.primaryGhostText=al({owner:this,equalsFn:AN},m=>{const x=this.state.read(m);if(x)return x==null?void 0:x.primaryGhostText}),this._register(pT(this._fetchInlineCompletionsPromise));let w;this._register(Gn(m=>{var D,P;const x=this.state.read(m),k=x==null?void 0:x.inlineCompletion;if((k==null?void 0:k.semanticId)!==(w==null?void 0:w.semanticId)&&(w=k,k)){const A=k.inlineCompletion,j=A.source;(P=(D=j.provider).handleItemDidShow)==null||P.call(D,j.inlineCompletions,A.sourceInlineCompletion,A.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?tl.Undo:e!=null&&e.isRedoing?tl.Redo:this.isAcceptingPartially?tl.AcceptWord:tl.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){sv(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){sv(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(Im);return p2(s,a=>{let c=a.toSingleTextEdit(t);return c=Ld(c,i,U.fromPositions(c.range.getStartPosition(),e.range.getEndPosition())),WN(c,e)?{completion:a,edit:c}: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 _f;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",[Xn.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=so.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=iD(s).map(a=>vi.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>Xn.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,ss),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 c=0;a&&a.index!==void 0?a.index===0?c=a[0].length:c=a.index:c=i.length;const f=/\s+/g.exec(i);return f&&f.index!==void 0&&f.index+f[0].length<c&&(c=f.index+f[0].length),c},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 _f;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],c=new Xt(s.lineNumber,a.column),u=a.text,f=t(c,u);if(f===u.length&&s.parts.length===1){this.accept(e);return}const g=u.substring(0,f),p=this._positions.get(),w=p[0];r.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const m=U.fromPositions(w,c),x=e.getModel().getValueInRange(m)+g,k=new wl(m,x),D=[k,...Zw(this.textModel,p,k)],P=iD(D).map(A=>vi.fromPositions(A));e.executeEdits("inlineSuggestion.accept",D.map(A=>Xn.replace(A.range,A.text))),e.setSelections(P,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const m=U.fromPositions(r.range.getStartPosition(),nv.ofText(g).addToPosition(c)),x=e.getModel().getValueInRange(m,1);r.source.provider.handlePartialAccept(r.source.inlineCompletions,r.sourceInlineCompletion,x.length,{kind:i})}}finally{r.source.removeRef()}}handleSuggestAccepted(e){var s,r;const t=Ld(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})}};YC=Ej([Kw(9,Ri),Kw(10,Cs),Kw(11,xs)],YC);var tl;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(tl||(tl={}));function Zw(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(U.fromPositions(i,r)),c=HI(i,s);if(c.lineNumber<1)return Nn(new _f(`positionWithinTextEdit line number should be bigger than 0.
36
+ Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const u=Tj(t.text,c);return n.map(f=>{const g=tj(HI(f,s),r),p=o.getValueInRange(U.fromPositions(f,g)),w=__(a,p),m=U.fromPositions(f,f.delta(0,w));return new wl(m,u)})}function Tj(o,e){let t="";const i=m2(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 iD(o){const e=_2.createSortPermutation(o,g_(s=>s.range,U.compareRangesUsingStarts)),i=new rT(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var Pj=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)}},Tg;class lk{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 sD extends lk{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class Mj extends lk{constructor(){super("recentlyUsed"),this._cache=new c_(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,c=-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>c&&g.type===i[u].completion.kind&&g.insertText===i[u].completion.insertText&&(c=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:l0.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class Nj extends lk{constructor(){super("recentlyUsedByPrefix"),this._trie=v2.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:c,insertText:u}=i[a].completion;if(c===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:l0.fromString(i.type),this._trie.set(t,i)}}}var wc;let JC=(wc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new dt,this._persistSoon=new ms(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===Jx.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=Tg._strategyCtors.get(i)||sD;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,c=this._storageService.get(`${Tg._storagePrefix}/${i}`,a);c&&this._strategy.fromJSON(JSON.parse(c))}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(`${Tg._storagePrefix}/${this._strategy.name}`,i,t,1)}}},Tg=wc,wc._strategyCtors=new Map([["recentlyUsedByPrefix",Nj],["recentlyUsed",Mj],["first",sD]]),wc._storagePrefix="suggest/memories",wc);JC=Tg=Pj([nD(0,Wc),nD(1,jn)],JC);const ew=Tl("ISuggestMemories");Pl(ew,JC,1);var Rj=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},Aj=function(o,e){return function(t,i){e(t,i,o)}},QC,Gd;let Vv=(Gd=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=QC.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)}},QC=Gd,Gd.AtEnd=new rn("atEndOfWord",!1),Gd);Vv=QC=Rj([Aj(1,mn)],Vv);var Oj=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},Fj=function(o,e){return function(t,i){e(t,i,o)}},Pg,Kd;let Nf=(Kd=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=Pg.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(Pg._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=Pg._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},Pg=Kd,Kd.OtherSuggestions=new rn("hasOtherSuggestions",!1),Kd);Nf=Pg=Oj([Fj(1,mn)],Nf);class Hj{constructor(e,t,i,n){this._disposables=new dt,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||!zo(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new iv;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 Jo=class Jo{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>Jo._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>Jo._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>=Jo._maxRounds){e();break}if(!n){e();break}const c=i.bracketPairs.findNextBracket(n);if(!c){e();break}if(Date.now()-a>Jo._maxDuration){setTimeout(()=>Jo._bracketsRightYield(e,t+1,i,n,s));break}if(c.bracketInfo.isOpeningBracket){const f=c.bracketInfo.bracketText,g=r.has(f)?r.get(f):0;r.set(f,g+1)}else{const f=c.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 _T,s.set(f,p)),p.push(c.range)}}n=c.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,n,s,r){const a=new Map,c=Date.now();for(;;){if(t>=Jo._maxRounds&&s.size===0){e();break}if(!n){e();break}const u=i.bracketPairs.findPrevBracket(n);if(!u){e();break}if(Date.now()-c>Jo._maxDuration){setTimeout(()=>Jo._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 w=s.get(g);if(w){const m=w.shift();w.size===0&&s.delete(g);const x=U.fromPositions(u.range.getEndPosition(),m.getStartPosition()),k=U.fromPositions(u.range.getStartPosition(),m.getEndPosition());r.push({range:x}),r.push({range:k}),Jo._addBracketLeading(i,k,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:U.fromPositions(new Xt(n,s),t.getEndPosition())}),i.push({range:U.fromPositions(new Xt(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:U.fromPositions(new Xt(r,a),t.getEndPosition())}),i.push({range:U.fromPositions(new Xt(r,1),t.getEndPosition())}))}}};Jo._maxDuration=30,Jo._maxRounds=2;let jv=Jo;const xa=class xa{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return xa.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return xa.None;const[s]=await new jv().provideSelectionRanges(i,[n]);if(s.length===0)return xa.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return xa.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends xa{distance(c,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(b2(g))return 2<<20;const p=ov(g,U.fromPositions(c),U.compareRangesUsingStarts),w=p>=0?g[p]:g[Math.max(0,~p-1)];let m=s.length;for(const x of s){if(!U.containsRange(x.range,w))break;m-=1}return m}}}};xa.None=new class extends xa{distance(){return 0}};let $v=xa,oD=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Yl{constructor(e,t,i,n,s,r,a=mT.default,c=void 0){this.clipboardText=c,this._snippetCompareFn=Yl._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=Yl._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=Yl._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=[],c=!this._options.filterGraceful||r.length>2e3?vT:y2;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,w=p+i-(f.position.column-this._column);if(n.length!==w&&(n=w===0?"":t.slice(-w),s=n.toLowerCase()),f.word=n,w===0)f.score=pp.Default;else{let m=0;for(;m<p;){const x=n.charCodeAt(m);if(x===32||x===9)m+=1;else break}if(m>=w)f.score=pp.Default;else if(typeof f.completion.filterText=="string"){const x=c(n,s,m,f.completion.filterText,f.filterTextLow,0,this._fuzzyScoreOptions);if(!x)continue;w2(f.completion.filterText,f.textLabel)===0?f.score=x:(f.score=S2(n,s,m,f.textLabel,f.labelLow,0),f.score[0]=x[0])}else{const x=c(n,s,m,f.textLabel,f.labelLow,0,this._fuzzyScoreOptions);if(!x)continue;f.score=x}}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?C2(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 Yl._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 Yl._compareCompletionItems(e,t)}}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},Vl=function(o,e){return function(t,i){e(t,i,o)}},e1;class Xc{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 Bj(o,e,t){if(!e.getContextKeyValue(Io.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(Io.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function zj(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(Io.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let Uv=e1=class{constructor(e,t,i,n,s,r,a,c,u){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=n,this._logService=s,this._contextKeyService=r,this._configurationService=a,this._languageFeaturesService=c,this._envService=u,this._toDispose=new dt,this._triggerCharacterListener=new dt,this._triggerQuickSuggest=new r_,this._triggerState=void 0,this._completionDisposables=new dt,this._onDidCancel=new Bi,this._onDidTrigger=new Bi,this._onDidSuggest=new Bi,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new vi(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(){Qs(this._triggerCharacterListener),Qs([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(!zj(this._editor,this._contextKeyService,this._configurationService)||Xc.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="";k2(i.charCodeAt(i.length-1))?L2(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[c,u]of this._completionModel.getItemsByProvider())s.has(c)||a.set(c,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;Eh.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=so.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!Xc.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(!Eh.isAllOff(n)){if(!Eh.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(Eh.valueFor(n,r)!=="on")return}Bj(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){vn(this._editor.hasModel()),vn(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new Xc(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var p,w,m;if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new Xc(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 Ts;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:c}=e1.createSuggestFilter(this._editor),u=new Np(r,((p=e.completionOptions)==null?void 0:p.kindFilter)??a,(w=e.completionOptions)==null?void 0:w.providerFilter,(m=e.completionOptions)==null?void 0:m.providerItemsToReuse,c),f=$v.create(this._editorWorkerService,this._editor),g=rk(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),u,n,this._requestToken.token);Promise.all([g,f]).then(async([x,k])=>{var H;if((H=this._requestToken)==null||H.dispose(),!this._editor.hasModel())return;let D=e==null?void 0:e.clipboardText;if(!D&&x.needsClipboard&&(D=await this._clipboardService.readText()),this._triggerState===void 0)return;const P=this._editor.getModel(),A=new Xc(P,this._editor.getPosition(),e),j={...mT.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new Yl(x.items,this._context.column,{leadingLineContent:A.leadingLineContent,characterCountDelta:A.column-this._context.column},k,this._editor.getOption(119),this._editor.getOption(113),j,D),this._completionDisposables.add(x.disposable),this._onNewContext(A),this._reportDurationsTelemetry(x.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const te of x.items)te.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${te.provider._debugDisplayName}`,te.completion)}).catch(Nn)}_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(Bs(e.leadingLineContent)!==Bs(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(Xc.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=Xc.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})}}}}};Uv=e1=Wj([Vl(1,Ml),Vl(2,Bf),Vl(3,ca),Vl(4,Ou),Vl(5,mn),Vl(6,jn),Vl(7,Yt),Vl(8,x2)],Uv);const Ob=class Ob{constructor(e,t){this._disposables=new dt,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 c=i[a];if(r.getValueLengthInRange(c)>Ob._maxSelectionLength)return;this._lastOvertyped[a]={value:r.getValueInRange(c),multiline:c.startLineNumber!==c.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()}};Ob._maxSelectionLength=51200;let t1=Ob;var Vj=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},Xw=function(o,e){return function(t,i){e(t,i,o)}};let i1=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new dt,this.element=At(e,Vt(".suggest-status-bar"));const r=(a=>a instanceof pf?i.createInstance(I2,a,{useComma:!0}):void 0);this._leftActions=new cp(this.element,{actionViewItemProvider:r}),this._rightActions=new cp(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()}};i1=Vj([Xw(2,Ri),Xw(3,Ru),Xw(4,mn)],i1);var jj=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},$j=function(o,e){return function(t,i){e(t,i,o)}};function ck(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let n1=class{constructor(e,t){this._editor=e,this._onDidClose=new Bi,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new Bi,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new dt,this._renderDisposeable=new dt,this._borderWidth=1,this._size=new An(330,0),this.domNode=Vt(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(jf,{editor:e}),this._body=Vt(".body"),this._scrollbar=new bT(this._body,{alwaysConsumeMouseWheel:!0}),At(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=At(this._body,Vt(".header")),this._close=At(this._header,Vt("span"+yn.asCSSSelector(Ci.close))),this._close.title=C("details.close","Close"),this._type=At(this._header,Vt("p.type")),this._docs=At(this._body,Vt("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`,c=`${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=c,this._close.style.width=c}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=C("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 Ys().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!ck(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,Sr(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else Fa(this._type),this._type.title="",Oo(this._type),this.domNode.classList.add("no-type");if(Fa(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),Fa(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 An(e,t);An.equals(i,this._size)||(this._size=i,D2(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}};n1=jj([$j(1,Ri)],n1);class Uj{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new dt,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new V0,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 c=!1;a.west&&(r=n.width-a.dimension.width,c=!0),a.north&&(s=n.height-a.dimension.height,c=!0),c&&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=h_(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new An(220,2*s.lineHeight),a=e.top,c=(function(){const H=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),te=-s.borderWidth+e.left+e.width,J=new An(H,n.height-e.top-s.borderHeight-s.verticalPadding),le=J.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:te,fit:H-t.width,maxSizeTop:J,maxSizeBottom:le,minSize:r.with(Math.min(H,r.width))}})(),u=(function(){const H=e.left-s.borderWidth-s.horizontalPadding,te=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),J=new An(H,n.height-e.top-s.borderHeight-s.verticalPadding),le=J.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:te,fit:H-t.width,maxSizeTop:J,maxSizeBottom:le,minSize:r.with(Math.min(H,r.width))}})(),f=(function(){const H=e.left,te=-s.borderWidth+e.top+e.height,J=new An(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:te,left:H,fit:J.height-t.height,maxSizeBottom:J,maxSizeTop:J,minSize:r.with(J.width)}})(),g=[c,u,f],p=g.find(H=>H.fit>=0)??g.sort((H,te)=>te.fit-H.fit)[0],w=e.top+e.height-s.borderHeight;let m,x=t.height;const k=Math.max(p.maxSizeTop.height,p.maxSizeBottom.height);x>k&&(x=k);let D;i?x<=p.maxSizeTop.height?(m=!0,D=p.maxSizeTop):(m=!1,D=p.maxSizeBottom):x<=p.maxSizeBottom.height?(m=!1,D=p.maxSizeBottom):(m=!0,D=p.maxSizeTop);let{top:P,left:A}=p;!m&&x>e.height&&(P=w-x);const j=this._editor.getDomNode();if(j){const H=j.getBoundingClientRect();P-=H.top,A-=H.left}this._applyTopLeft({left:A,top:P}),this._resizable.enableSashes(!m,p===c,m,p!==c),this._resizable.minSize=p.minSize,this._resizable.maxSize=D,this._resizable.layout(x,Math.min(D.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var Aa;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(Aa||(Aa={}));const qj=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function hm(o,e,t,i,n){if(yn.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(En.isUri(n))return[];const s=i===Aa.ROOT_FOLDER?["rootfolder-icon"]:i===Aa.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===uo.data)r=rv.parseMetaData(t).get(rv.META_DATA_LABEL);else{const a=t.path.match(qj);a?(r=fm(a[2].toLowerCase()),a[1]&&s.push(`${fm(a[1].toLowerCase())}-name-dir-icon`)):r=fm(t.authority.toLowerCase())}if(i===Aa.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===Aa.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 c=r.split(".");for(let u=1;u<c.length;u++)s.push(`${c.slice(u).join(".")}-ext-file-icon`)}s.push("ext-file-icon")}const a=Gj(o,e,t);a&&s.push(`${fm(a)}-lang-file-icon`)}}return s}function Gj(o,e,t){if(!t)return null;let i=null;if(t.scheme===uo.data){const s=rv.parseMetaData(t).get(rv.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==_p?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function fm(o){return o.replace(/[\s]/g,"/")}var Kj=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},Yw=function(o,e){return function(t,i){e(t,i,o)}};function BN(o){return`suggest-aria-id:${o}`}const Zj=ts("suggest-more-info",Ci.chevronRight,C("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var Jr;const Xj=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 s1=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new Bi,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new dt,i=e;i.classList.add("show-file-icons");const n=At(e,Vt(".icon")),s=At(n,Vt("span.colorspan")),r=At(e,Vt(".contents")),a=At(r,Vt(".main")),c=At(a,Vt(".icon-label.codicon")),u=At(a,Vt("span.left")),f=At(a,Vt("span.right")),g=new HE(u,{supportHighlights:!0,supportIcons:!0});t.add(g);const p=At(u,Vt("span.signature-label")),w=At(u,Vt("span.qualifier-label")),m=At(f,Vt("span.details-label")),x=At(f,Vt("span.readMore"+yn.asCSSSelector(Zj)));return x.title=C("readMore","Read More"),{root:i,left:u,right:f,icon:n,colorspan:s,iconLabel:g,iconContainer:c,parametersLabel:p,qualifierLabel:w,detailsLabel:m,readMore:x,disposables:t,configureFont:()=>{const D=this._editor.getOptions(),P=D.get(50),A=P.getMassagedFontFamily(),j=P.fontFeatureSettings,H=D.get(120)||P.fontSize,te=D.get(121)||P.lineHeight,J=P.fontWeight,le=P.letterSpacing,we=`${H}px`,Be=`${te}px`,ce=`${le}px`;i.style.fontSize=we,i.style.fontWeight=J,i.style.letterSpacing=ce,a.style.fontFamily=A,a.style.fontFeatureSettings=j,a.style.lineHeight=Be,n.style.height=Be,n.style.width=Be,x.style.height=Be,x.style.width=Be}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=BN(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:Cy(e.score)},r=[];if(n.kind===19&&Xj.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=hm(this._modelService,this._languageService,En.from({scheme:"fake",path:e.textLabel}),Aa.FILE),c=hm(this._modelService,this._languageService,En.from({scheme:"fake",path:n.detail}),Aa.FILE);s.extraClasses=a.length>c.length?a:c}else n.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",s.extraClasses=[hm(this._modelService,this._languageService,En.from({scheme:"fake",path:e.textLabel}),Aa.FOLDER),hm(this._modelService,this._languageService,En.from({scheme:"fake",path:n.detail}),Aa.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...yn.asClassNameArray(l0.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=Jw(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=Jw(n.label.detail||""),i.detailsLabel.textContent=Jw(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?Sr(i.detailsLabel):Oo(i.detailsLabel),ck(e)?(i.right.classList.add("can-expand-details"),Sr(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"),Oo(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};s1=Kj([Yw(1,ro),Yw(2,da),Yw(3,Mr)],s1);function Jw(o){return o.replace(/\r\n|\r|\n/g,"")}var Yj=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},gm=function(o,e){return function(t,i){e(t,i,o)}},bh;jt("editorSuggestWidget.background",yT,C("editorSuggestWidgetBackground","Background color of the suggest widget."));jt("editorSuggestWidget.border",E2,C("editorSuggestWidgetBorder","Border color of the suggest widget."));const Jj=jt("editorSuggestWidget.foreground",p_,C("editorSuggestWidgetForeground","Foreground color of the suggest widget."));jt("editorSuggestWidget.selectedForeground",wT,C("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));jt("editorSuggestWidget.selectedIconForeground",T2,C("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const Qj=jt("editorSuggestWidget.selectedBackground",ST,C("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));jt("editorSuggestWidget.highlightForeground",CT,C("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));jt("editorSuggestWidget.focusHighlightForeground",P2,C("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));jt("editorSuggestWidgetStatus.foreground",Ha(Jj,.5),C("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class e6{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Pr}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(An.is(t))return An.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 o1=(Sc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new $o,this._pendingShowDetails=new $o,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new r_,this._disposables=new dt,this._onDidSelect=new vL,this._onDidFocus=new vL,this._onDidHide=new Bi,this._onDidShow=new Bi,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new Bi,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new V0,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new t6(this,e),this._persistedSize=new e6(t,e);class r{constructor(w,m,x=!1,k=!1){this.persistedSize=w,this.currentSize=m,this.persistHeight=x,this.persistWidth=k}}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 w,m;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:x,defaultSize:k}=this.getLayoutInfo(),D=Math.round(x/2);let{width:P,height:A}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-A)<=D)&&(A=((w=a.persistedSize)==null?void 0:w.height)??k.height),(!a.persistWidth||Math.abs(a.currentSize.width-P)<=D)&&(P=((m=a.persistedSize)==null?void 0:m.width)??k.width),this._persistedSize.store(new An(P,A))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=At(this.element.domNode,Vt(".message")),this._listElement=At(this.element.domNode,Vt(".tree"));const c=this._disposables.add(s.createInstance(n1,this.editor));c.onDidClose(this.toggleDetails,this,this._disposables),this._details=new Uj(c,this.editor);const u=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);u();const f=s.createInstance(s1,this.editor);this._disposables.add(f),this._disposables.add(f.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Zx("SuggestWidget",this._listElement,{getHeight:p=>this.getLayoutInfo().itemHeight,getTemplateId:p=>"suggestion"},[f],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>C("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:p=>{let w=p.textLabel;if(typeof p.completion.label!="string"){const{detail:D,description:P}=p.completion.label;D&&P?w=C("label.full","{0} {1}, {2}",w,D,P):D?w=C("label.detail","{0} {1}",w,D):P&&(w=C("label.desc","{0}, {1}",w,P))}if(!p.isResolved||!this._isDetailsVisible())return w;const{documentation:m,detail:x}=p.completion,k=r0("{0}{1}",x||"",m?typeof m=="string"?m:m.value:"");return C("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",w,k)}}}),this._list.style(xT({listInactiveFocusBackground:Qj,listInactiveFocusOutline:pu})),this._status=s.createInstance(i1,this.element.domNode,hc);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=wi.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=wi.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=wi.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=wi.HasFocusedSuggestion.bindTo(i),this._disposables.add(yl(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=dp(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=Es(async s=>{const r=lp(()=>{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:BN(i)}))}).catch(Nn)),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:Oo(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,Oo(this._listElement,this._status.element),Sr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,uf(bh.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=bh.NO_SUGGESTIONS_MESSAGE,Oo(this._listElement,this._status.element),Sr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,uf(bh.NO_SUGGESTIONS_MESSAGE);break;case 3:Oo(this._messageElement),Sr(this._listElement,this._status.element),this._show();break;case 4:Oo(this._messageElement),Sr(this._listElement,this._status.element),this._show();break;case 5:Oo(this._messageElement),Sr(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=lp(()=>this._setState(1),t)))}showSuggestions(e,t,i,n,s){var c,u;if(this._contentWidget.setPosition(this.editor.getPosition()),(c=this._loadingTimeout)==null||c.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=bL(vd(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")):(ck(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=bL(vd(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=h_(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 An(s,n),this._contentWidget.setPreference(2);else{const c=t.width-i.borderHeight-2*i.horizontalPadding;s>c&&(s=c);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=fo(this.editor.getDomNode()),w=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),m=p.top+w.top+w.height,x=Math.min(t.height-m-i.verticalPadding,f),k=p.top+w.top-i.verticalPadding,D=Math.min(k,f);let P=Math.min(Math.max(D,x)+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>x||this._forceRenderingAbove&&k>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),P=D):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),P=x),this.element.preferredSize=new An(u,i.defaultSize.height),this.element.maxSize=new An(c,P),this.element.minSize=new An(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=M2(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 An(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=C("suggestWidget.loading","Loading..."),Sc.NO_SUGGESTIONS_MESSAGE=C("suggestWidget.noSuggestions","No suggestions."),Sc);o1=bh=Yj([gm(1,Wc),gm(2,mn),gm(3,Mr),gm(4,Ri)],o1);class t6{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 An(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 i6=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},rh=function(o,e){return function(t,i){e(t,i,o)}},r1;class n6{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=Ji.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(U.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 Zd;let xr=(Zd=class{static get(e){return e.getContribution(r1.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 $o,this._toDispose=new dt,this._selectors=new s6(g=>g.priority),this._onWillInsertSuggestItem=new Bi,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(Uv,this.editor),this._selectors.register({priority:0,select:(g,p,w)=>this._memoryService.select(g,p,w)});const c=wi.InsertMode.bindTo(n);c.set(e.getOption(119).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>c.set(e.getOption(119).insertMode))),this.widget=this._toDispose.add(new ww(vd(e.getDomNode()),()=>{const g=this._instantiationService.createInstance(o1,this.editor);this._toDispose.add(g),this._toDispose.add(g.onDidSelect(k=>this._insertSuggestion(k,0),this));const p=new Hj(this.editor,g,this.model,k=>this._insertSuggestion(k,2));this._toDispose.add(p);const w=wi.MakesTextEdit.bindTo(this._contextKeyService),m=wi.HasInsertAndReplaceRange.bindTo(this._contextKeyService),x=wi.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(zn(()=>{w.reset(),m.reset(),x.reset()})),this._toDispose.add(g.onDidFocus(({item:k})=>{const D=this.editor.getPosition(),P=k.editStart.column,A=D.column;let j=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!k.completion.additionalTextEdits&&!(k.completion.insertTextRules&4)&&A-P===k.completion.insertText.length&&(j=this.editor.getModel().getValueInRange({startLineNumber:D.lineNumber,startColumn:P,endLineNumber:D.lineNumber,endColumn:A})!==k.completion.insertText),w.set(j),m.set(!Xt.equals(k.editInsertEnd,k.editReplaceEnd)),x.set(!!k.provider.resolveCompletionItem||!!k.completion.documentation||k.completion.detail!==k.completion.label)})),this._toDispose.add(g.onDetailsKeyDown(k=>{if(k.toKeyCodeChord().equals(new yL(!0,!1,!1,!1,33))||za&&k.toKeyCodeChord().equals(new yL(!1,!1,!1,!0,33))){k.stopPropagation();return}k.toKeyCodeChord().isModifierKey()||this.editor.focus()})),g})),this._overtypingCapturer=this._toDispose.add(new ww(vd(e.getDomNode()),()=>this._toDispose.add(new t1(this.editor,this.model)))),this._alternatives=this._toDispose.add(new ww(vd(e.getDomNode()),()=>this._toDispose.add(new Nf(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(Vv,e)),this._toDispose.add(this.model.onDidTrigger(g=>{this.widget.value.showTriggered(g.auto,g.shy?250:50),this._lineSuffix.value=new n6(this.editor.getModel(),g.position)})),this._toDispose.add(this.model.onDidSuggest(g=>{if(g.triggerOptions.shy)return;let p=-1;for(const m of this._selectors.itemsOrderedByPriorityDesc)if(p=m.select(this.editor.getModel(),this.editor.getPosition(),g.completionModel.items),p!==-1)break;if(p===-1&&(p=0),this.model.state===0)return;let w=!1;if(g.triggerOptions.auto){const m=this.editor.getOption(119);m.selectionMode==="never"||m.selectionMode==="always"?w=m.selectionMode==="never":m.selectionMode==="whenTriggerCharacter"?w=g.triggerOptions.triggerKind!==1:m.selectionMode==="whenQuickSuggestion"&&(w=g.triggerOptions.triggerKind===1&&!g.triggerOptions.refilter)}this.widget.value.showSuggestions(g.completionModel,p,g.isFrozen,g.triggerOptions.auto,w)})),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=wi.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=so.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const n=this.editor.getModel(),s=n.getAlternativeVersionId(),{item:r}=e,a=[],c=new Ts;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 m=hf.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(x=>{let k=U.lift(x.range);if(k.startLineNumber===r.position.lineNumber&&k.startColumn>r.position.column){const D=this.editor.getPosition().column-r.position.column,P=D,A=U.spansMultipleLines(k)?0:D;k=new U(k.startLineNumber,k.startColumn+P,k.endLineNumber,k.endColumn+A)}return Xn.replaceMove(k,x.text)})),m.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!f){const m=new Do;let x;const k=n.onDidChangeContent(j=>{if(j.isFlush){c.cancel(),k.dispose();return}for(const H of j.changes){const te=U.getEndPosition(H.range);(!x||Xt.isBefore(te,x))&&(x=te)}}),D=t;t|=2;let P=!1;const A=this.editor.onWillType(()=>{A.dispose(),P=!0,D&2||this.editor.pushUndoStop()});a.push(r.resolve(c.token).then(()=>{if(!r.completion.additionalTextEdits||c.token.isCancellationRequested)return;if(x&&r.completion.additionalTextEdits.some(H=>Xt.isBefore(x,U.getStartPosition(H.range))))return!1;P&&this.editor.pushUndoStop();const j=hf.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(H=>Xn.replaceMove(U.lift(H.range),H.text))),j.restoreRelativeVerticalPositionOfCursor(this.editor),(P||!(D&2))&&this.editor.pushUndoStop(),!0}).then(j=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",m.elapsed(),j),p=j===!0?1:j===!1?0:-2}).finally(()=>{k.dispose(),A.dispose()}))}let{insertText:w}=r.completion;if(r.completion.insertTextRules&4||(w=Su.escape(w)),this.model.cancel(),i.insert(w,{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===qv.id)this.model.trigger({auto:!0,retrigger:!0});else{const m=new Do;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(x=>{r.completion.extensionId?ss(x):Nn(x)}).finally(()=>{g=m.elapsed()}))}t&4&&this._alternatives.value.set(e,m=>{for(c.cancel();n.canUndo();){s!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(m,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(),c.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,n,s,r,a){var p;if(Math.floor(Math.random()*100)===0)return;const c=new Map;for(let w=0;w<Math.min(30,a.length);w++){const m=a[w].textLabel;c.has(m)?c.get(m).push(w):c.set(m,[w])}const u=c.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:eT(Va(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:N2(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:g})}getOverwriteInfo(e,t){vn(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(zo(e.completion.additionalTextEdits)){const t=C("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);Er(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,c=r.column;return c-a!==s.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:r.lineNumber,startColumn:a,endLineNumber:r.lineNumber,endColumn:c})!==s.completion.insertText};_s.once(this.model.onDidTrigger)(s=>{const r=[];_s.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{Qs(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(Qs(r),a.items.length===0){i();return}const c=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),a.items),u=a.items[c];if(!n(u)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:c,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)}},r1=Zd,Zd.ID="editor.contrib.suggestController",Zd);xr=r1=i6([rh(1,ew),rh(2,Cs),rh(3,mn),rh(4,Ri),rh(5,Ou),rh(6,ca)],xr);class s6{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 Fb=class Fb extends je{constructor(){super({id:Fb.id,label:C("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:be.and(O.writable,O.hasCompletionItemProvider,wi.Visible.toNegated()),kbOpts:{kbExpr:O.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=xr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};Fb.id="editor.action.triggerSuggest";let qv=Fb;qi(xr.ID,xr,2);ue(qv);const Uo=190,lo=mo.bindToContribution(xr.get);ii(new lo({id:"acceptSelectedSuggestion",precondition:be.and(wi.Visible,wi.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:be.and(wi.Visible,O.textInputFocus),weight:Uo},{primary:3,kbExpr:be.and(wi.Visible,O.textInputFocus,wi.AcceptSuggestionsOnEnter,wi.MakesTextEdit),weight:Uo}],menuOpts:[{menuId:hc,title:C("accept.insert","Insert"),group:"left",order:1,when:wi.HasInsertAndReplaceRange.toNegated()},{menuId:hc,title:C("accept.insert","Insert"),group:"left",order:1,when:be.and(wi.HasInsertAndReplaceRange,wi.InsertMode.isEqualTo("insert"))},{menuId:hc,title:C("accept.replace","Replace"),group:"left",order:1,when:be.and(wi.HasInsertAndReplaceRange,wi.InsertMode.isEqualTo("replace"))}]}));ii(new lo({id:"acceptAlternativeSelectedSuggestion",precondition:be.and(wi.Visible,O.textInputFocus,wi.HasFocusedSuggestion),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:hc,group:"left",order:2,when:be.and(wi.HasInsertAndReplaceRange,wi.InsertMode.isEqualTo("insert")),title:C("accept.replace","Replace")},{menuId:hc,group:"left",order:2,when:be.and(wi.HasInsertAndReplaceRange,wi.InsertMode.isEqualTo("replace")),title:C("accept.insert","Insert")}]}));Hn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");ii(new lo({id:"hideSuggestWidget",precondition:wi.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:9,secondary:[1033]}}));ii(new lo({id:"selectNextSuggestion",precondition:be.and(wi.Visible,be.or(wi.MultipleSuggestions,wi.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));ii(new lo({id:"selectNextPageSuggestion",precondition:be.and(wi.Visible,be.or(wi.MultipleSuggestions,wi.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:12,secondary:[2060]}}));ii(new lo({id:"selectLastSuggestion",precondition:be.and(wi.Visible,be.or(wi.MultipleSuggestions,wi.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));ii(new lo({id:"selectPrevSuggestion",precondition:be.and(wi.Visible,be.or(wi.MultipleSuggestions,wi.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));ii(new lo({id:"selectPrevPageSuggestion",precondition:be.and(wi.Visible,be.or(wi.MultipleSuggestions,wi.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:11,secondary:[2059]}}));ii(new lo({id:"selectFirstSuggestion",precondition:be.and(wi.Visible,be.or(wi.MultipleSuggestions,wi.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));ii(new lo({id:"focusSuggestion",precondition:be.and(wi.Visible,wi.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));ii(new lo({id:"focusAndAcceptSuggestion",precondition:be.and(wi.Visible,wi.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));ii(new lo({id:"toggleSuggestionDetails",precondition:be.and(wi.Visible,wi.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:hc,group:"right",order:1,when:be.and(wi.DetailsVisible,wi.CanResolve),title:C("detail.more","Show Less")},{menuId:hc,group:"right",order:1,when:be.and(wi.DetailsVisible.toNegated(),wi.CanResolve),title:C("detail.less","Show More")}]}));ii(new lo({id:"toggleExplainMode",precondition:wi.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));ii(new lo({id:"toggleSuggestionFocus",precondition:wi.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:2570,mac:{primary:778}}}));ii(new lo({id:"insertBestCompletion",precondition:be.and(O.textInputFocus,be.equals("config.editor.tabCompletion","on"),Vv.AtEnd,wi.Visible.toNegated(),Nf.OtherSuggestions.toNegated(),so.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(tT(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:Uo,primary:2}}));ii(new lo({id:"insertNextSuggestion",precondition:be.and(O.textInputFocus,be.equals("config.editor.tabCompletion","on"),Nf.OtherSuggestions,wi.Visible.toNegated(),so.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:2}}));ii(new lo({id:"insertPrevSuggestion",precondition:be.and(O.textInputFocus,be.equals("config.editor.tabCompletion","on"),Nf.OtherSuggestions,wi.Visible.toNegated(),so.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:Uo,kbExpr:O.textInputFocus,primary:1026}}));ue(class extends je{constructor(){super({id:"editor.action.resetSuggestSize",label:C("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(o,e){var t;(t=xr.get(e))==null||t.resetWidgetSize()}});class o6 extends ht{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 Bi),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=xr.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(a,c,u)=>{const f=this.editor.getModel();if(!f)return-1;const g=this.suggestControllerPreselector(),p=g?Ld(g,f):void 0;if(!p)return-1;const w=Xt.lift(c),m=u.map((k,D)=>{const P=Yg.fromSuggestion(n,f,w,k,this.isShiftKeyPressed),A=Ld(P.toSingleTextEdit(),f),j=WN(p,A);return{index:D,valid:j,prefixLength:A.text.length,suggestItem:k}}).filter(k=>k&&k.valid&&k.prefixLength>0),x=R2(m,g_(k=>k.prefixLength,Sy));return x?x.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(_s.once(n.model.onDidTrigger)(a=>{r()})),this._register(n.onWillInsertSuggestItem(a=>{const c=this.editor.getPosition(),u=this.editor.getModel();if(!c||!u)return;const f=Yg.fromSuggestion(n,u,c,a.item,this.isShiftKeyPressed);this.onWillAccept(f)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!r6(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=xr.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 Yg.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=xr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=xr.get(this.editor);e==null||e.forceRenderingAbove()}}class Yg{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const u=new Su().parse(r);u.children.length<100&&zv.adjustWhitespace(t,i,!0,u),r=u.toString(),a=!0}const c=e.getOverwriteInfo(n,s);return new Yg(U.fromPositions(i.delta(0,-c.overwriteBefore),i.delta(0,Math.max(c.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 A2(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new wl(this.range,this.insertText)}}function r6(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var a6=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},Qa=function(o,e){return function(t,i){e(t,i,o)}},a1,Xd;let or=(Xd=class extends ht{static get(e){return e.getContribution(a1.ID)}constructor(e,t,i,n,s,r,a,c,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=c,this._keybindingService=u,this._accessibilityService=f,this._editorObs=Ea(this.editor),this._positions=kn(this,p=>{var w;return((w=this._editorObs.selections.read(p))==null?void 0:w.map(m=>m.getEndPosition()))??[new Xt(1,1)]}),this._suggestWidgetAdaptor=this._register(new o6(this.editor,()=>{var p,w;return this._editorObs.forceUpdate(),(w=(p=this.model.get())==null?void 0:p.selectedInlineCompletion.get())==null?void 0:w.toSingleTextEdit(void 0)},p=>this._editorObs.forceUpdate(w=>{var m;(m=this.model.get())==null||m.handleSuggestAccepted(p)}))),this._suggestWidgetSelectedItem=So(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(w=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=So(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=So(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=So(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=kn(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=Pc(this,p=>{if(this._editorObs.isReadonly.read(p))return;const w=this._editorObs.model.read(p);return w?this._instantiationService.createInstance(YC,w,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,So(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),So(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),So(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=kn(this,p=>{const w=this.model.read(p);return(w==null?void 0:w.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=l6(this._ghostTexts,this._store),this._ghostTextWidgets=O2(this,this._stablizedGhostTexts,(p,w)=>w.add(this._instantiationService.createInstance(ZC,this.editor,{ghostText:p,minReservedLineCount:cl(0),targetTextModel:this.model.map(m=>m==null?void 0:m.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=a0(this),this._fontFamily=So(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new Io(this._contextKeyService,this.model)),this._register(wL(this._editorObs.onDidType,(p,w)=>{var m;this._enabled.get()&&((m=this.model.get())==null||m.trigger())})),this._register(this._commandService.onDidExecuteCommand(p=>{new Set([Dm.Tab.id,Dm.DeleteLeft.id,Dm.DeleteRight.id,KM,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(m=>{var x;(x=this.model.get())==null||x.trigger(m)})})),this._register(wL(this._editorObs.selections,(p,w)=>{var m;w.some(x=>x.reason===3||x.source==="api")&&((m=this.model.get())==null||m.stop())})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||If.dropDownVisible||Au(p=>{var w;(w=this.model.get())==null||w.stop(p)})})),this._register(Gn(p=>{var m;const w=(m=this.model.read(p))==null?void 0:m.state.read(p);w!=null&&w.suggestItem?w.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(zn(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const g=yy(this,(p,w)=>{var k;const m=this.model.read(p),x=m==null?void 0:m.state.read(p);return this._suggestWidgetSelectedItem.get()?w:(k=x==null?void 0:x.inlineCompletion)==null?void 0:k.semanticId});this._register(F2(kn(p=>(this._playAccessibilitySignal.read(p),g.read(p),{})),async(p,w,m)=>{const x=this.model.get(),k=x==null?void 0:x.state.get();if(!k||!x)return;const D=x.textModel.getLineContent(k.primaryGhostText.lineNumber);await Iy(50,LS(m)),await H2(this._suggestWidgetSelectedItem,Cg,()=>!1,LS(m)),await this._accessibilitySignalService.playSignal(nT.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(k.primaryGhostText.renderForScreenReader(D))})),this._register(new gC(this.editor,this.model,this._instantiationService)),this._register(JV(kn(p=>{const w=this._fontFamily.read(p);return w===""||w==="default"?"":`
43
+ .monaco-editor .ghost-text-decoration,
44
+ .monaco-editor .ghost-text-decoration-preview,
45
+ .monaco-editor .ghost-text {
46
+ font-family: ${w};
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=C("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),Er(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 Xt(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},a1=Xd,Xd.ID="editor.contrib.inlineCompletionsController",Xd);or=a1=a6([Qa(1,Ri),Qa(2,mn),Qa(3,jn),Qa(4,Cs),Qa(5,rr),Qa(6,Yt),Qa(7,iT),Qa(8,us),Qa(9,wy)],or);function l6(o,e){const t=Vo("result",[]),i=[];return e.add(Gn(n=>{const s=o.read(n);Au(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=Vo("item",s[a]));t.set([...i],r)}i.forEach((a,c)=>a.set(s[c],r))})})),t}const Hb=class Hb extends je{constructor(){super({id:Hb.ID,label:C("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:be.and(O.writable,Io.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=or.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};Hb.ID=XM;let l1=Hb;const Wb=class Wb extends je{constructor(){super({id:Wb.ID,label:C("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:be.and(O.writable,Io.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=or.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Wb.ID=ZM;let c1=Wb;class c6 extends je{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:C("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:O.writable})}async run(e,t){const i=or.get(t);await kT(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 d6 extends je{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:C("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:be.and(O.writable,Io.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:be.and(O.writable,Io.inlineSuggestionVisible)},menuOpts:[{menuId:Nt.InlineSuggestionToolbar,title:C("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=or.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class u6 extends je{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:C("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:be.and(O.writable,Io.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:Nt.InlineSuggestionToolbar,title:C("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=or.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class h6 extends je{constructor(){super({id:KM,label:C("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:Io.inlineSuggestionVisible,menuOpts:[{menuId:Nt.InlineSuggestionToolbar,title:C("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:be.and(Io.inlineSuggestionVisible,O.tabMovesFocus.toNegated(),Io.inlineSuggestionHasIndentationLessThanTabSize,wi.Visible.toNegated(),O.hoverFocused.toNegated())}})}async run(e,t){var n;const i=or.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const Bb=class Bb extends je{constructor(){super({id:Bb.ID,label:C("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:Io.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=or.get(t);Au(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};Bb.ID="editor.action.inlineSuggest.hide";let d1=Bb;const zb=class zb extends _o{constructor(){super({id:zb.ID,title:C("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:Nt.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:be.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(jn),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};zb.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let u1=zb;var f6=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},vg=function(o,e){return function(t,i){e(t,i,o)}};class g6{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 h1=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=or.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 Hm(1e3,this,U.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 Hm(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new Hm(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=or.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new g6(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new dt,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(If,this._editor,!1,cl(null),s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.activeCommands),a=r.getDomNode();e.fragment.appendChild(a),s.triggerExplicitly(),i.add(r);const c={hoverPart:n,hoverElement:a,dispose(){i.dispose()}};return new Lu([c])}renderScreenReaderText(e,t){const i=new dt,n=Vt,s=n("div.hover-row.markdown-hover"),r=At(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new jf({editor:this._editor},this._languageService,this._openerService)),c=u=>{i.add(a.onDidRenderAsync(()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}));const f=C("inlineSuggestionFollows","Suggestion:"),g=i.add(a.render(new Ys().appendText(f).appendCodeblock("text",u)));r.replaceChildren(g.element)};return i.add(Gn(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);c(f.renderForScreenReader(p))}else ev(r)})),e.fragment.appendChild(s),i}};h1=f6([vg(1,da),vg(2,la),vg(3,wy),vg(4,Ri),vg(5,ca)],h1);class p6{}const tw=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}};qi(or.ID,or,3);ue(c6);ue(l1);ue(c1);ue(d6);ue(u6);ue(h6);ue(d1);In(u1);Bu.register(h1);tw.register(new p6);var _6=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},Qw=function(o,e){return function(t,i){e(t,i,o)}},Mg,Cc;let Rp=(Cc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new dt,this.toUnhookForKeyboard=new dt,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new Gy(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=>{Nn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(Mg.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 LT(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Es(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){Nn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?U.lift(n[0].originSelectionRange):new U(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:c}of n)c&&(a=U.plusRange(a,c));this.addDecoration(a,new Ys().appendText(C("multipleResults","Click to show {0} definitions.",n.length)))}else{const a=n[0];if(!a.uri)return;this.textModelResolverService.createModelReference(a.uri).then(c=>{if(!c.object||!c.object.textEditorModel){c.dispose();return}const{object:{textEditorModel:u}}=c,{startLineNumber:f}=a.range;if(f<1||f>u.getLineCount()){c.dispose();return}const g=this.getPreviewValue(u,f,a),p=this.languageService.guessLanguageIdByFilepathOrFirstLine(u.uri);this.addDecoration(s,g?new Ys().appendCodeblock(p||"",g):void 0),c.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=Mg.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 c=e.getLineFirstNonWhitespaceColumn(a);s=Math.min(s,c)}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+Mg.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new U(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 o0)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?D_(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 T_({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(mn);return go.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},Mg=Cc,Cc.ID="editor.contrib.gotodefinitionatposition",Cc.MAX_SOURCE_PREVIEW_LINES=8,Cc);Rp=Mg=_6([Qw(1,ua),Qw(2,da),Qw(3,Yt)],Rp);qi(Rp.ID,Rp,2);var zN=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 rD{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let f1=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new Bi,this.onDidChange=this._onDidChange.event,this._dispoables=new dt,this._markers=[],this._nextIdx=-1,En.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),s=(a,c)=>{let u=SL(a.resource.toString(),c.resource.toString());return u===0&&(n==="position"?u=U.compareRangesUsingStarts(a,c)||eo.compare(a.severity,c.severity):u=eo.compare(a.severity,c.severity)||U.compareRangesUsingStarts(a,c)),u},r=()=>{this._markers=this._markerService.read({resource:En.isUri(e)?e:void 0,severities:eo.Error|eo.Warning|eo.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(c=>this._resourceFilter(c)))&&(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 rD(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=ov(this._markers,{resource:e.uri},(r,a)=>SL(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=U.lift(this._markers[r]);if(a.isEmpty()){const c=e.getWordAtPosition(a.getStartPosition());c&&(a=new U(a.startLineNumber,c.startColumn,a.startLineNumber,c.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(U.containsPosition(this._markers[i],t))return new rD(this._markers[i],i+1,this._markers.length)}}};f1=zN([Gv(1,Yx),Gv(2,jn)],f1);const VN=Tl("IMarkerNavigationService");let g1=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new _T}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new f1(e,this._markerService,this._configService)}};g1=zN([Gv(0,Yx),Gv(1,jn)],g1);Pl(VN,g1,1);var p1;(function(o){function e(t){switch(t){case G_.Ignore:return"severity-ignore "+yn.asClassName(Ci.info);case G_.Info:return yn.asClassName(Ci.info);case G_.Warning:return yn.asClassName(Ci.warning);case G_.Error:return yn.asClassName(Ci.error);default:return""}}o.className=e})(p1||(p1={}));var m6=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},ah=function(o,e){return function(t,i){e(t,i,o)}},_1;class v6{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 dt,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(yl(this._relatedBlock,"click",a=>{a.preventDefault();const c=this._relatedDiagnostics.get(a.target);c&&i(c)})),this._scrollable=new U2(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(){Qs(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=Ly(i);this._lines=a.length,this._longestLineLength=0;for(const p of a)this._longestLineLength=Math.max(p.length+r,this._longestLineLength);Fa(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let c=this._messageBlock;for(const p of a)c=document.createElement("div"),c.innerText=p,p===""&&(c.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(c);if(t||s){const p=document.createElement("span");if(p.classList.add("details"),c.appendChild(p),t){const w=document.createElement("span");w.innerText=t,w.classList.add("source"),p.appendChild(w)}if(s)if(typeof s=="string"){const w=document.createElement("span");w.innerText=`(${s})`,w.classList.add("code"),p.appendChild(w)}else{this._codeLink=Vt("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=m=>{this._openerService.open(s.target,{allowCommands:!0}),m.preventDefault(),m.stopPropagation()};const w=At(this._codeLink,Vt("span"));w.innerText=s.value,p.appendChild(this._codeLink)}}if(Fa(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),zo(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 w of n){const m=document.createElement("div"),x=document.createElement("a");x.classList.add("filename"),x.innerText=`${this._labelService.getUriBasenameLabel(w.resource)}(${w.startLineNumber}, ${w.startColumn}): `,x.title=this._labelService.getUriLabel(w.resource),this._relatedDiagnostics.set(x,w);const k=document.createElement("span");k.innerText=w.message,m.appendChild(x),m.appendChild(k),this._lines+=1,p.appendChild(m)}}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 eo.Error:t=C("Error","Error");break;case eo.Warning:t=C("Warning","Warning");break;case eo.Info:t=C("Info","Info");break;case eo.Hint:t=C("Hint","Hint");break}let i=C("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 Yd;let Ap=(Yd=class extends xv{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 dt,this._onDidSelectRelatedInformation=new Bi,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=eo.Warning,this._backgroundColor=Yi.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(S6);let t=m1,i=b6;this._severity===eo.Warning?(t=Vm,i=y6):this._severity===eo.Info&&(t=v1,i=w6);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(rN),secondaryHeadingColor:e.getColor(aN)})}_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(_1.TitleMenu,this._contextKeyService);e0(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=At(e,Vt(""))}_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 v6(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=U.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 c=i>1?C("problems","{0} of {1} problems",t,i):C("change","{0} of {1} problem",t,i);this.setTitle(Va(a.uri),c)}this._icon.className=`codicon ${p1.className(eo.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()}},_1=Yd,Yd.TitleMenu=new Nt("gotoErrorTitleMenu"),Yd);Ap=_1=m6([ah(1,Mr),ah(2,la),ah(3,Ru),ah(4,Ri),ah(5,mn),ah(6,gp)],Ap);const aD=c0(B2,W2),lD=c0(V2,z2),cD=c0(yS,j2),m1=jt("editorMarkerNavigationError.background",{dark:aD,light:aD,hcDark:bl,hcLight:bl},C("editorMarkerNavigationError","Editor marker navigation widget error color.")),b6=jt("editorMarkerNavigationError.headerBackground",{dark:Ha(m1,.1),light:Ha(m1,.1),hcDark:null,hcLight:null},C("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),Vm=jt("editorMarkerNavigationWarning.background",{dark:lD,light:lD,hcDark:bl,hcLight:bl},C("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),y6=jt("editorMarkerNavigationWarning.headerBackground",{dark:Ha(Vm,.1),light:Ha(Vm,.1),hcDark:"#0C141F",hcLight:Ha(Vm,.2)},C("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),v1=jt("editorMarkerNavigationInfo.background",{dark:cD,light:cD,hcDark:bl,hcLight:bl},C("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),w6=jt("editorMarkerNavigationInfo.headerBackground",{dark:Ha(v1,.1),light:Ha(v1,.1),hcDark:null,hcLight:null},C("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),S6=jt("editorMarkerNavigation.background",$2,C("editorMarkerNavigationBackground","Editor marker navigation widget background."));var C6=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},pm=function(o,e){return function(t,i){e(t,i,o)}},Ng,Jd;let Eu=(Jd=class{static get(e){return e.getContribution(Ng.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new dt,this._editor=e,this._widgetVisible=jN.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(Ap,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)||!U.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:U.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 Xt(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=Ng.get(r))==null||i.close(),(n=Ng.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},Ng=Jd,Jd.ID="editor.contrib.markerController",Jd);Eu=Ng=C6([pm(1,VN),pm(2,mn),pm(3,os),pm(4,Ri)],Eu);class iw extends je{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=Eu.get(t))==null||i.nagivate(this._next,this._multiFile))}}const rd=class rd extends iw{constructor(){super(!0,!1,{id:rd.ID,label:rd.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:O.focus,primary:578,weight:100},menuOpts:{menuId:Ap.TitleMenu,title:rd.LABEL,icon:ts("marker-navigation-next",Ci.arrowDown,C("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};rd.ID="editor.action.marker.next",rd.LABEL=C("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let Kv=rd;const ad=class ad extends iw{constructor(){super(!1,!1,{id:ad.ID,label:ad.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:O.focus,primary:1602,weight:100},menuOpts:{menuId:Ap.TitleMenu,title:ad.LABEL,icon:ts("marker-navigation-previous",Ci.arrowUp,C("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};ad.ID="editor.action.marker.prev",ad.LABEL=C("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let b1=ad;class x6 extends iw{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:C("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:O.focus,primary:66,weight:100},menuOpts:{menuId:Nt.MenubarGoMenu,title:C({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class k6 extends iw{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:C("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:O.focus,primary:1090,weight:100},menuOpts:{menuId:Nt.MenubarGoMenu,title:C({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}qi(Eu.ID,Eu,4);ue(Kv);ue(b1);ue(x6);ue(k6);const jN=new rn("markersNavigationVisible",!1),L6=mo.bindToContribution(Eu.get);ii(new L6({id:"closeMarkersNavigation",precondition:jN,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:O.focus,primary:9,secondary:[1033]}}));var Ur;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(Ur||(Ur={}));class I6 extends je{constructor(){super({id:GM,label:C({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:qt("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:[Ur.NoAutoFocus,Ur.FocusIfVisible,Ur.AutoFocusImmediately],enumDescriptions:[C("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),C("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),C("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:Ur.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=Gs.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=Ur.FocusIfVisible;Object.values(Ur).includes(s)?r=s:typeof s=="boolean"&&s&&(r=Ur.AutoFocusImmediately);const a=u=>{const f=t.getPosition(),g=new U(f.lineNumber,f.column,f.lineNumber,f.column);n.showContentHover(g,1,1,u)},c=t.getOption(2)===2;n.isHoverVisible?r!==Ur.NoAutoFocus?n.focus():a(c):a(c||r===Ur.AutoFocusImmediately)}}class D6 extends je{constructor(){super({id:UB,label:C({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:qt("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=Gs.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new U(n.lineNumber,n.column,n.lineNumber,n.column),r=Rp.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class E6 extends je{constructor(){super({id:qB,label:C({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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:16,weight:100},metadata:{description:qt("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.scrollUp()}}class T6 extends je{constructor(){super({id:GB,label:C({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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:18,weight:100},metadata:{description:qt("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.scrollDown()}}class P6 extends je{constructor(){super({id:KB,label:C({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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:15,weight:100},metadata:{description:qt("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.scrollLeft()}}class M6 extends je{constructor(){super({id:ZB,label:C({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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:17,weight:100},metadata:{description:qt("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.scrollRight()}}class N6 extends je{constructor(){super({id:XB,label:C({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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:qt("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.pageUp()}}class R6 extends je{constructor(){super({id:YB,label:C({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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:qt("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.pageDown()}}class A6 extends je{constructor(){super({id:JB,label:C({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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:qt("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.goToTop()}}class O6 extends je{constructor(){super({id:QB,label:C({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:O.hoverFocused,kbOpts:{kbExpr:O.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:qt("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=Gs.get(t);i&&i.goToBottom()}}class F6 extends je{constructor(){super({id:$y,label:e4,alias:"Increase Hover Verbosity Level",precondition:O.hoverVisible})}run(e,t,i){const n=Gs.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(nr.Increase,s,i==null?void 0:i.focus)}}class H6 extends je{constructor(){super({id:Uy,label:t4,alias:"Decrease Hover Verbosity Level",precondition:O.hoverVisible})}run(e,t,i){var r;const n=Gs.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=Gs.get(t))==null||r.updateHoverVerbosityLevel(nr.Decrease,s,i==null?void 0:i.focus)}}var W6=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},eS=function(o,e){return function(t,i){e(t,i,o)}};const cr=Vt;class B6{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 dD={type:1,filter:{include:On.QuickFix},triggerAction:Eo.QuickFixHover};let y1=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 c=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 U(e.range.startLineNumber,c,e.range.startLineNumber,u);r.push(new B6(this,g,f))}return r}renderHoverParts(e,t){if(!t.length)return new Lu([]);const i=new dt,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)=>eo.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new Lu(n)}_renderMarkerHover(e){const t=new dt,i=cr("div.hover-row"),n=At(i,cr("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:c}=e.marker;this._editor.applyFontInfo(n);const u=At(n,cr("span"));if(u.style.whiteSpace="pre-wrap",u.innerText=r,s||a)if(a&&typeof a!="string"){const g=cr("span");if(s){const x=At(g,cr("span"));x.innerText=s}const p=At(g,cr("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(_n(p,"click",x=>{this._openerService.open(a.target,{allowCommands:!0}),x.preventDefault(),x.stopPropagation()}));const w=At(p,cr("span"));w.innerText=a.value;const m=At(n,g);m.style.opacity="0.6",m.style.paddingLeft="6px"}else{const g=At(n,cr("span"));g.style.opacity="0.6",g.style.paddingLeft="6px",g.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(zo(c))for(const{message:g,resource:p,startLineNumber:w,startColumn:m}of c){const x=At(n,cr("div"));x.style.marginTop="8px";const k=At(x,cr("a"));k.innerText=`${Va(p)}(${w}, ${m}): `,k.style.cursor="pointer",t.add(_n(k,"click",P=>{if(P.stopPropagation(),P.preventDefault(),this._openerService){const A={selection:{startLineNumber:w,startColumn:m}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:A}).catch(Nn)}}));const D=At(x,cr("span"));D.innerText=g,this._editor.applyFontInfo(D)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===eo.Error||t.marker.severity===eo.Warning||t.marker.severity===eo.Info){const n=Eu.get(this._editor);n&&e.statusBar.addAction({label:C("view problem","View Problem"),commandId:Kv.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(cr("div"));this.recentMarkerCodeActionsInfo&&(CL.makeKey(this.recentMarkerCodeActionsInfo.marker)===CL.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=C("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?ht.None:lp(()=>n.textContent=C("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(zn(()=>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=C("noQuickFixes","No quick fixes available");return}n.style.display="none";let c=!1;i.add(zn(()=>{c||a.dispose()})),e.statusBar.addAction({label:C("quick fixes","Quick Fix..."),commandId:H0,run:u=>{c=!0;const f=kf.get(this._editor),g=fo(u);e.hide(),f==null||f.showCodeActions(dD,a,{x:g.left,y:g.top,width:g.width,height:g.height})}})},Nn)}}getCodeActions(e){return Es(t=>kh(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new U(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),dD,ll.None,t))}};y1=W6([eS(1,q2),eS(2,la),eS(3,Yt)],y1);class z6{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=Jm.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)??Jm.Center;if(!n&&a!==this._laneOrLine)continue;const c=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!c||fp(c)||i.push(...FE(c).map(e))}return i}}var V6=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)}},w1;const hD=Vt;var Qd;let S1=(Qd=class extends ht{constructor(e,t,i){super(),this._renderDisposeables=this._register(new dt),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new OE),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new jf({editor:this._editor},t,i)),this._computer=new z6(this._editor),this._hoverOperation=this._register(new YM(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(yl(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return w1.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=hD("div.hover-row.markdown-hover"),r=At(s,hD("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,c=t.glyphMarginLeft+t.glyphMarginWidth+(this._computer.lane==="lineNo"?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${c}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(a),0)}px`}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!qy(t,e.x,e.y))&&this.hide()}},w1=Qd,Qd.ID="editor.contrib.modesGlyphHoverWidget",Qd);S1=w1=V6([uD(1,da),uD(2,la)],S1);var j6=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},$6=function(o,e){return function(t,i){e(t,i,o)}},tf;let Zv=(tf=class extends ht{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new dt,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new ms(()=>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?qy(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(S1,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},tf.ID="editor.contrib.marginHover",tf);Zv=j6([$6(1,Ri)],Zv);class U6{}class q6{}class G6{}qi(Gs.ID,Gs,2);qi(Zv.ID,Zv,2);ue(I6);ue(D6);ue(E6);ue(T6);ue(P6);ue(M6);ue(N6);ue(R6);ue(A6);ue(O6);ue(F6);ue(H6);Bu.register(Ep);Bu.register(y1);vy((o,e)=>{const t=o.getColor(G2);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)}; }`))});tw.register(new U6);tw.register(new q6);tw.register(new G6);function wo(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function Jg(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 $N(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 K2(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:c}=o.getOptions(),u=(x,k)=>(k=k||1,mf.shiftIndent(x,x.length+k,r,a,c)),f=(x,k)=>(k=k||1,mf.unshiftIndent(x,x.length+k,r,a,c)),g=[],p=o.getLineContent(t);let w=Bs(p),m=w;s.shouldIncrease(t)?(m=u(m),w=u(w)):s.shouldIndentNextLine(t)&&(m=u(m)),t++;for(let x=t;x<=i;x++){if(K6(o,x))continue;const k=o.getLineContent(x),D=Bs(k),P=m;s.shouldDecrease(x,P)&&(m=f(m),w=f(w)),D!==m&&g.push(Xn.replaceMove(new vi(x,1,x,D.length+1),Z2(m,a,c))),!s.shouldIgnore(x)&&(s.shouldIncrease(x,P)?(w=u(w),m=w):s.shouldIndentNextLine(x,P)?m=u(m):m=w)}return g}function K6(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}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},X6=function(o,e){return function(t,i){e(t,i,o)}};const Vb=class Vb extends je{constructor(){super({id:Vb.ID,label:C("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:O.writable,metadata:{description:qt("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 t5(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};Vb.ID="editor.action.indentationToSpaces";let C1=Vb;const jb=class jb extends je{constructor(){super({id:jb.ID,label:C("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:O.writable,metadata:{description:qt("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 i5(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};jb.ID="editor.action.indentationToTabs";let x1=jb;class dk extends je{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(El),n=e.get(ro),s=t.getModel();if(!s)return;const r=n.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget),a=s.getOptions(),c=[1,2,3,4,5,6,7,8].map(f=>({id:f.toString(),label:f.toString(),description:f===r.tabSize&&f===a.tabSize?C("configuredTabSize","Configured Tab Size"):f===r.tabSize?C("defaultTabSize","Default Tab Size"):f===a.tabSize?C("currentTabSize","Current Tab Size"):void 0})),u=Math.min(s.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(c,{placeHolder:C({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:c[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 $b=class $b extends dk{constructor(){super(!1,!1,{id:$b.ID,label:C("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:qt("indentUsingTabsDescription","Use indentation with tabs.")}})}};$b.ID="editor.action.indentUsingTabs";let k1=$b;const Ub=class Ub extends dk{constructor(){super(!0,!1,{id:Ub.ID,label:C("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:qt("indentUsingSpacesDescription","Use indentation with spaces.")}})}};Ub.ID="editor.action.indentUsingSpaces";let L1=Ub;const qb=class qb extends dk{constructor(){super(!0,!0,{id:qb.ID,label:C("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:qt("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};qb.ID="editor.action.changeTabDisplaySize";let I1=qb;const Gb=class Gb extends je{constructor(){super({id:Gb.ID,label:C("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:qt("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(ro),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};Gb.ID="editor.action.detectIndentation";let D1=Gb;class Y6 extends je{constructor(){super({id:"editor.action.reindentlines",label:C("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:O.writable,metadata:{description:qt("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(xs),n=t.getModel();if(!n)return;const s=$N(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class J6 extends je{constructor(){super({id:"editor.action.reindentselectedlines",label:C("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:O.writable,metadata:{description:qt("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(xs),n=t.getModel();if(!n)return;const s=t.getSelections();if(s===null)return;const r=[];for(const a of s){let c=a.startLineNumber,u=a.endLineNumber;if(c!==u&&a.endColumn===1&&u--,c===1){if(c===u)continue}else c--;const f=$N(n,i,c,u);r.push(...f)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class Q6{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(U.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 nf;let Xv=(nf=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new dt,this.callOnModel=new dt,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)||e5(i,e)||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:r,indentSize:a,insertSpaces:c}=i.getOptions(),u=[],f={shiftIndent:m=>mf.shiftIndent(m,m.length+1,r,a,c),unshiftIndent:m=>mf.unshiftIndent(m,m.length+1,r,a,c)};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 m=jg(s,i,i.getLanguageId(),g,f,this._languageConfigurationService);if(m!==null){const x=Bs(p),k=wo(m,r),D=wo(x,r);if(k!==D){const P=Jg(k,r,c);u.push({range:new U(g,1,g,x.length+1),text:P}),p=P+p.substring(x.length)}else{const P=IT(i,g,this._languageConfigurationService);if(P===0||P===8)return}}}const w=g;for(;g<e.endLineNumber;){if(!/\S/.test(i.getLineContent(g+1))){g++;continue}break}if(g!==e.endLineNumber){const x=jg(s,{tokenization:{getLineTokens:k=>i.tokenization.getLineTokens(k),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(k,D)=>i.getLanguageIdAtPosition(k,D)},getLineContent:k=>k===w?p:i.getLineContent(k)},i.getLanguageId(),g+1,f,this._languageConfigurationService);if(x!==null){const k=wo(x,r),D=wo(Bs(i.getLineContent(g+1)),r);if(k!==D){const P=k-D;for(let A=g+1;A<=e.endLineNumber;A++){const j=i.getLineContent(A),H=Bs(j),J=wo(H,r)+P,le=Jg(J,r,c);le!==H&&u.push({range:new U(A,1,A,H.length+1),text:le})}}}}if(u.length>0){this.editor.pushUndoStop();const m=new Q6(u,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",m),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()}},nf.ID="editor.contrib.autoIndentOnPaste",nf);Xv=Z6([X6(1,xs)],Xv);function e5(o,e){const t=i=>X2(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function UN(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 c=o.getLineFirstNonWhitespaceColumn(r);if(c===0&&(c=o.getLineMaxColumn(r)),c===1)continue;const u=new U(r,1,r,c),f=o.getValueInRange(u),g=i?f.replace(/\t/ig,n):f.replace(s," ");e.addEditOperation(u,g)}}class t5{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),UN(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class i5{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),UN(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}qi(Xv.ID,Xv,2);ue(C1);ue(x1);ue(k1);ue(L1);ue(I1);ue(D1);ue(Y6);ue(J6);qi(Pp.ID,Pp,1);Bu.register(Dv);class n5{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 vi(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new vi(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var s5=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},o5=function(o,e){return function(t,i){e(t,i,o)}},jm,xc;let Rf=(xc=class{static get(e){return e.getContribution(jm.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var c;(c=this.currentRequest)==null||c.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 LT(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=Es(u=>this.editorWorkerService.navigateValueSet(a,s,t)),this.currentRequest.then(u=>{var m;if(!u||!u.range||!u.value||!r.validate(this.editor))return;const f=U.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 vi(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const w=new n5(f,s,u.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,w),this.editor.pushUndoStop(),this.decorations.set([{range:g,options:jm.DECORATION}]),(m=this.decorationRemover)==null||m.cancel(),this.decorationRemover=Iy(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(Nn)}).catch(Nn)):Promise.resolve(void 0)}},jm=xc,xc.ID="editor.contrib.inPlaceReplaceController",xc.DECORATION=Ji.register({description:"in-place-replace",className:"valueSetReplacement"}),xc);Rf=jm=s5([o5(1,Ml)],Rf);class r5 extends je{constructor(){super({id:"editor.action.inPlaceReplace.up",label:C("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=Rf.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class a5 extends je{constructor(){super({id:"editor.action.inPlaceReplace.down",label:C("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=Rf.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}qi(Rf.ID,Rf,4);ue(r5);ue(a5);class l5 extends je{constructor(){super({id:"expandLineSelection",label:C("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:O.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,d0.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}ue(l5);class c5{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=d5(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 d5(o,e,t){e.sort((a,c)=>a.lineNumber===c.lineNumber?a.column-c.column:a.lineNumber-c.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,c=o.getLineCount();a<=c;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=Em(u);let w=0;if(p===-1)w=1;else if(p!==u.length-1)w=p+2;else continue;if(!t){if(!o.tokenization.hasAccurateTokensForLine(a))continue;const m=o.tokenization.getLineTokens(a),x=m.getStandardTokenType(m.findTokenIndexAtOffset(w));if(x===2||x===3)continue}w=Math.max(g,w),i[n++]=Xn.delete(new U(a,w,a,f))}return i}class qN{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 U(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
49
+ `):this._isCopyingDown?t.addEditOperation(new U(i.startLineNumber,1,i.startLineNumber,1),s+`
50
+ `):t.addEditOperation(new U(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=vi.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var u5=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},h5=function(o,e){return function(t,i){e(t,i,o)}};let E1=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:c,insertSpaces:u}=e.getOptions(),f=this.buildIndentConverter(a,c,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 U(1,1,1,1),null):(t.addEditOperation(new U(g,1,g,1),e.getLineContent(p)),t.addEditOperation(new U(p,1,p,e.getLineMaxColumn(p)),null)),r=new vi(p,1,p,1)}else{let g,p;if(this._isMovingDown){g=r.endLineNumber+1,p=e.getLineContent(g),t.addEditOperation(new U(g-1,e.getLineMaxColumn(g-1),g,e.getLineMaxColumn(g)),null);let w=p;if(this.shouldAutoIndent(e,r)){const m=this.matchEnterRule(e,f,a,g,r.startLineNumber-1);if(m!==null){const k=Bs(e.getLineContent(g)),D=m+wo(k,a);w=Jg(D,a,u)+this.trimStart(p)}else{const k={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)},D=jg(this._autoIndent,k,e.getLanguageIdAtPosition(g,1),r.startLineNumber,f,this._languageConfigurationService);if(D!==null){const P=Bs(e.getLineContent(g)),A=wo(D,a),j=wo(P,a);A!==j&&(w=Jg(A,a,u)+this.trimStart(p))}}t.addEditOperation(new U(r.startLineNumber,1,r.startLineNumber,1),w+`
52
+ `);const x=this.matchEnterRuleMovingDown(e,f,a,r.startLineNumber,g,w);if(x!==null)x!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,x);else{const k={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?w:P>=r.startLineNumber+1&&P<=r.endLineNumber+1?e.getLineContent(P-1):e.getLineContent(P)},D=jg(this._autoIndent,k,e.getLanguageIdAtPosition(g,1),r.startLineNumber+1,f,this._languageConfigurationService);if(D!==null){const P=Bs(e.getLineContent(r.startLineNumber)),A=wo(D,a),j=wo(P,a);if(A!==j){const H=A-j;this.getIndentEditsOfMovingBlock(e,t,r,a,u,H)}}}}else t.addEditOperation(new U(r.startLineNumber,1,r.startLineNumber,1),w+`
53
+ `)}else if(g=r.startLineNumber-1,p=e.getLineContent(g),t.addEditOperation(new U(g,1,g+1,1),null),t.addEditOperation(new U(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
54
+ `+p),this.shouldAutoIndent(e,r)){const w={tokenization:{getLineTokens:x=>x===g?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(x),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:x=>x===g?e.getLineContent(r.startLineNumber):e.getLineContent(x)},m=this.matchEnterRule(e,f,a,r.startLineNumber,r.startLineNumber-2);if(m!==null)m!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,m);else{const x=jg(this._autoIndent,w,e.getLanguageIdAtPosition(r.startLineNumber,1),g,f,this._languageConfigurationService);if(x!==null){const k=Bs(e.getLineContent(r.startLineNumber)),D=wo(x,a),P=wo(k,a);if(D!==P){const A=D-P;this.getIndentEditsOfMovingBlock(e,t,r,a,u,A)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>mf.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>mf.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===K_.None||s.indentAction===K_.Indent?r=s.indentation+s.appendText:s.indentAction===K_.IndentOutdent?r=s.indentation:s.indentAction===K_.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const c=Bs(e.getLineContent(n));let u=Bs(r);const f=IT(e,n,this._languageConfigurationService);f!==null&&f&2&&(u=t.unshiftIndent(u));const g=wo(u,i),p=wo(c,i);return g-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(Em(r)>=0){const a=e.getLineMaxColumn(s),c=Sw(this._autoIndent,e,new U(s,a,s,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,c)}else{let a=n-1;for(;a>=1;){const f=e.getLineContent(a);if(Em(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),u=Sw(this._autoIndent,e,new U(a,c,a,c),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),Em(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),u=Sw(this._autoIndent,e,new U(a,c,a,c),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 c=e.getLineContent(a),u=Bs(c),g=wo(u,n)+r,p=Jg(g,n,s);p!==u&&(t.addEditOperation(new U(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}};E1=u5([h5(3,xs)],E1);const Ah=class Ah{static getCollator(){return Ah._COLLATOR||(Ah._COLLATOR=new Intl.Collator),Ah._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=f5(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=GN(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}};Ah._COLLATOR=null;let Op=Ah;function GN(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(Op.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function f5(o,e,t){const i=GN(o,e,t);return i?Xn.replace(new U(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
55
+ `)):null}class KN extends je{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)=>U.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 qN(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class g5 extends KN{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:C("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"2_line",title:C({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class p5 extends KN{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:C("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"2_line",title:C({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class _5 extends je{constructor(){super({id:"editor.action.duplicateSelection",label:C("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:O.writable,menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"2_line",title:C({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 qN(a,!0));else{const c=new vi(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new Y2(c,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class ZN extends je{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(xs),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new E1(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class m5 extends ZN{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:C("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"2_line",title:C({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class v5 extends ZN{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:C("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"2_line",title:C({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class XN extends je{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 vi(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!Op.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new Op(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class b5 extends XN{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:C("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:O.writable})}}class y5 extends XN{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:C("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:O.writable})}}class w5 extends je{constructor(){super({id:"editor.action.removeDuplicateLines",label:C("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:O.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,c=t.getSelections();c.length===1&&c[0].isEmpty()&&(c=[new vi(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(const u of c){const f=new Set,g=[];for(let x=u.startLineNumber;x<=u.endLineNumber;x++){const k=i.getLineContent(x);f.has(k)||(g.push(k),f.add(k))}const p=new vi(u.startLineNumber,1,u.endLineNumber,i.getLineMaxColumn(u.endLineNumber)),w=u.startLineNumber-r,m=new vi(w,1,w+g.length-1,g[g.length-1].length);n.push(Xn.replace(p,g.join(`
56
+ `))),s.push(m),r+=u.endLineNumber-u.startLineNumber+1-g.length}t.pushUndoStop(),t.executeEdits(this.id,n,a?s:void 0),t.pushUndoStop()}}const Kb=class Kb extends je{constructor(){super({id:Kb.ID,label:C("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(f=>new Xt(f.positionLineNumber,f.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(jn),a=t.getModel(),c=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),u=new c5(s,n,c);t.pushUndoStop(),t.executeCommands(this.id,[u]),t.pushUndoStop()}};Kb.ID="editor.action.trimTrailingWhitespace";let T1=Kb;class S5 extends je{constructor(){super({id:"editor.action.deleteLines",label:C("lines.delete","Delete Line"),alias:"Delete Line",precondition:O.writable,kbOpts:{kbExpr:O.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 c=0,u=i.length;c<u;c++){const f=i[c];let g=f.startLineNumber,p=f.endLineNumber,w=1,m=n.getLineMaxColumn(p);p<n.getLineCount()?(p+=1,m=1):g>1&&(g-=1,w=n.getLineMaxColumn(g)),r.push(Xn.replace(new vi(g,w,p,m),"")),a.push(new vi(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 C5 extends je{constructor(){super({id:"editor.action.indentLines",label:C("lines.indent","Indent Line"),alias:"Indent Line",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,J2.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class x5 extends je{constructor(){super({id:"editor.action.outdentLines",label:C("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:2140,weight:100}})}run(e,t){Dm.Outdent.runEditorCommand(e,t,null)}}class k5 extends je{constructor(){super({id:"editor.action.insertLineBefore",label:C("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,DT.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class L5 extends je{constructor(){super({id:"editor.action.insertLineAfter",label:C("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:O.writable,kbOpts:{kbExpr:O.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,DT.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class YN extends je{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),s=[];for(let c=0,u=n.length-1;c<u;c++){const f=n[c],g=n[c+1];U.intersectRanges(f,g)===null?s.push(f):n[c+1]=U.plusRange(f,g)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(c=>Xn.replace(c,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class I5 extends YN{constructor(){super({id:"deleteAllLeft",label:C("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:O.writable,kbOpts:{kbExpr:O.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 c=r.startLineNumber-s;a=new vi(c,r.startColumn,c,r.startColumn)}else a=new vi(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(U.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 U(r,a,s.startLineNumber,1)}else return new U(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new U(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class D5 extends YN{constructor(){super({id:"deleteAllRight",label:C("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:O.writable,kbOpts:{kbExpr:O.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 c=t[s],u=new vi(c.startLineNumber-a,c.startColumn,c.startLineNumber-a,c.startColumn);c.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 U(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new U(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(U.compareRangesUsingStarts),n}}class E5 extends je{constructor(){super({id:"editor.action.joinLines",label:C("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:O.writable,kbOpts:{kbExpr:O.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(U.compareRangesUsingStarts);const s=[],r=i.reduce((p,w)=>p.isEmpty()?p.endLineNumber===w.startLineNumber?(n.equalsSelection(p)&&(n=w),w):w.startLineNumber>p.endLineNumber+1?(s.push(p),w):new vi(p.startLineNumber,p.startColumn,w.endLineNumber,w.endColumn):w.startLineNumber>p.endLineNumber?(s.push(p),w):new vi(p.startLineNumber,p.startColumn,w.endLineNumber,w.endColumn));s.push(r);const a=t.getModel();if(a===null)return;const c=[],u=[];let f=n,g=0;for(let p=0,w=s.length;p<w;p++){const m=s[p],x=m.startLineNumber,k=1;let D=0,P,A;const j=a.getLineLength(m.endLineNumber)-m.endColumn;if(m.isEmpty()||m.startLineNumber===m.endLineNumber){const J=m.getStartPosition();J.lineNumber<a.getLineCount()?(P=x+1,A=a.getLineMaxColumn(P)):(P=J.lineNumber,A=a.getLineMaxColumn(J.lineNumber))}else P=m.endLineNumber,A=a.getLineMaxColumn(P);let H=a.getLineContent(x);for(let J=x+1;J<=P;J++){const le=a.getLineContent(J),we=a.getLineFirstNonWhitespaceColumn(J);if(we>=1){let Be=!0;H===""&&(Be=!1),Be&&(H.charAt(H.length-1)===" "||H.charAt(H.length-1)===" ")&&(Be=!1,H=H.replace(/[\s\uFEFF\xA0]+$/g," "));const ce=le.substr(we-1);H+=(Be?" ":"")+ce,Be?D=ce.length+1:D=ce.length}else D=0}const te=new U(x,k,P,A);if(!te.isEmpty()){let J;m.isEmpty()?(c.push(Xn.replace(te,H)),J=new vi(te.startLineNumber-g,H.length-D+1,x-g,H.length-D+1)):m.startLineNumber===m.endLineNumber?(c.push(Xn.replace(te,H)),J=new vi(m.startLineNumber-g,m.startColumn,m.endLineNumber-g,m.endColumn)):(c.push(Xn.replace(te,H)),J=new vi(m.startLineNumber-g,m.startColumn,m.startLineNumber-g,H.length-j)),U.intersectRanges(te,n)!==null?f=J:u.push(J)}g+=te.endLineNumber-te.startLineNumber}u.unshift(f),t.pushUndoStop(),t.executeEdits(this.id,c,u),t.pushUndoStop()}}class T5 extends je{constructor(){super({id:"editor.action.transpose",label:C("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:O.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 c=i[r];if(!c.isEmpty())continue;const u=c.getStartPosition(),f=n.getLineMaxColumn(u.lineNumber);if(u.column>=f){if(u.lineNumber===n.getLineCount())continue;const g=new U(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new s_(new vi(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p))}else{const g=new U(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new qE(g,p,new vi(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class ju extends je{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 c=a.getStartPosition(),u=t.getConfiguredWordAtPosition(c);if(!u)continue;const f=new U(c.lineNumber,u.startColumn,c.lineNumber,u.endColumn),g=n.getValueInRange(f);r.push(Xn.replace(f,this._modifyText(g,s)))}else{const c=n.getValueInRange(a);r.push(Xn.replace(a,this._modifyText(c,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class P5 extends ju{constructor(){super({id:"editor.action.transformToUppercase",label:C("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:O.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class M5 extends ju{constructor(){super({id:"editor.action.transformToLowercase",label:C("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:O.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class ml{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 Zb=class Zb extends ju{constructor(){super({id:"editor.action.transformToTitlecase",label:C("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:O.writable})}_modifyText(e,t){const i=Zb.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};Zb.titleBoundary=new ml("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let Yv=Zb;const Oh=class Oh extends ju{constructor(){super({id:"editor.action.transformToSnakecase",label:C("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:O.writable})}_modifyText(e,t){const i=Oh.caseBoundary.get(),n=Oh.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};Oh.caseBoundary=new ml("(\\p{Ll})(\\p{Lu})","gmu"),Oh.singleLetters=new ml("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let Qg=Oh;const Xb=class Xb extends ju{constructor(){super({id:"editor.action.transformToCamelcase",label:C("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:O.writable})}_modifyText(e,t){const i=Xb.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("")}};Xb.wordBoundary=new ml("[_\\s-]","gm");let Jv=Xb;const Fh=class Fh extends ju{constructor(){super({id:"editor.action.transformToPascalcase",label:C("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:O.writable})}_modifyText(e,t){const i=Fh.wordBoundary.get(),n=Fh.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("")}};Fh.wordBoundary=new ml("[_\\s-]","gm"),Fh.wordBoundaryToMaintain=new ml("(?<=\\.)","gm");let Qv=Fh;const Xl=class Xl extends ju{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:C("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:O.writable})}_modifyText(e,t){const i=Xl.caseBoundary.get(),n=Xl.singleLetters.get(),s=Xl.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};Xl.caseBoundary=new ml("(\\p{Ll})(\\p{Lu})","gmu"),Xl.singleLetters=new ml("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Xl.underscoreBoundary=new ml("(\\S)(_)(\\S)","gm");let eb=Xl;ue(g5);ue(p5);ue(_5);ue(m5);ue(v5);ue(b5);ue(y5);ue(w5);ue(T1);ue(S5);ue(C5);ue(x5);ue(k5);ue(L5);ue(I5);ue(D5);ue(E5);ue(T5);ue(P5);ue(M5);Qg.caseBoundary.isSupported()&&Qg.singleLetters.isSupported()&&ue(Qg);Jv.wordBoundary.isSupported()&&ue(Jv);Qv.wordBoundary.isSupported()&&ue(Qv);Yv.titleBoundary.isSupported()&&ue(Yv);eb.isSupported()&&ue(eb);var N5=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},_m=function(o,e){return function(t,i){e(t,i,o)}},$m;const JN=new rn("LinkedEditingInputVisible",!1),R5="linked-editing-decoration";var kc;let Af=(kc=class extends ht{static get(e){return e.getContribution($m.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new dt),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=JN.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 dt),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(_s.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new Tc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new Tc(0),a=c=>{this._rangeSyncTriggerPromise=r.trigger(()=>this._syncRanges(c))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{s()})),this._localToDispose.add(this._editor.onDidChangeModelContent(c=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const u=this._currentDecorations.getRange(0);if(u&&c.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 c=this._currentDecorations.getRange(r);if(c)if(c.startLineNumber!==c.endLineNumber)s.push({range:c,text:n});else{let u=t.getValueInRange(c),f=n,g=c.startColumn,p=c.endColumn;const w=__(u,f);g+=w,u=u.substr(w),f=f.substr(w);const m=Q2(u,f);p-=m,u=u.substr(0,u.length-m),f=f.substr(0,f.length-m),(g!==p||f.length!==0)&&s.push({range:new U(c.startLineNumber,g,c.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 Ts;try{const r=new Do(!1),a=await QN(this._providers,i,t,s.token);if(this._debounceInformation.update(i,r.elapsed()),s!==this._currentRequestCts||(this._currentRequestCts=null,n!==i.getVersionId()))return;let c=[];a!=null&&a.ranges&&(c=a.ranges),this._currentWordPattern=(a==null?void 0:a.wordPattern)||this._languageWordPattern;let u=!1;for(let g=0,p=c.length;g<p;g++)if(U.containsPosition(c[g],t)){if(u=!0,g!==0){const w=c[g];c.splice(g,1),c.unshift(w)}break}if(!u){this.clearRanges();return}const f=c.map(g=>({range:g,options:$m.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(f),this._syncRangesToken++}catch(r){Hc(r)||Nn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},$m=kc,kc.ID="editor.contrib.linkedEditing",kc.DECORATION=Ji.register({description:"linked-editing",stickiness:0,className:R5}),kc);Af=$m=N5([_m(1,mn),_m(2,Yt),_m(3,xs),_m(4,rr)],Af);class A5 extends je{constructor(){super({id:"editor.action.linkedEditing",label:C("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:be.and(O.writable,O.hasRenameProvider),kbOpts:{kbExpr:O.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(os),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return En.isUri(n)&&Xt.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))))},Nn):super.runCommand(e,t)}run(e,t){const i=Af.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const O5=mo.bindToContribution(Af.get);ii(new O5({id:"cancelLinkedEditingInput",precondition:JN,handler:o=>o.clearRanges(),kbOpts:{kbExpr:O.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function QN(o,e,t,i){const n=o.ordered(e);return u0(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){ss(r);return}}),s=>!!s&&zo(s==null?void 0:s.ranges))}jt("editor.linkedEditingBackground",{dark:Yi.fromHex("#f00").transparent(.3),light:Yi.fromHex("#f00").transparent(.3),hcDark:Yi.fromHex("#f00").transparent(.3),hcLight:Yi.white},C("editorLinkedEditingBackground","Background color when the editor auto renames on type."));vo("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(Yt);return QN(i,e,t,zi.None)});qi(Af.ID,Af,1);ue(A5);let F5=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 tb{constructor(e){this._disposables=new dt;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new F5(r,n));t=tb._union(t,s),fT(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 c=e[n],u=t[r];if(U.areIntersectingOrTouching(c.range,u.range)){n++;continue}U.compareRangesUsingStarts(c.range,u.range)<0?(i.push(c),n++):(i.push(u),r++)}for(;n<s;n++)i.push(e[n]);for(;r<a;r++)i.push(t[r]);return i}}function eR(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])},ss));return Promise.all(n).then(()=>{const s=new tb(vl(i));return t.isCancellationRequested?(s.dispose(),new tb([])):s})}Hn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;vn(t instanceof En),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(Yt),s=o.get(ro).getModel(t);if(!s)return[];const r=await eR(n,s,zi.None);if(!r)return[];for(let c=0;c<Math.min(i,r.links.length);c++)await r.links[c].resolve(zi.None);const a=r.links.slice(0);return r.dispose(),a});var H5=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)}},P1,eu;let Fp=(eu=class extends ht{static get(e){return e.getContribution(P1.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 ms(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new Gy(e));this._register(r.onMouseMoveOrRelevantKeyDown(([a,c])=>{this._onEditorMouseMove(a,c)})),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=Es(t=>eR(this.providers,e,t));try{const t=new Do(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){Nn(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(zh.decoration(r,t));this.editor.changeDecorations(r=>{const a=r.deltaDecorations(i,s);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let c=0,u=a.length;c<u;c++){const f=new zh(e[c],a[c]);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(zi.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===uo.file&&s.startsWith(`${uo.file}:`)){const a=En.parse(s);if(a.scheme===uo.file){const c=eF(a);let u=null;c.startsWith("/./")||c.startsWith("\\.\\")?u=`.${c.substr(1)}`:(c.startsWith("//./")||c.startsWith("\\\\.\\"))&&(u=`.${c.substr(2)}`),u&&(s=tF(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(C("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):r==="missing"?this.notificationService.warn(C("missing.url","Failed to open this link because its target is missing.")):Nn(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()}},P1=eu,eu.ID="editor.linkDetector",eu);Fp=P1=H5([mm(1,la),mm(2,oo),mm(3,Yt),mm(4,rr)],Fp);const fD={general:Ji.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:Ji.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class zh{static decoration(e,t){return{range:e.range,options:zh._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?fD.active:fD.general};return n.hoverMessage=W5(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,zh._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,zh._getOptions(this.link,t,!1))}}function W5(o,e){const t=o.url&&/^command:/i.test(o.url.toString()),i=o.tooltip?o.tooltip:t?C("links.navigate.executeCmd","Execute command"):C("links.navigate.follow","Follow link"),n=e?za?C("links.navigate.kb.meta.mac","cmd + click"):C("links.navigate.kb.meta","ctrl + click"):za?C("links.navigate.kb.alt.mac","option + click"):C("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 c=a[1];s=C("tooltip.explanation","Execute command {0}",c)}}return new Ys("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new Ys().appendText(`${i} (${n})`)}class B5 extends je{constructor(){super({id:"editor.action.openLink",label:C("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=Fp.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)}}}qi(Fp.ID,Fp,1);ue(B5);const Ok=class Ok extends ht{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})}))}};Ok.ID="editor.contrib.longLinesHelper";let ib=Ok;qi(ib.ID,ib,2);const z5=jt("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},C("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);jt("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},C("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);jt("editor.wordHighlightTextBackground",z5,C("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 V5=jt("editor.wordHighlightBorder",{light:null,dark:null,hcDark:pu,hcLight:pu},C("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));jt("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:pu,hcLight:pu},C("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));jt("editor.wordHighlightTextBorder",V5,C("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const j5=jt("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",C("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),$5=jt("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",C("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),U5=jt("editorOverviewRuler.wordHighlightTextForeground",ET,C("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),q5=Ji.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:gs($5),position:Oa.Center},minimap:{color:gs(Dy),position:1}}),G5=Ji.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:gs(U5),position:Oa.Center},minimap:{color:gs(Dy),position:1}}),K5=Ji.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:gs(ET),position:Oa.Center},minimap:{color:gs(Dy),position:1}}),Z5=Ji.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),X5=Ji.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:gs(j5),position:Oa.Center},minimap:{color:gs(Dy),position:1}});function Y5(o){return o===av.Write?q5:o===av.Text?G5:X5}function J5(o){return o?Z5:K5}vy((o,e)=>{const t=o.getColor(iF);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});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},e$=function(o,e){return function(t,i){e(t,i,o)}},M1;function Bc(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?C("cursorAdded","Cursor added: {0}",i):C("cursorsAdded","Cursors added: {0}",i);uf(n)}}class t$ extends je{constructor(){super({id:"editor.action.insertCursorAbove",label:C("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"3_multi",title:C({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,d0.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Bc(r,s.getCursorStates())}}class i$ extends je{constructor(){super({id:"editor.action.insertCursorBelow",label:C("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"3_multi",title:C({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,d0.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Bc(r,s.getCursorStates())}}class n$ extends je{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:C("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"3_multi",title:C({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 vi(n,s,n,s))}e.endColumn>1&&i.push(new vi(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(c=>this.getCursorsForSelection(c,i,a)),a.length>0&&t.setSelections(a),Bc(r,s.getCursorStates())}}class s$ extends je{constructor(){super({id:"editor.action.addCursorsToBottom",label:C("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 c=i[0].startLineNumber;c<=n;c++)s.push(new vi(c,i[0].startColumn,c,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),Bc(a,r.getCursorStates())}}class o$ extends je{constructor(){super({id:"editor.action.addCursorsToTop",label:C("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 vi(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),Bc(r,s.getCursorStates())}}class vm{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class Hp{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new Hp(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 c=e.getSelection();let u,f=null;if(c.isEmpty()){const g=e.getConfiguredWordAtPosition(c.getStartPosition());if(!g)return null;u=g.word,f=new vi(c.startLineNumber,g.startColumn,c.startLineNumber,g.endColumn)}else u=e.getModel().getValueInRange(c).replace(/\r\n/g,`
57
+ `);return new Hp(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 vm(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 vm(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 vi(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 vm(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 vm(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 vi(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 Yb=class Yb extends ht{static get(e){return e.getContribution(Yb.ID)}constructor(e){super(),this._sessionDispose=this._register(new dt),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=Hp.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 vi(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(!tR(this._editor.getModel(),t,n)){const r=this._editor.getModel(),a=[];for(let c=0,u=t.length;c<u;c++)a[c]=this._expandEmptyToWord(r,t[c]);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 vi(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};Yb.ID="editor.contrib.multiCursorController";let Of=Yb;class Xf extends je{run(e,t){const i=Of.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=po.get(t);if(r)this._run(i,r);else{const a=e.get(Ri).createInstance(po,t);this._run(i,a),a.dispose()}Bc(s,n.getCursorStates())}}}class r$ extends Xf{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:C("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:O.focus,primary:2082,weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"3_multi",title:C({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class a$ extends Xf{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:C("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"3_multi",title:C({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class l$ extends Xf{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:C("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:O.focus,primary:ds(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class c$ extends Xf{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:C("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 d$ extends Xf{constructor(){super({id:"editor.action.selectHighlights",label:C("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:O.focus,primary:3114,weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"3_multi",title:C({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class u$ extends Xf{constructor(){super({id:"editor.action.changeAll",label:C("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:be.and(O.writable,O.editorTextFocus),kbOpts:{kbExpr:O.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class h${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(U.compareRangesUsingStarts)),this._cachedFindMatches}}var tu;let nb=(tu=class extends ht{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new ms(()=>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=po.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(M1._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=Of.get(i);if(!s)return null;const r=po.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(!tR(i.getModel(),f,p))return null}a=Hp.create(i,r)}if(!a||a.currentMatch||/^[ \t]+$/.test(a.searchText)||a.searchText.length>200)return null;const c=r.getState(),u=c.matchCase;if(c.isRevealed){let f=c.searchString;u||(f=f.toLowerCase());let g=a.searchText;if(u||(g=g.toLowerCase()),f===g&&a.matchCase===c.matchCase&&a.wholeWord===c.wholeWord&&!c.isRegex)return null}return new h$(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(U.compareRangesUsingStarts);const s=[];for(let u=0,f=0,g=i.length,p=n.length;u<g;){const w=i[u];if(f>=p)s.push(w),u++;else{const m=U.compareRangesUsingStarts(w,n[f]);m<0?((n[f].isEmpty()||!U.areIntersecting(w,n[f]))&&s.push(w),u++):(m>0||u++,f++)}}const r=this.editor.getOption(81)!=="off",a=this._languageFeaturesService.documentHighlightProvider.has(t)&&r,c=s.map(u=>({range:u,options:J5(a)}));this._decorations.set(c)}dispose(){this._setState(null),super.dispose()}},M1=tu,tu.ID="editor.contrib.selectionHighlighter",tu);nb=M1=Q5([e$(1,Yt)],nb);function tR(o,e,t){const i=gD(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=gD(o,r,!t);if(i!==a)return!1}return!0}function gD(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class f$ extends je{constructor(){super({id:"editor.action.focusNextCursor",label:C("mutlicursor.focusNextCursor","Focus Next Cursor"),metadata:{description:C("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),Bc(s,n.getCursorStates()))}}class g$ extends je{constructor(){super({id:"editor.action.focusPreviousCursor",label:C("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),metadata:{description:C("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),Bc(s,n.getCursorStates()))}}qi(Of.ID,Of,4);qi(nb.ID,nb,1);ue(t$);ue(i$);ue(n$);ue(r$);ue(a$);ue(l$);ue(c$);ue(d$);ue(u$);ue(s$);ue(o$);ue(f$);ue(g$);const p$="editor.action.inlineEdit.accept",_$="editor.action.inlineEdit.reject",m$="editor.action.inlineEdit.jumpTo",v$="editor.action.inlineEdit.jumpBack";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},y$=function(o,e){return function(t,i){e(t,i,o)}};const tS="inline-edit";let N1=class extends ht{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Vo(this,!1),this.currentTextModel=So(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=kn(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 c=(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(A=>A.length===0),f=[],g=[];function p(A,j){if(g.length>0){const H=g[g.length-1];j&&H.decorations.push(new vp(H.content.length+1,H.content.length+1+A[0].length,j,0)),H.content+=A[0],A=A.slice(1)}for(const H of A)g.push({content:H,decorations:j?[new vp(1,H.length+1,j,0)]:[]})}const w=s.getLineContent(r.lineNumber);let m,x=0;if(!u&&(c||!a)){for(const A of r.parts){let j=A.lines;a&&!c&&(p(j,tS),j=[]),m===void 0?(f.push({column:A.column,text:j[0],preview:A.preview}),j=j.slice(1)):p([w.substring(x,A.column-1)],void 0),j.length>0&&(p(j,tS),m===void 0&&A.column<=w.length&&(m=A.column)),x=A.column-1}m!==void 0&&p([w.substring(x)],void 0)}const k=m!==void 0?new ON(m,w.length+1):void 0,D=c||!a?r.lineNumber:a.endLineNumber-1;return{inlineTexts:f,additionalLines:g,hiddenRange:k,lineNumber:D,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s,range:a,isSingleLine:c,isPureRemove:u}}),this.decorations=kn(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 c=s.range.endLineNumber-s.range.startLineNumber;for(let u=0;u<c;u++){const f=s.range.startLineNumber+u,g=s.targetTextModel.getLineFirstNonWhitespaceColumn(f),p=s.targetTextModel.getLineLastNonWhitespaceColumn(f),w=new U(f,g,f,p);a.push(w)}}for(const c of a)r.push({range:c,options:h0})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new U(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:f0})}for(const a of s.inlineTexts)r.push({range:U.fromPositions(new Xt(s.lineNumber,a.column)),options:{description:tS,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:Sh.Left},showIfCollapsed:!0}});return r}),this._register(zn(()=>{this.isDisposed.set(!0,void 0)})),this._register(FN(this.editor,this.decorations))}};N1=b$([y$(2,da)],N1);var uk=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},Ia=function(o,e){return function(t,i){e(t,i,o)}},Um;let R1=class extends ht{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=So(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=kn(this,n=>{var c,u;const s=(c=this.model.read(n))==null?void 0:c.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 Xt(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(u_((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(A1,this.editor,!0,this.position));e.addContentWidget(a),s.add(zn(()=>e.removeContentWidget(a)))}))}};R1=uk([Ia(2,Ri)],R1);var Lc;let A1=(Lc=class extends ht{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${Um.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=wr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[wr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Nt.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(O1,this.nodes.toolBar,this.editor,Nt.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,c)=>{if(a instanceof pf)return n.createInstance(w$,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{Um._dropDownVisible=a})),this._register(Gn(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(Gn(a=>{const c=[];for(const[u,f]of this.inlineCompletionsActionsMenus.getActions())for(const g of f)g instanceof pf&&c.push(g);c.length>0&&c.unshift(new hp),this.toolBar.setAdditionalSecondaryActions(c)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},Um=Lc,Lc._dropDownVisible=!1,Lc.id=0,Lc);A1=Um=uk([Ia(3,Ri),Ia(4,mn),Ia(5,Ru)],A1);class w$ extends ME{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=wr("div.keybinding").root;this._register(new Gx(t,Kx,{disableTitle:!0,...NE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let O1=class extends RE{constructor(e,t,i,n,s,r,a,c,u,f){super(e,{resetMenu:i,...n},s,r,a,c,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,c,u;const e=[],t=[];e0(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=(c=this.options2)==null?void 0:c.toolbarOptions)==null?void 0:u.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){Ba(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};O1=uk([Ia(4,Ru),Ia(5,mn),Ia(6,Wf),Ia(7,us),Ia(8,Cs),Ia(9,ca)],O1);var iR=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},qm=function(o,e){return function(t,i){e(t,i,o)}},Rg,F1;function*S$(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function iS(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 iu;let H1=(iu=class extends ht{static _createUniqueUri(){return En.from({scheme:"inline-edit-widget",path:new Date().toString()+String(Rg._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=kn(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 c=this._editor.getModel();if(!c)return null;const u=Array.from(S$(a.range.startLineNumber,a.range.endLineNumber+1)),f=u.map(x=>c.getLineLastNonWhitespaceColumn(x)),g=Math.max(...f),p=u[f.indexOf(g)],w=new Xt(p,g);return{top:a.range.startLineNumber,left:w}}),this._text=kn(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const c=iS(a.text.split(`
58
+ `));return{text:c.text.join(`
59
+ `),shift:c.shift}}),this._originalModel=Pc(()=>this._modelService.createModel("",null,Rg._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Pc(()=>this._modelService.createModel("",null,Rg._createUniqueUri())).keepObserved(this._store),this._diff=kn(this,r=>{var a,c;return(c=(a=this._diffPromise.read(r))==null?void 0:a.promiseResult.read(r))==null?void 0:c.data}),this._diffPromise=kn(this,r=>{const a=this._model.read(r);if(!a)return;const c=this._editor.getModel();if(!c)return;const u=iS(c.getValueInRange(a.range).split(`
60
+ `)).text.join(`
61
+ `),f=iS(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 TT.fromFn(async()=>{const p=await g.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},zi.None);if(!p.identical)return p.changes})}),this._register(u_((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const u=a.add(this._instantiationService.createInstance(W1,this._editor,this._position,this._text.map(f=>f.text),this._text.map(f=>f.shift),this._diff));e.addOverlayWidget(u),a.add(zn(()=>e.removeOverlayWidget(u)))}))}},Rg=iu,iu._modelId=0,iu);H1=Rg=iR([qm(2,Ri),qm(3,g0),qm(4,ro)],H1);var nu;let W1=(nu=class extends ht{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${F1.id++}`,this.allowEditorOverflow=!1,this._nodes=Vt("div.inlineEditSideBySide",void 0),this._scrollChanged=bd("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(Pr,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=Ea(this._previewEditor),this._editorObs=Ea(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(ic,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??_p,ic.DEFAULT_CREATION_OPTIONS,null)),this._setText=kn(c=>{const u=this._text.read(c);u&&this._previewTextModel.setValue(u)}).recomputeInitiallyAndOnChange(this._store),this._decorations=kn(this,c=>{this._setText.read(c);const u=this._position.read(c);if(!u)return{org:[],mod:[]};const f=this._diff.read(c);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 w=this._shift.get(),m=x=>new U(x.startLineNumber+u.top-1,x.startColumn+w,x.endLineNumber+u.top-1,x.endColumn+w);for(const x of f)if(x.original.isEmpty||g.push({range:m(x.original.toInclusiveRange()),options:f0}),x.modified.isEmpty||p.push({range:x.modified.toInclusiveRange(),options:PT}),x.modified.isEmpty||x.original.isEmpty)x.original.isEmpty||g.push({range:m(x.original.toInclusiveRange()),options:MT}),x.modified.isEmpty||p.push({range:x.modified.toInclusiveRange(),options:NT});else for(const k of x.innerChanges||[])x.original.contains(k.originalRange.startLineNumber)&&g.push({range:m(k.originalRange),options:k.originalRange.isEmpty()?RT:h0}),x.modified.contains(k.modifiedRange.startLineNumber)&&p.push({range:k.modifiedRange,options:k.modifiedRange.isEmpty()?AT:OT});return{org:g,mod:p}}),this._originalDecorations=kn(this,c=>this._decorations.read(c).org),this._modifiedDecorations=kn(this,c=>this._decorations.read(c).mod),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register(Gn(c=>{const u=this._previewEditorObs.contentWidth.read(c),f=this._text.read(c).split(`
64
+ `).length-1,g=this._editor.getOption(67)*f;u<=0||this._previewEditor.layout({height:g,width:u})})),this._register(Gn(c=>{this._position.read(c),this._editor.layoutOverlayWidget(this)})),this._register(Gn(c=>{this._scrollChanged.read(c),this._position.read(c)&&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 Xt(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}}}},F1=nu,nu.id=0,nu);W1=F1=iR([qm(5,Ri)],W1);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},Yc=function(o,e){return function(t,i){e(t,i,o)}},Ag,ir;let to=(ir=class extends ht{static get(e){return e.getContribution(Ag.ID)}constructor(e,t,i,n,s,r,a,c){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=n,this._commandService=s,this._configurationService=r,this._diffProviderFactoryService=a,this._modelService=c,this._isVisibleContext=Ag.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=Ag.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=Vo(this,void 0),this._currentWidget=Pc(this._currentEdit,m=>{const x=this._currentEdit.read(m);if(!x)return;const k=x.range.endLineNumber,D=x.range.endColumn,P=x.text.endsWith(`
65
+ `)&&!(x.range.startLineNumber===x.range.endLineNumber&&x.range.startColumn===x.range.endColumn)?x.text.slice(0,-1):x.text,A=new Mp(k,[new Ov(D,P,!1)]),j=x.range.startLineNumber===x.range.endLineNumber&&A.parts.length===1&&A.parts[0].lines.length===1,H=x.text==="";return!j&&!H?void 0:this.instantiationService.createInstance(N1,this.editor,{ghostText:cl(A),minReservedLineCount:cl(0),targetTextModel:cl(this.editor.getModel()??void 0),range:cl(x.range)})}),this._isAccepting=Vo(this,!1),this._enabled=So(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=So(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const u=bd("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(Gn(m=>{this._enabled.read(m)&&(u.read(m),!this._isAccepting.read(m)&&this.getInlineEdit(e,!0))}));const f=So(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(Gn(m=>{if(!this._enabled.read(m))return;const x=f.read(m);x&&this.checkCursorPosition(x)})),this._register(Gn(m=>{const x=this._currentEdit.read(m);if(this._isCursorAtInlineEditContext.set(!1),!x){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const k=e.getPosition();k&&this.checkCursorPosition(k)}));const g=bd("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(Gn(async m=>{var x;this._enabled.read(m)&&(g.read(m),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((x=this._currentRequestCts)==null||x.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const p=bd("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(Gn(m=>{this._enabled.read(m)&&(p.read(m),this.getInlineEdit(e,!0))}));const w=this._register(oT());this._register(Gn(m=>{const x=this._fontFamily.read(m);w.setStyle(x===""||x==="default"?"":`
66
+ .monaco-editor .inline-edit-decoration,
67
+ .monaco-editor .inline-edit-decoration-preview,
68
+ .monaco-editor .inline-edit {
69
+ font-family: ${x};
70
+ }`)})),this._register(new R1(this.editor,this._currentWidget,this.instantiationService)),this._register(new H1(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(U.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 Ts;const a=this._currentRequestCts.token,c=t?xL.Automatic:xL.Invoke;if(t&&await x$(50,a),a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)return;const f=await r.provideInlineEdit(i,{triggerKind:c},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",[Xn.replace(U.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,ss),this.freeEdit(e),Au(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=Xt.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,ss),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)}},Ag=ir,ir.ID="editor.contrib.inlineEditController",ir.inlineEditVisibleKey="inlineEditVisible",ir.inlineEditVisibleContext=new rn(ir.inlineEditVisibleKey,!1),ir.cursorAtInlineEditKey="cursorAtInlineEdit",ir.cursorAtInlineEditContext=new rn(ir.cursorAtInlineEditKey,!1),ir);to=Ag=C$([Yc(1,Ri),Yc(2,mn),Yc(3,Yt),Yc(4,Cs),Yc(5,jn),Yc(6,g0),Yc(7,ro)],to);function x$(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 k$=class extends je{constructor(){super({id:p$,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:be.and(O.writable,to.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:be.and(O.writable,to.inlineEditVisibleContext,to.cursorAtInlineEditContext)}],menuOpts:[{menuId:Nt.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=to.get(t);await(i==null?void 0:i.accept())}};class L$ extends je{constructor(){const e=be.and(O.writable,be.not(to.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=to.get(t);i==null||i.trigger()}}class I$ extends je{constructor(){const e=be.and(O.writable,to.inlineEditVisibleContext,be.not(to.cursorAtInlineEditKey));super({id:m$,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:Nt.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=to.get(t);i==null||i.jumpToCurrent()}}class D$ extends je{constructor(){const e=be.and(O.writable,to.cursorAtInlineEditContext);super({id:v$,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:Nt.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=to.get(t);i==null||i.jumpBack()}}class E$ extends je{constructor(){const e=be.and(O.writable,to.inlineEditVisibleContext);super({id:_$,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:Nt.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=to.get(t);await(i==null?void 0:i.clear())}}ue(k$);ue(E$);ue(I$);ue(D$);ue(L$);qi(to.ID,to,3);const T$="editor.action.inlineEdits.accept",P$="editor.action.inlineEdits.showPrevious",M$="editor.action.inlineEdits.showNext",Ff=new rn("inlineEditsVisible",!1,C("inlineEditsVisible","Whether an inline edit is visible")),N$=new rn("inlineEditsIsPinned",!1,C("isPinned","Whether an inline edit is visible")),Fk=class Fk extends ht{constructor(e){super(),this._editor=e,this._editorObs=Ea(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=al({owner:this,equalsFn:FT},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=R$(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=AE((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=wr("div.editorPlaceholder");i.add(Gn(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(Gn(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(Gn(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:cl(0),position:cl(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};Fk.ID="editor.contrib.placeholderText";let Wp=Fk;function R$(o,e){return yy(o,(t,i)=>i===!0?!0:e(t))}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},O$=function(o,e){return function(t,i){e(t,i,o)}};class F${constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let B1=class extends ht{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=Ea(this._editor),this._elements=wr("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[wr("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[wr("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),wr("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),wr("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),Yu("svg",{style:{overflow:"visible",pointerEvents:"none"}},[Yu("defs",[Yu("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[Yu("stop",{offset:"0%",class:"gradient-stop"}),Yu("stop",{offset:"100%",class:"gradient-stop"})])]),Yu("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(ic,"",_p,ic.DEFAULT_CREATION_OPTIONS,null)),this._setText=kn(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(ic,"",_p,ic.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(Pr,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:nF},{contributions:sF.getSomeEditorContributions([xr.ID,Wp.ID,Ef.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(Pr,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=Ea(this._previewEditor),this._decorations=kn(this,r=>{var f;this._setText.read(r);const a=(f=this._edit.read(r))==null?void 0:f.changes;if(!a)return[];const c=[],u=[];if(a.length===1&&a[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const g of a)if(g.original.isEmpty||c.push({range:g.original.toInclusiveRange(),options:f0}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:PT}),g.modified.isEmpty||g.original.isEmpty)g.original.isEmpty||c.push({range:g.original.toInclusiveRange(),options:MT}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:NT});else for(const p of g.innerChanges||[])g.original.contains(p.originalRange.startLineNumber)&&c.push({range:p.originalRange,options:p.originalRange.isEmpty()?RT:h0}),g.modified.contains(p.modifiedRange.startLineNumber)&&u.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?AT:OT});return u}),this._layout1=kn(this,r=>{const a=this._editor.getModel(),c=this._edit.read(r);if(!c)return null;const u=c.range;let f=0;for(let w=u.startLineNumber;w<u.endLineNumberExclusive;w++){const m=a.getLineMaxColumn(w),x=this._editor.getOffsetForColumn(w,m);f=Math.max(f,x)}return{left:this._editor.getLayoutInfo().contentLeft+f}}),this._layout=kn(this,r=>{const a=this._edit.read(r);if(!a)return null;const c=a.range,u=this._editorObs.scrollLeft.read(r),f=this._layout1.read(r).left+20-u,g=this._editor.getTopForLineNumber(c.startLineNumber)-this._editorObs.scrollTop.read(r),p=this._editor.getTopForLineNumber(c.endLineNumberExclusive)-this._editorObs.scrollTop.read(r),w=new Th(f,g),m=new Th(f,p),x=p-g,k=50,D=this._editor.getOption(67)*a.newLines.length,P=x-D,A=new Th(f+k,g+P/2),j=new Th(f+k,p-P/2);return{topCode:w,bottomCode:m,codeHeight:x,topEdit:A,bottomEdit:j,editHeight:D}});const s=kn(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(oF(this._elements.root,{display:kn(this,r=>s.read(r)?"block":"none")})),this._register(rF(this._editor.getDomNode(),this._elements.root)),this._register(Ea(e).createOverlayWidget({domNode:this._elements.root,position:cl(null),allowEditorOverflow:!1,minContentWidthInPx:kn(r=>{var u;const a=(u=this._layout1.read(r))==null?void 0:u.left;if(a===void 0)return 0;const c=this._previewEditorObs.contentWidth.read(r);return a+c})})),this._previewEditor.setModel(this._previewTextModel),this._register(this._previewEditorObs.setDecorations(this._decorations)),this._register(Gn(r=>{const a=this._layout.read(r);if(!a)return;const{topCode:c,bottomCode:u,topEdit:f,bottomEdit:g,editHeight:p}=a,w=10,m=0,x=40,k=new W$().moveTo(c).lineTo(c.deltaX(w)).curveTo(c.deltaX(w+x),f.deltaX(-x-m),f.deltaX(-m)).lineTo(f).lineTo(g).lineTo(g.deltaX(-m)).curveTo(g.deltaX(-x-m),u.deltaX(w+x),u.deltaX(w)).lineTo(u).build();this._elements.path.setAttribute("d",k),this._elements.editorContainer.style.top=`${f.y}px`,this._elements.editorContainer.style.left=`${f.x}px`,this._elements.editorContainer.style.height=`${p}px`;const D=this._previewEditorObs.contentWidth.read(r);this._previewEditor.layout({height:p,width:D})})),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(B$(H$(this._userPrompt,r=>r??"",r=>r),Ea(this._promptEditor).value)),this._register(Gn(r=>{const a=Ea(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};B1=A$([O$(3,Ri)],B1);function H$(o,e,t){return HT(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class Th{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new Th(this.x+e,this.y)}}class W${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 B$(o,e){const t=new dt;return t.add(Gn(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(Gn(i=>{const n=e.read(i);o.set(n,void 0)})),t}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},nS=function(o,e){return function(t,i){e(t,i,o)}},Og,su;let z1=(su=class extends ht{static _createUniqueUri(){return En.from({scheme:"inline-edits",path:new Date().toString()+String(Og._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=a0(this),this._selectedInlineCompletionId=Vo(this,void 0),this._isActive=Vo(this,!1),this._originalModel=Pc(()=>this._modelService.createModel("",null,Og._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Pc(()=>this._modelService.createModel("",null,Og._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new j$(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(c=>!!c),this.userPrompt=Vo(this,void 0),this.inlineEdit=kn(this,c=>{var u,f;return(f=(u=this._inlineEdit.read(c))==null?void 0:u.promiseResult.read(c))==null?void 0:f.data}),this._inlineEdit=kn(this,c=>{const u=this.selectedInlineEdit.read(c);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(k){var P;const D=((P=k[0].match(/^\s*/))==null?void 0:P[0])??"";return k.map(A=>A.replace(new RegExp("^"+D),""))}g=p(g);let m=this.textModel.getValueInRange(f).split(/\r\n|\r|\n/);m=p(m),this._originalModel.get().setValue(m.join(`
74
+ `)),this._modifiedModel.get().setValue(g.join(`
75
+ `));const x=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return TT.fromFn(async()=>{const k=await x.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},zi.None);if(!k.identical)return new F$(aF.fromRangeInclusive(f),p(g),k.changes)})}),this._fetchStore=this._register(new dt),this._inlineEditsFetchResult=xS(this,void 0),this._inlineEdits=al({owner:this,equalsFn:FT},c=>{var u;return((u=this._inlineEditsFetchResult.read(c))==null?void 0:u.completions.map(f=>new V$(f)))??[]}),this._fetchInlineEditsPromise=gT({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:gl.Automatic}),handleChange:(c,u)=>(c.didChange(this._forceUpdateExplicitlySignal)&&(u.inlineCompletionTriggerKind=gl.Explicit),!0)},async(c,u)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(c),this._textModelVersionId.read(c);function f(x,k){return k(x)}const g=this._pinnedRange.range.read(c)??f(this._selection.read(c),x=>x.isEmpty()?void 0:x);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(c)},w=LS(this._fetchStore);await Iy(200,w);const m=await HN(this.languageFeaturesService.inlineCompletionsProvider,g,this.textModel,p,w);w.isCancellationRequested||this._inlineEditsFetchResult.set(m,void 0)}),this._filteredInlineEditItems=al({owner:this,equalsFn:kS()},c=>this._inlineEdits.read(c)),this.selectedInlineCompletionIndex=kn(this,c=>{const u=this._selectedInlineCompletionId.read(c),f=this._filteredInlineEditItems.read(c),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=kn(this,c=>{const u=this._filteredInlineEditItems.read(c),f=this.selectedInlineCompletionIndex.read(c);return u[f]}),this._register(pT(this._fetchInlineEditsPromise))}async triggerExplicitly(e){sv(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){sv(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 _f;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},Og=su,su._modelId=0,su);z1=Og=z$([nS(4,Yt),nS(5,g0),nS(6,ro)],z1);class V${constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class j$ extends ht{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Vo(this,[]),this.range=kn(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(zn(()=>{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 $$=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},bg=function(o,e){return function(t,i){e(t,i,o)}},V1,ou;let Ll=(ou=class extends ht{static get(e){return e.getContribution(V1.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=lF("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Ea(this.editor),this._selection=kn(this,a=>this._editorObs.cursorSelection.read(a)??new vi(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=Pc(this,a=>{if(!this._enabled.read(a)||this._editorObs.isReadonly.read(a))return;const c=this._editorObs.model.read(a);return c?this._instantiationService.createInstance(IS(z1,a),c,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=yy(this,(a,c)=>{var u;return c||((u=this.model.read(a))==null?void 0:u.inlineEdit.read(a))!==void 0}),this._widget=Pc(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(IS(B1,a),this.editor,this.model.map((c,u)=>c==null?void 0:c.inlineEdit.read(u)),U$(c=>{var u;return((u=this.model.read(c))==null?void 0:u.userPrompt)??Vo("empty","")}))}),this._register(kL(Ff,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.inlineEdit.read(a))})),this._register(kL(N$,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.isPinned.read(a))})),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}},V1=ou,ou.ID="editor.contrib.inlineEditsController",ou);Ll=V1=$$([bg(1,Ri),bg(2,mn),bg(3,rr),bg(4,Yt),bg(5,jn)],Ll);function U$(o){return HT(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function M_(o){return{label:o.value,alias:o.original}}const Jb=class Jb extends je{constructor(){super({id:Jb.ID,...M_(qt("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:be.and(O.writable,Ff),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Ll.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};Jb.ID=M$;let j1=Jb;const Qb=class Qb extends je{constructor(){super({id:Qb.ID,...M_(qt("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:be.and(O.writable,Ff),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Ll.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Qb.ID=P$;let $1=Qb;class q$ extends je{constructor(){super({id:"editor.action.inlineEdits.trigger",...M_(qt("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:O.writable})}async run(e,t){const i=Ll.get(t);await kT(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class G$ extends je{constructor(){super({id:T$,...M_(qt("action.inlineEdits.accept","Accept Inline Edit")),precondition:Ff,menuOpts:{menuId:Nt.InlineEditsActions,title:C("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Ci.check},kbOpts:{primary:2058,weight:2e4,kbExpr:Ff}})}async run(e,t){var n;t instanceof Pr&&(t=t.getParentEditor());const i=Ll.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const ey=class ey extends je{constructor(){super({id:ey.ID,...M_(qt("action.inlineEdits.hide","Hide Inline Edit")),precondition:Ff,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Ll.get(t);Au(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};ey.ID="editor.action.inlineEdits.hide";let U1=ey;qi(Ll.ID,Ll,3);ue(q$);ue(j1);ue($1);ue(G$);ue(U1);const Tu={Visible:new rn("parameterHintsVisible",!1),MultipleSignatures:new rn("parameterHintsMultipleSignatures",!1)};async function nR(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){ss(a)}}Hn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;vn(En.isUri(t)),vn(Xt.isIPosition(i)),vn(typeof n=="string"||!n);const s=o.get(Yt),r=await o.get(ua).createModelReference(t);try{const a=await nR(s.signatureHelpProvider,r.object.textEditorModel,Xt.lift(i),{triggerKind:cc.Invoke,isRetrigger:!1,triggerCharacter:n},zi.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var Gl;(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})(Gl||(Gl={}));const ty=class ty extends ht{constructor(e,t,i=ty.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new Bi),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Gl.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new $o),this.triggerChars=new iv,this.retriggerChars=new iv,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Tc(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=Gl.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(Nn)}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 Gl.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(K$);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 Gl.Pending(Es(c=>nR(this.providers,r,a,s,c)),i);try{const c=await this.state.request;return e!==this.triggerId?(c==null||c.dispose(),!1):!c||!c.value.signatures||c.value.signatures.length===0?(c==null||c.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new Gl.Active(c.value),this._lastSignatureHelpResult.value=c,this._onChangedHints.fire(this.state.hints),!0)}catch(c){return e===this.triggerId&&(this.state=Gl.Default),Nn(c),!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:cc.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:cc.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:cc.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};ty.DEFAULT_DELAY=120;let q1=ty;function K$(o,e){switch(e.triggerKind){case cc.Invoke:return e;case cc.ContentChange:return o;case cc.TriggerCharacter:default:return e}}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},bm=function(o,e){return function(t,i){e(t,i,o)}},G1;const Mo=Vt,X$=ts("parameter-hints-next",Ci.chevronDown,C("parameterHintsNextIcon","Icon for show next parameter hint.")),Y$=ts("parameter-hints-previous",Ci.chevronUp,C("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var ru;let K1=(ru=class extends ht{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new dt),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new jf({editor:e},s,n)),this.keyVisible=Tu.Visible.bindTo(i),this.keyMultipleSignatures=Tu.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=Mo(".editor-widget.parameter-hints-widget"),t=At(e,Mo(".phwrapper"));t.tabIndex=-1;const i=At(t,Mo(".controls")),n=At(i,Mo(".button"+yn.asCSSSelector(Y$))),s=At(i,Mo(".overloads")),r=At(i,Mo(".button"+yn.asCSSSelector(X$)));this._register(_n(n,"click",p=>{tv.stop(p),this.previous()})),this._register(_n(r,"click",p=>{tv.stop(p),this.next()}));const a=Mo(".body"),c=new bT(a,{alwaysConsumeMouseWheel:!0});this._register(c),t.appendChild(c.getDomNode());const u=At(a,Mo(".signature")),f=At(a,Mo(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:u,overloads:s,docs:f,scrollbar:c},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),w=this.domNodes.element;w.style.fontSize=`${p.fontSize}px`,w.style.lineHeight=`${p.lineHeight/p.fontSize}`,w.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",p.fontFamily),w.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",Qx.fontFamily)};g(),this._register(_s.chain(this.editor.onDidChangeConfiguration.bind(this.editor),p=>p.filter(w=>w.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=At(this.domNodes.signature,Mo(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const u=At(n,Mo("span"));u.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const u=Mo("span.documentation");if(typeof a.documentation=="string")u.textContent=a.documentation;else{const f=this.renderMarkdownDocs(a.documentation);u.appendChild(f.element)}At(this.domNodes.docs,Mo("p",{},u))}if(i.documentation!==void 0)if(typeof i.documentation=="string")At(this.domNodes.docs,Mo("p",{},i.documentation));else{const u=this.renderMarkdownDocs(i.documentation);At(this.domNodes.docs,u.element)}const c=this.hasDocs(i,a);if(this.domNodes.signature.classList.toggle("has-docs",c),this.domNodes.docs.classList.toggle("empty",!c),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&&(Er(C("hint","{0}, hint",u)),this.announcedLabel=u)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new Do,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"&&Ch(t.documentation).length>0||t&&typeof t.documentation=="object"&&Ch(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&Ch(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&Ch(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 c=document.createElement("span");c.textContent=t.label.substring(s),At(e,r,a,c)}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|^)${up(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 G1.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)}},G1=ru,ru.ID="editor.widget.parameterHintsWidget",ru);K1=G1=Z$([bm(2,mn),bm(3,la),bm(4,da),bm(5,ca)],K1);jt("editorHoverWidget.highlightForeground",CT,C("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var J$=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},pD=function(o,e){return function(t,i){e(t,i,o)}},Z1,au;let Hf=(au=class extends ht{static get(e){return e.getContribution(Z1.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new q1(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 Ux(()=>this._register(t.createInstance(K1,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)}},Z1=au,au.ID="editor.controller.parameterHints",au);Hf=Z1=J$([pD(1,Ri),pD(2,Yt)],Hf);class Q$ extends je{constructor(){super({id:"editor.action.triggerParameterHints",label:C("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:O.hasSignatureHelpProvider,kbOpts:{kbExpr:O.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=Hf.get(t);i==null||i.trigger({triggerKind:cc.Invoke})}}qi(Hf.ID,Hf,2);ue(Q$);const hk=175,fk=mo.bindToContribution(Hf.get);ii(new fk({id:"closeParameterHints",precondition:Tu.Visible,handler:o=>o.cancel(),kbOpts:{weight:hk,kbExpr:O.focus,primary:9,secondary:[1033]}}));ii(new fk({id:"showPrevParameterHint",precondition:be.and(Tu.Visible,Tu.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:hk,kbExpr:O.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));ii(new fk({id:"showNextParameterHint",precondition:be.and(Tu.Visible,Tu.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:hk,kbExpr:O.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var eU=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},tU=function(o,e){return function(t,i){e(t,i,o)}};class iU{constructor(e){this.instantiationService=e}init(...e){}}function nU(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=u_((n,s)=>{const r=IS(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function sU(o){return cF()?nU(o,X1):o()}let X1=class extends iU{constructor(e,t){super(t),this.init(e)}};X1=eU([tU(1,Ri)],X1);qi(Wp.ID,sU(()=>Wp),0);jt("editor.placeholder.foreground",dF,C("placeholderForeground","Foreground color of the placeholder text in the editor."));var oU=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},ym=function(o,e){return function(t,i){e(t,i,o)}};const Yf=new rn("renameInputVisible",!1,C("renameInputVisible","Whether the rename input widget is visible"));new rn("renameInputFocused",!1,C("renameInputFocused","Whether the rename input widget is focused"));let Y1=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 dt,this._visibleContextKey=Yf.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new Do,this._inputWithButton=new rU,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 gk(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(uF),i=e.getColor(hF);this._domNode.style.backgroundColor=String(e.getColor(yT)??""),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(fF)??"");const n=e.getColor(gF);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(LL)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(LL)??""),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;vn(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=h_(this.getDomNode().ownerDocument.body),t=fo(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}=Bp.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=C({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;vn(this._renameCandidateListView),vn(this._nPxAvailableAbove!==void 0),vn(this._nPxAvailableBelow!==void 0);const t=wh(this._inputWithButton.domNode),i=wh(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:gr(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 c=new dt;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),c.add(_n(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),c.add(_n(this._inputWithButton.button,Kn.KEY_DOWN,f=>{const g=new p0(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 Xt(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(),c.add(zn(()=>{this._renameCts=void 0,s.dispose(!0)})),c.add(zn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),c.add(zn(()=>this._candidates.clear()));const u=new py;return u.p.finally(()=>{c.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"),vn(this._renameCandidateListView!==void 0);const g=this._renameCandidateListView.nCandidates;let p,w;const m=this._renameCandidateListView.focusedCandidate;if(m!==void 0?(this._trace("using new name from renameSuggestion"),p=m,w={k:"renameSuggestion"}):(this._trace("using new name from inputField"),p=this._inputWithButton.input.value,w=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:w,nRenameSuggestions:g,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},c.add(s.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),c.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),vn(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new Ts;const i=t?DS.Invoke:DS.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){vn(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!U.isEmpty(i)&&!U.spansMultipleLines(i)&&U.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 o_(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"&&Im(u.value)?u.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=kE(r,u=>u.newSymbolName);n(`distinct candidates - ${a.length} candidates.`);const c=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.`),c.forEach(u=>this._candidates.add(u.newSymbolName)),c.length<1){n("returning early - no valid distinct candidates");return}n("setting candidates"),this._renameCandidateListView.setCandidates(c),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)}};Y1=oU([ym(2,Mr),ym(3,us),ym(4,mn),ym(5,Ou)],Y1);class gk{constructor(e,t){this._disposables=new dt,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=gk._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(xT({listInactiveFocusForeground:wT,listInactiveFocusBackground:ST}))}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`,uf(C("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}=Bp.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 Bp(r,i)}renderElement(r,a,c){c.populate(r)}disposeTemplate(r){r.dispose()}};return new Zx("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class rU{constructor(){this._onDidInputChange=new Bi,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new dt}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",C("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=C("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=C("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=pF().setupManagedHover(ky("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(_n(this.input,Kn.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(_n(this.input,Kn.KEY_DOWN,e=>{const t=new p0(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(_n(this.input,Kn.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(_n(this.input,Kn.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(_n(this.input,Kn.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return vn(this._inputNode),this._inputNode}get button(){return vn(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=ES(Ci.sparkle)),Fa(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=ES(Ci.primitiveSquare)),Fa(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 ap=class ap{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=`${ap._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=ES(Ci.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),uT(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(_F.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+ap._PADDING*2}}dispose(){}};ap._PADDING=2;let Bp=ap;var aU=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},jl=function(o,e){return function(t,i){e(t,i,o)}},J1;class pk{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 U(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
76
+ `):void 0}:{range:U.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(C("no result","No result.")),n);return r}}async function lU(o,e,t,i){const n=new pk(e,t,o),s=await n.resolveRenameLocation(zi.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,zi.None)}var lu;let Oc=(lu=class{static get(e){return e.getContribution(J1.ID)}constructor(e,t,i,n,s,r,a,c,u){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=s,this._logService=r,this._configService=a,this._languageFeaturesService=c,this._telemetryService=u,this._disposableStore=new dt,this._cts=new Ts,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Y1,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var m,x;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new Ts,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new pk(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new cf(this.editor,5,void 0,this._cts.token);let s;try{e("resolving rename location");const k=i.resolveRenameLocation(n.token);this._progressService.showWhile(k,250),s=await k,e("resolved rename location")}catch(k){k instanceof _y?e("resolve rename location cancelled",JSON.stringify(k,null," ")):(e("resolve rename location failed",k instanceof Error?k:JSON.stringify(k,null," ")),(typeof k=="string"||km(k))&&((m=ko.get(this.editor))==null||m.showMessage(k||C("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),(x=ko.get(this.editor))==null||x.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new cf(this.editor,5,s.range,this._cts.token),a=this.editor.getModel(),c=this._languageFeaturesService.newSymbolNamesProvider.all(a),u=await Promise.all(c.map(async k=>[k,await k.supportsAutomaticNewSymbolNamesTriggerKind??!1])),f=(k,D)=>{let P=u.slice();return k===DS.Automatic&&(P=P.filter(([A,j])=>j)),P.map(([A])=>A.provideNewSymbolNames(a,s.range,k,D))};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,c.length>0?f:void 0,r);if(e("received response from rename input field"),c.length>0&&this._reportTelemetry(c.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 w=o_(i.provideRenameEdits(p.newName,r.token),r.token).then(async k=>{if(!k){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(k.rejectReason){e(`returning early - rejected with reason: ${k.rejectReason}`),this._notificationService.info(k.rejectReason);return}this.editor.setSelection(U.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(k,{editor:this.editor,showPreview:p.wantsPreview,label:C("label","Renaming '{0}' to '{1}'",s==null?void 0:s.text,p.newName),code:"undoredo.rename",quotableLabel:C("quotableLabel","Renaming {0} to {1}",s==null?void 0:s.text,p.newName),respectAutoSaveConfig:!0}).then(D=>{e("edits applied"),D.ariaSummary&&Er(C("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",s.text,p.newName,D.ariaSummary))}).catch(D=>{e(`error when applying edits ${JSON.stringify(D,null," ")}`),this._notificationService.error(C("rename.failedApply","Rename failed to apply edits")),this._logService.error(D)})},k=>{e("error when providing rename edits",JSON.stringify(k,null," ")),this._notificationService.error(C("rename.failed","Rename failed to compute edits")),this._logService.error(k)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(w,250),w}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)}},J1=lu,lu.ID="editor.contrib.renameController",lu);Oc=J1=aU([jl(1,Ri),jl(2,oo),jl(3,fy),jl(4,a_),jl(5,Ou),jl(6,mF),jl(7,Yt),jl(8,ca)],Oc);class cU extends je{constructor(){super({id:"editor.action.rename",label:C("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:be.and(O.writable,O.hasRenameProvider),kbOpts:{kbExpr:O.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(os),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return En.isUri(n)&&Xt.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))))},Nn):super.runCommand(e,t)}run(e,t){const i=e.get(Ou),n=Oc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}qi(Oc.ID,Oc,4);ue(cU);const _k=mo.bindToContribution(Oc.get);ii(new _k({id:"acceptRenameInput",precondition:Yf,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:be.and(O.focus,be.not("isComposing")),primary:3}}));ii(new _k({id:"acceptRenameInputWithPreview",precondition:be.and(Yf,be.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:be.and(O.focus,be.not("isComposing")),primary:2051}}));ii(new _k({id:"cancelRenameInput",precondition:Yf,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:O.focus,primary:9,secondary:[1033]}}));In(class extends _o{constructor(){super({id:"focusNextRenameSuggestion",title:{...qt("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Yf,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(os).getFocusedCodeEditor();if(!t)return;const i=Oc.get(t);i&&i.focusNextRenameSuggestion()}});In(class extends _o{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...qt("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Yf,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(os).getFocusedCodeEditor();if(!t)return;const i=Oc.get(t);i&&i.focusPreviousRenameSuggestion()}});vo("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;vn(typeof n=="string");const{renameProvider:s}=o.get(Yt);return lU(s,e,t,n)});vo("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(Yt),s=await new pk(e,t,i).resolveRenameLocation(zi.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});aa.as(l_.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:C("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var dU=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},_D=function(o,e){return function(t,i){e(t,i,o)}},sf;let sb=(sf=class extends ht{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 ms(()=>{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),c=a.findTokenIndexAtOffset(r.startColumn-1),u=a.getStandardTokenType(c);return a.getLanguageId(c)===t.getLanguageId()&&u===1}));const i=Object.values(this.currentOccurrences).map(s=>s.decorationId),n=e.map(s=>uU(s));this.editor.changeDecorations(s=>{const r=s.deltaDecorations(i,n);this.currentOccurrences={};for(let a=0,c=r.length;a<c;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()}},sf.ID="editor.sectionHeaderDetector",sf);sb=dU([_D(1,xs),_D(2,Ml)],sb);function uU(o){return{range:o.range,options:Ji.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}qi(sb.ID,sb,1);function hU(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 fU(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return vF()||hU(e),bF.wrap(e)}function sR(o){const e=new Uint32Array(gU(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 fU(e)}function gU(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 nw(o){return o&&!!o.data}function oR(o){return o&&Array.isArray(o.edits)}class pU{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function rR(o,e){return o.has(e)}function _U(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function aR(o,e,t,i,n){const s=_U(o,e),r=await Promise.all(s.map(async a=>{let c,u=null;try{c=await a.provideDocumentSemanticTokens(e,a===t?i:null,n)}catch(f){u=f,c=null}return(!c||!nw(c)&&!oR(c))&&(c=null),new pU(a,c,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 mU(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class vU{constructor(e,t){this.provider=e,this.tokens=t}}function bU(o,e){return o.has(e)}function lR(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function mk(o,e,t,i){const n=lR(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(c){ss(c),a=null}return(!a||!nw(a))&&(a=null),new vU(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}Hn.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;vn(t instanceof En);const i=o.get(ro).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Yt),s=mU(n,i);return s?s[0].getLegend():o.get(Cs).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});Hn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;vn(t instanceof En);const i=o.get(ro).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Yt);if(!rR(n,i))return o.get(Cs).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await aR(n,i,null,null,zi.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!nw(a))return;const c=sR({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),c});Hn.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;vn(t instanceof En);const n=o.get(ro).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Yt),r=lR(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!U.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 mk(s,n,U.lift(i),zi.None);if(a)return a.provider.getLegend()});Hn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;vn(t instanceof En),vn(U.isIRange(i));const n=o.get(ro).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Yt),r=await mk(s,n,U.lift(i),zi.None);if(!(!r||!r.tokens))return sR({id:0,type:"full",data:r.tokens.data})});const vk="editor.semanticHighlighting";function Gm(o,e,t){var n;const i=(n=t.getValue(vk,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var cR=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},Da=function(o,e){return function(t,i){e(t,i,o)}},ql;let Q1=class extends ht{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=f=>{this._watchers[f.uri.toString()]=new ex(f,e,i,s,r)},c=(f,g)=>{g.dispose(),delete this._watchers[f.uri.toString()]},u=()=>{for(const f of t.getModels()){const g=this._watchers[f.uri.toString()];Gm(f,i,n)?g||a(f):g&&c(f,g)}};t.getModels().forEach(f=>{Gm(f,i,n)&&a(f)}),this._register(t.onModelAdded(f=>{Gm(f,i,n)&&a(f)})),this._register(t.onModelRemoved(f=>{const g=this._watchers[f.uri.toString()];g&&c(f,g)})),this._register(n.onDidChangeConfiguration(f=>{f.affectsConfiguration(vk)&&u()})),this._register(i.onDidColorThemeChange(u))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};Q1=cR([Da(0,_0),Da(1,ro),Da(2,Mr),Da(3,jn),Da(4,rr),Da(5,Yt)],Q1);var Ic;let ex=(Ic=class extends ht{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:ql.REQUEST_MIN_DELAY,max:ql.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new ms(()=>this._fetchDocumentSemanticTokensNow(),ql.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=()=>{Qs(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),Qs(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!rR(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new Ts,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=aR(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const s=[],r=this._model.onDidChangeContent(c=>{s.push(c)}),a=new Do(!1);n.then(c=>{if(this._debounceInformation.update(this._model,a.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),!c)this._setDocumentSemanticTokens(null,null,null,s);else{const{provider:u,tokens:f}=c,g=this._semanticTokensStylingService.getStyling(u);this._setDocumentSemanticTokens(u,f||null,g,s)}},c=>{c&&(Hc(c)||typeof c.message=="string"&&c.message.indexOf("busy")!==-1)||Nn(c),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(oR(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 c=s.data,u=new Uint32Array(c.length+a);let f=c.length,g=u.length;for(let p=t.edits.length-1;p>=0;p--){const w=t.edits[p];if(w.start>c.length){i.warnInvalidEditStart(s.resultId,t.resultId,p,w.start,c.length),this._model.tokenization.setSemanticTokens(null,!0);return}const m=f-(w.start+w.deleteCount);m>0&&(ql._copy(c,f-m,u,g-m,m),g-=m),w.data&&(ql._copy(w.data,0,u,g-w.data.length,w.data.length),g-=w.data.length),f=w.start}f>0&&ql._copy(c,0,u,0,f),t={resultId:t.resultId,data:u}}}if(nw(t)){this._currentDocumentResponse=new yU(e,t.resultId,t.data);const a=WT(t,i,this._model.getLanguageId());if(n.length>0)for(const c of n)for(const u of a)for(const f of c.changes)u.applyEdit(f.range,f.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}},ql=Ic,Ic.REQUEST_MIN_DELAY=300,Ic.REQUEST_MAX_DELAY=2e3,Ic);ex=ql=cR([Da(1,_0),Da(2,Mr),Da(3,rr),Da(4,Yt)],ex);class yU{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}Vf(Q1);var wU=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},yg=function(o,e){return function(t,i){e(t,i,o)}},of;let ob=(of=class extends ht{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 ms(()=>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(c=>{this._cancelAll(),a()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),a()})),this._register(this._configurationService.onDidChangeConfiguration(c=>{c.affectsConfiguration(vk)&&(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(!Gm(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!bU(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=Es(r=>Promise.resolve(mk(this._provider,e,t,r))),s=new Do(!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:c}=r,u=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,WT(c,u,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},of.ID="editor.contrib.viewportSemanticTokens",of);ob=wU([yg(1,_0),yg(2,Mr),yg(3,jn),yg(4,rr),yg(5,Yt)],ob);qi(ob.ID,ob,1);class SU{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 c=a,u=a,f=0;for(;c>=0;c--){const g=s.charCodeAt(c);if(c!==a&&(g===95||g===45))break;if(IL(g)&&DL(f))break;f=g}for(c+=1;u<s.length;u++){const g=s.charCodeAt(u);if(DL(g)&&IL(f))break;if(g===95||g===45)break;f=g}c<u&&e.push({range:new U(i.lineNumber,r+c,i.lineNumber,r+u)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new U(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 U(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var CU=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},xU=function(o,e){return function(t,i){e(t,i,o)}},tx;class bk{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 bk(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var cu;let zp=(cu=class{static get(e){return e.getContribution(tx.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 uR(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),zi.None).then(s=>{var r;if(!(!zo(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!Ba(this._editor.getSelections(),t,(a,c)=>a.equalsSelection(c)))){for(let a=0;a<s.length;a++)s[a]=s[a].filter(c=>c.containsPosition(t[a].getStartPosition())&&c.containsPosition(t[a].getEndPosition())),s[a].unshift(t[a]);this._state=s.map(a=>new bk(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=>vi.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},tx=cu,cu.ID="editor.contrib.smartSelectController",cu);zp=tx=CU([xU(1,Yt)],zp);class dR extends je{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=zp.get(t);i&&await i.run(this._forward)}}class kU extends dR{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:C("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"1_basic",title:C({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}Hn.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class LU extends dR{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:C("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:Nt.MenubarSelectionMenu,group:"1_basic",title:C({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}qi(zp.ID,zp,4);ue(kU);ue(LU);async function uR(o,e,t,i,n){const s=o.all(e).concat(new SU(i.selectSubwords));s.length===1&&s.unshift(new jv);const r=[],a=[];for(const c of s)r.push(Promise.resolve(c.provideSelectionRanges(e,t,n)).then(u=>{if(zo(u)&&u.length===t.length)for(let f=0;f<t.length;f++){a[f]||(a[f]=[]);for(const g of u[f])U.isIRange(g.range)&&U.containsPosition(g.range,t[f])&&a[f].push(U.lift(g.range))}},ss));return await Promise.all(r),a.map(c=>{if(c.length===0)return[];c.sort((p,w)=>Xt.isBefore(p.getStartPosition(),w.getStartPosition())?1:Xt.isBefore(w.getStartPosition(),p.getStartPosition())||Xt.isBefore(p.getEndPosition(),w.getEndPosition())?-1:Xt.isBefore(w.getEndPosition(),p.getEndPosition())?1:0);const u=[];let f;for(const p of c)(!f||U.containsRange(p,f)&&!U.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 w=u[p-1],m=u[p];if(m.startLineNumber!==w.startLineNumber||m.endLineNumber!==w.endLineNumber){const x=new U(w.startLineNumber,e.getLineFirstNonWhitespaceColumn(w.startLineNumber),w.endLineNumber,e.getLineLastNonWhitespaceColumn(w.endLineNumber));x.containsRange(w)&&!x.equalsRange(w)&&m.containsRange(x)&&!m.equalsRange(x)&&g.push(x);const k=new U(w.startLineNumber,1,w.endLineNumber,e.getLineMaxColumn(w.endLineNumber));k.containsRange(w)&&!k.equalsRange(x)&&m.containsRange(k)&&!m.equalsRange(k)&&g.push(k)}g.push(m)}return g})}Hn.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;vn(En.isUri(t));const n=o.get(Yt).selectionRangeProvider,s=await o.get(ua).createModelReference(t);try{return uR(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},zi.None)}finally{s.dispose()}});const IU=Object.freeze({View:qt("view","View"),Help:qt("help","Help"),Test:qt("test","Test"),File:qt("file","File"),Preferences:qt("preferences","Preferences"),Developer:qt({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class ep{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&&Ba(this.startLineNumbers,e.startLineNumbers)&&Ba(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new ep([],[],0)}}const mD=aT("stickyScrollViewLayer",{createHTML:o=>o}),sS="data-sticky-line-index",vD="data-sticky-is-line",DU="data-sticky-is-line-number",bD="data-sticky-is-folding-icon";class EU extends ht{constructor(e){super(),this._editor=e,this._foldingIconStore=new dt,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 Pr),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,c]of s.entries()){const u=this._renderChildNode(a+i,c,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(_n(this._lineNumbersDomNode,Kn.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(_n(this._lineNumbersDomNode,Kn.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 Xt(t,1)).lineNumber,a=s.getViewLineRenderingData(r),c=this._editor.getOption(68);let u;try{u=vp.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{u=[]}const f=new dT(!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 lT(2e3),p=cT(f,g);let w;mD?w=mD.createHTML(g.build()):w=g.build();const m=document.createElement("span");m.setAttribute(sS,String(e)),m.setAttribute(vD,""),m.setAttribute("role","listitem"),m.tabIndex=0,m.className="sticky-line-content",m.classList.add(`stickyLine${t}`),m.style.lineHeight=`${this._lineHeight}px`,m.innerHTML=w;const x=document.createElement("span");x.setAttribute(sS,String(e)),x.setAttribute(DU,""),x.className="sticky-line-number",x.style.lineHeight=`${this._lineHeight}px`;const k=n.contentLeft;x.style.width=`${k}px`;const D=document.createElement("span");c.renderType===1||c.renderType===3&&t%10===0?D.innerText=t.toString():c.renderType===2&&(D.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),D.className="sticky-line-number-inner",D.style.lineHeight=`${this._lineHeight}px`,D.style.width=`${n.lineNumbersWidth}px`,D.style.paddingLeft=`${n.lineNumbersLeft}px`,x.appendChild(D);const P=this._renderFoldingIconForLine(i,t);P&&x.appendChild(P.domNode),this._editor.applyFontInfo(m),this._editor.applyFontInfo(D),x.style.lineHeight=`${this._lineHeight}px`,m.style.lineHeight=`${this._lineHeight}px`,x.style.height=`${this._lineHeight}px`,m.style.height=`${this._lineHeight}px`;const A=new TU(e,t,m,x,P,p.characterMapping,m.scrollWidth);return this._updateTopAndZIndexOfStickyLine(A)}_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 c=`${t*this._lineHeight+this._lastLineRelativePosition+((f=e.foldingIcon)!=null&&f.isCollapsed?1:0)}px`,u=`${t*this._lineHeight}px`;return i.style.top=s?c:u,n.style.top=s?c: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 c=n.isCollapsed(s),u=new PU(c,r,n.getEndLineNumber(s),this._lineHeight);return u.setVisible(this._isOnGlyphMargin?!0:c||i==="always"),u.domNode.setAttribute(bD,""),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=yF(t.characterMapping,e,0);return new Xt(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,sS);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,vD)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,bD)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class TU{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 PU{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=yn.asClassName(e?Mv:Pv)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class tp{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class rb{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class hR{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}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},Vp=function(o,e){return function(t,i){e(t,i,o)}},ip;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(ip||(ip={}));var ac;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(ac||(ac={}));let ix=class extends ht{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Tc(300)),this._updateOperation=this._register(new dt),this._editor.getOption(116).defaultModel){case ip.OUTLINE_MODEL:this._modelProviders.push(new nx(this._editor,n));case ip.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new ox(this._editor,t,n));case ip.INDENTATION_MODEL:this._modelProviders.push(new sx(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 ac.CANCELED:return this._updateOperation.clear(),null;case ac.VALID:return t.stickyModel}}return null}).catch(t=>(Nn(t),null))}};ix=sw([Vp(2,Ri),Vp(3,Yt)],ix);class fR extends ht{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,ac.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=Es(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?ac.CANCELED:(this._stickyModel=this.createStickyModel(e,i),ac.VALID):this._invalid()).then(void 0,i=>(Nn(i),ac.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let nx=class extends fR{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return il.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 hR(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(hl.first(e.children.values())instanceof RN){const a=hl.find(e.children.values(),c=>c.id===t);if(a)i=a.children;else{let c="",u=-1,f;for(const[g,p]of e.children.entries()){const w=this._findSumOfRangesOfGroup(p);w>u&&(f=p,u=w,c=p.id)}t=c,i=f.children}}else i=e.children;const n=[],s=Array.from(i.values()).sort((a,c)=>{const u=new tp(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),f=new tp(c.symbol.range.startLineNumber,c.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 rb(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 tp(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new rb(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 qC?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};nx=sw([Vp(1,Yt)],nx);class gR extends fR{constructor(e){super(e),this._foldingLimitReporter=new PN(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new hR(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new rb(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 c=new rb(new tp(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(c),i.push(c)}return n}}let sx=class extends gR{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new sk(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};sx=sw([Vp(1,xs)],sx);let ox=class extends gR{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=Ac.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new ok(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}};ox=sw([Vp(2,Yt)],ox);var MU=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)}};class NU{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let rx=class extends ht{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new Bi),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new dt),this._updateSoon=this._register(new ms(()=>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(zn(()=>{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 ix(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new Ts,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 c=this.updateIndex(ov(a,e.startLineNumber,(f,g)=>f-g)),u=this.updateIndex(ov(a,e.startLineNumber+n,(f,g)=>f-g));for(let f=c;f<=u;f++){const g=t.children[f];if(!g)return;if(g.range){const p=g.range.startLineNumber,w=g.range.endLineNumber;e.startLineNumber<=w+1&&p-1<=e.endLineNumber&&p!==r&&(r=p,i.push(new NU(p,w-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}};rx=MU([yD(1,Yt),yD(2,xs)],rx);var RU=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},lh=function(o,e){return function(t,i){e(t,i,o)}},ax,du;let Il=(du=class extends ht{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 dt,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 EU(this._editor),this._stickyLineCandidateProvider=new rx(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=ep.Empty,this._onDidResize(),this._readConfiguration();const c=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(f=>{this._readConfigurationChange(f)})),this._register(_n(c,Kn.CONTEXT_MENU,async f=>{this._onContextMenu(vd(c),f)})),this._stickyScrollFocusedContextKey=O.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=O.stickyScrollVisible.bindTo(this._contextKeyService);const u=this._register(df(c));this._register(u.onDidBlur(f=>{this._positionRevealed===!1&&c.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(u.onDidFocus(f=>{this.focus()})),this._registerMouseListeners(),this._register(_n(c,Kn.MOUSE_DOWN,f=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(ax.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 dt,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(U.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new dt),t=this._register(new Gy(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 U(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(yl(n,Kn.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 Xt(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 c=this._stickyScrollWidget.getEditorPositionFromNode(s.target);if(!c){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);if(u===null)return;c=new Xt(u,1)}this._revealPosition(c)})),this._register(yl(n,Kn.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(_n(n,Kn.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:c,textElement:u}=a;if(!c.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=c,e.clear();else if(u.style.textDecoration==="underline")return;const f=new Ts;e.add(zn(()=>f.dispose(!0)));let g;D_(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Xt(c.startLineNumber,c.startColumn+1),!1,f.token).then((p=>{if(!f.token.isCancellationRequested)if(p.length!==0){this._candidateDefinitionsLength=p.length;const w=u;g!==w?(e.clear(),g=w,g.style.textDecoration="underline",e.add(zn(()=>{g.style.textDecoration="none"}))):g||(g=w,g.style.textDecoration="underline",e.add(zn(()=>{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(gN,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new wF(e,t);this._contextMenuService.showContextMenu({menuId:Nt.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;tk(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=Ac.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=ep.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 c=new tp(a[0].startLineNumber,a[a.length-1].endLineNumber),u=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(c);for(const f of u){const g=f.startLineNumber,p=f.endLineNumber,w=f.nestingDepth;if(p-g>0){const m=(w-1)*e,x=w*e,k=this._editor.getBottomForLineNumber(g)-i,D=this._editor.getTopForLineNumber(p)-i,P=this._editor.getBottomForLineNumber(p)-i;if(m>D&&m<=P){s.push(g),r.push(p+1),n=P-x;break}else x>k&&x<=P&&(s.push(g),r.push(p+1));if(s.length===t)break}}}return this._endLineNumbers=r,new ep(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},ax=du,du.ID="store.contrib.stickyScrollController",du);Il=ax=RU([lh(1,Wf),lh(2,Yt),lh(3,Ri),lh(4,xs),lh(5,rr),lh(6,mn)],Il);class AU extends _o{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...qt("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:C({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:qt("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:IU.View,toggled:{condition:be.equals("config.editor.stickyScroll.enabled",!0),title:C("stickyScroll","Sticky Scroll"),mnemonicTitle:C({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:Nt.CommandPalette},{id:Nt.MenubarAppearanceMenu,group:"4_editor",order:3},{id:Nt.StickyScrollContext}]})}async run(e){const t=e.get(jn),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const ow=100;class OU extends ra{constructor(){super({id:"editor.action.focusStickyScroll",title:{...qt("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:C({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:be.and(be.has("config.editor.stickyScroll.enabled"),O.stickyScrollVisible),menu:[{id:Nt.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focus()}}class FU extends ra{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:qt("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:O.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:18}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusNext()}}class HU extends ra{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:qt("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:O.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:16}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusPrevious()}}class WU extends ra{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:qt("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:O.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:3}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.goToFocused()}}class BU extends ra{constructor(){super({id:"editor.action.selectEditor",title:qt("selectEditor.title","Select Editor"),precondition:O.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:9}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.selectEditor()}}qi(Il.ID,Il,1);In(AU);In(OU);In(HU);In(FU);In(WU);In(BU);var pR=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},Fg=function(o,e){return function(t,i){e(t,i,o)}};class zU{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 lx=class extends SF{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=hl.slice(t,i),s=hl.slice(t,0,i);let r=5;for(const a of hl.concat(n,s)){if(a.score===pp.Default)continue;const c=new U(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 zU(c,u,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(zi.None)}return e}};lx=pR([Fg(5,ew)],lx);let cx=class extends ht{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 w;if(i.selectedSuggestionInfo)return;let s;for(const m of this._editorService.listCodeEditors())if(m.getModel()===e){s=m;break}if(!s)return;const r=s.getOption(90);if(Eh.isAllOff(r))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const a=e.tokenization.getLineTokens(t.lineNumber),c=a.getStandardTokenType(a.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(Eh.valueFor(r,c)!=="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 U(t.lineNumber,1,t.lineNumber,t.column));if(!f&&((w=this._lastResult)!=null&&w.canBeReused(e,t.lineNumber,u))){const m=new oD(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=m,this._lastResult.acquire(),g=this._lastResult}else{const m=await rk(this._languageFeatureService.completionProvider,e,t,new Np(void 0,Uv.createSuggestFilter(s).itemKind,f==null?void 0:f.providers),f&&{triggerKind:1,triggerCharacter:f.ch},n);let x;m.needsClipboard&&(x=await this._clipboardService.readText());const k=new Yl(m.items,t.column,new oD(p,0),$v.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},x);g=new lx(e,t.lineNumber,u,k,m,this._suggestMemoryService)}return this._lastResult=g,g}handleItemDidShow(e,t){t.completion.resolve(zi.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(U.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}}};cx=pR([Fg(0,Yt),Fg(1,Bf),Fg(2,ew),Fg(3,os)],cx);Vf(cx);class VU extends je{constructor(){super({id:"editor.action.forceRetokenize",label:C("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 Do;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}ue(VU);const iy=class iy extends _o{constructor(){super({id:iy.ID,title:qt({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:qt("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=!EL.getTabFocusMode();EL.setTabFocusMode(t),t?Er(C("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):Er(C("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};iy.ID="editor.action.toggleTabFocusMode";let dx=iy;In(dx);var jU=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)}};let ux=class extends ht{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=At(e,Vt("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??ky("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new Cw(this.el,"click")),a=this._register(new Cw(this.el,"keypress")),c=_s.chain(a.event,g=>g.map(p=>new p0(p)).filter(p=>p.keyCode===3)),u=this._register(new Cw(this.el,CF.Tap)).event;this._register(DE.addTarget(this.el));const f=_s.any(r.event,c,u);this._register(f(g=>{this.enabled&&(tv.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)}};ux=jU([wD(3,f_),wD(4,la)],ux);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},mR=function(o,e){return function(t,i){e(t,i,o)}};const $U=26;let hx=class extends ht{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(fx))}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,$U)}};hx=_R([mR(1,Ri)],hx);let fx=class extends ht{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(jf,{}),this.element=Vt("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=Vt("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Fa(this.element)}show(e){Fa(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=At(this.element,Vt("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(Vt(`div${yn.asCSSSelector(e.icon)}`));const n=At(this.element,Vt("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=At(this.element,Vt("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(ux,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=At(this.element,Vt("div.action-container"));this.actionBar=this._register(new cp(s)),this.actionBar.push(this._register(new gf("banner.close","Close Banner",yn.asClassName(XE),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};fx=_R([mR(0,Ri)],fx);var yk=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)}};const UU=ts("extensions-warning-message",Ci.warning,C("warningIcon","Icon shown with a warning message in the extensions editor."));var rf;let jp=(rf=class extends ht{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:C("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new Up};else if(s.ambiguousCharacterCount>=r)a={message:C("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new Pu};else if(s.invisibleCharacterCount>=r)a={message:C("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new $p};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:UU,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(hx,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=qU(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"?xF:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new gx(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new GU(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},rf.ID="editor.contrib.unicodeHighlighter",rf);jp=yk([Vh(1,Ml),Vh(2,kF),Vh(3,Ri)],jp);function qU(o,e){return{nonBasicASCII:e.nonBasicASCII===xw?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===xw?!o:e.includeComments,includeStrings:e.includeStrings===xw?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let gx=class extends ht{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 ms(()=>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:ab.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!BT(t,e))return null;const i=t.getValueInRange(e.range);return{reason:bR(i,this._options),inComment:VT(t,e),inString:zT(t,e)}}};gx=yk([Vh(3,Ml)],gx);class GU extends ht{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 ms(()=>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=jT.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:ab.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 BT(t,e)?{reason:bR(i,this._options),inComment:VT(t,e),inString:zT(t,e)}:null}}const vR=C("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let px=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(jp.ID);if(!n)return[];const s=[],r=new Set;let a=300;for(const c of t){const u=n.getDecorationInfo(c);if(!u)continue;const g=i.getValueInRange(c.range).codePointAt(0),p=oS(g);let w;switch(u.reason.kind){case 0:{hT(u.reason.confusableWith)?w=C("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",p,oS(u.reason.confusableWith.codePointAt(0))):w=C("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",p,oS(u.reason.confusableWith.codePointAt(0)));break}case 1:w=C("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",p);break;case 2:w=C("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",p);break}if(r.has(w))continue;r.add(w);const m={codePoint:g,reason:u.reason,inComment:u.inComment,inString:u.inString},x=C("unicodeHighlight.adjustSettings","Adjust settings"),k=`command:${lb.ID}?${encodeURIComponent(JSON.stringify(m))}`,D=new Ys("",!0).appendMarkdown(w).appendText(" ").appendLink(k,x,vR);s.push(new Cr(this,c.range,[D],!1,a++))}return s}renderHoverParts(e,t){return S4(e,t,this._editor,this._languageService,this._openerService)}};px=yk([Vh(1,da),Vh(2,la)],px);function _x(o){return`U+${o.toString(16).padStart(4,"0")}`}function oS(o){let e=`\`${_x(o)}\``;return $T.isInvisibleCharacter(o)||(e+=` "${`${KU(o)}`}"`),e}function KU(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function bR(o,e){return jT.computeUnicodeHighlightReason(o,e)}const ny=class ny{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=Ji.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}};ny.instance=new ny;let ab=ny;class ZU extends je{constructor(){super({id:Pu.ID,label:C("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=C("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e==null?void 0:e.get(jn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.includeComments,!1,2)}}class XU extends je{constructor(){super({id:Pu.ID,label:C("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=C("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e==null?void 0:e.get(jn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.includeStrings,!1,2)}}const sy=class sy extends je{constructor(){super({id:sy.ID,label:C("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=C("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(jn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.ambiguousCharacters,!1,2)}};sy.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let Pu=sy;const oy=class oy extends je{constructor(){super({id:oy.ID,label:C("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=C("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(jn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.invisibleCharacters,!1,2)}};oy.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let $p=oy;const ry=class ry extends je{constructor(){super({id:ry.ID,label:C("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=C("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(jn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.nonBasicASCII,!1,2)}};ry.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let Up=ry;const ay=class ay extends je{constructor(){super({id:ay.ID,label:C("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,c=String.fromCodePoint(n),u=e.get(El),f=e.get(jn);function g(m){return $T.isInvisibleCharacter(m)?C("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",_x(m)):C("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${_x(m)} "${c}"`)}const p=[];if(s.kind===0)for(const m of s.notAmbiguousInLocales)p.push({label:C("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',m),run:async()=>{JU(f,[m])}});if(p.push({label:g(n),run:()=>YU(f,[n])}),a){const m=new ZU;p.push({label:m.label,run:async()=>m.runAction(f)})}else if(r){const m=new XU;p.push({label:m.label,run:async()=>m.runAction(f)})}if(s.kind===0){const m=new Pu;p.push({label:m.label,run:async()=>m.runAction(f)})}else if(s.kind===1){const m=new $p;p.push({label:m.label,run:async()=>m.runAction(f)})}else if(s.kind===2){const m=new Up;p.push({label:m.label,run:async()=>m.runAction(f)})}else QU(s);const w=await u.pick(p,{title:vR});w&&await w.run()}};ay.ID="editor.action.unicodeHighlight.showExcludeOptions";let lb=ay;async function YU(o,e){const t=o.getValue(Sl.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(Sl.allowedCharacters,i,2)}async function JU(o,e){var n;const t=(n=o.inspect(Sl.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(Sl.allowedLocales,i,2)}function QU(o){throw new Error(`Unexpected value: ${o}`)}ue(Pu);ue($p);ue(Up);ue(lb);qi(jp.ID,jp,1);Bu.register(px);var e8=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},SD=function(o,e){return function(t,i){e(t,i,o)}};const yR="ignoreUnusualLineTerminators";function t8(o,e,t){o.setModelProperty(e.uri,yR,t)}function i8(o,e){return o.getModelProperty(e.uri,yR)}var af;let cb=(af=class extends ht{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()||i8(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:C("unusualLineTerminators.title","Unusual Line Terminators"),message:C("unusualLineTerminators.message","Detected unusual line terminators"),detail:C("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`.",Va(e.uri)),primaryButton:C({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:C("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){t8(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},af.ID="editor.contrib.unusualLineTerminatorsDetector",af);cb=e8([SD(1,m0),SD(2,os)],cb);qi(cb.ID,cb,1);var n8=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},s8=function(o,e){return function(t,i){e(t,i,o)}};class CD{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,TL,!1).map(a=>({range:a.range,kind:av.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new Ec,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,TL,!1).map(f=>({range:f.range,kind:av.Text}));u&&s.set(a.uri,u)}return s}}let mx=class extends ht{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new CD)),this._register(e.multiDocumentHighlightProvider.register("*",new CD))}};mx=n8([s8(0,Yt)],mx);var wR=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},Km=function(o,e){return function(t,i){e(t,i,o)}},es,vx;const wk=new rn("hasWordHighlights",!1);function SR(o,e,t,i){const n=o.ordered(e);return u0(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,ss)),s=>s!=null).then(s=>{if(s){const r=new Ec;return r.set(e.uri,s),r}return new Ec})}function o8(o,e,t,i,n,s){const r=o.ordered(e);return u0(r.map(a=>()=>{const c=s.filter(u=>IF(u)).filter(u=>DF(a.selector,u.uri,u.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,c,n)).then(void 0,ss)}),a=>a!=null)}class CR{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=Es(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new U(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 c=!!(this._wordRange&&this._wordRange.equalsRange(a));for(let u=0,f=i.length;!c&&u<f;u++){const g=i.getRange(u);g&&g.startLineNumber===n&&g.startColumn<=s&&g.endColumn>=r&&(c=!0)}return c}cancel(){this.result.cancel()}}class r8 extends CR{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return SR(this._providers,e,t.getPosition(),n).then(s=>s||new Ec)}}class a8 extends CR{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return o8(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new Ec)}}function l8(o,e,t,i,n){return new r8(e,t,n,o)}function c8(o,e,t,i,n,s){return new a8(e,t,n,o,s)}vo("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(Yt),n=await SR(i.documentHighlightProvider,e,t,zi.None);return n==null?void 0:n.get(e.uri)});var Dc;let bx=(Dc=class{constructor(e,t,i,n,s){this.toUnhook=new dt,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Ec,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new Tc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=wk.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=>{LF(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():es.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(r=>{var c,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=(c=es.query)==null?void 0:c.modelInfo)==null?void 0:u.model);break;case"multiFile":es.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,es.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(U.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);Er(`${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);Er(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=es.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),es.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()||Qm(n.getModel().uri,e==null?void 0:e.uri))continue;const s=es.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=Fc.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)es.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==uo.vscodeNotebookCell&&((i=(t=es.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==uo.vscodeNotebookCell?(es.query=null,this._run()):(n=es.query)!=null&&n.modelInfo&&(es.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)!==uo.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===uo.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const c=a.getModel();c&&c!==e&&c.uri.scheme===uo.vscodeNotebookCell&&s.push(c)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!UT(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){es.query=null,this._stopAll();return}const a=r.startColumn,c=r.endColumn,u=this._getWord();if(!u||u.startColumn>a||u.endColumn<c){es.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),es.query={modelInfo:{model:this.model,selection:r},word:u}}else if(!es.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(Qm(this.editor.getModel().uri,(n=es.query.modelInfo)==null?void 0:n.model.uri)){if(!e){const c=this.decorations.getRanges();for(const u of c)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(!es.query||!es.query.modelInfo||es.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(es.query.modelInfo.model,es.query.modelInfo.selection,es.query.word,a),(s=this.workerRequest)==null||s.result.then(c=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=c||[],this._beginRenderDecorations())},Nn)}}computeWithModel(e,t,i,n){return n.length?c8(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):l8(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=Fc.get(s);if(!r)continue;const a=[],c=(t=s.getModel())==null?void 0:t.uri;if(c&&this.workerRequestValue.has(c)){const u=es.storedDecorationIDs.get(c),f=this.workerRequestValue.get(c);if(f)for(const p of f)p.range&&a.push({range:p.range,options:Y5(p.kind)});let g=[];s.changeDecorations(p=>{g=p.deltaDecorations(u??[],a)}),es.storedDecorationIDs=es.storedDecorationIDs.set(c,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()}},es=Dc,Dc.storedDecorationIDs=new Ec,Dc.query=null,Dc);bx=es=wR([Km(4,os)],bx);var uu;let Fc=(uu=class extends ht{static get(e){return e.getContribution(vx.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new bx(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()}},vx=uu,uu.ID="editor.contrib.wordHighlighter",uu);Fc=vx=wR([Km(1,mn),Km(2,Yt),Km(3,os)],Fc);class xR extends je{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Fc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class d8 extends xR{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:C("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:wk,kbOpts:{kbExpr:O.editorTextFocus,primary:65,weight:100}})}}class u8 extends xR{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:C("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:wk,kbOpts:{kbExpr:O.editorTextFocus,primary:1089,weight:100}})}}class h8 extends je{constructor(){super({id:"editor.action.wordHighlight.trigger",label:C("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=Fc.get(t);n&&n.restoreViewState(!0)}}qi(Fc.ID,Fc,0);ue(d8);ue(u8);ue(h8);Vf(mx);class rw extends mo{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Fu(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,c=r.map(u=>{const f=new Xt(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,c.map(u=>EF.fromModelSelection(u))),c.length===1){const u=new Xt(c[0].positionLineNumber,c[0].positionColumn);t.revealPosition(u,0)}}_moveTo(e,t,i){return i?new vi(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new vi(t.lineNumber,t.column,t.lineNumber,t.column)}}class zc extends rw{_move(e,t,i,n,s){return v_.moveWordLeft(e,t,i,n,s)}}class Vc extends rw{_move(e,t,i,n,s){return v_.moveWordRight(e,t,i,n)}}class f8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class g8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class p8 extends zc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:be.and(O.textInputFocus,(e=be.and(Ey,Ty))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class _8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class m8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class v8 extends zc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:be.and(O.textInputFocus,(e=be.and(Ey,Ty))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class b8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(Fu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class y8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Fu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class w8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class S8 extends Vc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:be.and(O.textInputFocus,(e=be.and(Ey,Ty))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class C8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class x8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class k8 extends Vc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:be.and(O.textInputFocus,(e=be.and(Ey,Ty))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class L8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class I8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(Fu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class D8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Fu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class aw extends mo{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(xs);if(!t.hasModel())return;const s=Fu(t.getOption(132),t.getOption(131)),r=t.getModel(),a=t.getSelections(),c=t.getOption(6),u=t.getOption(11),f=n.getLanguageConfiguration(r.getLanguageId()).getAutoClosingPairs(),g=t._getViewModel(),p=a.map(w=>{const m=this._delete({wordSeparators:s,model:r,selection:w,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:c,autoClosingQuotes:u,autoClosingPairs:f,autoClosedCharacters:g.getCursorAutoClosedCharacters()},this._wordNavigationType);return new s_(m,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class Sk extends aw{_delete(e,t){const i=v_.deleteWordLeft(e,t);return i||new U(1,1,1,1)}}class Ck extends aw{_delete(e,t){const i=v_.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new U(n,s,n,s)}}class E8 extends Sk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:O.writable})}}class T8 extends Sk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:O.writable})}}class P8 extends Sk{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:O.writable,kbOpts:{kbExpr:O.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class M8 extends Ck{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:O.writable})}}class N8 extends Ck{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:O.writable})}}class R8 extends Ck{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:O.writable,kbOpts:{kbExpr:O.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class A8 extends je{constructor(){super({id:"deleteInsideWord",precondition:O.writable,label:C("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=Fu(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(c=>{const u=v_.deleteInsideWord(n,s,c);return new s_(u,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}ii(new f8);ii(new g8);ii(new p8);ii(new _8);ii(new m8);ii(new v8);ii(new w8);ii(new S8);ii(new C8);ii(new x8);ii(new k8);ii(new L8);ii(new b8);ii(new y8);ii(new I8);ii(new D8);ii(new E8);ii(new T8);ii(new P8);ii(new M8);ii(new N8);ii(new R8);ue(A8);class O8 extends aw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:O.writable,kbOpts:{kbExpr:O.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=My.deleteWordPartLeft(e);return i||new U(1,1,1,1)}}class F8 extends aw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:O.writable,kbOpts:{kbExpr:O.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=My.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new U(n,s,n,s)}}class kR extends rw{_move(e,t,i,n,s){return My.moveWordPartLeft(e,t,i,s)}}class H8 extends kR{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:O.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}Hn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class W8 extends kR{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:O.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}Hn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class LR extends rw{_move(e,t,i,n,s){return My.moveWordPartRight(e,t,i)}}class B8 extends LR{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:O.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class z8 extends LR{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:O.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}ii(new O8);ii(new F8);ii(new H8);ii(new W8);ii(new B8);ii(new z8);const Hk=class Hk extends ht{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=ko.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new Ys(C("editor.simple.readonly","Cannot edit in read-only input")):t=new Ys(C("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};Hk.ID="editor.contrib.readOnlyMessageController";let db=Hk;qi(db.ID,db,2);var V8=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 yx=class extends ht{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Vo(this,void 0);const n=bd("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=bd("_textModel.onDidChangeContent",_s.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(u_(async(r,a)=>{n.read(r),s.read(r);const c=a.add(new MF),u=await this._outlineModelService.getOrCreate(this._textModel,c.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(PF(g_(s=>s.range.endLineNumber-s.range.startLineNumber,Sy))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};yx=V8([xD(1,Yt),xD(2,P_)],yx);TF.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(yx,o));const Wk=class Wk extends ht{constructor(e){super(),this.editor=e,this.widget=null,SS&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new wx(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};Wk.ID="editor.contrib.iPadShowKeyboard";let ub=Wk;const ly=class ly extends ht{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(_n(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(_n(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return ly.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};ly.ID="editor.contrib.ShowKeyboardWidget";let wx=ly;qi(ub.ID,ub,3);var j8=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)}},Sx,hu;let qp=(hu=class extends ht{static get(e){return e.getContribution(Sx.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(xy.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 Cx(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},Sx=hu,hu.ID="editor.contrib.inspectTokens",hu);qp=Sx=j8([kD(1,qT),kD(2,da)],qp);class $8 extends je{constructor(){super({id:"editor.action.inspectTokens",label:OF.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=qp.get(t);i==null||i.launch()}}function U8(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 q8(o,e){const t=xy.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>NF,tokenize:(n,s,r)=>AF(e,r),tokenizeEncoded:(n,s,r)=>RF(i,r)}}const cy=class cy extends ht{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=q8(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 cy._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let c=t.tokens1.length-1;c>=0;c--){const u=t.tokens1[c];if(e.column-1>=u.offset){i=c;break}}let n=0;for(let c=t.tokens2.length>>>1;c>=0;c--)if(e.column-1>=t.tokens2[c<<1]){n=c;break}const s=this._model.getLineContent(e.lineNumber);let r="";if(i<t.tokens1.length){const c=t.tokens1[i].offset,u=i+1<t.tokens1.length?t.tokens1[i+1].offset:s.length;r=s.substring(c,u)}ev(this._domNode,Vt("h2.tm-token",void 0,U8(r),Vt("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),At(this._domNode,Vt("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;At(this._domNode,Vt("table.tm-metadata-table",void 0,Vt("tbody",void 0,Vt("tr",void 0,Vt("td.tm-metadata-key",void 0,"language"),Vt("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),Vt("tr",void 0,Vt("td.tm-metadata-key",void 0,"token type"),Vt("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),Vt("tr",void 0,Vt("td.tm-metadata-key",void 0,"font style"),Vt("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),Vt("tr",void 0,Vt("td.tm-metadata-key",void 0,"foreground"),Vt("td.tm-metadata-value",void 0,`${a?Yi.Format.CSS.formatHex(a.foreground):"-?-"}`)),Vt("tr",void 0,Vt("td.tm-metadata-key",void 0,"background"),Vt("td.tm-metadata-value",void 0,`${a?Yi.Format.CSS.formatHex(a.background):"-?-"}`))))),At(this._domNode,Vt("hr.tokens-inspect-separator")),i<t.tokens1.length&&At(this._domNode,Vt("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=xy.getColorMap(),i=fg.getLanguageId(e),n=fg.getTokenType(e),s=fg.getFontStyle(e),r=fg.getForeground(e),a=fg.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]}}};cy._ID="editor.contrib.inspectTokensWidget";let Cx=cy;qi(qp.ID,qp,4);ue($8);var G8=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},LD=function(o,e){return function(t,i){e(t,i,o)}},Hg,fu;let xx=(fu=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=aa.as(b_.Quickaccess)}provide(e){const t=new dt;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(Hg.PREFIX.length));n&&n.prefix&&n.prefix!==Hg.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==Hg.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:C("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},Hg=fu,fu.PREFIX="?",fu);xx=Hg=G8([LD(0,El),LD(1,us)],xx);aa.as(b_.Quickaccess).registerQuickAccessProvider({ctor:xx,prefix:"",helpEntries:[{description:FF.helpQuickAccessActionLabel}]});class IR{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new dt;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new $o);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 dt,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=GT(s);if(a){let c=s.saveViewState()??void 0;n.add(a.onDidChangeCursorPosition(()=>{c=s.saveViewState()??void 0})),r.restoreViewState=()=>{c&&s===this.activeTextEditorControl&&s.restoreViewState(c)},n.add(KT(t.onCancellationRequested)(()=>{var u;return(u=r.restoreViewState)==null?void 0:u.call(r)}))}n.add(zn(()=>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&&uf(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return UT(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:gs(QE),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 dy=class dy extends IR{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=C("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,ht.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new dt;s.add(t.onDidAccept(c=>{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:c.inBackground}),c.inBackground||t.hide()}}));const r=()=>{const c=this.parsePosition(n,t.value.trim().substr(dy.PREFIX.length)),u=this.getPickLabel(n,c.lineNumber,c.column);if(t.items=[{lineNumber:c.lineNumber,column:c.column,label:u}],t.ariaLabel=u,!this.isValidLineNumber(n,c.lineNumber)){this.clearDecorations(n);return}const f=this.toRange(c.lineNumber,c.column);n.revealRangeInCenter(f,0),this.addDecorations(n,f)};r(),s.add(t.onDidChangeValue(()=>r()));const a=GT(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(zn(()=>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)?C("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):C("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},s=this.lineCount(e);return s>1?C("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,s):C("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}};dy.PREFIX=":";let kx=dy;var K8=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},Z8=function(o,e){return function(t,i){e(t,i,o)}};let Gp=class extends kx{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=_s.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Gp=K8([Z8(0,os)],Gp);var gu;let DR=(gu=class extends je{constructor(){super({id:gu.ID,label:ZT.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:O.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(El).quickAccess.show(Gp.PREFIX)}},gu.ID="editor.action.gotoLine",gu);ue(DR);aa.as(b_.Quickaccess).registerQuickAccessProvider({ctor:Gp,prefix:Gp.PREFIX,helpEntries:[{description:ZT.gotoLineActionLabel,commandId:DR.ID}]});const ER=[void 0,[]];function rS(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?X8(o,n.values,t,i):TR(o,e,t,i)}function X8(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,c]=TR(o,r,t,i);if(typeof a!="number")return ER;n+=a,s.push(...c)}return[n,Y8(s)]}function TR(o,e,t,i){const n=vT(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],Cy(n)]:ER}function Y8(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!J8(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 J8(o,e){return!(o.end<e.start||e.end<o.start)}function ID(o){return o.startsWith('"')&&o.endsWith('"')}const PR=" ";function Lx(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=DD(o),s=t.indexOf(TS)>=0,r=ID(o);let a;const c=o.split(PR);if(c.length>1)for(const u of c){const f=ID(u),{pathNormalized:g,normalized:p,normalizedLowercase:w}=DD(u);p&&(a||(a=[]),a.push({original:u,originalLowercase:u.toLowerCase(),pathNormalized:g,normalized:p,normalizedLowercase:w,expectContiguousMatch:f}))}return{original:o,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:n,values:a,containsPathSeparator:s,expectContiguousMatch:r}}function DD(o){let e;gy?e=o.replace(/\//g,TS):e=o.replace(/\\/g,TS);const t=HF(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function ED(o){return Array.isArray(o)?Lx(o.map(e=>e.original).join(PR)):Lx(o.original)}var Q8=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)}},Zm,Qr;let Id=(Qr=class extends IR{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,C("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),ht.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):ht.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new dt;return this.provideLabelPick(i,C("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 py,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(zn(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var g;const r=e.editor,a=new dt;a.add(i.onDidAccept(p=>{var m;const[w]=i.selectedItems;w&&w.range&&(this.gotoLocation(e,{range:w.range.selection,keyMods:i.keyMods,preserveFocus:p.inBackground}),(m=s==null?void 0:s.handleAccept)==null||m.call(s,w),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 c=this.getDocumentSymbols(t,n);let u;const f=async p=>{u==null||u.dispose(!0),i.busy=!1,u=new Ts(n),i.busy=!0;try{const w=Lx(i.value.substr(Zm.PREFIX.length).trim()),m=await this.doGetSymbolPicks(c,w,void 0,u.token,t);if(n.isCancellationRequested)return;if(m.length>0){if(i.items=m,p&&w.original.length===0){const x=VF(m,k=>!!(k.type!=="separator"&&k.range&&U.containsPosition(k.range.decoration,p)));x&&(i.activeItems=[x])}}else w.original.length>0?this.provideLabelPick(i,C("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,C("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 k,D;const r=await e;if(n.isCancellationRequested)return[];const a=t.original.indexOf(Zm.SCOPE_PREFIX)===0,c=a?1:0;let u,f;t.values&&t.values.length>1?(u=ED(t.values[0]),f=ED(t.values.slice(1))):u=t;let g;const p=(D=(k=this.options)==null?void 0:k.openSideBySideDirection)==null?void 0:D.call(k);p&&(g=[{iconClass:p==="right"?yn.asClassName(Ci.splitHorizontal):yn.asClassName(Ci.splitVertical),tooltip:p==="right"?C("openToSide","Open to the Side"):C("openToBottom","Open to the Bottom")}]);const w=[];for(let P=0;P<r.length;P++){const A=r[P],j=WF(A.name),H=`$(${BF.toIcon(A.kind).id}) ${j}`,te=H.length-j.length;let J=A.containerName;i!=null&&i.extraContainerLabel&&(J?J=`${i.extraContainerLabel} • ${J}`:J=i.extraContainerLabel);let le,we,Be,ce;if(t.original.length>c){let at=!1;if(u!==t&&([le,we]=rS(H,{...t,values:void 0},c,te),typeof le=="number"&&(at=!0)),typeof le!="number"&&([le,we]=rS(H,u,c,te),typeof le!="number"))continue;if(!at&&f){if(J&&f.original.length>0&&([Be,ce]=rS(J,f)),typeof Be!="number")continue;typeof le=="number"&&(le+=Be)}}const st=A.tags&&A.tags.indexOf(1)>=0;w.push({index:P,kind:A.kind,score:le,label:H,ariaLabel:zF(A.name,A.kind),description:J,highlights:st?void 0:{label:we,description:ce},range:{selection:U.collapseToStart(A.selectionRange),decoration:A.range},uri:s.uri,symbolName:j,strikethrough:st,buttons:g})}const m=w.sort((P,A)=>a?this.compareByKindAndScore(P,A):this.compareByScore(P,A));let x=[];if(a){let H=function(){A&&typeof P=="number"&&j>0&&(A.label=r0(lS[P]||aS,j))},P,A,j=0;for(const te of m)P!==te.kind?(H(),P=te.kind,j=1,A={type:"separator"},x.push(A)):j++,x.push(te);H()}else m.length>0&&(x=[{label:C("symbols","symbols ({0})",w.length),type:"separator"},...m]);return x}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=lS[e.kind]||aS,n=lS[t.kind]||aS,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()}},Zm=Qr,Qr.PREFIX="@",Qr.SCOPE_PREFIX=":",Qr.PREFIX_BY_CATEGORY=`${Qr.PREFIX}${Qr.SCOPE_PREFIX}`,Qr);Id=Zm=Q8([TD(0,Yt),TD(1,P_)],Id);const aS=C("property","properties ({0})"),lS={5:C("method","methods ({0})"),11:C("function","functions ({0})"),8:C("_constructor","constructors ({0})"),12:C("variable","variables ({0})"),4:C("class","classes ({0})"),22:C("struct","structs ({0})"),23:C("event","events ({0})"),24:C("operator","operators ({0})"),10:C("interface","interfaces ({0})"),2:C("namespace","namespaces ({0})"),3:C("package","packages ({0})"),25:C("typeParameter","type parameters ({0})"),1:C("modules","modules ({0})"),6:C("property","properties ({0})"),9:C("enum","enumerations ({0})"),21:C("enumMember","enumeration members ({0})"),14:C("string","strings ({0})"),0:C("file","files ({0})"),17:C("array","arrays ({0})"),15:C("number","numbers ({0})"),16:C("boolean","booleans ({0})"),18:C("object","objects ({0})"),19:C("key","keys ({0})"),7:C("field","fields ({0})"),13:C("constant","constants ({0})")};var e7=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},cS=function(o,e){return function(t,i){e(t,i,o)}};let Ix=class extends Id{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=_s.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Ix=e7([cS(0,os),cS(1,Yt),cS(2,P_)],Ix);const uy=class uy extends je{constructor(){super({id:uy.ID,label:PS.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:O.hasDocumentSymbolProvider,kbOpts:{kbExpr:O.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(El).quickAccess.show(Id.PREFIX,{itemActivation:jF.NONE})}};uy.ID="editor.action.quickOutline";let hb=uy;ue(hb);aa.as(b_.Quickaccess).registerQuickAccessProvider({ctor:Ix,prefix:Id.PREFIX,helpEntries:[{description:PS.quickOutlineActionLabel,prefix:Id.PREFIX,commandId:hb.ID},{description:PS.quickOutlineByCategoryActionLabel,prefix:Id.PREFIX_BY_CATEGORY}]});function t7(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class np{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 c of a.chunks){const u=this.computeSimilarityScore(c,i,n);u>0&&s.push({key:r,score:u})}}return s}static termFrequencies(e){return t7(np.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=np.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 c=i.get(s);typeof c!="number"&&(c=this.computeIdf(s),i.set(s,c));const u=a*c;n+=u*r}return n}computeEmbedding(e){const t=np.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 i7(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 Ph;(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"})(Ph||(Ph={}));function dS(o){return Array.isArray(o.items)}function PD(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class n7 extends ht{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var u;const n=new dt;e.canAcceptInBackground=!!((u=this.options)!=null&&u.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new $o),a=async()=>{var k;const f=r.value=new dt;s==null||s.dispose(!0),e.busy=!1,s=new Ts(t);const g=s.token;let p=e.value.substring(this.prefix.length);(k=this.options)!=null&&k.shouldSkipTrimPickFilter||(p=p.trim());const w=this._getPicks(p,f,g,i),m=(D,P)=>{var H;let A,j;if(dS(D)?(A=D.items,j=D.active):A=D,A.length===0){if(P)return!1;(p.length>0||e.hideInput)&&((H=this.options)!=null&&H.noResultsPick)&&($F(this.options.noResultsPick)?A=[this.options.noResultsPick(p)]:A=[this.options.noResultsPick])}return e.items=A,j&&(e.activeItems=[j]),!0},x=async D=>{let P=!1,A=!1;await Promise.all([(async()=>{typeof D.mergeDelay=="number"&&(await Iy(D.mergeDelay),g.isCancellationRequested)||A||(P=m(D.picks,!0))})(),(async()=>{e.busy=!0;try{const j=await D.additionalPicks;if(g.isCancellationRequested)return;let H,te;dS(D.picks)?(H=D.picks.items,te=D.picks.active):H=D.picks;let J,le;if(dS(j)?(J=j.items,le=j.active):J=j,J.length>0||!P){let we;if(!te&&!le){const Be=e.activeItems[0];Be&&H.indexOf(Be)!==-1&&(we=Be)}m({items:[...H,...J],active:te||le||we})}}finally{g.isCancellationRequested||(e.busy=!1),A=!0}})()])};if(w!==null)if(PD(w))await x(w);else if(!(w instanceof Promise))m(w);else{e.busy=!0;try{const D=await w;if(g.isCancellationRequested)return;PD(D)?await x(D):m(D)}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 c=async(f,g)=>{var w;if(typeof g.trigger!="function")return;const p=((w=g.buttons)==null?void 0:w.indexOf(f))??-1;if(p>=0){const m=g.trigger(p,e.keyMods),x=typeof m=="number"?m:await m;if(t.isCancellationRequested)return;switch(x){case Ph.NO_ACTION:break;case Ph.CLOSE_PICKER:e.hide();break;case Ph.REFRESH_PICKER:a();break;case Ph.REMOVE_ITEM:{const k=e.items.indexOf(g);if(k!==-1){const D=e.items.slice(),P=D.splice(k,1),A=e.activeItems.filter(H=>H!==P[0]),j=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=D,A&&(e.activeItems=A),e.keepScrollPosition=j}break}}}};return n.add(e.onDidTriggerItemButton(({button:f,item:g})=>c(f,g))),n.add(e.onDidTriggerSeparatorButton(({button:f,separator:g})=>c(f,g))),n}}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},Jl=function(o,e){return function(t,i){e(t,i,o)}},id,ls,Ma;let Dx=(Ma=class extends n7{constructor(e,t,i,n,s,r){super(id.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(Ex)),this.options=e}async _getPicks(e,t,i,n){var w,m;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=KT(()=>{const x=new np;x.updateDocuments(s.map(D=>({key:D.commandId,textChunks:[this.getTfIdfChunk(D)]})));const k=x.calculateScores(e,i);return i7(k).filter(D=>D.score>id.TFIDF_THRESHOLD).slice(0,id.TFIDF_MAX_RESULTS)}),a=[];for(const x of s){const k=id.WORD_FILTER(e,x.label)??void 0,D=x.commandAlias?id.WORD_FILTER(e,x.commandAlias)??void 0:void 0;if(k||D)x.highlights={label:k,detail:this.options.showAlias?D:void 0},a.push(x);else if(e===x.commandId)a.push(x);else if(e.length>=3){const P=r();if(i.isCancellationRequested)return[];const A=P.find(j=>j.key===x.commandId);A&&(x.tfIdfScore=A.score,a.push(x))}}const c=new Map;for(const x of a){const k=c.get(x.label);k?(x.description=x.commandId,k.description=k.commandId):c.set(x.label,x)}a.sort((x,k)=>{if(x.tfIdfScore&&k.tfIdfScore)return x.tfIdfScore===k.tfIdfScore?x.label.localeCompare(k.label):k.tfIdfScore-x.tfIdfScore;if(x.tfIdfScore)return 1;if(k.tfIdfScore)return-1;const D=this.commandsHistory.peek(x.commandId),P=this.commandsHistory.peek(k.commandId);if(D&&P)return D>P?-1:1;if(D)return-1;if(P)return 1;if(this.options.suggestedCommandIds){const A=this.options.suggestedCommandIds.has(x.commandId),j=this.options.suggestedCommandIds.has(k.commandId);if(A&&j)return 0;if(A)return-1;if(j)return 1}return x.label.localeCompare(k.label)});const u=[];let f=!1,g=!0,p=!!this.options.suggestedCommandIds;for(let x=0;x<a.length;x++){const k=a[x];x===0&&this.commandsHistory.peek(k.commandId)&&(u.push({type:"separator",label:C("recentlyUsed","recently used")}),f=!0),g&&k.tfIdfScore!==void 0&&(u.push({type:"separator",label:C("suggested","similar commands")}),g=!1),p&&k.tfIdfScore===void 0&&!this.commandsHistory.peek(k.commandId)&&((w=this.options.suggestedCommandIds)!=null&&w.has(k.commandId))&&(u.push({type:"separator",label:C("commonlyUsed","commonly used")}),f=!0,p=!1),f&&k.tfIdfScore===void 0&&!this.commandsHistory.peek(k.commandId)&&!((m=this.options.suggestedCommandIds)!=null&&m.has(k.commandId))&&(u.push({type:"separator",label:C("morecCommands","other commands")}),f=!1),u.push(this.toCommandPick(k,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:u,additionalPicks:(async()=>{var D;const x=await this.getAdditionalCommandPicks(s,a,e,i);if(i.isCancellationRequested)return[];const k=x.map(P=>this.toCommandPick(P,n));return g&&((D=k[0])==null?void 0:D.type)!=="separator"&&k.unshift({type:"separator",label:C("suggested","similar commands")}),k})()}:u}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?C("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){Hc(r)||this.dialogService.error(C("canNotRun","Command '{0}' resulted in an error",e.label),vv(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}},id=Ma,Ma.PREFIX=">",Ma.TFIDF_THRESHOLD=.5,Ma.TFIDF_MAX_RESULTS=5,Ma.WORD_FILTER=UF(KF,GF,qF),Ma);Dx=id=MR([Jl(1,Ri),Jl(2,us),Jl(3,Cs),Jl(4,ca),Jl(5,m0)],Dx);var ea;let Ex=(ea=class extends ht{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===Jx.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=ls.getConfiguredCommandHistoryLength(this.configurationService),ls.cache&&ls.cache.limit!==this.configuredCommandsHistoryLength&&(ls.cache.limit=this.configuredCommandsHistoryLength,ls.hasChanges=!0))}load(){const e=this.storageService.get(ls.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=ls.cache=new c_(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))}ls.counter=this.storageService.getNumber(ls.PREF_KEY_COUNTER,0,ls.counter)}push(e){ls.cache&&(ls.cache.set(e,ls.counter++),ls.hasChanges=!0)}peek(e){var t;return(t=ls.cache)==null?void 0:t.peek(e)}saveState(){if(!ls.cache||!ls.hasChanges)return;const e={usesLRU:!0,entries:[]};ls.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(ls.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(ls.PREF_KEY_COUNTER,ls.counter,0,0),ls.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:ls.DEFAULT_COMMANDS_HISTORY_LENGTH}},ls=ea,ea.DEFAULT_COMMANDS_HISTORY_LENGTH=50,ea.PREF_KEY_CACHE="commandPalette.mru.cache",ea.PREF_KEY_COUNTER="commandPalette.mru.counter",ea.counter=1,ea.hasChanges=!1,ea);Ex=ls=MR([Jl(0,Wc),Jl(1,jn),Jl(2,Ou)],Ex);class s7 extends Dx{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&&(ZF(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:XF(n.label)||n.id})}return t}}var o7=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)}};let Kp=class extends s7{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[]}};Kp=o7([ch(0,Ri),ch(1,os),ch(2,us),ch(3,Cs),ch(4,ca),ch(5,m0)],Kp);const hy=class hy extends je{constructor(){super({id:hy.ID,label:XT.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:O.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(El).quickAccess.show(Kp.PREFIX)}};hy.ID="editor.action.quickCommand";let fb=hy;ue(fb);aa.as(b_.Quickaccess).registerQuickAccessProvider({ctor:Kp,prefix:Kp.PREFIX,helpEntries:[{description:XT.quickCommandHelp,commandId:fb.ID}]});var r7=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)}};let Tx=class extends Iu{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};Tx=r7([dh(1,mn),dh(2,os),dh(3,oo),dh(4,Ri),dh(5,Wc),dh(6,jn)],Tx);qi(Iu.ID,Tx,4);class a7 extends je{constructor(){super({id:"editor.action.toggleHighContrast",label:YF.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(qT),n=i.getColorTheme();dp(n.type)?(i.setTheme(this._originalThemeName||(PL(n.type)?JF:QF)),this._originalThemeName=null):(i.setTheme(PL(n.type)?e3:t3),this._originalThemeName=n.themeName)}}ue(a7);let Px=null;function l7(o){Px=o}function c7(o={}){return{"Content-Type":"application/json",...o}}async function Jt(o,e,t){const i=await fetch(e,{method:o,headers:c7(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw Px&&Px(),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 d7(){return await(await fetch("/she/auth/mode")).json()}async function u7(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 h7(){await fetch("/she/auth/logout",{method:"POST"})}async function f7(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 g7(){return Jt("GET","/she/scripts/tree")}function uS(o){return Jt("GET",`/she/scripts/${o}`)}function Jc(o,e){return Jt("PUT",`/she/scripts/${o}`,{content:e})}function wm(o){return Jt("DELETE",`/she/scripts/${o}`)}function MD(o,e){return Jt("POST",`/she/scripts/${o}/rename`,{newPath:e})}function p7(o){return Jt("POST","/she/scripts/mkdir",{path:o})}function _7(){return Jt("GET","/she/git/status")}function Wg(){return Jt("GET","/she/status")}function NR(){return Jt("POST","/she/restart")}function m7(){return Jt("POST","/she/update")}function v7(){return Jt("POST","/she/check-update")}function b7(o,e){return Jt("POST","/she/git/commit",{path:o,message:e})}function ND(o,e){return Jt("POST","/she/git/commit",{files:o,message:e})}function RD(o){return Jt("POST","/she/git/commit",{message:o})}function Sm(o){return Jt("POST","/she/git/push",{remote:o})}function y7(o,e){return Jt("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function w7(o,e){return Jt("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function Dl(){return Jt("GET","/she/config")}function Zp(o){return Jt("PUT","/she/config",o)}function RR(){return Jt("GET","/she/db/docs")}function S7(o){return Jt("GET",`/she/db/docs/${o}`)}function AD(o,e){return Jt("PUT",`/she/db/docs/${o}`,e)}function C7(o){return Jt("DELETE",`/she/db/docs/${o}`)}function AR(){return Jt("GET","/she/db/views")}function x7(o){return Jt("GET",`/she/db/views/${o}`)}function OD(o,e){return Jt("PUT",`/she/db/views/${o}`,e)}function k7(o){return Jt("DELETE",`/she/db/views/${o}`)}function L7(){return Jt("GET","/she/deps")}function I7(o){return Jt("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function D7(o,e){return Jt("POST","/she/deps/install",{name:o,version:null})}function E7(o){return Jt("POST","/she/deps/remove",{name:o})}function T7(o){return Jt("POST","/she/deps/update",{name:o})}function OR(){return Jt("GET","/she/deps/outdated")}function P7(){return Jt("POST","/she/deps/check-outdated")}function M7(){return Jt("GET","/she/ai/conversations")}function FD(o){return Jt("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function N7(o,e,t){return Jt("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function R7(o){return Jt("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function hS(o){return Jt("GET",`/she/db/views/${o}/result`)}function FR(){return Jt("GET","/she/matter/devices")}function Xm(o){return Jt("GET",`/she/matter/devices/${o}`)}function A7(o){return Jt("POST","/she/matter/commission",o)}function O7(o){return Jt("DELETE",`/she/matter/devices/${o}`)}function F7(o,e,t,i,n){return Jt("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function HR(){return Jt("GET","/she/mqtt/state")}function HD(o,e,t=!1,i=0){return Jt("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function WR(){return Jt("GET","/she/ai/config")}function BR(){return Jt("GET","/she/ai/models")}function Mx(o){return Jt("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function zR(o){return Jt("POST","/she/ai/prompt",o)}async function VR(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 c="";try{for(;;){const{done:u,value:f}=await r.read();if(u)break;c+=a.decode(f,{stream:!0});const g=c.split(`
79
+ `);c=g.pop()??"";for(const p of g){if(!p.startsWith("data: "))continue;const w=p.slice(6).trim();if(w==="[DONE]")return;try{const m=JSON.parse(w);if(m.error)throw new Error(m.error);if(m.type==="tool_call"||m.type==="tool_result"){i==null||i({type:m.type,name:m.name??"",args:m.args,content:m.content});continue}m.token&&e(m.token)}catch(m){if(m instanceof SyntaxError)continue;throw m}}}}finally{r.releaseLock()}}function H7(){return Jt("GET","/she/broker/status")}function W7(){return Jt("GET","/she/broker/config")}function B7(o){return Jt("PUT","/she/broker/config",o)}function z7(){return Jt("POST","/she/broker/reload")}function V7(){return Jt("POST","/she/broker/restart")}function j7(){return Jt("GET","/she/broker/users")}function $7(o,e){return Jt("POST","/she/broker/users",{username:o,password:e})}function U7(o){return Jt("DELETE",`/she/broker/users/${encodeURIComponent(o)}`)}function q7(o,e){return Jt("PUT",`/she/broker/users/${encodeURIComponent(o)}/password`,{password:e})}function G7(){return Jt("GET","/she/broker/roles")}function K7(o){return Jt("POST","/she/broker/roles",{rolename:o})}function Z7(o){return Jt("DELETE",`/she/broker/roles/${encodeURIComponent(o)}`)}function X7(o,e){return Jt("POST",`/she/broker/roles/${encodeURIComponent(o)}/acls`,e)}function Y7(o,e,t){return Jt("DELETE",`/she/broker/roles/${encodeURIComponent(o)}/acls`,{acltype:e,topic:t})}function J7(){return Jt("GET","/she/broker/groups")}function Q7(o){return Jt("POST","/she/broker/groups",{groupname:o})}function eq(o){return Jt("DELETE",`/she/broker/groups/${encodeURIComponent(o)}`)}function tq(){return Jt("GET","/she/broker/ca")}function iq(o){return Jt("POST","/she/broker/ca/generate",o??{})}function nq(){return Jt("GET","/she/broker/ca/server")}function sq(o){return Jt("POST","/she/broker/ca/server/generate",o)}function oq(){return Jt("GET","/she/broker/ca/certs")}function rq(o){return Jt("POST","/she/broker/ca/certs",o)}function aq(o){return Jt("DELETE",`/she/broker/ca/certs/${encodeURIComponent(o)}`)}function Qc(o,e){return`/she/broker/ca/certs/${encodeURIComponent(o)}/download?type=${e}`}function lq(){return Jt("GET","/she/broker/ca/trusted")}function cq(o){return Jt("POST","/she/broker/ca/trusted",{pem:o})}function dq(o){return Jt("DELETE",`/she/broker/ca/trusted/${encodeURIComponent(o)}`)}const uq=2e3,Ym=[];function jR(){return Ym.slice()}let lc=null;const gb=new Set,Mh=new Map;let Nx=null;function Xp(){let o=gb.size;for(const e of Mh.values())o+=e.size;return o}function hq(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function xk(){if(lc)return;const o=hq(),e=new WebSocket(o);lc=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};Ym.length>=uq&&Ym.shift(),Ym.push(s),gb.forEach(r=>r(s))}const n=Mh.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{lc===e&&(lc=null),Xp()>0&&(Nx=setTimeout(xk,3e3))},e.onerror=()=>{e.close()}}function $R(){Nx&&clearTimeout(Nx),lc==null||lc.close(),lc=null}function kk(o){return gb.add(o),Xp()===1&&xk(),()=>{gb.delete(o),Xp()===0&&$R()}}function kr(o,e){return Mh.has(o)||Mh.set(o,new Set),Mh.get(o).add(e),Xp()===1&&xk(),()=>{var t;(t=Mh.get(o))==null||t.delete(e),Xp()===0&&$R()}}var fq=T('<button class="cancel svelte-1eh8v5n">Cancel</button>'),gq=T('<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 Jf(o,e){Ns(e,!0);let t=M(!1),i=M(""),n=M("Confirm"),s=M(!1),r=M(!1),a=null;function c(x,k){return y(i,x,!0),y(n,(k==null?void 0:k.confirm)??(k!=null&&k.alert?"OK":"Confirm"),!0),y(s,(k==null?void 0:k.danger)??!1,!0),y(r,(k==null?void 0:k.alert)??!1,!0),y(t,!0),new Promise(D=>a=D)}function u(x){y(t,!1),a==null||a(x),a=null}function f(x){d(t)&&(x.key==="Escape"&&u(!1),x.key==="Enter"&&u(!0))}var g={show:c},p=Vs();cs("keydown",Sd,f);var w=Et(p);{var m=x=>{var k=gq(),D=Et(k),P=b(D,2),A=v(P),j=v(A),H=b(A,2),te=v(H);{var J=ce=>{var st=fq();G("click",st,()=>u(!1)),E(ce,st)};W(te,ce=>{d(r)||ce(J)})}var le=b(te,2);let we;var Be=v(le);V(()=>{F(j,d(i)),we=Rt(le,1,"svelte-1eh8v5n",null,we,{danger:d(s)}),F(Be,d(n))}),G("click",D,()=>u(!1)),G("click",le,()=>u(!0)),E(x,k)};W(w,x=>{d(t)&&x(m)})}return E(o,p),Rs(g)}Ks(["click"]);var pq=T('<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 _q(o,e){Ns(e,!0);let t=M(!1),i=M(""),n=M(""),s=M("OK"),r=M(""),a=null,c=M(void 0);function u(D,P){return y(i,D,!0),y(n,(P==null?void 0:P.placeholder)??"",!0),y(s,(P==null?void 0:P.confirm)??"OK",!0),y(r,(P==null?void 0:P.initial)??"",!0),y(t,!0),setTimeout(()=>{if(d(c)){d(c).focus();const A=d(c).value.length;d(c).setSelectionRange(A,A)}},0),new Promise(A=>a=A)}function f(){const D=d(r).trim();D&&(y(t,!1),a==null||a(D),a=null,y(r,""))}function g(){y(t,!1),a==null||a(null),a=null,y(r,"")}function p(D){d(t)&&D.key==="Escape"&&(D.stopPropagation(),g())}var w={show:u},m=Vs();cs("keydown",Sd,p);var x=Et(m);{var k=D=>{var P=pq(),A=Et(P),j=b(A,2),H=v(j),te=v(H),J=b(H,2);Ds(J,st=>y(c,st),()=>d(c));var le=b(J,2),we=v(le),Be=b(we,2),ce=v(Be);V(st=>{F(te,d(i)),Wi(J,"placeholder",d(n)),Be.disabled=st,F(ce,d(s))},[()=>!d(r).trim()]),G("click",A,g),G("keydown",J,st=>{st.key==="Enter"&&(st.preventDefault(),f())}),Zt(J,()=>d(r),st=>y(r,st)),G("click",we,g),G("click",Be,f),E(D,P)};W(x,D=>{d(t)&&D(k)})}return E(o,m),Rs(w)}Ks(["click","keydown"]);function UR(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var fS,WD;function mq(){if(WD)return fS;WD=1;function o(R){return R instanceof Map?R.clear=R.delete=R.set=function(){throw new Error("map is read-only")}:R instanceof Set&&(R.add=R.clear=R.delete=function(){throw new Error("set is read-only")}),Object.freeze(R),Object.getOwnPropertyNames(R).forEach(Q=>{const Y=R[Q],fe=typeof Y;(fe==="object"||fe==="function")&&!Object.isFrozen(Y)&&o(Y)}),R}class e{constructor(Q){Q.data===void 0&&(Q.data={}),this.data=Q.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(R){return R.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function i(R,...Q){const Y=Object.create(null);for(const fe in R)Y[fe]=R[fe];return Q.forEach(function(fe){for(const _e in fe)Y[_e]=fe[_e]}),Y}const n="</span>",s=R=>!!R.scope,r=(R,{prefix:Q})=>{if(R.startsWith("language:"))return R.replace("language:","language-");if(R.includes(".")){const Y=R.split(".");return[`${Q}${Y.shift()}`,...Y.map((fe,_e)=>`${fe}${"_".repeat(_e+1)}`)].join(" ")}return`${Q}${R}`};class a{constructor(Q,Y){this.buffer="",this.classPrefix=Y.classPrefix,Q.walk(this)}addText(Q){this.buffer+=t(Q)}openNode(Q){if(!s(Q))return;const Y=r(Q.scope,{prefix:this.classPrefix});this.span(Y)}closeNode(Q){s(Q)&&(this.buffer+=n)}value(){return this.buffer}span(Q){this.buffer+=`<span class="${Q}">`}}const c=(R={})=>{const Q={children:[]};return Object.assign(Q,R),Q};class u{constructor(){this.rootNode=c(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(Q){this.top.children.push(Q)}openNode(Q){const Y=c({scope:Q});this.add(Y),this.stack.push(Y)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(Q){return this.constructor._walk(Q,this.rootNode)}static _walk(Q,Y){return typeof Y=="string"?Q.addText(Y):Y.children&&(Q.openNode(Y),Y.children.forEach(fe=>this._walk(Q,fe)),Q.closeNode(Y)),Q}static _collapse(Q){typeof Q!="string"&&Q.children&&(Q.children.every(Y=>typeof Y=="string")?Q.children=[Q.children.join("")]:Q.children.forEach(Y=>{u._collapse(Y)}))}}class f extends u{constructor(Q){super(),this.options=Q}addText(Q){Q!==""&&this.add(Q)}startScope(Q){this.openNode(Q)}endScope(){this.closeNode()}__addSublanguage(Q,Y){const fe=Q.root;Y&&(fe.scope=`language:${Y}`),this.add(fe)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function g(R){return R?typeof R=="string"?R:R.source:null}function p(R){return x("(?=",R,")")}function w(R){return x("(?:",R,")*")}function m(R){return x("(?:",R,")?")}function x(...R){return R.map(Y=>g(Y)).join("")}function k(R){const Q=R[R.length-1];return typeof Q=="object"&&Q.constructor===Object?(R.splice(R.length-1,1),Q):{}}function D(...R){return"("+(k(R).capture?"":"?:")+R.map(fe=>g(fe)).join("|")+")"}function P(R){return new RegExp(R.toString()+"|").exec("").length-1}function A(R,Q){const Y=R&&R.exec(Q);return Y&&Y.index===0}const j=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function H(R,{joinWith:Q}){let Y=0;return R.map(fe=>{Y+=1;const _e=Y;let $=g(fe),Z="";for(;$.length>0;){const ie=j.exec($);if(!ie){Z+=$;break}Z+=$.substring(0,ie.index),$=$.substring(ie.index+ie[0].length),ie[0][0]==="\\"&&ie[1]?Z+="\\"+String(Number(ie[1])+_e):(Z+=ie[0],ie[0]==="("&&Y++)}return Z}).map(fe=>`(${fe})`).join(Q)}const te=/\b\B/,J="[a-zA-Z]\\w*",le="[a-zA-Z_]\\w*",we="\\b\\d+(\\.\\d+)?",Be="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ce="\\b(0b[01]+)",st="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",at=(R={})=>{const Q=/^#![ ]*\//;return R.binary&&(R.begin=x(Q,/.*\b/,R.binary,/\b.*/)),i({scope:"meta",begin:Q,end:/$/,relevance:0,"on:begin":(Y,fe)=>{Y.index!==0&&fe.ignoreMatch()}},R)},me={begin:"\\\\[\\s\\S]",relevance:0},ct={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[me]},gt={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[me]},Tt={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/},Ne=function(R,Q,Y={}){const fe=i({scope:"comment",begin:R,end:Q,contains:[]},Y);fe.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 _e=D("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 fe.contains.push({begin:x(/[ ]+/,"(",_e,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),fe},Lt=Ne("//","$"),Re=Ne("/\\*","\\*/"),ke=Ne("#","$"),tt={scope:"number",begin:we,relevance:0},Ot={scope:"number",begin:Be,relevance:0},ri={scope:"number",begin:ce,relevance:0},Wt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[me,{begin:/\[/,end:/\]/,relevance:0,contains:[me]}]},Dt={scope:"title",begin:J,relevance:0},Mt={scope:"title",begin:le,relevance:0},kt={begin:"\\.\\s*"+le,relevance:0};var di=Object.freeze({__proto__:null,APOS_STRING_MODE:ct,BACKSLASH_ESCAPE:me,BINARY_NUMBER_MODE:ri,BINARY_NUMBER_RE:ce,COMMENT:Ne,C_BLOCK_COMMENT_MODE:Re,C_LINE_COMMENT_MODE:Lt,C_NUMBER_MODE:Ot,C_NUMBER_RE:Be,END_SAME_AS_BEGIN:function(R){return Object.assign(R,{"on:begin":(Q,Y)=>{Y.data._beginMatch=Q[1]},"on:end":(Q,Y)=>{Y.data._beginMatch!==Q[1]&&Y.ignoreMatch()}})},HASH_COMMENT_MODE:ke,IDENT_RE:J,MATCH_NOTHING_RE:te,METHOD_GUARD:kt,NUMBER_MODE:tt,NUMBER_RE:we,PHRASAL_WORDS_MODE:Tt,QUOTE_STRING_MODE:gt,REGEXP_MODE:Wt,RE_STARTERS_RE:st,SHEBANG:at,TITLE_MODE:Dt,UNDERSCORE_IDENT_RE:le,UNDERSCORE_TITLE_MODE:Mt});function Li(R,Q){R.input[R.index-1]==="."&&Q.ignoreMatch()}function Ai(R,Q){R.className!==void 0&&(R.scope=R.className,delete R.className)}function Oi(R,Q){Q&&R.beginKeywords&&(R.begin="\\b("+R.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",R.__beforeBegin=Li,R.keywords=R.keywords||R.beginKeywords,delete R.beginKeywords,R.relevance===void 0&&(R.relevance=0))}function Hi(R,Q){Array.isArray(R.illegal)&&(R.illegal=D(...R.illegal))}function Si(R,Q){if(R.match){if(R.begin||R.end)throw new Error("begin & end are not supported with match");R.begin=R.match,delete R.match}}function si(R,Q){R.relevance===void 0&&(R.relevance=1)}const ui=(R,Q)=>{if(!R.beforeMatch)return;if(R.starts)throw new Error("beforeMatch cannot be used with starts");const Y=Object.assign({},R);Object.keys(R).forEach(fe=>{delete R[fe]}),R.keywords=Y.keywords,R.begin=x(Y.beforeMatch,p(Y.begin)),R.starts={relevance:0,contains:[Object.assign(Y,{endsParent:!0})]},R.relevance=0,delete Y.beforeMatch},Pi=["of","and","for","in","not","or","if","then","parent","list","value"],Vi="keyword";function Mi(R,Q,Y=Vi){const fe=Object.create(null);return typeof R=="string"?_e(Y,R.split(" ")):Array.isArray(R)?_e(Y,R):Object.keys(R).forEach(function($){Object.assign(fe,Mi(R[$],Q,$))}),fe;function _e($,Z){Q&&(Z=Z.map(ie=>ie.toLowerCase())),Z.forEach(function(ie){const Se=ie.split("|");fe[Se[0]]=[$,Je(Se[0],Se[1])]})}}function Je(R,Q){return Q?Number(Q):oi(R)?0:1}function oi(R){return Pi.includes(R.toLowerCase())}const hi={},xi=R=>{console.error(R)},Ni=(R,...Q)=>{console.log(`WARN: ${R}`,...Q)},dn=(R,Q)=>{hi[`${R}/${Q}`]||(console.log(`Deprecated as of ${R}. ${Q}`),hi[`${R}/${Q}`]=!0)},ji=new Error;function Tn(R,Q,{key:Y}){let fe=0;const _e=R[Y],$={},Z={};for(let ie=1;ie<=Q.length;ie++)Z[ie+fe]=_e[ie],$[ie+fe]=!0,fe+=P(Q[ie-1]);R[Y]=Z,R[Y]._emit=$,R[Y]._multi=!0}function Fe(R){if(Array.isArray(R.begin)){if(R.skip||R.excludeBegin||R.returnBegin)throw xi("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),ji;if(typeof R.beginScope!="object"||R.beginScope===null)throw xi("beginScope must be object"),ji;Tn(R,R.begin,{key:"beginScope"}),R.begin=H(R.begin,{joinWith:""})}}function Qt(R){if(Array.isArray(R.end)){if(R.skip||R.excludeEnd||R.returnEnd)throw xi("skip, excludeEnd, returnEnd not compatible with endScope: {}"),ji;if(typeof R.endScope!="object"||R.endScope===null)throw xi("endScope must be object"),ji;Tn(R,R.end,{key:"endScope"}),R.end=H(R.end,{joinWith:""})}}function fi(R){R.scope&&typeof R.scope=="object"&&R.scope!==null&&(R.beginScope=R.scope,delete R.scope)}function Ti(R){fi(R),typeof R.beginScope=="string"&&(R.beginScope={_wrap:R.beginScope}),typeof R.endScope=="string"&&(R.endScope={_wrap:R.endScope}),Fe(R),Qt(R)}function $e(R){function Q(Z,ie){return new RegExp(g(Z),"m"+(R.case_insensitive?"i":"")+(R.unicodeRegex?"u":"")+(ie?"g":""))}class Y{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(ie,Se){Se.position=this.position++,this.matchIndexes[this.matchAt]=Se,this.regexes.push([Se,ie]),this.matchAt+=P(ie)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const ie=this.regexes.map(Se=>Se[1]);this.matcherRe=Q(H(ie,{joinWith:"|"}),!0),this.lastIndex=0}exec(ie){this.matcherRe.lastIndex=this.lastIndex;const Se=this.matcherRe.exec(ie);if(!Se)return null;const pt=Se.findIndex((Ie,ot)=>ot>0&&Ie!==void 0),Ae=this.matchIndexes[pt];return Se.splice(0,pt),Object.assign(Se,Ae)}}class fe{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(ie){if(this.multiRegexes[ie])return this.multiRegexes[ie];const Se=new Y;return this.rules.slice(ie).forEach(([pt,Ae])=>Se.addRule(pt,Ae)),Se.compile(),this.multiRegexes[ie]=Se,Se}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(ie,Se){this.rules.push([ie,Se]),Se.type==="begin"&&this.count++}exec(ie){const Se=this.getMatcher(this.regexIndex);Se.lastIndex=this.lastIndex;let pt=Se.exec(ie);if(this.resumingScanAtSamePosition()&&!(pt&&pt.index===this.lastIndex)){const Ae=this.getMatcher(0);Ae.lastIndex=this.lastIndex+1,pt=Ae.exec(ie)}return pt&&(this.regexIndex+=pt.position+1,this.regexIndex===this.count&&this.considerAll()),pt}}function _e(Z){const ie=new fe;return Z.contains.forEach(Se=>ie.addRule(Se.begin,{rule:Se,type:"begin"})),Z.terminatorEnd&&ie.addRule(Z.terminatorEnd,{type:"end"}),Z.illegal&&ie.addRule(Z.illegal,{type:"illegal"}),ie}function $(Z,ie){const Se=Z;if(Z.isCompiled)return Se;[Ai,Si,Ti,ui].forEach(Ae=>Ae(Z,ie)),R.compilerExtensions.forEach(Ae=>Ae(Z,ie)),Z.__beforeBegin=null,[Oi,Hi,si].forEach(Ae=>Ae(Z,ie)),Z.isCompiled=!0;let pt=null;return typeof Z.keywords=="object"&&Z.keywords.$pattern&&(Z.keywords=Object.assign({},Z.keywords),pt=Z.keywords.$pattern,delete Z.keywords.$pattern),pt=pt||/\w+/,Z.keywords&&(Z.keywords=Mi(Z.keywords,R.case_insensitive)),Se.keywordPatternRe=Q(pt,!0),ie&&(Z.begin||(Z.begin=/\B|\b/),Se.beginRe=Q(Se.begin),!Z.end&&!Z.endsWithParent&&(Z.end=/\B|\b/),Z.end&&(Se.endRe=Q(Se.end)),Se.terminatorEnd=g(Se.end)||"",Z.endsWithParent&&ie.terminatorEnd&&(Se.terminatorEnd+=(Z.end?"|":"")+ie.terminatorEnd)),Z.illegal&&(Se.illegalRe=Q(Z.illegal)),Z.contains||(Z.contains=[]),Z.contains=[].concat(...Z.contains.map(function(Ae){return gi(Ae==="self"?Z:Ae)})),Z.contains.forEach(function(Ae){$(Ae,Se)}),Z.starts&&$(Z.starts,ie),Se.matcher=_e(Se),Se}if(R.compilerExtensions||(R.compilerExtensions=[]),R.contains&&R.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return R.classNameAliases=i(R.classNameAliases||{}),$(R)}function $t(R){return R?R.endsWithParent||$t(R.starts):!1}function gi(R){return R.variants&&!R.cachedVariants&&(R.cachedVariants=R.variants.map(function(Q){return i(R,{variants:null},Q)})),R.cachedVariants?R.cachedVariants:$t(R)?i(R,{starts:R.starts?i(R.starts):null}):Object.isFrozen(R)?i(R):R}var Ii="11.11.1";class qe extends Error{constructor(Q,Y){super(Q),this.name="HTMLInjectionError",this.html=Y}}const he=t,K=i,ae=Symbol("nomatch"),Ce=7,Pe=function(R){const Q=Object.create(null),Y=Object.create(null),fe=[];let _e=!0;const $="Could not find the language '{}', did you forget to load/include a language module?",Z={disableAutodetect:!0,name:"Plain text",contains:[]};let ie={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function Se(z){return ie.noHighlightRe.test(z)}function pt(z){let ee=z.className+" ";ee+=z.parentNode?z.parentNode.className:"";const Ue=ie.languageDetectRe.exec(ee);if(Ue){const Ye=ai(Ue[1]);return Ye||(Ni($.replace("{}",Ue[1])),Ni("Falling back to no-highlight mode for this block.",z)),Ye?Ue[1]:"no-highlight"}return ee.split(/\s+/).find(Ye=>Se(Ye)||ai(Ye))}function Ae(z,ee,Ue){let Ye="",ge="";typeof ee=="object"?(Ye=z,Ue=ee.ignoreIllegals,ge=ee.language):(dn("10.7.0","highlight(lang, code, ...args) has been deprecated."),dn("10.7.0",`Please use highlight(code, options) instead.
80
+ https://github.com/highlightjs/highlight.js/issues/2277`),ge=z,Ye=ee),Ue===void 0&&(Ue=!0);const ve={code:Ye,language:ge};ki("before:highlight",ve);const vt=ve.result?ve.result:Ie(ve.language,ve.code,Ue);return vt.code=ve.code,ki("after:highlight",vt),vt}function Ie(z,ee,Ue,Ye){const ge=Object.create(null);function ve(ye,nt){return ye.keywords[nt]}function vt(){if(!Ke.keywords){it.addText(Ee);return}let ye=0;Ke.keywordPatternRe.lastIndex=0;let nt=Ke.keywordPatternRe.exec(Ee),_t="";for(;nt;){_t+=Ee.substring(ye,nt.index);const mt=De.case_insensitive?nt[0].toLowerCase():nt[0],Ze=ve(Ke,mt);if(Ze){const[Ut,ti]=Ze;if(it.addText(_t),_t="",ge[mt]=(ge[mt]||0)+1,ge[mt]<=Ce&&(He+=ti),Ut.startsWith("_"))_t+=nt[0];else{const ln=De.classNameAliases[Ut]||Ut;Ge(nt[0],ln)}}else _t+=nt[0];ye=Ke.keywordPatternRe.lastIndex,nt=Ke.keywordPatternRe.exec(Ee)}_t+=Ee.substring(ye),it.addText(_t)}function Ei(){if(Ee==="")return;let ye=null;if(typeof Ke.subLanguage=="string"){if(!Q[Ke.subLanguage]){it.addText(Ee);return}ye=Ie(Ke.subLanguage,Ee,!0,zt[Ke.subLanguage]),zt[Ke.subLanguage]=ye._top}else ye=It(Ee,Ke.subLanguage.length?Ke.subLanguage:null);Ke.relevance>0&&(He+=ye.relevance),it.__addSublanguage(ye._emitter,ye.language)}function Te(){Ke.subLanguage!=null?Ei():vt(),Ee=""}function Ge(ye,nt){ye!==""&&(it.startScope(nt),it.addText(ye),it.endScope())}function Ht(ye,nt){let _t=1;const mt=nt.length-1;for(;_t<=mt;){if(!ye._emit[_t]){_t++;continue}const Ze=De.classNameAliases[ye[_t]]||ye[_t],Ut=nt[_t];Ze?Ge(Ut,Ze):(Ee=Ut,vt(),Ee=""),_t++}}function Qe(ye,nt){return ye.scope&&typeof ye.scope=="string"&&it.openNode(De.classNameAliases[ye.scope]||ye.scope),ye.beginScope&&(ye.beginScope._wrap?(Ge(Ee,De.classNameAliases[ye.beginScope._wrap]||ye.beginScope._wrap),Ee=""):ye.beginScope._multi&&(Ht(ye.beginScope,nt),Ee="")),Ke=Object.create(ye,{parent:{value:Ke}}),Ke}function bt(ye,nt,_t){let mt=A(ye.endRe,_t);if(mt){if(ye["on:end"]){const Ze=new e(ye);ye["on:end"](nt,Ze),Ze.isMatchIgnored&&(mt=!1)}if(mt){for(;ye.endsParent&&ye.parent;)ye=ye.parent;return ye}}if(ye.endsWithParent)return bt(ye.parent,nt,_t)}function Gt(ye){return Ke.matcher.regexIndex===0?(Ee+=ye[0],1):(Pt=!0,0)}function q(ye){const nt=ye[0],_t=ye.rule,mt=new e(_t),Ze=[_t.__beforeBegin,_t["on:begin"]];for(const Ut of Ze)if(Ut&&(Ut(ye,mt),mt.isMatchIgnored))return Gt(nt);return _t.skip?Ee+=nt:(_t.excludeBegin&&(Ee+=nt),Te(),!_t.returnBegin&&!_t.excludeBegin&&(Ee=nt)),Qe(_t,ye),_t.returnBegin?0:nt.length}function ne(ye){const nt=ye[0],_t=ee.substring(ye.index),mt=bt(Ke,ye,_t);if(!mt)return ae;const Ze=Ke;Ke.endScope&&Ke.endScope._wrap?(Te(),Ge(nt,Ke.endScope._wrap)):Ke.endScope&&Ke.endScope._multi?(Te(),Ht(Ke.endScope,ye)):Ze.skip?Ee+=nt:(Ze.returnEnd||Ze.excludeEnd||(Ee+=nt),Te(),Ze.excludeEnd&&(Ee=nt));do Ke.scope&&it.closeNode(),!Ke.skip&&!Ke.subLanguage&&(He+=Ke.relevance),Ke=Ke.parent;while(Ke!==mt.parent);return mt.starts&&Qe(mt.starts,ye),Ze.returnEnd?0:nt.length}function Ve(){const ye=[];for(let nt=Ke;nt!==De;nt=nt.parent)nt.scope&&ye.unshift(nt.scope);ye.forEach(nt=>it.openNode(nt))}let et={};function Oe(ye,nt){const _t=nt&&nt[0];if(Ee+=ye,_t==null)return Te(),0;if(et.type==="begin"&&nt.type==="end"&&et.index===nt.index&&_t===""){if(Ee+=ee.slice(nt.index,nt.index+1),!_e){const mt=new Error(`0 width match regex (${z})`);throw mt.languageName=z,mt.badRule=et.rule,mt}return 1}if(et=nt,nt.type==="begin")return q(nt);if(nt.type==="illegal"&&!Ue){const mt=new Error('Illegal lexeme "'+_t+'" for mode "'+(Ke.scope||"<unnamed>")+'"');throw mt.mode=Ke,mt}else if(nt.type==="end"){const mt=ne(nt);if(mt!==ae)return mt}if(nt.type==="illegal"&&_t==="")return Ee+=`
81
+ `,1;if(ze>1e5&&ze>nt.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Ee+=_t,_t.length}const De=ai(z);if(!De)throw xi($.replace("{}",z)),new Error('Unknown language: "'+z+'"');const Bt=$e(De);let xt="",Ke=Ye||Bt;const zt={},it=new ie.__emitter(ie);Ve();let Ee="",He=0,We=0,ze=0,Pt=!1;try{if(De.__emitTokens)De.__emitTokens(ee,it);else{for(Ke.matcher.considerAll();;){ze++,Pt?Pt=!1:Ke.matcher.considerAll(),Ke.matcher.lastIndex=We;const ye=Ke.matcher.exec(ee);if(!ye)break;const nt=ee.substring(We,ye.index),_t=Oe(nt,ye);We=ye.index+_t}Oe(ee.substring(We))}return it.finalize(),xt=it.toHTML(),{language:z,value:xt,relevance:He,illegal:!1,_emitter:it,_top:Ke}}catch(ye){if(ye.message&&ye.message.includes("Illegal"))return{language:z,value:he(ee),illegal:!0,relevance:0,_illegalBy:{message:ye.message,index:We,context:ee.slice(We-100,We+100),mode:ye.mode,resultSoFar:xt},_emitter:it};if(_e)return{language:z,value:he(ee),illegal:!1,relevance:0,errorRaised:ye,_emitter:it,_top:Ke};throw ye}}function ot(z){const ee={value:he(z),illegal:!1,relevance:0,_top:Z,_emitter:new ie.__emitter(ie)};return ee._emitter.addText(z),ee}function It(z,ee){ee=ee||ie.languages||Object.keys(Q);const Ue=ot(z),Ye=ee.filter(ai).filter(Di).map(Te=>Ie(Te,z,!1));Ye.unshift(Ue);const ge=Ye.sort((Te,Ge)=>{if(Te.relevance!==Ge.relevance)return Ge.relevance-Te.relevance;if(Te.language&&Ge.language){if(ai(Te.language).supersetOf===Ge.language)return 1;if(ai(Ge.language).supersetOf===Te.language)return-1}return 0}),[ve,vt]=ge,Ei=ve;return Ei.secondBest=vt,Ei}function St(z,ee,Ue){const Ye=ee&&Y[ee]||Ue;z.classList.add("hljs"),z.classList.add(`language-${Ye}`)}function ni(z){let ee=null;const Ue=pt(z);if(Se(Ue))return;if(ki("before:highlightElement",{el:z,language:Ue}),z.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",z);return}if(z.children.length>0&&(ie.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(z)),ie.throwUnescapedHTML))throw new qe("One of your code blocks includes unescaped HTML.",z.innerHTML);ee=z;const Ye=ee.textContent,ge=Ue?Ae(Ye,{language:Ue,ignoreIllegals:!0}):It(Ye);z.innerHTML=ge.value,z.dataset.highlighted="yes",St(z,Ue,ge.language),z.result={language:ge.language,re:ge.relevance,relevance:ge.relevance},ge.secondBest&&(z.secondBest={language:ge.secondBest.language,relevance:ge.secondBest.relevance}),ki("after:highlightElement",{el:z,result:ge,text:Ye})}function ei(z){ie=K(ie,z)}const se=()=>{Ct(),dn("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Le(){Ct(),dn("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let lt=!1;function Ct(){function z(){Ct()}if(document.readyState==="loading"){lt||window.addEventListener("DOMContentLoaded",z,!1),lt=!0;return}document.querySelectorAll(ie.cssSelector).forEach(ni)}function ft(z,ee){let Ue=null;try{Ue=ee(R)}catch(Ye){if(xi("Language definition for '{}' could not be registered.".replace("{}",z)),_e)xi(Ye);else throw Ye;Ue=Z}Ue.name||(Ue.name=z),Q[z]=Ue,Ue.rawDefinition=ee.bind(null,R),Ue.aliases&&bi(Ue.aliases,{languageName:z})}function Xe(z){delete Q[z];for(const ee of Object.keys(Y))Y[ee]===z&&delete Y[ee]}function Ft(){return Object.keys(Q)}function ai(z){return z=(z||"").toLowerCase(),Q[z]||Q[Y[z]]}function bi(z,{languageName:ee}){typeof z=="string"&&(z=[z]),z.forEach(Ue=>{Y[Ue.toLowerCase()]=ee})}function Di(z){const ee=ai(z);return ee&&!ee.disableAutodetect}function fn(z){z["before:highlightBlock"]&&!z["before:highlightElement"]&&(z["before:highlightElement"]=ee=>{z["before:highlightBlock"](Object.assign({block:ee.el},ee))}),z["after:highlightBlock"]&&!z["after:highlightElement"]&&(z["after:highlightElement"]=ee=>{z["after:highlightBlock"](Object.assign({block:ee.el},ee))})}function Cn(z){fn(z),fe.push(z)}function un(z){const ee=fe.indexOf(z);ee!==-1&&fe.splice(ee,1)}function ki(z,ee){const Ue=z;fe.forEach(function(Ye){Ye[Ue]&&Ye[Ue](ee)})}function gn(z){return dn("10.7.0","highlightBlock will be removed entirely in v12.0"),dn("10.7.0","Please use highlightElement now."),ni(z)}Object.assign(R,{highlight:Ae,highlightAuto:It,highlightAll:Ct,highlightElement:ni,highlightBlock:gn,configure:ei,initHighlighting:se,initHighlightingOnLoad:Le,registerLanguage:ft,unregisterLanguage:Xe,listLanguages:Ft,getLanguage:ai,registerAliases:bi,autoDetection:Di,inherit:K,addPlugin:Cn,removePlugin:un}),R.debugMode=function(){_e=!1},R.safeMode=function(){_e=!0},R.versionString=Ii,R.regex={concat:x,lookahead:p,either:D,optional:m,anyNumberOfTimes:w};for(const z in di)typeof di[z]=="object"&&o(di[z]);return Object.assign(R,di),R},rt=Pe({});return rt.newInstance=()=>Pe({}),fS=rt,rt.HighlightJS=rt,rt.default=rt,fS}var vq=mq();const pb=UR(vq),BD="[A-Za-z$_][0-9A-Za-z$_]*",bq=["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"],yq=["true","false","null","undefined","NaN","Infinity"],qR=["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"],GR=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],KR=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],wq=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Sq=[].concat(KR,qR,GR);function ZR(o){const e=o.regex,t=(Ne,{after:Lt})=>{const Re="</"+Ne[0].slice(1);return Ne.input.indexOf(Re,Lt)!==-1},i=BD,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Ne,Lt)=>{const Re=Ne[0].length+Ne.index,ke=Ne.input[Re];if(ke==="<"||ke===","){Lt.ignoreMatch();return}ke===">"&&(t(Ne,{after:Re})||Lt.ignoreMatch());let tt;const Ot=Ne.input.substring(Re);if(tt=Ot.match(/^\s*=/)){Lt.ignoreMatch();return}if((tt=Ot.match(/^\s+extends\s+/))&&tt.index===0){Lt.ignoreMatch();return}}},a={$pattern:BD,keyword:bq,literal:yq,built_in:Sq,"variable.language":wq},c="[0-9](_?[0-9])*",u=`\\.(${c})`,f="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${f})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\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:[]},w={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"css"}},x={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},k={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]},A=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,w,m,x,k,{match:/\$\d+/},g];p.contains=A.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(A)});const j=[].concat(P,p.contains),H=j.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(j)}]),te={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:H},J={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"}}]},le={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:{_:[...qR,...GR]}},we={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Be={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[te],illegal:/%/},ce={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function st(Ne){return e.concat("(?!",Ne.join("|"),")")}const at={match:e.concat(/\b/,st([...KR,"super","import"].map(Ne=>`${Ne}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},me={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ct={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},te]},gt="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Tt={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(gt)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[te]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:H,CLASS_REFERENCE:le},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),we,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,w,m,x,k,P,{match:/\$\d+/},g,le,{scope:"attr",match:i+e.lookahead(":"),relevance:0},Tt,{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:gt,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:H}]}]},{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"]}]}]},Be,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[te,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},me,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[te]},at,ce,J,ct,{match:/\$[(.]/}]}}function Lk(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var $u=Lk();function XR(o){$u=o}var od={exec:()=>null};function uh(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 Fn(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(ho.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var Cq=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),ho={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:uh(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:uh(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:uh(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:uh(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:uh(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:uh(o=>new RegExp(`^ {0,${o}}>`))},xq=/^(?:[ \t]*(?:\n|$))+/,kq=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Lq=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,N_=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Iq=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Ik=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,YR=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,JR=Fn(YR).replace(/bull/g,Ik).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(),Dq=Fn(YR).replace(/bull/g,Ik).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(),Dk=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Eq=/^[^\n]+/,Ek=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Tq=Fn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Ek).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Pq=Fn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Ik).getRegex(),lw="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",Tk=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Mq=Fn("^ {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",Tk).replace("tag",lw).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),QR=Fn(Dk).replace("hr",N_).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",lw).getRegex(),Nq=Fn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",QR).getRegex(),Pk={blockquote:Nq,code:kq,def:Tq,fences:Lq,heading:Iq,hr:N_,html:Mq,lheading:JR,list:Pq,newline:xq,paragraph:QR,table:od,text:Eq},zD=Fn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",N_).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",lw).getRegex(),Rq={...Pk,lheading:Dq,table:zD,paragraph:Fn(Dk).replace("hr",N_).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",zD).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",lw).getRegex()},Aq={...Pk,html:Fn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Tk).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:od,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Fn(Dk).replace("hr",N_).replace("heading",` *#{1,6} *[^
82
+ ]`).replace("lheading",JR).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Oq=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Fq=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,eA=/^( {2,}|\\)\n(?!\s*$)/,Hq=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Qf=/[\p{P}\p{S}]/u,cw=/[\s\p{P}\p{S}]/u,Mk=/[^\s\p{P}\p{S}]/u,Wq=Fn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,cw).getRegex(),tA=/(?!~)[\p{P}\p{S}]/u,Bq=/(?!~)[\s\p{P}\p{S}]/u,zq=/(?:[^\s\p{P}\p{S}]|~)/u,Vq=Fn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Cq?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),iA=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,jq=Fn(iA,"u").replace(/punct/g,Qf).getRegex(),$q=Fn(iA,"u").replace(/punct/g,tA).getRegex(),nA="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Uq=Fn(nA,"gu").replace(/notPunctSpace/g,Mk).replace(/punctSpace/g,cw).replace(/punct/g,Qf).getRegex(),qq=Fn(nA,"gu").replace(/notPunctSpace/g,zq).replace(/punctSpace/g,Bq).replace(/punct/g,tA).getRegex(),Gq=Fn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Mk).replace(/punctSpace/g,cw).replace(/punct/g,Qf).getRegex(),Kq=Fn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Qf).getRegex(),Zq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",Xq=Fn(Zq,"gu").replace(/notPunctSpace/g,Mk).replace(/punctSpace/g,cw).replace(/punct/g,Qf).getRegex(),Yq=Fn(/\\(punct)/,"gu").replace(/punct/g,Qf).getRegex(),Jq=Fn(/^<(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(),Qq=Fn(Tk).replace("(?:-->|$)","-->").getRegex(),e9=Fn("^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",Qq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),_b=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,t9=Fn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",_b).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),sA=Fn(/^!?\[(label)\]\[(ref)\]/).replace("label",_b).replace("ref",Ek).getRegex(),oA=Fn(/^!?\[(ref)\](?:\[\])?/).replace("ref",Ek).getRegex(),i9=Fn("reflink|nolink(?!\\()","g").replace("reflink",sA).replace("nolink",oA).getRegex(),VD=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Nk={_backpedal:od,anyPunctuation:Yq,autolink:Jq,blockSkip:Vq,br:eA,code:Fq,del:od,delLDelim:od,delRDelim:od,emStrongLDelim:jq,emStrongRDelimAst:Uq,emStrongRDelimUnd:Gq,escape:Oq,link:t9,nolink:oA,punctuation:Wq,reflink:sA,reflinkSearch:i9,tag:e9,text:Hq,url:od},n9={...Nk,link:Fn(/^!?\[(label)\]\((.*?)\)/).replace("label",_b).getRegex(),reflink:Fn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",_b).getRegex()},Rx={...Nk,emStrongRDelimAst:qq,emStrongLDelim:$q,delLDelim:Kq,delRDelim:Xq,url:Fn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",VD).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:Fn(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",VD).getRegex()},s9={...Rx,br:Fn(eA).replace("{2,}","*").getRegex(),text:Fn(Rx.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Cm={normal:Pk,gfm:Rq,pedantic:Aq},wg={normal:Nk,gfm:Rx,breaks:s9,pedantic:n9},o9={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},jD=o=>o9[o];function ya(o,e){if(e){if(ho.escapeTest.test(o))return o.replace(ho.escapeReplace,jD)}else if(ho.escapeTestNoEncode.test(o))return o.replace(ho.escapeReplaceNoEncode,jD);return o}function $D(o){try{o=encodeURI(o).replace(ho.percentDecode,"%")}catch{return null}return o}function UD(o,e){var s;let t=o.replace(ho.findPipe,(r,a,c)=>{let u=!1,f=a;for(;--f>=0&&c[f]==="\\";)u=!u;return u?"|":" |"}),i=t.split(ho.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(ho.slashPipe,"|");return i}function $l(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 qD(o){let e=o.split(`
83
+ `),t=e.length-1;for(;t>=0&&ho.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
84
+ `)}function r9(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 a9(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 GD(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 c={type:o[0].charAt(0)==="!"?"image":"link",raw:t,href:s,title:r,text:a,tokens:i.inlineTokens(a)};return i.state.inLink=!1,c}function l9(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 mb=class{constructor(o){pn(this,"options");pn(this,"rules");pn(this,"lexer");this.options=o||$u}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]:qD(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=l9(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=$l(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:$l(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:$l(e[0],`
88
+ `)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=$l(e[0],`
89
+ `).split(`
90
+ `),i="",n="",s=[];for(;t.length>0;){let r=!1,a=[],c;for(c=0;c<t.length;c++)if(this.rules.other.blockquoteStart.test(t[c]))a.push(t[c]),r=!0;else if(!r)a.push(t[c]);else break;t=t.slice(c);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 w=p,m=w.raw+`
95
+ `+t.join(`
96
+ `),x=this.blockquote(m);s[s.length-1]=x,i=i.substring(0,i.length-w.raw.length)+x.raw,n=n.substring(0,n.length-w.text.length)+x.text;break}else if((p==null?void 0:p.type)==="list"){let w=p,m=w.raw+`
97
+ `+t.join(`
98
+ `),x=this.list(m);s[s.length-1]=x,i=i.substring(0,i.length-p.raw.length)+x.raw,n=n.substring(0,n.length-w.raw.length)+x.raw,t=m.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 c=!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=a9(e[2].split(`
100
+ `,1)[0],e[1].length),p=o.split(`
101
+ `,1)[0],w=!g.trim(),m=0;if(this.options.pedantic?(m=2,f=g.trimStart()):w?m=e[1].length+1:(m=g.search(this.rules.other.nonSpaceChar),m=m>4?1:m,f=g.slice(m),m+=e[1].length),w&&this.rules.other.blankLine.test(p)&&(u+=p+`
102
+ `,o=o.substring(p.length+1),c=!0),!c){let x=this.rules.other.nextBulletRegex(m),k=this.rules.other.hrRegex(m),D=this.rules.other.fencesBeginRegex(m),P=this.rules.other.headingBeginRegex(m),A=this.rules.other.htmlBeginRegex(m),j=this.rules.other.blockquoteBeginRegex(m);for(;o;){let H=o.split(`
103
+ `,1)[0],te;if(p=H,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),te=p):te=p.replace(this.rules.other.tabCharGlobal," "),D.test(p)||P.test(p)||A.test(p)||j.test(p)||x.test(p)||k.test(p))break;if(te.search(this.rules.other.nonSpaceChar)>=m||!p.trim())f+=`
104
+ `+te.slice(m);else{if(w||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||D.test(g)||P.test(g)||k.test(g))break;f+=`
105
+ `+p}w=!p.trim(),u+=H+`
106
+ `,o=o.substring(H.length+1),g=te.slice(m)}}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 c of n.items){this.lexer.state.top=!1,c.tokens=this.lexer.blockTokens(c.text,[]);let u=c.tokens[0];if(c.task&&((u==null?void 0:u.type)==="text"||(u==null?void 0:u.type)==="paragraph")){c.text=c.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(c.raw);if(f){let g={type:"checkbox",raw:f[0]+" ",checked:f[0]!=="[ ]"};c.checked=g.checked,n.loose?c.tokens[0]&&["paragraph","text"].includes(c.tokens[0].type)&&"tokens"in c.tokens[0]&&c.tokens[0].tokens?(c.tokens[0].raw=g.raw+c.tokens[0].raw,c.tokens[0].text=g.raw+c.tokens[0].text,c.tokens[0].tokens.unshift(g)):c.tokens.unshift({type:"paragraph",raw:g.raw,text:g.raw,tokens:[g]}):c.tokens.unshift(g)}}else c.task&&(c.task=!1);if(!n.loose){let f=c.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 c of n.items){c.loose=!0;for(let u of c.tokens)u.type==="text"&&(u.type="paragraph")}return n}}html(o){let e=this.rules.block.html.exec(o);if(e){let t=qD(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:$l(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=UD(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:$l(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(UD(a,s.header.length).map((c,u)=>({text:c,tokens:this.lexer.inline(c),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:$l(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=$l(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=r9(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)),GD(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 GD(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,c=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)){c+=r;continue}if(a-=r,a>0)continue;r=Math.min(r,r+a+c);let f=[...i[0]][0].length,g=o.slice(0,n+i.index+f+r);if(Math.min(n,r)%2){let w=g.slice(1,-1);return{type:"em",raw:g,text:w,tokens:this.lexer.inlineTokens(w)}}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,c=this.rules.inline.delRDelim;for(c.lastIndex=0,e=e.slice(-1*o.length+n);(i=c.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}}}},Xr=class Ax{constructor(e){pn(this,"tokens");pn(this,"options");pn(this,"state");pn(this,"inlineQueue");pn(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||$u,this.options.tokenizer=this.options.tokenizer||new mb,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:ho,block:Cm.normal,inline:wg.normal};this.options.pedantic?(t.block=Cm.pedantic,t.inline=wg.pedantic):this.options.gfm&&(t.block=Cm.gfm,this.options.breaks?t.inline=wg.breaks:t.inline=wg.gfm),this.tokenizer.rules=t}static get rules(){return{block:Cm,inline:wg}}static lex(e,t){return new Ax(t).lex(e)}static lexInline(e,t){return new Ax(t).inlineTokens(e)}lex(e){e=e.replace(ho.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(ho.tabCharGlobal," ").replace(ho.spaceLine,""));let n=1/0;for(;e;){if(e.length<n)n=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let c;if((r=(s=this.options.extensions)==null?void 0:s.block)!=null&&r.some(f=>(c=f.call({lexer:this},e,t))?(e=e.substring(c.raw.length),t.push(c),!0):!1))continue;if(c=this.tokenizer.space(e)){e=e.substring(c.raw.length);let f=t.at(-1);c.raw.length===1&&f!==void 0?f.raw+=`
113
+ `:t.push(c);continue}if(c=this.tokenizer.code(e)){e=e.substring(c.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
+ `)+c.raw,f.text+=`
116
+ `+c.text,this.inlineQueue.at(-1).src=f.text):t.push(c);continue}if(c=this.tokenizer.fences(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.heading(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.hr(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.blockquote(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.list(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.html(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.def(e)){e=e.substring(c.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
+ `)+c.raw,f.text+=`
119
+ `+c.raw,this.inlineQueue.at(-1).src=f.text):this.tokens.links[c.tag]||(this.tokens.links[c.tag]={href:c.href,title:c.title},t.push(c));continue}if(c=this.tokenizer.table(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.lheading(e)){e=e.substring(c.raw.length),t.push(c);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(w=>{p=w.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&&(c=this.tokenizer.paragraph(u))){let f=t.at(-1);i&&(f==null?void 0:f.type)==="paragraph"?(f.raw+=(f.raw.endsWith(`
120
+ `)?"":`
121
+ `)+c.raw,f.text+=`
122
+ `+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):t.push(c),i=u.length!==e.length,e=e.substring(c.raw.length);continue}if(c=this.tokenizer.text(e)){e=e.substring(c.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
123
+ `)?"":`
124
+ `)+c.raw,f.text+=`
125
+ `+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):t.push(c);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,w;this.tokenizer.lexer=this;let i=e,n=null;if(this.tokens.links){let m=Object.keys(this.tokens.links);if(m.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(i))!==null;)m.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="",c=1/0;for(;e;){if(e.length<c)c=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(a=""),r=!1;let m;if((p=(g=this.options.extensions)==null?void 0:g.inline)!=null&&p.some(k=>(m=k.call({lexer:this},e,t))?(e=e.substring(m.raw.length),t.push(m),!0):!1))continue;if(m=this.tokenizer.escape(e)){e=e.substring(m.raw.length),t.push(m);continue}if(m=this.tokenizer.tag(e)){e=e.substring(m.raw.length),t.push(m);continue}if(m=this.tokenizer.link(e)){e=e.substring(m.raw.length),t.push(m);continue}if(m=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(m.raw.length);let k=t.at(-1);m.type==="text"&&(k==null?void 0:k.type)==="text"?(k.raw+=m.raw,k.text+=m.text):t.push(m);continue}if(m=this.tokenizer.emStrong(e,i,a)){e=e.substring(m.raw.length),t.push(m);continue}if(m=this.tokenizer.codespan(e)){e=e.substring(m.raw.length),t.push(m);continue}if(m=this.tokenizer.br(e)){e=e.substring(m.raw.length),t.push(m);continue}if(m=this.tokenizer.del(e,i,a)){e=e.substring(m.raw.length),t.push(m);continue}if(m=this.tokenizer.autolink(e)){e=e.substring(m.raw.length),t.push(m);continue}if(!this.state.inLink&&(m=this.tokenizer.url(e))){e=e.substring(m.raw.length),t.push(m);continue}let x=e;if((w=this.options.extensions)!=null&&w.startInline){let k=1/0,D=e.slice(1),P;this.options.extensions.startInline.forEach(A=>{P=A.call({lexer:this},D),typeof P=="number"&&P>=0&&(k=Math.min(k,P))}),k<1/0&&k>=0&&(x=e.substring(0,k+1))}if(m=this.tokenizer.inlineText(x)){e=e.substring(m.raw.length),m.raw.slice(-1)!=="_"&&(a=m.raw.slice(-1)),r=!0;let k=t.at(-1);(k==null?void 0:k.type)==="text"?(k.raw+=m.raw,k.text+=m.text):t.push(m);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)}},vb=class{constructor(o){pn(this,"options");pn(this,"parser");this.options=o||$u}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(ho.notSpaceStart))==null?void 0:s[0],n=o.replace(ho.endingNewline,"")+`
126
+ `;return i?'<pre><code class="language-'+ya(i)+'">'+(t?n:ya(n,!0))+`</code></pre>
127
+ `:"<pre><code>"+(t?n:ya(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>${ya(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=$D(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+ya(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=$D(o);if(n===null)return ya(t);o=n;let s=`<img src="${o}" alt="${ya(t)}"`;return e&&(s+=` title="${ya(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:ya(o.text)}},Rk=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}},Yr=class Ox{constructor(e){pn(this,"options");pn(this,"renderer");pn(this,"textRenderer");this.options=e||$u,this.options.renderer=this.options.renderer||new vb,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Rk}static parse(e,t){return new Ox(t).parse(e)}static parseInline(e,t){return new Ox(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 c=r,u=this.options.extensions.renderers[c.type].call({parser:this},c);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(c.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 c='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}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 c=a;switch(c.type){case"escape":{i+=t.text(c);break}case"html":{i+=t.html(c);break}case"link":{i+=t.link(c);break}case"image":{i+=t.image(c);break}case"checkbox":{i+=t.checkbox(c);break}case"strong":{i+=t.strong(c);break}case"em":{i+=t.em(c);break}case"codespan":{i+=t.codespan(c);break}case"br":{i+=t.br(c);break}case"del":{i+=t.del(c);break}case"text":{i+=t.text(c);break}default:{let u='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return i}},xm,Bg=(xm=class{constructor(o){pn(this,"options");pn(this,"block");this.options=o||$u}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?Xr.lex:Xr.lexInline}provideParser(o=this.block){return o?Yr.parse:Yr.parseInline}},pn(xm,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),pn(xm,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),xm),c9=class{constructor(...o){pn(this,"defaults",Lk());pn(this,"options",this.setOptions);pn(this,"parse",this.parseMarkdown(!0));pn(this,"parseInline",this.parseMarkdown(!1));pn(this,"Parser",Yr);pn(this,"Renderer",vb);pn(this,"TextRenderer",Rk);pn(this,"Lexer",Xr);pn(this,"Tokenizer",mb);pn(this,"Hooks",Bg);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 c of a)t=t.concat(this.walkTokens(c.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 c=r[a].flat(1/0);t=t.concat(this.walkTokens(c,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 vb(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],c=n[r];n[r]=(...u)=>{let f=a.apply(n,u);return f===!1&&(f=c.apply(n,u)),f||""}}i.renderer=n}if(t.tokenizer){let n=this.defaults.tokenizer||new mb(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],c=n[r];n[r]=(...u)=>{let f=a.apply(n,u);return f===!1&&(f=c.apply(n,u)),f}}i.tokenizer=n}if(t.hooks){let n=this.defaults.hooks||new Bg;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],c=n[r];Bg.passThroughHooks.has(s)?n[r]=u=>{if(this.defaults.async&&Bg.passThroughHooksRespectAsync.has(s))return(async()=>{let g=await a.call(n,u);return c.call(n,g)})();let f=a.call(n,u);return c.call(n,f)}:n[r]=(...u)=>{if(this.defaults.async)return(async()=>{let g=await a.apply(n,u);return g===!1&&(g=await c.apply(n,u)),g})();let f=a.apply(n,u);return f===!1&&(f=c.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 Xr.lex(o,e??this.defaults)}parser(o,e){return Yr.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?Xr.lex:Xr.lexInline)(r,n),c=n.hooks?await n.hooks.processAllTokens(a):a;n.walkTokens&&await Promise.all(this.walkTokens(c,n.walkTokens));let u=await(n.hooks?await n.hooks.provideParser(o):o?Yr.parse:Yr.parseInline)(c,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?Xr.lex:Xr.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?Yr.parse:Yr.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>"+ya(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Mu=new c9;function Un(o,e){return Mu.parse(o,e)}Un.options=Un.setOptions=function(o){return Mu.setOptions(o),Un.defaults=Mu.defaults,XR(Un.defaults),Un};Un.getDefaults=Lk;Un.defaults=$u;Un.use=function(...o){return Mu.use(...o),Un.defaults=Mu.defaults,XR(Un.defaults),Un};Un.walkTokens=function(o,e){return Mu.walkTokens(o,e)};Un.parseInline=Mu.parseInline;Un.Parser=Yr;Un.parser=Yr.parse;Un.Renderer=vb;Un.TextRenderer=Rk;Un.Lexer=Xr;Un.lexer=Xr.lex;Un.Tokenizer=mb;Un.Hooks=Bg;Un.parse=Un;Un.options;Un.setOptions;Un.use;Un.walkTokens;Un.parseInline;Yr.parse;Xr.lex;var d9=T('<span class="chat-model svelte-10ayso4"><!></span>'),u9=T('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),h9=T('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),f9=T('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),g9=T('<ul class="history-list svelte-10ayso4"></ul>'),p9=T('<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>'),_9=T('<div class="unconfigured svelte-10ayso4">Configure an AI provider in the <strong class="svelte-10ayso4">Config</strong> tab to use the AI assistant.</div>'),m9=T('Chatting in context of <code class="svelte-10ayso4"> </code>',1),v9=T('<button class="chip svelte-10ayso4"> </button>'),b9=T('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),y9=T('<div class="msg-content user-text svelte-10ayso4"> </div>'),KD=T('<span class="tool-args svelte-10ayso4"> </span>'),ZD=T('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),XD=T('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),YD=T('<div class="tool-events svelte-10ayso4"></div>'),JD=T('<div class="text-block svelte-10ayso4"></div>'),w9=T('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),S9=T('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),C9=T('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),x9=T('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),k9=T('<button class="expand-btn svelte-10ayso4"> </button>'),L9=T('<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>'),I9=T('<!> <div class="msg-content svelte-10ayso4"></div>',1),D9=T("<div><!></div>"),E9=T('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),T9=T('<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>'),P9=T('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),M9=T('<div class="chat-error svelte-10ayso4"> </div>'),N9=T('<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>'),R9=T('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),A9=T('<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>'),O9=T('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),F9=T('<button class="send-btn svelte-10ayso4">↑</button>'),H9=T('<option class="svelte-10ayso4"> </option>'),W9=T('<select class="model-select svelte-10ayso4"></select>'),B9=T('<span class="model-name svelte-10ayso4"> </span>'),z9=T('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),V9=T('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),j9=T('<p class="info-status svelte-10ayso4">Loading…</p>'),$9=T('<p class="info-status info-err svelte-10ayso4"> </p>'),U9=T('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),q9=T('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),G9=T('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),K9=T('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),Z9=T('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),X9=T('<div class="running-model svelte-10ayso4"> </div>'),Y9=T('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),J9=T('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),Q9=T('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),eG=T('<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>'),tG=T('<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 iG(o,e){Ns(e,!0),pb.registerLanguage("javascript",ZR),Un.use({breaks:!0,gfm:!0});let t=Cf(e,"currentScript",3,null),i=Cf(e,"extraFiles",31,()=>yi([])),n=M(yi([])),s=M(null),r=M(""),a=M(!1),c=M(""),u=M(null);const f="she:conversationId";function g(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=M(yi(localStorage.getItem(f)??g())),w=M(yi([])),m=M(!1);$n(()=>{localStorage.setItem(f,d(p))});let x=M(yi([])),k=M(yi(localStorage.getItem("she:selectedModel")??"")),D=M(null);const P=wt(()=>{var q;return d(D)!==null&&((q=t())==null?void 0:q.path)===d(D)});let A=M(yi(new Set)),j=M(!1),H=M(null),te=M(!1),J=M(""),le=M(0),we=null,Be=M(0);const ce=["[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 st=M(!0),at=M(!0),me=M(!0),ct=M(!1),gt,Tt=M(yi([])),Ne,Lt;const Re=wt(()=>({apiref:d(st),tools:d(at)})),ke=wt(()=>{var q;return((q=d(u))==null?void 0:q.configured)??!1}),tt=wt(()=>{var q;return d(ke)||!!((q=d(u))!=null&&q.provider)&&!!d(k)}),Ot=wt(()=>d(le)+new TextEncoder().encode(d(r)).length),ri=wt(()=>d(me)?t():null);$n(()=>{var ne;const q=(ne=t())==null?void 0:ne.path;y(me,!0),d(D)!==null&&q!==d(D)&&y(D,null)}),$n(()=>{var et;if(!d(P))return;const q=d(n).at(-1);if(!q||q.role!=="assistant")return;const Ve=Dt(q.content).find(Oe=>Oe.type==="code"&&Si(Oe.lang));if(Ve){const Oe=si(Ve.text);(et=e.onApply)==null||et.call(e,Oe?Oe.code:Ve.text)}});async function Wt(){try{const q=await WR();y(u,q,!0),q.configured&&!d(k)&&y(k,q.model,!0)}catch{}}$n(()=>(window.addEventListener("she:config-changed",Wt),()=>window.removeEventListener("she:config-changed",Wt))),$n(()=>{d(k)&&localStorage.setItem("she:selectedModel",d(k))}),$n(()=>{var q;(q=d(u))!=null&&q.provider&&BR().then(ne=>{y(x,ne.models,!0),!d(k)&&ne.models.length>0&&y(k,ne.models[0],!0)}).catch(()=>{})}),$n(()=>{d(k),y(H,null),y(J,"")}),$n(()=>{var ne,Ve;if(((ne=d(u))==null?void 0:ne.provider)!=="ollama")return;const q=d(k)||((Ve=d(u))==null?void 0:Ve.model);!q||d(H)||Mx(q).then(et=>{y(H,et,!0)}).catch(()=>{})}),$n(()=>{if(!d(a))return;y(Be,Math.floor(Math.random()*ce.length),!0);const q=setInterval(()=>{y(Be,(d(Be)+1)%ce.length)},1e4);return()=>clearInterval(q)}),$n(()=>{var q;Lt&&(d(n).length+(((q=d(s))==null?void 0:q.length)??0),requestAnimationFrame(()=>{Lt&&(Lt.scrollTop=Lt.scrollHeight)}))}),$n(()=>{const q=d(Re),ne=d(ri),Ve=i();d(tt)&&zR({context:q,currentScript:ne??null,extraFiles:Ve.length>0?Ve:void 0}).then(et=>{y(le,new TextEncoder().encode(et.prompt).length,!0)}).catch(()=>{})});function Dt(q){const ne=q.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
145
+ $2
146
+ `),Ve=[],et=/```(\w*)\n([\s\S]*?)```/g;let Oe=0,De;for(;(De=et.exec(ne))!==null;)De.index>Oe&&Ve.push({type:"text",text:ne.slice(Oe,De.index)}),Ve.push({type:"code",lang:De[1]||"text",text:De[2].trimEnd()}),Oe=De.index+De[0].length;return Oe<ne.length&&Ve.push({type:"text",text:ne.slice(Oe)}),Ve}const Mt=15;function kt(q){return q.split(`
147
+ `).length>Mt}function mi(q){const ne=new Set(d(A));ne.has(q)?ne.delete(q):ne.add(q),y(A,ne,!0)}function di(q,ne){if(Si(ne))try{return pb.highlight(q,{language:"javascript"}).value}catch{}return q.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Li(q){return Un.parse(q)}function Ai(q){const ne=q.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
148
+ $2
149
+ `),Ve=[],et=/```(\w*)\n([\s\S]*?)```/g;let Oe=0,De;for(;(De=et.exec(ne))!==null;)De.index>Oe&&Ve.push({type:"text",text:ne.slice(Oe,De.index)}),Ve.push({type:"code",lang:De[1]||"text",text:De[2].trimEnd()}),Oe=De.index+De[0].length;const Bt=ne.slice(Oe),xt=Bt.match(/```(\w*)\n([\s\S]*)$/);return xt?(xt.index>0&&Ve.push({type:"text",text:Bt.slice(0,xt.index)}),Ve.push({type:"code",lang:xt[1]||"text",text:xt[2]})):Bt&&Ve.push({type:"text",text:Bt}),Ve}function Oi(q){navigator.clipboard.writeText(q).catch(()=>{})}function Hi(q,ne=!1){var Ve;ne&&t()&&y(D,t().path,!0),(Ve=e.onApply)==null||Ve.call(e,q)}function Si(q){return!q||q==="js"||q==="javascript"}function si(q){const ne=q.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return ne?{filename:ne[1],code:q.slice(ne[0].length)}:null}function ui(q){return q>=1e9?`${(q/1e9).toFixed(1)} GB`:q>=1e6?`${(q/1e6).toFixed(0)} MB`:q>=1024?`${(q/1024).toFixed(1)} kB`:`${q} B`}async function Pi(){if(y(j,!0),!(d(H)||d(te))){y(te,!0),y(J,"");try{y(H,await Mx(d(k)||d(u).model),!0)}catch(q){y(J,q.message,!0)}y(te,!1)}}function Vi(q){const ne=q.match(/\.([^.]+)$/);return ne?ne[1].toUpperCase():"?"}function Mi(q){switch(q){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return q}}function Je(q){i(i().filter((ne,Ve)=>Ve!==q))}function oi(){gt.click()}async function hi(q){if(!(!q||q.length===0))for(const ne of Array.from(q)){const Ve=await ne.text();i([...i(),{name:ne.name,content:Ve}])}}function xi(q){const ne=q.target;hi(ne.files),ne.value=""}function Ni(q){var ne;q.preventDefault(),y(ct,!1),hi(((ne=q.dataTransfer)==null?void 0:ne.files)??null)}function dn(q){var ne;(ne=q.dataTransfer)!=null&&ne.types.includes("Files")&&(q.preventDefault(),y(ct,!0))}function ji(){y(ct,!1)}async function Tn(){try{y(w,await M7(),!0)}catch{}}async function Fe(){var ne;if(d(n).length===0)return;const q=((ne=d(n).find(Ve=>Ve.role==="user"))==null?void 0:ne.content.slice(0,80))??d(p);try{await N7(d(p),q,d(n)),await Tn()}catch{}}async function Qt(q){try{const ne=await FD(q);y(n,ne.messages,!0),y(p,q,!0),y(m,!1),y(c,"")}catch{}}async function fi(q){try{await R7(q),await Tn(),q===d(p)&&Ti()}catch{}}function Ti(){y(n,[],!0),y(c,""),y(p,g(),!0),y(m,!1)}ao(async()=>{Wt();try{const q=await FD(d(p));y(n,q.messages,!0)}catch{}await Tn()});async function $e(){const q=d(r).trim();if(!q||d(a))return;y(r,""),y(c,""),y(a,!0);const ne={role:"user",content:q};y(n,[...d(n),ne],!0),we=new AbortController,y(Tt,[],!0);try{await VR({messages:d(n),currentScript:d(ri),context:d(Re),modelOverride:d(k)||void 0,extraFiles:i().length>0?i():void 0},Ve=>{y(s,(d(s)??"")+Ve)},we.signal,Ve=>{y(Tt,[...d(Tt),Ve],!0)}),y(n,[...d(n),{role:"assistant",content:d(s)??"",toolEvents:d(Tt).length>0?[...d(Tt)]:void 0}],!0),y(Tt,[],!0)}catch(Ve){if(Ve.name==="AbortError"){const et=d(s);et&&et.trim()&&y(n,[...d(n),{role:"assistant",content:et+`
150
+
151
+ *[stopped]*`,toolEvents:d(Tt).length>0?[...d(Tt)]:void 0}],!0)}else y(c,Ve.message,!0)}finally{we=null,y(s,null),y(Tt,[],!0),y(a,!1),Fe()}}function $t(){we==null||we.abort()}function gi(q){q.key==="Enter"&&!q.shiftKey&&(q.preventDefault(),$e())}function Ii(){Ti()}const qe=["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 he(q){y(r,q,!0),Ne==null||Ne.focus()}var K=tG(),ae=Et(K),Ce=v(ae),Pe=b(v(Ce),2);{var rt=q=>{var ne=d9(),Ve=v(ne);{var et=Bt=>{var xt=sa();V(()=>F(xt,`${d(u).provider??""} · ${(d(k)||d(u).model)??""}`)),E(Bt,xt)},Oe=Bt=>{var xt=sa();V(()=>F(xt,`${d(u).provider??""} · pick a model below`)),E(Bt,xt)},De=Bt=>{var xt=sa("Not configured");E(Bt,xt)};W(Ve,Bt=>{d(tt)?Bt(et):d(u).provider?Bt(Oe,1):Bt(De,-1)})}V(()=>Wi(ne,"title",`Provider: ${d(u).provider??""}`)),E(q,ne)};W(Pe,q=>{d(u)&&q(rt)})}var R=b(Pe,2);let Q;var Y=b(R,2);{var fe=q=>{var ne=u9();G("click",ne,Ii),E(q,ne)};W(Y,q=>{d(n).length>0&&q(fe)})}var _e=b(Ce,2);{var $=q=>{var ne=p9(),Ve=v(ne),et=b(v(Ve),2),Oe=b(Ve,2);{var De=xt=>{var Ke=h9();E(xt,Ke)},Bt=xt=>{var Ke=g9();_i(Ke,21,()=>d(w),zt=>zt.id,(zt,it)=>{var Ee=f9();let He;var We=v(Ee),ze=v(We),Pt=b(We,2);V(()=>{He=Rt(Ee,1,"history-item svelte-10ayso4",null,He,{"history-active":d(it).id===d(p)}),Wi(We,"title",d(it).id),F(ze,d(it).title||d(it).id)}),G("click",We,()=>Qt(d(it).id)),G("click",Pt,()=>fi(d(it).id)),E(zt,Ee)}),E(xt,Ke)};W(Oe,xt=>{d(w).length===0?xt(De):xt(Bt,-1)})}G("click",et,Ti),E(q,ne)};W(_e,q=>{d(m)&&q($)})}var Z=b(_e,2),ie=v(Z);{var Se=q=>{var ne=_9();E(q,ne)},pt=q=>{var ne=b9(),Ve=v(ne),et=v(Ve);{var Oe=xt=>{var Ke=m9(),zt=b(Et(Ke)),it=v(zt);V(Ee=>F(it,Ee),[()=>t().path.split("/").pop()]),E(xt,Ke)},De=xt=>{var Ke=sa("No script open. Ask a general she scripting question.");E(xt,Ke)};W(et,xt=>{t()?xt(Oe):xt(De,-1)})}var Bt=b(Ve,2);_i(Bt,17,()=>qe,on,(xt,Ke)=>{var zt=v9(),it=v(zt);V(()=>F(it,d(Ke))),G("click",zt,()=>he(d(Ke))),E(xt,zt)}),E(q,ne)};W(ie,q=>{d(ke)?d(n).length===0&&d(s)===null&&q(pt,1):q(Se)})}var Ae=b(ie,2);_i(Ae,17,()=>d(n),on,(q,ne,Ve)=>{var et=D9(),Oe=v(et);{var De=xt=>{var Ke=y9(),zt=v(Ke);V(()=>F(zt,d(ne).content)),E(xt,Ke)},Bt=xt=>{const Ke=wt(()=>Dt(d(ne).content));var zt=I9(),it=Et(zt);{var Ee=We=>{var ze=YD();_i(ze,21,()=>d(ne).toolEvents,on,(Pt,ye)=>{var nt=Vs(),_t=Et(nt);{var mt=Ut=>{var ti=ZD(),ln=b(v(ti),2),Qi=v(ln),Dn=b(ln,2);{var Jn=pi=>{var bn=KD(),an=v(bn);V(rs=>F(an,rs),[()=>Object.entries(d(ye).args).map(([rs,co])=>`${rs}=${JSON.stringify(co)}`).join(", ")]),E(pi,bn)},Gi=wt(()=>d(ye).args&&Object.keys(d(ye).args).length>0);W(Dn,pi=>{d(Gi)&&pi(Jn)})}V(pi=>F(Qi,pi),[()=>d(ye).name.replace(/_/g," ")]),E(Ut,ti)},Ze=Ut=>{var ti=XD(),ln=b(v(ti),2),Qi=v(ln);V(Dn=>F(Qi,Dn),[()=>d(ye).name.replace(/_/g," ")]),E(Ut,ti)};W(_t,Ut=>{d(ye).type==="tool_call"?Ut(mt):Ut(Ze,-1)})}E(Pt,nt)}),E(We,ze)};W(it,We=>{var ze;(ze=d(ne).toolEvents)!=null&&ze.length&&We(Ee)})}var He=b(it,2);_i(He,21,()=>d(Ke),on,(We,ze,Pt)=>{var ye=Vs(),nt=Et(ye);{var _t=Ze=>{var Ut=JD();sc(Ut,()=>Li(d(ze).text),!0),E(Ze,Ut)},mt=Ze=>{const Ut=wt(()=>Si(d(ze).lang)?si(d(ze).text):null),ti=wt(()=>d(Ut)?d(Ut).code:d(ze).text),ln=wt(()=>`${Ve}:${Pt}`),Qi=wt(()=>kt(d(ti))),Dn=wt(()=>d(A).has(d(ln)));var Jn=L9(),Gi=v(Jn),pi=v(Gi),bn=v(pi),an=b(pi,2),rs=v(an),co=b(rs,2);{var qo=ks=>{var Xs=w9();G("click",Xs,()=>e.onCreateFile(d(Ut).filename,d(Ut).code)),E(ks,Xs)},Nr=ks=>{var Xs=x9(),Ar=Et(Xs),Ka=b(Ar,2);{var Ol=Go=>{var Or=S9();E(Go,Or)},Za=Go=>{var Or=C9();G("click",Or,()=>Hi(d(ze).text,!0)),E(Go,Or)};W(Ka,Go=>{d(P)?Go(Ol):Go(Za,-1)})}G("click",Ar,()=>Hi(d(ze).text)),E(ks,Xs)},Ga=wt(()=>Si(d(ze).lang)&&t());W(co,ks=>{d(Ut)&&e.onCreateFile?ks(qo):d(Ga)&&ks(Nr,1)})}var Qn=b(Gi,2);let fa;var ga=v(Qn),hn=v(ga);sc(hn,()=>di(d(ti),d(ze).lang??""),!0);var Rr=b(ga,2);{var Zs=ks=>{var Xs=k9(),Ar=v(Xs);V(()=>F(Ar,d(Dn)?"▲ collapse":"▼ expand")),G("click",Xs,()=>mi(d(ln))),E(ks,Xs)};W(Rr,ks=>{d(Qi)&&ks(Zs)})}V(()=>{F(bn,d(Ut)?`new: ${d(Ut).filename}`:d(ze).lang),fa=Rt(Qn,1,"code-body svelte-10ayso4",null,fa,{collapsed:d(Qi)&&!d(Dn)})}),G("click",rs,()=>Oi(d(ti))),E(Ze,Jn)};W(nt,Ze=>{d(ze).type==="text"?Ze(_t):Ze(mt,-1)})}E(We,ye)}),E(xt,zt)};W(Oe,xt=>{d(ne).role==="user"?xt(De):xt(Bt,-1)})}V(()=>Rt(et,1,`message ${d(ne).role??""}`,"svelte-10ayso4")),E(q,et)});var Ie=b(Ae,2);{var ot=q=>{var ne=YD();_i(ne,21,()=>d(Tt),on,(Ve,et)=>{var Oe=Vs(),De=Et(Oe);{var Bt=Ke=>{var zt=ZD(),it=b(v(zt),2),Ee=v(it),He=b(it,2);{var We=Pt=>{var ye=KD(),nt=v(ye);V(_t=>F(nt,_t),[()=>Object.entries(d(et).args).map(([_t,mt])=>`${_t}=${JSON.stringify(mt)}`).join(", ")]),E(Pt,ye)},ze=wt(()=>d(et).args&&Object.keys(d(et).args).length>0);W(He,Pt=>{d(ze)&&Pt(We)})}V(Pt=>F(Ee,Pt),[()=>d(et).name.replace(/_/g," ")]),E(Ke,zt)},xt=Ke=>{var zt=XD(),it=b(v(zt),2),Ee=v(it);V(He=>F(Ee,He),[()=>d(et).name.replace(/_/g," ")]),E(Ke,zt)};W(De,Ke=>{d(et).type==="tool_call"?Ke(Bt):Ke(xt,-1)})}E(Ve,Oe)}),E(q,ne)};W(Ie,q=>{d(Tt).length>0&&q(ot)})}var It=b(Ie,2);{var St=q=>{var ne=E9(),Ve=v(ne),et=v(Ve),Oe=v(et);V(()=>F(Oe,ce[d(Be)])),E(q,ne)};W(It,q=>{d(a)&&d(s)===null&&d(Tt).length===0&&q(St)})}var ni=b(It,2);{var ei=q=>{var ne=P9(),Ve=v(ne);_i(Ve,21,()=>Ai(d(s)),on,(et,Oe)=>{var De=Vs(),Bt=Et(De);{var xt=zt=>{var it=JD();sc(it,()=>Li(d(Oe).text),!0),E(zt,it)},Ke=zt=>{var it=T9(),Ee=v(it),He=v(Ee),We=v(He),ze=b(Ee,2),Pt=v(ze);sc(Pt,()=>di(d(Oe).text,d(Oe).lang??""),!0),V(()=>F(We,d(Oe).lang)),E(zt,it)};W(Bt,zt=>{d(Oe).type==="text"?zt(xt):zt(Ke,-1)})}E(et,De)}),E(q,ne)};W(ni,q=>{d(s)!==null&&q(ei)})}Ds(Z,q=>Lt=q,()=>Lt);var se=b(Z,2);{var Le=q=>{var ne=M9(),Ve=v(ne);V(()=>F(Ve,d(c))),E(q,ne)};W(se,q=>{d(c)&&q(Le)})}var lt=b(se,2),Ct=v(lt),ft=v(Ct),Xe=b(Ct,2),Ft=v(Xe),ai=b(Xe,2),bi=v(ai),Di=b(bi);{var fn=q=>{const ne=wt(()=>Math.min(100,Math.round(d(Ot)/4/d(H).contextLength*100)));var Ve=N9(),et=v(Ve),Oe=b(v(et));V((De,Bt)=>{Wi(Ve,"title",`~${d(ne)??""}% of ${De??""} token context window used`),Wi(Oe,"stroke",d(ne)>80?"var(--fg-err)":d(ne)>50?"var(--fg-warn)":"var(--fg-ok)"),Wi(Oe,"stroke-dasharray",`${Bt??""} 31.4`)},[()=>d(H).contextLength.toLocaleString(),()=>(d(ne)/100*31.4).toFixed(1)]),E(q,Ve)};W(Di,q=>{var ne;(ne=d(H))!=null&&ne.contextLength&&q(fn)})}var Cn=b(lt,2),un=v(Cn);{var ki=q=>{const ne=wt(()=>Vi(t().path.split("/").pop()??t().path));var Ve=R9();let et;var Oe=v(Ve),De=v(Oe),Bt=b(Oe,2),xt=v(Bt),Ke=b(Bt,2),zt=v(Ke);V((it,Ee)=>{et=Rt(Ve,1,"file-chip svelte-10ayso4",null,et,{inactive:!d(me)}),Rt(Oe,1,`badge badge-${it??""}`,"svelte-10ayso4"),F(De,Ee),F(xt,t().path),Wi(Ke,"title",d(me)?"Remove from context":"Re-add to context"),F(zt,d(me)?"×":"+")},[()=>d(ne).toLowerCase(),()=>Mi(d(ne))]),G("click",Ke,()=>y(me,!d(me))),E(q,Ve)};W(un,q=>{t()&&q(ki)})}var gn=b(un,2);_i(gn,17,i,on,(q,ne,Ve)=>{const et=wt(()=>Vi(d(ne).name));var Oe=A9(),De=v(Oe),Bt=v(De),xt=b(De,2),Ke=v(xt),zt=b(xt,2);V((it,Ee)=>{Rt(De,1,`badge badge-${it??""}`,"svelte-10ayso4"),F(Bt,Ee),F(Ke,d(ne).name)},[()=>d(et).toLowerCase(),()=>Mi(d(et))]),G("click",zt,()=>Je(Ve)),E(q,Oe)});var z=b(gn,2),ee=b(z,2);Ds(ee,q=>gt=q,()=>gt);var Ue=b(Cn,2);let Ye;var ge=v(Ue);let ve;var vt=v(ge);Ds(vt,q=>Ne=q,()=>Ne);var Ei=b(ge,2);{var Te=q=>{var ne=O9();G("click",ne,$t),E(q,ne)},Ge=q=>{var ne=F9();V(Ve=>ne.disabled=Ve,[()=>!d(r).trim()||!d(tt)]),G("click",ne,$e),E(q,ne)};W(Ei,q=>{d(a)?q(Te):q(Ge,-1)})}var Ht=b(Ue,2);{var Qe=q=>{var ne=V9(),Ve=v(ne),et=v(Ve),Oe=b(Ve,2);{var De=zt=>{var it=W9();_i(it,21,()=>d(x),on,(Ee,He)=>{var We=H9(),ze=v(We),Pt={};V(()=>{F(ze,d(He)),Pt!==(Pt=d(He))&&(We.value=(We.__value=d(He))??"")}),E(Ee,We)}),V(()=>it.disabled=d(a)),Ho(it,()=>d(k),Ee=>y(k,Ee)),E(zt,it)},Bt=zt=>{var it=B9(),Ee=v(it);V(()=>F(Ee,d(k)||d(u).model)),E(zt,it)};W(Oe,zt=>{d(x).length>0?zt(De):zt(Bt,-1)})}var xt=b(Oe,2);{var Ke=zt=>{var it=z9();G("click",it,Pi),E(zt,it)};W(xt,zt=>{d(u).provider==="ollama"&&zt(Ke)})}V(()=>F(et,d(u).provider)),E(q,ne)};W(Ht,q=>{var ne;(ne=d(u))!=null&&ne.provider&&(d(ke)||d(x).length>0)&&q(Qe)})}var bt=b(ae,2);{var Gt=q=>{var ne=eG(),Ve=v(ne),et=v(Ve),Oe=v(et),De=v(Oe),Bt=b(Oe,2),xt=b(et,2),Ke=v(xt);{var zt=He=>{var We=j9();E(He,We)},it=He=>{var We=$9(),ze=v(We);V(()=>F(ze,d(J))),E(He,We)},Ee=He=>{var We=Q9(),ze=v(We);{var Pt=Gi=>{var pi=U9(),bn=b(Et(pi)),an=v(bn);V(()=>F(an,d(H).version)),E(Gi,pi)};W(ze,Gi=>{d(H).version&&Gi(Pt)})}var ye=b(ze,2);{var nt=Gi=>{var pi=q9(),bn=b(Et(pi)),an=v(bn);V(()=>F(an,d(H).details.family)),E(Gi,pi)};W(ye,Gi=>{var pi;(pi=d(H).details)!=null&&pi.family&&Gi(nt)})}var _t=b(ye,2);{var mt=Gi=>{var pi=G9(),bn=b(Et(pi)),an=v(bn);V(()=>F(an,d(H).details.parameter_size)),E(Gi,pi)};W(_t,Gi=>{var pi;(pi=d(H).details)!=null&&pi.parameter_size&&Gi(mt)})}var Ze=b(_t,2);{var Ut=Gi=>{var pi=K9(),bn=b(Et(pi)),an=v(bn);V(()=>F(an,d(H).details.quantization_level)),E(Gi,pi)};W(Ze,Gi=>{var pi;(pi=d(H).details)!=null&&pi.quantization_level&&Gi(Ut)})}var ti=b(Ze,2);{var ln=Gi=>{var pi=Z9(),bn=b(Et(pi)),an=v(bn);V(()=>F(an,d(H).details.format)),E(Gi,pi)};W(ti,Gi=>{var pi;(pi=d(H).details)!=null&&pi.format&&Gi(ln)})}var Qi=b(ti,2);{var Dn=Gi=>{var pi=Y9(),bn=b(Et(pi),2);_i(bn,21,()=>d(H).running,on,(an,rs)=>{var co=X9(),qo=v(co);V(Nr=>F(qo,`${d(rs).name??""} · ${Nr??""} VRAM`),[()=>ui(d(rs).size_vram)]),E(an,co)}),E(Gi,pi)},Jn=Gi=>{var pi=J9();E(Gi,pi)};W(Qi,Gi=>{d(H).running&&d(H).running.length>0?Gi(Dn):d(H).running!==null&&Gi(Jn,1)})}E(He,We)};W(Ke,He=>{d(te)?He(zt):d(J)?He(it,1):d(H)&&He(Ee,2)})}V(()=>{var He;return F(De,`Ollama · ${(d(k)||((He=d(u))==null?void 0:He.model))??""}`)}),G("click",ne,()=>y(j,!1)),G("click",Ve,He=>He.stopPropagation()),G("click",Bt,()=>y(j,!1)),E(q,ne)};W(bt,q=>{d(j)&&q(Gt)})}V(q=>{Q=Rt(R,1,"icon-hdr-btn svelte-10ayso4",null,Q,{active:d(m)}),F(bi,q),Ye=Rt(Ue,1,"input-row svelte-10ayso4",null,Ye,{"drag-over":d(ct)}),ve=Rt(ge,1,"textarea-wrap svelte-10ayso4",null,ve,{loading:d(a)}),Wi(vt,"placeholder",d(tt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":d(ke)?"Select a model above to start chatting":"AI not configured"),vt.disabled=d(a)||!d(tt)},[()=>ui(d(Ot))]),G("click",R,()=>y(m,!d(m))),Is(ft,()=>d(st),q=>y(st,q)),Is(Ft,()=>d(at),q=>y(at,q)),G("click",z,oi),G("change",ee,xi),cs("dragover",Ue,dn),cs("dragleave",Ue,ji),cs("drop",Ue,Ni),G("keydown",vt,gi),Zt(vt,()=>d(r),q=>y(r,q)),E(o,K),Rs()}Ks(["click","change","keydown"]);const nG={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"]},sG={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 Fx=[],Hx=[],Wx=[];const bb=new Map;let rA=[];const Bx=new Map,zx=new Map;async function QD(){try{Fx=(await HR()).map(e=>e.topic)}catch{}}async function eE(){try{const[o,e]=await Promise.all([RR(),AR()]);Hx=o,Wx=e}catch{}}async function tE(){try{const o=await FR();rA=o.map(e=>e.nodeId),Bx.clear(),zx.clear();for(const e of o)e.name&&(Bx.set(e.nodeId,e.name),zx.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!bb.has(e.nodeId))try{bb.set(e.nodeId,await Xm(e.nodeId))}catch{}}))}catch{}}function oG(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*$/,c=o.match(a);if(c){const u=c[1],f=rG(u),g=aG(u);if(f===0)return{type:"matter-nodeId",prefix:g};if(f===1){const p=hh(u,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(f===2){const p=hh(u,0),w=iE(u,1)??hh(u,1);if(p&&w!==null)return{type:"matter-cluster",nodeId:p,endpointId:w}}if(f>=3){const p=hh(u,0),w=iE(u,1)??hh(u,1),m=hh(u,2),x=/she\.matter\.send\s*\(/.test(o);if(p&&w!==null&&m)return{type:"matter-attr",nodeId:p,endpointId:w,cluster:m,isSend:x}}}return null}function rG(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 aG(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function hh(o,e){var s;const i=(s=aA(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function iE(o,e){var s;const i=(s=aA(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function aA(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 Nu=nd.CompletionItemKind;function lG(o,e){return(e?Fx.filter(i=>i.startsWith(e)):Fx).map(i=>({label:i,kind:Nu.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function cG(o,e,t){const i=t?[...Hx,...Wx]:Hx;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:Nu.Value,insertText:s,range:o,detail:Wx.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function dG(o,e){return rA.map(t=>{const i=Bx.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:Nu.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function lA(o){return zx.get(o)??o}function uG(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 hG(o,e){const t=bb.get(lA(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:Nu.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function fG(o,e,t){const i=bb.get(lA(e));if(!i)return[];const n=uG(i,t);return n?n.clusters.map(s=>({label:s.name,kind:Nu.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function gG(o,e,t){return(t?sG[e]??[]:nG[e]??[]).map(n=>({label:n,kind:t?Nu.Function:Nu.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let nE=!1;function pG(){nE||(nE=!0,QD(),eE(),tE(),setInterval(QD,15e3),setInterval(eE,1e4),setInterval(tE,6e4),nd.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=oG(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:lG(a,i.prefix)};case"db":return{suggestions:cG(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:dG(a,i.prefix)};case"matter-endpointId":return{suggestions:hG(a,i.nodeId)};case"matter-cluster":return{suggestions:fG(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:gG(a,i.cluster,i.isSend)};default:return null}}}))}var _G=T('<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),mG=T('<button class="svelte-1pyfjii">Show git history</button>'),vG=T('<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),bG=T('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),yG=T('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),sE=T('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),wG=T('<ul class="tree-children svelte-1pyfjii"></ul>'),SG=T('<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>'),CG=T('<span class="dirty-dot svelte-1pyfjii">●</span>'),xG=T('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),kG=T('<span class="err-dot svelte-1pyfjii">●</span>'),LG=T('<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>'),IG=T('<span class="dis-spacer svelte-1pyfjii"></span>'),DG=T('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),EG=T('<div class="err svelte-1pyfjii"> </div>'),TG=T('<div class="history-empty svelte-1pyfjii">Loading…</div>'),PG=T('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),MG=T('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),NG=T('<button class="history-load-more svelte-1pyfjii"> </button>'),RG=T("<!> <!>",1),AG=T('<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>'),OG=T('<span class="tab-dirty svelte-1pyfjii">●</span>'),FG=T('<div role="button" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),HG=T('<div class="tab-bar svelte-1pyfjii"></div>'),WG=T('<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>'),BG=T('<div class="changes-err svelte-1pyfjii"> </div>'),zG=T('<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),VG=T('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),jG=T('<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),$G=T('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),UG=T('<span class="git-behind svelte-1pyfjii"> </span>'),qG=T('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),GG=T('<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),KG=T('<button class="danger svelte-1pyfjii">Delete</button>'),ZG=T(`<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>`),XG=T('<button class="svelte-1pyfjii">Always accept in this session</button>'),YG=T('<button class="svelte-1pyfjii">Disable auto-accept</button>'),JG=T('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),QG=T('<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>'),eK=T('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),tK=T('<div class="diff-container svelte-1pyfjii"></div>'),iK=T('<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>'),nK=T('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),sK=T('<span class="log-file svelte-1pyfjii"> </span>'),oK=T("<option> </option>"),rK=T('<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),aK=T('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),lK=T('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),cK=T('<div class="log-body svelte-1pyfjii"><!> <!></div>'),dK=T('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),uK=T('<!> <!> <!> <!> <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="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 hK(o,e){Ns(e,!0);let t=M(yi([])),i=M(yi({})),n=M(null),s=M(null),r=M(null),a=M(null),c=M(yi([])),u=M(null),f=M(!1),g=M(""),p=M(!1),w=M(!0),m=M(null),x=M(!1),k=M(!1),D=M(null),P=M(yi([])),A=M(!1),j=M(30),H=M(void 0),te=null,J=null,le=null,we=M(!1),Be=M(""),ce=M(!1),st=M(void 0),at=M(yi(new Set));const me=new Set;let ct=M(yi(new Set)),gt=M(yi([])),Tt=M("all"),Ne=M(""),Lt=M(!1);const Re=["all","debug","info","warn","error"],ke={debug:0,info:1,warn:2,error:3};function tt(B){if(d(Tt)!=="all"&&ke[B.level]<ke[d(Tt)])return!1;if(!d(Ne))return!0;if(d(Lt))try{return new RegExp(d(Ne),"i").test(B.msg)}catch{}return B.msg.toLowerCase().includes(d(Ne).toLowerCase())}let Ot=M(null);function ri(B){const oe=B.currentTarget.getBoundingClientRect();y(Ot,{x:oe.left,y:oe.top},!0)}function Wt(){y(Ot,null)}let Dt,Mt,kt,mi=!1,di=null,Li=null,Ai=!1,Oi=!1,Hi=M(!1),Si=M(null),si=M(!1),ui=M(!1),Pi=M(void 0),Vi=null,Mi=null,Je=null,oi=M(yi(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),hi=M(yi(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),xi=M(yi(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),Ni=M(yi(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),dn=!1,ji=0,Tn=0,Fe=!1,Qt=0,fi=0,Ti=!1,$e=0,$t=0,gi=!1,Ii=0,qe=0;const he=wt(()=>{var B;return d(u)&&d(Z)?{path:d(u),content:((B=d(Z).model)==null?void 0:B.getValue())??d(Z).savedContent}:null}),K=wt(()=>{var B;return new Set(((B=d(m))==null?void 0:B.changes.map(oe=>oe.file))??[])}),ae=wt(()=>{const B=new Set;for(const oe of d(K)){const Me=oe.split("/");for(let pe=1;pe<Me.length;pe++)B.add(Me.slice(0,pe).join("/"))}return B});let Ce=M(!1),Pe=M(!1),rt=M(""),R=M(!1),Q=M(""),Y=M(yi(new Set));async function fe(){var B;if(!(!d(rt).trim()||d(Y).size===0)){y(R,!0),y(Q,"");try{const oe=d(m).changes.filter(Me=>d(Y).has(Me.file)).map(Me=>Me.file);if(oe.length===d(m).changes.length?await RD(d(rt).trim()):await ND(oe,d(rt).trim()),d(k))try{await Sm()}catch{}y(rt,""),await Ft(),(B=d(m))!=null&&B.changes.length?y(Y,new Set(d(m).changes.map(Me=>Me.file)),!0):y(Ce,!1)}catch(oe){y(Q,oe.message,!0)}finally{y(R,!1)}}}let _e,$,Z=wt(()=>d(c).find(B=>B.path===d(u))??null);const ie="she-tabs",Se="she-active-tab",pt="she-log-open",Ae="she-chat-open";let Ie=Cf(e,"active",3,!0);$n(()=>{Oi&&(localStorage.setItem(ie,JSON.stringify(d(c).map(B=>B.path))),d(u)?localStorage.setItem(Se,d(u)):localStorage.removeItem(Se))}),$n(()=>{Oi&&localStorage.setItem(Ae,String(d(Hi)))}),$n(()=>{Ie()&&Mt&&Mt.layout()});const ot=`
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 It(B){d(c).some(oe=>oe.dirty)&&B.preventDefault()}ao(async()=>{var pe;window.addEventListener("beforeunload",It),y(w,localStorage.getItem(pt)!=="false"),y(Hi,localStorage.getItem(Ae)==="true"),nd.typescript.javascriptDefaults.addExtraLib(ot,"she-api.d.ts"),nd.typescript.javascriptDefaults.setCompilerOptions({target:nd.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),nd.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),pG(),kt=dr.createModel("","javascript"),Mt=dr.create(Dt,{model:kt,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),Mt.onDidChangeModelContent(()=>{if(mi)return;const yt=d(c).find(Kt=>Kt.path===d(u));yt&&(yt.dirty=Mt.getValue()!==yt.savedContent),zt&&clearTimeout(zt),zt=setTimeout(it,600)}),di=kk(yt=>{const Kt=yt.msg.match(/^([^:\n]+\.js):\s/);if(!Kt)return;const li=Kt[1];if(yt.level==="error")me.add(li),d(at).has(li)||y(at,new Set([...d(at),li]),!0);else if(me.has(li)){me.delete(li);const $i=new Set(d(at));$i.delete(li),y(at,$i,!0)}const en=d(c).find($i=>$i.path===li);en&&(en.logEntries=[...en.logEntries.slice(-199),yt],en.path===d(u)&&d(w)&&d(st)&&Om().then(()=>{d(st)&&(d(st).scrollTop=d(st).scrollHeight)}))}),Li=kr("script:running",yt=>{const Kt=yt.path;if(yt.running)y(ct,new Set([...d(ct),Kt]),!0);else{const li=new Set(d(ct));li.delete(Kt),y(ct,li,!0)}}),await St(),Ft();try{const yt=await Dl();typeof yt.gitAutoCommit=="boolean"&&y(x,yt.gitAutoCommit,!0),typeof yt.gitAutoPush=="boolean"&&y(k,yt.gitAutoPush,!0)}catch{}try{const yt=await getDaemonStatus();y(ct,new Set(yt.runningScripts??[]),!0)}catch{}const B=JSON.parse(localStorage.getItem(ie)??"[]"),oe=localStorage.getItem(Se);for(const yt of B)await lt(yt,!1);const Me=oe&&d(c).some(yt=>yt.path===oe)?oe:((pe=d(c)[0])==null?void 0:pe.path)??null;Me&&await ft(Me),Oi=!0}),Wy(()=>{var B;window.removeEventListener("beforeunload",It),zt&&clearTimeout(zt),di==null||di(),Li==null||Li();for(const oe of d(c))(B=oe.model)==null||B.dispose();kt==null||kt.dispose(),Mt==null||Mt.dispose()});async function St(){try{if(y(t,await g7(),!0),!Ai){let oe=function(Me){for(const pe of Me)pe.type==="dir"&&(B[pe.path]=!0,pe.children&&oe(pe.children))};Ai=!0;const B={};oe(d(t)),y(i,B,!0)}y(g,"")}catch(B){y(g,B.message,!0)}}function ni(B){d(i)[B]=!d(i)[B]}function ei(B){switch(B){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return B}}async function se(B,oe){try{oe?await Jc(`${B}/.shelib`,""):await wm(`${B}/.shelib`),await St(),await ai("all",oe?`lib ${B}`:`unlib ${B}`)}catch(Me){y(g,Me.message,!0)}}async function Le(B,oe){const Me=B.split("/").pop(),pe=B.includes("/")?B.slice(0,B.lastIndexOf("/")):"",yt=pe?`${pe}/.shedisable-${Me}`:`.shedisable-${Me}`;try{oe?await Jc(yt,""):await wm(yt),await St(),await ai("all",oe?`disable ${B}`:`enable ${B}`)}catch(Kt){y(g,Kt.message,!0)}}async function lt(B,oe=!0){var Me;if(d(c).some(pe=>pe.path===B)){oe&&await ft(B);return}try{const{content:pe}=await uS(B),yt=i3.parse(`file:///she-scripts/${encodeURIComponent(B)}`);(Me=dr.getModel(yt))==null||Me.dispose();const Kt=dr.createModel(pe,Ke(B),yt);y(c,[...d(c),{path:B,dirty:!1,savedContent:pe,model:Kt,logEntries:[]}],!0),oe&&await ft(B)}catch(pe){y(g,pe.message,!0)}}async function Ct(B){await lt(B,!0)}async function ft(B){const oe=d(c).find(Me=>Me.path===B);oe!=null&&oe.model&&(Ue(),y(Si,null),y(u,B,!0),mi=!0,Mt.setModel(oe.model),mi=!1,it())}async function Xe(B){var pe;const oe=d(c).find(yt=>yt.path===B);if(!oe||oe.dirty&&!await _e.show(`Discard unsaved changes to ${B}?`,{confirm:"Discard"}))return;const Me=d(c).findIndex(yt=>yt.path===B);if((pe=oe.model)==null||pe.dispose(),y(c,d(c).filter(yt=>yt.path!==B),!0),d(u)===B){const yt=d(c)[Me]??d(c)[Me-1]??null;yt?await ft(yt.path):(y(u,null),Mt.setModel(kt))}}async function Ft(){try{y(m,await _7(),!0)}catch{y(m,null)}}async function ai(B,oe){if(d(m))try{if(B==="all"?await RD(oe):await ND(B,oe),d(k))try{await Sm()}catch{}await Ft()}catch{}}async function bi(){if(!d(u))return;const B=d(c).find(oe=>oe.path===d(u));if(B){y(f,!0);try{const oe=Mt.getValue();await Jc(d(u),oe),B.savedContent=oe,B.dirty=!1,y(g,""),d(x)?await ai([d(u)],`update ${d(u)}`):Ft()}catch(oe){y(g,oe.message,!0)}finally{y(f,!1)}}}async function Di(){if(!d(u)||(await bi(),d(g)))return;const B=await $.show("Commit message:",{initial:`update ${d(u)}`,placeholder:"Update script",confirm:"Commit"});if(B)try{if(await b7(d(u),B),d(k))try{await Sm()}catch{}Ft()}catch(oe){y(g,"Git: "+oe.message)}}async function fn(){y(p,!1);try{await Sm(),await Ft(),y(g,"")}catch(B){y(g,"Git push: "+B.message)}}function Cn(B){const oe=Date.now()-new Date(B).getTime(),Me=Math.floor(oe/1e3);if(Me<60)return"just now";const pe=Math.floor(Me/60);if(pe<60)return`${pe}m ago`;const yt=Math.floor(pe/60);if(yt<24)return`${yt}h ago`;const Kt=Math.floor(yt/24);if(Kt<30)return`${Kt}d ago`;const li=Math.floor(Kt/30);return li<12?`${li}mo ago`:`${Math.floor(li/12)}y ago`}async function un(B){vt(),y(D,B,!0),y(P,[],!0),y(j,30),await ki()}async function ki(){if(d(D)){y(A,!0);try{y(P,await y7(d(D).path,d(j)),!0)}catch{}finally{y(A,!1)}}}async function gn(){y(j,d(j)+30),await ki()}function z(){y(D,null),y(P,[],!0),Ue()}async function ee(B){if(!d(D))return;Ue(),await Ct(d(D).path);let oe;try{oe=await w7(B.hash,d(D).path)}catch{return}if(y(Be,B.hash,!0),y(ce,oe.binary,!0),y(we,!0),oe.binary||oe.content===null)return;let Me="";const pe=d(c).find(Kt=>Kt.path===d(D).path);if(pe!=null&&pe.model)Me=pe.model.getValue();else try{Me=(await uS(d(D).path)).content}catch{}if(await Om(),!d(H))return;const yt=Ke(d(D).path);J=dr.createModel(oe.content,yt),le=dr.createModel(Me,yt),te=dr.createDiffEditor(d(H),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),te.setModel({original:J,modified:le})}function Ue(){y(we,!1),y(ce,!1),te==null||te.dispose(),te=null,J==null||J.dispose(),J=null,le==null||le.dispose(),le=null}async function Ye(){const B=d(n)?`${d(n)}/`:"",oe=await $.show("New script name:",{placeholder:B?`${B}myscript.js`:"myscript.js",initial:B,confirm:"Create"});if(!oe)return;const Me=oe.endsWith(".js")?`/* global she */
217
+ 'use strict';
218
+
219
+ `:"";await Jc(oe,Me),await St(),await lt(oe,!0)}async function ge(){const B=d(n)?`${d(n)}/`:"",oe=await $.show("New folder name:",{placeholder:B?`${B}subfolder`:"myfolder",initial:B,confirm:"Create"});oe&&(await p7(oe),d(i)[oe]=!0,await St())}function ve(B,oe){B.preventDefault(),y(s,{x:B.clientX,y:B.clientY,entry:oe},!0)}function vt(){y(s,null)}async function Ei(B){vt(),y(n,B,!0),d(i)[B]=!0,await Ye()}async function Te(B){vt(),y(n,B,!0),await ge()}async function Ge(B){vt();const oe=B.path.includes("/")?B.path.slice(0,B.path.lastIndexOf("/")+1):"",Me=await $.show(B.type==="dir"?"Rename folder:":"Rename script:",{initial:B.name,placeholder:B.name,confirm:"Rename"});if(!Me||Me===B.name)return;const pe=oe+Me;try{await MD(B.path,pe);const yt=d(c).find(Kt=>Kt.path===B.path);yt&&(yt.path=pe,d(u)===B.path&&y(u,pe)),await St(),await ai("all",`rename ${B.path} → ${pe}`)}catch(yt){y(g,yt.message,!0)}}function Ht(B){if(!B.children)return 0;let oe=0;for(const Me of B.children)oe++,Me.type==="dir"&&(oe+=Ht(Me));return oe}async function Qe(B){vt();let oe=`Delete ${B.type==="dir"?"folder":"file"} "${B.path}"?`;if(B.type==="dir"){const Me=Ht(B);Me>0&&(oe+=` This will also delete ${Me} item${Me===1?"":"s"} inside.`)}if(await _e.show(oe,{confirm:"Delete",danger:!0})){if(B.type==="dir")for(const Me of[...d(c)])Me.path.startsWith(B.path+"/")&&await Xe(Me.path);else await Xe(B.path);await wm(B.path),await St(),await ai("all",`delete ${B.path}`)}}async function bt(B){vt();const{content:oe}=await uS(B.path);d(gt).some(Me=>Me.name===B.path)||y(gt,[...d(gt),{name:B.path,content:oe}],!0),y(Hi,!0)}function Gt(B,oe){var Me;y(r,oe,!0),(Me=B.dataTransfer)==null||Me.setData("text/plain",oe)}function q(B,oe){if(B.preventDefault(),d(r)&&(d(r)===oe||oe.startsWith(d(r)+"/"))){B.dataTransfer&&(B.dataTransfer.dropEffect="none"),y(a,null);return}B.dataTransfer&&(B.dataTransfer.dropEffect="move"),y(a,oe,!0)}function ne(){y(a,null)}async function Ve(B,oe){var li,en,$i;B.preventDefault(),y(a,null);const Me=Array.from(((li=B.dataTransfer)==null?void 0:li.items)??[]).filter(cn=>cn.kind==="file");if(Me.length>0&&!d(r)){for(const cn of Me){const Ui=(en=cn.webkitGetAsEntry)==null?void 0:en.call(cn);Ui&&await et(Ui,oe,!0)}await St();return}const pe=d(r)??(($i=B.dataTransfer)==null?void 0:$i.getData("text/plain"));if(y(r,null),!pe||pe===oe||oe.startsWith(pe+"/"))return;const yt=pe.split("/").pop(),Kt=oe?`${oe}/${yt}`:yt;if(Kt!==pe)try{await MD(pe,Kt);for(const cn of d(c))if(cn.path===pe)d(u)===pe&&y(u,Kt,!0),cn.path=Kt;else if(cn.path.startsWith(pe+"/")){const Ui=Kt+cn.path.slice(pe.length);d(u)===cn.path&&y(u,Ui),cn.path=Ui}await St(),await ai("all",`rename ${pe} → ${Kt}`)}catch(cn){y(g,cn.message,!0)}}async function et(B,oe,Me){if(B.isFile){const yt=await(await new Promise((li,en)=>B.file(li,en))).text(),Kt=oe?`${oe}/${B.name}`:B.name;await Jc(Kt,yt),Me&&B.name.endsWith(".js")&&await Le(Kt,!0)}else if(B.isDirectory){const pe=B.createReader();let yt=[],Kt;do Kt=await new Promise((li,en)=>pe.readEntries(li,en)),yt=[...yt,...Kt];while(Kt.length>0);for(const li of yt)await et(li,oe?`${oe}/${B.name}`:B.name,!1);if(Me){const li=oe?`${oe}/${B.name}`:B.name;await Le(li,!0)}}}async function Oe(){if(!d(u)||!await _e.show(`Delete ${d(u)}?`,{confirm:"Delete",danger:!0}))return;const B=d(u);await Xe(B),await wm(B),await St(),await ai("all",`delete ${B}`)}function De(){d(Z)&&(d(Z).logEntries=[])}function Bt(){y(w,!d(w)),localStorage.setItem(pt,String(d(w)))}function xt(B){return new Date(B).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Ke(B){var pe;const oe=((pe=B.split(".").pop())==null?void 0:pe.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"}[oe]??"plaintext"}let zt=null;async function it(){const B=d(c).find(Me=>Me.path===d(u));if(!(B!=null&&B.model))return;const oe=B.model;try{const Kt=(await(await(await nd.typescript.getJavaScriptWorker())(oe.uri)).getSyntacticDiagnostics(oe.uri.toString())).map(li=>{const en=oe.getPositionAt(li.start??0),$i=oe.getPositionAt((li.start??0)+(li.length??0));return{severity:n3.Error,startLineNumber:en.lineNumber,startColumn:en.column,endLineNumber:$i.lineNumber,endColumn:$i.column,message:typeof li.messageText=="string"?li.messageText:JSON.stringify(li.messageText),source:"she-syntax"}});if(dr.setModelMarkers(oe,"she-syntax",Kt),d(u)){if(Kt.length>0)me.add(d(u)),d(at).has(d(u))||y(at,new Set([...d(at),d(u)]),!0);else if(me.has(d(u))){me.delete(d(u));const li=new Set(d(at));li.delete(d(u)),y(at,li,!0)}}}catch{}}function Ee(B){dn=!0,ji=B.clientX,Tn=d(oi),B.preventDefault()}function He(B){Fe=!0,Qt=B.clientY,fi=d(hi),B.preventDefault()}function We(B){Ti=!0,$e=B.clientX,$t=d(xi),B.preventDefault()}function ze(B){gi=!0,Ii=B.clientY,qe=d(Ni),B.preventDefault()}function Pt(B){dn&&y(oi,Math.max(140,Math.min(500,Tn+B.clientX-ji)),!0),Fe&&y(hi,Math.max(60,Math.min(500,fi-(B.clientY-Qt))),!0),Ti&&y(xi,Math.max(200,Math.min(700,$t-(B.clientX-$e))),!0),gi&&y(Ni,Math.max(80,Math.min(600,qe-(B.clientY-Ii))),!0)}function ye(){dn&&(dn=!1,localStorage.setItem("she-scripts-sidebar-width",String(d(oi)))),Fe&&(Fe=!1,localStorage.setItem("she-scripts-log-height",String(d(hi)))),Ti&&(Ti=!1,localStorage.setItem("she-scripts-chat-width",String(d(xi)))),gi&&(gi=!1,localStorage.setItem("she-scripts-history-height",String(d(Ni))))}function nt(B){(B.ctrlKey||B.metaKey)&&B.key==="s"&&(B.preventDefault(),bi()),B.key==="Escape"&&(y(p,!1),y(s,null),y(Pe,!1))}async function _t(B,oe){const Me=await $.show("Save new script as:",{placeholder:"myscript.js",initial:B,confirm:"Create"});if(Me)try{await Jc(Me,oe),await St(),await lt(Me,!0)}catch(pe){y(g,pe.message,!0)}}async function mt(B){var Me,pe;if(d(si)&&d(u)){y(Si,B,!0),await Ze();return}if(y(Si,B,!0),await Om(),!d(Pi))return;Mi==null||Mi.dispose(),Je==null||Je.dispose(),Vi==null||Vi.dispose();const oe=((pe=(Me=d(Z))==null?void 0:Me.model)==null?void 0:pe.getValue())??"";Mi=dr.createModel(oe,"javascript"),Je=dr.createModel(B,"javascript"),Vi=dr.createDiffEditor(d(Pi),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),Vi.setModel({original:Mi,modified:Je})}$n(()=>{d(u),y(si,!1),y(ui,!1)});async function Ze(){if(d(Si)===null||!d(u))return;const B=d(Si);y(Si,null);const oe=d(c).find(Me=>Me.path===d(u));oe!=null&&oe.model&&(mi=!0,oe.model.setValue(B),mi=!1,oe.dirty=!1,oe.savedContent=B);try{await Jc(d(u),B),y(g,""),d(x)?await ai([d(u)],`update ${d(u)}`):Ft()}catch(Me){y(g,Me.message,!0)}ti()}function Ut(){y(Si,null),ti()}function ti(){Vi==null||Vi.dispose(),Vi=null,Mi==null||Mi.dispose(),Mi=null,Je==null||Je.dispose(),Je=null}var ln=uK();cs("keydown",Sd,nt),cs("mousemove",Sd,Pt),cs("mouseup",Sd,ye);var Qi=Et(ln);Ds(Jf(Qi,{}),B=>_e=B,()=>_e);var Dn=b(Qi,2);Ds(_q(Dn,{}),B=>$=B,()=>$);var Jn=b(Dn,2);{var Gi=B=>{var oe=bG(),Me=Et(oe),pe=b(Me,2);let yt;var Kt=v(pe);{var li=$i=>{var cn=_G(),Ui=Et(cn),tn=b(Ui,2),Ki=b(tn,4),Wn=b(Ki,2);G("click",Ui,()=>Ei(d(s).entry.path)),G("click",tn,()=>Te(d(s).entry.path)),G("click",Ki,()=>Ge(d(s).entry)),G("click",Wn,()=>Qe(d(s).entry)),E($i,cn)},en=$i=>{var cn=vG(),Ui=Et(cn),tn=b(Ui,2),Ki=b(tn,2),Wn=b(Ki,2);{var Zn=Xi=>{var hs=mG();G("click",hs,()=>un(d(s).entry)),E(Xi,hs)};W(Wn,Xi=>{d(m)&&Xi(Zn)})}var qn=b(Wn,4);G("click",Ui,()=>Ct(d(s).entry.path)),G("click",tn,()=>Ge(d(s).entry)),G("click",Ki,()=>bt(d(s).entry)),G("click",qn,()=>Qe(d(s).entry)),E($i,cn)};W(Kt,$i=>{d(s).entry.type==="dir"?$i(li):$i(en,-1)})}V(()=>yt=Fo(pe,"",yt,{left:`${d(s).x??""}px`,top:`${d(s).y??""}px`})),G("click",Me,vt),G("contextmenu",Me,$i=>{$i.preventDefault(),vt()}),E(B,oe)};W(Jn,B=>{d(s)&&B(Gi)})}var pi=b(Jn,2);{var bn=B=>{var oe=yG();let Me;V(()=>Me=Fo(oe,"",Me,{left:`${d(Ot).x??""}px`,top:`${d(Ot).y-4}px`})),E(B,oe)};W(pi,B=>{d(Ot)&&B(bn)})}var an=b(pi,2),rs=v(an);let co;{const B=(Me,pe=Ry,yt)=>{let Kt=S0(()=>d3(yt==null?void 0:yt(),!1));var li=Vs(),en=Et(li);{var $i=Ui=>{var tn=SG(),Ki=v(tn);let Wn;var Zn=v(Ki);let qn;var Xi=b(Zn,2);let hs;var Os=v(Xi),bs=b(Xi,2);{var as=wn=>{var Xo=sE();E(wn,Xo)},is=wt(()=>d(K).has(pe().path)||d(ae).has(pe().path));W(bs,wn=>{d(is)&&wn(as)})}var fs=b(bs,2),ys=v(fs),Fs=b(fs,2),pa=v(Fs),Wr=b(Ki,2);{var Hs=wn=>{var Xo=wG();_i(Xo,21,()=>pe().children,Ls=>Ls.path,(Ls,Br)=>{B(Ls,()=>d(Br),()=>pe().disabled||d(Kt))}),E(wn,Xo)};W(Wr,wn=>{d(i)[pe().path]&&pe().children&&wn(Hs)})}V(()=>{Wn=Rt(Ki,1,"dir-row svelte-1pyfjii",null,Wn,{"dir-selected":d(n)===pe().path,"drag-target":d(a)===pe().path}),Wi(Ki,"aria-selected",d(n)===pe().path),qn=Rt(Zn,1,"chevron svelte-1pyfjii",null,qn,{open:d(i)[pe().path]}),hs=Rt(Xi,1,"dir-name svelte-1pyfjii",null,hs,{lib:pe().lib}),F(Os,pe().name),Dg(ys,pe().lib),Dg(pa,pe().disabled)}),cs("dragstart",Ki,wn=>Gt(wn,pe().path)),cs("dragover",Ki,wn=>q(wn,pe().path)),cs("dragleave",Ki,ne),cs("drop",Ki,wn=>Ve(wn,pe().path)),G("contextmenu",Ki,wn=>ve(wn,pe())),G("click",Zn,()=>ni(pe().path)),G("click",Xi,()=>{y(n,pe().path,!0),d(i)[pe().path]=!0}),G("keydown",Xi,wn=>wn.key==="Enter"&&y(n,pe().path,!0)),cs("mouseenter",fs,ri),cs("mouseleave",fs,Wt),G("change",ys,()=>se(pe().path,!pe().lib)),G("change",pa,()=>Le(pe().path,!pe().disabled)),E(Ui,tn)},cn=Ui=>{const tn=wt(()=>d(at).has(pe().path)),Ki=wt(()=>d(K).has(pe().path)),Wn=wt(()=>d(c).some(Pn=>Pn.path===pe().path&&Pn.dirty)),Zn=wt(()=>(pe().name.split(".").pop()??"txt").toUpperCase()),qn=wt(()=>pe().name.endsWith(".js"));var Xi=DG();let hs;var Os=v(Xi),bs=v(Os);let as;var is=v(bs);let fs;var ys=v(is),Fs=b(is,2),pa=v(Fs),Wr=b(Fs,2);{var Hs=Pn=>{var ps=sE();E(Pn,ps)};W(Wr,Pn=>{d(Ki)&&Pn(Hs)})}var wn=b(Wr);{var Xo=Pn=>{var ps=CG();E(Pn,ps)};W(wn,Pn=>{d(Wn)&&Pn(Xo)})}var Ls=b(wn,2);{var Br=Pn=>{var ps=xG();E(Pn,ps)},lg=wt(()=>d(qn)&&d(ct).has(pe().path)&&!d(tn));W(Ls,Pn=>{d(lg)&&Pn(Br)})}var Wl=b(Ls,2);{var cg=Pn=>{var ps=kG();E(Pn,ps)};W(Wl,Pn=>{d(tn)&&Pn(cg)})}var zr=b(bs,2);{var pw=Pn=>{var ps=LG();let Gc;var Zu=v(ps);V(()=>{Gc=Rt(ps,1,"dis-label svelte-1pyfjii",null,Gc,{"dis-locked":d(Kt)}),Wi(ps,"title",d(Kt)?"Disabled by parent directory":"Disable — this script will not be executed"),Dg(Zu,pe().disabled),Zu.disabled=d(Kt)}),G("change",Zu,()=>Le(pe().path,!pe().disabled)),E(Pn,ps)},qc=Pn=>{var ps=IG();E(Pn,ps)};W(zr,Pn=>{d(qn)?Pn(pw):Pn(qc,-1)})}V((Pn,ps,Gc)=>{hs=Rt(Xi,1,"tree-file svelte-1pyfjii",null,hs,Pn),as=Rt(bs,1,"svelte-1pyfjii",null,as,{lib:pe().lib,dis:pe().disabled,err:d(tn)}),fs=Rt(is,1,`badge badge-${ps??""}`,"svelte-1pyfjii",fs,{"badge-shelib":pe().lib}),F(ys,Gc),F(pa,pe().name)},[()=>({active:d(c).some(Pn=>Pn.path===pe().path),"active-tab":pe().path===d(u)}),()=>d(Zn).toLowerCase(),()=>ei(d(Zn))]),cs("dragstart",Xi,Pn=>Gt(Pn,pe().path)),G("contextmenu",Xi,Pn=>ve(Pn,pe())),G("click",bs,()=>Ct(pe().path)),E(Ui,Xi)};W(en,Ui=>{pe().type==="dir"?Ui($i):Ui(cn,-1)})}E(Me,li)};var qo=v(rs),Nr=v(qo),Ga=b(Nr,2),Qn=b(Ga,2),fa=b(qo,2);{var ga=Me=>{var pe=EG(),yt=v(pe);V(()=>F(yt,d(g))),E(Me,pe)};W(fa,Me=>{d(g)&&Me(ga)})}var hn=b(fa,2),Rr=v(hn);let oe;var Zs=b(Rr,2);_i(Zs,17,()=>d(t),Me=>Me.path,(Me,pe)=>{B(Me,()=>d(pe))});var ks=b(hn,2);{var Xs=Me=>{var pe=AG();let yt;var Kt=v(pe),li=b(Kt,2),en=v(li),$i=v(en),cn=b(en,2),Ui=b(li,2),tn=v(Ui);{var Ki=qn=>{var Xi=TG();E(qn,Xi)},Wn=qn=>{var Xi=PG();E(qn,Xi)},Zn=qn=>{var Xi=RG(),hs=Et(Xi);_i(hs,17,()=>d(P),as=>as.hash,(as,is)=>{var fs=MG(),ys=v(fs),Fs=v(ys),pa=b(ys,2),Wr=v(pa);V((Hs,wn)=>{F(Fs,d(is).subject),F(Wr,`${Hs??""} · ${wn??""}`)},[()=>d(is).hash.slice(0,7),()=>Cn(d(is).date)]),G("click",fs,()=>ee(d(is))),E(as,fs)});var Os=b(hs,2);{var bs=as=>{var is=NG(),fs=v(is);V(()=>{is.disabled=d(A),F(fs,d(A)?"Loading…":"Load more")}),G("click",is,gn),E(as,is)};W(Os,as=>{d(P).length>=d(j)&&as(bs)})}E(qn,Xi)};W(tn,qn=>{d(A)&&d(P).length===0?qn(Ki):d(P).length===0?qn(Wn,1):qn(Zn,-1)})}V(()=>{yt=Fo(pe,"",yt,{height:`${d(Ni)??""}px`}),Wi(en,"title",d(D).path),F($i,`History: ${d(D).name??""}`)}),G("mousedown",Kt,ze),G("click",cn,z),E(Me,pe)};W(ks,Me=>{d(D)&&Me(Xs)})}V(()=>oe=Rt(Rr,1,"tree-root-drop svelte-1pyfjii",null,oe,{"drag-target":d(a)===""})),G("click",Nr,Ye),G("click",Ga,ge),G("click",Qn,St),cs("dragover",Rr,Me=>q(Me,"")),cs("dragleave",Rr,ne),cs("drop",Rr,Me=>Ve(Me,""))}var Ar=b(rs,2),Ka=b(Ar,2),Ol=v(Ka);{var Za=B=>{var oe=HG();_i(oe,21,()=>d(c),Me=>Me.path,(Me,pe)=>{var yt=FG();let Kt;var li=v(yt),en=v(li),$i=b(li,2);{var cn=tn=>{var Ki=OG();E(tn,Ki)};W($i,tn=>{d(pe).dirty&&tn(cn)})}var Ui=b($i,2);V(tn=>{Kt=Rt(yt,1,"tab svelte-1pyfjii",null,Kt,{active:d(pe).path===d(u)}),F(en,tn)},[()=>d(pe).path.split("/").pop()]),G("click",yt,()=>ft(d(pe).path)),G("keydown",yt,tn=>tn.key==="Enter"&&ft(d(pe).path)),G("click",Ui,tn=>{tn.stopPropagation(),Xe(d(pe).path)}),E(Me,yt)}),E(B,oe)};W(Ol,B=>{d(c).length>0&&B(Za)})}var Go=b(Ol,2),Or=v(Go),Fr=v(Or),R_=b(Or,2);{var ar=B=>{var oe=qG(),Me=v(oe),pe=v(Me),yt=b(Me,2);{var Kt=Ui=>{var tn=VG(),Ki=v(tn),Wn=v(Ki),Zn=b(Ki,2);{var qn=Xi=>{var hs=zG(),Os=Et(hs),bs=b(Os,2),as=b(v(bs),2);_i(as,21,()=>d(m).changes,on,(Hs,wn)=>{var Xo=WG(),Ls=v(Xo),Br=b(Ls,2),lg=v(Br),Wl=b(Br,2),cg=v(Wl);V(zr=>{Dg(Ls,zr),F(lg,d(wn).status),F(cg,d(wn).file)},[()=>d(Y).has(d(wn).file)]),G("change",Ls,()=>{const zr=new Set(d(Y));zr.has(d(wn).file)?zr.delete(d(wn).file):zr.add(d(wn).file),y(Y,zr,!0)}),E(Hs,Xo)});var is=b(as,2),fs=v(is),ys=b(fs,2),Fs=v(ys),pa=b(is,2);{var Wr=Hs=>{var wn=BG(),Xo=v(wn);V(()=>F(Xo,d(Q))),E(Hs,wn)};W(pa,Hs=>{d(Q)&&Hs(Wr)})}V(Hs=>{var wn;ys.disabled=Hs,F(Fs,d(R)?"…":d(Y).size===((wn=d(m))==null?void 0:wn.changes.length)?"Commit all":`Commit ${d(Y).size}`)},[()=>!d(rt).trim()||d(R)||d(Y).size===0]),G("click",Os,()=>y(Ce,!1)),G("keydown",fs,Hs=>Hs.key==="Enter"&&fe()),Zt(fs,()=>d(rt),Hs=>y(rt,Hs)),G("click",ys,fe),E(Xi,hs)};W(Zn,Xi=>{d(Ce)&&Xi(qn)})}V(()=>{Wi(Ki,"title",`${d(m).changes.length??""} uncommitted change(s) — click to view`),F(Wn,`✎${d(m).changes.length??""}`)}),G("click",Ki,()=>{d(Ce)||y(Y,new Set(d(m).changes.map(Xi=>Xi.file)),!0),y(Ce,!d(Ce)),y(Q,"")}),E(Ui,tn)};W(yt,Ui=>{d(m).changes.length>0&&Ui(Kt)})}var li=b(yt,2);{var en=Ui=>{var tn=$G(),Ki=v(tn),Wn=v(Ki),Zn=b(Ki,2);{var qn=Xi=>{var hs=jG(),Os=Et(hs),bs=b(Os,2),as=v(bs),is=v(as),fs=b(as,2),ys=v(fs);V(()=>F(is,`${d(m).ahead??""} unpushed commit(s)`)),G("click",Os,()=>y(Pe,!1)),G("click",ys,()=>{y(Pe,!1),fn()}),E(Xi,hs)};W(Zn,Xi=>{d(Pe)&&Xi(qn)})}V(()=>{Wi(Ki,"title",`${d(m).ahead??""} commit(s) ahead of upstream — click to push`),F(Wn,`↑${d(m).ahead??""}`)}),G("click",Ki,()=>y(Pe,!d(Pe))),E(Ui,tn)};W(li,Ui=>{d(m).ahead>0&&Ui(en)})}var $i=b(li,2);{var cn=Ui=>{var tn=UG(),Ki=v(tn);V(()=>{Wi(tn,"title",`${d(m).behind??""} commit(s) behind upstream`),F(Ki,`↓${d(m).behind??""}`)}),E(Ui,tn)};W($i,Ui=>{d(m).behind>0&&Ui(cn)})}V(()=>{Wi(Me,"title",`Branch: ${d(m).branch??""}`),F(pe,`⎇ ${d(m).branch??""}`)}),E(B,oe)};W(R_,B=>{d(m)&&B(ar)})}var A_=b(R_,2),eg=v(A_),Ko=v(eg),O_=v(Ko),tg=b(Ko,2),ig=b(eg,2);{var dw=B=>{var oe=GG(),Me=Et(oe),pe=b(Me,2),yt=v(pe),Kt=b(yt,2);G("click",Me,()=>y(p,!1)),G("click",yt,()=>{y(p,!1),bi()}),G("click",Kt,()=>{y(p,!1),Di()}),E(B,oe)};W(ig,B=>{d(p)&&B(dw)})}var ng=b(A_,2);{var F_=B=>{var oe=KG();G("click",oe,Oe),E(B,oe)};W(ng,B=>{d(u)&&B(F_)})}var sg=b(ng,2);let H_;var og=b(Go,2),W_=v(og),rg=v(W_),ag=v(rg);Ds(ag,B=>Dt=B,()=>Dt);var jc=b(ag,2);{var Xa=B=>{var oe=ZG();E(B,oe)};W(jc,B=>{d(u)||B(Xa)})}var B_=b(jc,2);{var $c=B=>{var oe=QG(),Me=v(oe),pe=v(Me),yt=b(v(pe)),Kt=v(yt),li=b(pe,2),en=v(li),$i=v(en),cn=v($i),Ui=v(cn),tn=b(cn,2),Ki=b($i,2);{var Wn=Xi=>{var hs=JG(),Os=Et(hs),bs=b(Os,2),as=v(bs);{var is=ys=>{var Fs=XG();G("click",Fs,()=>{y(ui,!1),y(si,!0),Ze()}),E(ys,Fs)},fs=ys=>{var Fs=YG();G("click",Fs,()=>{y(ui,!1),y(si,!1)}),E(ys,Fs)};W(as,ys=>{d(si)?ys(fs,-1):ys(is)})}G("click",Os,()=>y(ui,!1)),E(Xi,hs)};W(Ki,Xi=>{d(ui)&&Xi(Wn)})}var Zn=b(en,2),qn=b(Me,2);Ds(qn,Xi=>y(Pi,Xi),()=>d(Pi)),V(Xi=>{F(Kt,Xi),F(Ui,d(si)?"Auto-accept ✓":"Accept")},[()=>{var Xi;return(Xi=d(u))==null?void 0:Xi.split("/").pop()}]),G("click",cn,Ze),G("click",tn,()=>y(ui,!d(ui))),G("click",Zn,Ut),E(B,oe)};W(B_,B=>{d(Si)!==null&&B($c)})}var To=b(B_,2);{var z_=B=>{var oe=iK(),Me=v(oe),pe=v(Me),yt=b(v(pe)),Kt=v(yt),li=b(yt,2),en=v(li),$i=b(pe,2),cn=v($i),Ui=b(Me,2);{var tn=Wn=>{var Zn=eK();E(Wn,Zn)},Ki=Wn=>{var Zn=tK();Ds(Zn,qn=>y(H,qn),()=>d(H)),E(Wn,Zn)};W(Ui,Wn=>{d(ce)?Wn(tn):Wn(Ki,-1)})}V(Wn=>{var Zn;F(Kt,Wn),F(en,(Zn=d(D))==null?void 0:Zn.name)},[()=>d(Be).slice(0,7)]),G("click",cn,Ue),E(B,oe)};W(To,B=>{d(we)&&B(z_)})}var Uu=b(rg,2);let V_,qu;var Gu=v(Uu);{var uw=B=>{var oe=nK();G("mousedown",oe,He),E(B,oe)};W(Gu,B=>{d(w)&&B(uw)})}var j_=b(Gu,2),Ku=v(j_),$_=v(Ku),Zo=b($_);{var Fl=B=>{var oe=sK(),Me=v(oe);V(pe=>F(Me,`— ${pe??""}`),[()=>d(u).split("/").pop()]),E(B,oe)};W(Zo,B=>{d(u)&&B(Fl)})}var hw=b(Ku,2);{var Hr=B=>{var oe=rK(),Me=Et(oe);_i(Me,21,()=>Re,on,(en,$i)=>{var cn=oK(),Ui=v(cn),tn={};V(()=>{F(Ui,d($i)),tn!==(tn=d($i))&&(cn.value=(cn.__value=d($i))??"")}),E(en,cn)});var pe=b(Me,2),yt=b(pe,2),Kt=v(yt),li=b(yt,2);Ho(Me,()=>d(Tt),en=>y(Tt,en)),Zt(pe,()=>d(Ne),en=>y(Ne,en)),Is(Kt,()=>d(Lt),en=>y(Lt,en)),G("click",li,De),E(B,oe)};W(hw,B=>{d(w)&&B(Hr)})}var fw=b(j_,2);{var Hl=B=>{var oe=cK(),Me=v(oe);_i(Me,17,()=>{var Kt;return(((Kt=d(Z))==null?void 0:Kt.logEntries)??[]).filter(tt)},Kt=>Kt.ts+Kt.msg,(Kt,li)=>{var en=aK(),$i=v(en),cn=v($i),Ui=b($i,2),tn=v(Ui),Ki=b(Ui,2),Wn=v(Ki);V((Zn,qn)=>{Rt(en,1,`log-line ${d(li).level??""}`,"svelte-1pyfjii"),F(cn,Zn),F(tn,qn),F(Wn,d(li).msg)},[()=>xt(d(li).ts),()=>d(li).level.toUpperCase()]),E(Kt,en)});var pe=b(Me,2);{var yt=Kt=>{var li=lK();E(Kt,li)};W(pe,Kt=>{var li;(((li=d(Z))==null?void 0:li.logEntries.length)??0)===0&&Kt(yt)})}Ds(oe,Kt=>y(st,Kt),()=>d(st)),E(B,oe)};W(fw,B=>{d(w)&&B(Hl)})}var gw=b(W_,2);{var Uc=B=>{var oe=dK(),Me=Et(oe),pe=b(Me,2);let yt;var Kt=v(pe);iG(Kt,{get currentScript(){return d(he)},onApply:mt,onCreateFile:_t,get extraFiles(){return d(gt)},set extraFiles(li){y(gt,li,!0)}}),V(()=>yt=Fo(pe,"",yt,{width:`${d(xi)??""}px`})),G("mousedown",Me,We),E(B,oe)};W(gw,B=>{d(Hi)&&B(Uc)})}V(()=>{var B;co=Fo(rs,"",co,{width:`${d(oi)??""}px`}),F(Fr,d(u)??"No file selected"),Ko.disabled=!((B=d(Z))!=null&&B.dirty)||d(f),F(O_,d(f)?"Saving…":"Save"),tg.disabled=!d(u),H_=Rt(sg,1,"ai-toggle svelte-1pyfjii",null,H_,{"ai-open":d(Hi)}),Wi(sg,"title",d(Hi)?"Close AI assistant":"Open AI assistant"),V_=Rt(Uu,1,"log-panel svelte-1pyfjii",null,V_,{collapsed:!d(w)}),qu=Fo(Uu,"",qu,{height:d(w)?`${d(hi)}px`:"26px"}),F($_,`${d(w)?"▾":"▸"} Script Log `)}),G("mousedown",Ar,Ee),G("click",Ko,bi),G("click",tg,()=>y(p,!d(p))),G("click",sg,()=>y(Hi,!d(Hi))),G("click",Ku,Bt),E(o,ln),Rs()}Ks(["click","contextmenu","keydown","change","mousedown"]);const cA="she-theme";function fK(){return localStorage.getItem(cA)??"dark"}function gK(o){localStorage.setItem(cA,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o)}var zg={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 pK=zg.exports,oE;function _K(){return oE||(oE=1,(function(o,e){(function(t,i){i(e)})(pK,(function(t){var i="1.9.4";function n(l){var h,_,S,I;for(_=1,S=arguments.length;_<S;_++){I=arguments[_];for(h in I)l[h]=I[h]}return l}var s=Object.create||(function(){function l(){}return function(h){return l.prototype=h,new l}})();function r(l,h){var _=Array.prototype.slice;if(l.bind)return l.bind.apply(l,_.call(arguments,1));var S=_.call(arguments,2);return function(){return l.apply(h,S.length?S.concat(_.call(arguments)):arguments)}}var a=0;function c(l){return"_leaflet_id"in l||(l._leaflet_id=++a),l._leaflet_id}function u(l,h,_){var S,I,N,X;return X=function(){S=!1,I&&(N.apply(_,I),I=!1)},N=function(){S?I=arguments:(l.apply(_,arguments),setTimeout(X,h),S=!0)},N}function f(l,h,_){var S=h[1],I=h[0],N=S-I;return l===S&&_?l:((l-I)%N+N)%N+I}function g(){return!1}function p(l,h){if(h===!1)return l;var _=Math.pow(10,h===void 0?6:h);return Math.round(l*_)/_}function w(l){return l.trim?l.trim():l.replace(/^\s+|\s+$/g,"")}function m(l){return w(l).split(/\s+/)}function x(l,h){Object.prototype.hasOwnProperty.call(l,"options")||(l.options=l.options?s(l.options):{});for(var _ in h)l.options[_]=h[_];return l.options}function k(l,h,_){var S=[];for(var I in l)S.push(encodeURIComponent(_?I.toUpperCase():I)+"="+encodeURIComponent(l[I]));return(!h||h.indexOf("?")===-1?"?":"&")+S.join("&")}var D=/\{ *([\w_ -]+) *\}/g;function P(l,h){return l.replace(D,function(_,S){var I=h[S];if(I===void 0)throw new Error("No value provided for variable "+_);return typeof I=="function"&&(I=I(h)),I})}var A=Array.isArray||function(l){return Object.prototype.toString.call(l)==="[object Array]"};function j(l,h){for(var _=0;_<l.length;_++)if(l[_]===h)return _;return-1}var H="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function te(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var J=0;function le(l){var h=+new Date,_=Math.max(0,16-(h-J));return J=h+_,window.setTimeout(l,_)}var we=window.requestAnimationFrame||te("RequestAnimationFrame")||le,Be=window.cancelAnimationFrame||te("CancelAnimationFrame")||te("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function ce(l,h,_){if(_&&we===le)l.call(h);else return we.call(window,r(l,h))}function st(l){l&&Be.call(window,l)}var at={__proto__:null,extend:n,create:s,bind:r,get lastId(){return a},stamp:c,throttle:u,wrapNum:f,falseFn:g,formatNum:p,trim:w,splitWords:m,setOptions:x,getParamString:k,template:P,isArray:A,indexOf:j,emptyImageUrl:H,requestFn:we,cancelFn:Be,requestAnimFrame:ce,cancelAnimFrame:st};function me(){}me.extend=function(l){var h=function(){x(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},_=h.__super__=this.prototype,S=s(_);S.constructor=h,h.prototype=S;for(var I in this)Object.prototype.hasOwnProperty.call(this,I)&&I!=="prototype"&&I!=="__super__"&&(h[I]=this[I]);return l.statics&&n(h,l.statics),l.includes&&(ct(l.includes),n.apply(null,[S].concat(l.includes))),n(S,l),delete S.statics,delete S.includes,S.options&&(S.options=_.options?s(_.options):{},n(S.options,l.options)),S._initHooks=[],S.callInitHooks=function(){if(!this._initHooksCalled){_.callInitHooks&&_.callInitHooks.call(this),this._initHooksCalled=!0;for(var N=0,X=S._initHooks.length;N<X;N++)S._initHooks[N].call(this)}},h},me.include=function(l){var h=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=h,this.mergeOptions(l.options)),this},me.mergeOptions=function(l){return n(this.prototype.options,l),this},me.addInitHook=function(l){var h=Array.prototype.slice.call(arguments,1),_=typeof l=="function"?l:function(){this[l].apply(this,h)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(_),this};function ct(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=A(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 gt={on:function(l,h,_){if(typeof l=="object")for(var S in l)this._on(S,l[S],h);else{l=m(l);for(var I=0,N=l.length;I<N;I++)this._on(l[I],h,_)}return this},off:function(l,h,_){if(!arguments.length)delete this._events;else if(typeof l=="object")for(var S in l)this._off(S,l[S],h);else{l=m(l);for(var I=arguments.length===1,N=0,X=l.length;N<X;N++)I?this._off(l[N]):this._off(l[N],h,_)}return this},_on:function(l,h,_,S){if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}if(this._listens(l,h,_)===!1){_===this&&(_=void 0);var I={fn:h,ctx:_};S&&(I.once=!0),this._events=this._events||{},this._events[l]=this._events[l]||[],this._events[l].push(I)}},_off:function(l,h,_){var S,I,N;if(this._events&&(S=this._events[l],!!S)){if(arguments.length===1){if(this._firingCount)for(I=0,N=S.length;I<N;I++)S[I].fn=g;delete this._events[l];return}if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}var X=this._listens(l,h,_);if(X!==!1){var de=S[X];this._firingCount&&(de.fn=g,this._events[l]=S=S.slice()),S.splice(X,1)}}},fire:function(l,h,_){if(!this.listens(l,_))return this;var S=n({},h,{type:l,target:this,sourceTarget:h&&h.sourceTarget||this});if(this._events){var I=this._events[l];if(I){this._firingCount=this._firingCount+1||1;for(var N=0,X=I.length;N<X;N++){var de=I[N],xe=de.fn;de.once&&this.off(l,xe,de.ctx),xe.call(de.ctx||this,S)}this._firingCount--}}return _&&this._propagateEvent(S),this},listens:function(l,h,_,S){typeof l!="string"&&console.warn('"string" type argument expected');var I=h;typeof h!="function"&&(S=!!h,I=void 0,_=void 0);var N=this._events&&this._events[l];if(N&&N.length&&this._listens(l,I,_)!==!1)return!0;if(S){for(var X in this._eventParents)if(this._eventParents[X].listens(l,h,_,S))return!0}return!1},_listens:function(l,h,_){if(!this._events)return!1;var S=this._events[l]||[];if(!h)return!!S.length;_===this&&(_=void 0);for(var I=0,N=S.length;I<N;I++)if(S[I].fn===h&&S[I].ctx===_)return I;return!1},once:function(l,h,_){if(typeof l=="object")for(var S in l)this._on(S,l[S],h,!0);else{l=m(l);for(var I=0,N=l.length;I<N;I++)this._on(l[I],h,_,!0)}return this},addEventParent:function(l){return this._eventParents=this._eventParents||{},this._eventParents[c(l)]=l,this},removeEventParent:function(l){return this._eventParents&&delete this._eventParents[c(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)}};gt.addEventListener=gt.on,gt.removeEventListener=gt.clearAllEventListeners=gt.off,gt.addOneTimeEventListener=gt.once,gt.fireEvent=gt.fire,gt.hasEventListeners=gt.listens;var Tt=me.extend(gt);function Ne(l,h,_){this.x=_?Math.round(l):l,this.y=_?Math.round(h):h}var Lt=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};Ne.prototype={clone:function(){return new Ne(this.x,this.y)},add:function(l){return this.clone()._add(Re(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(Re(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 Ne(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new Ne(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=Lt(this.x),this.y=Lt(this.y),this},distanceTo:function(l){l=Re(l);var h=l.x-this.x,_=l.y-this.y;return Math.sqrt(h*h+_*_)},equals:function(l){return l=Re(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=Re(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 Re(l,h,_){return l instanceof Ne?l:A(l)?new Ne(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new Ne(l.x,l.y):new Ne(l,h,_)}function ke(l,h){if(l)for(var _=h?[l,h]:l,S=0,I=_.length;S<I;S++)this.extend(_[S])}ke.prototype={extend:function(l){var h,_;if(!l)return this;if(l instanceof Ne||typeof l[0]=="number"||"x"in l)h=_=Re(l);else if(l=tt(l),h=l.min,_=l.max,!h||!_)return this;return!this.min&&!this.max?(this.min=h.clone(),this.max=_.clone()):(this.min.x=Math.min(h.x,this.min.x),this.max.x=Math.max(_.x,this.max.x),this.min.y=Math.min(h.y,this.min.y),this.max.y=Math.max(_.y,this.max.y)),this},getCenter:function(l){return Re((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return Re(this.min.x,this.max.y)},getTopRight:function(){return Re(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,_;return typeof l[0]=="number"||l instanceof Ne?l=Re(l):l=tt(l),l instanceof ke?(h=l.min,_=l.max):h=_=l,h.x>=this.min.x&&_.x<=this.max.x&&h.y>=this.min.y&&_.y<=this.max.y},intersects:function(l){l=tt(l);var h=this.min,_=this.max,S=l.min,I=l.max,N=I.x>=h.x&&S.x<=_.x,X=I.y>=h.y&&S.y<=_.y;return N&&X},overlaps:function(l){l=tt(l);var h=this.min,_=this.max,S=l.min,I=l.max,N=I.x>h.x&&S.x<_.x,X=I.y>h.y&&S.y<_.y;return N&&X},isValid:function(){return!!(this.min&&this.max)},pad:function(l){var h=this.min,_=this.max,S=Math.abs(h.x-_.x)*l,I=Math.abs(h.y-_.y)*l;return tt(Re(h.x-S,h.y-I),Re(_.x+S,_.y+I))},equals:function(l){return l?(l=tt(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function tt(l,h){return!l||l instanceof ke?l:new ke(l,h)}function Ot(l,h){if(l)for(var _=h?[l,h]:l,S=0,I=_.length;S<I;S++)this.extend(_[S])}Ot.prototype={extend:function(l){var h=this._southWest,_=this._northEast,S,I;if(l instanceof Wt)S=l,I=l;else if(l instanceof Ot){if(S=l._southWest,I=l._northEast,!S||!I)return this}else return l?this.extend(Dt(l)||ri(l)):this;return!h&&!_?(this._southWest=new Wt(S.lat,S.lng),this._northEast=new Wt(I.lat,I.lng)):(h.lat=Math.min(S.lat,h.lat),h.lng=Math.min(S.lng,h.lng),_.lat=Math.max(I.lat,_.lat),_.lng=Math.max(I.lng,_.lng)),this},pad:function(l){var h=this._southWest,_=this._northEast,S=Math.abs(h.lat-_.lat)*l,I=Math.abs(h.lng-_.lng)*l;return new Ot(new Wt(h.lat-S,h.lng-I),new Wt(_.lat+S,_.lng+I))},getCenter:function(){return new Wt((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 Wt(this.getNorth(),this.getWest())},getSouthEast:function(){return new Wt(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 Wt||"lat"in l?l=Dt(l):l=ri(l);var h=this._southWest,_=this._northEast,S,I;return l instanceof Ot?(S=l.getSouthWest(),I=l.getNorthEast()):S=I=l,S.lat>=h.lat&&I.lat<=_.lat&&S.lng>=h.lng&&I.lng<=_.lng},intersects:function(l){l=ri(l);var h=this._southWest,_=this._northEast,S=l.getSouthWest(),I=l.getNorthEast(),N=I.lat>=h.lat&&S.lat<=_.lat,X=I.lng>=h.lng&&S.lng<=_.lng;return N&&X},overlaps:function(l){l=ri(l);var h=this._southWest,_=this._northEast,S=l.getSouthWest(),I=l.getNorthEast(),N=I.lat>h.lat&&S.lat<_.lat,X=I.lng>h.lng&&S.lng<_.lng;return N&&X},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,h){return l?(l=ri(l),this._southWest.equals(l.getSouthWest(),h)&&this._northEast.equals(l.getNorthEast(),h)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function ri(l,h){return l instanceof Ot?l:new Ot(l,h)}function Wt(l,h,_){if(isNaN(l)||isNaN(h))throw new Error("Invalid LatLng object: ("+l+", "+h+")");this.lat=+l,this.lng=+h,_!==void 0&&(this.alt=+_)}Wt.prototype={equals:function(l,h){if(!l)return!1;l=Dt(l);var _=Math.max(Math.abs(this.lat-l.lat),Math.abs(this.lng-l.lng));return _<=(h===void 0?1e-9:h)},toString:function(l){return"LatLng("+p(this.lat,l)+", "+p(this.lng,l)+")"},distanceTo:function(l){return kt.distance(this,Dt(l))},wrap:function(){return kt.wrapLatLng(this)},toBounds:function(l){var h=180*l/40075017,_=h/Math.cos(Math.PI/180*this.lat);return ri([this.lat-h,this.lng-_],[this.lat+h,this.lng+_])},clone:function(){return new Wt(this.lat,this.lng,this.alt)}};function Dt(l,h,_){return l instanceof Wt?l:A(l)&&typeof l[0]!="object"?l.length===3?new Wt(l[0],l[1],l[2]):l.length===2?new Wt(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new Wt(l.lat,"lng"in l?l.lng:l.lon,l.alt):h===void 0?null:new Wt(l,h,_)}var Mt={latLngToPoint:function(l,h){var _=this.projection.project(l),S=this.scale(h);return this.transformation._transform(_,S)},pointToLatLng:function(l,h){var _=this.scale(h),S=this.transformation.untransform(l,_);return this.projection.unproject(S)},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,_=this.scale(l),S=this.transformation.transform(h.min,_),I=this.transformation.transform(h.max,_);return new ke(S,I)},infinite:!1,wrapLatLng:function(l){var h=this.wrapLng?f(l.lng,this.wrapLng,!0):l.lng,_=this.wrapLat?f(l.lat,this.wrapLat,!0):l.lat,S=l.alt;return new Wt(_,h,S)},wrapLatLngBounds:function(l){var h=l.getCenter(),_=this.wrapLatLng(h),S=h.lat-_.lat,I=h.lng-_.lng;if(S===0&&I===0)return l;var N=l.getSouthWest(),X=l.getNorthEast(),de=new Wt(N.lat-S,N.lng-I),xe=new Wt(X.lat-S,X.lng-I);return new Ot(de,xe)}},kt=n({},Mt,{wrapLng:[-180,180],R:6371e3,distance:function(l,h){var _=Math.PI/180,S=l.lat*_,I=h.lat*_,N=Math.sin((h.lat-l.lat)*_/2),X=Math.sin((h.lng-l.lng)*_/2),de=N*N+Math.cos(S)*Math.cos(I)*X*X,xe=2*Math.atan2(Math.sqrt(de),Math.sqrt(1-de));return this.R*xe}}),mi=6378137,di={R:mi,MAX_LATITUDE:85.0511287798,project:function(l){var h=Math.PI/180,_=this.MAX_LATITUDE,S=Math.max(Math.min(_,l.lat),-_),I=Math.sin(S*h);return new Ne(this.R*l.lng*h,this.R*Math.log((1+I)/(1-I))/2)},unproject:function(l){var h=180/Math.PI;return new Wt((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*h,l.x*h/this.R)},bounds:(function(){var l=mi*Math.PI;return new ke([-l,-l],[l,l])})()};function Li(l,h,_,S){if(A(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=_,this._d=S}Li.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 Ne((l.x/h-this._b)/this._a,(l.y/h-this._d)/this._c)}};function Ai(l,h,_,S){return new Li(l,h,_,S)}var Oi=n({},kt,{code:"EPSG:3857",projection:di,transformation:(function(){var l=.5/(Math.PI*di.R);return Ai(l,.5,-l,.5)})()}),Hi=n({},Oi,{code:"EPSG:900913"});function Si(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function si(l,h){var _="",S,I,N,X,de,xe;for(S=0,N=l.length;S<N;S++){for(de=l[S],I=0,X=de.length;I<X;I++)xe=de[I],_+=(I?"L":"M")+xe.x+" "+xe.y;_+=h?Ie.svg?"z":"x":""}return _||"M0 0"}var ui=document.documentElement.style,Pi="ActiveXObject"in window,Vi=Pi&&!document.addEventListener,Mi="msLaunchUri"in navigator&&!("documentMode"in document),Je=Ae("webkit"),oi=Ae("android"),hi=Ae("android 2")||Ae("android 3"),xi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Ni=oi&&Ae("Google")&&xi<537&&!("AudioNode"in window),dn=!!window.opera,ji=!Mi&&Ae("chrome"),Tn=Ae("gecko")&&!Je&&!dn&&!Pi,Fe=!ji&&Ae("safari"),Qt=Ae("phantom"),fi="OTransition"in ui,Ti=navigator.platform.indexOf("Win")===0,$e=Pi&&"transition"in ui,$t="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!hi,gi="MozPerspective"in ui,Ii=!window.L_DISABLE_3D&&($e||$t||gi)&&!fi&&!Qt,qe=typeof orientation<"u"||Ae("mobile"),he=qe&&Je,K=qe&&$t,ae=!window.PointerEvent&&window.MSPointerEvent,Ce=!!(window.PointerEvent||ae),Pe="ontouchstart"in window||!!window.TouchEvent,rt=!window.L_NO_TOUCH&&(Pe||Ce),R=qe&&dn,Q=qe&&Tn,Y=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,fe=(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})(),_e=(function(){return!!document.createElement("canvas").getContext})(),$=!!(document.createElementNS&&Si("svg").createSVGRect),Z=!!$&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),ie=!$&&(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}})(),Se=navigator.platform.indexOf("Mac")===0,pt=navigator.platform.indexOf("Linux")===0;function Ae(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var Ie={ie:Pi,ielt9:Vi,edge:Mi,webkit:Je,android:oi,android23:hi,androidStock:Ni,opera:dn,chrome:ji,gecko:Tn,safari:Fe,phantom:Qt,opera12:fi,win:Ti,ie3d:$e,webkit3d:$t,gecko3d:gi,any3d:Ii,mobile:qe,mobileWebkit:he,mobileWebkit3d:K,msPointer:ae,pointer:Ce,touch:rt,touchNative:Pe,mobileOpera:R,mobileGecko:Q,retina:Y,passiveEvents:fe,canvas:_e,svg:$,vml:ie,inlineSvg:Z,mac:Se,linux:pt},ot=Ie.msPointer?"MSPointerDown":"pointerdown",It=Ie.msPointer?"MSPointerMove":"pointermove",St=Ie.msPointer?"MSPointerUp":"pointerup",ni=Ie.msPointer?"MSPointerCancel":"pointercancel",ei={touchstart:ot,touchmove:It,touchend:St,touchcancel:ni},se={touchstart:fn,touchmove:Di,touchend:Di,touchcancel:Di},Le={},lt=!1;function Ct(l,h,_){return h==="touchstart"&&bi(),se[h]?(_=se[h].bind(this,_),l.addEventListener(ei[h],_,!1),_):(console.warn("wrong event specified:",h),g)}function ft(l,h,_){if(!ei[h]){console.warn("wrong event specified:",h);return}l.removeEventListener(ei[h],_,!1)}function Xe(l){Le[l.pointerId]=l}function Ft(l){Le[l.pointerId]&&(Le[l.pointerId]=l)}function ai(l){delete Le[l.pointerId]}function bi(){lt||(document.addEventListener(ot,Xe,!0),document.addEventListener(It,Ft,!0),document.addEventListener(St,ai,!0),document.addEventListener(ni,ai,!0),lt=!0)}function Di(l,h){if(h.pointerType!==(h.MSPOINTER_TYPE_MOUSE||"mouse")){h.touches=[];for(var _ in Le)h.touches.push(Le[_]);h.changedTouches=[h],l(h)}}function fn(l,h){h.MSPOINTER_TYPE_TOUCH&&h.pointerType===h.MSPOINTER_TYPE_TOUCH&&an(h),Di(l,h)}function Cn(l){var h={},_,S;for(S in l)_=l[S],h[S]=_&&_.bind?_.bind(l):_;return l=h,h.type="dblclick",h.detail=2,h.isTrusted=!1,h._simulated=!0,h}var un=200;function ki(l,h){l.addEventListener("dblclick",h);var _=0,S;function I(N){if(N.detail!==1){S=N.detail;return}if(!(N.pointerType==="mouse"||N.sourceCapabilities&&!N.sourceCapabilities.firesTouchEvents)){var X=co(N);if(!(X.some(function(xe){return xe instanceof HTMLLabelElement&&xe.attributes.for})&&!X.some(function(xe){return xe instanceof HTMLInputElement||xe instanceof HTMLSelectElement}))){var de=Date.now();de-_<=un?(S++,S===2&&h(Cn(N))):S=1,_=de}}}return l.addEventListener("click",I),{dblclick:h,simDblclick:I}}function gn(l,h){l.removeEventListener("dblclick",h.dblclick),l.removeEventListener("click",h.simDblclick)}var z=et(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ee=et(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Ue=ee==="webkitTransition"||ee==="OTransition"?ee+"End":"transitionend";function Ye(l){return typeof l=="string"?document.getElementById(l):l}function ge(l,h){var _=l.style[h]||l.currentStyle&&l.currentStyle[h];if((!_||_==="auto")&&document.defaultView){var S=document.defaultView.getComputedStyle(l,null);_=S?S[h]:null}return _==="auto"?null:_}function ve(l,h,_){var S=document.createElement(l);return S.className=h||"",_&&_.appendChild(S),S}function vt(l){var h=l.parentNode;h&&h.removeChild(l)}function Ei(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function Te(l){var h=l.parentNode;h&&h.lastChild!==l&&h.appendChild(l)}function Ge(l){var h=l.parentNode;h&&h.firstChild!==l&&h.insertBefore(l,h.firstChild)}function Ht(l,h){if(l.classList!==void 0)return l.classList.contains(h);var _=q(l);return _.length>0&&new RegExp("(^|\\s)"+h+"(\\s|$)").test(_)}function Qe(l,h){if(l.classList!==void 0)for(var _=m(h),S=0,I=_.length;S<I;S++)l.classList.add(_[S]);else if(!Ht(l,h)){var N=q(l);Gt(l,(N?N+" ":"")+h)}}function bt(l,h){l.classList!==void 0?l.classList.remove(h):Gt(l,w((" "+q(l)+" ").replace(" "+h+" "," ")))}function Gt(l,h){l.className.baseVal===void 0?l.className=h:l.className.baseVal=h}function q(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function ne(l,h){"opacity"in l.style?l.style.opacity=h:"filter"in l.style&&Ve(l,h)}function Ve(l,h){var _=!1,S="DXImageTransform.Microsoft.Alpha";try{_=l.filters.item(S)}catch{if(h===1)return}h=Math.round(h*100),_?(_.Enabled=h!==100,_.Opacity=h):l.style.filter+=" progid:"+S+"(opacity="+h+")"}function et(l){for(var h=document.documentElement.style,_=0;_<l.length;_++)if(l[_]in h)return l[_];return!1}function Oe(l,h,_){var S=h||new Ne(0,0);l.style[z]=(Ie.ie3d?"translate("+S.x+"px,"+S.y+"px)":"translate3d("+S.x+"px,"+S.y+"px,0)")+(_?" scale("+_+")":"")}function De(l,h){l._leaflet_pos=h,Ie.any3d?Oe(l,h):(l.style.left=h.x+"px",l.style.top=h.y+"px")}function Bt(l){return l._leaflet_pos||new Ne(0,0)}var xt,Ke,zt;if("onselectstart"in document)xt=function(){Ze(window,"selectstart",an)},Ke=function(){ti(window,"selectstart",an)};else{var it=et(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);xt=function(){if(it){var l=document.documentElement.style;zt=l[it],l[it]="none"}},Ke=function(){it&&(document.documentElement.style[it]=zt,zt=void 0)}}function Ee(){Ze(window,"dragstart",an)}function He(){ti(window,"dragstart",an)}var We,ze;function Pt(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(ye(),We=l,ze=l.style.outlineStyle,l.style.outlineStyle="none",Ze(window,"keydown",ye))}function ye(){We&&(We.style.outlineStyle=ze,We=void 0,ze=void 0,ti(window,"keydown",ye))}function nt(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function _t(l){var h=l.getBoundingClientRect();return{x:h.width/l.offsetWidth||1,y:h.height/l.offsetHeight||1,boundingClientRect:h}}var mt={__proto__:null,TRANSFORM:z,TRANSITION:ee,TRANSITION_END:Ue,get:Ye,getStyle:ge,create:ve,remove:vt,empty:Ei,toFront:Te,toBack:Ge,hasClass:Ht,addClass:Qe,removeClass:bt,setClass:Gt,getClass:q,setOpacity:ne,testProp:et,setTransform:Oe,setPosition:De,getPosition:Bt,get disableTextSelection(){return xt},get enableTextSelection(){return Ke},disableImageDrag:Ee,enableImageDrag:He,preventOutline:Pt,restoreOutline:ye,getSizedParentNode:nt,getScale:_t};function Ze(l,h,_,S){if(h&&typeof h=="object")for(var I in h)Dn(l,I,h[I],_);else{h=m(h);for(var N=0,X=h.length;N<X;N++)Dn(l,h[N],_,S)}return this}var Ut="_leaflet_events";function ti(l,h,_,S){if(arguments.length===1)ln(l),delete l[Ut];else if(h&&typeof h=="object")for(var I in h)Jn(l,I,h[I],_);else if(h=m(h),arguments.length===2)ln(l,function(de){return j(h,de)!==-1});else for(var N=0,X=h.length;N<X;N++)Jn(l,h[N],_,S);return this}function ln(l,h){for(var _ in l[Ut]){var S=_.split(/\d/)[0];(!h||h(S))&&Jn(l,S,null,null,_)}}var Qi={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Dn(l,h,_,S){var I=h+c(_)+(S?"_"+c(S):"");if(l[Ut]&&l[Ut][I])return this;var N=function(de){return _.call(S||l,de||window.event)},X=N;!Ie.touchNative&&Ie.pointer&&h.indexOf("touch")===0?N=Ct(l,h,N):Ie.touch&&h==="dblclick"?N=ki(l,N):"addEventListener"in l?h==="touchstart"||h==="touchmove"||h==="wheel"||h==="mousewheel"?l.addEventListener(Qi[h]||h,N,Ie.passiveEvents?{passive:!1}:!1):h==="mouseenter"||h==="mouseleave"?(N=function(de){de=de||window.event,Qn(l,de)&&X(de)},l.addEventListener(Qi[h],N,!1)):l.addEventListener(h,X,!1):l.attachEvent("on"+h,N),l[Ut]=l[Ut]||{},l[Ut][I]=N}function Jn(l,h,_,S,I){I=I||h+c(_)+(S?"_"+c(S):"");var N=l[Ut]&&l[Ut][I];if(!N)return this;!Ie.touchNative&&Ie.pointer&&h.indexOf("touch")===0?ft(l,h,N):Ie.touch&&h==="dblclick"?gn(l,N):"removeEventListener"in l?l.removeEventListener(Qi[h]||h,N,!1):l.detachEvent("on"+h,N),l[Ut][I]=null}function Gi(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function pi(l){return Dn(l,"wheel",Gi),this}function bn(l){return Ze(l,"mousedown touchstart dblclick contextmenu",Gi),l._leaflet_disable_click=!0,this}function an(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function rs(l){return an(l),Gi(l),this}function co(l){if(l.composedPath)return l.composedPath();for(var h=[],_=l.target;_;)h.push(_),_=_.parentNode;return h}function qo(l,h){if(!h)return new Ne(l.clientX,l.clientY);var _=_t(h),S=_.boundingClientRect;return new Ne((l.clientX-S.left)/_.x-h.clientLeft,(l.clientY-S.top)/_.y-h.clientTop)}var Nr=Ie.linux&&Ie.chrome?window.devicePixelRatio:Ie.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Ga(l){return Ie.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/Nr: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 Qn(l,h){var _=h.relatedTarget;if(!_)return!0;try{for(;_&&_!==l;)_=_.parentNode}catch{return!1}return _!==l}var fa={__proto__:null,on:Ze,off:ti,stopPropagation:Gi,disableScrollPropagation:pi,disableClickPropagation:bn,preventDefault:an,stop:rs,getPropagationPath:co,getMousePosition:qo,getWheelDelta:Ga,isExternalTarget:Qn,addListener:Ze,removeListener:ti},ga=Tt.extend({run:function(l,h,_,S){this.stop(),this._el=l,this._inProgress=!0,this._duration=_||.25,this._easeOutPower=1/Math.max(S||.5,.2),this._startPos=Bt(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=ce(this._animate,this),this._step()},_step:function(l){var h=+new Date-this._startTime,_=this._duration*1e3;h<_?this._runFrame(this._easeOut(h/_),l):(this._runFrame(1),this._complete())},_runFrame:function(l,h){var _=this._startPos.add(this._offset.multiplyBy(l));h&&_._round(),De(this._el,_),this.fire("step")},_complete:function(){st(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),hn=Tt.extend({options:{crs:Oi,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=x(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(Dt(h.center),h.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=ee&&Ie.any3d&&!Ie.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Ze(this._proxy,Ue,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(l,h,_){if(h=h===void 0?this._zoom:this._limitZoom(h),l=this._limitCenter(Dt(l),h,this.options.maxBounds),_=_||{},this._stop(),this._loaded&&!_.reset&&_!==!0){_.animate!==void 0&&(_.zoom=n({animate:_.animate},_.zoom),_.pan=n({animate:_.animate,duration:_.duration},_.pan));var S=this._zoom!==h?this._tryAnimatedZoom&&this._tryAnimatedZoom(l,h,_.zoom):this._tryAnimatedPan(l,_.pan);if(S)return clearTimeout(this._sizeTimer),this}return this._resetView(l,h,_.pan&&_.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||(Ie.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,h)},zoomOut:function(l,h){return l=l||(Ie.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,h)},setZoomAround:function(l,h,_){var S=this.getZoomScale(h),I=this.getSize().divideBy(2),N=l instanceof Ne?l:this.latLngToContainerPoint(l),X=N.subtract(I).multiplyBy(1-1/S),de=this.containerPointToLatLng(I.add(X));return this.setView(de,h,{zoom:_})},_getBoundsCenterZoom:function(l,h){h=h||{},l=l.getBounds?l.getBounds():ri(l);var _=Re(h.paddingTopLeft||h.padding||[0,0]),S=Re(h.paddingBottomRight||h.padding||[0,0]),I=this.getBoundsZoom(l,!1,_.add(S));if(I=typeof h.maxZoom=="number"?Math.min(h.maxZoom,I):I,I===1/0)return{center:l.getCenter(),zoom:I};var N=S.subtract(_).divideBy(2),X=this.project(l.getSouthWest(),I),de=this.project(l.getNorthEast(),I),xe=this.unproject(X.add(de).divideBy(2).add(N),I);return{center:xe,zoom:I}},fitBounds:function(l,h){if(l=ri(l),!l.isValid())throw new Error("Bounds are not valid.");var _=this._getBoundsCenterZoom(l,h);return this.setView(_.center,_.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=Re(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 ga,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),h.noMoveStart||this.fire("movestart"),h.animate!==!1){Qe(this._mapPane,"leaflet-pan-anim");var _=this._getMapPanePos().subtract(l).round();this._panAnim.run(this._mapPane,_,h.duration||.25,h.easeLinearity)}else this._rawPanBy(l),this.fire("move").fire("moveend");return this},flyTo:function(l,h,_){if(_=_||{},_.animate===!1||!Ie.any3d)return this.setView(l,h,_);this._stop();var S=this.project(this.getCenter()),I=this.project(l),N=this.getSize(),X=this._zoom;l=Dt(l),h=h===void 0?X:h;var de=Math.max(N.x,N.y),xe=de*this.getZoomScale(X,h),ut=I.distanceTo(S)||1,ci=1.42,Zi=ci*ci;function Sn(Ps){var q_=Ps?-1:1,bA=Ps?xe:de,yA=xe*xe-de*de+q_*Zi*Zi*ut*ut,wA=2*bA*Zi*ut,_w=yA/wA,Qk=Math.sqrt(_w*_w+1)-_w,SA=Qk<1e-9?-18:Math.log(Qk);return SA}function bo(Ps){return(Math.exp(Ps)-Math.exp(-Ps))/2}function $s(Ps){return(Math.exp(Ps)+Math.exp(-Ps))/2}function lr(Ps){return bo(Ps)/$s(Ps)}var Po=Sn(0);function Xu(Ps){return de*($s(Po)/$s(Po+ci*Ps))}function pA(Ps){return de*($s(Po)*lr(Po+ci*Ps)-bo(Po))/Zi}function _A(Ps){return 1-Math.pow(1-Ps,1.5)}var mA=Date.now(),Yk=(Sn(1)-Po)/ci,vA=_.duration?1e3*_.duration:1e3*Yk*.8;function Jk(){var Ps=(Date.now()-mA)/vA,q_=_A(Ps)*Yk;Ps<=1?(this._flyToFrame=ce(Jk,this),this._move(this.unproject(S.add(I.subtract(S).multiplyBy(pA(q_)/ut)),X),this.getScaleZoom(de/Xu(q_),X),{flyTo:!0})):this._move(l,h)._moveEnd(!0)}return this._moveStart(!0,_.noMoveStart),Jk.call(this),this},flyToBounds:function(l,h){var _=this._getBoundsCenterZoom(l,h);return this.flyTo(_.center,_.zoom,h)},setMaxBounds:function(l){return l=ri(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 _=this.getCenter(),S=this._limitCenter(_,this._zoom,ri(l));return _.equals(S)||this.panTo(S,h),this._enforcingBounds=!1,this},panInside:function(l,h){h=h||{};var _=Re(h.paddingTopLeft||h.padding||[0,0]),S=Re(h.paddingBottomRight||h.padding||[0,0]),I=this.project(this.getCenter()),N=this.project(l),X=this.getPixelBounds(),de=tt([X.min.add(_),X.max.subtract(S)]),xe=de.getSize();if(!de.contains(N)){this._enforcingBounds=!0;var ut=N.subtract(de.getCenter()),ci=de.extend(N).getSize().subtract(xe);I.x+=ut.x<0?-ci.x:ci.x,I.y+=ut.y<0?-ci.y:ci.y,this.panTo(this.unproject(I),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 _=this.getSize(),S=h.divideBy(2).round(),I=_.divideBy(2).round(),N=S.subtract(I);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:_}))},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),_=r(this._handleGeolocationError,this);return l.watch?this._locationWatchId=navigator.geolocation.watchPosition(h,_,l):navigator.geolocation.getCurrentPosition(h,_,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,_=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: "+_+"."})}},_handleGeolocationResponse:function(l){if(this._container._leaflet_id){var h=l.coords.latitude,_=l.coords.longitude,S=new Wt(h,_),I=S.toBounds(l.coords.accuracy*2),N=this._locateOptions;if(N.setView){var X=this.getBoundsZoom(I);this.setView(S,N.maxZoom?Math.min(X,N.maxZoom):X)}var de={latlng:S,bounds:I,timestamp:l.timestamp};for(var xe in l.coords)typeof l.coords[xe]=="number"&&(de[xe]=l.coords[xe]);this.fire("locationfound",de)}},addHandler:function(l,h){if(!h)return this;var _=this[l]=new h(this);return this._handlers.push(_),this.options[l]&&_.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(),vt(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(st(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)vt(this._panes[l]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(l,h){var _="leaflet-pane"+(l?" leaflet-"+l.replace("Pane","")+"-pane":""),S=ve("div",_,h||this._mapPane);return l&&(this._panes[l]=S),S},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()),_=this.unproject(l.getTopRight());return new Ot(h,_)},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,_){l=ri(l),_=Re(_||[0,0]);var S=this.getZoom()||0,I=this.getMinZoom(),N=this.getMaxZoom(),X=l.getNorthWest(),de=l.getSouthEast(),xe=this.getSize().subtract(_),ut=tt(this.project(de,S),this.project(X,S)).getSize(),ci=Ie.any3d?this.options.zoomSnap:1,Zi=xe.x/ut.x,Sn=xe.y/ut.y,bo=h?Math.max(Zi,Sn):Math.min(Zi,Sn);return S=this.getScaleZoom(bo,S),ci&&(S=Math.round(S/(ci/100))*(ci/100),S=h?Math.ceil(S/ci)*ci:Math.floor(S/ci)*ci),Math.max(I,Math.min(N,S))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new Ne(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(l,h){var _=this._getTopLeftPoint(l,h);return new ke(_,_.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 _=this.options.crs;return h=h===void 0?this._zoom:h,_.scale(l)/_.scale(h)},getScaleZoom:function(l,h){var _=this.options.crs;h=h===void 0?this._zoom:h;var S=_.zoom(l*_.scale(h));return isNaN(S)?1/0:S},project:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.latLngToPoint(Dt(l),h)},unproject:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.pointToLatLng(Re(l),h)},layerPointToLatLng:function(l){var h=Re(l).add(this.getPixelOrigin());return this.unproject(h)},latLngToLayerPoint:function(l){var h=this.project(Dt(l))._round();return h._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(Dt(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(ri(l))},distance:function(l,h){return this.options.crs.distance(Dt(l),Dt(h))},containerPointToLayerPoint:function(l){return Re(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return Re(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var h=this.containerPointToLayerPoint(Re(l));return this.layerPointToLatLng(h)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Dt(l)))},mouseEventToContainerPoint:function(l){return qo(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=Ye(l);if(h){if(h._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Ze(h,"scroll",this._onScroll,this),this._containerId=c(h)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&Ie.any3d,Qe(l,"leaflet-container"+(Ie.touch?" leaflet-touch":"")+(Ie.retina?" leaflet-retina":"")+(Ie.ielt9?" leaflet-oldie":"")+(Ie.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var h=ge(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),De(this._mapPane,new Ne(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Qe(l.markerPane,"leaflet-zoom-hide"),Qe(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,h,_){De(this._mapPane,new Ne(0,0));var S=!this._loaded;this._loaded=!0,h=this._limitZoom(h),this.fire("viewprereset");var I=this._zoom!==h;this._moveStart(I,_)._move(l,h)._moveEnd(I),this.fire("viewreset"),S&&this.fire("load")},_moveStart:function(l,h){return l&&this.fire("zoomstart"),h||this.fire("movestart"),this},_move:function(l,h,_,S){h===void 0&&(h=this._zoom);var I=this._zoom!==h;return this._zoom=h,this._lastCenter=l,this._pixelOrigin=this._getNewPixelOrigin(l),S?_&&_.pinch&&this.fire("zoom",_):((I||_&&_.pinch)&&this.fire("zoom",_),this.fire("move",_)),this},_moveEnd:function(l){return l&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return st(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){De(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[c(this._container)]=this;var h=l?ti:Ze;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),Ie.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){st(this._resizeRequest),this._resizeRequest=ce(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 _=[],S,I=h==="mouseout"||h==="mouseover",N=l.target||l.srcElement,X=!1;N;){if(S=this._targets[c(N)],S&&(h==="click"||h==="preclick")&&this._draggableMoved(S)){X=!0;break}if(S&&S.listens(h,!0)&&(I&&!Qn(N,l)||(_.push(S),I))||N===this._container)break;N=N.parentNode}return!_.length&&!X&&!I&&this.listens(h,!0)&&(_=[this]),_},_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 _=l.type;_==="mousedown"&&Pt(h),this._fireDOMEvent(l,_)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(l,h,_){if(l.type==="click"){var S=n({},l);S.type="preclick",this._fireDOMEvent(S,S.type,_)}var I=this._findEventTargets(l,h);if(_){for(var N=[],X=0;X<_.length;X++)_[X].listens(h,!0)&&N.push(_[X]);I=N.concat(I)}if(I.length){h==="contextmenu"&&an(l);var de=I[0],xe={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var ut=de.getLatLng&&(!de._radius||de._radius<=10);xe.containerPoint=ut?this.latLngToContainerPoint(de.getLatLng()):this.mouseEventToContainerPoint(l),xe.layerPoint=this.containerPointToLayerPoint(xe.containerPoint),xe.latlng=ut?de.getLatLng():this.layerPointToLatLng(xe.layerPoint)}for(X=0;X<I.length;X++)if(I[X].fire(h,xe,!0),xe.originalEvent._stopped||I[X].options.bubblingMouseEvents===!1&&j(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 Bt(this._mapPane)||new Ne(0,0)},_moved:function(){var l=this._getMapPanePos();return l&&!l.equals([0,0])},_getTopLeftPoint:function(l,h){var _=l&&h!==void 0?this._getNewPixelOrigin(l,h):this.getPixelOrigin();return _.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(l,h){var _=this.getSize()._divideBy(2);return this.project(l,h)._subtract(_)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(l,h,_){var S=this._getNewPixelOrigin(_,h);return this.project(l,h)._subtract(S)},_latLngBoundsToNewLayerBounds:function(l,h,_){var S=this._getNewPixelOrigin(_,h);return tt([this.project(l.getSouthWest(),h)._subtract(S),this.project(l.getNorthWest(),h)._subtract(S),this.project(l.getSouthEast(),h)._subtract(S),this.project(l.getNorthEast(),h)._subtract(S)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(l){return this.latLngToLayerPoint(l).subtract(this._getCenterLayerPoint())},_limitCenter:function(l,h,_){if(!_)return l;var S=this.project(l,h),I=this.getSize().divideBy(2),N=new ke(S.subtract(I),S.add(I)),X=this._getBoundsOffset(N,_,h);return Math.abs(X.x)<=1&&Math.abs(X.y)<=1?l:this.unproject(S.add(X),h)},_limitOffset:function(l,h){if(!h)return l;var _=this.getPixelBounds(),S=new ke(_.min.add(l),_.max.add(l));return l.add(this._getBoundsOffset(S,h))},_getBoundsOffset:function(l,h,_){var S=tt(this.project(h.getNorthEast(),_),this.project(h.getSouthWest(),_)),I=S.min.subtract(l.min),N=S.max.subtract(l.max),X=this._rebound(I.x,-N.x),de=this._rebound(I.y,-N.y);return new Ne(X,de)},_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(),_=this.getMaxZoom(),S=Ie.any3d?this.options.zoomSnap:1;return S&&(l=Math.round(l/S)*S),Math.max(h,Math.min(_,l))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){bt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(l,h){var _=this._getCenterOffset(l)._trunc();return(h&&h.animate)!==!0&&!this.getSize().contains(_)?!1:(this.panBy(_,h),!0)},_createAnimProxy:function(){var l=this._proxy=ve("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(h){var _=z,S=this._proxy.style[_];Oe(this._proxy,this.project(h.center,h.zoom),this.getZoomScale(h.zoom,1)),S===this._proxy.style[_]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){vt(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),h=this.getZoom();Oe(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,_){if(this._animatingZoom)return!0;if(_=_||{},!this._zoomAnimated||_.animate===!1||this._nothingToAnimate()||Math.abs(h-this._zoom)>this.options.zoomAnimationThreshold)return!1;var S=this.getZoomScale(h),I=this._getCenterOffset(l)._divideBy(1-1/S);return _.animate!==!0&&!this.getSize().contains(I)?!1:(ce(function(){this._moveStart(!0,_.noMoveStart||!1)._animateZoom(l,h,!0)},this),!0)},_animateZoom:function(l,h,_,S){this._mapPane&&(_&&(this._animatingZoom=!0,this._animateToCenter=l,this._animateToZoom=h,Qe(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:l,zoom:h,noUpdate:S}),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&&bt(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 Rr(l,h){return new hn(l,h)}var Zs=me.extend({options:{position:"topright"},initialize:function(l){x(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),_=this.getPosition(),S=l._controlCorners[_];return Qe(h,"leaflet-control"),_.indexOf("bottom")!==-1?S.insertBefore(h,S.firstChild):S.appendChild(h),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(vt(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()}}),ks=function(l){return new Zs(l)};hn.include({addControl:function(l){return l.addTo(this),this},removeControl:function(l){return l.remove(),this},_initControlPos:function(){var l=this._controlCorners={},h="leaflet-",_=this._controlContainer=ve("div",h+"control-container",this._container);function S(I,N){var X=h+I+" "+h+N;l[I+N]=ve("div",X,_)}S("top","left"),S("top","right"),S("bottom","left"),S("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)vt(this._controlCorners[l]);vt(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Xs=Zs.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(l,h,_,S){return _<S?-1:S<_?1:0}},initialize:function(l,h,_){x(this,_),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var S in l)this._addLayer(l[S],S);for(S in h)this._addLayer(h[S],S,!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 Zs.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(c(l));return h&&this._layers.splice(this._layers.indexOf(h),1),this._map?this._update():this},expand:function(){Qe(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?(Qe(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):bt(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return bt(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",h=this._container=ve("div",l),_=this.options.collapsed;h.setAttribute("aria-haspopup",!0),bn(h),pi(h);var S=this._section=ve("section",l+"-list");_&&(this._map.on("click",this.collapse,this),Ze(h,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var I=this._layersLink=ve("a",l+"-toggle",h);I.href="#",I.title="Layers",I.setAttribute("role","button"),Ze(I,{keydown:function(N){N.keyCode===13&&this._expandSafely()},click:function(N){an(N),this._expandSafely()}},this),_||this.expand(),this._baseLayersList=ve("div",l+"-base",S),this._separator=ve("div",l+"-separator",S),this._overlaysList=ve("div",l+"-overlays",S),h.appendChild(S)},_getLayer:function(l){for(var h=0;h<this._layers.length;h++)if(this._layers[h]&&c(this._layers[h].layer)===l)return this._layers[h]},_addLayer:function(l,h,_){this._map&&l.on("add remove",this._onLayerChange,this),this._layers.push({layer:l,name:h,overlay:_}),this.options.sortLayers&&this._layers.sort(r(function(S,I){return this.options.sortFunction(S.layer,I.layer,S.name,I.name)},this)),this.options.autoZIndex&&l.setZIndex&&(this._lastZIndex++,l.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;Ei(this._baseLayersList),Ei(this._overlaysList),this._layerControlInputs=[];var l,h,_,S,I=0;for(_=0;_<this._layers.length;_++)S=this._layers[_],this._addItem(S),h=h||S.overlay,l=l||!S.overlay,I+=S.overlay?0:1;return this.options.hideSingleBase&&(l=l&&I>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(c(l.target)),_=h.overlay?l.type==="add"?"overlayadd":"overlayremove":l.type==="add"?"baselayerchange":null;_&&this._map.fire(_,h)},_createRadioElement:function(l,h){var _='<input type="radio" class="leaflet-control-layers-selector" name="'+l+'"'+(h?' checked="checked"':"")+"/>",S=document.createElement("div");return S.innerHTML=_,S.firstChild},_addItem:function(l){var h=document.createElement("label"),_=this._map.hasLayer(l.layer),S;l.overlay?(S=document.createElement("input"),S.type="checkbox",S.className="leaflet-control-layers-selector",S.defaultChecked=_):S=this._createRadioElement("leaflet-base-layers_"+c(this),_),this._layerControlInputs.push(S),S.layerId=c(l.layer),Ze(S,"click",this._onInputClick,this);var I=document.createElement("span");I.innerHTML=" "+l.name;var N=document.createElement("span");h.appendChild(N),N.appendChild(S),N.appendChild(I);var X=l.overlay?this._overlaysList:this._baseLayersList;return X.appendChild(h),this._checkDisabledLayers(),h},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,h,_,S=[],I=[];this._handlingClick=!0;for(var N=l.length-1;N>=0;N--)h=l[N],_=this._getLayer(h.layerId).layer,h.checked?S.push(_):h.checked||I.push(_);for(N=0;N<I.length;N++)this._map.hasLayer(I[N])&&this._map.removeLayer(I[N]);for(N=0;N<S.length;N++)this._map.hasLayer(S[N])||this._map.addLayer(S[N]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var l=this._layerControlInputs,h,_,S=this._map.getZoom(),I=l.length-1;I>=0;I--)h=l[I],_=this._getLayer(h.layerId).layer,h.disabled=_.options.minZoom!==void 0&&S<_.options.minZoom||_.options.maxZoom!==void 0&&S>_.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var l=this._section;this._preventClick=!0,Ze(l,"click",an),this.expand();var h=this;setTimeout(function(){ti(l,"click",an),h._preventClick=!1})}}),Ar=function(l,h,_){return new Xs(l,h,_)},Ka=Zs.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",_=ve("div",h+" leaflet-bar"),S=this.options;return this._zoomInButton=this._createButton(S.zoomInText,S.zoomInTitle,h+"-in",_,this._zoomIn),this._zoomOutButton=this._createButton(S.zoomOutText,S.zoomOutTitle,h+"-out",_,this._zoomOut),this._updateDisabled(),l.on("zoomend zoomlevelschange",this._updateDisabled,this),_},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,_,S,I){var N=ve("a",_,S);return N.innerHTML=l,N.href="#",N.title=h,N.setAttribute("role","button"),N.setAttribute("aria-label",h),bn(N),Ze(N,"click",rs),Ze(N,"click",I,this),Ze(N,"click",this._refocusOnMap,this),N},_updateDisabled:function(){var l=this._map,h="leaflet-disabled";bt(this._zoomInButton,h),bt(this._zoomOutButton,h),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(Qe(this._zoomOutButton,h),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(Qe(this._zoomInButton,h),this._zoomInButton.setAttribute("aria-disabled","true"))}});hn.mergeOptions({zoomControl:!0}),hn.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ka,this.addControl(this.zoomControl))});var Ol=function(l){return new Ka(l)},Za=Zs.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var h="leaflet-control-scale",_=ve("div",h),S=this.options;return this._addScales(S,h+"-line",_),l.on(S.updateWhenIdle?"moveend":"move",this._update,this),l.whenReady(this._update,this),_},onRemove:function(l){l.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(l,h,_){l.metric&&(this._mScale=ve("div",h,_)),l.imperial&&(this._iScale=ve("div",h,_))},_update:function(){var l=this._map,h=l.getSize().y/2,_=l.distance(l.containerPointToLatLng([0,h]),l.containerPointToLatLng([this.options.maxWidth,h]));this._updateScales(_)},_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),_=h<1e3?h+" m":h/1e3+" km";this._updateScale(this._mScale,_,h/l)},_updateImperial:function(l){var h=l*3.2808399,_,S,I;h>5280?(_=h/5280,S=this._getRoundNum(_),this._updateScale(this._iScale,S+" mi",S/_)):(I=this._getRoundNum(h),this._updateScale(this._iScale,I+" ft",I/h))},_updateScale:function(l,h,_){l.style.width=Math.round(this.options.maxWidth*_)+"px",l.innerHTML=h},_getRoundNum:function(l){var h=Math.pow(10,(Math.floor(l)+"").length-1),_=l/h;return _=_>=10?10:_>=5?5:_>=3?3:_>=2?2:1,h*_}}),Go=function(l){return new Za(l)},Or='<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>',Fr=Zs.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(Ie.inlineSvg?Or+" ":"")+"Leaflet</a>"},initialize:function(l){x(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=ve("div","leaflet-control-attribution"),bn(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 _=[];this.options.prefix&&_.push(this.options.prefix),l.length&&_.push(l.join(", ")),this._container.innerHTML=_.join(' <span aria-hidden="true">|</span> ')}}});hn.mergeOptions({attributionControl:!0}),hn.addInitHook(function(){this.options.attributionControl&&new Fr().addTo(this)});var R_=function(l){return new Fr(l)};Zs.Layers=Xs,Zs.Zoom=Ka,Zs.Scale=Za,Zs.Attribution=Fr,ks.layers=Ar,ks.zoom=Ol,ks.scale=Go,ks.attribution=R_;var ar=me.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}});ar.addTo=function(l,h){return l.addHandler(h,this),this};var A_={Events:gt},eg=Ie.touch?"touchstart mousedown":"mousedown",Ko=Tt.extend({options:{clickTolerance:3},initialize:function(l,h,_,S){x(this,S),this._element=l,this._dragStartTarget=h||l,this._preventOutline=_},enable:function(){this._enabled||(Ze(this._dragStartTarget,eg,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Ko._dragging===this&&this.finishDrag(!0),ti(this._dragStartTarget,eg,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!Ht(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){Ko._dragging===this&&this.finishDrag();return}if(!(Ko._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(Ko._dragging=this,this._preventOutline&&Pt(this._element),Ee(),xt(),!this._moving)){this.fire("down");var h=l.touches?l.touches[0]:l,_=nt(this._element);this._startPoint=new Ne(h.clientX,h.clientY),this._startPos=Bt(this._element),this._parentScale=_t(_);var S=l.type==="mousedown";Ze(document,S?"mousemove":"touchmove",this._onMove,this),Ze(document,S?"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,_=new Ne(h.clientX,h.clientY)._subtract(this._startPoint);!_.x&&!_.y||Math.abs(_.x)+Math.abs(_.y)<this.options.clickTolerance||(_.x/=this._parentScale.x,_.y/=this._parentScale.y,an(l),this._moved||(this.fire("dragstart"),this._moved=!0,Qe(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),Qe(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(_),this._moving=!0,this._lastEvent=l,this._updatePosition())}},_updatePosition:function(){var l={originalEvent:this._lastEvent};this.fire("predrag",l),De(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){bt(document.body,"leaflet-dragging"),this._lastTarget&&(bt(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),ti(document,"mousemove touchmove",this._onMove,this),ti(document,"mouseup touchend touchcancel",this._onUp,this),He(),Ke();var h=this._moved&&this._moving;this._moving=!1,Ko._dragging=!1,h&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function O_(l,h,_){var S,I=[1,4,2,8],N,X,de,xe,ut,ci,Zi,Sn;for(N=0,ci=l.length;N<ci;N++)l[N]._code=Xa(l[N],h);for(de=0;de<4;de++){for(Zi=I[de],S=[],N=0,ci=l.length,X=ci-1;N<ci;X=N++)xe=l[N],ut=l[X],xe._code&Zi?ut._code&Zi||(Sn=jc(ut,xe,Zi,h,_),Sn._code=Xa(Sn,h),S.push(Sn)):(ut._code&Zi&&(Sn=jc(ut,xe,Zi,h,_),Sn._code=Xa(Sn,h),S.push(Sn)),S.push(xe));l=S}return l}function tg(l,h){var _,S,I,N,X,de,xe,ut,ci;if(!l||l.length===0)throw new Error("latlngs not passed");To(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Zi=Dt([0,0]),Sn=ri(l),bo=Sn.getNorthWest().distanceTo(Sn.getSouthWest())*Sn.getNorthEast().distanceTo(Sn.getNorthWest());bo<1700&&(Zi=ig(l));var $s=l.length,lr=[];for(_=0;_<$s;_++){var Po=Dt(l[_]);lr.push(h.project(Dt([Po.lat-Zi.lat,Po.lng-Zi.lng])))}for(de=xe=ut=0,_=0,S=$s-1;_<$s;S=_++)I=lr[_],N=lr[S],X=I.y*N.x-N.y*I.x,xe+=(I.x+N.x)*X,ut+=(I.y+N.y)*X,de+=X*3;de===0?ci=lr[0]:ci=[xe/de,ut/de];var Xu=h.unproject(Re(ci));return Dt([Xu.lat+Zi.lat,Xu.lng+Zi.lng])}function ig(l){for(var h=0,_=0,S=0,I=0;I<l.length;I++){var N=Dt(l[I]);h+=N.lat,_+=N.lng,S++}return Dt([h/S,_/S])}var dw={__proto__:null,clipPolygon:O_,polygonCenter:tg,centroid:ig};function ng(l,h){if(!h||!l.length)return l.slice();var _=h*h;return l=W_(l,_),l=H_(l,_),l}function F_(l,h,_){return Math.sqrt($c(l,h,_,!0))}function sg(l,h,_){return $c(l,h,_)}function H_(l,h){var _=l.length,S=typeof Uint8Array<"u"?Uint8Array:Array,I=new S(_);I[0]=I[_-1]=1,og(l,I,h,0,_-1);var N,X=[];for(N=0;N<_;N++)I[N]&&X.push(l[N]);return X}function og(l,h,_,S,I){var N=0,X,de,xe;for(de=S+1;de<=I-1;de++)xe=$c(l[de],l[S],l[I],!0),xe>N&&(X=de,N=xe);N>_&&(h[X]=1,og(l,h,_,S,X),og(l,h,_,X,I))}function W_(l,h){for(var _=[l[0]],S=1,I=0,N=l.length;S<N;S++)B_(l[S],l[I])>h&&(_.push(l[S]),I=S);return I<N-1&&_.push(l[N-1]),_}var rg;function ag(l,h,_,S,I){var N=S?rg:Xa(l,_),X=Xa(h,_),de,xe,ut;for(rg=X;;){if(!(N|X))return[l,h];if(N&X)return!1;de=N||X,xe=jc(l,h,de,_,I),ut=Xa(xe,_),de===N?(l=xe,N=ut):(h=xe,X=ut)}}function jc(l,h,_,S,I){var N=h.x-l.x,X=h.y-l.y,de=S.min,xe=S.max,ut,ci;return _&8?(ut=l.x+N*(xe.y-l.y)/X,ci=xe.y):_&4?(ut=l.x+N*(de.y-l.y)/X,ci=de.y):_&2?(ut=xe.x,ci=l.y+X*(xe.x-l.x)/N):_&1&&(ut=de.x,ci=l.y+X*(de.x-l.x)/N),new Ne(ut,ci,I)}function Xa(l,h){var _=0;return l.x<h.min.x?_|=1:l.x>h.max.x&&(_|=2),l.y<h.min.y?_|=4:l.y>h.max.y&&(_|=8),_}function B_(l,h){var _=h.x-l.x,S=h.y-l.y;return _*_+S*S}function $c(l,h,_,S){var I=h.x,N=h.y,X=_.x-I,de=_.y-N,xe=X*X+de*de,ut;return xe>0&&(ut=((l.x-I)*X+(l.y-N)*de)/xe,ut>1?(I=_.x,N=_.y):ut>0&&(I+=X*ut,N+=de*ut)),X=l.x-I,de=l.y-N,S?X*X+de*de:new Ne(I,N)}function To(l){return!A(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function z_(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),To(l)}function Uu(l,h){var _,S,I,N,X,de,xe,ut;if(!l||l.length===0)throw new Error("latlngs not passed");To(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var ci=Dt([0,0]),Zi=ri(l),Sn=Zi.getNorthWest().distanceTo(Zi.getSouthWest())*Zi.getNorthEast().distanceTo(Zi.getNorthWest());Sn<1700&&(ci=ig(l));var bo=l.length,$s=[];for(_=0;_<bo;_++){var lr=Dt(l[_]);$s.push(h.project(Dt([lr.lat-ci.lat,lr.lng-ci.lng])))}for(_=0,S=0;_<bo-1;_++)S+=$s[_].distanceTo($s[_+1])/2;if(S===0)ut=$s[0];else for(_=0,N=0;_<bo-1;_++)if(X=$s[_],de=$s[_+1],I=X.distanceTo(de),N+=I,N>S){xe=(N-S)/I,ut=[de.x-xe*(de.x-X.x),de.y-xe*(de.y-X.y)];break}var Po=h.unproject(Re(ut));return Dt([Po.lat+ci.lat,Po.lng+ci.lng])}var V_={__proto__:null,simplify:ng,pointToSegmentDistance:F_,closestPointOnSegment:sg,clipSegment:ag,_getEdgeIntersection:jc,_getBitCode:Xa,_sqClosestPointOnSegment:$c,isFlat:To,_flat:z_,polylineCenter:Uu},qu={project:function(l){return new Ne(l.lng,l.lat)},unproject:function(l){return new Wt(l.y,l.x)},bounds:new ke([-180,-90],[180,90])},Gu={R:6378137,R_MINOR:6356752314245179e-9,bounds:new ke([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(l){var h=Math.PI/180,_=this.R,S=l.lat*h,I=this.R_MINOR/_,N=Math.sqrt(1-I*I),X=N*Math.sin(S),de=Math.tan(Math.PI/4-S/2)/Math.pow((1-X)/(1+X),N/2);return S=-_*Math.log(Math.max(de,1e-10)),new Ne(l.lng*h*_,S)},unproject:function(l){for(var h=180/Math.PI,_=this.R,S=this.R_MINOR/_,I=Math.sqrt(1-S*S),N=Math.exp(-l.y/_),X=Math.PI/2-2*Math.atan(N),de=0,xe=.1,ut;de<15&&Math.abs(xe)>1e-7;de++)ut=I*Math.sin(X),ut=Math.pow((1-ut)/(1+ut),I/2),xe=Math.PI/2-2*Math.atan(N*ut)-X,X+=xe;return new Wt(X*h,l.x*h/_)}},uw={__proto__:null,LonLat:qu,Mercator:Gu,SphericalMercator:di},j_=n({},kt,{code:"EPSG:3395",projection:Gu,transformation:(function(){var l=.5/(Math.PI*Gu.R);return Ai(l,.5,-l,.5)})()}),Ku=n({},kt,{code:"EPSG:4326",projection:qu,transformation:Ai(1/180,1,-1/180,.5)}),$_=n({},Mt,{projection:qu,transformation:Ai(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 _=h.lng-l.lng,S=h.lat-l.lat;return Math.sqrt(_*_+S*S)},infinite:!0});Mt.Earth=kt,Mt.EPSG3395=j_,Mt.EPSG3857=Oi,Mt.EPSG900913=Hi,Mt.EPSG4326=Ku,Mt.Simple=$_;var Zo=Tt.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[c(l)]=this,this},removeInteractiveTarget:function(l){return delete this._map._targets[c(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 _=this.getEvents();h.on(_,this),this.once("remove",function(){h.off(_,this)},this)}this.onAdd(h),this.fire("add"),h.fire("layeradd",{layer:this})}}});hn.include({addLayer:function(l){if(!l._layerAdd)throw new Error("The provided object is not a Layer.");var h=c(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=c(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 c(l)in this._layers},eachLayer:function(l,h){for(var _ in this._layers)l.call(h,this._layers[_]);return this},_addLayers:function(l){l=l?A(l)?l:[l]:[];for(var h=0,_=l.length;h<_;h++)this.addLayer(l[h])},_addZoomLimit:function(l){(!isNaN(l.options.maxZoom)||!isNaN(l.options.minZoom))&&(this._zoomBoundLayers[c(l)]=l,this._updateZoomLevels())},_removeZoomLimit:function(l){var h=c(l);this._zoomBoundLayers[h]&&(delete this._zoomBoundLayers[h],this._updateZoomLevels())},_updateZoomLevels:function(){var l=1/0,h=-1/0,_=this._getZoomSpan();for(var S in this._zoomBoundLayers){var I=this._zoomBoundLayers[S].options;l=I.minZoom===void 0?l:Math.min(l,I.minZoom),h=I.maxZoom===void 0?h:Math.max(h,I.maxZoom)}this._layersMaxZoom=h===-1/0?void 0:h,this._layersMinZoom=l===1/0?void 0:l,_!==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 Fl=Zo.extend({initialize:function(l,h){x(this,h),this._layers={};var _,S;if(l)for(_=0,S=l.length;_<S;_++)this.addLayer(l[_])},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),_,S;for(_ in this._layers)S=this._layers[_],S[l]&&S[l].apply(S,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 _ in this._layers)l.call(h,this._layers[_]);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 c(l)}}),hw=function(l,h){return new Fl(l,h)},Hr=Fl.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),Fl.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),Fl.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 Ot;for(var h in this._layers){var _=this._layers[h];l.extend(_.getBounds?_.getBounds():_.getLatLng())}return l}}),fw=function(l,h){return new Hr(l,h)},Hl=me.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(l){x(this,l)},createIcon:function(l){return this._createIcon("icon",l)},createShadow:function(l){return this._createIcon("shadow",l)},_createIcon:function(l,h){var _=this._getIconUrl(l);if(!_){if(l==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var S=this._createImg(_,h&&h.tagName==="IMG"?h:null);return this._setIconStyles(S,l),(this.options.crossOrigin||this.options.crossOrigin==="")&&(S.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),S},_setIconStyles:function(l,h){var _=this.options,S=_[h+"Size"];typeof S=="number"&&(S=[S,S]);var I=Re(S),N=Re(h==="shadow"&&_.shadowAnchor||_.iconAnchor||I&&I.divideBy(2,!0));l.className="leaflet-marker-"+h+" "+(_.className||""),N&&(l.style.marginLeft=-N.x+"px",l.style.marginTop=-N.y+"px"),I&&(l.style.width=I.x+"px",l.style.height=I.y+"px")},_createImg:function(l,h){return h=h||document.createElement("img"),h.src=l,h},_getIconUrl:function(l){return Ie.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function gw(l){return new Hl(l)}var Uc=Hl.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 Uc.imagePath!="string"&&(Uc.imagePath=this._detectIconPath()),(this.options.imagePath||Uc.imagePath)+Hl.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var h=function(_,S,I){var N=S.exec(_);return N&&N[I]};return l=h(l,/^url\((['"])?(.+)\1\)$/,2),l&&h(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=ve("div","leaflet-default-icon-path",document.body),h=ge(l,"background-image")||ge(l,"backgroundImage");if(document.body.removeChild(l),h=this._stripUrl(h),h)return h;var _=document.querySelector('link[href$="leaflet.css"]');return _?_.href.substring(0,_.href.length-11-1):""}}),B=ar.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new Ko(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),Qe(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&&bt(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(l){var h=this._marker,_=h._map,S=this._marker.options.autoPanSpeed,I=this._marker.options.autoPanPadding,N=Bt(h._icon),X=_.getPixelBounds(),de=_.getPixelOrigin(),xe=tt(X.min._subtract(de).add(I),X.max._subtract(de).subtract(I));if(!xe.contains(N)){var ut=Re((Math.max(xe.max.x,N.x)-xe.max.x)/(X.max.x-xe.max.x)-(Math.min(xe.min.x,N.x)-xe.min.x)/(X.min.x-xe.min.x),(Math.max(xe.max.y,N.y)-xe.max.y)/(X.max.y-xe.max.y)-(Math.min(xe.min.y,N.y)-xe.min.y)/(X.min.y-xe.min.y)).multiplyBy(S);_.panBy(ut,{animate:!1}),this._draggable._newPos._add(ut),this._draggable._startPos._add(ut),De(h._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=ce(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&&(st(this._panRequest),this._panRequest=ce(this._adjustPan.bind(this,l)))},_onDrag:function(l){var h=this._marker,_=h._shadow,S=Bt(h._icon),I=h._map.layerPointToLatLng(S);_&&De(_,S),h._latlng=I,l.latlng=I,l.oldLatLng=this._oldLatLng,h.fire("move",l).fire("drag",l)},_onDragEnd:function(l){st(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),oe=Zo.extend({options:{icon:new Uc,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){x(this,h),this._latlng=Dt(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=Dt(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"),_=l.icon.createIcon(this._icon),S=!1;_!==this._icon&&(this._icon&&this._removeIcon(),S=!0,l.title&&(_.title=l.title),_.tagName==="IMG"&&(_.alt=l.alt||"")),Qe(_,h),l.keyboard&&(_.tabIndex="0",_.setAttribute("role","button")),this._icon=_,l.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Ze(_,"focus",this._panOnFocus,this);var I=l.icon.createShadow(this._shadow),N=!1;I!==this._shadow&&(this._removeShadow(),N=!0),I&&(Qe(I,h),I.alt=""),this._shadow=I,l.opacity<1&&this._updateOpacity(),S&&this.getPane().appendChild(this._icon),this._initInteraction(),I&&N&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&ti(this._icon,"focus",this._panOnFocus,this),vt(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&vt(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&De(this._icon,l),this._shadow&&De(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&&(Qe(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),B)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new B(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&&ne(this._icon,l),this._shadow&&ne(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,_=h.iconSize?Re(h.iconSize):Re(0,0),S=h.iconAnchor?Re(h.iconAnchor):Re(0,0);l.panInside(this._latlng,{paddingTopLeft:S,paddingBottomRight:_.subtract(S)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function Me(l,h){return new oe(l,h)}var pe=Zo.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 x(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)}}),yt=pe.extend({options:{fill:!0,radius:10},initialize:function(l,h){x(this,h),this._latlng=Dt(l),this._radius=this.options.radius},setLatLng:function(l){var h=this._latlng;return this._latlng=Dt(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 pe.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,_=this._clickTolerance(),S=[l+_,h+_];this._pxBounds=new ke(this._point.subtract(S),this._point.add(S))},_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 Kt(l,h){return new yt(l,h)}var li=yt.extend({initialize:function(l,h,_){if(typeof h=="number"&&(h=n({},_,{radius:h})),x(this,h),this._latlng=Dt(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 Ot(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:pe.prototype.setStyle,_project:function(){var l=this._latlng.lng,h=this._latlng.lat,_=this._map,S=_.options.crs;if(S.distance===kt.distance){var I=Math.PI/180,N=this._mRadius/kt.R/I,X=_.project([h+N,l]),de=_.project([h-N,l]),xe=X.add(de).divideBy(2),ut=_.unproject(xe).lat,ci=Math.acos((Math.cos(N*I)-Math.sin(h*I)*Math.sin(ut*I))/(Math.cos(h*I)*Math.cos(ut*I)))/I;(isNaN(ci)||ci===0)&&(ci=N/Math.cos(Math.PI/180*h)),this._point=xe.subtract(_.getPixelOrigin()),this._radius=isNaN(ci)?0:xe.x-_.project([ut,l-ci]).x,this._radiusY=xe.y-X.y}else{var Zi=S.unproject(S.project(this._latlng).subtract([this._mRadius,0]));this._point=_.latLngToLayerPoint(this._latlng),this._radius=this._point.x-_.latLngToLayerPoint(Zi).x}this._updateBounds()}});function en(l,h,_){return new li(l,h,_)}var $i=pe.extend({options:{smoothFactor:1,noClip:!1},initialize:function(l,h){x(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,_=null,S=$c,I,N,X=0,de=this._parts.length;X<de;X++)for(var xe=this._parts[X],ut=1,ci=xe.length;ut<ci;ut++){I=xe[ut-1],N=xe[ut];var Zi=S(l,I,N,!0);Zi<h&&(h=Zi,_=S(l,I,N))}return _&&(_.distance=Math.sqrt(h)),_},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return Uu(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,h){return h=h||this._defaultShape(),l=Dt(l),h.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new Ot,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return To(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var h=[],_=To(l),S=0,I=l.length;S<I;S++)_?(h[S]=Dt(l[S]),this._bounds.extend(h[S])):h[S]=this._convertLatLngs(l[S]);return h},_project:function(){var l=new ke;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 Ne(l,l);this._rawPxBounds&&(this._pxBounds=new ke([this._rawPxBounds.min.subtract(h),this._rawPxBounds.max.add(h)]))},_projectLatlngs:function(l,h,_){var S=l[0]instanceof Wt,I=l.length,N,X;if(S){for(X=[],N=0;N<I;N++)X[N]=this._map.latLngToLayerPoint(l[N]),_.extend(X[N]);h.push(X)}else for(N=0;N<I;N++)this._projectLatlngs(l[N],h,_)},_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,_,S,I,N,X,de,xe;for(_=0,I=0,N=this._rings.length;_<N;_++)for(xe=this._rings[_],S=0,X=xe.length;S<X-1;S++)de=ag(xe[S],xe[S+1],l,S,!0),de&&(h[I]=h[I]||[],h[I].push(de[0]),(de[1]!==xe[S+1]||S===X-2)&&(h[I].push(de[1]),I++))}},_simplifyPoints:function(){for(var l=this._parts,h=this.options.smoothFactor,_=0,S=l.length;_<S;_++)l[_]=ng(l[_],h)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(l,h){var _,S,I,N,X,de,xe=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(_=0,N=this._parts.length;_<N;_++)for(de=this._parts[_],S=0,X=de.length,I=X-1;S<X;I=S++)if(!(!h&&S===0)&&F_(l,de[I],de[S])<=xe)return!0;return!1}});function cn(l,h){return new $i(l,h)}$i._flat=z_;var Ui=$i.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 tg(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var h=$i.prototype._convertLatLngs.call(this,l),_=h.length;return _>=2&&h[0]instanceof Wt&&h[0].equals(h[_-1])&&h.pop(),h},_setLatLngs:function(l){$i.prototype._setLatLngs.call(this,l),To(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return To(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,h=this.options.weight,_=new Ne(h,h);if(l=new ke(l.min.subtract(_),l.max.add(_)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}for(var S=0,I=this._rings.length,N;S<I;S++)N=O_(this._rings[S],l,!0),N.length&&this._parts.push(N)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var h=!1,_,S,I,N,X,de,xe,ut;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(N=0,xe=this._parts.length;N<xe;N++)for(_=this._parts[N],X=0,ut=_.length,de=ut-1;X<ut;de=X++)S=_[X],I=_[de],S.y>l.y!=I.y>l.y&&l.x<(I.x-S.x)*(l.y-S.y)/(I.y-S.y)+S.x&&(h=!h);return h||$i.prototype._containsPoint.call(this,l,!0)}});function tn(l,h){return new Ui(l,h)}var Ki=Hr.extend({initialize:function(l,h){x(this,h),this._layers={},l&&this.addData(l)},addData:function(l){var h=A(l)?l:l.features,_,S,I;if(h){for(_=0,S=h.length;_<S;_++)I=h[_],(I.geometries||I.geometry||I.features||I.coordinates)&&this.addData(I);return this}var N=this.options;if(N.filter&&!N.filter(l))return this;var X=Wn(l,N);return X?(X.feature=as(l),X.defaultOptions=X.options,this.resetStyle(X),N.onEachFeature&&N.onEachFeature(l,X),this.addLayer(X)):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 Wn(l,h){var _=l.type==="Feature"?l.geometry:l,S=_?_.coordinates:null,I=[],N=h&&h.pointToLayer,X=h&&h.coordsToLatLng||qn,de,xe,ut,ci;if(!S&&!_)return null;switch(_.type){case"Point":return de=X(S),Zn(N,l,de,h);case"MultiPoint":for(ut=0,ci=S.length;ut<ci;ut++)de=X(S[ut]),I.push(Zn(N,l,de,h));return new Hr(I);case"LineString":case"MultiLineString":return xe=Xi(S,_.type==="LineString"?0:1,X),new $i(xe,h);case"Polygon":case"MultiPolygon":return xe=Xi(S,_.type==="Polygon"?1:2,X),new Ui(xe,h);case"GeometryCollection":for(ut=0,ci=_.geometries.length;ut<ci;ut++){var Zi=Wn({geometry:_.geometries[ut],type:"Feature",properties:l.properties},h);Zi&&I.push(Zi)}return new Hr(I);case"FeatureCollection":for(ut=0,ci=_.features.length;ut<ci;ut++){var Sn=Wn(_.features[ut],h);Sn&&I.push(Sn)}return new Hr(I);default:throw new Error("Invalid GeoJSON object.")}}function Zn(l,h,_,S){return l?l(h,_):new oe(_,S&&S.markersInheritOptions&&S)}function qn(l){return new Wt(l[1],l[0],l[2])}function Xi(l,h,_){for(var S=[],I=0,N=l.length,X;I<N;I++)X=h?Xi(l[I],h-1,_):(_||qn)(l[I]),S.push(X);return S}function hs(l,h){return l=Dt(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 Os(l,h,_,S){for(var I=[],N=0,X=l.length;N<X;N++)I.push(h?Os(l[N],To(l[N])?0:h-1,_,S):hs(l[N],S));return!h&&_&&I.length>0&&I.push(I[0].slice()),I}function bs(l,h){return l.feature?n({},l.feature,{geometry:h}):as(h)}function as(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var is={toGeoJSON:function(l){return bs(this,{type:"Point",coordinates:hs(this.getLatLng(),l)})}};oe.include(is),li.include(is),yt.include(is),$i.include({toGeoJSON:function(l){var h=!To(this._latlngs),_=Os(this._latlngs,h?1:0,!1,l);return bs(this,{type:(h?"Multi":"")+"LineString",coordinates:_})}}),Ui.include({toGeoJSON:function(l){var h=!To(this._latlngs),_=h&&!To(this._latlngs[0]),S=Os(this._latlngs,_?2:h?1:0,!0,l);return h||(S=[S]),bs(this,{type:(_?"Multi":"")+"Polygon",coordinates:S})}}),Fl.include({toMultiPoint:function(l){var h=[];return this.eachLayer(function(_){h.push(_.toGeoJSON(l).geometry.coordinates)}),bs(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 _=h==="GeometryCollection",S=[];return this.eachLayer(function(I){if(I.toGeoJSON){var N=I.toGeoJSON(l);if(_)S.push(N.geometry);else{var X=as(N);X.type==="FeatureCollection"?S.push.apply(S,X.features):S.push(X)}}}),_?bs(this,{geometries:S,type:"GeometryCollection"}):{type:"FeatureCollection",features:S}}});function fs(l,h){return new Ki(l,h)}var ys=fs,Fs=Zo.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,h,_){this._url=l,this._bounds=ri(h),x(this,_)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Qe(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){vt(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&&Te(this._image),this},bringToBack:function(){return this._map&&Ge(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=ri(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:ve("img");if(Qe(h,"leaflet-image-layer"),this._zoomAnimated&&Qe(h,"leaflet-zoom-animated"),this.options.className&&Qe(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),_=this._map._latLngBoundsToNewLayerBounds(this._bounds,l.zoom,l.center).min;Oe(this._image,_,h)},_reset:function(){var l=this._image,h=new ke(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),_=h.getSize();De(l,h.min),l.style.width=_.x+"px",l.style.height=_.y+"px"},_updateOpacity:function(){ne(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()}}),pa=function(l,h,_){return new Fs(l,h,_)},Wr=Fs.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:ve("video");if(Qe(h,"leaflet-image-layer"),this._zoomAnimated&&Qe(h,"leaflet-zoom-animated"),this.options.className&&Qe(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onloadeddata=r(this.fire,this,"load"),l){for(var _=h.getElementsByTagName("source"),S=[],I=0;I<_.length;I++)S.push(_[I].src);this._url=_.length>0?S:[h.src];return}A(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 X=ve("source");X.src=this._url[N],h.appendChild(X)}}});function Hs(l,h,_){return new Wr(l,h,_)}var wn=Fs.extend({_initImage:function(){var l=this._image=this._url;Qe(l,"leaflet-image-layer"),this._zoomAnimated&&Qe(l,"leaflet-zoom-animated"),this.options.className&&Qe(l,this.options.className),l.onselectstart=g,l.onmousemove=g}});function Xo(l,h,_){return new wn(l,h,_)}var Ls=Zo.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,h){l&&(l instanceof Wt||A(l))?(this._latlng=Dt(l),x(this,h)):(x(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&&ne(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&ne(this._container,1),this.bringToFront(),this.options.interactive&&(Qe(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(ne(this._container,0),this._removeTimeout=setTimeout(r(vt,void 0,this._container),200)):vt(this._container),this.options.interactive&&(bt(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=Dt(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&&Te(this._container),this},bringToBack:function(){return this._map&&Ge(this._container),this},_prepareOpen:function(l){var h=this._source;if(!h._map)return!1;if(h instanceof Hr){h=null;var _=this._source._layers;for(var S in _)if(_[S]._map){h=_[S];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=Re(this.options.offset),_=this._getAnchor();this._zoomAnimated?De(this._container,l.add(_)):h=h.add(l).add(_);var S=this._containerBottom=-h.y,I=this._containerLeft=-Math.round(this._containerWidth/2)+h.x;this._container.style.bottom=S+"px",this._container.style.left=I+"px"}},_getAnchor:function(){return[0,0]}});hn.include({_initOverlay:function(l,h,_,S){var I=h;return I instanceof l||(I=new l(S).setContent(h)),_&&I.setLatLng(_),I}}),Zo.include({_initOverlay:function(l,h,_,S){var I=_;return I instanceof l?(x(I,S),I._source=this):(I=h&&!S?h:new l(S,this),I.setContent(_)),I}});var Br=Ls.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,Ls.prototype.openOn.call(this,l)},onAdd:function(l){Ls.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof pe||this._source.on("preclick",Gi))},onRemove:function(l){Ls.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof pe||this._source.off("preclick",Gi))},getEvents:function(){var l=Ls.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=ve("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),_=this._wrapper=ve("div",l+"-content-wrapper",h);if(this._contentNode=ve("div",l+"-content",_),bn(h),pi(this._contentNode),Ze(h,"contextmenu",Gi),this._tipContainer=ve("div",l+"-tip-container",h),this._tip=ve("div",l+"-tip",this._tipContainer),this.options.closeButton){var S=this._closeButton=ve("a",l+"-close-button",h);S.setAttribute("role","button"),S.setAttribute("aria-label","Close popup"),S.href="#close",S.innerHTML='<span aria-hidden="true">&#215;</span>',Ze(S,"click",function(I){an(I),this.close()},this)}},_updateLayout:function(){var l=this._contentNode,h=l.style;h.width="",h.whiteSpace="nowrap";var _=l.offsetWidth;_=Math.min(_,this.options.maxWidth),_=Math.max(_,this.options.minWidth),h.width=_+1+"px",h.whiteSpace="",h.height="";var S=l.offsetHeight,I=this.options.maxHeight,N="leaflet-popup-scrolled";I&&S>I?(h.height=I+"px",Qe(l,N)):bt(l,N),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),_=this._getAnchor();De(this._container,h.add(_))},_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(ge(this._container,"marginBottom"),10)||0,_=this._container.offsetHeight+h,S=this._containerWidth,I=new Ne(this._containerLeft,-_-this._containerBottom);I._add(Bt(this._container));var N=l.layerPointToContainerPoint(I),X=Re(this.options.autoPanPadding),de=Re(this.options.autoPanPaddingTopLeft||X),xe=Re(this.options.autoPanPaddingBottomRight||X),ut=l.getSize(),ci=0,Zi=0;N.x+S+xe.x>ut.x&&(ci=N.x+S-ut.x+xe.x),N.x-ci-de.x<0&&(ci=N.x-de.x),N.y+_+xe.y>ut.y&&(Zi=N.y+_-ut.y+xe.y),N.y-Zi-de.y<0&&(Zi=N.y-de.y),(ci||Zi)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([ci,Zi]))}},_getAnchor:function(){return Re(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),lg=function(l,h){return new Br(l,h)};hn.mergeOptions({closePopupOnClick:!0}),hn.include({openPopup:function(l,h,_){return this._initOverlay(Br,l,h,_).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),Zo.include({bindPopup:function(l,h){return this._popup=this._initOverlay(Br,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 Hr||(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)){rs(l);var h=l.layer||l.target;if(this._popup._source===h&&!(h instanceof pe)){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 Wl=Ls.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){Ls.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){Ls.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=Ls.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=ve("div",h),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+c(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(l){var h,_,S=this._map,I=this._container,N=S.latLngToContainerPoint(S.getCenter()),X=S.layerPointToContainerPoint(l),de=this.options.direction,xe=I.offsetWidth,ut=I.offsetHeight,ci=Re(this.options.offset),Zi=this._getAnchor();de==="top"?(h=xe/2,_=ut):de==="bottom"?(h=xe/2,_=0):de==="center"?(h=xe/2,_=ut/2):de==="right"?(h=0,_=ut/2):de==="left"?(h=xe,_=ut/2):X.x<N.x?(de="right",h=0,_=ut/2):(de="left",h=xe+(ci.x+Zi.x)*2,_=ut/2),l=l.subtract(Re(h,_,!0)).add(ci).add(Zi),bt(I,"leaflet-tooltip-right"),bt(I,"leaflet-tooltip-left"),bt(I,"leaflet-tooltip-top"),bt(I,"leaflet-tooltip-bottom"),Qe(I,"leaflet-tooltip-"+de),De(I,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&ne(this._container,l)},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(h)},_getAnchor:function(){return Re(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),cg=function(l,h){return new Wl(l,h)};hn.include({openTooltip:function(l,h,_){return this._initOverlay(Wl,l,h,_).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),Zo.include({bindTooltip:function(l,h){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Wl,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",_={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?_.add=this._openTooltip:(_.mouseover=this._openTooltip,_.mouseout=this.closeTooltip,_.click=this._openTooltip,this._map?this._addFocusListeners():_.add=this._addFocusListeners),this._tooltip.options.sticky&&(_.mousemove=this._moveTooltip),this[h](_),this._tooltipHandlersAdded=!l}},openTooltip:function(l){return this._tooltip&&(this instanceof Hr||(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&&(Ze(h,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),Ze(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,_,S;this._tooltip.options.sticky&&l.originalEvent&&(_=this._map.mouseEventToContainerPoint(l.originalEvent),S=this._map.containerPointToLayerPoint(_),h=this._map.layerPointToLatLng(S)),this._tooltip.setLatLng(h)}});var zr=Hl.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"),_=this.options;if(_.html instanceof Element?(Ei(h),h.appendChild(_.html)):h.innerHTML=_.html!==!1?_.html:"",_.bgPos){var S=Re(_.bgPos);h.style.backgroundPosition=-S.x+"px "+-S.y+"px"}return this._setIconStyles(h,"icon"),h},createShadow:function(){return null}});function pw(l){return new zr(l)}Hl.Default=Uc;var qc=Zo.extend({options:{tileSize:256,opacity:1,updateWhenIdle:Ie.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){x(this,l)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(l){l._addZoomLimit(this)},onRemove:function(l){this._removeAllTiles(),vt(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(Te(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(Ge(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 Ne?l:new Ne(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,_=-l(-1/0,1/0),S=0,I=h.length,N;S<I;S++)N=h[S].style.zIndex,h[S]!==this._container&&N&&(_=l(_,+N));isFinite(_)&&(this.options.zIndex=_+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!Ie.ielt9){ne(this._container,this.options.opacity);var l=+new Date,h=!1,_=!1;for(var S in this._tiles){var I=this._tiles[S];if(!(!I.current||!I.loaded)){var N=Math.min(1,(l-I.loaded)/200);ne(I.el,N),N<1?h=!0:(I.active?_=!0:this._onOpaqueTile(I),I.active=!0)}}_&&!this._noPrune&&this._pruneTiles(),h&&(st(this._fadeFrame),this._fadeFrame=ce(this._updateOpacity,this))}},_onOpaqueTile:g,_initContainer:function(){this._container||(this._container=ve("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 _ in this._levels)_=Number(_),this._levels[_].el.children.length||_===l?(this._levels[_].el.style.zIndex=h-Math.abs(l-_),this._onUpdateLevel(_)):(vt(this._levels[_].el),this._removeTilesAtZoom(_),this._onRemoveLevel(_),delete this._levels[_]);var S=this._levels[l],I=this._map;return S||(S=this._levels[l]={},S.el=ve("div","leaflet-tile-container leaflet-zoom-animated",this._container),S.el.style.zIndex=h,S.origin=I.project(I.unproject(I.getPixelOrigin()),l).round(),S.zoom=l,this._setZoomTransform(S,I.getCenter(),I.getZoom()),g(S.el.offsetWidth),this._onCreateLevel(S)),this._level=S,S}},_onUpdateLevel:g,_onRemoveLevel:g,_onCreateLevel:g,_pruneTiles:function(){if(this._map){var l,h,_=this._map.getZoom();if(_>this.options.maxZoom||_<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 S=h.coords;this._retainParent(S.x,S.y,S.z,S.z-5)||this._retainChildren(S.x,S.y,S.z,S.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)vt(this._levels[l].el),this._onRemoveLevel(Number(l)),delete this._levels[l];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(l,h,_,S){var I=Math.floor(l/2),N=Math.floor(h/2),X=_-1,de=new Ne(+I,+N);de.z=+X;var xe=this._tileCoordsToKey(de),ut=this._tiles[xe];return ut&&ut.active?(ut.retain=!0,!0):(ut&&ut.loaded&&(ut.retain=!0),X>S?this._retainParent(I,N,X,S):!1)},_retainChildren:function(l,h,_,S){for(var I=2*l;I<2*l+2;I++)for(var N=2*h;N<2*h+2;N++){var X=new Ne(I,N);X.z=_+1;var de=this._tileCoordsToKey(X),xe=this._tiles[de];if(xe&&xe.active){xe.retain=!0;continue}else xe&&xe.loaded&&(xe.retain=!0);_+1<S&&this._retainChildren(I,N,_+1,S)}},_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,_,S){var I=Math.round(h);this.options.maxZoom!==void 0&&I>this.options.maxZoom||this.options.minZoom!==void 0&&I<this.options.minZoom?I=void 0:I=this._clampZoom(I);var N=this.options.updateWhenZooming&&I!==this._tileZoom;(!S||N)&&(this._tileZoom=I,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),I!==void 0&&this._update(l),_||this._pruneTiles(),this._noPrune=!!_),this._setZoomTransforms(l,h)},_setZoomTransforms:function(l,h){for(var _ in this._levels)this._setZoomTransform(this._levels[_],l,h)},_setZoomTransform:function(l,h,_){var S=this._map.getZoomScale(_,l.zoom),I=l.origin.multiplyBy(S).subtract(this._map._getNewPixelOrigin(h,_)).round();Ie.any3d?Oe(l.el,I,S):De(l.el,I)},_resetGrid:function(){var l=this._map,h=l.options.crs,_=this._tileSize=this.getTileSize(),S=this._tileZoom,I=this._map.getPixelWorldBounds(this._tileZoom);I&&(this._globalTileRange=this._pxBoundsToTileRange(I)),this._wrapX=h.wrapLng&&!this.options.noWrap&&[Math.floor(l.project([0,h.wrapLng[0]],S).x/_.x),Math.ceil(l.project([0,h.wrapLng[1]],S).x/_.y)],this._wrapY=h.wrapLat&&!this.options.noWrap&&[Math.floor(l.project([h.wrapLat[0],0],S).y/_.x),Math.ceil(l.project([h.wrapLat[1],0],S).y/_.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(l){var h=this._map,_=h._animatingZoom?Math.max(h._animateToZoom,h.getZoom()):h.getZoom(),S=h.getZoomScale(_,this._tileZoom),I=h.project(l,this._tileZoom).floor(),N=h.getSize().divideBy(S*2);return new ke(I.subtract(N),I.add(N))},_update:function(l){var h=this._map;if(h){var _=this._clampZoom(h.getZoom());if(l===void 0&&(l=h.getCenter()),this._tileZoom!==void 0){var S=this._getTiledPixelBounds(l),I=this._pxBoundsToTileRange(S),N=I.getCenter(),X=[],de=this.options.keepBuffer,xe=new ke(I.getBottomLeft().subtract([de,-de]),I.getTopRight().add([de,-de]));if(!(isFinite(I.min.x)&&isFinite(I.min.y)&&isFinite(I.max.x)&&isFinite(I.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var ut in this._tiles){var ci=this._tiles[ut].coords;(ci.z!==this._tileZoom||!xe.contains(new Ne(ci.x,ci.y)))&&(this._tiles[ut].current=!1)}if(Math.abs(_-this._tileZoom)>1){this._setView(l,_);return}for(var Zi=I.min.y;Zi<=I.max.y;Zi++)for(var Sn=I.min.x;Sn<=I.max.x;Sn++){var bo=new Ne(Sn,Zi);if(bo.z=this._tileZoom,!!this._isValidTile(bo)){var $s=this._tiles[this._tileCoordsToKey(bo)];$s?$s.current=!0:X.push(bo)}}if(X.sort(function(Po,Xu){return Po.distanceTo(N)-Xu.distanceTo(N)}),X.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var lr=document.createDocumentFragment();for(Sn=0;Sn<X.length;Sn++)this._addTile(X[Sn],lr);this._level.el.appendChild(lr)}}}},_isValidTile:function(l){var h=this._map.options.crs;if(!h.infinite){var _=this._globalTileRange;if(!h.wrapLng&&(l.x<_.min.x||l.x>_.max.x)||!h.wrapLat&&(l.y<_.min.y||l.y>_.max.y))return!1}if(!this.options.bounds)return!0;var S=this._tileCoordsToBounds(l);return ri(this.options.bounds).overlaps(S)},_keyToBounds:function(l){return this._tileCoordsToBounds(this._keyToTileCoords(l))},_tileCoordsToNwSe:function(l){var h=this._map,_=this.getTileSize(),S=l.scaleBy(_),I=S.add(_),N=h.unproject(S,l.z),X=h.unproject(I,l.z);return[N,X]},_tileCoordsToBounds:function(l){var h=this._tileCoordsToNwSe(l),_=new Ot(h[0],h[1]);return this.options.noWrap||(_=this._map.wrapLatLngBounds(_)),_},_tileCoordsToKey:function(l){return l.x+":"+l.y+":"+l.z},_keyToTileCoords:function(l){var h=l.split(":"),_=new Ne(+h[0],+h[1]);return _.z=+h[2],_},_removeTile:function(l){var h=this._tiles[l];h&&(vt(h.el),delete this._tiles[l],this.fire("tileunload",{tile:h.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){Qe(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,Ie.ielt9&&this.options.opacity<1&&ne(l,this.options.opacity)},_addTile:function(l,h){var _=this._getTilePos(l),S=this._tileCoordsToKey(l),I=this.createTile(this._wrapCoords(l),r(this._tileReady,this,l));this._initTile(I),this.createTile.length<2&&ce(r(this._tileReady,this,l,null,I)),De(I,_),this._tiles[S]={el:I,coords:l,current:!0},h.appendChild(I),this.fire("tileloadstart",{tile:I,coords:l})},_tileReady:function(l,h,_){h&&this.fire("tileerror",{error:h,tile:_,coords:l});var S=this._tileCoordsToKey(l);_=this._tiles[S],_&&(_.loaded=+new Date,this._map._fadeAnimated?(ne(_.el,0),st(this._fadeFrame),this._fadeFrame=ce(this._updateOpacity,this)):(_.active=!0,this._pruneTiles()),h||(Qe(_.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:_.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Ie.ielt9||!this._map._fadeAnimated?ce(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 Ne(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 ke(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 Pn(l){return new qc(l)}var ps=qc.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=x(this,h),h.detectRetina&&Ie.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 _=document.createElement("img");return Ze(_,"load",r(this._tileOnLoad,this,h,_)),Ze(_,"error",r(this._tileOnError,this,h,_)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(_.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(_.referrerPolicy=this.options.referrerPolicy),_.alt="",_.src=this.getTileUrl(l),_},getTileUrl:function(l){var h={r:Ie.retina?"@2x":"",s:this._getSubdomain(l),x:l.x,y:l.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var _=this._globalTileRange.max.y-l.y;this.options.tms&&(h.y=_),h["-y"]=_}return P(this._url,n(h,this.options))},_tileOnLoad:function(l,h){Ie.ielt9?setTimeout(r(l,this,null,h),0):l(null,h)},_tileOnError:function(l,h,_){var S=this.options.errorTileUrl;S&&h.getAttribute("src")!==S&&(h.src=S),l(_,h)},_onTileRemove:function(l){l.tile.onload=null},_getZoomForUrl:function(){var l=this._tileZoom,h=this.options.maxZoom,_=this.options.zoomReverse,S=this.options.zoomOffset;return _&&(l=h-l),l+S},_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=H;var _=this._tiles[l].coords;vt(h),delete this._tiles[l],this.fire("tileabort",{tile:h,coords:_})}},_removeTile:function(l){var h=this._tiles[l];if(h)return h.el.setAttribute("src",H),qc.prototype._removeTile.call(this,l)},_tileReady:function(l,h,_){if(!(!this._map||_&&_.getAttribute("src")===H))return qc.prototype._tileReady.call(this,l,h,_)}});function Gc(l,h){return new ps(l,h)}var Zu=ps.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 _=n({},this.defaultWmsParams);for(var S in h)S in this.options||(_[S]=h[S]);h=x(this,h);var I=h.detectRetina&&Ie.retina?2:1,N=this.getTileSize();_.width=N.x*I,_.height=N.y*I,this.wmsParams=_},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,ps.prototype.onAdd.call(this,l)},getTileUrl:function(l){var h=this._tileCoordsToNwSe(l),_=this._crs,S=tt(_.project(h[0]),_.project(h[1])),I=S.min,N=S.max,X=(this._wmsVersion>=1.3&&this._crs===Ku?[I.y,I.x,N.y,N.x]:[I.x,I.y,N.x,N.y]).join(","),de=ps.prototype.getTileUrl.call(this,l);return de+k(this.wmsParams,de,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+X},setParams:function(l,h){return n(this.wmsParams,l),h||this.redraw(),this}});function dA(l,h){return new Zu(l,h)}ps.WMS=Zu,Gc.wms=dA;var Ya=Zo.extend({options:{padding:.1},initialize:function(l){x(this,l),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Qe(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 _=this._map.getZoomScale(h,this._zoom),S=this._map.getSize().multiplyBy(.5+this.options.padding),I=this._map.project(this._center,h),N=S.multiplyBy(-_).add(I).subtract(this._map._getNewPixelOrigin(l,h));Ie.any3d?Oe(this._container,N,_):De(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(),_=this._map.containerPointToLayerPoint(h.multiplyBy(-l)).round();this._bounds=new ke(_,_.add(h.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Bk=Ya.extend({options:{tolerance:0},getEvents:function(){var l=Ya.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Ya.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");Ze(l,"mousemove",this._onMouseMove,this),Ze(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Ze(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){st(this._redrawRequest),delete this._ctx,vt(this._container),ti(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)){Ya.prototype._update.call(this);var l=this._bounds,h=this._container,_=l.getSize(),S=Ie.retina?2:1;De(h,l.min),h.width=S*_.x,h.height=S*_.y,h.style.width=_.x+"px",h.style.height=_.y+"px",Ie.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){Ya.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(l){this._updateDashArray(l),this._layers[c(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,_=h.next,S=h.prev;_?_.prev=S:this._drawLast=S,S?S.next=_:this._drawFirst=_,delete l._order,delete this._layers[c(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(/[, ]+/),_=[],S,I;for(I=0;I<h.length;I++){if(S=Number(h[I]),isNaN(S))return;_.push(S)}l.options._dashArray=_}else l.options._dashArray=l.options.dashArray},_requestRedraw:function(l){this._map&&(this._extendRedrawBounds(l),this._redrawRequest=this._redrawRequest||ce(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var h=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new ke,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 _=h.getSize();this._ctx.beginPath(),this._ctx.rect(h.min.x,h.min.y,_.x,_.y),this._ctx.clip()}this._drawing=!0;for(var S=this._drawFirst;S;S=S.next)l=S.layer,(!h||l._pxBounds&&l._pxBounds.intersects(h))&&l._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(l,h){if(this._drawing){var _,S,I,N,X=l._parts,de=X.length,xe=this._ctx;if(de){for(xe.beginPath(),_=0;_<de;_++){for(S=0,I=X[_].length;S<I;S++)N=X[_][S],xe[S?"lineTo":"moveTo"](N.x,N.y);h&&xe.closePath()}this._fillStroke(xe,l)}}},_updateCircle:function(l){if(!(!this._drawing||l._empty())){var h=l._point,_=this._ctx,S=Math.max(Math.round(l._radius),1),I=(Math.max(Math.round(l._radiusY),1)||S)/S;I!==1&&(_.save(),_.scale(1,I)),_.beginPath(),_.arc(h.x,h.y/I,S,0,Math.PI*2,!1),I!==1&&_.restore(),this._fillStroke(_,l)}},_fillStroke:function(l,h){var _=h.options;_.fill&&(l.globalAlpha=_.fillOpacity,l.fillStyle=_.fillColor||_.color,l.fill(_.fillRule||"evenodd")),_.stroke&&_.weight!==0&&(l.setLineDash&&l.setLineDash(h.options&&h.options._dashArray||[]),l.globalAlpha=_.opacity,l.lineWidth=_.weight,l.strokeStyle=_.color,l.lineCap=_.lineCap,l.lineJoin=_.lineJoin,l.stroke())},_onClick:function(l){for(var h=this._map.mouseEventToLayerPoint(l),_,S,I=this._drawFirst;I;I=I.next)_=I.layer,_.options.interactive&&_._containsPoint(h)&&(!(l.type==="click"||l.type==="preclick")||!this._map._draggableMoved(_))&&(S=_);this._fireEvent(S?[S]:!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&&(bt(this._container,"leaflet-interactive"),this._fireEvent([h],l,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(l,h){if(!this._mouseHoverThrottled){for(var _,S,I=this._drawFirst;I;I=I.next)_=I.layer,_.options.interactive&&_._containsPoint(h)&&(S=_);S!==this._hoveredLayer&&(this._handleMouseOut(l),S&&(Qe(this._container,"leaflet-interactive"),this._fireEvent([S],l,"mouseover"),this._hoveredLayer=S)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,l),this._mouseHoverThrottled=!0,setTimeout(r(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(l,h,_){this._map._fireDOMEvent(h,_||h.type,l)},_bringToFront:function(l){var h=l._order;if(h){var _=h.next,S=h.prev;if(_)_.prev=S;else return;S?S.next=_:_&&(this._drawFirst=_),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 _=h.next,S=h.prev;if(S)S.next=_;else return;_?_.prev=S:S&&(this._drawLast=S),h.prev=null,h.next=this._drawFirst,this._drawFirst.prev=h,this._drawFirst=h,this._requestRedraw(l)}}});function zk(l){return Ie.canvas?new Bk(l):null}var dg=(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">')}})(),uA={_initContainer:function(){this._container=ve("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Ya.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var h=l._container=dg("shape");Qe(h,"leaflet-vml-shape "+(this.options.className||"")),h.coordsize="1 1",l._path=dg("path"),h.appendChild(l._path),this._updateStyle(l),this._layers[c(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;vt(h),l.removeInteractiveTarget(h),delete this._layers[c(l)]},_updateStyle:function(l){var h=l._stroke,_=l._fill,S=l.options,I=l._container;I.stroked=!!S.stroke,I.filled=!!S.fill,S.stroke?(h||(h=l._stroke=dg("stroke")),I.appendChild(h),h.weight=S.weight+"px",h.color=S.color,h.opacity=S.opacity,S.dashArray?h.dashStyle=A(S.dashArray)?S.dashArray.join(" "):S.dashArray.replace(/( *, *)/g," "):h.dashStyle="",h.endcap=S.lineCap.replace("butt","flat"),h.joinstyle=S.lineJoin):h&&(I.removeChild(h),l._stroke=null),S.fill?(_||(_=l._fill=dg("fill")),I.appendChild(_),_.color=S.fillColor||S.color,_.opacity=S.fillOpacity):_&&(I.removeChild(_),l._fill=null)},_updateCircle:function(l){var h=l._point.round(),_=Math.round(l._radius),S=Math.round(l._radiusY||_);this._setPath(l,l._empty()?"M0 0":"AL "+h.x+","+h.y+" "+_+","+S+" 0,"+65535*360)},_setPath:function(l,h){l._path.v=h},_bringToFront:function(l){Te(l._container)},_bringToBack:function(l){Ge(l._container)}},U_=Ie.vml?dg:Si,ug=Ya.extend({_initContainer:function(){this._container=U_("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=U_("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){vt(this._container),ti(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ya.prototype._update.call(this);var l=this._bounds,h=l.getSize(),_=this._container;(!this._svgSize||!this._svgSize.equals(h))&&(this._svgSize=h,_.setAttribute("width",h.x),_.setAttribute("height",h.y)),De(_,l.min),_.setAttribute("viewBox",[l.min.x,l.min.y,h.x,h.y].join(" ")),this.fire("update")}},_initPath:function(l){var h=l._path=U_("path");l.options.className&&Qe(h,l.options.className),l.options.interactive&&Qe(h,"leaflet-interactive"),this._updateStyle(l),this._layers[c(l)]=l},_addPath:function(l){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(l._path),l.addInteractiveTarget(l._path)},_removePath:function(l){vt(l._path),l.removeInteractiveTarget(l._path),delete this._layers[c(l)]},_updatePath:function(l){l._project(),l._update()},_updateStyle:function(l){var h=l._path,_=l.options;h&&(_.stroke?(h.setAttribute("stroke",_.color),h.setAttribute("stroke-opacity",_.opacity),h.setAttribute("stroke-width",_.weight),h.setAttribute("stroke-linecap",_.lineCap),h.setAttribute("stroke-linejoin",_.lineJoin),_.dashArray?h.setAttribute("stroke-dasharray",_.dashArray):h.removeAttribute("stroke-dasharray"),_.dashOffset?h.setAttribute("stroke-dashoffset",_.dashOffset):h.removeAttribute("stroke-dashoffset")):h.setAttribute("stroke","none"),_.fill?(h.setAttribute("fill",_.fillColor||_.color),h.setAttribute("fill-opacity",_.fillOpacity),h.setAttribute("fill-rule",_.fillRule||"evenodd")):h.setAttribute("fill","none"))},_updatePoly:function(l,h){this._setPath(l,si(l._parts,h))},_updateCircle:function(l){var h=l._point,_=Math.max(Math.round(l._radius),1),S=Math.max(Math.round(l._radiusY),1)||_,I="a"+_+","+S+" 0 1,0 ",N=l._empty()?"M0 0":"M"+(h.x-_)+","+h.y+I+_*2+",0 "+I+-_*2+",0 ";this._setPath(l,N)},_setPath:function(l,h){l._path.setAttribute("d",h)},_bringToFront:function(l){Te(l._path)},_bringToBack:function(l){Ge(l._path)}});Ie.vml&&ug.include(uA);function Vk(l){return Ie.svg||Ie.vml?new ug(l):null}hn.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&&zk(l)||Vk(l)}});var jk=Ui.extend({initialize:function(l,h){Ui.prototype.initialize.call(this,this._boundsToLatLngs(l),h)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=ri(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function hA(l,h){return new jk(l,h)}ug.create=U_,ug.pointsToPath=si,Ki.geometryToLayer=Wn,Ki.coordsToLatLng=qn,Ki.coordsToLatLngs=Xi,Ki.latLngToCoords=hs,Ki.latLngsToCoords=Os,Ki.getFeature=bs,Ki.asFeature=as,hn.mergeOptions({boxZoom:!0});var $k=ar.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(){Ze(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){ti(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){vt(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(),xt(),Ee(),this._startPoint=this._map.mouseEventToContainerPoint(l),Ze(document,{contextmenu:rs,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=ve("div","leaflet-zoom-box",this._container),Qe(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var h=new ke(this._point,this._startPoint),_=h.getSize();De(this._box,h.min),this._box.style.width=_.x+"px",this._box.style.height=_.y+"px"},_finish:function(){this._moved&&(vt(this._box),bt(this._container,"leaflet-crosshair")),Ke(),He(),ti(document,{contextmenu:rs,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 Ot(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())}});hn.addInitHook("addHandler","boxZoom",$k),hn.mergeOptions({doubleClickZoom:!0});var Uk=ar.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,_=h.getZoom(),S=h.options.zoomDelta,I=l.originalEvent.shiftKey?_-S:_+S;h.options.doubleClickZoom==="center"?h.setZoom(I):h.setZoomAround(l.containerPoint,I)}});hn.addInitHook("addHandler","doubleClickZoom",Uk),hn.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var qk=ar.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new Ko(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))}Qe(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){bt(this._map._container,"leaflet-grab"),bt(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=ri(this._map.options.maxBounds);this._offsetLimit=tt(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,_=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(_),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),_=this._initialWorldOffset,S=this._draggable._newPos.x,I=(S-h+_)%l+h-_,N=(S+h+_)%l-h-_,X=Math.abs(I+_)<Math.abs(N+_)?I:N;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=X},_onDragEnd:function(l){var h=this._map,_=h.options,S=!_.inertia||l.noInertia||this._times.length<2;if(h.fire("dragend",l),S)h.fire("moveend");else{this._prunePositions(+new Date);var I=this._lastPos.subtract(this._positions[0]),N=(this._lastTime-this._times[0])/1e3,X=_.easeLinearity,de=I.multiplyBy(X/N),xe=de.distanceTo([0,0]),ut=Math.min(_.inertiaMaxSpeed,xe),ci=de.multiplyBy(ut/xe),Zi=ut/(_.inertiaDeceleration*X),Sn=ci.multiplyBy(-Zi/2).round();!Sn.x&&!Sn.y?h.fire("moveend"):(Sn=h._limitOffset(Sn,h.options.maxBounds),ce(function(){h.panBy(Sn,{duration:Zi,easeLinearity:X,noMoveStart:!0,animate:!0})}))}}});hn.addInitHook("addHandler","dragging",qk),hn.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Gk=ar.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"),Ze(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(),ti(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,_=l.scrollTop||h.scrollTop,S=l.scrollLeft||h.scrollLeft;this._map._container.focus(),window.scrollTo(S,_)}},_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={},_=this.keyCodes,S,I;for(S=0,I=_.left.length;S<I;S++)h[_.left[S]]=[-1*l,0];for(S=0,I=_.right.length;S<I;S++)h[_.right[S]]=[l,0];for(S=0,I=_.down.length;S<I;S++)h[_.down[S]]=[0,l];for(S=0,I=_.up.length;S<I;S++)h[_.up[S]]=[0,-1*l]},_setZoomDelta:function(l){var h=this._zoomKeys={},_=this.keyCodes,S,I;for(S=0,I=_.zoomIn.length;S<I;S++)h[_.zoomIn[S]]=l;for(S=0,I=_.zoomOut.length;S<I;S++)h[_.zoomOut[S]]=-l},_addHooks:function(){Ze(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){ti(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(l){if(!(l.altKey||l.ctrlKey||l.metaKey)){var h=l.keyCode,_=this._map,S;if(h in this._panKeys){if(!_._panAnim||!_._panAnim._inProgress)if(S=this._panKeys[h],l.shiftKey&&(S=Re(S).multiplyBy(3)),_.options.maxBounds&&(S=_._limitOffset(Re(S),_.options.maxBounds)),_.options.worldCopyJump){var I=_.wrapLatLng(_.unproject(_.project(_.getCenter()).add(S)));_.panTo(I)}else _.panBy(S)}else if(h in this._zoomKeys)_.setZoom(_.getZoom()+(l.shiftKey?3:1)*this._zoomKeys[h]);else if(h===27&&_._popup&&_._popup.options.closeOnEscapeKey)_.closePopup();else return;rs(l)}}});hn.addInitHook("addHandler","keyboard",Gk),hn.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var Kk=ar.extend({addHooks:function(){Ze(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){ti(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var h=Ga(l),_=this._map.options.wheelDebounceTime;this._delta+=h,this._lastMousePos=this._map.mouseEventToContainerPoint(l),this._startTime||(this._startTime=+new Date);var S=Math.max(_-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(r(this._performZoom,this),S),rs(l)},_performZoom:function(){var l=this._map,h=l.getZoom(),_=this._map.options.zoomSnap||0;l._stop();var S=this._delta/(this._map.options.wheelPxPerZoomLevel*4),I=4*Math.log(2/(1+Math.exp(-Math.abs(S))))/Math.LN2,N=_?Math.ceil(I/_)*_:I,X=l._limitZoom(h+(this._delta>0?N:-N))-h;this._delta=0,this._startTime=null,X&&(l.options.scrollWheelZoom==="center"?l.setZoom(h+X):l.setZoomAround(this._lastMousePos,h+X))}});hn.addInitHook("addHandler","scrollWheelZoom",Kk);var fA=600;hn.mergeOptions({tapHold:Ie.touchNative&&Ie.safari&&Ie.mobile,tapTolerance:15});var Zk=ar.extend({addHooks:function(){Ze(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){ti(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 Ne(h.clientX,h.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(Ze(document,"touchend",an),Ze(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",h))},this),fA),Ze(document,"touchend touchcancel contextmenu",this._cancel,this),Ze(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){ti(document,"touchend",an),ti(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),ti(document,"touchend touchcancel contextmenu",this._cancel,this),ti(document,"touchmove",this._onMove,this)},_onMove:function(l){var h=l.touches[0];this._newPos=new Ne(h.clientX,h.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(l,h){var _=new MouseEvent(l,{bubbles:!0,cancelable:!0,view:window,screenX:h.screenX,screenY:h.screenY,clientX:h.clientX,clientY:h.clientY});_._simulated=!0,h.target.dispatchEvent(_)}});hn.addInitHook("addHandler","tapHold",Zk),hn.mergeOptions({touchZoom:Ie.touch,bounceAtZoomLimits:!0});var Xk=ar.extend({addHooks:function(){Qe(this._map._container,"leaflet-touch-zoom"),Ze(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){bt(this._map._container,"leaflet-touch-zoom"),ti(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 _=h.mouseEventToContainerPoint(l.touches[0]),S=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(_.add(S)._divideBy(2))),this._startDist=_.distanceTo(S),this._startZoom=h.getZoom(),this._moved=!1,this._zooming=!0,h._stop(),Ze(document,"touchmove",this._onTouchMove,this),Ze(document,"touchend touchcancel",this._onTouchEnd,this),an(l)}},_onTouchMove:function(l){if(!(!l.touches||l.touches.length!==2||!this._zooming)){var h=this._map,_=h.mouseEventToContainerPoint(l.touches[0]),S=h.mouseEventToContainerPoint(l.touches[1]),I=_.distanceTo(S)/this._startDist;if(this._zoom=h.getScaleZoom(I,this._startZoom),!h.options.bounceAtZoomLimits&&(this._zoom<h.getMinZoom()&&I<1||this._zoom>h.getMaxZoom()&&I>1)&&(this._zoom=h._limitZoom(this._zoom)),h.options.touchZoom==="center"){if(this._center=this._startLatLng,I===1)return}else{var N=_._add(S)._divideBy(2)._subtract(this._centerPoint);if(I===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),st(this._animRequest);var X=r(h._move,h,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=ce(X,this,!0),an(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,st(this._animRequest),ti(document,"touchmove",this._onTouchMove,this),ti(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))}});hn.addInitHook("addHandler","touchZoom",Xk),hn.BoxZoom=$k,hn.DoubleClickZoom=Uk,hn.Drag=qk,hn.Keyboard=Gk,hn.ScrollWheelZoom=Kk,hn.TapHold=Zk,hn.TouchZoom=Xk,t.Bounds=ke,t.Browser=Ie,t.CRS=Mt,t.Canvas=Bk,t.Circle=li,t.CircleMarker=yt,t.Class=me,t.Control=Zs,t.DivIcon=zr,t.DivOverlay=Ls,t.DomEvent=fa,t.DomUtil=mt,t.Draggable=Ko,t.Evented=Tt,t.FeatureGroup=Hr,t.GeoJSON=Ki,t.GridLayer=qc,t.Handler=ar,t.Icon=Hl,t.ImageOverlay=Fs,t.LatLng=Wt,t.LatLngBounds=Ot,t.Layer=Zo,t.LayerGroup=Fl,t.LineUtil=V_,t.Map=hn,t.Marker=oe,t.Mixin=A_,t.Path=pe,t.Point=Ne,t.PolyUtil=dw,t.Polygon=Ui,t.Polyline=$i,t.Popup=Br,t.PosAnimation=ga,t.Projection=uw,t.Rectangle=jk,t.Renderer=Ya,t.SVG=ug,t.SVGOverlay=wn,t.TileLayer=ps,t.Tooltip=Wl,t.Transformation=Li,t.Util=at,t.VideoOverlay=Wr,t.bind=r,t.bounds=tt,t.canvas=zk,t.circle=en,t.circleMarker=Kt,t.control=ks,t.divIcon=pw,t.extend=n,t.featureGroup=fw,t.geoJSON=fs,t.geoJson=ys,t.gridLayer=Pn,t.icon=gw,t.imageOverlay=pa,t.latLng=Dt,t.latLngBounds=ri,t.layerGroup=hw,t.map=Rr,t.marker=Me,t.point=Re,t.polygon=tn,t.polyline=cn,t.popup=lg,t.rectangle=hA,t.setOptions=x,t.stamp=c,t.svg=Vk,t.svgOverlay=Xo,t.tileLayer=Gc,t.tooltip=cg,t.transformation=Ai,t.version=i,t.videoOverlay=Hs;var gA=window.L;t.noConflict=function(){return window.L=gA,this},window.L=t}))})(zg,zg.exports)),zg.exports}var mK=_K();const Sg=UR(mK),vK="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=",bK="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==",yK="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",Rn=(o,e=Ry)=>{var t=wK(),i=b(v(t),2),n=v(i);V(()=>F(n,e())),E(o,t)};var wK=T('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),SK=T("<button> </button>"),CK=T('<span class="err svelte-767znw"> </span>'),xK=T('<span class="ok svelte-767znw"> </span>'),kK=T('<div class="loading svelte-767znw">Loading…</div>'),LK=T('<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>'),IK=T('<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),DK=T('<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>'),EK=T('<div class="field svelte-767znw"><label class="svelte-767znw"> <!></label> <input type="password" placeholder="Enter new password" autocomplete="new-password" class="svelte-767znw"/></div>'),TK=T('<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),PK=T('<div class="field-error svelte-767znw"> </div>'),MK=T('<div class="field-ok svelte-767znw"> </div>'),NK=T('<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>'),RK=T('<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>'),AK=T('<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>'),OK=T('<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>'),rE=T("<option> </option>"),FK=T('<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>'),HK=T('<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>'),WK=T('<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>'),BK=T('<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>'),zK=T('<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>'),VK=T('<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>'),jK=T('<span class="free-badge svelte-767znw">FREE</span> ',1),$K=T('&nbsp;— <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),UK=T("<div><!> <!></div>"),qK=T('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),GK=T('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),KK=T('<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>'),ZK=T('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),XK=T('<!> <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 YK(o,e){Ns(e,!0),delete Sg.Icon.Default.prototype._getIconUrl,Sg.Icon.Default.mergeOptions({iconUrl:vK,iconRetinaUrl:bK,shadowUrl:yK});let t=M(yi(fK())),i=M("~/.she"),n=M("mqtt"),s=M(""),r=M(""),a=M(""),c=M(""),u=M(""),f=M(""),g=M("logic"),p=M("var"),w=M(""),m=M(!1),x=M(8080),k=M(""),D=M("none"),P=M(""),A=M("X-Remote-User"),j=M(""),H=M(!1),te=M(""),J=M(""),le=M(""),we=M(!1),Be=M(!1),ce=M(!1),st=M(""),at=M(48.7408),me=M(9.1778),ct=M(!1),gt=M(void 0),Tt=M(!1),Ne=M(null),Lt=M("info"),Re=M(""),ke=M(""),tt=M(!1),Ot=M(!1),ri=M("");const Wt=[{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 Dt=M("ollama"),Mt=M("ollama"),kt=M(""),mi=M(""),di=M("");const Li={};let Ai="ollama";function Oi($,Z){return $==="anthropic"?"anthropic":$==="ollama"?"ollama":Z?Z.includes("localhost:1234")?"lmstudio":Z.includes("groq.com")?"groq":Z.includes("googleapis.com")?"gemini":"openai":"openai"}function Hi(){Li[Ai]={baseUrl:d(kt),model:d(mi),apiKey:d(di)};const $=Wt.find(ie=>ie.id===d(Dt));if(!$)return;y(Mt,$.provider,!0);const Z=Li[d(Dt)];y(kt,(Z==null?void 0:Z.baseUrl)??$.baseUrl,!0),y(mi,(Z==null?void 0:Z.model)??$.defaultModel,!0),y(di,(Z==null?void 0:Z.apiKey)??"",!0),Ai=d(Dt)}const Si=wt(()=>Wt.find($=>$.id===d(Dt)));let si=M(yi({}));const ui=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(!d(gt))return;const $=typeof d(at)=="number"?d(at):48.7408,Z=typeof d(me)=="number"?d(me):9.1778,ie=Sg.map(d(gt)).setView([$,Z],10);Sg.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(ie);const Se=Sg.marker([$,Z],{draggable:!0}).addTo(ie);y(Ne,Se,!0);const pt=Ae=>{y(at,+Ae.lat.toFixed(6)),y(me,+Ae.lng.toFixed(6))};return Se.on("dragend",()=>pt(Se.getLatLng())),ie.on("click",Ae=>{Se.setLatLng(Ae.latlng),pt(Ae.latlng)}),()=>{y(Ne,null),ie.remove()}}),$n(()=>{!d(Ne)||d(at)===""||d(me)===""||d(Ne).setLatLng([Number(d(at)),Number(d(me))])});let Pi;function Vi(){if(!navigator.geolocation){Pi.show("Geolocation is not supported by this browser.",{alert:!0});return}y(Tt,!0),navigator.geolocation.getCurrentPosition($=>{y(at,+$.coords.latitude.toFixed(6)),y(me,+$.coords.longitude.toFixed(6)),y(Tt,!1)},()=>{y(Tt,!1)})}let Mi=M(!0),Je=M(!1),oi=M(""),hi=M(""),xi=M(""),Ni=M("appearance");const dn=[{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 ji=wt(()=>dn.filter($=>{const Z=d(xi).trim().toLowerCase();return!Z||$.label.toLowerCase().includes(Z)||$.terms.some(ie=>ie.includes(Z))}));function Tn($){var Z;y(Ni,$,!0),(Z=document.getElementById("sec-"+$))==null||Z.scrollIntoView({behavior:"smooth",block:"start"})}ao(async()=>{try{const $=await Wg();$.dataDir&&y(i,$.dataDir,!0)}catch{}try{const $=await Dl();if(typeof $.url=="string"&&$.url)try{const Se=new URL($.url);y(n,Se.protocol.replace(":",""),!0),y(s,Se.host,!0)}catch{y(s,$.url,!0)}typeof $.mqttUsername=="string"&&y(r,$.mqttUsername,!0),typeof $.mqttPassword=="string"&&y(a,$.mqttPassword,!0),typeof $.mqttCa=="string"&&y(c,$.mqttCa,!0),typeof $.mqttCert=="string"&&y(u,$.mqttCert,!0),typeof $.mqttKey=="string"&&y(f,$.mqttKey,!0),typeof $.mqttVersion=="string"&&y(w,$.mqttVersion,!0),typeof $.name=="string"&&y(g,$.name,!0),typeof $.variablePrefix=="string"&&y(p,$.variablePrefix,!0),typeof $.disableVariables=="boolean"&&y(m,$.disableVariables,!0),typeof $.port=="number"&&y(x,$.port,!0),typeof $.bindAddress=="string"&&y(k,$.bindAddress,!0),typeof $.auth=="string"&&y(D,$.auth,!0),typeof $.proxyHeader=="string"&&y(A,$.proxyHeader,!0),typeof $.proxyLogoutUrl=="string"&&y(j,$.proxyLogoutUrl,!0),typeof $.dir=="string"&&y(le,$.dir,!0),typeof $.disableWatch=="boolean"&&y(we,$.disableWatch,!0),typeof $.gitAutoCommit=="boolean"&&y(Be,$.gitAutoCommit,!0),typeof $.gitAutoPush=="boolean"&&y(ce,$.gitAutoPush,!0),typeof $.latitude=="number"&&y(at,$.latitude,!0),typeof $.longitude=="number"&&y(me,$.longitude,!0),typeof $.timezone=="string"&&y(st,$.timezone,!0),typeof $.verbosity=="string"&&y(Lt,$.verbosity,!0),typeof $.dbPath=="string"&&y(Re,$.dbPath,!0),typeof $.dbPrefix=="string"&&y(ke,$.dbPrefix,!0),typeof $.dbPublish=="boolean"&&y(tt,$.dbPublish,!0),typeof $.dbRetain=="boolean"&&y(Ot,$.dbRetain,!0);const Z=$.redis;Z!=null&&Z.url&&y(ri,Z.url,!0);const ie=$.ai;ie!=null&&ie.provider&&y(Mt,ie.provider,!0),ie!=null&&ie.baseUrl&&y(kt,ie.baseUrl,!0),ie!=null&&ie.model&&y(mi,ie.model,!0),ie!=null&&ie.apiKey&&y(di,ie.apiKey,!0),y(Dt,Oi(d(Mt),d(kt)),!0),Ai=d(Dt),y(si,Object.fromEntries(Object.entries($).filter(([Se])=>!ui.has(Se))),!0)}catch($){y(hi,$.message,!0)}finally{y(Mi,!1)}});async function Fe(){if(y(J,""),y(te,""),d(D)==="password"&&!d(P)){y(J,"A password is required to enable password authentication.");return}y(H,!0);try{await f7(d(D),d(D)==="password"?d(P):void 0,d(D)==="proxy"?d(A):void 0,d(D)==="proxy"?d(j):void 0),y(P,""),y(te,"Authentication settings saved.")}catch($){y(J,$.message,!0)}finally{y(H,!1)}}async function Qt(){y(hi,""),y(oi,"");const $={...d(si)};d(s)&&($.url=`${d(n)}://${d(s)}`),$.name=d(g),$.variablePrefix=d(p),d(w)&&($.mqttVersion=d(w)),d(m)&&($.disableVariables=!0),d(r)&&($.mqttUsername=d(r)),d(a)&&($.mqttPassword=d(a)),d(c)&&($.mqttCa=d(c)),d(u)&&($.mqttCert=d(u)),d(f)&&($.mqttKey=d(f)),d(x)!==""&&($.port=Number(d(x))),d(k)&&($.bindAddress=d(k)),d(le)&&($.dir=d(le)),d(we)&&($.disableWatch=!0),d(Be)&&($.gitAutoCommit=!0),d(ce)&&($.gitAutoPush=!0),d(at)!==""&&($.latitude=Number(d(at))),d(me)!==""&&($.longitude=Number(d(me))),d(st)&&($.timezone=d(st)),$.verbosity=d(Lt),d(Re)&&($.dbPath=d(Re),d(ke)&&($.dbPrefix=d(ke)),d(tt)&&($.dbPublish=!0,d(Ot)&&($.dbRetain=!0))),d(ri)&&($.redis={url:d(ri)}),d(Mt)&&($.ai={provider:d(Mt),...d(kt)?{baseUrl:d(kt)}:{},...d(mi)?{model:d(mi)}:{},...d(di)?{apiKey:d(di)}:{}}),y(Je,!0);try{const Z=await Zp($);window.dispatchEvent(new CustomEvent("she:config-changed")),y(oi,Z.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(Z){y(hi,Z.message,!0)}finally{y(Je,!1)}}var fi=XK(),Ti=Et(fi);Ds(Jf(Ti,{}),$=>Pi=$,()=>Pi);var $e=b(Ti,2),$t=v($e),gi=v($t),Ii=b(v(gi),2),qe=b(gi,2);_i(qe,21,()=>dn,$=>$.id,($,Z)=>{var ie=Vs(),Se=Et(ie);{var pt=Ie=>{var ot=SK();let It;var St=v(ot);V(()=>{It=Rt(ot,1,"section-link svelte-767znw",null,It,{active:d(Ni)===d(Z).id}),F(St,d(Z).label)}),G("click",ot,()=>Tn(d(Z).id)),E(Ie,ot)},Ae=wt(()=>d(ji).some(Ie=>Ie.id===d(Z).id));W(Se,Ie=>{d(Ae)&&Ie(pt)})}E($,ie)});var he=b($t,2),K=v(he),ae=b(v(K),2);{var Ce=$=>{var Z=CK(),ie=v(Z);V(()=>F(ie,d(hi))),E($,Z)};W(ae,$=>{d(hi)&&$(Ce)})}var Pe=b(ae,2);{var rt=$=>{var Z=xK(),ie=v(Z);V(()=>F(ie,d(oi))),E($,Z)};W(Pe,$=>{d(oi)&&$(rt)})}var R=b(Pe,2),Q=v(R),Y=b(K,2);{var fe=$=>{var Z=kK();E($,Z)},_e=$=>{var Z=ZK(),ie=v(Z);{var Se=Te=>{var Ge=LK(),Ht=b(v(Ge),2),Qe=b(v(Ht),2),bt=v(Qe);bt.value=bt.__value="dark";var Gt=b(bt);Gt.value=Gt.__value="light";var q=b(Gt);q.value=q.__value="system",G("change",Qe,()=>gK(d(t))),Ho(Qe,()=>d(t),ne=>y(t,ne)),E(Te,Ge)},pt=wt(()=>d(ji).some(Te=>Te.id==="appearance"));W(ie,Te=>{d(pt)&&Te(Se)})}var Ae=b(ie,2);{var Ie=Te=>{var Ge=DK(),Ht=b(v(Ge),2),Qe=v(Ht),bt=b(v(Qe));Rn(bt,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var Gt=b(Qe,2),q=v(Gt);q.value=q.__value="mqtt";var ne=b(q);ne.value=ne.__value="mqtts";var Ve=b(ne);Ve.value=Ve.__value="ws";var et=b(Ve);et.value=et.__value="wss";var Oe=b(Ht,2),De=v(Oe),Bt=b(v(De));Rn(Bt,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var xt=b(De,2),Ke=b(Oe,2),zt=v(Ke),it=b(v(zt));Rn(it,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var Ee=b(zt,2),He=b(Ke,2),We=v(He),ze=b(v(We));Rn(ze,()=>"MQTT broker password. Stored in plain text in config.json.");var Pt=b(We,2),ye=b(He,2);{var nt=Qn=>{var fa=IK(),ga=Et(fa),hn=v(ga),Rr=b(v(hn));Rn(Rr,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var Zs=b(hn,2),ks=b(ga,2),Xs=v(ks),Ar=b(v(Xs));Rn(Ar,()=>"PEM-encoded client certificate for mutual TLS authentication.");var Ka=b(Xs,2),Ol=b(ks,2),Za=v(Ol),Go=b(v(Za));Rn(Go,()=>"PEM-encoded private key matching the client certificate.");var Or=b(Za,2);Zt(Zs,()=>d(c),Fr=>y(c,Fr)),Zt(Ka,()=>d(u),Fr=>y(u,Fr)),Zt(Or,()=>d(f),Fr=>y(f,Fr)),E(Qn,fa)};W(ye,Qn=>{(d(n)==="mqtts"||d(n)==="wss")&&Qn(nt)})}var _t=b(ye,2),mt=v(_t),Ze=b(v(mt));Rn(Ze,()=>"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 Ut=b(mt,2),ti=v(Ut);ti.value=ti.__value="";var ln=b(ti);ln.value=ln.__value="5";var Qi=b(_t,2),Dn=v(Qi),Jn=b(v(Dn));Rn(Jn,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var Gi=b(Dn,2),pi=b(Qi,2),bn=v(pi),an=b(v(bn));Rn(an,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var rs=b(bn,2),co=b(pi,2),qo=b(v(co),2),Nr=v(qo),Ga=b(Nr,4);Rn(Ga,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),Ho(Gt,()=>d(n),Qn=>y(n,Qn)),Zt(xt,()=>d(s),Qn=>y(s,Qn)),Zt(Ee,()=>d(r),Qn=>y(r,Qn)),Zt(Pt,()=>d(a),Qn=>y(a,Qn)),Ho(Ut,()=>d(w),Qn=>y(w,Qn)),Zt(Gi,()=>d(g),Qn=>y(g,Qn)),Zt(rs,()=>d(p),Qn=>y(p,Qn)),Is(Nr,()=>d(m),Qn=>y(m,Qn)),E(Te,Ge)},ot=wt(()=>d(ji).some(Te=>Te.id==="mqtt"));W(Ae,Te=>{d(ot)&&Te(Ie)})}var It=b(Ae,2);{var St=Te=>{var Ge=NK(),Ht=b(v(Ge),2),Qe=v(Ht),bt=b(v(Qe));Rn(bt,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var Gt=b(Qe,2),q=v(Gt);q.value=q.__value="none";var ne=b(q);ne.value=ne.__value="password";var Ve=b(ne);Ve.value=Ve.__value="proxy";var et=b(Ht,2);{var Oe=ze=>{var Pt=EK(),ye=v(Pt),nt=v(ye),_t=b(nt);Rn(_t,()=>"Set a new password. Leave empty to keep the current password (if already set).");var mt=b(ye,2);V(()=>F(nt,`${d(P)?"New password":"Password"} `)),Zt(mt,()=>d(P),Ze=>y(P,Ze)),E(ze,Pt)};W(et,ze=>{d(D)==="password"&&ze(Oe)})}var De=b(et,2);{var Bt=ze=>{var Pt=TK(),ye=Et(Pt),nt=v(ye),_t=b(v(nt));Rn(_t,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var mt=b(nt,2),Ze=b(ye,2),Ut=v(Ze),ti=b(v(Ut));Rn(ti,()=>"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 ln=b(Ut,2);Zt(mt,()=>d(A),Qi=>y(A,Qi)),Zt(ln,()=>d(j),Qi=>y(j,Qi)),E(ze,Pt)};W(De,ze=>{d(D)==="proxy"&&ze(Bt)})}var xt=b(De,2);{var Ke=ze=>{var Pt=PK(),ye=v(Pt);V(()=>F(ye,d(J))),E(ze,Pt)};W(xt,ze=>{d(J)&&ze(Ke)})}var zt=b(xt,2);{var it=ze=>{var Pt=MK(),ye=v(Pt);V(()=>F(ye,d(te))),E(ze,Pt)};W(zt,ze=>{d(te)&&ze(it)})}var Ee=b(zt,2),He=b(v(Ee),2),We=v(He);V(()=>{He.disabled=d(H)||d(D)==="password"&&!d(P),F(We,d(H)?"Saving…":"Apply authentication settings")}),Ho(Gt,()=>d(D),ze=>y(D,ze)),G("click",He,Fe),E(Te,Ge)},ni=wt(()=>d(ji).some(Te=>Te.id==="auth"));W(It,Te=>{d(ni)&&Te(St)})}var ei=b(It,2);{var se=Te=>{var Ge=RK(),Ht=b(v(Ge),2),Qe=v(Ht),bt=b(v(Qe));Rn(bt,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var Gt=b(Qe,2),q=b(Ht,2),ne=v(q),Ve=b(v(ne));Rn(Ve,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var et=b(ne,2);Zt(Gt,()=>d(x),Oe=>y(x,Oe)),Zt(et,()=>d(k),Oe=>y(k,Oe)),E(Te,Ge)},Le=wt(()=>d(ji).some(Te=>Te.id==="webserver"));W(ei,Te=>{d(Le)&&Te(se)})}var lt=b(ei,2);{var Ct=Te=>{var Ge=AK(),Ht=b(v(Ge),2),Qe=v(Ht),bt=b(v(Qe));Rn(bt,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var Gt=b(Qe,2),q=b(Ht,2),ne=b(v(q),2),Ve=v(ne),et=b(Ve,4);Rn(et,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),V(()=>Wi(Gt,"placeholder",`${d(i)??""}/scripts (default)`)),Zt(Gt,()=>d(le),Oe=>y(le,Oe)),Is(Ve,()=>d(we),Oe=>y(we,Oe)),E(Te,Ge)},ft=wt(()=>d(ji).some(Te=>Te.id==="scripts"));W(lt,Te=>{d(ft)&&Te(Ct)})}var Xe=b(lt,2);{var Ft=Te=>{var Ge=OK(),Ht=b(v(Ge),2),Qe=b(v(Ht),2),bt=v(Qe),Gt=b(bt,4);Rn(Gt,()=>"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 q=b(Ht,2),ne=b(v(q),2),Ve=v(ne),et=b(Ve,4);Rn(et,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),Is(bt,()=>d(Be),Oe=>y(Be,Oe)),Is(Ve,()=>d(ce),Oe=>y(ce,Oe)),E(Te,Ge)},ai=wt(()=>d(ji).some(Te=>Te.id==="git"));W(Xe,Te=>{d(ai)&&Te(Ft)})}var bi=b(Xe,2);{var Di=Te=>{var Ge=HK(),Ht=b(v(Ge),2),Qe=v(Ht),bt=b(v(Qe));Rn(bt,()=>"IANA timezone for cron scheduling (e.g. Europe/Berlin). Leave empty to use the system timezone. Requires daemon restart.");var Gt=b(Qe,2),q=b(Gt,2);_i(q,20,()=>{var mt;return((mt=Intl.supportedValuesOf)==null?void 0:mt.call(Intl,"timeZone"))??[]},on,(mt,Ze)=>{var Ut=rE(),ti=v(Ut),ln={};V(()=>{F(ti,Ze),ln!==(ln=Ze)&&(Ut.value=(Ut.__value=Ze)??"")}),E(mt,Ut)});var ne=b(Ht,2),Ve=v(ne),et=b(v(Ve));Rn(et,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Oe=b(Ve,2),De=b(ne,2),Bt=v(De),xt=b(v(Bt));Rn(xt,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Ke=b(Bt,2),zt=b(De,2),it=b(v(zt),2),Ee=v(it),He=v(Ee);{var We=mt=>{var Ze=sa("…");E(mt,Ze)},ze=mt=>{var Ze=sa("📍 Use my location");E(mt,Ze)};W(He,mt=>{d(Tt)?mt(We):mt(ze,-1)})}var Pt=b(Ee,2),ye=v(Pt),nt=b(zt,2);{var _t=mt=>{var Ze=FK(),Ut=b(v(Ze),2);Ds(Ut,ti=>y(gt,ti),()=>d(gt)),E(mt,Ze)};W(nt,mt=>{d(ct)&&mt(_t)})}V(()=>{Ee.disabled=d(Tt),F(ye,d(ct)?"Hide map":"Pick on map")}),Zt(Gt,()=>d(st),mt=>y(st,mt)),Zt(Oe,()=>d(at),mt=>y(at,mt)),Zt(Ke,()=>d(me),mt=>y(me,mt)),G("click",Ee,Vi),G("click",Pt,()=>y(ct,!d(ct))),E(Te,Ge)},fn=wt(()=>d(ji).some(Te=>Te.id==="solar"));W(bi,Te=>{d(fn)&&Te(Di)})}var Cn=b(bi,2);{var un=Te=>{var Ge=WK(),Ht=b(v(Ge),2),Qe=v(Ht),bt=b(v(Qe));Rn(bt,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var Gt=b(Qe,2),q=v(Gt);q.value=q.__value="debug";var ne=b(q);ne.value=ne.__value="info";var Ve=b(ne);Ve.value=Ve.__value="warn";var et=b(Ve);et.value=et.__value="error",Ho(Gt,()=>d(Lt),Oe=>y(Lt,Oe)),E(Te,Ge)},ki=wt(()=>d(ji).some(Te=>Te.id==="logging"));W(Cn,Te=>{d(ki)&&Te(un)})}var gn=b(Cn,2);{var z=Te=>{var Ge=zK(),Ht=b(v(Ge),2),Qe=v(Ht),bt=b(v(Qe));Rn(bt,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var Gt=b(Qe,2),q=b(Ht,2),ne=v(q),Ve=b(v(ne));Rn(Ve,()=>"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 et=b(ne,2),Oe=b(q,2),De=b(v(Oe),2);let Bt;var xt=v(De),Ke=b(xt,4);Rn(Ke,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var zt=b(Oe,2);{var it=Ee=>{var He=BK(),We=b(v(He),2);let ze;var Pt=v(We),ye=b(Pt,4);Rn(ye,()=>"When enabled, MQTT messages for document changes are published as retained messages."),V(()=>{ze=Rt(We,1,"check-label svelte-767znw",null,ze,{muted:!d(Re)}),Pt.disabled=!d(Re)}),Is(Pt,()=>d(Ot),nt=>y(Ot,nt)),E(Ee,He)};W(zt,Ee=>{d(tt)&&Ee(it)})}V(()=>{Wi(Gt,"placeholder",`defaults to ${d(i)??""}/db`),et.disabled=!d(Re),Bt=Rt(De,1,"check-label svelte-767znw",null,Bt,{muted:!d(Re)}),xt.disabled=!d(Re)}),Zt(Gt,()=>d(Re),Ee=>y(Re,Ee)),Zt(et,()=>d(ke),Ee=>y(ke,Ee)),Is(xt,()=>d(tt),Ee=>y(tt,Ee)),E(Te,Ge)},ee=wt(()=>d(ji).some(Te=>Te.id==="shedb"));W(gn,Te=>{d(ee)&&Te(z)})}var Ue=b(gn,2);{var Ye=Te=>{var Ge=VK(),Ht=b(v(Ge),2),Qe=v(Ht),bt=b(v(Qe));Rn(bt,()=>"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 Gt=b(Qe,2);Zt(Gt,()=>d(ri),q=>y(ri,q)),E(Te,Ge)},ge=wt(()=>d(ji).some(Te=>Te.id==="redis"));W(Ue,Te=>{d(ge)&&Te(Ye)})}var ve=b(Ue,2);{var vt=Te=>{var Ge=KK(),Ht=b(v(Ge),2),Qe=v(Ht),bt=b(v(Qe));Rn(bt,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var Gt=b(Qe,2);_i(Gt,21,()=>Wt,on,(it,Ee)=>{var He=rE(),We=v(He),ze={};V(()=>{F(We,d(Ee).label),ze!==(ze=d(Ee).id)&&(He.value=(He.__value=d(Ee).id)??"")}),E(it,He)});var q=b(Ht,2);{var ne=it=>{var Ee=UK();let He;var We=v(Ee);{var ze=nt=>{var _t=jK(),mt=b(Et(_t));V(()=>F(mt,` ${d(Si).freeNote??""}`)),E(nt,_t)};W(We,nt=>{d(Si).freeNote&&nt(ze)})}var Pt=b(We,2);{var ye=nt=>{var _t=$K(),mt=b(Et(_t));V(()=>Wi(mt,"href",d(Si).apiKeyUrl)),E(nt,_t)};W(Pt,nt=>{d(Si).apiKeyUrl&&nt(ye)})}V(()=>He=Rt(Ee,1,"preset-note svelte-767znw",null,He,{free:!!d(Si).freeNote})),E(it,Ee)};W(q,it=>{var Ee,He;((Ee=d(Si))!=null&&Ee.freeNote||(He=d(Si))!=null&&He.apiKeyUrl)&&it(ne)})}var Ve=b(q,2);{var et=it=>{var Ee=qK(),He=v(Ee),We=b(v(He));Rn(We,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var ze=b(He,2);V(()=>{var Pt;return Wi(ze,"placeholder",d(Dt)==="ollama"?"http://localhost:11434":d(Dt)==="lmstudio"?"http://localhost:1234":((Pt=d(Si))==null?void 0:Pt.baseUrl)??"")}),Zt(ze,()=>d(kt),Pt=>y(kt,Pt)),E(it,Ee)};W(Ve,it=>{d(Dt)!=="anthropic"&&it(et)})}var Oe=b(Ve,2),De=v(Oe),Bt=b(v(De));Rn(Bt,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var xt=b(De,2),Ke=b(Oe,2);{var zt=it=>{var Ee=GK(),He=v(Ee),We=b(v(He));Rn(We,()=>"Stored in config.json. Not needed for local providers.");var ze=b(He,2);Zt(ze,()=>d(di),Pt=>y(di,Pt)),E(it,Ee)};W(Ke,it=>{d(Dt)!=="ollama"&&d(Dt)!=="lmstudio"&&it(zt)})}V(()=>{var it;return Wi(xt,"placeholder",((it=d(Si))==null?void 0:it.defaultModel)||"e.g. llama3.2")}),G("change",Gt,Hi),Ho(Gt,()=>d(Dt),it=>y(Dt,it)),Zt(xt,()=>d(mi),it=>y(mi,it)),E(Te,Ge)},Ei=wt(()=>d(ji).some(Te=>Te.id==="ai"));W(ve,Te=>{d(Ei)&&Te(vt)})}E($,Z)};W(Y,$=>{d(Mi)?$(fe):$(_e,-1)})}V(()=>{R.disabled=d(Je),F(Q,d(Je)?"Saving…":"Save")}),Zt(Ii,()=>d(xi),$=>y(xi,$)),G("click",R,Qt),E(o,fi),Rs()}Ks(["click","change"]);var JK=T("<option> </option>"),QK=T('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),eZ=T('<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 tZ(o,e){Ns(e,!0);let t=M(yi(jR())),i,n=M(!0),s=M("all"),r=M(""),a=M(!1);const c=["all","debug","info","warn","error"],u={debug:0,info:1,warn:2,error:3};kk(J=>{y(t,[...d(t).slice(-1999),J],!0)}),ao(()=>{i&&(i.scrollTop=i.scrollHeight)}),$n(()=>{d(t).length,d(n)&&i&&(i.scrollTop=i.scrollHeight)});function f(){y(t,[],!0)}function g(J){if(d(s)!=="all"&&u[J.level]<u[d(s)])return!1;if(!d(r))return!0;if(d(a))try{return new RegExp(d(r),"i").test(J.msg)}catch{}return J.msg.toLowerCase().includes(d(r).toLowerCase())}function p(J){return new Date(J).toLocaleTimeString()}var w=eZ(),m=v(w),x=b(v(m),2);_i(x,21,()=>c,on,(J,le)=>{var we=JK(),Be=v(we),ce={};V(()=>{F(Be,d(le)),ce!==(ce=d(le))&&(we.value=(we.__value=d(le))??"")}),E(J,we)});var k=b(x,2),D=b(k,2),P=v(D),A=b(D,2),j=v(A),H=b(A,2),te=b(m,2);_i(te,21,()=>d(t).filter(g),J=>J.ts+J.msg,(J,le)=>{var we=QK(),Be=v(we),ce=v(Be),st=b(Be,2),at=v(st),me=b(st,2),ct=v(me);V((gt,Tt)=>{Rt(we,1,`line ${d(le).level??""}`,"svelte-18loop9"),F(ce,gt),F(at,Tt),F(ct,d(le).msg)},[()=>p(d(le).ts),()=>d(le).level.toUpperCase()]),E(J,we)}),Ds(te,J=>i=J,()=>i),Ho(x,()=>d(s),J=>y(s,J)),Zt(k,()=>d(r),J=>y(r,J)),Is(P,()=>d(a),J=>y(a,J)),Is(j,()=>d(n),J=>y(n,J)),G("click",H,f),E(o,w),Rs()}Ks(["click"]);var iZ=T('<span class="chat-model svelte-1twuiul"><!></span>'),nZ=T('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),sZ=T('<div class="unconfigured svelte-1twuiul">Configure an AI provider in the <strong class="svelte-1twuiul">Config</strong> tab to use the AI assistant.</div>'),oZ=T('Working on view <code class="svelte-1twuiul"> </code>',1),rZ=T('<button class="chip svelte-1twuiul"> </button>'),aZ=T('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),lZ=T('<div class="msg-content user-text svelte-1twuiul"> </div>'),aE=T('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),lE=T('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),cE=T('<div class="tool-events svelte-1twuiul"></div>'),dE=T('<div class="text-block svelte-1twuiul"></div>'),cZ=T('<button class="expand-btn svelte-1twuiul"> </button>'),dZ=T('<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>'),uZ=T('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),hZ=T('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),fZ=T("<div><!></div>"),gZ=T('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),pZ=T('<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>'),_Z=T('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),mZ=T('<div class="chat-error svelte-1twuiul"> </div>'),vZ=T('<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>'),bZ=T('<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>'),yZ=T('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),wZ=T('<button class="send-btn svelte-1twuiul">↑</button>'),SZ=T('<option class="svelte-1twuiul"> </option>'),CZ=T('<select class="model-select svelte-1twuiul"></select>'),xZ=T('<span class="model-name svelte-1twuiul"> </span>'),kZ=T('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),LZ=T('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),IZ=T('<p class="info-status svelte-1twuiul">Loading…</p>'),DZ=T('<p class="info-status info-err svelte-1twuiul"> </p>'),EZ=T('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),TZ=T('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),PZ=T('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),MZ=T('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),NZ=T('<div class="running-model svelte-1twuiul"> </div>'),RZ=T('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),AZ=T('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),OZ=T('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),FZ=T('<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>'),HZ=T('<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 WZ(o,e){Ns(e,!0),pb.registerLanguage("javascript",ZR),Un.use({breaks:!0,gfm:!0});let t=Cf(e,"currentView",3,null);const i="she:viewchat:messages";let n=M(yi(JSON.parse(localStorage.getItem(i)??"[]"))),s=M(null),r=M(""),a=M(!1),c=M(""),u=M(null),f=M(yi([])),g=M(yi(localStorage.getItem("she:selectedModel")??""));$n(()=>{localStorage.setItem(i,JSON.stringify(d(n)))});let p=M(yi(new Set)),w=M(!1),m=M(null),x=M(!1),k=M(""),D=null,P=M(0);const A=["[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 j=M(!0),H=M(!0),te=M(!0),J=M(yi([])),le=M(!0),we=M(!1),Be,ce=M(yi([])),st=M(0),at,me;const ct=wt(()=>({apiref:!1,shedb:d(j),sampleDocs:d(H),tools:d(te)})),gt=wt(()=>{var z;return((z=d(u))==null?void 0:z.configured)??!1}),Tt=wt(()=>d(st)+new TextEncoder().encode(d(r)).length),Ne=wt(()=>d(le)?t():null);async function Lt(){try{const z=await WR();y(u,z,!0),z.configured&&!d(g)&&y(g,z.model,!0)}catch{}}$n(()=>(window.addEventListener("she:config-changed",Lt),()=>window.removeEventListener("she:config-changed",Lt))),ao(()=>{Lt()}),$n(()=>{d(g)&&localStorage.setItem("she:selectedModel",d(g))}),$n(()=>{var z;(z=d(u))!=null&&z.provider&&BR().then(ee=>{y(f,ee.models,!0),!d(g)&&ee.models.length>0&&y(g,ee.models[0],!0)}).catch(()=>{})}),$n(()=>{d(g),y(m,null),y(k,"")}),$n(()=>{const z=d(ct),ee=d(Ne),Ue=d(J);d(gt)&&zR({context:z,currentView:ee??null,extraFiles:Ue.length>0?Ue:void 0}).then(Ye=>{y(st,new TextEncoder().encode(Ye.prompt).length,!0)}).catch(()=>{})}),$n(()=>{if(!d(a))return;y(P,Math.floor(Math.random()*A.length),!0);const z=setInterval(()=>{y(P,(d(P)+1)%A.length)},1e4);return()=>clearInterval(z)}),$n(()=>{var z;me&&(d(n).length+(((z=d(s))==null?void 0:z.length)??0),requestAnimationFrame(()=>{me&&(me.scrollTop=me.scrollHeight)}))});function Re(z){const ee=[],Ue=/```(\w*)\n([\s\S]*?)```/g;let Ye=0,ge;for(;(ge=Ue.exec(z))!==null;)ge.index>Ye&&ee.push({type:"text",text:z.slice(Ye,ge.index)}),ee.push({type:"code",lang:ge[1]||"text",text:ge[2].trimEnd()}),Ye=ge.index+ge[0].length;return Ye<z.length&&ee.push({type:"text",text:z.slice(Ye)}),ee}function ke(z){const ee=[],Ue=/```(\w*)\n([\s\S]*?)```/g;let Ye=0,ge;for(;(ge=Ue.exec(z))!==null;)ge.index>Ye&&ee.push({type:"text",text:z.slice(Ye,ge.index)}),ee.push({type:"code",lang:ge[1]||"text",text:ge[2].trimEnd()}),Ye=ge.index+ge[0].length;const ve=z.slice(Ye),vt=ve.match(/```(\w*)\n([\s\S]*)$/);return vt?(vt.index>0&&ee.push({type:"text",text:ve.slice(0,vt.index)}),ee.push({type:"code",lang:vt[1]||"text",text:vt[2]})):ve&&ee.push({type:"text",text:ve}),ee}function tt(z){const ee={};for(const Ue of z)if(Ue.type==="code"){if(Ue.lang==="filter")ee.filter=Ue.text.trim();else if(di(Ue.lang)){const Ye=Ue.text.split(`
223
+ `)[0].trim();Ye==="// @view-map"?ee.map=Ue.text.split(`
224
+ `).slice(1).join(`
225
+ `).trim():Ye==="// @view-reduce"&&(ee.reduce=Ue.text.split(`
226
+ `).slice(1).join(`
227
+ `).trim())}}return ee}function Ot(z){return z.filter!==void 0||z.map!==void 0||z.reduce!==void 0}function ri(z){const ee=[];return z.filter!==void 0&&ee.push("filter"),z.map!==void 0&&ee.push("map"),z.reduce!==void 0&&ee.push("reduce"),`Apply ${ee.join(" + ")}`}const Wt=15;function Dt(z){return z.split(`
228
+ `).length>Wt}function Mt(z){const ee=new Set(d(p));ee.has(z)?ee.delete(z):ee.add(z),y(p,ee,!0)}function kt(z,ee){if(di(ee))try{return pb.highlight(z,{language:"javascript"}).value}catch{}return z.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function mi(z){return Un.parse(z)}function di(z){return!z||z==="js"||z==="javascript"}function Li(z){navigator.clipboard.writeText(z).catch(()=>{})}async function Ai(){if(y(w,!0),!(d(m)||d(x))){y(x,!0),y(k,"");try{y(m,await Mx(d(g)||d(u).model),!0)}catch(z){y(k,z.message,!0)}y(x,!1)}}function Oi(z){return z>=1e9?`${(z/1e9).toFixed(1)} GB`:z>=1e6?`${(z/1e6).toFixed(0)} MB`:`${z} B`}function Hi(z){const ee=z.match(/\.([^.]+)$/);return ee?ee[1].toUpperCase():"?"}function Si(z){switch(z){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return z}}function si(z){y(J,d(J).filter((ee,Ue)=>Ue!==z),!0)}function ui(){Be.click()}async function Pi(z){if(!(!z||z.length===0))for(const ee of Array.from(z)){const Ue=await ee.text();y(J,[...d(J),{name:ee.name,content:Ue}],!0)}}function Vi(z){const ee=z.target;Pi(ee.files),ee.value=""}function Mi(z){var ee;z.preventDefault(),y(we,!1),Pi(((ee=z.dataTransfer)==null?void 0:ee.files)??null)}function Je(z){var ee;(ee=z.dataTransfer)!=null&&ee.types.includes("Files")&&(z.preventDefault(),y(we,!0))}function oi(){y(we,!1)}async function hi(){const z=d(r).trim();if(!(!z||d(a))){y(r,""),y(c,""),y(a,!0),y(n,[...d(n),{role:"user",content:z}],!0),D=new AbortController,y(ce,[],!0);try{await VR({messages:d(n),currentView:d(Ne),context:d(ct),modelOverride:d(g)||void 0,extraFiles:d(J).length>0?d(J):void 0},ee=>{y(s,(d(s)??"")+ee)},D.signal,ee=>{y(ce,[...d(ce),ee],!0)}),y(n,[...d(n),{role:"assistant",content:d(s)??"",toolEvents:d(ce).length>0?[...d(ce)]:void 0}],!0),y(ce,[],!0)}catch(ee){if(ee.name==="AbortError"){const Ue=d(s);Ue!=null&&Ue.trim()&&y(n,[...d(n),{role:"assistant",content:Ue+`
229
+
230
+ *[stopped]*`,toolEvents:d(ce).length>0?[...d(ce)]:void 0}],!0)}else y(c,ee.message,!0)}finally{D=null,y(s,null),y(ce,[],!0),y(a,!1)}}}function xi(){D==null||D.abort()}function Ni(z){z.key==="Enter"&&!z.shiftKey&&(z.preventDefault(),hi())}function dn(){y(n,[],!0),y(c,"")}const ji=["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 Tn(z){y(r,z,!0),at==null||at.focus()}var Fe=HZ(),Qt=Et(Fe),fi=v(Qt),Ti=b(v(fi),2);{var $e=z=>{var ee=iZ(),Ue=v(ee);{var Ye=ve=>{var vt=sa();V(()=>F(vt,`${d(u).provider??""} · ${(d(g)||d(u).model)??""}`)),E(ve,vt)},ge=ve=>{var vt=sa("Not configured");E(ve,vt)};W(Ue,ve=>{d(gt)?ve(Ye):ve(ge,-1)})}V(()=>Wi(ee,"title",`Provider: ${d(u).provider??""}`)),E(z,ee)};W(Ti,z=>{d(u)&&z($e)})}var $t=b(Ti,2);{var gi=z=>{var ee=nZ();G("click",ee,dn),E(z,ee)};W($t,z=>{d(n).length>0&&z(gi)})}var Ii=b(fi,2),qe=v(Ii);{var he=z=>{var ee=sZ();E(z,ee)},K=z=>{var ee=aZ(),Ue=v(ee),Ye=v(Ue);{var ge=Ei=>{var Te=oZ(),Ge=b(Et(Te)),Ht=v(Ge);V(()=>F(Ht,t().id)),E(Ei,Te)},ve=Ei=>{var Te=sa("No view selected. Ask a general sheDB view question.");E(Ei,Te)};W(Ye,Ei=>{t()?Ei(ge):Ei(ve,-1)})}var vt=b(Ue,2);_i(vt,17,()=>ji,on,(Ei,Te)=>{var Ge=rZ(),Ht=v(Ge);V(()=>F(Ht,d(Te))),G("click",Ge,()=>Tn(d(Te))),E(Ei,Ge)}),E(z,ee)};W(qe,z=>{d(gt)?d(n).length===0&&d(s)===null&&z(K,1):z(he)})}var ae=b(qe,2);_i(ae,17,()=>d(n),on,(z,ee,Ue)=>{var Ye=fZ(),ge=v(Ye);{var ve=Ei=>{var Te=lZ(),Ge=v(Te);V(()=>F(Ge,d(ee).content)),E(Ei,Te)},vt=Ei=>{const Te=wt(()=>Re(d(ee).content)),Ge=wt(()=>tt(d(Te)));var Ht=hZ(),Qe=Et(Ht);{var bt=Oe=>{var De=cE();_i(De,21,()=>d(ee).toolEvents,on,(Bt,xt)=>{var Ke=Vs(),zt=Et(Ke);{var it=He=>{var We=aE(),ze=b(v(We)),Pt=v(ze);V(ye=>F(Pt,ye),[()=>d(xt).name.replace(/_/g," ")]),E(He,We)},Ee=He=>{var We=lE(),ze=b(v(We)),Pt=v(ze);V(ye=>F(Pt,ye),[()=>d(xt).name.replace(/_/g," ")]),E(He,We)};W(zt,He=>{d(xt).type==="tool_call"?He(it):He(Ee,-1)})}E(Bt,Ke)}),E(Oe,De)};W(Qe,Oe=>{var De;(De=d(ee).toolEvents)!=null&&De.length&&Oe(bt)})}var Gt=b(Qe,2),q=v(Gt);_i(q,17,()=>d(Te),on,(Oe,De,Bt)=>{var xt=Vs(),Ke=Et(xt);{var zt=Ee=>{var He=dE();sc(He,()=>mi(d(De).text),!0),E(Ee,He)},it=Ee=>{const He=wt(()=>`${Ue}:${Bt}`),We=wt(()=>Dt(d(De).text)),ze=wt(()=>d(p).has(d(He))),Pt=wt(()=>d(De).lang==="filter");var ye=dZ(),nt=v(ye),_t=v(nt),mt=v(_t),Ze=b(_t,2),Ut=v(Ze),ti=b(nt,2);let ln;var Qi=v(ti),Dn=v(Qi);sc(Dn,()=>kt(d(De).text,d(De).lang??""),!0);var Jn=b(Qi,2);{var Gi=pi=>{var bn=cZ(),an=v(bn);V(()=>F(an,d(ze)?"▲ collapse":"▼ expand")),G("click",bn,()=>Mt(d(He))),E(pi,bn)};W(Jn,pi=>{d(We)&&pi(Gi)})}V(()=>{F(mt,d(Pt)?"filter":d(De).lang),ln=Rt(ti,1,"code-body svelte-1twuiul",null,ln,{collapsed:d(We)&&!d(ze)})}),G("click",Ut,()=>Li(d(De).text)),E(Ee,ye)};W(Ke,Ee=>{d(De).type==="text"?Ee(zt):Ee(it,-1)})}E(Oe,xt)});var ne=b(q,2);{var Ve=Oe=>{var De=uZ(),Bt=v(De),xt=v(Bt);V(Ke=>F(xt,Ke),[()=>ri(d(Ge))]),G("click",Bt,()=>e.onApplyView(d(Ge))),E(Oe,De)},et=wt(()=>Ot(d(Ge))&&e.onApplyView);W(ne,Oe=>{d(et)&&Oe(Ve)})}E(Ei,Ht)};W(ge,Ei=>{d(ee).role==="user"?Ei(ve):Ei(vt,-1)})}V(()=>Rt(Ye,1,`message ${d(ee).role??""}`,"svelte-1twuiul")),E(z,Ye)});var Ce=b(ae,2);{var Pe=z=>{var ee=cE();_i(ee,21,()=>d(ce),on,(Ue,Ye)=>{var ge=Vs(),ve=Et(ge);{var vt=Te=>{var Ge=aE(),Ht=b(v(Ge)),Qe=v(Ht);V(bt=>F(Qe,bt),[()=>d(Ye).name.replace(/_/g," ")]),E(Te,Ge)},Ei=Te=>{var Ge=lE(),Ht=b(v(Ge)),Qe=v(Ht);V(bt=>F(Qe,bt),[()=>d(Ye).name.replace(/_/g," ")]),E(Te,Ge)};W(ve,Te=>{d(Ye).type==="tool_call"?Te(vt):Te(Ei,-1)})}E(Ue,ge)}),E(z,ee)};W(Ce,z=>{d(ce).length>0&&z(Pe)})}var rt=b(Ce,2);{var R=z=>{var ee=gZ(),Ue=v(ee),Ye=v(Ue),ge=v(Ye);V(()=>F(ge,A[d(P)])),E(z,ee)};W(rt,z=>{d(a)&&d(s)===null&&d(ce).length===0&&z(R)})}var Q=b(rt,2);{var Y=z=>{var ee=_Z(),Ue=v(ee);_i(Ue,21,()=>ke(d(s)),on,(Ye,ge)=>{var ve=Vs(),vt=Et(ve);{var Ei=Ge=>{var Ht=dE();sc(Ht,()=>mi(d(ge).text),!0),E(Ge,Ht)},Te=Ge=>{var Ht=pZ(),Qe=v(Ht),bt=v(Qe),Gt=v(bt),q=b(Qe,2),ne=v(q);sc(ne,()=>kt(d(ge).text,d(ge).lang??""),!0),V(()=>F(Gt,d(ge).lang)),E(Ge,Ht)};W(vt,Ge=>{d(ge).type==="text"?Ge(Ei):Ge(Te,-1)})}E(Ye,ve)}),E(z,ee)};W(Q,z=>{d(s)!==null&&z(Y)})}Ds(Ii,z=>me=z,()=>me);var fe=b(Ii,2);{var _e=z=>{var ee=mZ(),Ue=v(ee);V(()=>F(Ue,d(c))),E(z,ee)};W(fe,z=>{d(c)&&z(_e)})}var $=b(fe,2),Z=v($),ie=v(Z),Se=b(Z,2),pt=v(Se),Ae=b(Se,2),Ie=v(Ae),ot=b(Ae,2),It=v(ot),St=b($,2),ni=v(St);{var ei=z=>{var ee=vZ();let Ue;var Ye=b(v(ee),2),ge=v(Ye),ve=b(Ye,2),vt=v(ve);V(()=>{Ue=Rt(ee,1,"file-chip svelte-1twuiul",null,Ue,{inactive:!d(le)}),F(ge,t().id),Wi(ve,"title",d(le)?"Remove from context":"Re-add to context"),F(vt,d(le)?"×":"+")}),G("click",ve,()=>y(le,!d(le))),E(z,ee)};W(ni,z=>{t()&&z(ei)})}var se=b(ni,2);_i(se,17,()=>d(J),on,(z,ee,Ue)=>{const Ye=wt(()=>Hi(d(ee).name));var ge=bZ(),ve=v(ge),vt=v(ve),Ei=b(ve,2),Te=v(Ei),Ge=b(Ei,2);V((Ht,Qe)=>{Rt(ve,1,`badge badge-${Ht??""}`,"svelte-1twuiul"),F(vt,Qe),F(Te,d(ee).name)},[()=>d(Ye).toLowerCase(),()=>Si(d(Ye))]),G("click",Ge,()=>si(Ue)),E(z,ge)});var Le=b(se,2),lt=b(Le,2);Ds(lt,z=>Be=z,()=>Be);var Ct=b(St,2);let ft;var Xe=v(Ct);let Ft;var ai=v(Xe);Ds(ai,z=>at=z,()=>at);var bi=b(Xe,2);{var Di=z=>{var ee=yZ();G("click",ee,xi),E(z,ee)},fn=z=>{var ee=wZ();V(Ue=>ee.disabled=Ue,[()=>!d(r).trim()||!d(gt)]),G("click",ee,hi),E(z,ee)};W(bi,z=>{d(a)?z(Di):z(fn,-1)})}var Cn=b(Ct,2);{var un=z=>{var ee=LZ(),Ue=v(ee),Ye=v(Ue),ge=b(Ue,2);{var ve=Ge=>{var Ht=CZ();_i(Ht,21,()=>d(f),on,(Qe,bt)=>{var Gt=SZ(),q=v(Gt),ne={};V(()=>{F(q,d(bt)),ne!==(ne=d(bt))&&(Gt.value=(Gt.__value=d(bt))??"")}),E(Qe,Gt)}),V(()=>Ht.disabled=d(a)),Ho(Ht,()=>d(g),Qe=>y(g,Qe)),E(Ge,Ht)},vt=Ge=>{var Ht=xZ(),Qe=v(Ht);V(()=>F(Qe,d(g)||d(u).model)),E(Ge,Ht)};W(ge,Ge=>{d(f).length>0?Ge(ve):Ge(vt,-1)})}var Ei=b(ge,2);{var Te=Ge=>{var Ht=kZ();G("click",Ht,Ai),E(Ge,Ht)};W(Ei,Ge=>{d(u).provider==="ollama"&&Ge(Te)})}V(()=>F(Ye,d(u).provider)),E(z,ee)};W(Cn,z=>{d(gt)&&d(u)&&z(un)})}var ki=b(Qt,2);{var gn=z=>{var ee=FZ(),Ue=v(ee),Ye=v(Ue),ge=v(Ye),ve=v(ge),vt=b(ge,2),Ei=b(Ye,2),Te=v(Ei);{var Ge=bt=>{var Gt=IZ();E(bt,Gt)},Ht=bt=>{var Gt=DZ(),q=v(Gt);V(()=>F(q,d(k))),E(bt,Gt)},Qe=bt=>{var Gt=OZ(),q=v(Gt);{var ne=Ee=>{var He=EZ(),We=b(Et(He)),ze=v(We);V(()=>F(ze,d(m).version)),E(Ee,He)};W(q,Ee=>{d(m).version&&Ee(ne)})}var Ve=b(q,2);{var et=Ee=>{var He=TZ(),We=b(Et(He)),ze=v(We);V(()=>F(ze,d(m).details.family)),E(Ee,He)};W(Ve,Ee=>{var He;(He=d(m).details)!=null&&He.family&&Ee(et)})}var Oe=b(Ve,2);{var De=Ee=>{var He=PZ(),We=b(Et(He)),ze=v(We);V(()=>F(ze,d(m).details.parameter_size)),E(Ee,He)};W(Oe,Ee=>{var He;(He=d(m).details)!=null&&He.parameter_size&&Ee(De)})}var Bt=b(Oe,2);{var xt=Ee=>{var He=MZ(),We=b(Et(He)),ze=v(We);V(()=>F(ze,d(m).details.quantization_level)),E(Ee,He)};W(Bt,Ee=>{var He;(He=d(m).details)!=null&&He.quantization_level&&Ee(xt)})}var Ke=b(Bt,2);{var zt=Ee=>{var He=RZ(),We=b(Et(He),2);_i(We,21,()=>d(m).running,on,(ze,Pt)=>{var ye=NZ(),nt=v(ye);V(_t=>F(nt,`${d(Pt).name??""} · ${_t??""} VRAM`),[()=>Oi(d(Pt).size_vram)]),E(ze,ye)}),E(Ee,He)},it=Ee=>{var He=AZ();E(Ee,He)};W(Ke,Ee=>{d(m).running&&d(m).running.length>0?Ee(zt):d(m).running!==null&&Ee(it,1)})}E(bt,Gt)};W(Te,bt=>{d(x)?bt(Ge):d(k)?bt(Ht,1):d(m)&&bt(Qe,2)})}V(()=>{var bt;return F(ve,`Ollama · ${(d(g)||((bt=d(u))==null?void 0:bt.model))??""}`)}),G("click",ee,()=>y(w,!1)),G("click",Ue,bt=>bt.stopPropagation()),G("click",vt,()=>y(w,!1)),E(z,ee)};W(ki,z=>{d(w)&&z(gn)})}V(z=>{F(It,z),ft=Rt(Ct,1,"input-row svelte-1twuiul",null,ft,{"drag-over":d(we)}),Ft=Rt(Xe,1,"textarea-wrap svelte-1twuiul",null,Ft,{loading:d(a)}),Wi(ai,"placeholder",d(gt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),ai.disabled=d(a)||!d(gt)},[()=>Oi(d(Tt))]),Is(ie,()=>d(j),z=>y(j,z)),Is(pt,()=>d(H),z=>y(H,z)),Is(Ie,()=>d(te),z=>y(te,z)),G("click",Le,ui),G("change",lt,Vi),cs("dragover",Ct,Je),cs("dragleave",Ct,oi),cs("drop",Ct,Mi),G("keydown",ai,Ni),Zt(ai,()=>d(r),z=>y(r,z)),E(o,Fe),Rs()}Ks(["click","change","keydown"]);var BZ=T('<div class="me svelte-1pxdb1"></div>');function gS(o,e){Ns(e,!0);let t=Cf(e,"value",15,""),i=Cf(e,"language",3,"javascript"),n,s,r=!1;ao(()=>{const c=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=dr.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},...c}),s.onDidChangeModelContent(()=>{r||t(s.getValue())})}),Wy(()=>s==null?void 0:s.dispose()),$n(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=BZ();Ds(a,c=>n=c,()=>n),E(o,a),Rs()}var zZ=T('<!> <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),VZ=T('<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>'),uE=T('<div class="form-error svelte-rrt0o"> </div>'),jZ=T('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),hE=T("<li> </li>"),fE=T('<div class="error-bar svelte-rrt0o"> </div>'),gE=T('<div class="loading svelte-rrt0o">Loading…</div>'),$Z=T('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),UZ=T('<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),qZ=T('<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>'),GZ=T('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),KZ=T('<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>'),ZZ=T('<span class="badge-error svelte-rrt0o">error</span>'),XZ=T('<span class="badge-ok svelte-rrt0o"> </span>'),YZ=T('<pre class="result-error svelte-rrt0o"> </pre>'),JZ=T('<pre class="result-json svelte-rrt0o"> </pre>'),QZ=T('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),eX=T('<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>'),tX=T('<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),iX=T('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),nX=T('<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>'),sX=T('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function oX(o,e){Ns(e,!0);const t=he=>{var K=zZ(),ae=Et(K);Ds(Jf(ae,{}),Ce=>Si=Ce,()=>Si),E(he,K)};let i=M(yi([])),n=M(null),s=M("{}"),r=M(!1),a=M(null);const c="she-db-selected-view";let u=M(yi([])),f=M(yi(localStorage.getItem(c))),g=M("#"),p=M("// emit(this.someProperty)"),w=M(""),m=M(""),x=M(!1),k=M(!1),D=M(null),P=M(!1),A=M(null),j=M("she/db/view/");const H="she-db-panel";let te=M(yi(localStorage.getItem(H)??"docs")),J=M(""),le=M(!1),we=M(null),Be=M(""),ce=M(!1),st=M(null);const at="she-db-sidebar-width";let me=M(yi(parseInt(localStorage.getItem(at)??"220",10))),ct=!1,gt=0,Tt=0;const Ne="she-db-chat-width",Lt="she-db-chat-open";let Re=M(localStorage.getItem(Lt)==="true"),ke=M(yi(parseInt(localStorage.getItem(Ne)??"320",10))),tt=!1,Ot=0,ri=0;const Wt=wt(()=>d(f)?{id:d(f),filter:d(g),map:d(p),reduce:d(w)}:null);function Dt(he){he.filter!==void 0&&y(g,he.filter,!0),he.map!==void 0&&y(p,he.map,!0),he.reduce!==void 0&&y(w,he.reduce,!0)}$n(()=>{localStorage.setItem(Lt,String(d(Re)))}),$n(()=>{localStorage.setItem(H,d(te))}),$n(()=>{d(f)?localStorage.setItem(c,d(f)):localStorage.removeItem(c)});function Mt(he){ct=!0,gt=he.clientX,Tt=d(me),he.preventDefault()}function kt(he){ct&&y(me,Math.max(140,Math.min(500,Tt+he.clientX-gt)),!0),tt&&y(ke,Math.max(240,Math.min(600,ri-(he.clientX-Ot))),!0)}function mi(){ct&&(ct=!1,localStorage.setItem(at,String(d(me)))),tt&&(tt=!1,localStorage.setItem(Ne,String(d(ke))))}function di(he){tt=!0,Ot=he.clientX,ri=d(ke),he.preventDefault()}async function Li(){try{y(i,await RR(),!0)}catch{}}async function Ai(){try{y(u,await AR(),!0)}catch{}}async function Oi(he){y(n,he,!0),y(a,null),y(r,!0);try{const K=await S7(he);y(s,JSON.stringify(K,null,2),!0)}catch(K){y(a,K instanceof Error?K.message:String(K),!0)}finally{y(r,!1)}}async function Hi(){if(d(n)){y(a,null);try{const he=JSON.parse(d(s));await AD(d(n),he)}catch(he){y(a,he instanceof Error?he.message:String(he),!0)}}}let Si;async function si(){if(d(n)&&await Si.show(`Delete document "${d(n)}"?`,{confirm:"Delete",danger:!0}))try{await C7(d(n)),y(n,null),y(s,"{}")}catch(he){y(a,he instanceof Error?he.message:String(he),!0)}}async function ui(){const he=d(J).trim();if(he){y(we,null);try{await AD(he,{}),y(le,!1),y(J,""),await Oi(he)}catch(K){y(we,K instanceof Error?K.message:String(K),!0)}}}async function Pi(he){y(f,he,!0),y(A,null),y(P,!0),y(D,null);try{const K=await x7(he);y(g,K.filter??"",!0),y(p,K.map,!0),y(w,K.reduce??"",!0),y(m,K.description??"",!0),y(x,K.mqttpub??!1,!0),y(k,K.retain??!1,!0),y(D,await hS(he).catch(()=>null),!0)}catch(K){y(A,K instanceof Error?K.message:String(K),!0)}finally{y(P,!1)}}async function Vi(){if(d(f)){y(A,null);try{const he={map:d(p)};d(g).trim()&&(he.filter=d(g).trim()),d(w).trim()&&(he.reduce=d(w).trim()),d(m).trim()&&(he.description=d(m).trim()),d(x)&&(he.mqttpub=!0),d(k)&&(he.retain=!0),await OD(d(f),he)}catch(he){y(A,he instanceof Error?he.message:String(he),!0)}}}async function Mi(){if(d(f))try{y(D,await hS(d(f)),!0)}catch(he){y(A,he instanceof Error?he.message:String(he),!0)}}async function Je(){if(d(f)&&await Si.show(`Delete view "${d(f)}"?`,{confirm:"Delete",danger:!0}))try{await k7(d(f)),y(f,null),y(g,""),y(p,"// emit(this.someProperty)"),y(w,""),y(m,""),y(x,!1),y(k,!1),y(D,null)}catch(he){y(A,he instanceof Error?he.message:String(he),!0)}}async function oi(){if(!d(Be).trim())return;const he=d(Be).trim();y(st,null);try{await OD(he,{map:"// emit(this.someProperty)"}),y(ce,!1),y(Be,""),await Ai(),await Pi(he)}catch(K){y(st,K instanceof Error?K.message:String(K),!0)}}let hi=M(""),xi=M(""),Ni=wt(()=>[...d(i)].filter(he=>!d(hi)||he.toLowerCase().includes(d(hi).toLowerCase())).sort()),dn=wt(()=>[...d(u)].filter(he=>!d(xi)||he.toLowerCase().includes(d(xi).toLowerCase())).sort());ao(()=>{Li(),Ai().then(()=>{d(f)&&d(u).includes(d(f))?Pi(d(f)):y(f,null)}),Dl().then(Pe=>{const rt=Pe.dbPrefix||"she/db/",R=rt.endsWith("/")?rt:rt+"/";y(j,R+"view/")}).catch(()=>{});const he=kr("db:ids",Pe=>{y(i,Pe.ids??[],!0)}),K=kr("db:viewIds",Pe=>{y(u,Pe.ids??[],!0)}),ae=kr("db:change",async Pe=>{const rt=Pe.id;d(n)===rt&&(Pe.doc===null?(y(n,null),y(s,"{}")):y(s,JSON.stringify(Pe.doc,null,2),!0))}),Ce=kr("db:viewUpdate",async Pe=>{const rt=Pe.id;d(f)===rt&&y(D,await hS(rt).catch(()=>null),!0)});return()=>{he(),K(),ae(),Ce()}});var ji=sX(),Tn=v(ji),Fe=v(Tn);let Qt;var fi=b(Fe,2);let Ti;var $e=b(fi,2);{var $t=he=>{var K=VZ();let ae;V(()=>{ae=Rt(K,1,"ai-toggle svelte-rrt0o",null,ae,{"ai-open":d(Re)}),Wi(K,"title",d(Re)?"Close AI assistant":"Open AI assistant")}),G("click",K,()=>y(Re,!d(Re))),E(he,K)};W($e,he=>{d(te)==="views"&&he($t)})}var gi=b(Tn,2);{var Ii=he=>{var K=qZ(),ae=v(K);let Ce;var Pe=v(ae),rt=v(Pe),R=b(Pe,2);{var Q=Ae=>{var Ie=jZ(),ot=Et(Ie),It=v(ot),St=b(It,2),ni=b(ot,2);{var ei=se=>{var Le=uE(),lt=v(Le);V(()=>F(lt,d(we))),E(se,Le)};W(ni,se=>{d(we)&&se(ei)})}G("keydown",It,se=>se.key==="Enter"&&ui()),Zt(It,()=>d(J),se=>y(J,se)),G("click",St,ui),E(Ae,Ie)};W(R,Ae=>{d(le)&&Ae(Q)})}var Y=b(R,2),fe=v(Y),_e=b(Y,2);_i(_e,20,()=>d(Ni),Ae=>Ae,(Ae,Ie)=>{var ot=hE();let It;var St=v(ot);V(()=>{It=Rt(ot,1,"flat-item svelte-rrt0o",null,It,{"active-item":d(n)===Ie}),F(St,Ie)}),G("click",ot,()=>Oi(Ie)),E(Ae,ot)});var $=b(ae,2),Z=b($,2),ie=v(Z);{var Se=Ae=>{var Ie=UZ(),ot=Et(Ie),It=v(ot),St=v(It),ni=b(It,2),ei=b(ni,2),se=b(ot,2);{var Le=Xe=>{var Ft=fE(),ai=v(Ft);V(()=>F(ai,d(a))),E(Xe,Ft)};W(se,Xe=>{d(a)&&Xe(Le)})}var lt=b(se,2);{var Ct=Xe=>{var Ft=gE();E(Xe,Ft)},ft=Xe=>{var Ft=$Z(),ai=v(Ft);gS(ai,{language:"json",get value(){return d(s)},set value(bi){y(s,bi,!0)}}),E(Xe,Ft)};W(lt,Xe=>{d(r)?Xe(Ct):Xe(ft,-1)})}V(()=>F(St,d(n))),G("click",ni,Hi),G("click",ei,si),E(Ae,Ie)},pt=Ae=>{t(Ae)};W(ie,Ae=>{d(n)?Ae(Se):Ae(pt,-1)})}V(()=>Ce=Fo(ae,"",Ce,{width:`${d(me)??""}px`})),G("click",rt,()=>{y(le,!d(le)),y(we,null)}),Zt(fe,()=>d(hi),Ae=>y(hi,Ae)),G("mousedown",$,Mt),E(he,K)},qe=he=>{var K=nX(),ae=v(K);let Ce;var Pe=v(ae),rt=v(Pe),R=b(Pe,2);{var Q=ot=>{var It=GZ(),St=Et(It),ni=v(St),ei=b(ni,2),se=b(St,2);{var Le=lt=>{var Ct=uE(),ft=v(Ct);V(()=>F(ft,d(st))),E(lt,Ct)};W(se,lt=>{d(st)&&lt(Le)})}G("keydown",ni,lt=>lt.key==="Enter"&&oi()),Zt(ni,()=>d(Be),lt=>y(Be,lt)),G("click",ei,oi),E(ot,It)};W(R,ot=>{d(ce)&&ot(Q)})}var Y=b(R,2),fe=v(Y),_e=b(Y,2);_i(_e,20,()=>d(dn),ot=>ot,(ot,It)=>{var St=hE();let ni;var ei=v(St);V(()=>{ni=Rt(St,1,"flat-item svelte-rrt0o",null,ni,{"active-item":d(f)===It}),F(ei,It)}),G("click",St,()=>Pi(It)),E(ot,St)});var $=b(ae,2),Z=b($,2),ie=v(Z);{var Se=ot=>{var It=tX(),St=Et(It),ni=v(St),ei=v(ni),se=b(ni,2),Le=b(se,2),lt=b(Le,2),Ct=b(St,2);{var ft=bi=>{var Di=fE(),fn=v(Di);V(()=>F(fn,d(A))),E(bi,Di)};W(Ct,bi=>{d(A)&&bi(ft)})}var Xe=b(Ct,2);{var Ft=bi=>{var Di=gE();E(bi,Di)},ai=bi=>{var Di=eX(),fn=v(Di),Cn=b(v(fn),2),un=v(Cn),ki=b(fn,2),gn=b(v(ki),2),z=v(gn),ee=b(ki,2),Ue=b(v(ee),2),Ye=v(Ue);gS(Ye,{language:"javascript",get value(){return d(p)},set value(et){y(p,et,!0)}});var ge=b(ee,2),ve=b(v(ge),2),vt=v(ve);gS(vt,{language:"javascript",get value(){return d(w)},set value(et){y(w,et,!0)}});var Ei=b(ge,2),Te=v(Ei),Ge=v(Te),Ht=b(Ge,4),Qe=b(v(Ht)),bt=v(Qe),Gt=b(Te,2);{var q=et=>{var Oe=KZ(),De=v(Oe);Is(De,()=>d(k),Bt=>y(k,Bt)),E(et,Oe)};W(Gt,et=>{d(x)&&et(q)})}var ne=b(Ei,2);{var Ve=et=>{var Oe=QZ(),De=v(Oe),Bt=b(v(De));{var xt=He=>{var We=ZZ();E(He,We)},Ke=He=>{var We=XZ(),ze=v(We);V(()=>F(ze,`${d(D).length??0??""} items · rev ${d(D)._rev??""}`)),E(He,We)};W(Bt,He=>{d(D).error?He(xt):He(Ke,-1)})}var zt=b(De,2);{var it=He=>{var We=YZ(),ze=v(We);V(()=>F(ze,d(D).error)),E(He,We)},Ee=He=>{var We=JZ(),ze=v(We);V(Pt=>F(ze,Pt),[()=>JSON.stringify(d(D).result,null,2)]),E(He,We)};W(zt,He=>{d(D).error?He(it):He(Ee,-1)})}E(et,Oe)};W(ne,et=>{d(D)&&et(Ve)})}V(()=>F(bt,`${d(j)??""}${d(f)??""} on every update`)),Zt(un,()=>d(m),et=>y(m,et)),Zt(z,()=>d(g),et=>y(g,et)),Is(Ge,()=>d(x),et=>y(x,et)),E(bi,Di)};W(Xe,bi=>{d(P)?bi(Ft):bi(ai,-1)})}V(()=>F(ei,d(f))),G("click",se,Vi),G("click",Le,Mi),G("click",lt,Je),E(ot,It)},pt=ot=>{t(ot)};W(ie,ot=>{d(f)?ot(Se):ot(pt,-1)})}var Ae=b(Z,2);{var Ie=ot=>{var It=iX(),St=Et(It),ni=b(St,2);let ei;var se=v(ni);WZ(se,{get currentView(){return d(Wt)},onApplyView:Dt}),V(()=>ei=Fo(ni,"",ei,{width:`${d(ke)??""}px`})),G("mousedown",St,di),E(ot,It)};W(Ae,ot=>{d(Re)&&ot(Ie)})}V(()=>Ce=Fo(ae,"",Ce,{width:`${d(me)??""}px`})),G("click",rt,()=>{y(ce,!d(ce)),y(st,null)}),Zt(fe,()=>d(xi),ot=>y(xi,ot)),G("mousedown",$,Mt),E(he,K)};W(gi,he=>{d(te)==="docs"?he(Ii):he(qe,-1)})}V(()=>{Qt=Rt(Fe,1,"svelte-rrt0o",null,Qt,{active:d(te)==="docs"}),Ti=Rt(fi,1,"svelte-rrt0o",null,Ti,{active:d(te)==="views"})}),G("mousemove",ji,kt),G("mouseup",ji,mi),cs("mouseleave",ji,mi),G("click",Fe,()=>y(te,"docs")),G("click",fi,()=>y(te,"views")),E(o,ji),Rs()}Ks(["mousemove","mouseup","click","keydown","mousedown"]);var rX=T('<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),aX=T('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),pE=T('<p class="err svelte-1ua3isv"> </p>'),lX=T('<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>'),cX=T('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),dX=T('<span class="device-name svelte-1ua3isv"> </span>'),uX=T('<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>'),hX=T('<li class="empty svelte-1ua3isv">No paired devices</li>'),fX=T('<p class="info svelte-1ua3isv">Loading…</p>'),gX=T('<p class="device-subtitle svelte-1ua3isv"> </p>'),pX=T('<span class="ep-chip svelte-1ua3isv"> </span>'),_X=T('<span class="attr-id svelte-1ua3isv"> </span>'),mX=T('<button class="attr-action-btn svelte-1ua3isv"> </button>'),vX=T('<div class="attr-actions svelte-1ua3isv"></div>'),bX=T('<span class="cmd-sep svelte-1ua3isv">,</span>'),yX=T('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),wX=T('<span class="cmd-id svelte-1ua3isv"> </span>'),SX=T("<!> <!>",1),CX=T('<span class="cmd-list svelte-1ua3isv"></span>'),xX=T(' <span class="cmd-id svelte-1ua3isv"> </span>',1),kX=T('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),LX=T('<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>'),IX=T('<th class="svelte-1ua3isv"> </th>'),DX=T('<td class="svelte-1ua3isv"> </td>'),EX=T('<tr class="svelte-1ua3isv"></tr>'),TX=T('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),PX=T('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),MX=T('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),NX=T('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),RX=T('<span class="attr-val svelte-1ua3isv"> </span>'),AX=T('<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>'),OX=T('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),FX=T('<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>'),HX=T('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),WX=T('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),BX=T('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),zX=T('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),VX=T('<span class="stream-badge svelte-1ua3isv"> </span>'),jX=T('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),pS=T('&nbsp;<span class="e-sub svelte-1ua3isv"> </span>',1),$X=T('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),UX=T('<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),qX=T('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),GX=T('<div class="stream-body svelte-1ua3isv"><!></div>'),KX=T('<!> <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 ZX(o,e){Ns(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(K,ae,Ce,Pe,rt){try{await F7(K,ae,Ce,Pe,rt)}catch(R){console.error("matter command failed",R)}}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(K,ae){const Ce=n[K];return ae.map(Pe=>{const rt=typeof Pe=="number"?Pe:Number(Pe);return{id:rt,name:(Ce==null?void 0:Ce[rt])??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},c={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(K){return"0x"+K.toString(16).toUpperCase().padStart(4,"0")}let f=M(yi([])),g=yi(new Map);function p(K){if(K==null)return"—";if(typeof K=="boolean"||typeof K=="number")return String(K);if(typeof K=="string")return K.length>50?K.slice(0,47)+"…":K;const ae=JSON.stringify(K);return ae.length>60?ae.slice(0,57)+"…":ae}function w(K){return K==null?"—":typeof K=="boolean"||typeof K=="number"?String(K):typeof K=="string"?K:JSON.stringify(K)}function m(K){return K!==null&&typeof K=="object"&&!Array.isArray(K)}function x(K){return Array.isArray(K)&&K.length>0&&K.every(m)}function k(K,ae){return!!(ae==="attributeList"||Array.isArray(K)&&K.length===0||m(K)&&Object.keys(K).length===0)}function D(K){return new Date(K).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const P=500,A=20,j=32;let H=0,te=M(yi([])),J=M(!0),le=M(180),we=wt(()=>{const K=Math.max(1,Math.floor((d(le)-j)/A)+1);return d(te).slice(0,K)});function Be(K){K.preventDefault();const ae=K.clientY,Ce=d(le);function Pe(R){y(le,Math.max(60,Math.min(600,Ce+ae-R.clientY)),!0)}function rt(){document.removeEventListener("mousemove",Pe),document.removeEventListener("mouseup",rt)}document.addEventListener("mousemove",Pe),document.addEventListener("mouseup",rt)}let ce=M(null),st=M(!1),at=M(null),me=M(!1),ct=M("passcode"),gt=M(""),Tt=M(""),Ne=M(""),Lt=M(!1),Re=M(null),ke=M("");const tt="she:matter:selectedNodeId";async function Ot(){try{y(f,await FR(),!0);for(const K of d(f))Xm(K.nodeId).then(ae=>{g.set(K.nodeId,ae)}).catch(()=>{});if(d(f).length>0&&!d(ce)){const K=localStorage.getItem(tt),ae=K&&d(f).find(Ce=>Ce.nodeId===K)?K:d(f)[0].nodeId;ri(ae)}}catch{y(f,[],!0)}}async function ri(K){y(st,!0),y(at,null);try{y(ce,await Xm(K),!0),g.set(K,d(ce)),localStorage.setItem(tt,K)}catch(ae){y(at,ae instanceof Error?ae.message:String(ae),!0)}finally{y(st,!1)}}let Wt;async function Dt(K){var ae;if(await Wt.show(`Unpair device ${K}?`,{confirm:"Unpair",danger:!0}))try{await O7(K),((ae=d(ce))==null?void 0:ae.nodeId)===K&&y(ce,null),await Ot()}catch(Ce){y(at,Ce instanceof Error?Ce.message:String(Ce),!0)}}async function Mt(){y(Lt,!0),y(Re,null);try{let K;d(ct)==="passcode"?(K={passcode:Number(d(gt))},d(Tt)&&(K={...K,discriminator:Number(d(Tt))})):K={pairingCode:d(Ne).trim()},d(ke).trim()&&(K={...K,discoveryAddress:d(ke).trim()}),await A7(K),y(me,!1),y(gt,""),y(Tt,""),y(Ne,""),y(ke,""),await Ot()}catch(K){y(Re,K instanceof Error?K.message:String(K),!0)}finally{y(Lt,!1)}}ao(()=>{Ot()});const kt=kr("matter:deviceList",K=>{if(!Array.isArray(K.devices))return;const ae=K.devices;for(const Ce of ae)g.has(Ce.nodeId)||Xm(Ce.nodeId).then(Pe=>{g.set(Ce.nodeId,Pe)}).catch(()=>{});y(f,ae,!0)}),mi=kr("matter:deviceStatus",K=>{if(K.nodeId===void 0)return;const ae=String(K.nodeId),Ce=!!K.online;y(f,d(f).map(Pe=>Pe.nodeId===ae?{...Pe,online:Ce}:Pe),!0),y(te,[{id:H++,kind:"status",nodeId:ae,online:Ce,ts:Date.now()},...d(te).slice(0,P-1)],!0)}),di=kr("matter:attr",K=>{const ae=String(K.nodeId),Ce=K.endpointId,Pe=String(K.clusterName),rt=String(K.attrName),R=K.value;if(d(ce)&&d(ce).nodeId===ae){const Y=d(ce).endpoints.find(_e=>_e.endpointId===Ce),fe=Y==null?void 0:Y.clusters.find(_e=>_e.name===Pe);fe&&(fe.attrs[rt]=R)}const Q=g.get(ae);if(Q){const Y=Q.endpoints.find(_e=>_e.endpointId===Ce),fe=Y==null?void 0:Y.clusters.find(_e=>_e.name===Pe);fe&&(fe.attrs[rt]=R)}y(te,[{id:H++,kind:"attr",nodeId:ae,endpointId:Ce,clusterName:Pe,attrName:rt,value:R,ts:K.ts??Date.now()},...d(te).slice(0,P-1)],!0)});Wy(()=>{kt(),mi(),di()});var Li=KX(),Ai=Et(Li);Ds(Jf(Ai,{}),K=>Wt=K,()=>Wt);var Oi=b(Ai,2),Hi=v(Oi),Si=v(Hi),si=v(Si),ui=b(v(si),2),Pi=b(si,2);{var Vi=K=>{var ae=lX(),Ce=v(ae),Pe=v(Ce);let rt;var R=b(Pe,2);let Q;var Y=b(Ce,2);{var fe=Ie=>{var ot=rX(),It=Et(ot),St=b(v(It)),ni=b(It,2),ei=b(v(ni));Zt(St,()=>d(gt),se=>y(gt,se)),Zt(ei,()=>d(Tt),se=>y(Tt,se)),E(Ie,ot)},_e=Ie=>{var ot=aX(),It=b(v(ot));Zt(It,()=>d(Ne),St=>y(Ne,St)),E(Ie,ot)};W(Y,Ie=>{d(ct)==="passcode"?Ie(fe):Ie(_e,-1)})}var $=b(Y,2),Z=b(v($)),ie=b($,2);{var Se=Ie=>{var ot=pE(),It=v(ot);V(()=>F(It,d(Re))),E(Ie,ot)};W(ie,Ie=>{d(Re)&&Ie(Se)})}var pt=b(ie,2),Ae=v(pt);V(()=>{rt=Rt(Pe,1,"svelte-1ua3isv",null,rt,{active:d(ct)==="passcode"}),Q=Rt(R,1,"svelte-1ua3isv",null,Q,{active:d(ct)==="pairingCode"}),pt.disabled=d(Lt),F(Ae,d(Lt)?"Commissioning…":"Commission")}),G("click",Pe,()=>y(ct,"passcode")),G("click",R,()=>y(ct,"pairingCode")),Zt(Z,()=>d(ke),Ie=>y(ke,Ie)),G("click",pt,Mt),E(K,ae)};W(Pi,K=>{d(me)&&K(Vi)})}var Mi=b(Pi,2),Je=v(Mi);_i(Je,17,()=>d(f),K=>K.nodeId,(K,ae)=>{var Ce=uX();let Pe;var rt=v(Ce),R=v(rt);let Q;var Y=b(R,2),fe=v(Y);{var _e=ie=>{var Se=cX(),pt=Et(Se),Ae=v(pt),Ie=b(pt,2),ot=v(Ie);V(()=>{F(Ae,d(ae).name),F(ot,`#${d(ae).nodeId??""}`)}),E(ie,Se)},$=ie=>{var Se=dX(),pt=v(Se);V(()=>F(pt,`Node ${d(ae).nodeId??""}`)),E(ie,Se)};W(fe,ie=>{d(ae).name?ie(_e):ie($,-1)})}var Z=b(rt,2);V(()=>{var ie;Pe=Rt(Ce,1,"svelte-1ua3isv",null,Pe,{selected:((ie=d(ce))==null?void 0:ie.nodeId)===d(ae).nodeId}),Q=Rt(R,1,"status-dot svelte-1ua3isv",null,Q,{online:d(ae).online})}),G("click",rt,()=>ri(d(ae).nodeId)),G("click",Z,()=>Dt(d(ae).nodeId)),E(K,Ce)});var oi=b(Je,2);{var hi=K=>{var ae=hX();E(K,ae)};W(oi,K=>{d(f).length===0&&K(hi)})}var xi=b(Si,2),Ni=v(xi);{var dn=K=>{var ae=fX();E(K,ae)},ji=K=>{var ae=pE(),Ce=v(ae);V(()=>F(Ce,d(at))),E(K,ae)},Tn=K=>{var ae=BX(),Ce=Et(ae),Pe=v(Ce),rt=v(Pe),R=b(Pe,2);{var Q=$=>{var Z=gX(),ie=v(Z);V(()=>F(ie,d(ce).subtitle)),E($,Z)};W(R,$=>{d(ce).subtitle&&$(Q)})}var Y=b(R,2),fe=v(Y),_e=b(Ce,2);_i(_e,17,()=>d(ce).endpoints,$=>$.endpointId,($,Z)=>{var ie=WX(),Se=v(ie),pt=v(Se),Ae=b(pt),Ie=v(Ae),ot=b(Ae,2);_i(ot,21,()=>d(Z).clusters,on,(ei,se)=>{var Le=pX(),lt=v(Le);V(()=>F(lt,d(se).name)),E(ei,Le)});var It=b(Se,2);{var St=ei=>{var se=FX(),Le=b(v(se));_i(Le,21,()=>d(Z).clusters,on,(lt,Ct)=>{var ft=OX(),Xe=Et(ft),Ft=v(Xe),ai=v(Ft),bi=b(Xe,2);_i(bi,17,()=>Object.entries(d(Ct).attrs),on,(Di,fn)=>{var Cn=wt(()=>NL(d(fn),2));let un=()=>d(Cn)[0],ki=()=>d(Cn)[1];var gn=Vs(),z=Et(gn);{var ee=Ye=>{const ge=wt(()=>{var We;return(We=t[d(Ct).name])==null?void 0:We[un()]}),ve=wt(()=>(un()==="acceptedCommandList"||un()==="generatedCommandList")&&Array.isArray(ki())),vt=wt(()=>{var We;return((We=c[d(Ct).name])==null?void 0:We[un()])??a[un()]});var Ei=AX(),Te=v(Ei),Ge=v(Te),Ht=v(Ge),Qe=b(Ge);{var bt=We=>{var ze=_X(),Pt=v(ze);V(ye=>F(Pt,`(${ye??""})`),[()=>u(d(vt))]),E(We,ze)};W(Qe,We=>{d(vt)!==void 0&&We(bt)})}var Gt=b(Te),q=v(Gt);{var ne=We=>{var ze=vX();_i(ze,21,()=>d(ge),on,(Pt,ye)=>{var nt=mX(),_t=v(nt);V(()=>F(_t,d(ye).label)),G("click",nt,()=>i(d(ce).nodeId,d(Z).endpointId,d(Ct).name,d(ye).command,d(ye).args)),E(Pt,nt)}),E(We,ze)};W(q,We=>{d(ge)&&We(ne)})}var Ve=b(Gt),et=v(Ve);{var Oe=We=>{var ze=CX();_i(ze,21,()=>s(d(Ct).name,ki()),on,(Pt,ye,nt)=>{var _t=SX(),mt=Et(_t);{var Ze=Qi=>{var Dn=bX();E(Qi,Dn)};W(mt,Qi=>{nt>0&&Qi(Ze)})}var Ut=b(mt,2);{var ti=Qi=>{var Dn=yX(),Jn=Et(Dn),Gi=v(Jn),pi=b(Jn),bn=v(pi);V(()=>{F(Gi,d(ye).name),F(bn,`(${d(ye).id??""})`)}),E(Qi,Dn)},ln=Qi=>{var Dn=wX(),Jn=v(Dn);V(()=>F(Jn,d(ye).id)),E(Qi,Dn)};W(Ut,Qi=>{d(ye).name?Qi(ti):Qi(ln,-1)})}E(Pt,_t)}),E(We,ze)},De=We=>{var ze=LX(),Pt=b(v(ze));_i(Pt,21,ki,on,(ye,nt)=>{const _t=wt(()=>d(nt)),mt=wt(()=>d(_t).deviceType),Ze=wt(()=>r[d(mt)]);var Ut=kX(),ti=v(Ut),ln=v(ti);{var Qi=pi=>{var bn=xX(),an=Et(bn),rs=b(an),co=v(rs);V(qo=>{F(an,`${d(Ze)??""} `),F(co,`(${qo??""})`)},[()=>u(d(mt))]),E(pi,bn)},Dn=pi=>{var bn=sa();V(an=>F(bn,an),[()=>u(d(mt))]),E(pi,bn)};W(ln,pi=>{d(Ze)?pi(Qi):pi(Dn,-1)})}var Jn=b(ti),Gi=v(Jn);V(pi=>F(Gi,pi),[()=>w(d(_t).revision)]),E(ye,Ut)}),E(We,ze)},Bt=wt(()=>un()==="deviceTypeList"&&Array.isArray(ki())),xt=We=>{const ze=wt(()=>[...new Set(ki().flatMap(mt=>Object.keys(mt)))]);var Pt=TX(),ye=v(Pt),nt=v(ye);_i(nt,21,()=>d(ze),on,(mt,Ze)=>{var Ut=IX(),ti=v(Ut);V(()=>F(ti,d(Ze))),E(mt,Ut)});var _t=b(ye);_i(_t,21,ki,on,(mt,Ze)=>{var Ut=EX();_i(Ut,21,()=>d(ze),on,(ti,ln)=>{var Qi=DX(),Dn=v(Qi);V(Jn=>F(Dn,Jn),[()=>w(d(Ze)[d(ln)])]),E(ti,Qi)}),E(mt,Ut)}),E(We,Pt)},Ke=wt(()=>x(ki())),zt=We=>{var ze=MX(),Pt=v(ze);_i(Pt,21,()=>Object.entries(ki()),on,(ye,nt)=>{var _t=wt(()=>NL(d(nt),2));let mt=()=>d(_t)[0],Ze=()=>d(_t)[1];var Ut=PX(),ti=v(Ut),ln=v(ti),Qi=b(ti),Dn=v(Qi);V(Jn=>{F(ln,mt()),F(Dn,Jn)},[()=>w(Ze())]),E(ye,Ut)}),E(We,ze)},it=wt(()=>m(ki())),Ee=We=>{var ze=NX(),Pt=v(ze);V(()=>{Wi(ze,"href",ki()),F(Pt,ki())}),E(We,ze)},He=We=>{var ze=RX(),Pt=v(ze);V(ye=>F(Pt,ye),[()=>w(ki())]),E(We,ze)};W(et,We=>{d(ve)?We(Oe):d(Bt)?We(De,1):d(Ke)?We(xt,2):d(it)?We(zt,3):(un()==="productUrl"||un()==="productURL")&&typeof ki()=="string"?We(Ee,4):We(He,-1)})}V(()=>{Wi(Te,"title",un()),F(Ht,un())}),E(Ye,Ei)},Ue=wt(()=>!k(ki(),un()));W(z,Ye=>{d(Ue)&&Ye(ee)})}E(Di,gn)}),V(()=>F(ai,d(Ct).name)),E(lt,ft)}),E(ei,se)},ni=ei=>{var se=HX();E(ei,se)};W(It,ei=>{d(Z).clusters.length>0?ei(St):ei(ni,-1)})}V(()=>{F(pt,`${d(Z).name??`Endpoint ${d(Z).endpointId}`??""} `),F(Ie,`ep${d(Z).endpointId??""}`)}),E($,ie)}),V(()=>{F(rt,d(ce).name??`Node ${d(ce).nodeId}`),F(fe,`Node ID: ${d(ce).nodeId??""}`)}),E(K,ae)},Fe=K=>{var ae=zX();E(K,ae)};W(Ni,K=>{d(st)?K(dn):d(at)?K(ji,1):d(ce)?K(Tn,2):K(Fe,-1)})}var Qt=b(Hi,2),fi=v(Qt),Ti=b(fi,2),$e=b(v(Ti),2);{var $t=K=>{var ae=VX(),Ce=v(ae);V(()=>F(Ce,d(te).length)),E(K,ae)};W($e,K=>{!d(J)&&d(te).length>0&&K($t)})}var gi=b($e,2),Ii=v(gi),qe=b(Ti,2);{var he=K=>{var ae=GX(),Ce=v(ae);{var Pe=R=>{var Q=jX();E(R,Q)},rt=R=>{var Q=Vs(),Y=Et(Q);_i(Y,17,()=>d(we),fe=>fe.id,(fe,_e)=>{const $=wt(()=>{var St,ni;return((St=g.get(d(_e).nodeId))==null?void 0:St.name)??((ni=d(f).find(ei=>ei.nodeId===d(_e).nodeId))==null?void 0:ni.name)??null}),Z=wt(()=>{var St,ni;return d(_e).endpointId!==void 0?((ni=(St=g.get(d(_e).nodeId))==null?void 0:St.endpoints.find(ei=>ei.endpointId===d(_e).endpointId))==null?void 0:ni.name)??null:null}),ie=wt(()=>d(_e).attrName??d(_e).clusterName);var Se=qX(),pt=v(Se),Ae=v(pt),Ie=b(pt,2);{var ot=St=>{var ni=$X(),ei=b(Et(ni),2),se=v(ei),Le=b(se);{var lt=Ft=>{var ai=pS(),bi=b(Et(ai)),Di=v(bi);V(()=>F(Di,`(#${d(_e).nodeId??""})`)),E(Ft,ai)};W(Le,Ft=>{d($)&&Ft(lt)})}var Ct=b(ei,2);let ft;var Xe=v(Ct);V(()=>{F(se,d($)??`#${d(_e).nodeId}`),ft=Rt(Ct,1,"e-val svelte-1ua3isv",null,ft,{"e-online":d(_e).online,"e-offline":!d(_e).online}),F(Xe,d(_e).online?"online":"offline")}),E(St,ni)},It=St=>{var ni=UX(),ei=b(Et(ni),2),se=v(ei),Le=b(se);{var lt=ki=>{var gn=pS(),z=b(Et(gn)),ee=v(z);V(()=>F(ee,`(#${d(_e).nodeId??""})`)),E(ki,gn)};W(Le,ki=>{d($)&&ki(lt)})}var Ct=b(ei,2),ft=v(Ct),Xe=b(ft);{var Ft=ki=>{var gn=pS(),z=b(Et(gn)),ee=v(z);V(()=>F(ee,`(ep ${d(_e).endpointId??""})`)),E(ki,gn)};W(Xe,ki=>{d(Z)&&ki(Ft)})}var ai=b(Ct,2),bi=v(ai),Di=b(ai,2),fn=v(Di),Cn=b(Di,2),un=v(Cn);V(ki=>{F(se,d($)??`#${d(_e).nodeId}`),F(ft,d(Z)??`ep${d(_e).endpointId}`),F(bi,d(_e).clusterName),F(fn,d(ie)),F(un,ki)},[()=>p(d(_e).value)]),E(St,ni)};W(Ie,St=>{d(_e).kind==="status"?St(ot):St(It,-1)})}V(St=>F(Ae,St),[()=>D(d(_e).ts)]),E(fe,Se)}),E(R,Q)};W(Ce,R=>{d(we).length===0?R(Pe):R(rt,-1)})}E(K,ae)};W(qe,K=>{d(J)&&K(he)})}V(()=>{Fo(Qt,d(J)?`height: ${d(le)}px;`:""),F(Ii,d(J)?"▾":"▸")}),G("click",ui,()=>y(me,!d(me))),G("mousedown",fi,Be),G("click",gi,()=>{y(J,!d(J))}),E(o,Li),Rs()}Ks(["click","mousedown"]);var XX=T("<button>›</button>"),YX=T('<span class="chev-ph svelte-1vejtrc"></span>'),JX=T('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),QX=T('<div class="tc svelte-1vejtrc"></div>'),eY=T('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!></div> <!></div>'),tY=T("<option></option>"),iY=T('<span class="pub-ok svelte-1vejtrc">✓</span>'),nY=T('<span class="pub-err svelte-1vejtrc"> </span>'),sY=T('<div class="info svelte-1vejtrc">Loading…</div>'),oY=T('<div class="info err svelte-1vejtrc"> </div>'),rY=T('<div class="info svelte-1vejtrc">No topics match.</div>'),aY=T('<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>'),lY=T('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),cY=T('<div class="info svelte-1vejtrc">No topics yet.</div>'),dY=T('<div class="tree-wrap svelte-1vejtrc"><!></div>'),uY=T('<span class="stream-badge"> </span>'),hY=T('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),fY=T('<span class="s-ret svelte-1vejtrc" title="retained snapshot">&#x229B;</span>'),gY=T('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),pY=T('<div class="stream-body svelte-1vejtrc"><!></div>'),_Y=T('<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),mY=T('<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>'),vY=T('<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),bY=T('<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 yY(o,e){Ns(e,!0);const t=(se,Le=Ry)=>{const lt=wt(()=>d(g).has(Le().path)),Ct=wt(()=>d(a)>=0&&Le().children.size>0),ft=wt(()=>d(a)>=0&&Le().isLeaf&&!n.has(Le().path));var Xe=eY(),Ft=v(Xe);let ai;var bi=v(Ft);{var Di=Ye=>{var ge=XX();let ve;V(()=>{ve=Rt(ge,1,"chev svelte-1vejtrc",null,ve,{open:d(lt)}),Wi(ge,"aria-label",d(lt)?"Collapse":"Expand")}),G("click",ge,()=>p(Le().path)),E(Ye,ge)},fn=Ye=>{var ge=YX();E(Ye,ge)};W(bi,Ye=>{d(Ct)?Ye(Di):Ye(fn,-1)})}var Cn=b(bi,2),un=v(Cn),ki=b(Cn,2);{var gn=Ye=>{var ge=JX(),ve=Et(ge),vt=v(ve),Ei=b(ve,2),Te=v(Ei);V((Ge,Ht,Qe)=>{Wi(ve,"title",Ge),F(vt,Ht),F(Te,Qe)},[()=>{var Ge;return Oi((Ge=si(Le().path))==null?void 0:Ge.val)},()=>{var Ge;return Oi((Ge=si(Le().path))==null?void 0:Ge.val)},()=>{var Ge;return((Ge=si(Le().path))==null?void 0:Ge.ts)!=null?Hi(si(Le().path).ts):""}]),E(Ye,ge)},z=wt(()=>Le().isLeaf&&i.has(Le().path));W(ki,Ye=>{d(z)&&Ye(gn)})}var ee=b(Ft,2);{var Ue=Ye=>{var ge=QX();_i(ge,21,()=>[...Le().children.values()].sort((ve,vt)=>ve.seg.localeCompare(vt.seg)),ve=>ve.path,(ve,vt)=>{t(ve,()=>d(vt))}),E(Ye,ge)};W(ee,Ye=>{d(Ct)&&d(lt)&&Ye(Ue)})}V(()=>{ai=Rt(Ft,1,"tr svelte-1vejtrc",null,ai,{stale:d(ft)}),F(un,Le().seg)}),G("click",Ft,()=>{y(st,Le().path+"/#")}),G("contextmenu",Ft,Ye=>{Ye.preventDefault(),y(ke,{x:Ye.clientX,y:Ye.clientY,topic:Le().path},!0)}),E(se,Xe)},i=new Map,n=new Set,s=new Set;let r=null,a=M(0);function c(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const se of s)f(se);s.clear(),OL(a)}))}const u=new Map;function f(se){const Le=se.split("/");let lt=u,Ct="";for(let ft=0;ft<Le.length;ft++){const Xe=Le[ft];Ct=ft===0?Xe:`${Ct}/${Xe}`,lt.has(Xe)||lt.set(Xe,{seg:Xe,path:Ct,children:new Map,isLeaf:!1});const Ft=lt.get(Xe);ft===Le.length-1&&(Ft.isLeaf=!0),lt=Ft.children}}let g=M(yi(new Set));function p(se){const Le=new Set(d(g));Le.has(se)?Le.delete(se):Le.add(se),y(g,Le,!0)}let w=M("");const m=24,x=5;let k=M(0),D=M(300),P=wt(()=>{if(d(a),!d(w))return[];const se=d(w).toLowerCase().split(/\s+/).filter(Boolean),Le=[];for(const[lt,Ct]of i){const ft=lt.toLowerCase();se.every(Xe=>ft.includes(Xe))&&Le.push({topic:lt,...Ct})}return Le.sort((lt,Ct)=>lt.topic.localeCompare(Ct.topic))}),A=wt(()=>{const se=d(P).length,Le=Math.max(0,Math.floor(d(k)/m)-x),lt=Math.min(se,Math.ceil((d(k)+d(D))/m)+x);return{start:Le,end:lt,totalH:se*m,top:Le*m}});const j=1e3,H=200,te=20,J=36;let le=0,we=M(yi([])),Be=M(yi([])),ce=M(!0),st=M("#"),at=M(200);$n(()=>{const se=d(st).trim(),Le=Rl(()=>d(we)),lt=!se||se==="#"?Le.slice(0,H):Le.filter(Ct=>me(se,Ct.topic)).slice(0,H);if(se&&se!=="#"){const Ct=new Set(lt.map(Xe=>Xe.topic)),ft=[];for(const[Xe,Ft]of i)Ct.has(Xe)||me(se,Xe)&&ft.push({id:-(ft.length+1),topic:Xe,val:Ft.val,ts:Ft.ts,retained:!0});ft.sort((Xe,Ft)=>Xe.topic.localeCompare(Ft.topic)),y(Be,[...lt,...ft],!0)}else y(Be,lt,!0)});function me(se,Le){if(se==="#")return!0;const lt=se.split("/"),Ct=Le.split("/");for(let ft=0;ft<lt.length;ft++){if(lt[ft]==="#")return!0;if(ft>=Ct.length||lt[ft]!=="+"&&lt[ft]!==Ct[ft])return!1}return lt.length===Ct.length}function ct(se){se.preventDefault();const Le=se.clientY,lt=d(at);function Ct(Xe){y(at,Math.max(60,Math.min(800,lt+Le-Xe.clientY)),!0)}function ft(){document.removeEventListener("mousemove",Ct),document.removeEventListener("mouseup",ft)}document.addEventListener("mousemove",Ct),document.addEventListener("mouseup",ft)}let gt=wt(()=>{const se=Math.max(1,Math.floor((d(at)-J)/te)+1);return d(Be).slice(0,se)}),Tt=M(!0),Ne=M(null);async function Lt(){y(Tt,!0),y(Ne,null);try{const se=await HR();for(const Le of se)i.set(Le.topic,{val:Le.val,ts:Le.ts}),f(Le.topic)}catch(se){y(Ne,se instanceof Error?se.message:String(se),!0)}finally{y(Tt,!1),OL(a)}}const Re=kr("mqtt",se=>{const{topic:Le,val:lt,ts:Ct}=se;i.set(Le,{val:lt,ts:Ct}),n.add(Le),s.add(Le),c();const ft={id:le++,topic:Le,val:lt,ts:Ct};y(we,[ft,...d(we).slice(0,j-1)],!0);const Xe=d(st).trim();(!Xe||Xe==="#"||me(Xe,Le))&&y(Be,[ft,...d(Be).filter(Ft=>!(Ft.retained&&Ft.topic===Le)).slice(0,H-1)],!0)});let ke=M(null),tt=M(null);async function Ot(se,Le){const lt=[se];if(Le){const Ct=se+"/";for(const ft of i.keys())ft.startsWith(Ct)&&lt.push(ft)}for(const Ct of lt)await HD(Ct,"",!0,0)}let ri=wt(()=>(d(a),[...i.keys()].sort())),Wt=M(""),Dt=M(""),Mt=M(!1),kt=M(0),mi=M(!1),di=M(null),Li=M(!1);async function Ai(){if(d(Wt)){y(mi,!0),y(di,null),y(Li,!1);try{await HD(d(Wt),d(Dt),d(Mt),d(kt)),y(Li,!0),setTimeout(()=>{y(Li,!1)},2e3)}catch(se){y(di,se instanceof Error?se.message:String(se),!0)}finally{y(mi,!1)}}}function Oi(se){return se==null?"":typeof se=="object"?JSON.stringify(se):String(se)}function Hi(se){return new Date(se).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Si(se){return new Date(se).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function si(se){return d(a),i.get(se)}let ui=wt(()=>(d(a),[...u.values()].sort((se,Le)=>se.seg.localeCompare(Le.seg)))),Pi=wt(()=>(d(a),i.size));ao(Lt),Wy(()=>{Re(),r!==null&&cancelAnimationFrame(r)});var Vi=bY(),Mi=b(v(Vi),2),Je=v(Mi),oi=v(Je),hi=b(oi,2);_i(hi,20,()=>d(ri),se=>se,(se,Le)=>{var lt=tY(),Ct={};V(()=>{Ct!==(Ct=Le)&&(lt.value=(lt.__value=Le)??"")}),E(se,lt)});var xi=b(hi,2),Ni=b(xi,2),dn=v(Ni),ji=b(Ni,2),Tn=v(ji);Tn.value=Tn.__value=0;var Fe=b(Tn);Fe.value=Fe.__value=1;var Qt=b(Fe);Qt.value=Qt.__value=2;var fi=b(ji,2),Ti=b(fi,2);{var $e=se=>{var Le=iY();E(se,Le)};W(Ti,se=>{d(Li)&&se($e)})}var $t=b(Ti,2);{var gi=se=>{var Le=nY(),lt=v(Le);V(()=>F(lt,d(di))),E(se,Le)};W($t,se=>{d(di)&&se(gi)})}var Ii=b(Je,2),qe=v(Ii),he=b(qe,2),K=v(he);{var ae=se=>{var Le=sa();V(()=>F(Le,`${d(P).length??""} /`)),E(se,Le)};W(K,se=>{d(w)&&se(ae)})}var Ce=b(K),Pe=b(Ii,2);{var rt=se=>{var Le=sY();E(se,Le)},R=se=>{var Le=oY(),lt=v(Le);V(()=>F(lt,d(Ne))),E(se,Le)},Q=se=>{var Le=Vs(),lt=Et(Le);{var Ct=Xe=>{var Ft=rY();E(Xe,Ft)},ft=Xe=>{var Ft=lY(),ai=v(Ft),bi=v(ai);_i(bi,21,()=>d(P).slice(d(A).start,d(A).end),Di=>Di.topic,(Di,fn)=>{var Cn=aY(),un=v(Cn),ki=v(un),gn=b(un,2),z=v(gn),ee=b(gn,2),Ue=v(ee);V((Ye,ge,ve)=>{F(ki,d(fn).topic),Wi(gn,"title",Ye),F(z,ge),F(Ue,ve)},[()=>Oi(d(fn).val),()=>Oi(d(fn).val),()=>Hi(d(fn).ts)]),E(Di,Cn)}),V(()=>{Fo(ai,`height: ${d(A).totalH??""}px; position: relative;`),Fo(bi,`top: ${d(A).top??""}px;`)}),cs("scroll",Ft,Di=>{y(k,Di.currentTarget.scrollTop,!0)}),jH(Ft,"clientHeight",Di=>y(D,Di)),E(Xe,Ft)};W(lt,Xe=>{d(P).length===0?Xe(Ct):Xe(ft,-1)})}E(se,Le)},Y=se=>{var Le=dY(),lt=v(Le);{var Ct=Xe=>{var Ft=cY();E(Xe,Ft)},ft=Xe=>{var Ft=Vs(),ai=Et(Ft);_i(ai,17,()=>d(ui),bi=>bi.path,(bi,Di)=>{t(bi,()=>d(Di))}),E(Xe,Ft)};W(lt,Xe=>{d(ui).length===0?Xe(Ct):Xe(ft,-1)})}E(se,Le)};W(Pe,se=>{d(Tt)?se(rt):d(Ne)?se(R,1):d(w)?se(Q,2):se(Y,-1)})}var fe=b(Mi,2),_e=v(fe),$=b(_e,2),Z=v($),ie=b(Z,2);{var Se=se=>{var Le=uY(),lt=v(Le);V(()=>F(lt,d(Be).length)),E(se,Le)};W(ie,se=>{!d(ce)&&d(Be).length>0&&se(Se)})}var pt=b(ie,2),Ae=v(pt),Ie=b($,2);{var ot=se=>{var Le=pY(),lt=v(Le);{var Ct=Xe=>{var Ft=hY();E(Xe,Ft)},ft=Xe=>{var Ft=Vs(),ai=Et(Ft);_i(ai,17,()=>d(gt),bi=>bi.id,(bi,Di)=>{var fn=gY();let Cn;var un=v(fn),ki=v(un),gn=b(un,2);{var z=ve=>{var vt=fY();E(ve,vt)};W(gn,ve=>{d(Di).retained&&ve(z)})}var ee=b(gn,2),Ue=v(ee),Ye=b(ee,2),ge=v(Ye);V((ve,vt,Ei)=>{Cn=Rt(fn,1,"sr svelte-1vejtrc",null,Cn,{retained:d(Di).retained}),F(ki,ve),F(Ue,d(Di).topic),Wi(Ye,"title",vt),F(ge,Ei)},[()=>Si(d(Di).ts),()=>Oi(d(Di).val),()=>Oi(d(Di).val)]),E(bi,fn)}),E(Xe,Ft)};W(lt,Xe=>{d(gt).length===0?Xe(Ct):Xe(ft,-1)})}E(se,Le)};W(Ie,se=>{d(ce)&&se(ot)})}var It=b(fe,2);{var St=se=>{var Le=_Y(),lt=Et(Le),Ct=b(lt,2);let ft;var Xe=v(Ct),Ft=b(Xe,2);V(()=>ft=Fo(Ct,"",ft,{left:`${d(ke).x??""}px`,top:`${d(ke).y??""}px`})),G("click",lt,()=>y(ke,null)),G("contextmenu",lt,ai=>{ai.preventDefault(),y(ke,null)}),G("click",Xe,()=>{navigator.clipboard.writeText(d(ke).topic),y(ke,null)}),G("click",Ft,()=>{const ai=d(ke).topic,bi=ai+"/",Di=[...i.keys()].some(fn=>fn.startsWith(bi));y(tt,{topic:ai,hasChildren:Di,recursive:!1},!0),y(ke,null)}),E(se,Le)};W(It,se=>{d(ke)&&se(St)})}var ni=b(It,2);{var ei=se=>{var Le=vY(),lt=Et(Le),Ct=b(lt,2),ft=b(v(Ct),2),Xe=v(ft),Ft=b(v(Xe)),ai=v(Ft),bi=b(Xe,2);{var Di=ki=>{var gn=mY(),z=v(gn);Is(z,()=>d(tt).recursive,ee=>d(tt).recursive=ee),E(ki,gn)};W(bi,ki=>{d(tt).hasChildren&&ki(Di)})}var fn=b(ft,2),Cn=v(fn),un=b(Cn,2);V(()=>F(ai,d(tt).topic)),G("click",lt,()=>y(tt,null)),G("click",Cn,()=>y(tt,null)),G("click",un,()=>{const{topic:ki,recursive:gn}=d(tt);y(tt,null),Ot(ki,gn)}),E(se,Le)};W(ni,se=>{d(tt)&&se(ei)})}V(()=>{fi.disabled=d(mi)||!d(Wt),F(Ce,` ${d(Pi)??""}`),Fo(fe,d(ce)?`height: ${d(at)}px;`:""),F(Ae,d(ce)?"▾":"▸")}),Zt(oi,()=>d(Wt),se=>y(Wt,se)),Zt(xi,()=>d(Dt),se=>y(Dt,se)),Is(dn,()=>d(Mt),se=>y(Mt,se)),Ho(ji,()=>d(kt),se=>y(kt,se)),G("click",fi,Ai),Zt(qe,()=>d(w),se=>y(w,se)),G("mousedown",_e,ct),Zt(Z,()=>d(st),se=>y(st,se)),G("click",pt,()=>{y(ce,!d(ce))}),E(o,Vi),Rs()}Ks(["click","contextmenu","mousedown"]);var wY=T('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),SY=T('<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>'),CY=T('<div class="err svelte-twakcj"> </div>'),xY=T('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),kY=T('<p class="empty svelte-twakcj">No packages installed.</p>'),LY=T('<p class="empty svelte-twakcj">No match.</p>'),IY=T("<span> </span>"),DY=VP('<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>'),EY=VP('<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>'),TY=T('<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>'),PY=T('<span class="result-author svelte-twakcj"> </span>'),MY=T('<span class="result-date svelte-twakcj"> </span>'),NY=T('<span class="result-desc svelte-twakcj"> </span>'),RY=T('<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>'),AY=T('<div class="results-list svelte-twakcj"></div>'),OY=T('<pre class="npm-output svelte-twakcj"> </pre>'),FY=T(`<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>`),HY=T('<!> <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 WY(o,e){Ns(e,!0);let t=M(yi([])),i=M(""),n=M(yi({})),s=M(yi([])),r=M(!1),a=M(""),c=M(yi([])),u=M(!1),f=M(!1),g=M(!1),p=M(""),w=M(""),m=yi({});const x=wt(()=>d(i).trim()?d(t).filter(Fe=>Fe.name.toLowerCase().includes(d(i).toLowerCase())):d(t)),k=wt(()=>Object.keys(d(n)).filter(Fe=>!d(s).includes(Fe)).length);ao(async()=>{await Promise.all([D(),P(),A()])});async function D(){try{y(t,await L7(),!0),y(p,"")}catch(Fe){y(p,Fe.message,!0)}}async function P(){try{y(n,await OR(),!0)}catch{}}async function A(){try{const Fe=await Dl();y(s,Array.isArray(Fe.pinnedPackages)?Fe.pinnedPackages:[],!0)}catch{}}async function j(Fe){const Qt=d(s).includes(Fe)?d(s).filter(fi=>fi!==Fe):[...d(s),Fe];y(s,Qt,!0);try{const fi=await Dl();await Zp({...fi,pinnedPackages:Qt})}catch{}}async function H(){y(r,!0);try{y(n,await P7(),!0)}catch{}finally{y(r,!1)}}async function te(){const Fe=d(a).trim();if(!Fe){y(c,[],!0);return}y(g,!0),y(p,"");try{y(c,await I7(Fe),!0)}catch(Qt){y(p,Qt.message,!0)}finally{y(g,!1)}}function J(Fe){if(!Fe)return"";try{return new Date(Fe).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function le(Fe,Qt){m[Fe]=!0,y(p,""),y(w,"");try{const fi=await D7(Fe,Qt);y(w,fi.stdout||fi.stderr||"Done.",!0),y(u,!0),await D()}catch(fi){y(p,fi.message,!0)}finally{m[Fe]=!1}}async function we(Fe){m[Fe]=!0,y(p,""),y(w,"");try{const Qt=await E7(Fe);y(w,Qt.stdout||Qt.stderr||"Done.",!0),y(u,!0);const fi={...d(n)};delete fi[Fe],y(n,fi,!0),await D()}catch(Qt){y(p,Qt.message,!0)}finally{m[Fe]=!1}}async function Be(Fe){m[Fe]=!0,y(p,""),y(w,"");try{const Qt=await T7(Fe);y(w,Qt.stdout||Qt.stderr||"Done.",!0),y(u,!0);const fi={...d(n)};delete fi[Fe],y(n,fi,!0),await D()}catch(Qt){y(p,Qt.message,!0)}finally{m[Fe]=!1}}let ce;async function st(){if(await ce.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){y(f,!0);try{await NR()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var at=HY(),me=Et(at);Ds(Jf(me,{}),Fe=>ce=Fe,()=>ce);var ct=b(me,2),gt=v(ct);{var Tt=Fe=>{var Qt=wY();E(Fe,Qt)},Ne=Fe=>{var Qt=SY(),fi=b(v(Qt));G("click",fi,st),E(Fe,Qt)};W(gt,Fe=>{d(f)?Fe(Tt):d(u)&&Fe(Ne,1)})}var Lt=b(gt,2);{var Re=Fe=>{var Qt=CY(),fi=v(Qt);V(()=>F(fi,d(p))),E(Fe,Qt)};W(Lt,Fe=>{d(p)&&Fe(Re)})}var ke=b(Lt,2),tt=v(ke),Ot=v(tt),ri=b(v(Ot),2),Wt=v(ri),Dt=b(ri,2);{var Mt=Fe=>{var Qt=xY(),fi=v(Qt);V(()=>F(fi,`${d(k)??""} outdated`)),E(Fe,Qt)};W(Dt,Fe=>{d(k)>0&&Fe(Mt)})}var kt=b(Dt,2),mi=v(kt);let di;var Li=b(Ot,2),Ai=v(Li),Oi=b(Li,2),Hi=v(Oi);{var Si=Fe=>{var Qt=kY();E(Fe,Qt)},si=Fe=>{var Qt=LY();E(Fe,Qt)},ui=Fe=>{var Qt=Vs(),fi=Et(Qt);_i(fi,17,()=>d(x),Ti=>Ti.name,(Ti,$e)=>{var $t=TY();let gi;var Ii=v($t),qe=v(Ii),he=v(qe),K=b(qe,2),ae=v(K),Ce=b(K,2);{var Pe=Se=>{var pt=IY();let Ae;var Ie=v(pt);V(ot=>{Ae=Rt(pt,1,"dep-latest svelte-twakcj",null,Ae,ot),F(Ie,`→ v${d(n)[d($e).name].latest??""}`)},[()=>({"dep-latest--pinned":d(s).includes(d($e).name)})]),E(Se,pt)};W(Ce,Se=>{d(n)[d($e).name]&&Se(Pe)})}var rt=b(Ii,2),R=v(rt);let Q;var Y=b(R,2);let fe;var _e=v(Y);{var $=Se=>{var pt=DY();E(Se,pt)},Z=Se=>{var pt=EY();E(Se,pt)};W(_e,Se=>{m[d($e).name]?Se($):Se(Z,-1)})}var ie=b(Y,2);V((Se,pt,Ae)=>{gi=Rt($t,1,"dep-row svelte-twakcj",null,gi,{"dep-busy":!!m[d($e).name]}),Wi(qe,"href",d($e).url??`https://www.npmjs.com/package/${d($e).name}`),F(he,d($e).name),F(ae,d($e).installedVersion??d($e).version),Q=Rt(R,1,"icon-btn svelte-twakcj",null,Q,Se),Wi(R,"title",pt),fe=Rt(Y,1,"icon-btn svelte-twakcj",null,fe,Ae),Y.disabled=!!m[d($e).name],Wi(Y,"title",d(n)[d($e).name]?`Update to v${d(n)[d($e).name].latest}`:"Update to latest"),ie.disabled=!!m[d($e).name]},[()=>({"icon-btn--pinned":d(s).includes(d($e).name)}),()=>d(s).includes(d($e).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!d(n)[d($e).name]&&!d(s).includes(d($e).name)})]),G("click",R,()=>j(d($e).name)),G("click",Y,()=>Be(d($e).name)),G("click",ie,()=>we(d($e).name)),E(Ti,$t)}),E(Fe,Qt)};W(Hi,Fe=>{d(t).length===0?Fe(Si):d(x).length===0?Fe(si,1):Fe(ui,-1)})}var Pi=b(tt,2),Vi=b(v(Pi),2),Mi=v(Vi),Je=b(Mi,2),oi=v(Je),hi=b(Vi,2);{var xi=Fe=>{var Qt=AY();_i(Qt,21,()=>d(c),fi=>fi.name,(fi,Ti)=>{var $e=RY(),$t=v($e),gi=v($t),Ii=v(gi),qe=b(gi,2),he=v(qe),K=b(qe,2);{var ae=fe=>{var _e=PY(),$=v(_e);V(()=>F($,d(Ti).author)),E(fe,_e)};W(K,fe=>{d(Ti).author&&fe(ae)})}var Ce=b(K,2);{var Pe=fe=>{var _e=MY(),$=v(_e);V(Z=>{Wi(_e,"title",d(Ti).date),F($,Z)},[()=>J(d(Ti).date)]),E(fe,_e)};W(Ce,fe=>{d(Ti).date&&fe(Pe)})}var rt=b(Ce,2);{var R=fe=>{var _e=NY(),$=v(_e);V(()=>F($,d(Ti).description)),E(fe,_e)};W(rt,fe=>{d(Ti).description&&fe(R)})}var Q=b($t,2),Y=v(Q);V(()=>{Wi(gi,"href",d(Ti).url??`https://www.npmjs.com/package/${d(Ti).name}`),F(Ii,d(Ti).name),F(he,d(Ti).version),Q.disabled=!!m[d(Ti).name],F(Y,m[d(Ti).name]?"Installing…":"Install")}),G("click",Q,()=>le(d(Ti).name)),E(fi,$e)}),E(Fe,Qt)};W(hi,Fe=>{d(c).length>0&&Fe(xi)})}var Ni=b(hi,2);{var dn=Fe=>{var Qt=OY(),fi=v(Qt);V(()=>F(fi,d(w))),E(Fe,Qt)};W(Ni,Fe=>{d(w)&&Fe(dn)})}var ji=b(Ni,2);{var Tn=Fe=>{var Qt=FY();E(Fe,Qt)};W(ji,Fe=>{!d(c).length&&!d(w)&&Fe(Tn)})}V(()=>{F(Wt,d(t).length),kt.disabled=d(r),di=Rt(mi,0,"svelte-twakcj",null,di,{spinning:d(r)}),Je.disabled=d(g),F(oi,d(g)?"Searching…":"Search")}),G("click",kt,H),Zt(Ai,()=>d(i),Fe=>y(i,Fe)),G("keydown",Mi,Fe=>Fe.key==="Enter"&&te()),Zt(Mi,()=>d(a),Fe=>y(a,Fe)),G("click",Je,te),E(o,at),Rs()}Ks(["click","keydown"]);var Ul=T('<div class="err svelte-3itf14"> </div>'),BY=T('<div class="empty svelte-3itf14">No users found.</div>'),_E=T('<span class="tag svelte-3itf14"> </span>'),mE=T('<span class="tag tag--group svelte-3itf14"> </span>'),zY=T('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="tags svelte-3itf14"></td><td class="tags svelte-3itf14"></td><td class="actions svelte-3itf14"><button title="Set password" class="svelte-3itf14">🔑</button> <button class="danger svelte-3itf14" title="Delete">✕</button></td></tr>'),VY=T('<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>'),jY=T('<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>'),$Y=T('<div class="empty svelte-3itf14">No roles found.</div>'),UY=T('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="actions svelte-3itf14"><button title="Edit ACLs" class="svelte-3itf14">Edit ACLs</button> <button class="danger svelte-3itf14" title="Delete">✕</button></td></tr>'),qY=T('<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>'),GY=T('<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>'),KY=T('<div class="empty svelte-3itf14">No groups found.</div>'),ZY=T('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="tags svelte-3itf14"></td><td class="tags svelte-3itf14"></td><td class="actions svelte-3itf14"><button class="danger svelte-3itf14" title="Delete">✕</button></td></tr>'),XY=T('<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>'),YY=T('<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>'),JY=T('<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>'),QY=T('<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=T('<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>'),tJ=T('<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>'),iJ=T('<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>'),nJ=T('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),sJ=T("<option> </option>"),oJ=T('<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>'),rJ=T('<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>'),aJ=T('<div class="users-page svelte-3itf14"><div class="panel-tabs svelte-3itf14"><button>Users</button> <button>Roles</button> <button>Groups</button> <button class="reload-btn svelte-3itf14" title="Refresh">↺</button></div> <!> <!> <!></div> <!> <!> <!> <!> <!>',1);function lJ(o,e){Ns(e,!0);let t=M(yi([])),i=M(yi([])),n=M(yi([])),s=M(""),r=M(""),a=M(""),c=M("users"),u=M(!1),f=M(""),g=M(""),p=M(!1),w=M(""),m=M(!1),x=M(!1),k=M(""),D=M(""),P=M(""),A=M(!1),j=M(!1),H=M(""),te=M(""),J=M(!1),le=M(null),we=M(!1),Be=M("publishClientSend"),ce=M(""),st=M(!0),at=M(""),me=M(!1),ct=M(""),gt=M(""),Tt=M(!1);const Ne=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function Lt(){var qe,he,K;try{const[ae,Ce,Pe]=await Promise.allSettled([j7(),G7(),J7()]);ae.status==="fulfilled"?(y(t,ae.value.users,!0),y(s,"")):y(s,((qe=ae.reason)==null?void 0:qe.message)??"Failed to load users",!0),Ce.status==="fulfilled"?(y(i,Ce.value.roles,!0),y(r,"")):y(r,((he=Ce.reason)==null?void 0:he.message)??"Failed to load roles",!0),Pe.status==="fulfilled"?(y(n,Pe.value.groups,!0),y(a,"")):y(a,((K=Pe.reason)==null?void 0:K.message)??"Failed to load groups",!0)}catch{}}ao(()=>{Lt()});async function Re(){y(w,""),y(m,!0);try{await $7(d(f),d(g)),y(f,""),y(g,""),y(u,!1),await Lt()}catch(qe){y(w,qe.message??"Failed to create user",!0)}finally{y(m,!1)}}async function ke(qe){if(confirm(`Delete user "${qe}"?`))try{await U7(qe),await Lt()}catch(he){y(s,he.message,!0)}}async function tt(qe){y(k,qe,!0),y(D,""),y(P,""),y(x,!0)}async function Ot(){y(P,""),y(A,!0);try{await q7(d(k),d(D)),y(x,!1)}catch(qe){y(P,qe.message,!0)}finally{y(A,!1)}}async function ri(){y(te,""),y(J,!0);try{await K7(d(H)),y(H,""),y(j,!1),await Lt()}catch(qe){y(te,qe.message??"Failed to create role",!0)}finally{y(J,!1)}}async function Wt(qe){var he;if(confirm(`Delete role "${qe}"?`))try{await Z7(qe),((he=d(le))==null?void 0:he.rolename)===qe&&(y(le,null),y(we,!1)),await Lt()}catch(K){y(r,K.message,!0)}}function Dt(qe){y(le,qe,!0),y(we,!0),y(Be,"publishClientSend"),y(ce,""),y(st,!0),y(at,"")}async function Mt(){if(d(le)){y(at,"");try{await X7(d(le).rolename,{acltype:d(Be),topic:d(ce),allow:d(st)}),y(ce,""),await Lt(),y(le,d(i).find(qe=>qe.rolename===d(le).rolename)??d(le),!0)}catch(qe){y(at,qe.message,!0)}}}async function kt(qe,he,K){try{await Y7(qe,he,K),await Lt(),y(le,d(i).find(ae=>ae.rolename===qe)??d(le),!0)}catch(ae){y(at,ae.message,!0)}}async function mi(){y(gt,""),y(Tt,!0);try{await Q7(d(ct)),y(ct,""),y(me,!1),await Lt()}catch(qe){y(gt,qe.message??"Failed to create group",!0)}finally{y(Tt,!1)}}async function di(qe){if(confirm(`Delete group "${qe}"?`))try{await eq(qe),await Lt()}catch(he){y(a,he.message,!0)}}var Li=aJ(),Ai=Et(Li),Oi=v(Ai),Hi=v(Oi);let Si;var si=b(Hi,2);let ui;var Pi=b(si,2);let Vi;var Mi=b(Pi,2),Je=b(Oi,2);{var oi=qe=>{var he=jY(),K=v(he),ae=b(v(K),2),Ce=b(K,2);{var Pe=Y=>{var fe=Ul(),_e=v(fe);V(()=>F(_e,d(s))),E(Y,fe)};W(Ce,Y=>{d(s)&&Y(Pe)})}var rt=b(Ce,2);{var R=Y=>{var fe=BY();E(Y,fe)},Q=Y=>{var fe=VY(),_e=b(v(fe));_i(_e,21,()=>d(t),on,($,Z)=>{var ie=zY(),Se=v(ie),pt=v(Se),Ae=b(Se);_i(Ae,21,()=>d(Z).roles??[],on,(ni,ei)=>{var se=_E(),Le=v(se);V(()=>F(Le,d(ei).rolename)),E(ni,se)});var Ie=b(Ae);_i(Ie,21,()=>d(Z).groups??[],on,(ni,ei)=>{var se=mE(),Le=v(se);V(()=>F(Le,d(ei).groupname)),E(ni,se)});var ot=b(Ie),It=v(ot),St=b(It,2);V(()=>F(pt,d(Z).username)),G("click",It,()=>tt(d(Z).username)),G("click",St,()=>ke(d(Z).username)),E($,ie)}),E(Y,fe)};W(rt,Y=>{d(t).length===0?Y(R):Y(Q,-1)})}G("click",ae,()=>{y(u,!0),y(w,"")}),E(qe,he)};W(Je,qe=>{d(c)==="users"&&qe(oi)})}var hi=b(Je,2);{var xi=qe=>{var he=GY(),K=v(he),ae=b(v(K),2),Ce=b(K,2);{var Pe=Y=>{var fe=Ul(),_e=v(fe);V(()=>F(_e,d(r))),E(Y,fe)};W(Ce,Y=>{d(r)&&Y(Pe)})}var rt=b(Ce,2);{var R=Y=>{var fe=$Y();E(Y,fe)},Q=Y=>{var fe=qY(),_e=b(v(fe));_i(_e,21,()=>d(i),on,($,Z)=>{var ie=UY(),Se=v(ie),pt=v(Se),Ae=b(Se),Ie=v(Ae),ot=b(Ae),It=v(ot),St=b(It,2);V(()=>{var ni;F(pt,d(Z).rolename),F(Ie,((ni=d(Z).acls)==null?void 0:ni.length)??0)}),G("click",It,()=>Dt(d(Z))),G("click",St,()=>Wt(d(Z).rolename)),E($,ie)}),E(Y,fe)};W(rt,Y=>{d(i).length===0?Y(R):Y(Q,-1)})}G("click",ae,()=>{y(j,!0),y(te,""),y(H,"")}),E(qe,he)};W(hi,qe=>{d(c)==="roles"&&qe(xi)})}var Ni=b(hi,2);{var dn=qe=>{var he=YY(),K=v(he),ae=b(v(K),2),Ce=b(K,2);{var Pe=Y=>{var fe=Ul(),_e=v(fe);V(()=>F(_e,d(a))),E(Y,fe)};W(Ce,Y=>{d(a)&&Y(Pe)})}var rt=b(Ce,2);{var R=Y=>{var fe=KY();E(Y,fe)},Q=Y=>{var fe=XY(),_e=b(v(fe));_i(_e,21,()=>d(n),on,($,Z)=>{var ie=ZY(),Se=v(ie),pt=v(Se),Ae=b(Se);_i(Ae,21,()=>d(Z).clients??[],on,(St,ni)=>{var ei=_E(),se=v(ei);V(()=>F(se,d(ni).username)),E(St,ei)});var Ie=b(Ae);_i(Ie,21,()=>d(Z).roles??[],on,(St,ni)=>{var ei=mE(),se=v(ei);V(()=>F(se,d(ni).rolename)),E(St,ei)});var ot=b(Ie),It=v(ot);V(()=>F(pt,d(Z).groupname)),G("click",It,()=>di(d(Z).groupname)),E($,ie)}),E(Y,fe)};W(rt,Y=>{d(n).length===0?Y(R):Y(Q,-1)})}G("click",ae,()=>{y(me,!0),y(gt,""),y(ct,"")}),E(qe,he)};W(Ni,qe=>{d(c)==="groups"&&qe(dn)})}var ji=b(Ai,2);{var Tn=qe=>{var he=JY(),K=v(he),ae=b(v(K),2),Ce=b(v(ae)),Pe=b(ae,2),rt=b(v(Pe)),R=v(rt),Q=b(R,2),Y=v(Q),fe=b(Pe,2);{var _e=pt=>{var Ae=Ul(),Ie=v(Ae);V(()=>F(Ie,d(w))),E(pt,Ae)};W(fe,pt=>{d(w)&&pt(_e)})}var $=b(fe,2),Z=v($),ie=b(Z,2),Se=v(ie);V(()=>{Wi(R,"type",d(p)?"text":"password"),F(Y,d(p)?"Hide":"Show"),ie.disabled=d(m)||!d(f)||!d(g),F(Se,d(m)?"Creating…":"Create")}),Zt(Ce,()=>d(f),pt=>y(f,pt)),Zt(R,()=>d(g),pt=>y(g,pt)),G("click",Q,()=>y(p,!d(p))),G("click",Z,()=>y(u,!1)),G("click",ie,Re),E(qe,he)};W(ji,qe=>{d(u)&&qe(Tn)})}var Fe=b(ji,2);{var Qt=qe=>{var he=QY(),K=v(he),ae=v(K),Ce=b(v(ae)),Pe=v(Ce),rt=b(ae,2),R=b(v(rt)),Q=b(rt,2);{var Y=ie=>{var Se=Ul(),pt=v(Se);V(()=>F(pt,d(P))),E(ie,Se)};W(Q,ie=>{d(P)&&ie(Y)})}var fe=b(Q,2),_e=v(fe),$=b(_e,2),Z=v($);V(()=>{F(Pe,d(k)),$.disabled=d(A)||!d(D),F(Z,d(A)?"Saving…":"Set password")}),Zt(R,()=>d(D),ie=>y(D,ie)),G("click",_e,()=>y(x,!1)),G("click",$,Ot),E(qe,he)};W(Fe,qe=>{d(x)&&qe(Qt)})}var fi=b(Fe,2);{var Ti=qe=>{var he=eJ(),K=v(he),ae=b(v(K),2),Ce=b(v(ae)),Pe=b(ae,2);{var rt=_e=>{var $=Ul(),Z=v($);V(()=>F(Z,d(te))),E(_e,$)};W(Pe,_e=>{d(te)&&_e(rt)})}var R=b(Pe,2),Q=v(R),Y=b(Q,2),fe=v(Y);V(()=>{Y.disabled=d(J)||!d(H),F(fe,d(J)?"Creating…":"Create")}),Zt(Ce,()=>d(H),_e=>y(H,_e)),G("click",Q,()=>y(j,!1)),G("click",Y,ri),E(qe,he)};W(fi,qe=>{d(j)&&qe(Ti)})}var $e=b(fi,2);{var $t=qe=>{var he=oJ(),K=v(he),ae=v(K),Ce=b(v(ae)),Pe=v(Ce),rt=b(ae,2);{var R=ot=>{var It=iJ(),St=b(v(It));_i(St,21,()=>d(le).acls??[],on,(ni,ei)=>{var se=tJ(),Le=v(se),lt=v(Le),Ct=b(Le),ft=v(Ct),Xe=b(Ct),Ft=v(Xe),ai=b(Xe),bi=v(ai);V(()=>{F(lt,d(ei).acltype),F(ft,d(ei).topic),F(Ft,d(ei).allow?"✓":"✗")}),G("click",bi,()=>kt(d(le).rolename,d(ei).acltype,d(ei).topic)),E(ni,se)}),E(ot,It)},Q=ot=>{var It=nJ();E(ot,It)};W(rt,ot=>{var It;(((It=d(le).acls)==null?void 0:It.length)??0)>0?ot(R):ot(Q,-1)})}var Y=b(rt,2),fe=v(Y);_i(fe,21,()=>Ne,on,(ot,It)=>{var St=sJ(),ni=v(St),ei={};V(()=>{F(ni,d(It)),ei!==(ei=d(It))&&(St.value=(St.__value=d(It))??"")}),E(ot,St)});var _e=b(fe,2),$=b(_e,2),Z=v($),ie=b($,2),Se=b(Y,2);{var pt=ot=>{var It=Ul(),St=v(It);V(()=>F(St,d(at))),E(ot,It)};W(Se,ot=>{d(at)&&ot(pt)})}var Ae=b(Se,2),Ie=v(Ae);V(()=>{F(Pe,d(le).rolename),ie.disabled=!d(ce)}),Ho(fe,()=>d(Be),ot=>y(Be,ot)),Zt(_e,()=>d(ce),ot=>y(ce,ot)),Is(Z,()=>d(st),ot=>y(st,ot)),G("click",ie,Mt),G("click",Ie,()=>y(we,!1)),E(qe,he)};W($e,qe=>{d(we)&&d(le)&&qe($t)})}var gi=b($e,2);{var Ii=qe=>{var he=rJ(),K=v(he),ae=b(v(K),2),Ce=b(v(ae)),Pe=b(ae,2);{var rt=_e=>{var $=Ul(),Z=v($);V(()=>F(Z,d(gt))),E(_e,$)};W(Pe,_e=>{d(gt)&&_e(rt)})}var R=b(Pe,2),Q=v(R),Y=b(Q,2),fe=v(Y);V(()=>{Y.disabled=d(Tt)||!d(ct),F(fe,d(Tt)?"Creating…":"Create")}),Zt(Ce,()=>d(ct),_e=>y(ct,_e)),G("click",Q,()=>y(me,!1)),G("click",Y,mi),E(qe,he)};W(gi,qe=>{d(me)&&qe(Ii)})}V(()=>{Si=Rt(Hi,1,"svelte-3itf14",null,Si,{active:d(c)==="users"}),ui=Rt(si,1,"svelte-3itf14",null,ui,{active:d(c)==="roles"}),Vi=Rt(Pi,1,"svelte-3itf14",null,Vi,{active:d(c)==="groups"})}),G("click",Hi,()=>y(c,"users")),G("click",si,()=>y(c,"roles")),G("click",Pi,()=>y(c,"groups")),G("click",Mi,Lt),E(o,Li),Rs()}Ks(["click"]);var vE=T('<div class="err svelte-9i68x"> </div>'),cJ=T('<div class="ok svelte-9i68x">Saved.</div>'),dJ=T('<div class="reload-msg svelte-9i68x"> </div>'),uJ=T('<div class="loading svelte-9i68x">Loading…</div>'),hJ=T('<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"/> Require client certificate (require_certificate)</label> <label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> Use cert CN as username (use_identity_as_username)</label></div></div>'),fJ=T('<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></div> <div class="tls-toggle-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox"/> TLS</label></div> <!></div>'),gJ=T('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),pJ=T('<div class="cards svelte-9i68x"><!> <!></div>'),_J=T('<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 mJ(o,e){Ns(e,!0);let t=M(null),i=M(""),n=M(!1),s=M(""),r=M(!1),a=M(!1),c=M(""),u=M(yi([])),f=M(null);ao(()=>{g()});async function g(){try{y(t,await W7(),!0),y(u,JSON.parse(JSON.stringify(d(t).listeners)),!0),y(f,d(t).checksum,!0),y(i,"")}catch(ke){y(i,ke.message??"Failed to load broker config",!0)}}function p(){y(u,[...d(u),{port:1883,bindAddress:"",protocol:"mqtt",tls:{}}],!0)}function w(ke){y(u,d(u).filter((tt,Ot)=>Ot!==ke),!0)}async function m(){if(d(t)){y(n,!0),y(s,""),y(r,!1);try{await B7({listeners:d(u),managed:d(t).managed,passthrough:d(t).passthrough,checksum:d(f)}),y(r,!0),setTimeout(()=>y(r,!1),3e3),await g()}catch(ke){y(s,ke.message??"Save failed",!0)}finally{y(n,!1)}}}async function x(){y(a,!0),y(c,"");try{const ke=await z7();y(c,ke.stderr||ke.stdout||"Reloaded",!0)}catch(ke){y(c,"Error: "+(ke.message??"reload failed"))}finally{y(a,!1)}}function k(ke){var tt,Ot,ri,Wt;return!!((tt=ke.tls)!=null&&tt.certfile||(Ot=ke.tls)!=null&&Ot.keyfile||(ri=ke.tls)!=null&&ri.capath||(Wt=ke.tls)!=null&&Wt.cafile)}function D(ke,tt){tt||(ke.tls={}),y(u,[...d(u)],!0)}var P=_J(),A=v(P),j=b(v(A),2),H=v(j),te=b(H,2),J=v(te),le=b(te,2),we=v(le),Be=b(A,2);{var ce=ke=>{var tt=vE(),Ot=v(tt);V(()=>F(Ot,d(i))),E(ke,tt)};W(Be,ke=>{d(i)&&ke(ce)})}var st=b(Be,2);{var at=ke=>{var tt=vE(),Ot=v(tt);V(()=>F(Ot,d(s))),E(ke,tt)};W(st,ke=>{d(s)&&ke(at)})}var me=b(st,2);{var ct=ke=>{var tt=cJ();E(ke,tt)};W(me,ke=>{d(r)&&ke(ct)})}var gt=b(me,2);{var Tt=ke=>{var tt=dJ(),Ot=v(tt);V(()=>F(Ot,d(c))),E(ke,tt)};W(gt,ke=>{d(c)&&ke(Tt)})}var Ne=b(gt,2);{var Lt=ke=>{var tt=uJ();E(ke,tt)},Re=ke=>{var tt=pJ(),Ot=v(tt);_i(Ot,17,()=>d(u),on,(Dt,Mt,kt)=>{var mi=fJ(),di=v(mi),Li=v(di),Ai=v(Li),Oi=b(Li,2),Hi=b(di,2),Si=v(Hi),si=b(v(Si)),ui=b(Si,2),Pi=b(v(ui)),Vi=v(Pi);Vi.value=Vi.__value="mqtt";var Mi=b(Vi);Mi.value=Mi.__value="websockets";var Je=b(ui,2),oi=b(v(Je)),hi=b(Hi,2),xi=v(hi),Ni=v(xi),dn=b(hi,2);{var ji=Fe=>{var Qt=hJ(),fi=v(Qt),Ti=v(fi),$e=b(v(Ti)),$t=b(Ti,2),gi=b(v($t)),Ii=b(fi,2),qe=v(Ii),he=b(v(qe)),K=b(qe,2),ae=b(v(K)),Ce=b(Ii,2),Pe=v(Ce),rt=b(v(Pe)),R=b(Pe,2),Q=b(v(R)),Y=v(Q);Y.value=Y.__value="";var fe=b(Y);fe.value=fe.__value="tlsv1.3";var _e=b(fe);_e.value=_e.__value="tlsv1.2";var $=b(Ce,2),Z=v($),ie=v(Z),Se=b(Z,2),pt=v(Se);Zt($e,()=>d(Mt).tls.certfile,Ae=>d(Mt).tls.certfile=Ae),Zt(gi,()=>d(Mt).tls.keyfile,Ae=>d(Mt).tls.keyfile=Ae),Zt(he,()=>d(Mt).tls.cafile,Ae=>d(Mt).tls.cafile=Ae),Zt(ae,()=>d(Mt).tls.capath,Ae=>d(Mt).tls.capath=Ae),Zt(rt,()=>d(Mt).tls.crlfile,Ae=>d(Mt).tls.crlfile=Ae),Ho(Q,()=>d(Mt).tls.tls_version,Ae=>d(Mt).tls.tls_version=Ae),Is(ie,()=>d(Mt).tls.require_certificate,Ae=>d(Mt).tls.require_certificate=Ae),Is(pt,()=>d(Mt).tls.use_identity_as_username,Ae=>d(Mt).tls.use_identity_as_username=Ae),E(Fe,Qt)},Tn=wt(()=>k(d(Mt)));W(dn,Fe=>{d(Tn)&&Fe(ji)})}V(Fe=>{F(Ai,`Port ${d(Mt).port??""}`),Dg(Ni,Fe)},[()=>k(d(Mt))]),G("click",Oi,()=>w(kt)),Zt(si,()=>d(Mt).port,Fe=>d(Mt).port=Fe),Ho(Pi,()=>d(Mt).protocol,Fe=>d(Mt).protocol=Fe),Zt(oi,()=>d(Mt).bindAddress,Fe=>d(Mt).bindAddress=Fe),G("change",Ni,Fe=>D(d(Mt),Fe.target.checked)),E(Dt,mi)});var ri=b(Ot,2);{var Wt=Dt=>{var Mt=gJ();E(Dt,Mt)};W(ri,Dt=>{d(u).length===0&&Dt(Wt)})}E(ke,tt)};W(Ne,ke=>{d(t)===null&&!d(i)?ke(Lt):ke(Re,-1)})}V(()=>{te.disabled=d(n),F(J,d(n)?"Saving…":"Save"),le.disabled=d(a),F(we,d(a)?"Reloading…":"Apply & Reload")}),G("click",H,p),G("click",te,m),G("click",le,x),E(o,P),Rs()}Ks(["click","change"]);var fh=T('<div class="err svelte-9auejo"> </div>'),vJ=T('<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 class="card-actions svelte-9auejo"><a class="btn-download svelte-9auejo" download="ca.crt">Download ca.crt</a></div></div>'),bJ=T('<div class="empty svelte-9auejo">No local CA generated yet.</div>'),yJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Local Certificate Authority</h3> <button class="svelte-9auejo"> </button></div> <!></div>'),wJ=T('<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>'),SJ=T('<div class="empty svelte-9auejo">No managed server certificate yet. Generate one or configure paths manually in Listeners.</div>'),CJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Server Certificate</h3> <button class="svelte-9auejo"> </button></div> <!></div>'),xJ=T('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),kJ=T('<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>'),LJ=T('<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>'),IJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Trusted CA Certificates (capath)</h3> <button class="svelte-9auejo">+ Add CA cert</button></div> <!></div>'),DJ=T('<div class="empty svelte-9auejo">No client certificates issued yet.</div>'),EJ=T('<span class="badge-revoked svelte-9auejo">Revoked</span>'),TJ=T('<span class="badge-expired svelte-9auejo">Expired</span>'),PJ=T('<span class="badge-expiring svelte-9auejo">Expiring soon</span>'),MJ=T('<span class="badge-ok svelte-9auejo">Valid</span>'),NJ=T('<a class="btn-dl svelte-9auejo">.p12</a> <a class="btn-dl svelte-9auejo">.crt</a> <a class="btn-dl svelte-9auejo">.key</a> <button class="danger svelte-9auejo">Revoke</button>',1),RJ=T('<tr><td class="mono svelte-9auejo"> </td><td class="mono small svelte-9auejo"> </td><td class="svelte-9auejo"> </td><td> </td><td class="svelte-9auejo"><!></td><td class="actions svelte-9auejo"><!></td></tr>'),AJ=T('<table class="svelte-9auejo"><thead><tr><th class="svelte-9auejo">CN</th><th class="svelte-9auejo">Serial</th><th class="svelte-9auejo">Issued</th><th class="svelte-9auejo">Expires</th><th class="svelte-9auejo">Status</th><th class="svelte-9auejo"></th></tr></thead><tbody></tbody></table>'),OJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Issued Client Certificates</h3> <button class="svelte-9auejo">+ Issue cert</button></div> <!></div>'),FJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate Local CA</h3> <label class="svelte-9auejo">Common Name<input 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">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),HJ=T('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Server cert generated</p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Cert path</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Key path</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd></dl> <p class="hint svelte-9auejo">Update your Listeners config to use these paths, then Apply & Reload.</p></div>'),WJ=T('<button class="btn-primary svelte-9auejo"> </button>'),BJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate Server Certificate</h3> <label class="svelte-9auejo">Common Name (hostname)<input placeholder="mybroker.local" class="svelte-9auejo"/></label> <label class="svelte-9auejo">SANs (comma-separated IPs/hostnames)<input placeholder="192.168.1.10, mybroker.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>'),zJ=T('<label class="svelte-9auejo">Common Name (device ID)<input placeholder="esp32-bedroom" 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">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),VJ=T('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Certificate issued for <strong> </strong></p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Serial</dt><dd class="mono svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">PKCS#12 passphrase</dt> <dd class="svelte-9auejo"><code class="passphrase svelte-9auejo"> </code> <small>(shown once — save it now)</small></dd></dl> <div class="download-row svelte-9auejo"><a class="btn-dl svelte-9auejo">Download .p12</a> <a class="btn-dl svelte-9auejo">Download .crt</a> <a class="btn-dl svelte-9auejo">Download .key</a> <a class="btn-dl svelte-9auejo" download="ca.crt">Download CA</a></div></div> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button></div>',1),jJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Issue Client Certificate</h3> <!></div></div>'),$J=T('<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> <label class="svelte-9auejo">PEM certificate <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></div></div>'),UJ=T('<div class="certs-page svelte-9auejo"><div class="panel-tabs svelte-9auejo"><button>Local CA</button> <button>Server Cert</button> <button>Trusted CAs</button> <button>Client Certs</button> <button class="reload-btn svelte-9auejo" title="Refresh">↺</button></div> <!> <!> <!></div> <!> <!> <!> <!>',1);function qJ(o,e){Ns(e,!0);let t=M("ca"),i=M(null),n=M(null),s=M(yi([])),r=M(yi([])),a=M(""),c=M(!1),u=M("she-broker-ca"),f=M(365),g=M(!1),p=M(""),w=M(!1),m=M(""),x=M(""),k=M(365),D=M(!1),P=M(""),A=M(null),j=M(!1),H=M(""),te=M(365),J=M(!1),le=M(""),we=M(null),Be=M(!1),ce=M(""),st=M(!1),at=M(""),me=M("");async function ct(){try{const[$e,$t,gi,Ii]=await Promise.allSettled([tq(),nq(),oq(),lq()]);$e.status==="fulfilled"&&y(i,$e.value.ca,!0),$t.status==="fulfilled"&&y(n,$t.value.server,!0),gi.status==="fulfilled"&&y(s,gi.value.certs,!0),Ii.status==="fulfilled"&&y(r,Ii.value.certs,!0),y(a,"")}catch($e){y(a,$e.message,!0)}}ao(()=>{ct()});async function gt(){y(p,""),y(g,!0);try{await iq({cn:d(u),days:d(f)}),y(c,!1),await ct()}catch($e){y(p,$e.message,!0)}finally{y(g,!1)}}async function Tt(){y(P,""),y(D,!0),y(A,null);try{const $e=d(x).split(",").map(gi=>gi.trim()).filter(Boolean),$t=await sq({cn:d(m),san:$e,days:d(k)});y(A,$t,!0),await ct()}catch($e){y(P,$e.message,!0)}finally{y(D,!1)}}async function Ne(){y(le,""),y(J,!0),y(we,null);try{const $e=await rq({cn:d(H),days:d(te)});y(we,$e,!0),y(H,""),await ct()}catch($e){y(le,$e.message,!0)}finally{y(J,!1)}}async function Lt($e){if(confirm(`Revoke certificate for "${$e.cn}" (serial ${$e.serial})?`))try{await aq($e.serial),await ct()}catch($t){y(me,$t.message,!0)}}async function Re(){y(at,""),y(st,!0);try{await cq(d(ce)),y(ce,""),y(Be,!1),await ct()}catch($e){y(at,$e.message,!0)}finally{y(st,!1)}}async function ke($e){if(confirm("Remove this trusted CA cert?"))try{await dq($e),await ct()}catch($t){y(me,$t.message,!0)}}function tt($e){const $t=new Date($e).getTime()-Date.now();return $t<0?"expired":$t<30*864e5?"expiring":""}function Ot($e){return new Date($e).toLocaleDateString()}var ri=UJ(),Wt=Et(ri),Dt=v(Wt),Mt=v(Dt);let kt;var mi=b(Mt,2);let di;var Li=b(mi,2);let Ai;var Oi=b(Li,2);let Hi;var Si=b(Oi,2),si=b(Dt,2);{var ui=$e=>{var $t=fh(),gi=v($t);V(()=>F(gi,d(a))),E($e,$t)};W(si,$e=>{d(a)&&$e(ui)})}var Pi=b(si,2);{var Vi=$e=>{var $t=fh(),gi=v($t);V(()=>F(gi,d(me))),E($e,$t)};W(Pi,$e=>{d(me)&&$e(Vi)})}var Mi=b(Pi,2);{var Je=$e=>{var $t=yJ(),gi=v($t),Ii=b(v(gi),2),qe=v(Ii),he=b(gi,2);{var K=Ce=>{var Pe=vJ(),rt=v(Pe),R=b(v(rt)),Q=v(R),Y=b(R,3),fe=v(Y),_e=b(Y,3),$=v(_e),Z=b(rt,2),ie=v(Z);V((Se,pt,Ae)=>{F(Q,d(i).cn),F(fe,d(i).fingerprint),Rt(_e,1,Se,"svelte-9auejo"),F($,pt),Wi(ie,"href",`data:application/x-pem-file;charset=utf-8,${Ae??""}`)},[()=>J_(tt(d(i).expires)),()=>Ot(d(i).expires),()=>encodeURIComponent(d(i).crt)]),E(Ce,Pe)},ae=Ce=>{var Pe=bJ();E(Ce,Pe)};W(he,Ce=>{d(i)?Ce(K):Ce(ae,-1)})}V(()=>F(qe,d(i)?"Regenerate CA":"Generate CA")),G("click",Ii,()=>{y(c,!0),y(p,"")}),E($e,$t)},oi=$e=>{var $t=CJ(),gi=v($t),Ii=b(v(gi),2),qe=v(Ii),he=b(gi,2);{var K=Ce=>{var Pe=wJ(),rt=v(Pe),R=b(v(rt)),Q=v(R),Y=b(R,3),fe=v(Y),_e=b(Y,3),$=v(_e);V((Z,ie)=>{F(Q,d(n).cn),F(fe,d(n).fingerprint),Rt(_e,1,Z,"svelte-9auejo"),F($,ie)},[()=>J_(tt(d(n).expires)),()=>Ot(d(n).expires)]),E(Ce,Pe)},ae=Ce=>{var Pe=SJ();E(Ce,Pe)};W(he,Ce=>{d(n)?Ce(K):Ce(ae,-1)})}V(()=>F(qe,d(n)?"Regenerate":"Generate server cert")),G("click",Ii,()=>{y(w,!0),y(P,""),y(A,null)}),E($e,$t)},hi=$e=>{var $t=IJ(),gi=v($t),Ii=b(v(gi),2),qe=b(gi,2);{var he=ae=>{var Ce=xJ();E(ae,Ce)},K=ae=>{var Ce=LJ(),Pe=b(v(Ce));_i(Pe,21,()=>d(r),on,(rt,R)=>{var Q=kJ(),Y=v(Q),fe=v(Y),_e=b(Y),$=v(_e),Z=b(_e),ie=v(Z),Se=b(Z),pt=v(Se);V((Ae,Ie,ot)=>{F(fe,d(R).cn),F($,`${Ae??""}…`),Rt(Z,1,Ie,"svelte-9auejo"),F(ie,ot)},[()=>d(R).fingerprint.slice(0,29),()=>J_(tt(d(R).expires)),()=>Ot(d(R).expires)]),G("click",pt,()=>ke(d(R).fingerprint)),E(rt,Q)}),E(ae,Ce)};W(qe,ae=>{d(r).length===0?ae(he):ae(K,-1)})}G("click",Ii,()=>{y(Be,!0),y(at,""),y(ce,"")}),E($e,$t)},xi=$e=>{var $t=OJ(),gi=v($t),Ii=b(v(gi),2),qe=b(gi,2);{var he=ae=>{var Ce=DJ();E(ae,Ce)},K=ae=>{var Ce=AJ(),Pe=b(v(Ce));_i(Pe,21,()=>d(s),on,(rt,R)=>{var Q=RJ(),Y=v(Q),fe=v(Y),_e=b(Y),$=v(_e),Z=b(_e),ie=v(Z),Se=b(Z),pt=v(Se),Ae=b(Se),Ie=v(Ae);{var ot=ft=>{var Xe=EJ();E(ft,Xe)},It=ft=>{var Xe=TJ();E(ft,Xe)},St=wt(()=>tt(d(R).expires)==="expired"),ni=ft=>{var Xe=PJ();E(ft,Xe)},ei=wt(()=>tt(d(R).expires)==="expiring"),se=ft=>{var Xe=MJ();E(ft,Xe)};W(Ie,ft=>{d(R).revoked?ft(ot):d(St)?ft(It,1):d(ei)?ft(ni,2):ft(se,-1)})}var Le=b(Ae),lt=v(Le);{var Ct=ft=>{var Xe=NJ(),Ft=Et(Xe),ai=b(Ft,2),bi=b(ai,2),Di=b(bi,2);V((fn,Cn,un)=>{Wi(Ft,"href",fn),Wi(Ft,"download",`${d(R).cn??""}.p12`),Wi(ai,"href",Cn),Wi(ai,"download",`${d(R).cn??""}.crt`),Wi(bi,"href",un),Wi(bi,"download",`${d(R).cn??""}.key`)},[()=>Qc(d(R).serial,"p12"),()=>Qc(d(R).serial,"crt"),()=>Qc(d(R).serial,"key")]),G("click",Di,()=>Lt(d(R))),E(ft,Xe)};W(lt,ft=>{d(R).revoked||ft(Ct)})}V((ft,Xe,Ft)=>{F(fe,d(R).cn),F($,d(R).serial),F(ie,ft),Rt(Se,1,Xe,"svelte-9auejo"),F(pt,Ft)},[()=>new Date(d(R).issued).toLocaleDateString(),()=>J_(d(R).revoked?"":tt(d(R).expires)),()=>Ot(d(R).expires)]),E(rt,Q)}),E(ae,Ce)};W(qe,ae=>{d(s).length===0?ae(he):ae(K,-1)})}G("click",Ii,()=>{y(j,!0),y(le,""),y(we,null),y(H,""),y(te,365)}),E($e,$t)};W(Mi,$e=>{d(t)==="ca"?$e(Je):d(t)==="server"?$e(oi,1):d(t)==="trusted"?$e(hi,2):d(t)==="clients"&&$e(xi,3)})}var Ni=b(Wt,2);{var dn=$e=>{var $t=FJ(),gi=v($t),Ii=b(v(gi),2),qe=b(v(Ii)),he=b(Ii,2),K=b(v(he)),ae=b(he,2);{var Ce=Y=>{var fe=fh(),_e=v(fe);V(()=>F(_e,d(p))),E(Y,fe)};W(ae,Y=>{d(p)&&Y(Ce)})}var Pe=b(ae,2),rt=v(Pe),R=b(rt,2),Q=v(R);V(()=>{R.disabled=d(g)||!d(u),F(Q,d(g)?"Generating…":"Generate")}),Zt(qe,()=>d(u),Y=>y(u,Y)),Zt(K,()=>d(f),Y=>y(f,Y)),G("click",rt,()=>y(c,!1)),G("click",R,gt),E($e,$t)};W(Ni,$e=>{d(c)&&$e(dn)})}var ji=b(Ni,2);{var Tn=$e=>{var $t=BJ(),gi=v($t),Ii=b(v(gi),2),qe=b(v(Ii)),he=b(Ii,2),K=b(v(he)),ae=b(he,2),Ce=b(v(ae)),Pe=b(ae,2);{var rt=Z=>{var ie=fh(),Se=v(ie);V(()=>F(Se,d(P))),E(Z,ie)};W(Pe,Z=>{d(P)&&Z(rt)})}var R=b(Pe,2);{var Q=Z=>{var ie=HJ(),Se=b(v(ie),2),pt=b(v(Se)),Ae=v(pt),Ie=b(pt,3),ot=v(Ie),It=b(Ie,3),St=v(It);V(()=>{F(Ae,d(A).certPath),F(ot,d(A).keyPath),F(St,d(A).fingerprint)}),E(Z,ie)};W(R,Z=>{d(A)&&Z(Q)})}var Y=b(R,2),fe=v(Y),_e=b(fe,2);{var $=Z=>{var ie=WJ(),Se=v(ie);V(()=>{ie.disabled=d(D)||!d(m),F(Se,d(D)?"Generating…":"Generate")}),G("click",ie,Tt),E(Z,ie)};W(_e,Z=>{d(A)||Z($)})}Zt(qe,()=>d(m),Z=>y(m,Z)),Zt(K,()=>d(x),Z=>y(x,Z)),Zt(Ce,()=>d(k),Z=>y(k,Z)),G("click",fe,()=>y(w,!1)),E($e,$t)};W(ji,$e=>{d(w)&&$e(Tn)})}var Fe=b(ji,2);{var Qt=$e=>{var $t=jJ(),gi=v($t),Ii=b(v(gi),2);{var qe=K=>{var ae=zJ(),Ce=Et(ae),Pe=b(v(Ce)),rt=b(Ce,2),R=b(v(rt)),Q=b(rt,2);{var Y=ie=>{var Se=fh(),pt=v(Se);V(()=>F(pt,d(le))),E(ie,Se)};W(Q,ie=>{d(le)&&ie(Y)})}var fe=b(Q,2),_e=v(fe),$=b(_e,2),Z=v($);V(()=>{$.disabled=d(J)||!d(H),F(Z,d(J)?"Issuing…":"Issue")}),Zt(Pe,()=>d(H),ie=>y(H,ie)),Zt(R,()=>d(te),ie=>y(te,ie)),G("click",_e,()=>y(j,!1)),G("click",$,Ne),E(K,ae)},he=K=>{var ae=VJ(),Ce=Et(ae),Pe=v(Ce),rt=b(v(Pe)),R=v(rt),Q=b(Pe,2),Y=b(v(Q)),fe=v(Y),_e=b(Y,3),$=v(_e),Z=b(_e,3),ie=v(Z),Se=b(Z,4),pt=v(Se),Ae=v(pt),Ie=b(Q,2),ot=v(Ie),It=b(ot,2),St=b(It,2),ni=b(St,2),ei=b(Ce,2),se=v(ei);V((Le,lt,Ct,ft,Xe)=>{F(R,d(we).cn),F(fe,d(we).serial),F($,d(we).fingerprint),F(ie,Le),F(Ae,d(we).passphrase),Wi(ot,"href",lt),Wi(ot,"download",`${d(we).cn??""}.p12`),Wi(It,"href",Ct),Wi(It,"download",`${d(we).cn??""}.crt`),Wi(St,"href",ft),Wi(St,"download",`${d(we).cn??""}.key`),Wi(ni,"href",Xe)},[()=>Ot(d(we).expires),()=>Qc(d(we).serial,"p12"),()=>Qc(d(we).serial,"crt"),()=>Qc(d(we).serial,"key"),()=>Qc(d(we).serial,"ca")]),G("click",se,()=>y(j,!1)),E(K,ae)};W(Ii,K=>{d(we)?K(he,-1):K(qe)})}E($e,$t)};W(Fe,$e=>{d(j)&&$e(Qt)})}var fi=b(Fe,2);{var Ti=$e=>{var $t=$J(),gi=v($t),Ii=b(v(gi),2),qe=b(v(Ii)),he=b(Ii,2);{var K=R=>{var Q=fh(),Y=v(Q);V(()=>F(Y,d(at))),E(R,Q)};W(he,R=>{d(at)&&R(K)})}var ae=b(he,2),Ce=v(ae),Pe=b(Ce,2),rt=v(Pe);V(()=>{Pe.disabled=d(st)||!d(ce),F(rt,d(st)?"Adding…":"Add")}),Zt(qe,()=>d(ce),R=>y(ce,R)),G("click",Ce,()=>y(Be,!1)),G("click",Pe,Re),E($e,$t)};W(fi,$e=>{d(Be)&&$e(Ti)})}V(()=>{kt=Rt(Mt,1,"svelte-9auejo",null,kt,{active:d(t)==="ca"}),di=Rt(mi,1,"svelte-9auejo",null,di,{active:d(t)==="server"}),Ai=Rt(Li,1,"svelte-9auejo",null,Ai,{active:d(t)==="trusted"}),Hi=Rt(Oi,1,"svelte-9auejo",null,Hi,{active:d(t)==="clients"})}),G("click",Mt,()=>y(t,"ca")),G("click",mi,()=>y(t,"server")),G("click",Li,()=>y(t,"trusted")),G("click",Oi,()=>y(t,"clients")),G("click",Si,ct),E(o,ri),Rs()}Ks(["click"]);var _S=T('<div class="err svelte-17yczfe"> </div>'),GJ=T('<div class="ok svelte-17yczfe">Saved.</div>'),KJ=T('<label class="svelte-17yczfe">Public key (copy and install on the broker host) <div class="pubkey-row svelte-17yczfe"><textarea readonly="" rows="3" class="svelte-17yczfe"></textarea> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),ZJ=T('<label class="svelte-17yczfe">Install command (run on your local machine) <div class="pubkey-row svelte-17yczfe"><input readonly="" class="svelte-17yczfe"/> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),XJ=T("<span> </span>"),YJ=T(`<div class="ssh-page svelte-17yczfe"><!> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH / Remote Mode</h3> <p class="hint svelte-17yczfe">SSH is used only for file operations (mosquitto.conf, certificates). User/ACL management works without SSH as long as she is connected to the broker's MQTT port.</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 class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Identity file (private key) <input placeholder="~/.she/broker_id_ed25519" class="svelte-17yczfe"/></label></div> <!> <!> <div class="row svelte-17yczfe"><button class="btn-primary svelte-17yczfe"> </button></div></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH Keypair</h3> <p class="hint svelte-17yczfe">Generate a dedicated Ed25519 keypair for she to authenticate to the broker host. The private key is stored at <code class="svelte-17yczfe"> </code>.</p> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div> <!> <!> <!></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Test SSH Connection</h3> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button> <!></div></div></div>`);function JJ(o,e){Ns(e,!0);let t=M(yi({})),i=M(""),n=M(!1),s=M(!1),r=M(""),a=M(""),c=M(!1),u=M(""),f=M(!1),g=M(""),p=M(yi({}));ao(async()=>{try{y(p,await Dl(),!0);const Je=d(p).broker??{};y(t,Je.ssh??{},!0),d(t).port||(d(t).port=22),d(t).user||(d(t).user="she"),d(t).identityFile||(d(t).identityFile="~/.she/broker_id_ed25519")}catch(Je){y(i,Je.message,!0)}});async function w(){y(n,!0),y(r,""),y(s,!1);try{const Je=d(p).broker??{},oi={...d(p),broker:{...Je,ssh:d(t)}};await Zp(oi),y(s,!0),setTimeout(()=>y(s,!1),3e3)}catch(Je){y(r,Je.message,!0)}finally{y(n,!1)}}async function m(){y(c,!0),y(u,"");try{const Je=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),oi=await Je.json();if(!Je.ok)throw new Error(oi.error??Je.statusText);y(a,oi.publicKey,!0)}catch(Je){y(u,Je.message,!0)}finally{y(c,!1)}}async function x(){y(f,!0),y(g,"");try{const Je=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),oi=await Je.json();if(!Je.ok)throw new Error(oi.error??Je.statusText);y(g,oi.ok?"✓ Connection successful":"✗ "+(oi.error??"Failed"),!0)}catch(Je){y(g,"✗ "+Je.message)}finally{y(f,!1)}}function k(Je){navigator.clipboard.writeText(Je).catch(()=>{})}const D=wt(()=>d(t).identityFile&&d(t).user&&d(t).host?`ssh-copy-id -i ${d(t).identityFile}.pub ${d(t).user}@${d(t).host}`:"");var P=YJ(),A=v(P);{var j=Je=>{var oi=_S(),hi=v(oi);V(()=>F(hi,d(i))),E(Je,oi)};W(A,Je=>{d(i)&&Je(j)})}var H=b(A,2),te=b(v(H),4),J=v(te),le=b(v(J)),we=b(J,2),Be=b(v(we)),ce=b(we,2),st=b(v(ce)),at=b(ce,2),me=b(v(at)),ct=b(te,2);{var gt=Je=>{var oi=_S(),hi=v(oi);V(()=>F(hi,d(r))),E(Je,oi)};W(ct,Je=>{d(r)&&Je(gt)})}var Tt=b(ct,2);{var Ne=Je=>{var oi=GJ();E(Je,oi)};W(Tt,Je=>{d(s)&&Je(Ne)})}var Lt=b(Tt,2),Re=v(Lt),ke=v(Re),tt=b(H,2),Ot=b(v(tt),2),ri=b(v(Ot)),Wt=v(ri),Dt=b(Ot,2),Mt=v(Dt),kt=v(Mt),mi=b(Dt,2);{var di=Je=>{var oi=_S(),hi=v(oi);V(()=>F(hi,d(u))),E(Je,oi)};W(mi,Je=>{d(u)&&Je(di)})}var Li=b(mi,2);{var Ai=Je=>{var oi=KJ(),hi=b(v(oi)),xi=v(hi),Ni=b(xi,2);V(()=>UL(xi,d(a))),G("click",Ni,()=>k(d(a))),E(Je,oi)};W(Li,Je=>{d(a)&&Je(Ai)})}var Oi=b(Li,2);{var Hi=Je=>{var oi=ZJ(),hi=b(v(oi)),xi=v(hi),Ni=b(xi,2);V(()=>UL(xi,d(D))),G("click",Ni,()=>k(d(D))),E(Je,oi)};W(Oi,Je=>{d(D)&&Je(Hi)})}var Si=b(tt,2),si=b(v(Si),2),ui=v(si),Pi=v(ui),Vi=b(ui,2);{var Mi=Je=>{var oi=XJ();let hi;var xi=v(oi);V(Ni=>{hi=Rt(oi,1,"test-result svelte-17yczfe",null,hi,Ni),F(xi,d(g))},[()=>({ok:d(g).startsWith("✓"),fail:d(g).startsWith("✗")})]),E(Je,oi)};W(Vi,Je=>{d(g)&&Je(Mi)})}V(()=>{Re.disabled=d(n),F(ke,d(n)?"Saving…":"Save"),F(Wt,d(t).identityFile||"~/.she/broker_id_ed25519"),Mt.disabled=d(c),F(kt,d(c)?"Generating…":"Generate keypair"),ui.disabled=d(f)||!d(t).host,F(Pi,d(f)?"Testing…":"Test SSH connection")}),Zt(le,()=>d(t).host,Je=>d(t).host=Je),Zt(Be,()=>d(t).port,Je=>d(t).port=Je),Zt(st,()=>d(t).user,Je=>d(t).user=Je),Zt(me,()=>d(t).identityFile,Je=>d(t).identityFile=Je),G("click",Re,w),G("click",Mt,m),G("click",ui,x),E(o,P),Rs()}Ks(["click"]);var QJ=T('<div class="err svelte-d31be1"> </div>'),eQ=T('<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">Requires <code class="svelte-d31be1">mosquitto_ctrl</code> to be installed on this machine (comes with <code class="svelte-d31be1">mosquitto-clients</code>).</p> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Start</button></div></div>'),tQ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),iQ=T('<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>'),nQ=T('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),sQ=T(`<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-danger svelte-d31be1"> </button> <button class="skip-step svelte-d31be1">Skip (I'll restart manually)</button></div> <!></div>`),oQ=T('<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>'),rQ=T('<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>'),aQ=T('<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 lQ(o,e){Ns(e,!0);let t=M("intro"),i=M(""),n=M(!1),s=M("she-admin"),r=M(""),a=M("/etc/mosquitto"),c=M(null),u=M(!1),f=M(!1),g=M("she-admin"),p=M(""),w=M(!1);async function m(){y(n,!0),y(i,"");try{(await(await fetch("/she/broker/wizard/probe",{method:"POST",headers:{"Content-Type":"application/json"}})).json()).active?y(t,"done"):y(t,"config")}catch(me){y(i,me.message,!0)}finally{y(n,!1)}}async function x(){y(n,!0),y(i,"");try{const me=await fetch("/she/broker/wizard/bootstrap",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adminUsername:d(s),adminPassword:d(r)||void 0,configDir:d(a)})}),ct=await me.json();if(!me.ok||!ct.ok)throw new Error(ct.error??"Bootstrap failed");y(c,ct,!0);const gt=await Dl(),Tt=gt.broker??{};await Zp({...gt,broker:{...Tt,dynsec:{adminUsername:ct.adminUsername,adminPassword:ct.adminPassword}}}),y(t,"restart")}catch(me){y(i,me.message,!0)}finally{y(n,!1)}}async function k(){y(f,!0),y(i,"");try{await V7(),await new Promise(me=>setTimeout(me,2e3)),y(u,!0),y(t,"done")}catch(me){y(i,me.message,!0)}finally{y(f,!1)}}async function D(){y(w,!0),y(i,"");try{const me=await Dl(),ct=me.broker??{};await Zp({...me,broker:{...ct,dynsec:{adminUsername:d(g),adminPassword:d(p)}}}),y(t,"done")}catch(me){y(i,me.message,!0)}finally{y(w,!1)}}var P=aQ(),A=v(P),j=b(v(A),2),H=b(A,2);{var te=me=>{var ct=QJ(),gt=v(ct);V(()=>F(gt,d(i))),E(me,ct)};W(H,me=>{d(i)&&me(te)})}var J=b(H,2);{var le=me=>{var ct=eQ(),gt=b(v(ct),6),Tt=v(gt);V(()=>Tt.disabled=d(n)),G("click",Tt,()=>{y(t,"probe"),m()}),E(me,ct)},we=me=>{var ct=tQ(),gt=v(ct),Tt=v(gt);V(()=>F(Tt,d(n)?"Probing dynsec…":"Checking dynsec status…")),E(me,ct)},Be=me=>{var ct=iQ(),gt=b(v(ct),2),Tt=b(v(gt)),Ne=b(gt,2),Lt=b(v(Ne)),Re=b(Ne,2),ke=b(v(Re)),tt=b(Re,2),Ot=v(tt),ri=v(Ot);V(()=>{Ot.disabled=d(n)||!d(s),F(ri,d(n)?"Bootstrapping…":"Bootstrap dynsec")}),Zt(Tt,()=>d(s),Wt=>y(s,Wt)),Zt(Lt,()=>d(r),Wt=>y(r,Wt)),Zt(ke,()=>d(a),Wt=>y(a,Wt)),G("click",Ot,x),E(me,ct)},ce=me=>{var ct=sQ(),gt=b(v(ct),2),Tt=b(v(gt),3),Ne=v(Tt),Lt=b(gt,4),Re=v(Lt),ke=v(Re),tt=b(Re,2),Ot=b(Lt,2);{var ri=Wt=>{var Dt=nQ();E(Wt,Dt)};W(Ot,Wt=>{d(f)&&Wt(ri)})}V(()=>{F(Ne,d(c).confFilePath),Re.disabled=d(f),F(ke,d(f)?"Restarting…":"Restart mosquitto now")}),G("click",Re,k),G("click",tt,()=>{y(t,"done")}),E(me,ct)},st=me=>{var ct=oQ(),gt=b(v(ct),4),Tt=v(gt);G("click",Tt,function(...Ne){var Lt;(Lt=e.onDone)==null||Lt.apply(this,Ne)}),E(me,ct)},at=me=>{var ct=rQ(),gt=b(v(ct),2),Tt=b(v(gt)),Ne=b(gt,2),Lt=b(v(Ne)),Re=b(Ne,2),ke=v(Re),tt=b(ke,2),Ot=v(tt);V(()=>{tt.disabled=d(w)||!d(g)||!d(p),F(Ot,d(w)?"Saving…":"Save credentials")}),Zt(Tt,()=>d(g),ri=>y(g,ri)),Zt(Lt,()=>d(p),ri=>y(p,ri)),G("click",ke,()=>y(t,"intro")),G("click",tt,D),E(me,ct)};W(J,me=>{d(t)==="intro"?me(le):d(t)==="probe"?me(we,1):d(t)==="config"?me(Be,2):d(t)==="restart"&&d(c)?me(ce,3):d(t)==="done"?me(st,4):d(t)==="manual"&&me(at,5)})}G("click",j,()=>y(t,"manual")),E(o,P),Rs()}Ks(["click"]);var cQ=T('<div class="loading svelte-zeztkb">Loading…</div>'),dQ=T('<div class="error-banner svelte-zeztkb"> </div>'),uQ=T('<div class="status-badge ok svelte-zeztkb">Connected</div>'),hQ=T('<div class="status-badge err svelte-zeztkb">Disconnected</div>'),fQ=T('<button class="wizard-btn svelte-zeztkb">Run Setup Wizard</button>'),gQ=T('<div class="status-badge warn svelte-zeztkb">Not configured</div> <p class="hint svelte-zeztkb">Set <code class="svelte-zeztkb">broker.dynsec.adminUsername</code> and <code class="svelte-zeztkb">broker.dynsec.adminPassword</code> in Config to enable dynsec management.</p> <!>',1),pQ=T('<div class="status-grid svelte-zeztkb"><div class="status-card svelte-zeztkb"><h3 class="svelte-zeztkb">Dynamic Security</h3> <!></div> <div class="status-card svelte-zeztkb"><h3 class="svelte-zeztkb">Broker</h3> <dl class="svelte-zeztkb"><dt class="svelte-zeztkb">Version</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Uptime</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Clients connected</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Clients total</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Messages received</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Messages sent</dt> <dd class="svelte-zeztkb"> </dd></dl></div></div>'),_Q=T('<div class="tab-content svelte-zeztkb" style="padding-top:0"><!></div>'),mQ=T('<div class="tab-content svelte-zeztkb"><!></div> <!>',1),vQ=T('<div class="broker-page svelte-zeztkb"><div class="sub-nav svelte-zeztkb"><button>Status</button> <button>Users & Roles</button> <button>Listeners</button> <button>Certificates</button> <button>SSH / Remote</button></div> <!></div>');function bQ(o,e){Ns(e,!0);let t=M(!1),i=M("status"),n=M(null),s=M(""),r=M(!0);async function a(){try{y(n,await H7(),!0),y(s,"")}catch(ce){y(s,ce.message??"Failed to load broker status",!0)}finally{y(r,!1)}}ao(()=>{a();const ce=setInterval(a,1e4);return()=>clearInterval(ce)});function c(ce){var at;if(!((at=d(n))!=null&&at.sys))return"—";const st=d(n).sys[ce];return st?String(st.val??"—"):"—"}var u=vQ(),f=v(u),g=v(f);let p;var w=b(g,2);let m;var x=b(w,2);let k;var D=b(x,2);let P;var A=b(D,2);let j;var H=b(f,2);{var te=ce=>{var st=mQ(),at=Et(st),me=v(at);{var ct=Re=>{var ke=cQ();E(Re,ke)},gt=Re=>{var ke=dQ(),tt=v(ke);V(()=>F(tt,d(s))),E(Re,ke)},Tt=Re=>{var ke=pQ(),tt=v(ke),Ot=b(v(tt),2);{var ri=Mi=>{var Je=Vs(),oi=Et(Je);{var hi=Ni=>{var dn=uQ();E(Ni,dn)},xi=Ni=>{var dn=hQ();E(Ni,dn)};W(oi,Ni=>{d(n).dynsec.connected?Ni(hi):Ni(xi,-1)})}E(Mi,Je)},Wt=Mi=>{var Je=gQ(),oi=b(Et(Je),4);{var hi=xi=>{var Ni=fQ();G("click",Ni,()=>y(t,!0)),E(xi,Ni)};W(oi,xi=>{d(t)||xi(hi)})}E(Mi,Je)};W(Ot,Mi=>{d(n).dynsec.configured?Mi(ri):Mi(Wt,-1)})}var Dt=b(tt,2),Mt=b(v(Dt),2),kt=b(v(Mt),2),mi=v(kt),di=b(kt,4),Li=v(di),Ai=b(di,4),Oi=v(Ai),Hi=b(Ai,4),Si=v(Hi),si=b(Hi,4),ui=v(si),Pi=b(si,4),Vi=v(Pi);V((Mi,Je,oi,hi,xi,Ni)=>{F(mi,Mi),F(Li,Je),F(Oi,oi),F(Si,hi),F(ui,xi),F(Vi,Ni)},[()=>c("$SYS/broker/version"),()=>c("$SYS/broker/uptime"),()=>c("$SYS/broker/clients/connected"),()=>c("$SYS/broker/clients/total"),()=>c("$SYS/broker/messages/received"),()=>c("$SYS/broker/messages/sent")]),E(Re,ke)};W(me,Re=>{d(r)?Re(ct):d(s)?Re(gt,1):d(n)&&Re(Tt,2)})}var Ne=b(at,2);{var Lt=Re=>{var ke=_Q(),tt=v(ke);lQ(tt,{onDone:()=>{y(t,!1),a()}}),E(Re,ke)};W(Ne,Re=>{d(t)&&d(n)&&!d(n).dynsec.configured&&Re(Lt)})}E(ce,st)},J=ce=>{lJ(ce,{})},le=ce=>{mJ(ce,{})},we=ce=>{qJ(ce,{})},Be=ce=>{JJ(ce,{})};W(H,ce=>{d(i)==="status"?ce(te):d(i)==="users"?ce(J,1):d(i)==="listeners"?ce(le,2):d(i)==="certs"?ce(we,3):d(i)==="ssh"&&ce(Be,4)})}V(()=>{p=Rt(g,1,"svelte-zeztkb",null,p,{active:d(i)==="status"}),m=Rt(w,1,"svelte-zeztkb",null,m,{active:d(i)==="users"}),k=Rt(x,1,"svelte-zeztkb",null,k,{active:d(i)==="listeners"}),P=Rt(D,1,"svelte-zeztkb",null,P,{active:d(i)==="certs"}),j=Rt(A,1,"svelte-zeztkb",null,j,{active:d(i)==="ssh"})}),G("click",g,()=>y(i,"status")),G("click",w,()=>y(i,"users")),G("click",x,()=>y(i,"listeners")),G("click",D,()=>y(i,"certs")),G("click",A,()=>y(i,"ssh")),E(o,u),Rs()}Ks(["click"]);var yQ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),wQ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),SQ=T('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),CQ=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),xQ=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),kQ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),LQ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),IQ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),DQ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),EQ=T('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),TQ=T('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),PQ=T('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),MQ=T('<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>'),NQ=T('<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>'),RQ=T('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),AQ=T('<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),OQ=T('<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),FQ=T('<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>'),HQ=T('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),WQ=T('<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>'),BQ=T('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),zQ=T('<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>'),VQ=T('<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.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"><rect x="1" y="2" width="14" height="4" rx="1" class="svelte-1n46o8q"></rect><rect x="1" y="8" width="14" height="4" rx="1" class="svelte-1n46o8q"></rect><line x1="4" y1="4" x2="4" y2="4" class="svelte-1n46o8q"></line><circle cx="4" cy="4" r="0.8" fill="currentColor" stroke="none" class="svelte-1n46o8q"></circle><circle cx="4" cy="10" r="0.8" fill="currentColor" stroke="none" class="svelte-1n46o8q"></circle></svg> Broker</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>'),jQ=T('<div class="login-error svelte-1n46o8q"> </div>'),$Q=T('<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>'),UQ=T('<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>'),qQ=T('<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>'),GQ=T("<!> <!> <!> <!>",1);function KQ(o,e){Ns(e,!0);const t=["scripts","mqtt","matter","broker","db","logs","config","packages"];function i(){const kt=location.hash.slice(1);return t.includes(kt)?kt:"scripts"}let n=M(yi(i())),s=M(null),r=M(!1),a=M(!1),c=M(!1),u=M(!1),f=M("none"),g=M(""),p=M(!1),w=M(""),m=M(""),x=M(!1),k=M(!1);l7(()=>{y(p,!0)});async function D(){y(m,""),y(x,!0);try{await u7(d(w)),y(w,""),y(p,!1)}catch(kt){y(m,kt.message??"Login failed",!0)}finally{y(x,!1)}}async function P(){if(d(f)==="proxy"&&d(g)){window.location.href=d(g);return}await h7(),y(p,!0)}let A=M(null),j=M(!1),H=M(!1),te=M(!1),J=M(!1),le=M(yi([])),we=M(0),Be=M(yi([]));const ce=wt(()=>d(Be).filter(kt=>kt.online).length),st=wt(()=>d(Be).length===0?"none":d(ce)===d(Be).length?"all":d(ce)>0?"some":"offline");let at=M(!1),me=M(!1);async function ct(){if(!await d(A).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;y(j,!0);let kt;try{kt=(await Wg()).startedAt}catch{}try{await NR()}catch{}const mi=Date.now()+6e4;for(;Date.now()<mi;){await new Promise(di=>setTimeout(di,250));try{const di=await Wg();if(kt===void 0||di.startedAt!==kt){location.reload();return}}catch{}}location.reload()}async function gt(){y(c,!0);try{const kt=await v7();d(s)&&y(s,{...d(s),latestVersion:kt.latestVersion??void 0},!0)}catch{}finally{y(c,!1)}}async function Tt(){var di,Li;if(!await d(A).show(`Update to v${(di=d(s))==null?void 0:di.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;y(a,!1),y(u,!0);const kt=(Li=d(s))==null?void 0:Li.startedAt;try{await m7()}catch{}const mi=Date.now()+18e4;for(;Date.now()<mi;){await new Promise(Ai=>setTimeout(Ai,1e3));try{const Ai=await Wg();if(kt===void 0||Ai.startedAt!==kt){location.reload();return}}catch{y(u,!1),y(j,!0)}}location.reload()}function Ne(kt){y(n,kt,!0),location.hash=kt}ao(async()=>{location.hash||(location.hash=d(n));const kt=()=>{y(n,i(),!0)};window.addEventListener("hashchange",kt);try{const si=await d7();y(f,si.mode,!0),y(g,si.proxyLogoutUrl??"",!0),d(f)==="password"&&(await fetch("/she/scripts")).status===401&&y(p,!0)}catch{}y(k,!0);async function mi(){try{y(s,await Wg(),!0)}catch{}try{const[si,ui]=await Promise.all([OR(),Dl()]);y(le,Array.isArray(ui.pinnedPackages)?ui.pinnedPackages:[],!0),y(we,Object.keys(si).filter(Pi=>!d(le).includes(Pi)).length,!0)}catch{}}mi();const di=setInterval(mi,5e3),Li=kr("mqtt:status",si=>{si.connected===!1?(y(J,!0),y(H,!1),y(te,!1)):(y(J,!1),y(H,si.ready===!1),y(te,si.ready===!0))}),Ai=kr("matter:deviceList",si=>{Array.isArray(si.devices)&&y(Be,si.devices.map(ui=>({nodeId:String(ui.nodeId),online:!!ui.online})),!0)}),Oi=kr("matter:deviceStatus",si=>{if(si.nodeId===void 0)return;const ui=String(si.nodeId),Pi=!!si.online;y(Be,d(Be).map(Vi=>Vi.nodeId===ui?{...Vi,online:Pi}:Vi),!0)}),Hi=jR();y(at,Hi.some(si=>si.level==="error"),!0),y(me,!d(at)&&Hi.some(si=>si.level==="warn"),!0);const Si=kk(si=>{si.level==="error"?(y(at,!0),y(me,!1)):si.level==="warn"&&!d(at)&&y(me,!0)});return()=>{window.removeEventListener("hashchange",kt),clearInterval(di),Li(),Ai(),Oi(),Si()}});var Lt=GQ();cs("click",wP,()=>{d(r)&&y(r,!1),d(a)&&y(a,!1)});var Re=Et(Lt);{var ke=kt=>{var mi=VQ(),di=v(mi),Li=b(v(di),2);let Ai;var Oi=b(Li,2);let Hi;var Si=b(v(Oi),2);{var si=ge=>{var ve=yQ();V(()=>Wi(ve,"title",`${d(we)??""} package update${d(we)===1?"":"s"} available`)),E(ge,ve)};W(Si,ge=>{d(we)>0&&ge(si)})}var ui=b(Oi,2);let Pi;var Vi=b(v(ui),2);{var Mi=ge=>{var ve=wQ();E(ge,ve)},Je=ge=>{var ve=SQ();E(ge,ve)},oi=ge=>{var ve=CQ();E(ge,ve)};W(Vi,ge=>{d(J)?ge(Mi):d(H)?ge(Je,1):d(te)&&ge(oi,2)})}var hi=b(ui,2);let xi;var Ni=b(v(hi),2);{var dn=ge=>{var ve=xQ();E(ge,ve)},ji=ge=>{var ve=kQ();E(ge,ve)},Tn=ge=>{var ve=LQ();E(ge,ve)};W(Ni,ge=>{d(st)==="all"?ge(dn):d(st)==="some"?ge(ji,1):d(st)==="offline"&&ge(Tn,2)})}var Fe=b(hi,2);let Qt;var fi=b(Fe,2);let Ti;var $e=b(fi,2);let $t;var gi=b(v($e),2);{var Ii=ge=>{var ve=IQ();E(ge,ve)},qe=ge=>{var ve=DQ();E(ge,ve)};W(gi,ge=>{d(at)?ge(Ii):d(me)&&ge(qe,1)})}var he=b($e,4),K=b(v(he),2),ae=v(K),Ce=v(ae);Ce.nodeValue="v1.1.0 ";var Pe=b(Ce);{var rt=ge=>{var ve=EQ();E(ge,ve)};W(Pe,ge=>{var ve,vt;(ve=d(s))!=null&&ve.latestVersion&&!((vt=d(s))!=null&&vt.docker)&&ge(rt)})}var R=b(ae,2);{var Q=ge=>{var ve=NQ(),vt=v(ve),Ei=b(v(vt));Ei.textContent="v1.1.0";var Te=b(Ei,2);{var Ge=Oe=>{var De=TQ(),Bt=b(Et(De)),xt=v(Bt);V(()=>F(xt,`v${d(s).latestVersion??""}`)),E(Oe,De)},Ht=Oe=>{var De=PQ();E(Oe,De)};W(Te,Oe=>{var De;(De=d(s))!=null&&De.latestVersion?Oe(Ge):Oe(Ht,-1)})}var Qe=b(vt,2),bt=v(Qe);{var Gt=Oe=>{var De=MQ(),Bt=b(v(De));V(()=>F(Bt,` Update to v${d(s).latestVersion??""}`)),G("click",De,Tt),E(Oe,De)};W(bt,Oe=>{var De;(De=d(s))!=null&&De.latestVersion&&Oe(Gt)})}var q=b(bt,2),ne=v(q);let Ve;var et=b(ne);V(()=>{q.disabled=d(c),Ve=Rt(ne,0,"svelte-1n46o8q",null,Ve,{spinning:d(c)}),F(et,` ${d(c)?"Checking…":"Check for updates"}`)}),G("click",ve,Oe=>Oe.stopPropagation()),G("click",q,gt),E(ge,ve)};W(R,ge=>{var ve;d(a)&&!((ve=d(s))!=null&&ve.docker)&&ge(Q)})}var Y=b(K,2),fe=v(Y),_e=b(fe,2);{var $=ge=>{var ve=BQ(),vt=v(ve);{var Ei=bt=>{var Gt=FQ(),q=v(Gt);{var ne=_t=>{const mt=wt(()=>Math.floor((Date.now()-d(s).startedAt)/1e3)),Ze=wt(()=>Math.floor(d(mt)/86400)),Ut=wt(()=>Math.floor(d(mt)%86400/3600)),ti=wt(()=>Math.floor(d(mt)%3600/60));var ln=RQ(),Qi=b(Et(ln)),Dn=v(Qi);V(()=>F(Dn,`${d(Ze)>0?d(Ze)+"d ":""}${d(Ut)>0||d(Ze)>0?d(Ut)+"h ":""}${d(ti)??""}m`)),E(_t,ln)};W(q,_t=>{d(s).startedAt&&_t(ne)})}var Ve=b(q,3),et=v(Ve),Oe=b(Ve,3),De=v(Oe),Bt=b(Oe,3),xt=v(Bt),Ke=b(Bt,2);{var zt=_t=>{var mt=AQ(),Ze=b(Et(mt)),Ut=v(Ze),ti=b(Ze,3),ln=v(ti);V(()=>{F(Ut,d(s).matterNodes??0),F(ln,d(s).matterEndpoints??0)}),E(_t,mt)};W(Ke,_t=>{d(s).matterEnabled&&_t(zt)})}var it=b(Ke,2);{var Ee=_t=>{var mt=OQ(),Ze=b(Et(mt)),Ut=v(Ze),ti=b(Ze,3),ln=v(ti);V(()=>{F(Ut,d(s).dbDocs??"—"),F(ln,d(s).dbViews??"—")}),E(_t,mt)};W(it,_t=>{d(s).dbEnabled&&_t(Ee)})}var He=b(it,3),We=v(He),ze=b(He,3),Pt=v(ze),ye=b(ze,3),nt=v(ye);V(()=>{F(et,d(s).scripts),F(De,d(s).topics),F(xt,d(s).mqttMsgPerSec??"—"),F(We,d(s).handlers??"—"),F(Pt,d(s).memMb!=null?d(s).memMb+" MB":"—"),F(nt,d(s).cpuPercent!=null?d(s).cpuPercent+" %":"—")}),E(bt,Gt)},Te=bt=>{var Gt=HQ();E(bt,Gt)};W(vt,bt=>{d(s)?bt(Ei):bt(Te,-1)})}var Ge=b(vt,2),Ht=v(Ge);{var Qe=bt=>{var Gt=WQ();G("click",Gt,()=>{y(r,!1),ct()}),E(bt,Gt)};W(Ht,bt=>{var Gt;(Gt=d(s))!=null&&Gt.docker||bt(Qe)})}G("click",ve,bt=>bt.stopPropagation()),E(ge,ve)};W(_e,ge=>{d(r)&&ge($)})}var Z=b(Y,2);let ie;var Se=b(Z,2);{var pt=ge=>{var ve=zQ();G("click",ve,P),E(ge,ve)};W(Se,ge=>{d(f)==="password"&&ge(pt)})}var Ae=b(di,2),Ie=v(Ae);Ds(Jf(Ie,{}),ge=>y(A,ge,!0),()=>d(A));var ot=b(Ie,2);let It;var St=v(ot);{let ge=wt(()=>d(n)==="scripts");hK(St,{get active(){return d(ge)}})}var ni=b(ot,2);let ei;var se=v(ni);WY(se,{});var Le=b(ni,2);let lt;var Ct=v(Le);yY(Ct,{});var ft=b(Le,2);let Xe;var Ft=v(ft);ZX(Ft,{});var ai=b(ft,2);let bi;var Di=v(ai);bQ(Di,{});var fn=b(ai,2);let Cn;var un=v(fn);oX(un,{});var ki=b(fn,2);let gn;var z=v(ki);YK(z,{});var ee=b(ki,2);let Ue;var Ye=v(ee);tZ(Ye,{}),V(()=>{Ai=Rt(Li,1,"svelte-1n46o8q",null,Ai,{active:d(n)==="scripts"}),Hi=Rt(Oi,1,"svelte-1n46o8q",null,Hi,{active:d(n)==="packages"}),Pi=Rt(ui,1,"svelte-1n46o8q",null,Pi,{active:d(n)==="mqtt"}),xi=Rt(hi,1,"svelte-1n46o8q",null,xi,{active:d(n)==="matter"}),Qt=Rt(Fe,1,"svelte-1n46o8q",null,Qt,{active:d(n)==="broker"}),Ti=Rt(fi,1,"svelte-1n46o8q",null,Ti,{active:d(n)==="db"}),$t=Rt($e,1,"svelte-1n46o8q",null,$t,{active:d(n)==="logs"}),ie=Rt(Z,1,"nav-settings svelte-1n46o8q",null,ie,{active:d(n)==="config"}),It=Rt(ot,1,"page-wrap svelte-1n46o8q",null,It,{hidden:d(n)!=="scripts"}),ei=Rt(ni,1,"page-wrap svelte-1n46o8q",null,ei,{hidden:d(n)!=="packages"}),lt=Rt(Le,1,"page-wrap svelte-1n46o8q",null,lt,{hidden:d(n)!=="mqtt"}),Xe=Rt(ft,1,"page-wrap svelte-1n46o8q",null,Xe,{hidden:d(n)!=="matter"}),bi=Rt(ai,1,"page-wrap svelte-1n46o8q",null,bi,{hidden:d(n)!=="broker"}),Cn=Rt(fn,1,"page-wrap svelte-1n46o8q",null,Cn,{hidden:d(n)!=="db"}),gn=Rt(ki,1,"page-wrap svelte-1n46o8q",null,gn,{hidden:d(n)!=="config"}),Ue=Rt(ee,1,"page-wrap svelte-1n46o8q",null,Ue,{hidden:d(n)!=="logs"})}),G("click",Li,()=>Ne("scripts")),G("click",Oi,()=>Ne("packages")),G("click",ui,()=>Ne("mqtt")),G("click",hi,()=>Ne("matter")),G("click",Fe,()=>Ne("broker")),G("click",fi,()=>Ne("db")),G("click",$e,()=>{Ne("logs"),y(at,!1),y(me,!1)}),G("click",ae,ge=>{ge.stopPropagation(),y(a,!d(a)),y(r,!1)}),G("click",fe,ge=>{ge.stopPropagation(),y(r,!d(r)),y(a,!1)}),G("click",Z,()=>Ne("config")),E(kt,mi)};W(Re,kt=>{d(k)&&!d(p)&&kt(ke)})}var tt=b(Re,2);{var Ot=kt=>{var mi=$Q(),di=v(mi),Li=b(v(di),4),Ai=b(v(Li),2),Oi=b(Li,2);{var Hi=ui=>{var Pi=jQ(),Vi=v(Pi);V(()=>F(Vi,d(m))),E(ui,Pi)};W(Oi,ui=>{d(m)&&ui(Hi)})}var Si=b(Oi,2),si=v(Si);V(()=>{Ai.disabled=d(x),Si.disabled=d(x)||!d(w),F(si,d(x)?"Signing in…":"Sign in")}),cs("submit",di,ui=>{ui.preventDefault(),D()}),Zt(Ai,()=>d(w),ui=>y(w,ui)),E(kt,mi)};W(tt,kt=>{d(p)&&kt(Ot)})}var ri=b(tt,2);{var Wt=kt=>{var mi=UQ();E(kt,mi)};W(ri,kt=>{d(j)&&kt(Wt)})}var Dt=b(ri,2);{var Mt=kt=>{var mi=qQ();E(kt,mi)};W(Dt,kt=>{d(u)&&kt(Mt)})}E(o,Lt),Rs()}Ks(["click"]);IH(KQ,{target:document.getElementById("app")});export{tM as t};