smart-home-engine 0.23.5 → 0.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,225 @@
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-BgnpB8sV.js"])))=>i.map(i=>d[i]);
2
+ var sA=Object.defineProperty;var kL=o=>{throw TypeError(o)};var oA=(o,e,t)=>e in o?sA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Fi=(o,e,t)=>oA(o,typeof e!="symbol"?e+"":e,t),Hy=(o,e,t)=>e.has(o)||kL("Cannot "+t);var Q=(o,e,t)=>(Hy(o,e,"read from private field"),t?t.call(o):e.get(o)),Ii=(o,e,t)=>e.has(o)?kL("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),Di=(o,e,t,i)=>(Hy(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),yn=(o,e,t)=>(Hy(o,e,"access private method"),t);import{_ as zD,m as VD,l as vt,A as Ys,C as re,I as Cn,D as Lp,a as Yn,g as jD,M as Qe,b as ei,E as Or,c as M,r as en,d as hr,e as y,f as rA,h as mn,R as Pi,S as jt,i as Ns,j as ur,k as Wi,n as vi,o as se,p as ye,K as ts,q as ut,s as ze,t as rs,u as W,v as xi,O as va,w as ss,P as St,x as Wy,y as kp,z as UD,B as Xa,F as Fr,G as Fw,H as ms,U as nn,J as Wu,L as Ct,N as il,Q as aA,T as $s,V as Hw,W as lA,X as $D,$ as ht,Y as $i,Z as Hi,a0 as Tn,a1 as ci,a2 as Lo,a3 as Tf,a4 as We,a5 as qm,a6 as cA,a7 as dA,a8 as os,a9 as hA,aa as Hr,ab as Js,ac as Lt,ad as qD,ae as wn,af as uA,ag as gA,ah as Gs,ai as mg,aj as is,ak as Nb,al as zs,am as yc,an as d0,ao as Rb,ap as gs,aq as Bu,ar as fs,as as Ab,at as Ob,au as fA,av as Ip,aw as _g,ax as ul,ay as pA,az as vg,aA as mA,aB as h0,aC as _A,aD as vA,aE as IL,aF as Xn,aG as Ya,aH as Vs,aI as fi,aJ as qa,aK as bA,aL as Sa,aM as So,aN as hs,aO as Wr,aP as u0,aQ as as,aR as Gn,aS as v_,aT as gi,aU as KD,aV as yA,aW as g0,aX as Fb,aY as f0,aZ as p0,a_ as Gc,a$ as wA,b0 as m0,b1 as SA,b2 as _0,b3 as gl,b4 as fl,b5 as zu,b6 as Mf,b7 as co,b8 as Dp,b9 as b_,ba as By,bb as ln,bc as v0,bd as Ep,be as Hb,bf as CA,bg as GD,bh as Nf,bi as Vu,bj as Rf,bk as Pp,bl as Wb,bm as zi,bn as wc,bo as Tp,bp as xA,bq as LA,br as b0,bs as kA,bt as y_,bu as jo,bv as y0,bw as ju,bx as pl,by as bg,bz as Si,bA as Uu,bB as ZD,bC as Mp,bD as IA,bE as Zc,bF as nt,bG as DL,bH as Km,bI as XD,bJ as pr,bK as Tr,bL as gn,bM as $u,bN as or,bO as qu,bP as Pn,bQ as Af,bR as hh,bS as Ww,bT as YD,bU as JD,bV as QD,bW as w0,bX as no,bY as Ji,bZ as Np,b_ as eE,b$ as Ja,c0 as Bb,c1 as DA,c2 as Jh,c3 as EL,c4 as Rp,c5 as tE,c6 as Qh,c7 as EA,c8 as Jo,c9 as zb,ca as PA,cb as Qs,cc as Br,cd as Ap,ce as Of,cf as iE,cg as Wo,ch as Op,ci as Vb,cj as TA,ck as MA,cl as NA,cm as yg,cn as Ca,co as us,cp as RA,cq as S0,cr as AA,cs as OA,ct as PL,cu as FA,cv as Fp,cw as nl,cx as Bw,cy as qd,cz as sl,cA as HA,cB as ba,cC as rr,cD as bo,cE as TL,cF as As,cG as Hp,cH as hc,cI as xa,cJ as WA,cK as zr,cL as Ff,cM as jb,cN as nE,cO as BA,cP as zA,cQ as C0,cR as VA,cS as Hf,cT as jA,cU as Fl,cV as Wf,cW as ML,cX as UA,cY as $A,cZ as Ia,c_ as qA,c$ as x0,d0 as sE,d1 as oE,d2 as rE,d3 as aE,d4 as KA,d5 as GA,d6 as lE,d7 as cE,d8 as ZA,d9 as L0,da as XA,db as YA,dc as zn,dd as JA,de as k0,df as QA,dg as eu,dh as NL,di as eO,dj as tO,dk as iO,dl as nO,dm as sO,dn as oO,dp as Ku,dq as Ub,dr as zw,ds as rO,dt as aO,du as RL,dv as Vw,dw as lO,dx as AL,dy as zy,dz as cO,dA as dE,dB as dO,dC as hE,dD as jw,dE as hO,dF as uO,dG as gO,dH as uE,dI as gE,dJ as fO,dK as w_,dL as fE,dM as $b,dN as pO,dO as mO,dP as uc,dQ as I0,dR as _O,dS as OL,dT as FL,dU as vO,dV as tu,dW as pE,dX as bO,dY as yO,dZ as wO,d_ as SO,d$ as mE,e0 as _E,e1 as vE,e2 as bE,e3 as CO,e4 as ya,e5 as HL,e6 as xO,e7 as Wp,e8 as LO,e9 as Kg,ea as yE,eb as WL,ec as Bf,ed as wE,ee as S_,ef as kO,eg as SE,eh as IO,ei as CE,ej as DO,ek as EO,el as xE,em as LE,en as ol,eo as qb,ep as PO,eq as kE,er as Co,es as Xc,et as IE,eu as TO,ev as MO,ew as DE,ex as EE,ey as NO,ez as PE,eA as TE,eB as zf,eC as RO,eD as AO,eE as OO,eF as FO,eG as Og,eH as BL,eI as HO,eJ as WO,eK as BO,eL as C_,eM as ys,eN as zO,eO as Uw,eP as uh,eQ as VO,eR as $a,eS as jO,eT as UO,eU as ME,eV as $O,eW as hf,eX as qO,eY as KO,eZ as GO,e_ as ZO,e$ as zL,f0 as VL,f1 as jL,f2 as gh,f3 as D0,f4 as NE,f5 as $w,f6 as Gm,f7 as RE,f8 as x_,f9 as XO,fa as YO,fb as JO,fc as QO,fd as E0,fe as AE,ff as e2,fg as L_,fh as OE,fi as FE,fj as t2,fk as i2,fl as n2,fm as s2,fn as o2,fo as r2,fp as a2,fq as l2,fr as HE,fs as c2,ft as k_,fu as WE,fv as d2,fw as BE,fx as h2,fy as zE,fz as VE,fA as u2,fB as UL,fC as jE,fD as $L,fE as g2,fF as Vy,fG as qL,fH as f2,fI as p2,fJ as m2,fK as da,fL as gc,fM as _2,fN as KL,fO as Zm,fP as v2,fQ as Ka,fR as Kb,fS as qw,fT as b2,fU as UE,fV as $E,fW as Os,fX as GL,fY as mm,fZ as P0,f_ as y2,f$ as w2,g0 as S2,g1 as C2,g2 as x2,g3 as L2,g4 as k2,g5 as I2,g6 as ZL,g7 as D2,g8 as E2,g9 as P2,ga as Gu,gb as uf,gc as qE,gd as T2,ge as T0,gf as Xm,gg as _m,gh as jy,gi as M2,gj as N2,gk as KE,gl as R2,gm as M0,gn as A2,go as O2,gp as GE,gq as Gb,gr as F2,gs as I_,gt as N0,gu as R0,gv as A0,gw as ZE,gx as XE,gy as YE,gz as JE,gA as QE,gB as eP,gC as tP,gD as XL,gE as iP,gF as Ph,gG as H2,gH as W2,gI as B2,gJ as z2,gK as nP,gL as V2,gM as j2,gN as YL,gO as Kw,gP as $l,gQ as U2,gR as $2,gS as q2,gT as K2,gU as G2,gV as Z2,gW as JL,gX as O0,gY as Gw,gZ as X2,g_ as Zw,g$ as Y2,h0 as J2,h1 as Q2,h2 as eF,h3 as F0,h4 as sP,h5 as QL,h6 as ek,h7 as tF,h8 as iF,h9 as nF,ha as tk,hb as Uy,hc as sF,hd as oF,he as rF,hf as $y,hg as oP,hh as rP,hi as aP,hj as lP,hk as rl,hl as cP,hm as H0,hn as ik,ho as aF,hp as dP,hq as lF,hr as cF,hs as Zb,ht as Xb,hu as fh,hv as Yb,hw as Bp,hx as dF,hy as Jb,hz as hF,hA as uF,hB as gF,hC as hP,hD as Fg,hE as fF,hF as pF,hG as mF,hH as _F,hI as zp,hJ as vF,hK as uP,hL as gP,hM as fP,hN as Xw,hO as bF,hP as yF,hQ as wF,hR as SF,hS as CF,hT as Yw,hU as xF,hV as LF,hW as kF,hX as IF,hY as DF,hZ as EF,h_ as PF,h$ as TF,i0 as pP,i1 as MF,i2 as NF,i3 as RF,i4 as nk,i5 as AF,i6 as OF,i7 as Rc,i8 as Fa,i9 as FF,ia as HF}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 mP=!1;var W0=Array.isArray,WF=Array.prototype.indexOf,D_=Array.prototype.includes,Qb=Array.from,BF=Object.defineProperty,mu=Object.getOwnPropertyDescriptor,zF=Object.getOwnPropertyDescriptors,VF=Object.prototype,jF=Array.prototype,_P=Object.getPrototypeOf,sk=Object.isExtensible;const ey=()=>{};function UF(o){for(var e=0;e<o.length;e++)o[e]()}function vP(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function ok(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 Ws=2,Zu=4,ty=8,bP=1<<24,Mr=16,Ar=32,fc=64,Jw=128,cr=512,ws=1024,Is=2048,La=4096,oo=8192,dr=16384,wg=32768,Qw=1<<25,Xu=65536,E_=1<<17,$F=1<<18,Sg=1<<19,qF=1<<20,pa=1<<25,Kd=65536,P_=1<<21,_u=1<<22,ql=1<<23,Yc=Symbol("$state"),KF=Symbol("legacy props"),GF=Symbol(""),Ym=Symbol("attributes"),eS=Symbol("class"),tS=Symbol("style"),Gg=Symbol("text"),Jm=Symbol("form reset"),iy=new class extends Error{constructor(){super(...arguments);Fi(this,"name","StaleReactionError");Fi(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function yP(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function ZF(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function XF(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function YF(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function JF(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function QF(o){throw new Error("https://svelte.dev/e/effect_orphan")}function eH(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function tH(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function iH(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function nH(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function sH(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function oH(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const rH=1,aH=2,wP=4,lH=8,cH=16,dH=1,hH=4,uH=8,gH=16,fH=1,pH=2,bs=Symbol("uninitialized"),SP="http://www.w3.org/1999/xhtml",mH="http://www.w3.org/2000/svg",_H="http://www.w3.org/1998/Math/MathML";function vH(){console.warn("https://svelte.dev/e/derived_inert")}function bH(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function yH(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function CP(o){return o===this.v}function wH(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function xP(o){return!wH(o,this.v)}let SH=!1,Hs=null;function Yu(o){Hs=o}function Io(o,e=!1,t){Hs={p:Hs,i:!1,c:null,e:null,s:o,x:null,r:Qi,l:null}}function Do(o){var e=Hs,t=e.e;if(t!==null){e.e=null;for(var i of t)KP(i)}return o!==void 0&&(e.x=o),e.i=!0,Hs=e.p,o??{}}function LP(){return!0}let Wc=[];function kP(){var o=Wc;Wc=[],UF(o)}function Kl(o){if(Wc.length===0&&!ff){var e=Wc;queueMicrotask(()=>{e===Wc&&kP()})}Wc.push(o)}function CH(){for(;Wc.length>0;)kP()}function IP(o){var e=Qi;if(e===null)return Yi.f|=ql,o;if((e.f&wg)===0&&(e.f&Zu)===0)throw o;Hl(o,e)}function Hl(o,e){for(;e!==null;){if((e.f&Jw)!==0){if((e.f&wg)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const xH=-7169;function cs(o,e){o.f=o.f&xH|e}function B0(o){(o.f&cr)!==0||o.deps===null?cs(o,ws):cs(o,La)}function DP(o){if(o!==null)for(const e of o)(e.f&Ws)===0||(e.f&Kd)===0||(e.f^=Kd,DP(e.deps))}function EP(o,e,t){(o.f&Is)!==0?e.add(o):(o.f&La)!==0&&t.add(o),DP(o.deps),cs(o,ws)}let vm=!1;function LH(o){var e=vm;try{return vm=!1,[o(),vm]}finally{vm=e}}let qy=null,Th=null,di=null,gf=null,Rs=null,iS=null,ff=!1,Ky=!1,iu=null,Qm=null;var rk=0;let kH=1;var wu,Rl,jc,Su,Cu,xu,za,Lu,mo,bp,Va,Sr,ra,ku,Uc,Vn,nS,Zg,sS,PP,TP,qh,IH,Xg;const Bv=class Bv{constructor(){Ii(this,Vn);Fi(this,"id",kH++);Ii(this,wu,!1);Fi(this,"linked",!0);Ii(this,Rl,null);Ii(this,jc,null);Fi(this,"async_deriveds",new Map);Fi(this,"current",new Map);Fi(this,"previous",new Map);Ii(this,Su,new Set);Ii(this,Cu,new Set);Ii(this,xu,0);Ii(this,za,new Map);Ii(this,Lu,null);Ii(this,mo,[]);Ii(this,bp,[]);Ii(this,Va,new Set);Ii(this,Sr,new Set);Ii(this,ra,new Map);Ii(this,ku,new Set);Fi(this,"is_fork",!1);Ii(this,Uc,!1);Th===null?qy=Th=this:(Di(Th,jc,this),Di(this,Rl,Th)),Th=this}skip_effect(e){Q(this,ra).has(e)||Q(this,ra).set(e,{d:[],m:[]}),Q(this,ku).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=Q(this,ra).get(e);if(i){Q(this,ra).delete(e);for(var n of i.d)cs(n,Is),t(n);for(n of i.m)cs(n,La),t(n)}Q(this,ku).add(e)}capture(e,t,i=!1){e.v!==bs&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&ql)===0&&(this.current.set(e,[t,i]),Rs==null||Rs.set(e,t)),this.is_fork||(e.v=t)}activate(){di=this}deactivate(){di=null,Rs=null}flush(){try{Ky=!0,di=this,yn(this,Vn,Zg).call(this)}finally{rk=0,iS=null,iu=null,Qm=null,Ky=!1,di=null,Rs=null,Jc.clear()}}discard(){var e;for(const t of Q(this,Cu))t(this);Q(this,Cu).clear(),yn(this,Vn,Xg).call(this),(e=Q(this,Lu))==null||e.resolve()}register_created_effect(e){Q(this,bp).push(e)}increment(e,t){if(Di(this,xu,Q(this,xu)+1),e){let i=Q(this,za).get(t)??0;Q(this,za).set(t,i+1)}}decrement(e,t){if(Di(this,xu,Q(this,xu)-1),e){let i=Q(this,za).get(t)??0;i===1?Q(this,za).delete(t):Q(this,za).set(t,i-1)}Q(this,Uc)||(Di(this,Uc,!0),Kl(()=>{Di(this,Uc,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)Q(this,Va).add(i);for(const i of t)Q(this,Sr).add(i);e.clear(),t.clear()}oncommit(e){Q(this,Su).add(e)}ondiscard(e){Q(this,Cu).add(e)}settled(){return(Q(this,Lu)??Di(this,Lu,vP())).promise}static ensure(){if(di===null){const e=di=new Bv;!Ky&&!ff&&Kl(()=>{Q(e,wu)||e.flush()})}return di}apply(){{Rs=null;return}}schedule(e){var n;if(iS=e,(n=e.b)!=null&&n.is_pending&&(e.f&(Zu|ty|bP))!==0&&(e.f&wg)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(iu!==null&&t===Qi&&(Yi===null||(Yi.f&Ws)===0))return;if((i&(fc|Ar))!==0){if((i&ws)===0)return;t.f^=ws}}Q(this,mo).push(t)}};wu=new WeakMap,Rl=new WeakMap,jc=new WeakMap,Su=new WeakMap,Cu=new WeakMap,xu=new WeakMap,za=new WeakMap,Lu=new WeakMap,mo=new WeakMap,bp=new WeakMap,Va=new WeakMap,Sr=new WeakMap,ra=new WeakMap,ku=new WeakMap,Uc=new WeakMap,Vn=new WeakSet,nS=function(){if(this.is_fork)return!0;for(const i of Q(this,za).keys()){for(var e=i,t=!1;e.parent!==null;){if(Q(this,ra).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},Zg=function(){var c,h,g,f;Di(this,wu,!0),rk++>1e3&&(yn(this,Vn,Xg).call(this),EH());for(const p of Q(this,Va))Q(this,Sr).delete(p),cs(p,Is),this.schedule(p);for(const p of Q(this,Sr))cs(p,La),this.schedule(p);const e=Q(this,mo);Di(this,mo,[]),this.apply();var t=iu=[],i=[],n=Qm=[];for(const p of e)try{yn(this,Vn,sS).call(this,p,t,i)}catch(v){throw RP(p),yn(this,Vn,nS).call(this)||this.discard(),v}if(di=null,n.length>0){var s=Bv.ensure();for(const p of n)s.schedule(p)}if(iu=null,Qm=null,yn(this,Vn,nS).call(this)){yn(this,Vn,qh).call(this,i),yn(this,Vn,qh).call(this,t);for(const[p,v]of Q(this,ra))NP(p,v);n.length>0&&yn(c=di,Vn,Zg).call(c);return}const r=yn(this,Vn,PP).call(this);if(r){yn(this,Vn,qh).call(this,i),yn(this,Vn,qh).call(this,t),yn(h=r,Vn,TP).call(h,this);return}Q(this,Va).clear(),Q(this,Sr).clear();for(const p of Q(this,Su))p(this);Q(this,Su).clear(),gf=this,ak(i),ak(t),gf=null,(g=Q(this,Lu))==null||g.resolve();var a=di;if(Q(this,xu)===0&&(Q(this,mo).length===0||a!==null)&&yn(this,Vn,Xg).call(this),Q(this,mo).length>0)if(a!==null){const p=a;Q(p,mo).push(...Q(this,mo).filter(v=>!Q(p,mo).includes(v)))}else a=this;a!==null&&yn(f=a,Vn,Zg).call(f)},sS=function(e,t,i){e.f^=ws;for(var n=e.first;n!==null;){var s=n.f,r=(s&(Ar|fc))!==0,a=r&&(s&ws)!==0,c=a||(s&oo)!==0||Q(this,ra).has(n);if(!c&&n.fn!==null){r?n.f^=ws:(s&Zu)!==0?t.push(n):jp(n)&&((s&Mr)!==0&&Q(this,Sr).add(n),Qu(n));var h=n.first;if(h!==null){n=h;continue}}for(;n!==null;){var g=n.next;if(g!==null){n=g;break}n=n.parent}}},PP=function(){for(var e=Q(this,Rl);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=Q(e,Rl)}return null},TP=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(Q(e,Va),Q(e,Sr));const t=n=>{var s=n.reactions;if(s!==null)for(const c of s){var r=c.f;if((r&Ws)!==0)t(c);else{var a=c;r&(_u|Mr)&&!this.async_deriveds.has(a)&&(Q(this,Sr).delete(a),cs(a,Is),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),yn(i=e,Vn,Xg).call(i),di=this,yn(this,Vn,Zg).call(this)},qh=function(e){for(var t=0;t<e.length;t+=1)EP(e[t],Q(this,Va),Q(this,Sr))},IH=function(){var g;for(let f=qy;f!==null;f=Q(f,jc)){var e=f.id<this.id,t=[];for(const[p,[v,_]]of this.current){if(f.current.has(p)){var i=f.current.get(p)[0];if(e&&v!==i)f.current.set(p,[v,_]);else continue}t.push(p)}if(e)for(const[p,v]of this.async_deriveds){const _=f.async_deriveds.get(p);_&&v.promise.then(_.resolve).catch(_.reject)}if(Q(f,wu)){var n=[...f.current.keys()].filter(p=>!f.current.get(p)[1]&&!this.current.has(p));if(n.length===0)e&&f.discard();else if(t.length>0){if(e)for(const p of Q(this,ku))f.unskip_effect(p,v=>{var _;(v.f&(Mr|_u))!==0?f.schedule(v):yn(_=f,Vn,qh).call(_,[v])});f.activate();var s=new Set,r=new Map;for(var a of t)MP(a,n,s,r);r=new Map;var c=[...f.current].filter(([p,v])=>{const _=this.current.get(p);return _?_[0]!==v[0]||_[1]!==v[1]:!0}).map(([p])=>p);if(c.length>0)for(const p of Q(this,bp))(p.f&(dr|oo|E_))===0&&z0(p,c,r)&&((p.f&(_u|Mr))!==0?(cs(p,Is),f.schedule(p)):Q(f,Va).add(p));if(Q(f,mo).length>0&&!Q(f,Uc)){f.apply();for(var h of Q(f,mo))yn(g=f,Vn,sS).call(g,h,[],[]);Di(f,mo,[])}f.deactivate()}}}},Xg=function(){if(this.linked){var e=Q(this,Rl),t=Q(this,jc);e===null?qy=t:Di(e,jc,t),t===null?Th=e:Di(t,Rl,e),this.linked=!1}};let Gd=Bv;function DH(o){var e=ff;ff=!0;try{for(var t;;){if(CH(),di===null)return t;di.flush()}}finally{ff=e}}function EH(){try{eH()}catch(o){Hl(o,iS)}}let br=null;function ak(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(dr|oo))===0&&jp(i)&&(br=new Set,Qu(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&XP(i),(br==null?void 0:br.size)>0)){Jc.clear();for(const n of br){if((n.f&(dr|oo))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)br.has(r)&&(br.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const c=s[a];(c.f&(dr|oo))===0&&Qu(c)}}br.clear()}}br=null}}function MP(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&Ws)!==0?MP(n,e,t,i):(s&(_u|Mr))!==0&&(s&Is)===0&&z0(n,e,i)&&(cs(n,Is),V0(n))}}function z0(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(D_.call(e,n))return!0;if((n.f&Ws)!==0&&z0(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function V0(o){di.schedule(o)}function NP(o,e){if(!((o.f&Ar)!==0&&(o.f&ws)!==0)){(o.f&Is)!==0?e.d.push(o):(o.f&La)!==0&&e.m.push(o),cs(o,ws);for(var t=o.first;t!==null;)NP(t,e),t=t.next}}function RP(o){cs(o,ws);for(var e=o.first;e!==null;)RP(e),e=e.next}function PH(o){let e=0,t=Zd(0),i;return()=>{$0()&&(u(t),sy(()=>(e===0&&(i=_l(()=>o(()=>pf(t)))),e+=1,()=>{Kl(()=>{e-=1,e===0&&(i==null||i(),i=void 0,pf(t))})})))}}var TH=Xu|Sg;function MH(o,e,t,i){new NH(o,e,t,i)}var er,c0,tr,$c,_o,ir,to,Ao,ja,qc,Al,Iu,yp,wp,Ua,zv,ds,RH,AH,OH,oS,e_,t_,rS,aS;class NH{constructor(e,t,i,n){Ii(this,ds);Fi(this,"parent");Fi(this,"is_pending",!1);Fi(this,"transform_error");Ii(this,er);Ii(this,c0,null);Ii(this,tr);Ii(this,$c);Ii(this,_o);Ii(this,ir,null);Ii(this,to,null);Ii(this,Ao,null);Ii(this,ja,null);Ii(this,qc,0);Ii(this,Al,0);Ii(this,Iu,!1);Ii(this,yp,new Set);Ii(this,wp,new Set);Ii(this,Ua,null);Ii(this,zv,PH(()=>(Di(this,Ua,Zd(Q(this,qc))),()=>{Di(this,Ua,null)})));var s;Di(this,er,e),Di(this,tr,t),Di(this,$c,r=>{var a=Qi;a.b=this,a.f|=Jw,i(r)}),this.parent=Qi.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),Di(this,_o,G0(()=>{yn(this,ds,oS).call(this)},TH))}defer_effect(e){EP(e,Q(this,yp),Q(this,wp))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!Q(this,tr).pending}update_pending_count(e,t){yn(this,ds,rS).call(this,e,t),Di(this,qc,Q(this,qc)+e),!(!Q(this,Ua)||Q(this,Iu))&&(Di(this,Iu,!0),Kl(()=>{Di(this,Iu,!1),Q(this,Ua)&&Ju(Q(this,Ua),Q(this,qc))}))}get_effect_pending(){return Q(this,zv).call(this),u(Q(this,Ua))}error(e){if(!Q(this,tr).onerror&&!Q(this,tr).failed)throw e;di!=null&&di.is_fork?(Q(this,ir)&&di.skip_effect(Q(this,ir)),Q(this,to)&&di.skip_effect(Q(this,to)),Q(this,Ao)&&di.skip_effect(Q(this,Ao)),di.oncommit(()=>{yn(this,ds,aS).call(this,e)})):yn(this,ds,aS).call(this,e)}}er=new WeakMap,c0=new WeakMap,tr=new WeakMap,$c=new WeakMap,_o=new WeakMap,ir=new WeakMap,to=new WeakMap,Ao=new WeakMap,ja=new WeakMap,qc=new WeakMap,Al=new WeakMap,Iu=new WeakMap,yp=new WeakMap,wp=new WeakMap,Ua=new WeakMap,zv=new WeakMap,ds=new WeakSet,RH=function(){try{Di(this,ir,nr(()=>Q(this,$c).call(this,Q(this,er))))}catch(e){this.error(e)}},AH=function(e){const t=Q(this,tr).failed;t&&Di(this,Ao,nr(()=>{t(Q(this,er),()=>e,()=>()=>{})}))},OH=function(){const e=Q(this,tr).pending;e&&(this.is_pending=!0,Di(this,to,nr(()=>e(Q(this,er)))),Kl(()=>{var t=Di(this,ja,document.createDocumentFragment()),i=Qa();t.append(i),Di(this,ir,yn(this,ds,t_).call(this,()=>nr(()=>Q(this,$c).call(this,i)))),Q(this,Al)===0&&(Q(this,er).before(t),Di(this,ja,null),ed(Q(this,to),()=>{Di(this,to,null)}),yn(this,ds,e_).call(this,di))}))},oS=function(){try{if(this.is_pending=this.has_pending_snippet(),Di(this,Al,0),Di(this,qc,0),Di(this,ir,nr(()=>{Q(this,$c).call(this,Q(this,er))})),Q(this,Al)>0){var e=Di(this,ja,document.createDocumentFragment());X0(Q(this,ir),e);const t=Q(this,tr).pending;Di(this,to,nr(()=>t(Q(this,er))))}else yn(this,ds,e_).call(this,di)}catch(t){this.error(t)}},e_=function(e){this.is_pending=!1,e.transfer_effects(Q(this,yp),Q(this,wp))},t_=function(e){var t=Qi,i=Yi,n=Hs;ka(Q(this,_o)),gr(Q(this,_o)),Yu(Q(this,_o).ctx);try{return Gd.ensure(),e()}catch(s){return IP(s),null}finally{ka(t),gr(i),Yu(n)}},rS=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&yn(i=this.parent,ds,rS).call(i,e,t);return}Di(this,Al,Q(this,Al)+e),Q(this,Al)===0&&(yn(this,ds,e_).call(this,t),Q(this,to)&&ed(Q(this,to),()=>{Di(this,to,null)}),Q(this,ja)&&(Q(this,er).before(Q(this,ja)),Di(this,ja,null)))},aS=function(e){Q(this,ir)&&(xo(Q(this,ir)),Di(this,ir,null)),Q(this,to)&&(xo(Q(this,to)),Di(this,to,null)),Q(this,Ao)&&(xo(Q(this,Ao)),Di(this,Ao,null));var t=Q(this,tr).onerror;let i=Q(this,tr).failed;var n=!1,s=!1;const r=()=>{if(n){yH();return}n=!0,s&&oH(),Q(this,Ao)!==null&&ed(Q(this,Ao),()=>{Di(this,Ao,null)}),yn(this,ds,t_).call(this,()=>{yn(this,ds,oS).call(this)})},a=c=>{try{s=!0,t==null||t(c,r),s=!1}catch(h){Hl(h,Q(this,_o)&&Q(this,_o).parent)}i&&Di(this,Ao,yn(this,ds,t_).call(this,()=>{try{return nr(()=>{var h=Qi;h.b=this,h.f|=Jw,i(Q(this,er),()=>c,()=>r)})}catch(h){return Hl(h,Q(this,_o).parent),null}}))};Kl(()=>{var c;try{c=this.transform_error(e)}catch(h){Hl(h,Q(this,_o)&&Q(this,_o).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(a,h=>Hl(h,Q(this,_o)&&Q(this,_o).parent)):a(c)})};function FH(o,e,t,i){const n=Vf;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=Qi,a=HH(),c=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function h(p){if((r.f&dr)===0){a();try{i(p)}catch(v){Hl(v,r)}T_()}}var g=AP();if(t.length===0){c.then(()=>h(e.map(n))).finally(g);return}function f(){Promise.all(t.map(p=>WH(p))).then(p=>h([...e.map(n),...p])).catch(p=>Hl(p,r)).finally(g)}c?c.then(()=>{a(),f(),T_()}):f()}function HH(){var o=Qi,e=Yi,t=Hs,i=di;return function(s=!0){ka(o),gr(e),Yu(t),s&&(o.f&dr)===0&&(i==null||i.activate(),i==null||i.apply())}}function T_(o=!0){ka(null),gr(null),Yu(null),o&&(di==null||di.deactivate())}function AP(){var o=Qi,e=o.b,t=di,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 Vf(o){var e=Ws|Is;return Qi!==null&&(Qi.f|=Sg),{ctx:Hs,deps:null,effects:null,equals:CP,f:e,fn:o,reactions:null,rv:0,v:bs,wv:0,parent:Qi,ac:null}}const bm=Symbol("obsolete");function WH(o,e,t){let i=Qi;i===null&&ZF();var n=void 0,s=Zd(bs),r=!Yi,a=new Set;return YH(()=>{var v,_;var c=Qi,h=vP();n=h.promise;try{Promise.resolve(o()).then(h.resolve,w=>{w!==iy&&h.reject(w)}).finally(T_)}catch(w){h.reject(w),T_()}var g=di;if(r){if((c.f&wg)!==0)var f=AP();if((v=i.b)!=null&&v.is_rendered())(_=g.async_deriveds.get(c))==null||_.reject(bm);else for(const w of a.values())w.reject(bm);a.add(h),g.async_deriveds.set(c,h)}const p=(w,S=void 0)=>{f==null||f(),a.delete(h),S!==bm&&(g.activate(),S?(s.f|=ql,Ju(s,S)):((s.f&ql)!==0&&(s.f^=ql),Ju(s,w)),g.deactivate())};h.promise.then(p,w=>p(null,w||"unknown"))}),q0(()=>{for(const c of a)c.reject(bm)}),new Promise(c=>{function h(g){function f(){g===n?c(s):h(n)}g.then(f,f)}h(n)})}function st(o){const e=Vf(o);return QP(e),e}function OP(o){const e=Vf(o);return e.equals=xP,e}function BH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)xo(e[t])}}function j0(o){var e,t=Qi,i=o.parent;if(!al&&i!==null&&o.v!==bs&&(i.f&(dr|oo))!==0)return vH(),o.v;ka(i);try{o.f&=~Kd,BH(o),e=nT(o)}finally{ka(t)}return e}function FP(o){var e=j0(o);if(!o.equals(e)&&(o.wv=tT(),(!(di!=null&&di.is_fork)||o.deps===null)&&(di!==null?(di.capture(o,e,!0),gf==null||gf.capture(o,e,!0)):o.v=e,o.deps===null))){cs(o,ws);return}al||(Rs!==null?($0()||di!=null&&di.is_fork)&&Rs.set(o,e):B0(o))}function zH(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(iy),i.fn!==null&&(i.teardown=ey),i.ac=null,jf(i,0),Z0(i))}function HP(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&Qu(e)}let M_=new Set;const Jc=new Map;let WP=!1;function Zd(o,e){var t={f:0,v:o,reactions:null,equals:CP,rv:0,wv:0};return t}function V(o,e){const t=Zd(o);return QP(t),t}function VH(o,e=!1,t=!0){const i=Zd(o);return e||(i.equals=xP),i}function I(o,e,t=!1){Yi!==null&&(!Nr||(Yi.f&E_)!==0)&&LP()&&(Yi.f&(Ws|Mr|_u|E_))!==0&&(wa===null||!wa.has(o))&&sH();let i=t?wi(e):e;return Ju(o,i,Qm)}function Ju(o,e,t=null){if(!o.equals(e)){Jc.set(o,al?e:o.v);var i=Gd.ensure();if(i.capture(o,e),(o.f&Ws)!==0){const n=o;(o.f&Is)!==0&&j0(n),Rs===null&&B0(n)}o.wv=tT(),BP(o,Is,t),Qi!==null&&(Qi.f&ws)!==0&&(Qi.f&(Ar|fc))===0&&(Qo===null?QH([o]):Qo.push(o)),!i.is_fork&&M_.size>0&&!WP&&jH()}return e}function jH(){WP=!1;for(const o of M_){(o.f&ws)!==0&&cs(o,La);let e;try{e=jp(o)}catch{e=!0}e&&Qu(o)}M_.clear()}function lk(o,e=1){var t=u(o),i=e===1?t++:t--;return I(o,t),i}function pf(o){I(o,o.v+1)}function BP(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&Is)===0;if(c&&cs(r,e),(a&E_)!==0)M_.add(r);else if((a&Ws)!==0){var h=r;Rs==null||Rs.delete(h),(a&Kd)===0&&(a&cr&&(Qi===null||(Qi.f&P_)===0)&&(r.f|=Kd),BP(h,La,t))}else if(c){var g=r;(a&Mr)!==0&&br!==null&&br.add(g),t!==null?t.push(g):V0(g)}}}function wi(o){if(typeof o!="object"||o===null||Yc in o)return o;const e=_P(o);if(e!==VF&&e!==jF)return o;var t=new Map,i=W0(o),n=V(0),s=td,r=a=>{if(td===s)return a();var c=Yi,h=td;gr(null),uk(s);var g=a();return gr(c),uk(h),g};return i&&t.set("length",V(o.length)),new Proxy(o,{defineProperty(a,c,h){(!("value"in h)||h.configurable===!1||h.enumerable===!1||h.writable===!1)&&iH();var g=t.get(c);return g===void 0?r(()=>{var f=V(h.value);return t.set(c,f),f}):I(g,h.value,!0),!0},deleteProperty(a,c){var h=t.get(c);if(h===void 0){if(c in a){const g=r(()=>V(bs));t.set(c,g),pf(n)}}else I(h,bs),pf(n);return!0},get(a,c,h){var v;if(c===Yc)return o;var g=t.get(c),f=c in a;if(g===void 0&&(!f||(v=mu(a,c))!=null&&v.writable)&&(g=r(()=>{var _=wi(f?a[c]:bs),w=V(_);return w}),t.set(c,g)),g!==void 0){var p=u(g);return p===bs?void 0:p}return Reflect.get(a,c,h)},getOwnPropertyDescriptor(a,c){var h=Reflect.getOwnPropertyDescriptor(a,c);if(h&&"value"in h){var g=t.get(c);g&&(h.value=u(g))}else if(h===void 0){var f=t.get(c),p=f==null?void 0:f.v;if(f!==void 0&&p!==bs)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return h},has(a,c){var p;if(c===Yc)return!0;var h=t.get(c),g=h!==void 0&&h.v!==bs||Reflect.has(a,c);if(h!==void 0||Qi!==null&&(!g||(p=mu(a,c))!=null&&p.writable)){h===void 0&&(h=r(()=>{var v=g?wi(a[c]):bs,_=V(v);return _}),t.set(c,h));var f=u(h);if(f===bs)return!1}return g},set(a,c,h,g){var N;var f=t.get(c),p=c in a;if(i&&c==="length")for(var v=h;v<f.v;v+=1){var _=t.get(v+"");_!==void 0?I(_,bs):v in a&&(_=r(()=>V(bs)),t.set(v+"",_))}if(f===void 0)(!p||(N=mu(a,c))!=null&&N.writable)&&(f=r(()=>V(void 0)),I(f,wi(h)),t.set(c,f));else{p=f.v!==bs;var w=r(()=>wi(h));I(f,w)}var S=Reflect.getOwnPropertyDescriptor(a,c);if(S!=null&&S.set&&S.set.call(g,h),!p){if(i&&typeof c=="string"){var D=t.get("length"),P=Number(c);Number.isInteger(P)&&P>=D.v&&I(D,P+1)}pf(n)}return!0},ownKeys(a){u(n);var c=Reflect.ownKeys(a).filter(f=>{var p=t.get(f);return p===void 0||p.v!==bs});for(var[h,g]of t)g.v!==bs&&!(h in a)&&c.push(h);return c},setPrototypeOf(){nH()}})}function ck(o){try{if(o!==null&&typeof o=="object"&&Yc in o)return o[Yc]}catch{}return o}function UH(o,e){return Object.is(ck(o),ck(e))}var Qc,zP,VP,jP,UP;function $H(){if(Qc===void 0){Qc=window,zP=document,VP=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;jP=mu(e,"firstChild").get,UP=mu(e,"nextSibling").get,sk(o)&&(o[eS]=void 0,o[Ym]=null,o[tS]=void 0,o.__e=void 0),sk(t)&&(t[Gg]=void 0)}}function Qa(o=""){return document.createTextNode(o)}function ma(o){return jP.call(o)}function Vp(o){return UP.call(o)}function C(o,e){return ma(o)}function wt(o,e=!1){{var t=ma(o);return t instanceof Comment&&t.data===""?Vp(t):t}}function x(o,e=1,t=!1){let i=o;for(;e--;)i=Vp(i);return i}function qH(o){o.textContent=""}function $P(){return!1}function qP(o,e,t){return e==null||e===SP?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let dk=!1;function KH(){dk||(dk=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[Jm])==null||e.call(t)})},{capture:!0}))}function ny(o){var e=Yi,t=Qi;gr(null),ka(null);try{return o()}finally{gr(e),ka(t)}}function U0(o,e,t,i=t){o.addEventListener(e,()=>ny(t));const n=o[Jm];n?o[Jm]=()=>{n(),i(!0)}:o[Jm]=()=>i(!0),KH()}function GH(o){Qi===null&&(Yi===null&&QF(),JF()),al&&YF()}function ZH(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function ml(o,e){var t=Qi;t!==null&&(t.f&oo)!==0&&(o|=oo);var i={ctx:Hs,deps:null,nodes:null,f:o|Is|cr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};di==null||di.register_created_effect(i);var n=i;if((o&Zu)!==0)iu!==null?iu.push(i):Gd.ensure().schedule(i);else if(e!==null){try{Qu(i)}catch(r){throw xo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&Sg)===0&&(n=n.first,(o&Mr)!==0&&(o&Xu)!==0&&n!==null&&(n.f|=Xu))}if(n!==null&&(n.parent=t,t!==null&&ZH(n,t),Yi!==null&&(Yi.f&Ws)!==0&&(o&fc)===0)){var s=Yi;(s.effects??(s.effects=[])).push(n)}return i}function $0(){return Yi!==null&&!Nr}function q0(o){const e=ml(ty,null);return cs(e,ws),e.teardown=o,e}function Dn(o){GH();var e=Qi.f,t=!Yi&&(e&Ar)!==0&&Hs!==null&&!Hs.i;if(t){var i=Hs;(i.e??(i.e=[])).push(o)}else return KP(o)}function KP(o){return ml(Zu|qF,o)}function XH(o){Gd.ensure();const e=ml(fc|Sg,o);return(t={})=>new Promise(i=>{t.outro?ed(e,()=>{xo(e),i(void 0)}):(xo(e),i(void 0))})}function K0(o){return ml(Zu,o)}function YH(o){return ml(_u|Sg,o)}function sy(o,e=0){return ml(ty|e,o)}function X(o,e=[],t=[],i=[]){FH(i,e,t,n=>{ml(ty,()=>o(...n.map(u)))})}function G0(o,e=0){var t=ml(Mr|e,o);return t}function nr(o){return ml(Ar|Sg,o)}function GP(o){var e=o.teardown;if(e!==null){const t=al,i=Yi;hk(!0),gr(null);try{e.call(null)}finally{hk(t),gr(i)}}}function Z0(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&ny(()=>{n.abort(iy)});var i=t.next;(t.f&fc)!==0?t.parent=null:xo(t,e),t=i}}function JH(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&Ar)===0&&xo(e),e=t}}function xo(o,e=!0){var t=!1;(e||(o.f&$F)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(ZP(o.nodes.start,o.nodes.end),t=!0),cs(o,Qw),Z0(o,e&&!t),jf(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();GP(o),o.f^=Qw,o.f|=dr;var n=o.parent;n!==null&&n.first!==null&&XP(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function ZP(o,e){for(;o!==null;){var t=o===e?null:Vp(o);o.remove(),o=t}}function XP(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 ed(o,e,t=!0){var i=[];YP(o,i,!0);var n=()=>{t&&xo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function YP(o,e,t){if((o.f&oo)===0){o.f^=oo;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&fc)===0){var r=(n.f&Xu)!==0||(n.f&Ar)!==0&&(o.f&Mr)!==0;YP(n,e,r?t:!1)}n=s}}}function N_(o){JP(o,!0)}function JP(o,e){if((o.f&oo)!==0){o.f^=oo,(o.f&ws)===0&&(cs(o,Is),Gd.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&Xu)!==0||(t.f&Ar)!==0;JP(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 X0(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:Vp(t);e.append(t),t=n}}let i_=!1,al=!1;function hk(o){al=o}let Yi=null,Nr=!1;function gr(o){Yi=o}let Qi=null;function ka(o){Qi=o}let wa=null;function QP(o){Yi!==null&&(wa??(wa=new Set)).add(o)}let vo=null,No=0,Qo=null;function QH(o){Qo=o}let eT=1,Bc=0,td=Bc;function uk(o){td=o}function tT(){return++eT}function jp(o){var e=o.f;if((e&Is)!==0)return!0;if(e&Ws&&(o.f&=~Kd),(e&La)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(jp(s)&&FP(s),s.wv>o.wv)return!0}(e&cr)!==0&&Rs===null&&cs(o,ws)}return!1}function iT(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&Ws)!==0?iT(s,e,!1):e===s&&(t?cs(s,Is):(s.f&ws)!==0&&cs(s,La),V0(s))}}function nT(o){var w;var e=vo,t=No,i=Qo,n=Yi,s=wa,r=Hs,a=Nr,c=td,h=o.f;vo=null,No=0,Qo=null,Yi=(h&(Ar|fc))===0?o:null,wa=null,Yu(o.ctx),Nr=!1,td=++Bc,o.ac!==null&&(ny(()=>{o.ac.abort(iy)}),o.ac=null);try{o.f|=P_;var g=o.fn,f=g();o.f|=wg;var p=o.deps,v=di==null?void 0:di.is_fork;if(vo!==null){var _;if(v||jf(o,No),p!==null&&No>0)for(p.length=No+vo.length,_=0;_<vo.length;_++)p[No+_]=vo[_];else o.deps=p=vo;if($0()&&(o.f&cr)!==0)for(_=No;_<p.length;_++)((w=p[_]).reactions??(w.reactions=[])).push(o)}else!v&&p!==null&&No<p.length&&(jf(o,No),p.length=No);if(LP()&&Qo!==null&&!Nr&&p!==null&&(o.f&(Ws|La|Is))===0)for(_=0;_<Qo.length;_++)iT(Qo[_],o);if(n!==null&&n!==o){if(Bc++,n.deps!==null)for(let S=0;S<t;S+=1)n.deps[S].rv=Bc;if(e!==null)for(const S of e)S.rv=Bc;Qo!==null&&(i===null?i=Qo:i.push(...Qo))}return(o.f&ql)!==0&&(o.f^=ql),f}catch(S){return IP(S)}finally{o.f^=P_,vo=e,No=t,Qo=i,Yi=n,wa=s,Yu(r),Nr=a,td=c}}function eW(o,e){let t=e.reactions;if(t!==null){var i=WF.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&Ws)!==0&&(vo===null||!D_.call(vo,e))){var s=e;(s.f&cr)!==0&&(s.f^=cr,s.f&=~Kd),s.v!==bs&&B0(s),zH(s),jf(s,0)}}function jf(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)eW(o,t[i])}function Qu(o){var e=o.f;if((e&dr)===0){cs(o,ws);var t=Qi,i=i_;Qi=o,i_=!0;try{(e&(Mr|bP))!==0?JH(o):Z0(o),GP(o);var n=nT(o);o.teardown=typeof n=="function"?n:null,o.wv=eT;var s;mP&&SH&&(o.f&Is)!==0&&o.deps}finally{i_=i,Qi=t}}}async function lS(){await Promise.resolve(),DH()}function u(o){var e=o.f,t=(e&Ws)!==0;if(Yi!==null&&!Nr){var i=Qi!==null&&(Qi.f&dr)!==0;if(!i&&(wa===null||!wa.has(o))){var n=Yi.deps;if((Yi.f&P_)!==0)o.rv<Bc&&(o.rv=Bc,vo===null&&n!==null&&n[No]===o?No++:vo===null?vo=[o]:vo.push(o));else{Yi.deps??(Yi.deps=[]),D_.call(Yi.deps,o)||Yi.deps.push(o);var s=o.reactions;s===null?o.reactions=[Yi]:D_.call(s,Yi)||s.push(Yi)}}}if(al&&Jc.has(o))return Jc.get(o);if(t){var r=o;if(al){var a=r.v;return((r.f&ws)===0&&r.reactions!==null||oT(r))&&(a=j0(r)),Jc.set(r,a),a}var c=(r.f&cr)===0&&!Nr&&Yi!==null&&(i_||(Yi.f&cr)!==0),h=(r.f&wg)===0;jp(r)&&(c&&(r.f|=cr),FP(r)),c&&!h&&(HP(r),sT(r))}if(Rs!=null&&Rs.has(o))return Rs.get(o);if((o.f&ql)!==0)throw o.v;return o.v}function sT(o){if(o.f|=cr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&Ws)!==0&&(e.f&cr)===0&&(HP(e),sT(e))}function oT(o){if(o.v===bs)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(Jc.has(e)||(e.f&Ws)!==0&&oT(e))return!0;return!1}function _l(o){var e=Nr;try{return Nr=!0,o()}finally{Nr=e}}const tW=["touchstart","touchmove"];function iW(o){return tW.includes(o)}const zc=Symbol("events"),rT=new Set,cS=new Set;function nW(o,e,t,i={}){function n(s){if(i.capture||dS.call(e,s),!s.cancelBubble)return ny(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?Kl(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function es(o,e,t,i,n){var s={capture:i,passive:n},r=nW(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&q0(()=>{e.removeEventListener(o,r,s)})}function oe(o,e,t){(e[zc]??(e[zc]={}))[o]=t}function mr(o){for(var e=0;e<o.length;e++)rT.add(o[e]);for(var t of cS)t(o)}let gk=null;function dS(o){var w,S;var e=this,t=e.ownerDocument,i=o.type,n=((w=o.composedPath)==null?void 0:w.call(o))||[],s=n[0]||o.target;gk=o;var r=0,a=gk===o&&o[zc];if(a){var c=n.indexOf(a);if(c!==-1&&(e===document||e===window)){o[zc]=e;return}var h=n.indexOf(e);if(h===-1)return;c<=h&&(r=c)}if(s=n[r]||o.target,s!==e){BF(o,"currentTarget",{configurable:!0,get(){return s||t}});var g=Yi,f=Qi;gr(null),ka(null);try{for(var p,v=[];s!==null&&s!==e;){try{var _=(S=s[zc])==null?void 0:S[i];_!=null&&(!s.disabled||o.target===s)&&_.call(s,o)}catch(D){p?v.push(D):p=D}if(o.cancelBubble)break;r++,s=r<n.length?n[r]:null}if(p){for(let D of v)queueMicrotask(()=>{throw D});throw p}}finally{o[zc]=e,delete o.currentTarget,gr(g),ka(f)}}}var WD;const Gy=((WD=globalThis==null?void 0:globalThis.window)==null?void 0:WD.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function sW(o){return(Gy==null?void 0:Gy.createHTML(o))??o}function aT(o){var e=qP("template");return e.innerHTML=sW(o.replaceAll("<!>","<!---->")),e.content}function Xd(o,e){var t=Qi;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function R(o,e){var t=(e&fH)!==0,i=(e&pH)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=aT(s?o:"<!>"+o),t||(n=ma(n)));var r=i||VP?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=ma(r),c=r.lastChild;Xd(a,c)}else Xd(r,r);return r}}function oW(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=aT(n),a=ma(r);s=ma(a)}var c=s.cloneNode(!0);return Xd(c,c),c}}function lT(o,e){return oW(o,e,"svg")}function Rr(o=""){{var e=Qa(o+"");return Xd(e,e),e}}function Ds(){var o=document.createDocumentFragment(),e=document.createComment(""),t=Qa();return o.append(e,t),Xd(e,t),o}function T(o,e){o!==null&&o.before(e)}function G(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[Gg]??(o[Gg]=o.nodeValue))&&(o[Gg]=t,o.nodeValue=`${t}`)}function rW(o,e){return aW(o,e)}const ym=new Map;function aW(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){$H();var c=void 0,h=XH(()=>{var g=t??e.appendChild(Qa());MH(g,{pending:()=>{}},v=>{Io({});var _=Hs;s&&(_.c=s),n&&(i.$$events=n),c=o(v,i)||{},Do()},a);var f=new Set,p=v=>{for(var _=0;_<v.length;_++){var w=v[_];if(!f.has(w)){f.add(w);var S=iW(w);for(const N of[e,document]){var D=ym.get(N);D===void 0&&(D=new Map,ym.set(N,D));var P=D.get(w);P===void 0?(N.addEventListener(w,dS,{passive:S}),D.set(w,1)):D.set(w,P+1)}}}};return p(Qb(rT)),cS.add(p),()=>{var S;for(var v of f)for(const D of[e,document]){var _=ym.get(D),w=_.get(v);--w==0?(D.removeEventListener(v,dS),_.delete(v),_.size===0&&ym.delete(D)):_.set(v,w)}cS.delete(p),g!==t&&((S=g.parentNode)==null||S.removeChild(g))}});return lW.set(c,h),c}let lW=new WeakMap;var Cr,aa,Oo,Kc,Sp,Cp,Vv;class cW{constructor(e,t=!0){Fi(this,"anchor");Ii(this,Cr,new Map);Ii(this,aa,new Map);Ii(this,Oo,new Map);Ii(this,Kc,new Set);Ii(this,Sp,!0);Ii(this,Cp,e=>{if(Q(this,Cr).has(e)){var t=Q(this,Cr).get(e),i=Q(this,aa).get(t);if(i)N_(i),Q(this,Kc).delete(t);else{var n=Q(this,Oo).get(t);n&&(N_(n.effect),Q(this,aa).set(t,n.effect),Q(this,Oo).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of Q(this,Cr)){if(Q(this,Cr).delete(s),s===e)break;const a=Q(this,Oo).get(r);a&&(xo(a.effect),Q(this,Oo).delete(r))}for(const[s,r]of Q(this,aa)){if(s===t||Q(this,Kc).has(s))continue;const a=()=>{if(Array.from(Q(this,Cr).values()).includes(s)){var h=document.createDocumentFragment();X0(r,h),h.append(Qa()),Q(this,Oo).set(s,{effect:r,fragment:h})}else xo(r);Q(this,Kc).delete(s),Q(this,aa).delete(s)};Q(this,Sp)||!i?(Q(this,Kc).add(s),ed(r,a,!1)):a()}}});Ii(this,Vv,e=>{Q(this,Cr).delete(e);const t=Array.from(Q(this,Cr).values());for(const[i,n]of Q(this,Oo))t.includes(i)||(xo(n.effect),Q(this,Oo).delete(i))});this.anchor=e,Di(this,Sp,t)}ensure(e,t){var i=di,n=$P();if(t&&!Q(this,aa).has(e)&&!Q(this,Oo).has(e))if(n){var s=document.createDocumentFragment(),r=Qa();s.append(r),Q(this,Oo).set(e,{effect:nr(()=>t(r)),fragment:s})}else Q(this,aa).set(e,nr(()=>t(this.anchor)));if(Q(this,Cr).set(i,e),n){for(const[a,c]of Q(this,aa))a===e?i.unskip_effect(c):i.skip_effect(c);for(const[a,c]of Q(this,Oo))a===e?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(Q(this,Cp)),i.ondiscard(Q(this,Vv))}else Q(this,Cp).call(this,i)}}Cr=new WeakMap,aa=new WeakMap,Oo=new WeakMap,Kc=new WeakMap,Sp=new WeakMap,Cp=new WeakMap,Vv=new WeakMap;function q(o,e,t=!1){var i=new cW(o),n=t?Xu:0;function s(r,a){i.ensure(r,a)}G0(()=>{var r=!1;e((a,c=0)=>{r=!0,s(c,a)}),r||s(-1,null)},n)}function En(o,e){return e}function dW(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let f=e[a];ed(f,()=>{if(s){if(s.pending.delete(f),s.done.add(f),s.pending.size===0){var p=o.outrogroups;hS(o,Qb(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 h=t,g=h.parentNode;qH(g),g.append(h),o.items.clear()}hS(o,e,!c)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function hS(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|=pa;const r=document.createDocumentFragment();X0(s,r)}else xo(e[n],t)}}var fk;function _i(o,e,t,i,n,s=null){var r=o,a=new Map,c=(e&wP)!==0;if(c){var h=o;r=h.appendChild(Qa())}var g=null,f=OP(()=>{var N=t();return W0(N)?N:N==null?[]:Qb(N)}),p,v=new Map,_=!0;function w(N){(P.effect.f&dr)===0&&(P.pending.delete(N),P.fallback=g,hW(P,p,r,e,i),g!==null&&(p.length===0?(g.f&pa)===0?N_(g):(g.f^=pa,Yg(g,null,r)):ed(g,()=>{g=null})))}function S(N){P.pending.delete(N)}var D=G0(()=>{p=u(f);for(var N=p.length,z=new Set,F=di,ie=$P(),Y=0;Y<N;Y+=1){var ge=p[Y],_e=i(ge,Y),Ae=_?null:a.get(_e);Ae?(Ae.v&&Ju(Ae.v,ge),Ae.i&&Ju(Ae.i,Y),ie&&F.unskip_effect(Ae.e)):(Ae=uW(a,_?r:fk??(fk=Qa()),ge,_e,Y,n,e,t),_||(Ae.e.f|=pa),a.set(_e,Ae)),z.add(_e)}if(N===0&&s&&!g&&(_?g=nr(()=>s(r)):(g=nr(()=>s(fk??(fk=Qa()))),g.f|=pa)),N>z.size&&XF(),!_)if(v.set(F,z),ie){for(const[Le,gt]of a)z.has(Le)||F.skip_effect(gt.e);F.oncommit(w),F.ondiscard(S)}else w(F);u(f)}),P={effect:D,items:a,pending:v,outrogroups:null,fallback:g};_=!1}function Hg(o){for(;o!==null&&(o.f&Ar)===0;)o=o.next;return o}function hW(o,e,t,i,n){var Ae,Le,gt,Tt,ft,mt,ct,Ot,Me;var s=(i&lH)!==0,r=e.length,a=o.items,c=Hg(o.effect.first),h,g=null,f,p=[],v=[],_,w,S,D;if(s)for(D=0;D<r;D+=1)_=e[D],w=n(_,D),S=a.get(w).e,(S.f&pa)===0&&((Le=(Ae=S.nodes)==null?void 0:Ae.a)==null||Le.measure(),(f??(f=new Set)).add(S));for(D=0;D<r;D+=1){if(_=e[D],w=n(_,D),S=a.get(w).e,o.outrogroups!==null)for(const Mt of o.outrogroups)Mt.pending.delete(S),Mt.done.delete(S);if((S.f&oo)!==0&&(N_(S),s&&((Tt=(gt=S.nodes)==null?void 0:gt.a)==null||Tt.unfix(),(f??(f=new Set)).delete(S))),(S.f&pa)!==0)if(S.f^=pa,S===c)Yg(S,null,t);else{var P=g?g.next:c;S===o.effect.last&&(o.effect.last=S.prev),S.prev&&(S.prev.next=S.next),S.next&&(S.next.prev=S.prev),Sl(o,g,S),Sl(o,S,P),Yg(S,P,t),g=S,p=[],v=[],c=Hg(g.next);continue}if(S!==c){if(h!==void 0&&h.has(S)){if(p.length<v.length){var N=v[0],z;g=N.prev;var F=p[0],ie=p[p.length-1];for(z=0;z<p.length;z+=1)Yg(p[z],N,t);for(z=0;z<v.length;z+=1)h.delete(v[z]);Sl(o,F.prev,ie.next),Sl(o,g,F),Sl(o,ie,N),c=N,g=ie,D-=1,p=[],v=[]}else h.delete(S),Yg(S,c,t),Sl(o,S.prev,S.next),Sl(o,S,g===null?o.effect.first:g.next),Sl(o,g,S),g=S;continue}for(p=[],v=[];c!==null&&c!==S;)(h??(h=new Set)).add(c),v.push(c),c=Hg(c.next);if(c===null)continue}(S.f&pa)===0&&p.push(S),g=S,c=Hg(S.next)}if(o.outrogroups!==null){for(const Mt of o.outrogroups)Mt.pending.size===0&&(hS(o,Qb(Mt.done)),(ft=o.outrogroups)==null||ft.delete(Mt));o.outrogroups.size===0&&(o.outrogroups=null)}if(c!==null||h!==void 0){var Y=[];if(h!==void 0)for(S of h)(S.f&oo)===0&&Y.push(S);for(;c!==null;)(c.f&oo)===0&&c!==o.fallback&&Y.push(c),c=Hg(c.next);var ge=Y.length;if(ge>0){var _e=(i&wP)!==0&&r===0?t:null;if(s){for(D=0;D<ge;D+=1)(ct=(mt=Y[D].nodes)==null?void 0:mt.a)==null||ct.measure();for(D=0;D<ge;D+=1)(Me=(Ot=Y[D].nodes)==null?void 0:Ot.a)==null||Me.fix()}dW(o,Y,_e)}}s&&Kl(()=>{var Mt,je;if(f!==void 0)for(S of f)(je=(Mt=S.nodes)==null?void 0:Mt.a)==null||je.apply()})}function uW(o,e,t,i,n,s,r,a){var c=(r&rH)!==0?(r&cH)===0?VH(t,!1,!1):Zd(t):null,h=(r&aH)!==0?Zd(n):null;return{v:c,i:h,e:nr(()=>(s(e,c??t,h??n,a),()=>{o.delete(i)}))}}function Yg(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&pa)===0?e.nodes.start:t;i!==null;){var r=Vp(i);if(s.before(i),i===n)return;i=r}}function Sl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function Wl(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var c=o;X(()=>{var h=Qi;if(a!==(a=e()??"")){if(t){h.nodes=null,c.innerHTML=a,a!==""&&Xd(ma(c),c.lastChild);return}if(h.nodes!==null&&(ZP(h.nodes.start,h.nodes.end),h.nodes=null),a!==""){var g=i?mH:n?_H:void 0,f=qP(i?"svg":n?"math":"template",g);f.innerHTML=a;var p=i||n?f:f.content;if(Xd(ma(p),p.lastChild),i||n)for(;ma(p);)r.before(ma(p));else r.before(p)}}})}const pk=[...`
3
+ \r\f \v\uFEFF`];function gW(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||pk.includes(i[r-1]))&&(a===i.length||pk.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function mk(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 Zy(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function fW(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(Zy)),n&&c.push(...Object.keys(n).map(Zy));var h=0,g=-1;const w=o.length;for(var f=0;f<w;f++){var p=o[f];if(a?p==="/"&&o[f-1]==="*"&&(a=!1):s?s===p&&(s=!1):p==="/"&&o[f+1]==="*"?a=!0:p==='"'||p==="'"?s=p:p==="("?r++:p===")"&&r--,!a&&s===!1&&r===0){if(p===":"&&g===-1)g=f;else if(p===";"||f===w-1){if(g!==-1){var v=Zy(o.substring(h,g).trim());if(!c.includes(v)){p!==";"&&f++;var _=o.substring(h,f).trim();t+=" "+_+";"}}h=f+1,g=-1}}}}return i&&(t+=mk(i)),n&&(t+=mk(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function Kt(o,e,t,i,n,s){var r=o[eS];if(r!==t||r===void 0){var a=gW(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[eS]=t}else if(s&&n!==s)for(var c in s){var h=!!s[c];(n==null||h!==!!n[c])&&o.classList.toggle(c,h)}return s}function Xy(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 zo(o,e,t,i){var n=o[tS];if(n!==e){var s=fW(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[tS]=e}else i&&(Array.isArray(i)?(Xy(o,t==null?void 0:t[0],i[0]),Xy(o,t==null?void 0:t[1],i[1],"important")):Xy(o,t,i));return i}function cT(o,e,t=!1){if(o.multiple){if(e==null)return;if(!W0(e))return bH();for(var i of o.options)i.selected=e.includes(mf(i));return}for(i of o.options){var n=mf(i);if(UH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function pW(o){var e=new MutationObserver(()=>{cT(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),q0(()=>{e.disconnect()})}function ha(o,e,t=e){var i=new WeakSet,n=!0;U0(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),mf);else{var c=o.querySelector(r)??o.querySelector("option:not([disabled])");a=c&&mf(c)}t(a),o.__value=a,di!==null&&i.add(di)}),K0(()=>{var s=e();if(o===document.activeElement){var r=di;if(i.has(r))return}if(cT(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=mf(a),t(s))}o.__value=s,n=!1}),pW(o)}function mf(o){return"__value"in o?o.__value:o.value}const mW=Symbol("is custom element"),_W=Symbol("is html");function Yy(o,e){var t=dT(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function Hn(o,e,t,i){var n=dT(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[GF]=t),t==null?o.removeAttribute(e):typeof t!="string"&&vW(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function dT(o){return o[Ym]??(o[Ym]={[mW]:o.nodeName.includes("-"),[_W]:o.namespaceURI===SP})}var _k=new Map;function vW(o){var e=o.getAttribute("is")||o.nodeName,t=_k.get(e);if(t)return t;_k.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=zF(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=_P(n)}return t}function Ei(o,e,t=e){var i=new WeakSet;U0(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=Jy(o)?Qy(s):s,t(s),di!==null&&i.add(di),await lS(),s!==(s=e())){var r=o.selectionStart,a=o.selectionEnd,c=o.value.length;if(o.value=s??"",a!==null){var h=o.value.length;r===a&&a===c&&h>c?(o.selectionStart=h,o.selectionEnd=h):(o.selectionStart=r,o.selectionEnd=Math.min(a,h))}}}),_l(e)==null&&o.value&&(t(Jy(o)?Qy(o.value):o.value),di!==null&&i.add(di)),sy(()=>{var n=e();if(o===document.activeElement){var s=di;if(i.has(s))return}Jy(o)&&n===Qy(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function qs(o,e,t=e){U0(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),_l(e)==null&&t(o.checked),sy(()=>{var i=e();o.checked=!!i})}function Jy(o){var e=o.type;return e==="number"||e==="range"}function Qy(o){return o===""?null:+o}var Ol,Du,xp,jv,hT;const Uv=class Uv{constructor(e){Ii(this,jv);Ii(this,Ol,new WeakMap);Ii(this,Du);Ii(this,xp);Di(this,xp,e)}observe(e,t){var i=Q(this,Ol).get(e)||new Set;return i.add(t),Q(this,Ol).set(e,i),yn(this,jv,hT).call(this).observe(e,Q(this,xp)),()=>{var n=Q(this,Ol).get(e);n.delete(t),n.size===0&&(Q(this,Ol).delete(e),Q(this,Du).unobserve(e))}}};Ol=new WeakMap,Du=new WeakMap,xp=new WeakMap,jv=new WeakSet,hT=function(){return Q(this,Du)??Di(this,Du,new ResizeObserver(e=>{for(var t of e){Uv.entries.set(t.target,t);for(var i of Q(this,Ol).get(t.target)||[])i(t)}}))},Fi(Uv,"entries",new WeakMap);let uS=Uv;var bW=new uS({box:"border-box"});function yW(o,e,t){var i=bW.observe(o,()=>t(o[e]));K0(()=>(_l(()=>t(o[e])),i))}function ew(o,e){return o===e||(o==null?void 0:o[Yc])===e}function Ss(o={},e,t,i){var n=Hs.r,s=Qi;return K0(()=>{var r,a;return sy(()=>{r=a,a=[],_l(()=>{ew(t(...a),o)||(e(o,...a),r&&ew(t(...r),o)&&e(null,...r))})}),()=>{let c=s;for(;c!==n&&c.parent!==null&&c.parent.f&Qw;)c=c.parent;const h=()=>{a&&ew(t(...a),o)&&e(null,...a)},g=c.teardown;c.teardown=()=>{h(),g==null||g()}}}),o}function eg(o,e,t,i){var z;var n=!0,s=(t&uH)!==0,r=(t&gH)!==0,a=i,c=!0,h=void 0,g=()=>r&&n?(h??(h=Vf(i)),u(h)):(c&&(c=!1,a=r?_l(i):i),a);let f;if(s){var p=Yc in o||KF in o;f=((z=mu(o,e))==null?void 0:z.set)??(p&&e in o?F=>o[e]=F:void 0)}var v,_=!1;s?[v,_]=LH(()=>o[e]):v=o[e],v===void 0&&i!==void 0&&(v=g(),f&&(tH(),f(v)));var w;if(w=()=>{var F=o[e];return F===void 0?g():(c=!0,F)},(t&hH)===0)return w;if(f){var S=o.$$legacy;return(function(F,ie){return arguments.length>0?((!ie||S||_)&&f(ie?w():F),F):w()})}var D=!1,P=((t&dH)!==0?Vf:OP)(()=>(D=!1,w()));s&&u(P);var N=Qi;return(function(F,ie){if(arguments.length>0){const Y=ie?u(P):s?wi(F):F;return I(P,Y),D=!0,a!==void 0&&(a=Y),F}return al&&D||(N.f&dr)!==0?P.v:u(P)})}function Vr(o){Hs===null&&yP(),Dn(()=>{const e=_l(o);if(typeof e=="function")return e})}function oy(o){Hs===null&&yP(),Vr(()=>()=>_l(o))}const wW="5";var BD;typeof window<"u"&&((BD=window.__svelte??(window.__svelte={})).v??(BD.v=new Set)).add(wW);/*!-----------------------------------------------------------------------------
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 SW=Object.defineProperty,CW=Object.getOwnPropertyDescriptor,xW=Object.getOwnPropertyNames,LW=Object.prototype.hasOwnProperty,kW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of xW(e))!LW.call(o,n)&&n!==t&&SW(o,n,{get:()=>e[n],enumerable:!(i=CW(e,n))||i.enumerable});return o},IW=(o,e,t)=>(kW(o,e,"default"),t),Up={};IW(Up,VD);var DW=class{constructor(e,t,i){this._onDidChange=new Up.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)}},EW={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},PW={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},uT=new DW("json",EW,PW),TW=()=>gT().then(o=>o.getWorker());Up.languages.json={jsonDefaults:uT,getWorker:TW};function gT(){return zD(()=>import("./jsonMode-CXWNuhmR.js"),__vite__mapDeps([0,1,2]))}Up.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});Up.languages.onLanguage("json",()=>{gT().then(o=>o.setupMode(uT))});/*!-----------------------------------------------------------------------------
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 MW=Object.defineProperty,NW=Object.getOwnPropertyDescriptor,RW=Object.getOwnPropertyNames,AW=Object.prototype.hasOwnProperty,OW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of RW(e))!AW.call(o,n)&&n!==t&&MW(o,n,{get:()=>e[n],enumerable:!(i=NW(e,n))||i.enumerable});return o},FW=(o,e,t)=>(OW(o,e,"default"),t),HW="5.4.5",tg={};FW(tg,VD);var fT=(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))(fT||{}),pT=(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))(pT||{}),mT=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(mT||{}),_T=(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))(_T||{}),vT=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(vT||{}),bT=class{constructor(o,e,t,i,n){this._onDidChange=new tg.Emitter,this._onDidExtraLibsChange=new tg.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)}},WW=HW,yT={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},wT=new bT({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},yT),ST=new bT({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},yT),BW=()=>ry().then(o=>o.getTypeScriptWorker()),zW=()=>ry().then(o=>o.getJavaScriptWorker());tg.languages.typescript={ModuleKind:fT,JsxEmit:pT,NewLineKind:mT,ScriptTarget:_T,ModuleResolutionKind:vT,typescriptVersion:WW,typescriptDefaults:wT,javascriptDefaults:ST,getTypeScriptWorker:BW,getJavaScriptWorker:zW};function ry(){return zD(()=>import("./tsMode-BgnpB8sV.js"),__vite__mapDeps([3,1,2]))}tg.languages.onLanguage("typescript",()=>ry().then(o=>o.setupTypeScript(wT)));tg.languages.onLanguage("javascript",()=>ry().then(o=>o.setupJavaScript(ST)));class VW extends Ys{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:vt("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:ei.map,toggled:re.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:re.has("isInDiffEditor"),menu:{when:re.has("isInDiffEditor"),id:Qe.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(Cn),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class CT extends Ys{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:vt("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:re.has("isInDiffEditor")})}run(e,...t){const i=e.get(Cn),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class xT extends Ys{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:vt("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:re.has("isInDiffEditor")})}run(e,...t){const i=e.get(Cn),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const $p=vt("diffEditor","Diff Editor");class jW extends Or{constructor(){super({id:"diffEditor.switchSide",title:vt("switchSide","Switch Side"),icon:ei.arrowSwap,precondition:re.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,i){const n=Cg(e);if(n instanceof Lp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class UW extends Or{constructor(){super({id:"diffEditor.exitCompareMove",title:vt("exitCompareMove","Exit Compare Move"),icon:ei.close,precondition:M.comparingMovedCode,f1:!1,category:$p,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=Cg(e);n instanceof Lp&&n.exitCompareMove()}}class $W extends Or{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:vt("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:ei.fold,precondition:re.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,...i){const n=Cg(e);n instanceof Lp&&n.collapseAllUnchangedRegions()}}class qW extends Or{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:vt("showAllUnchangedRegions","Show All Unchanged Regions"),icon:ei.unfold,precondition:re.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,...i){const n=Cg(e);n instanceof Lp&&n.showAllUnchangedRegions()}}class gS extends Ys{constructor(){super({id:"diffEditor.revert",title:vt("revert","Revert"),f1:!1,category:$p})}run(e,t){const i=KW(e,t.originalUri,t.modifiedUri);i instanceof Lp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const LT=vt("accessibleDiffViewer","Accessible Diff Viewer"),$v=class $v extends Ys{constructor(){super({id:$v.id,title:vt("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:LT,precondition:re.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=Cg(e);t==null||t.accessibleDiffViewerNext()}};$v.id="editor.action.accessibleDiffViewer.next";let Uf=$v;const qv=class qv extends Ys{constructor(){super({id:qv.id,title:vt("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:LT,precondition:re.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=Cg(e);t==null||t.accessibleDiffViewerPrev()}};qv.id="editor.action.accessibleDiffViewer.prev";let R_=qv;function KW(o,e,t){return o.get(Yn).listDiffEditors().find(s=>{var c,h;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((c=r.getModel())==null?void 0:c.uri.toString())===t.toString()&&a&&((h=a.getModel())==null?void 0:h.uri.toString())===e.toString()})||null}function Cg(o){const t=o.get(Yn).listDiffEditors(),i=jD();if(i)for(const n of t){const s=n.getContainerDomNode();if(GW(s,i))return n}return null}function GW(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}en(VW);en(CT);en(xT);hr.appendMenuItem(Qe.EditorTitle,{command:{id:new xT().desc.id,title:y("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:re.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:re.has("isInDiffEditor")},order:11,group:"1_diff",when:re.and(M.diffEditorRenderSideBySideInlineBreakpointReached,re.has("isInDiffEditor"))});hr.appendMenuItem(Qe.EditorTitle,{command:{id:new CT().desc.id,title:y("showMoves","Show Moved Code Blocks"),icon:ei.move,toggled:rA.create("config.diffEditor.experimental.showMoves",!0),precondition:re.has("isInDiffEditor")},order:10,group:"1_diff",when:re.has("isInDiffEditor")});en(gS);for(const o of[{icon:ei.arrowRight,key:M.diffEditorInlineMode.toNegated()},{icon:ei.discard,key:M.diffEditorInlineMode}])hr.appendMenuItem(Qe.DiffEditorHunkToolbar,{command:{id:new gS().desc.id,title:y("revertHunk","Revert Block"),icon:o.icon},when:re.and(M.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),hr.appendMenuItem(Qe.DiffEditorSelectionToolbar,{command:{id:new gS().desc.id,title:y("revertSelection","Revert Selection"),icon:o.icon},when:re.and(M.diffEditorModifiedWritable,o.key),order:5,group:"primary"});en(jW);en(UW);en($W);en(qW);hr.appendMenuItem(Qe.EditorTitle,{command:{id:Uf.id,title:y("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:re.has("isInDiffEditor")},order:10,group:"2_diff",when:re.and(M.accessibleDiffViewerVisible.negate(),re.has("isInDiffEditor"))});mn.registerCommandAlias("editor.action.diffReview.next",Uf.id);en(Uf);mn.registerCommandAlias("editor.action.diffReview.prev",R_.id);en(R_);var ZW=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)}},fS;const ay=new Pi("selectionAnchorSet",!1);var od;let pc=(od=class{static get(e){return e.getContribution(fS.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=ay.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(jt.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Ns().appendText(y("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),ur(y("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(jt.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()}},fS=od,od.ID="editor.contrib.selectionAnchorController",od);pc=fS=ZW([XW(1,Wi)],pc);class YW extends ye{constructor(){super({id:"editor.action.setSelectionAnchor",label:y("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2080),weight:100}})}async run(e,t){var i;(i=pc.get(t))==null||i.setSelectionAnchor()}}class JW extends ye{constructor(){super({id:"editor.action.goToSelectionAnchor",label:y("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:ay})}async run(e,t){var i;(i=pc.get(t))==null||i.goToSelectionAnchor()}}class QW extends ye{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:y("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:ay,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2089),weight:100}})}async run(e,t){var i;(i=pc.get(t))==null||i.selectFromAnchorToCursor()}}class e3 extends ye{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:y("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:ay,kbOpts:{kbExpr:M.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=pc.get(t))==null||i.cancelSelectionAnchor()}}vi(pc.ID,pc,4);se(YW);se(JW);se(QW);se(e3);const t3=ut("editorOverviewRuler.bracketMatchForeground","#A0A0A0",y("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class i3 extends ye{constructor(){super({id:"editor.action.jumpToBracket",label:y("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=Yd.get(t))==null||i.jumpToBracket()}}class n3 extends ye{constructor(){super({id:"editor.action.selectToBracket",label:y("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:vt("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=Yd.get(t))==null||s.selectToBracket(n)}}class s3 extends ye{constructor(){super({id:"editor.action.removeBrackets",label:y("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=Yd.get(t))==null||i.removeBrackets(this.id)}}class o3{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const El=class El extends ze{static get(e){return e.getContribution(El.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new rs(()=>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 jt(r.lineNumber,r.column,r.lineNumber,r.column):new jt(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 h=t.bracketPairs.findNextBracket(s);h&&h.range&&(r=t.bracketPairs.matchBracket(h.range.getStartPosition()))}let a=null,c=null;if(r){r.sort(W.compareRangesUsingStarts);const[h,g]=r;if(a=e?h.getStartPosition():h.getEndPosition(),c=e?g.getEndPosition():g.getStartPosition(),g.containsPosition(s)){const f=a;a=c,c=f}}a&&c&&i.push(new jt(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 f=0,p=e.length;f<p;f++){const v=e[f];v.isEmpty()&&(s[r++]=v.getStartPosition())}s.length>1&&s.sort(St.compare);const a=[];let c=0,h=0;const g=n.length;for(let f=0,p=s.length;f<p;f++){const v=s[f];for(;h<g&&n[h].position.isBefore(v);)h++;if(h<g&&n[h].position.equals(v))a[c++]=n[h];else{let _=t.bracketPairs.matchBracket(v,20),w=El._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!_&&this._matchBrackets==="always"&&(_=t.bracketPairs.findEnclosingBrackets(v,20),w=El._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[c++]=new o3(v,_,w)}}this._lastBracketsData=a,this._lastVersionId=i}};El.ID="editor.contrib.bracketMatchingController",El._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=xi.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:ss(t3),position:va.Center}}),El._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=xi.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Yd=El;vi(Yd.ID,Yd,1);se(n3);se(i3);se(s3);hr.appendMenuItem(Qe.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:y({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class r3{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 W(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new W(i,s,i,s),a)}else{const r=new W(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new W(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new jt(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new jt(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class kT extends ye{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 r3(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class a3 extends kT{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:y("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:M.writable})}}class l3 extends kT{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:y("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:M.writable})}}se(a3);se(l3);class c3 extends ye{constructor(){super({id:"editor.action.transposeLetters",label:y("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:M.writable,kbOpts:{kbExpr:M.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,h=i.getLineMaxColumn(a);if(a===1&&(c===1||c===2&&h===2))continue;const g=c===h?r.getPosition():Wy.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),f=Wy.leftPosition(i,g),p=Wy.leftPosition(i,f),v=i.getValueInRange(W.fromPositions(p,f)),_=i.getValueInRange(W.fromPositions(f,g)),w=W.fromPositions(p,g);n.push(new kp(w,_+v))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}se(c3);const ly=(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 Y0(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function d3(o,e,t){const i={id:ly(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class IT{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 Xa.some(this,([i,n])=>n.asFile())&&t.push("files"),ET(A_(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 A_(e)}}function A_(o){return o.toLowerCase()}function DT(o,e){return ET(A_(o),e.map(A_))}function ET(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 cy=Object.freeze({create:o=>UD(o.map(e=>e.toString())).join(`\r
14
+ `),split:o=>o.split(`\r
15
+ `),parse:o=>cy.split(o).filter(e=>!e.startsWith("#"))}),ia=class ia{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+ia.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new ia((this.value?[this.value,...e]:e).join(ia.sep))}};ia.sep=".",ia.None=new ia("@@none@@"),ia.Empty=new ia("");let Sn=ia;const vk={EDITORS:"CodeEditors",FILES:"CodeFiles"};class h3{}const u3={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Fr.add(u3.DragAndDropContribution,new h3);const If=class If{constructor(){}static getInstance(){return If.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};If.INSTANCE=new If;let pS=If;function PT(o){const e=new IT;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,Y0(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,g3(n))}}return e}function g3(o){const e=o.path?nn.parse(o.path):void 0;return d3(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const f3=Object.freeze([vk.EDITORS,vk.FILES,Fw.RESOURCES,Fw.INTERNAL_URI_LIST]);function TT(o,e=!1){const t=PT(o),i=t.get(Fw.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(nn.file(a).toString()):n.push(nn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(ms.uriList,Y0(cy.create(n)))}for(const n of f3)t.delete(n);return t}var J0=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},$f=function(o,e){return function(t,i){e(t,i,o)}};class Q0{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 Df=class Df extends Q0{constructor(){super(...arguments),this.kind=Df.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:y("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};Df.id="text",Df.kind=new Sn("text.plain");let Jd=Df;class MT extends Q0{constructor(){super(...arguments),this.kind=new Sn("uri.absolute"),this.dropMimeTypes=[ms.uriList],this.pasteMimeTypes=[ms.uriList]}async getEdit(e,t){const i=await NT(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:c})=>a.scheme===$s.file?a.fsPath:(n++,c)).join(" ");let r;return n>0?r=i.length>1?y("defaultDropProvider.uriList.uris","Insert Uris"):y("defaultDropProvider.uriList.uri","Insert Uri"):r=i.length>1?y("defaultDropProvider.uriList.paths","Insert Paths"):y("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:ms.uriList,insertText:s,title:r,kind:this.kind}}}let O_=class extends Q0{constructor(e){super(),this._workspaceContextService=e,this.kind=new Sn("uri.relative"),this.dropMimeTypes=[ms.uriList],this.pasteMimeTypes=[ms.uriList]}async getEdit(e,t){const i=await NT(e);if(!i.length||t.isCancellationRequested)return;const n=il(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?aA(r.uri,s):void 0}));if(n.length)return{handledMimeType:ms.uriList,insertText:n.join(" "),title:i.length>1?y("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):y("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};O_=J0([$f(0,Wu)],O_);class p3{constructor(){this.kind=new Sn("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:ms.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var c;if(n.triggerKind!==Hw.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:y("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function NT(o){const e=o.get(ms.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of cy.parse(t))try{i.push({uri:nn.parse(n),originalText:n})}catch{}return i}let mS=class extends ze{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new Jd)),this._register(e.documentDropEditProvider.register("*",new MT)),this._register(e.documentDropEditProvider.register("*",new O_(t)))}};mS=J0([$f(0,Ct),$f(1,Wu)],mS);let _S=class extends ze{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Jd)),this._register(e.documentPasteEditProvider.register("*",new MT)),this._register(e.documentPasteEditProvider.register("*",new O_(t))),this._register(e.documentPasteEditProvider.register("*",new p3))}};_S=J0([$f(0,Ct),$f(1,Wu)],_S);const Zo=class Zo{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=Zo._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(Zo.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(Zo.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(Zo.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(Zo.isVariableCharacter(i)||Zo.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 Zo._table[i]>"u"&&!Zo.isDigitCharacter(i)&&!Zo.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};Zo._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let vS=Zo;class xg{constructor(){this._children=[]}appendChild(e){return e instanceof so&&this._children[this._children.length-1]instanceof so?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 h of a)h.parent=c,r(h.children,h)})(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 qp)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let so=class RT extends xg{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new RT(this.value)}};class AT extends xg{}class Bo extends AT{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 Lg?this._children[0]:void 0}clone(){const e=new Bo(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class Lg extends xg{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof so&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new Lg;return this.options.forEach(e.appendChild,e),e}}class e1 extends xg{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 xr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof xr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new e1;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 xr extends xg{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 xr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class qf extends AT{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 so(t)],!0):!1}clone(){const e=new qf(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function bk(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class qp extends xg{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof Bo&&(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 bk([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof Bo&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof qf&&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 qp;return this._children=this.children.map(t=>t.clone()),e}walk(e){bk(this.children,e)}}class Qd{constructor(){this._scanner=new vS,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 qp;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 Bo&&(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,h)=>{const g=n.get(c.index);if(!g)return;const f=new Bo(c.index);f.transform=c.transform;for(const p of g){const v=p.clone();f.appendChild(v),v instanceof Bo&&n.has(v.index)&&!h.has(v.index)&&(h.add(v.index),r(v,h),h.delete(v.index))}t.replace(c,[f])},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 Bo(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 so(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 Bo(Number(t)):new qf(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 Bo(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new so("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new Lg;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 so(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 qf(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new so("${"+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 e1;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 so(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 xr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new xr(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 xr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new xr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new xr(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 xr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new xr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new so(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function OT(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 lA(o,{range:s,text:typeof t.insertText=="string"?Qd.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function FT(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 h=t.get(r);h||(h=[],t.set(r,h)),h.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 h=t.get(a);return h&&(n.push(a),c=s(h),n.pop()),i.add(a),[...c,a,...s(r.slice(1))]}return s(Array.from(o))}var m3=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},_3=function(o,e){return function(t,i){e(t,i,o)}};const v3=xi.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:$D,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Kv=class Kv extends ze{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=ht(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=ht("span.icon");this.domNode.append(t),t.classList.add(...$i.asClassNameArray(ei.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(Hi(this.domNode,Tn.CLICK,n=>{this.delegate.cancel()}))}getId(){return Kv.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}};Kv.baseId="editor.widget.inlineProgressWidget";let bS=Kv,F_=class extends ze{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Lo),this._currentWidget=this._register(new Lo),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=Tf(()=>{const a=W.fromPositions(e);this._currentDecorations.set([{range:a,options:v3}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(bS,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()}};F_=m3([_3(2,ci)],F_);var b3=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},yk=function(o,e){return function(t,i){e(t,i,o)}},n_,Zl;let ro=(Zl=class{static get(e){return e.getContribution(n_.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Lo,this._messageListeners=new We,this._mouseOverMessage=!1,this._editor=e,this._visible=n_.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){ur(qm(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=qm(e)?cA(e,{actionHandler:{callback:n=>{this.closeMessage(),dA(this._openerService,n,qm(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new wk(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(os.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&hA(jD(),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(Hi(this._messageWidget.value.getDomNode(),Tn.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Hi(this._messageWidget.value.getDomNode(),Tn.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 W(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(wk.fadeOut(this._messageWidget.value))}},n_=Zl,Zl.ID="editor.contrib.messageController",Zl.MESSAGE_VISIBLE=new Pi("messageVisible",!1,y("messageVisible","Whether the editor is currently showing an inline message")),Zl);ro=n_=b3([yk(1,Wi),yk(2,Hr)],ro);const y3=Js.bindToContribution(ro.get);Lt(new y3({id:"leaveEditorMessage",precondition:ro.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let wk=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)}};vi(ro.ID,ro,4);function tw(o,e){return e&&(o.stack||o.stacktrace)?y("stackTrace.format","{0}: {1}",Ck(o),Sk(o.stack)||Sk(o.stacktrace)):Ck(o)}function Sk(o){return Array.isArray(o)?o.join(`
16
+ `):o}function Ck(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"?y("nodeExceptionMessage","A system error occurred ({0})",o.message):o.message||y("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function H_(o=null,e=!1){if(!o)return y("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=il(o),i=H_(t[0],e);return t.length>1?y("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(qD(o))return o;if(o.detail){const t=o.detail;if(t.error)return tw(t.error,e);if(t.exception)return tw(t.exception,e)}return o.stack?tw(o,e):o.message?o.message:y("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var HT=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},vu=function(o,e){return function(t,i){e(t,i,o)}},yS,rd;let wS=(rd=class extends ze{constructor(e,t,i,n,s,r,a,c,h,g){super(),this.typeId=e,this.editor=t,this.showCommand=n,this.range=s,this.edits=r,this.onSelectNewEdit=a,this._contextMenuService=c,this._keybindingService=g,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(h),this.visibleContext.set(!0),this._register(wn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(wn((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(f=>{s.containsPosition(f.position)||this.dispose()})),this._register(os.runAndSubscribe(g.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=ht(".post-edit-widget"),this.button=this._register(new uA(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Hi(this.domNode,Tn.CLICK,()=>this.showSelector()))}getId(){return yS.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=Gs(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>gA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},yS=rd,rd.baseId="editor.widget.postEditWidget",rd);wS=yS=HT([vu(7,mg),vu(8,Wi),vu(9,is)],wS);let W_=class extends ze{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 Lo),this._register(os.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 S=>{const D=this._editor.getModel();D&&(await D.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:S,allEdits:t.allEdits},i,n,s))},h=(S,D)=>{yc(S)||(this._notificationService.error(D),i&&this.show(e[0],t,c))};let g;try{g=await n(a,s)}catch(S){return h(S,y("resolveError",`Error resolving edit '{0}':
17
+ {1}`,a.title,H_(S)))}if(s.isCancellationRequested)return;const f=OT(r.uri,e,g),p=e[0],v=r.deltaDecorations([],[{range:p,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let _,w;try{_=await this._bulkEditService.apply(f,{editor:this._editor,token:s}),w=r.getDecorationRange(v[0])}catch(S){return h(S,y("applyError",`Error applying edit '{0}':
18
+ {1}`,a.title,H_(S)))}finally{r.deltaDecorations(v,[])}s.isCancellationRequested||i&&_.isApplied&&t.allEdits.length>1&&this.show(w??p,t,c)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(wS,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()}};W_=HT([vu(4,ci),vu(5,Nb),vu(6,zs)],W_);var w3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Mh=function(o,e){return function(t,i){e(t,i,o)}},Tc;const WT="editor.changePasteType",t1=new Pi("pasteWidgetVisible",!1,y("pasteWidgetVisible","Whether the paste widget is showing")),iw="application/vnd.code.copyMetadata";var ad;let ll=(ad=class extends ze{static get(e){return e.getContribution(Tc.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(Hi(c,"copy",h=>this.handleCopy(h))),this._register(Hi(c,"cut",h=>this.handleCopy(h))),this._register(Hi(c,"paste",h=>this.handlePaste(h),!0)),this._pasteProgressManager=this._register(new F_("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(W_,"pasteIntoEditor",e,t1,{id:WT,label:y("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},d0().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 w,S,D,P;if(!this._editor.hasTextFocus()||((S=(w=this._clipboardService).clearInternalState)==null||S.call(w),!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 W(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,Rb),h={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:r,mode:null},g=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(N=>!!N.prepareDocumentPaste);if(!g.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:h});return}const f=PT(e.clipboardData),p=g.flatMap(N=>N.copyMimeTypes??[]),v=ly();this.setCopyMetadata(e.clipboardData,{id:v,providerCopyMimeTypes:p,defaultPastePayload:h});const _=gs(async N=>{const z=il(await Promise.all(g.map(async F=>{try{return await F.prepareDocumentPaste(t,s,f,N)}catch(ie){console.error(ie);return}})));z.reverse();for(const F of z)for(const[ie,Y]of F)f.replace(ie,Y);return f});(P=Tc._currentCopyOperation)==null||P.dataTransferPromise.cancel(),Tc._currentCopyOperation={handle:v,dataTransferPromise:_}}async handlePaste(e){var c,h,g;if(!e.clipboardData||!this._editor.hasTextFocus())return;(c=ro.get(this._editor))==null||c.closeMessage(),(h=this._currentPasteOperation)==null||h.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=TT(e.clipboardData);s.delete(iw);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],ms.uriList],a=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(f=>{var v,_;const p=(v=this._pasteAsActionContext)==null?void 0:v.preferred;return p&&f.providedPasteEditKinds&&!this.providerMatchesPreference(f,p)?!1:(_=f.pasteMimeTypes)==null?void 0:_.some(w=>DT(w,r))});if(!a.length){(g=this._pasteAsActionContext)!=null&&g.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=ro.get(this._editor))==null||i.showMessage(y("pasteAsError","No paste edits for '{0}' found",t instanceof Sn?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new Bu(r,3,void 0),c=gs(async h=>{const g=this._editor;if(!g.hasModel())return;const f=g.getModel(),p=new We,v=p.add(new fs(h));p.add(a.token.onCancellationRequested(()=>v.cancel()));const _=v.token;try{if(await this.mergeInDataFromCopy(i,n,_),_.isCancellationRequested)return;const w=e.filter(P=>this.isSupportedPasteProvider(P,i));if(!w.length||w.length===1&&w[0]instanceof Jd)return this.applyDefaultPasteHandler(i,n,_,s);const S={triggerKind:Hw.Automatic},D=await this.getPasteEdits(w,i,f,t,S,_);if(p.add(D),_.isCancellationRequested)return;if(D.edits.length===1&&D.edits[0].provider instanceof Jd)return this.applyDefaultPasteHandler(i,n,_,s);if(D.edits.length){const P=g.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:D.edits},P,(N,z)=>new Promise((F,ie)=>{(async()=>{var Y,ge;try{const _e=(ge=(Y=N.provider).resolveDocumentPasteEdit)==null?void 0:ge.call(Y,N,z),Ae=new Ab,Le=_e&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),y("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([Ae.p,_e]),{cancel:()=>(Ae.cancel(),ie(new Ob))},0);return Le&&(N.additionalEdit=Le.additionalEdit),F(N)}catch(_e){return ie(_e)}})()}),_)}await this.applyDefaultPasteHandler(i,n,_,s)}finally{p.dispose(),this._currentPasteOperation===c&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),y("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=gs(async a=>{const c=this._editor;if(!c.hasModel())return;const h=c.getModel(),g=new We,f=g.add(new Bu(c,3,void 0,a));try{if(await this.mergeInDataFromCopy(n,s,f.token),f.token.isCancellationRequested)return;let p=t.filter(D=>this.isSupportedPasteProvider(D,n,e));e&&(p=p.filter(D=>this.providerMatchesPreference(D,e)));const v={triggerKind:Hw.PasteAs,only:e&&e instanceof Sn?e:void 0};let _=g.add(await this.getPasteEdits(p,n,h,i,v,f.token));if(f.token.isCancellationRequested)return;if(e&&(_={edits:_.edits.filter(D=>e instanceof Sn?e.contains(D.kind):e.providerId===D.provider.id),dispose:_.dispose}),!_.edits.length){v.only&&this.showPasteAsNoEditMessage(i,v.only);return}let w;if(e)w=_.edits.at(0);else{const D=await this._quickInputService.pick(_.edits.map(P=>{var N;return{label:P.title,description:(N=P.kind)==null?void 0:N.value,edit:P}}),{placeHolder:y("pasteAsPickerPlaceholder","Select Paste Action")});w=D==null?void 0:D.edit}if(!w)return;const S=OT(h.uri,i,w);await this._bulkEditService.apply(S,{editor:this._editor})}finally{g.dispose(),this._currentPasteOperation===r&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:y("pasteAsProgress","Running paste handlers")},()=>r)}setCopyMetadata(e,t){e.setData(iw,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(iw);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=fA.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=Tc._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await Tc._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,Y0(cy.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new We,c=await Ip(Promise.all(e.map(async g=>{var f,p;try{const v=await((f=g.provideDocumentPasteEdits)==null?void 0:f.call(g,i,n,t,s,r));return v&&a.add(v),(p=v==null?void 0:v.edits)==null?void 0:p.map(_=>({..._,provider:g}))}catch(v){yc(v)||console.error(v);return}})),r),h=il(c??[]).flat().filter(g=>!s.only||s.only.contains(g.kind));return{edits:FT(h),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 Sn?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},Tc=ad,ad.ID="editor.contrib.copyPasteActionController",ad);ll=Tc=w3([Mh(1,ci),Mh(2,Nb),Mh(3,_g),Mh(4,Ct),Mh(5,ul),Mh(6,pA)],ll);const eh="9_cutcopypaste",S3=vg||document.queryCommandSupported("cut"),BT=vg||document.queryCommandSupported("copy"),C3=typeof navigator.clipboard>"u"||mA?document.queryCommandSupported("paste"):!0;function i1(o){return o.register(),o}const x3=S3?i1(new h0({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:vg?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Qe.MenubarEditMenu,group:"2_ccp",title:y({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:Qe.EditorContext,group:eh,title:y("actions.clipboard.cutLabel","Cut"),when:M.writable,order:1},{menuId:Qe.CommandPalette,group:"",title:y("actions.clipboard.cutLabel","Cut"),order:1},{menuId:Qe.SimpleEditorContext,group:eh,title:y("actions.clipboard.cutLabel","Cut"),when:M.writable,order:1}]})):void 0,L3=BT?i1(new h0({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:vg?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Qe.MenubarEditMenu,group:"2_ccp",title:y({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:Qe.EditorContext,group:eh,title:y("actions.clipboard.copyLabel","Copy"),order:2},{menuId:Qe.CommandPalette,group:"",title:y("actions.clipboard.copyLabel","Copy"),order:1},{menuId:Qe.SimpleEditorContext,group:eh,title:y("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;hr.appendMenuItem(Qe.MenubarEditMenu,{submenu:Qe.MenubarCopy,title:vt("copy as","Copy As"),group:"2_ccp",order:3});hr.appendMenuItem(Qe.EditorContext,{submenu:Qe.EditorContextCopy,title:vt("copy as","Copy As"),group:eh,order:3});hr.appendMenuItem(Qe.EditorContext,{submenu:Qe.EditorContextShare,title:vt("share","Share"),group:"11_share",order:-1,when:re.and(re.notEquals("resourceScheme","output"),M.editorTextFocus)});hr.appendMenuItem(Qe.ExplorerContext,{submenu:Qe.ExplorerContextShare,title:vt("share","Share"),group:"11_share",order:-1});const nw=C3?i1(new h0({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:vg?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Qe.MenubarEditMenu,group:"2_ccp",title:y({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:Qe.EditorContext,group:eh,title:y("actions.clipboard.pasteLabel","Paste"),when:M.writable,order:4},{menuId:Qe.CommandPalette,group:"",title:y("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:Qe.SimpleEditorContext,group:eh,title:y("actions.clipboard.pasteLabel","Paste"),when:M.writable,order:4}]})):void 0;class k3 extends ye{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:y("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(IL.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),IL.forceCopyWithSyntaxHighlighting=!1)}}function zT(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(Yn).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)=>(d0().execCommand(e),!0)))}zT(x3,"cut");zT(L3,"copy");nw&&(nw.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(Yn),i=o.get(_g),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=ll.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():_A?(async()=>{const a=await i.readText();if(a!==""){const c=vA.INSTANCE.get(a);let h=!1,g=null,f=null;c&&(h=n.getOption(37)&&!!c.isFromEmptySelection,g=typeof c.multicursorText<"u"?c.multicursorText:null,f=c.mode),n.trigger("keyboard","paste",{text:a,pasteOnNewLine:h,multicursorText:g,mode:f})}})():!0:!1}),nw.addImplementation(0,"generic-dom",(o,e)=>(d0().execCommand("paste"),!0)));BT&&se(k3);const fn=new class{constructor(){this.QuickFix=new Sn("quickfix"),this.Refactor=new Sn("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 Sn("notebook"),this.Source=new Sn("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var ho;(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"})(ho||(ho={}));function I3(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>VT(e,t,o.include))||!o.includeSourceActions&&fn.Source.contains(e))}function D3(o,e){const t=e.kind?new Sn(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>VT(t,i,o.include))||!o.includeSourceActions&&t&&fn.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function VT(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class ua{static fromUser(e,t){return!e||typeof e!="object"?new ua(t.kind,t.apply,!1):new ua(ua.getKindFromUser(e,t.kind),ua.getApplyFromUser(e,t.apply),ua.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 Sn(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 E3{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){Xn(n)}i&&(this.action.edit=i.edit)}return this}}const jT="editor.action.codeAction",n1="editor.action.quickFix",UT="editor.action.autoFix",$T="editor.action.refactor",qT="editor.action.sourceAction",SS="editor.action.organizeImports",CS="editor.action.fixAll";class _f extends ze{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:So(e.diagnostics)?So(t.diagnostics)?_f.codeActionsPreferredComparator(e,t):-1:So(t.diagnostics)?1:_f.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(_f.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&fn.QuickFix.contains(new Sn(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 xk={actions:[],documentation:void 0};async function nu(o,e,t,i,n,s){var w;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],fn.Notebook]},c={only:(w=r.include)==null?void 0:w.value,trigger:i.type},h=new bA(e,s),g=i.type===2,f=P3(o,e,g?a:r),p=new We,v=f.map(async S=>{try{n.report(S);const D=await S.provideCodeActions(e,t,c,h.token);if(D&&p.add(D),h.token.isCancellationRequested)return xk;const P=((D==null?void 0:D.actions)||[]).filter(z=>z&&D3(r,z)),N=M3(S,P,r.include);return{actions:P.map(z=>new E3(z,S)),documentation:N}}catch(D){if(yc(D))throw D;return Xn(D),xk}}),_=o.onDidChange(()=>{const S=o.all(e);Sa(S,f)||h.cancel()});try{const S=await Promise.all(v),D=S.map(N=>N.actions).flat(),P=[...il(S.map(N=>N.documentation)),...T3(o,e,i,D)];return new _f(D,P,p)}finally{_.dispose(),h.dispose()}}function P3(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>I3(t,new Sn(n))):!0)}function*T3(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 M3(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new Sn(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 Sn(n.kind)))return s.command}}var Vc;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(Vc||(Vc={}));async function N3(o,e,t,i,n=fi.None){var h;const s=o.get(Nb),r=o.get(hs),a=o.get(Wr),c=o.get(zs);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&&!((h=e.action.edit)!=null&&h.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!==Vc.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(g){const f=R3(g);c.error(typeof f=="string"?f:y("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function R3(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}mn.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof nn))throw Ya();const{codeActionProvider:s}=o.get(Ct),r=o.get(Vs).getModel(e);if(!r)throw Ya();const a=jt.isISelection(t)?jt.liftSelection(t):W.isIRange(t)?r.validateRange(t):void 0;if(!a)throw Ya();const c=typeof i=="string"?new Sn(i):void 0,h=await nu(s,r,a,{type:1,triggerAction:ho.Default,filter:{includeSourceActions:!0,include:c}},qa.None,fi.None),g=[],f=Math.min(h.validActions.length,typeof n=="number"?n:0);for(let p=0;p<f;p++)g.push(h.validActions[p].resolve(fi.None));try{return await Promise.all(g),h.validActions.map(p=>p.action)}finally{setTimeout(()=>h.dispose(),100)}});var A3=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},O3=function(o,e){return function(t,i){e(t,i,o)}},xS,ld;let LS=(ld=class{constructor(e){this.keybindingService=e}getResolver(){const e=new u0(()=>this.keybindingService.getKeybindings().filter(t=>xS.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===SS?i={kind:fn.SourceOrganizeImports.value}:t.command===CS&&(i={kind:fn.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...ua.fromUser(i,{kind:Sn.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 Sn(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)}},xS=ld,ld.codeActionCommands=[$T,jT,qT,SS,CS],ld);LS=xS=A3([O3(0,is)],LS);ut("symbolIcon.arrayForeground",as,y("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.booleanForeground",as,y("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},y("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.colorForeground",as,y("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.constantForeground",as,y("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},y("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},y("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},y("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},y("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},y("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.fileForeground",as,y("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.folderForeground",as,y("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},y("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},y("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.keyForeground",as,y("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.keywordForeground",as,y("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},y("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.moduleForeground",as,y("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.namespaceForeground",as,y("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.nullForeground",as,y("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.numberForeground",as,y("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.objectForeground",as,y("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.operatorForeground",as,y("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.packageForeground",as,y("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.propertyForeground",as,y("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.referenceForeground",as,y("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.snippetForeground",as,y("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.stringForeground",as,y("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.structForeground",as,y("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.textForeground",as,y("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.typeParameterForeground",as,y("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.unitForeground",as,y("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},y("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const KT=Object.freeze({kind:Sn.Empty,title:y("codeAction.widget.id.more","More Actions...")}),F3=Object.freeze([{kind:fn.QuickFix,title:y("codeAction.widget.id.quickfix","Quick Fix")},{kind:fn.RefactorExtract,title:y("codeAction.widget.id.extract","Extract"),icon:ei.wrench},{kind:fn.RefactorInline,title:y("codeAction.widget.id.inline","Inline"),icon:ei.wrench},{kind:fn.RefactorRewrite,title:y("codeAction.widget.id.convert","Rewrite"),icon:ei.wrench},{kind:fn.RefactorMove,title:y("codeAction.widget.id.move","Move"),icon:ei.wrench},{kind:fn.SurroundWith,title:y("codeAction.widget.id.surround","Surround With"),icon:ei.surroundWith},{kind:fn.Source,title:y("codeAction.widget.id.source","Source Action"),icon:ei.symbolFile},KT]);function H3(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:KT,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=F3.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new Sn(s.action.kind):Sn.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:ei.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var W3=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},B3=function(o,e){return function(t,i){e(t,i,o)}},Kh;const Lk=Gn("gutter-lightbulb",ei.lightBulb,y("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),kk=Gn("gutter-lightbulb-auto-fix",ei.lightbulbAutofix,y("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),Ik=Gn("gutter-lightbulb-sparkle",ei.lightbulbSparkle,y("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),Dk=Gn("gutter-lightbulb-aifix-auto-fix",ei.lightbulbSparkleAutofix,y("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.")),Ek=Gn("gutter-lightbulb-sparkle-filled",ei.sparkleFilled,y("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 yr;(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})(yr||(yr={}));var Ga;let Kf=(Ga=class extends ze{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new gi),this.onClick=this._onClick.event,this._state=yr.Hidden,this._gutterState=yr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+Lk.id,"codicon-"+Dk.id,"codicon-"+kk.id,"codicon-"+Ik.id,"codicon-"+Ek.id],this.gutterDecoration=Kh.GUTTER_DECORATION,this._domNode=ht("div.lightBulbWidget"),this._domNode.role="listbox",this._register(KD.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(yA(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=Gs(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(Hi(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(os.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(UT))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(n1))==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}=Gs(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),h=r.getOptions().tabSize,g=this._editor.getOptions().get(50),f=r.getLineContent(a),p=g0(f,h),v=g.spaceWidth*p>22,_=F=>F>2&&this._editor.getTopForLineNumber(F)===this._editor.getTopForLineNumber(F-1),w=this._editor.getLineDecorations(a);let S=!1;if(w)for(const F of w){const ie=F.options.glyphMarginClassName;if(ie&&!this.lightbulbClasses.some(Y=>ie.includes(Y))){S=!0;break}}let D=a,P=1;if(!v){const F=ie=>{const Y=r.getLineContent(ie);return/^\s*$|^\s+/.test(Y)||Y.length<=P};if(a>1&&!_(a-1)){const ie=r.getLineCount(),Y=a===ie,ge=a>1&&F(a-1),_e=!Y&&F(a+1),Ae=F(a),Le=!_e&&!ge;if(!_e&&!ge&&!S)return this.gutterState=new yr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:Kh._posPref}),this.renderGutterLightbub(),this.hide();ge||Y||ge&&!Ae?D-=1:(_e||Le&&Ae)&&(D+=1)}else if(a===1&&(a===r.getLineCount()||!F(a+1)&&!F(a)))if(this.gutterState=new yr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:Kh._posPref}),S)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(a<r.getLineCount()&&!_(a+1))D+=1;else if(c*g.spaceWidth<22)return this.hide();P=/^\S\s*$/.test(r.getLineContent(D))?2:1}this.state=new yr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:Kh._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const N=e.validActions,z=e.validActions[0].action.kind;if(N.length!==1||!z){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==yr.Hidden&&(this.state=yr.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==yr.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=yr.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=ei.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=ei.lightbulbSparkleAutofix:e=ei.lightbulbAutofix:this.state.actions.hasAIFix?e=ei.lightbulbSparkle:e=ei.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=$i.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=Ek,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=Dk:e=kk:this.gutterState.actions.hasAIFix?e=Ik:e=Lk,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=xi.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:$i.asClassName(e),glyphMargin:{position:v_.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 W(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 W(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=y("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=y("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=y("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=y("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}},Kh=Ga,Ga.GUTTER_DECORATION=xi.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:$i.asClassName(ei.lightBulb),glyphMargin:{position:v_.Left},stickiness:1}),Ga.ID="editor.contrib.lightbulbWidget",Ga._posPref=[0],Ga);Kf=Kh=W3([B3(1,is)],Kf);var GT=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},kS=function(o,e){return function(t,i){e(t,i,o)}};const ZT="acceptSelectedCodeAction",XT="previewSelectedCodeAction";class z3{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 IS=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 f0(e,p0);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=$i.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=Gc(e.group.icon.color.id))):(i.icon.className=$i.asClassName(ei.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=YT(e.label),i.keybinding.set(e.keybinding),wA(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(ZT))==null?void 0:a.getLabel(),s=(c=this._keybindingService.lookupKeybinding(XT))==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=y({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=y({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",n):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};IS=GT([kS(1,is)],IS);class V3 extends UIEvent{constructor(){super("acceptSelectedAction")}}class Pk extends UIEvent{constructor(){super("previewSelectedAction")}}function j3(o){if(o.kind==="action")return o.label}let DS=class extends ze{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 fs),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 m0(e,this.domNode,a,[new IS(t,this._keybindingService),new z3],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:j3},accessibilityProvider:{getAriaLabel:c=>{if(c.kind==="action"){let h=c.label?YT(c==null?void 0:c.label):"";return c.disabled&&(h=y({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",h,c.disabled)),h}return null},getWidgetAriaLabel:()=>y({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:c=>c.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(SA),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((h,g)=>{const f=this.domNode.ownerDocument.getElementById(this._list.getElementID(g));if(f){f.style.width="auto";const p=f.getBoundingClientRect().width;return f.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 Pk:new V3;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 Pk):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([])}};DS=GT([kS(4,Fb),kS(5,is)],DS);function YT(o){return o.replace(/\r\n|\r|\n/g," ")}var U3=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},sw=function(o,e){return function(t,i){e(t,i,o)}};ut("actionBar.toggledBackground",_0,y("actionBar.toggledBackground","Background color for toggled action items in action bar."));const th={Visible:new Pi("codeActionMenuVisible",!1,y("codeActionMenuVisible","Whether the action widget list is visible"))},ph=gl("actionWidgetService");let ih=class extends ze{get isVisible(){return th.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Lo)}show(e,t,i,n,s,r,a){const c=th.Visible.bindTo(this._contextKeyService),h=this._instantiationService.createInstance(DS,e,t,i,n);this._contextViewService.showContextView({getAnchor:()=>s,render:g=>(c.set(!0),this._renderWidget(g,h,a??[])),onHide:g=>{c.reset(),this._onWidgetClosed(g)}},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 v;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 We,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(Hi(a,Tn.MOUSE_DOWN,_=>_.stopPropagation()));const c=document.createElement("div"),h=e.appendChild(c);h.classList.add("context-view-pointerBlock"),s.add(Hi(h,Tn.POINTER_MOVE,()=>h.remove())),s.add(Hi(h,Tn.MOUSE_DOWN,()=>h.remove()));let g=0;if(i.length){const _=this._createActionBar(".action-widget-action-bar",i);_&&(n.appendChild(_.getContainer().parentElement),s.add(_),g=_.getContainer().offsetWidth)}const f=(v=this._list.value)==null?void 0:v.layout(g);n.style.width=`${f}px`;const p=s.add(zu(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=ht(e),n=new Mf(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};ih=U3([sw(0,Fb),sw(1,Wi),sw(2,ci)],ih);fl(ph,ih,1);const Kp=1100;en(class extends Ys{constructor(){super({id:"hideCodeActionWidget",title:vt("hideCodeActionWidget.title","Hide action widget"),precondition:th.Visible,keybinding:{weight:Kp,primary:9,secondary:[1033]}})}run(o){o.get(ph).hide(!0)}});en(class extends Ys{constructor(){super({id:"selectPrevCodeAction",title:vt("selectPrevCodeAction.title","Select previous action"),precondition:th.Visible,keybinding:{weight:Kp,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(ph);e instanceof ih&&e.focusPrevious()}});en(class extends Ys{constructor(){super({id:"selectNextCodeAction",title:vt("selectNextCodeAction.title","Select next action"),precondition:th.Visible,keybinding:{weight:Kp,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(ph);e instanceof ih&&e.focusNext()}});en(class extends Ys{constructor(){super({id:ZT,title:vt("acceptSelected.title","Accept selected action"),precondition:th.Visible,keybinding:{weight:Kp,primary:3,secondary:[2137]}})}run(o){const e=o.get(ph);e instanceof ih&&e.acceptSelected()}});en(class extends Ys{constructor(){super({id:XT,title:vt("previewSelected.title","Preview selected action"),precondition:th.Visible,keybinding:{weight:Kp,primary:2051}})}run(o){const e=o.get(ph);e instanceof ih&&e.acceptSelected(!0)}});const JT=new Pi("supportedCodeAction",""),Tk="_typescript.applyFixAllCodeAction";class $3 extends ze{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new Dp),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=>b_(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:ho.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!==By.Off){{if(i===By.On)return t;if(i===By.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 Ac;(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(yc(r))return QT;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(Ac||(Ac={}));const QT=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class q3 extends ze{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 Lo),this._state=Ac.Empty,this._onDidChangeState=this._register(new gi),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=JT.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(Ac.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(Ac.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 $3(this._editor,this._markerService,i=>{var c;if(!i){this.setState(Ac.Empty);return}const n=i.selection.getStartPosition(),s=gs(async h=>{var g,f,p,v,_,w,S,D,P,N;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===ho.QuickFix||(f=(g=i.trigger.filter)==null?void 0:g.include)!=null&&f.contains(fn.QuickFix))){const z=await nu(this._registry,e,i.selection,i.trigger,qa.None,h),F=[...z.allActions];if(h.isCancellationRequested)return QT;const ie=(p=z.validActions)==null?void 0:p.some(ge=>ge.action.kind?fn.QuickFix.contains(new Sn(ge.action.kind)):!1),Y=this._markerService.read({resource:e.uri});if(ie){for(const ge of z.validActions)(_=(v=ge.action.command)==null?void 0:v.arguments)!=null&&_.some(_e=>typeof _e=="string"&&_e.includes(Tk))&&(ge.action.diagnostics=[...Y.filter(_e=>_e.relatedInformation)]);return{validActions:z.validActions,allActions:F,documentation:z.documentation,hasAutoFix:z.hasAutoFix,hasAIFix:z.hasAIFix,allAIFixes:z.allAIFixes,dispose:()=>{z.dispose()}}}else if(!ie&&Y.length>0){const ge=i.selection.getPosition();let _e=ge,Ae=Number.MAX_VALUE;const Le=[...z.validActions];for(const Tt of Y){const ft=Tt.endColumn,mt=Tt.endLineNumber,ct=Tt.startLineNumber;if(mt===ge.lineNumber||ct===ge.lineNumber){_e=new St(mt,ft);const Ot={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(w=i.trigger.filter)!=null&&w.include?(S=i.trigger.filter)==null?void 0:S.include:fn.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((D=i.trigger.context)==null?void 0:D.notAvailableMessage)||"",position:_e}},Me=new jt(_e.lineNumber,_e.column,_e.lineNumber,_e.column),Mt=await nu(this._registry,e,Me,Ot,qa.None,h);if(Mt.validActions.length!==0){for(const je of Mt.validActions)(N=(P=je.action.command)==null?void 0:P.arguments)!=null&&N.some(ot=>typeof ot=="string"&&ot.includes(Tk))&&(je.action.diagnostics=[...Y.filter(ot=>ot.relatedInformation)]);z.allActions.length===0&&F.push(...Mt.allActions),Math.abs(ge.column-ft)<Ae?Le.unshift(...Mt.validActions):Le.push(...Mt.validActions)}Ae=Math.abs(ge.column-ft)}}const gt=Le.filter((Tt,ft,mt)=>mt.findIndex(ct=>ct.action.title===Tt.action.title)===ft);return gt.sort((Tt,ft)=>Tt.action.isPreferred&&!ft.action.isPreferred?-1:!Tt.action.isPreferred&&ft.action.isPreferred||Tt.action.isAI&&!ft.action.isAI?1:!Tt.action.isAI&&ft.action.isAI?-1:0),{validActions:gt,allActions:F,documentation:z.documentation,hasAutoFix:z.hasAutoFix,hasAIFix:z.hasAIFix,allAIFixes:z.allAIFixes,dispose:()=>{z.dispose()}}}}if(i.trigger.type===1){const z=new co,F=await nu(this._registry,e,i.selection,i.trigger,qa.None,h);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:F.validActions.length,duration:z.elapsed()}),F}return nu(this._registry,e,i.selection,i.trigger,qa.None,h)});i.trigger.type===1&&((c=this._progressService)==null||c.showWhile(s,250));const r=new Ac.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:ho.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 K3=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)}},Gh;const G3="quickfix-edit-highlight";var Xl;let ig=(Xl=class extends ze{static get(e){return e.getContribution(Gh.ID)}constructor(e,t,i,n,s,r,a,c,h,g,f){super(),this._commandService=a,this._configurationService=c,this._actionWidgetService=h,this._instantiationService=g,this._telemetryService=f,this._activeCodeActions=this._register(new Lo),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new q3(this._editor,s.codeActionProvider,t,i,r,c,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new u0(()=>{const p=this._editor.getContribution(Kf.ID);return p&&this._register(p.onClick(v=>this.showCodeActionsFromLightbulb(v.actions,v))),p}),this._resolver=n.createInstance(LS),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,Vc.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=ro.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(N3,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:ho.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(h){ln(h);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 g=this.tryGetValidActionToApply(e.trigger,t);if(g){try{this.hideLightBulbWidget(),await this._applyCodeAction(g,!1,!1,Vc.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const f=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(f&&f.action.disabled){(r=ro.get(this._editor))==null||r.showMessage(f.action.disabled,e.trigger.context.position),t.dispose();return}}}const h=!!((a=e.trigger.filter)!=null&&a.include);if(e.trigger.context&&(!t.allActions.length||!h&&!t.validActions.length)){(c=ro.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:h,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=St.isIPosition(t)?this.toCoords(t):t,c={onSelect:async(h,g)=>{this._applyCodeAction(h,!0,!!g,i.fromLightbulb?Vc.FromAILightbulb:Vc.FromCodeActions),this._actionWidgetService.hide(!1),n.clear()},onHide:h=>{var g;(g=this._editor)==null||g.focus(),n.clear()},onHover:async(h,g)=>{var v;if(g.isCancellationRequested)return;let f=!1;const p=h.action.kind;if(p){const _=new Sn(p);f=[fn.RefactorExtract,fn.RefactorInline,fn.RefactorRewrite,fn.RefactorMove,fn.Source].some(S=>S.contains(_))}return{canPreview:f||!!((v=h.action.edit)!=null&&v.edits.length)}},onFocus:h=>{var g,f;if(h&&h.action){const p=h.action.ranges,v=h.action.diagnostics;if(n.clear(),p&&p.length>0){const _=v&&(v==null?void 0:v.length)>1?v.map(w=>({range:w,options:Gh.DECORATION})):p.map(w=>({range:w,options:Gh.DECORATION}));n.set(_)}else if(v&&v.length>0){const _=v.map(S=>({range:S,options:Gh.DECORATION}));n.set(_);const w=v[0];if(w.startLineNumber&&w.startColumn){const S=(f=(g=this._editor.getModel())==null?void 0:g.getWordAtPosition({lineNumber:w.startLineNumber,column:w.startColumn}))==null?void 0:f.word;Vu(y("editingNewSelection","Context: {0} at line {1} and column {2}.",S,w.startLineNumber,w.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,H3(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=Gs(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:y("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:y("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}},Gh=Xl,Xl.ID="editor.contrib.codeActionController",Xl.DECORATION=xi.register({description:"quickfix-highlight",className:G3}),Xl);ig=Gh=K3([Yr(1,v0),Yr(2,Wi),Yr(3,ci),Yr(4,Ct),Yr(5,Ep),Yr(6,hs),Yr(7,Cn),Yr(8,ph),Yr(9,ci),Yr(10,Wr)],ig);Hb((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(CA));const i=o.getColor(GD);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Nf(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function Gp(o){return re.regex(JT.keys()[0],new RegExp("(\\s|^)"+Rf(o.value)+"\\b"))}const s1={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:y("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:y("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[y("args.schema.apply.first","Always apply the first returned code action."),y("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),y("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:y("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function mh(o,e,t,i,n=ho.Default){if(o.hasModel()){const s=ig.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class Z3 extends ye{constructor(){super({id:n1,label:y("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:re.and(M.writable,M.hasCodeActionsProvider),kbOpts:{kbExpr:M.textInputFocus,primary:2137,weight:100}})}run(e,t){return mh(t,y("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,ho.QuickFix)}}class X3 extends Js{constructor(){super({id:jT,precondition:re.and(M.writable,M.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:s1}]}})}runEditorCommand(e,t,i){const n=ua.fromUser(i,{kind:Sn.Empty,apply:"ifSingle"});return mh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?y("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):y("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?y("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):y("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}class Y3 extends ye{constructor(){super({id:$T,label:y("refactor.label","Refactor..."),alias:"Refactor...",precondition:re.and(M.writable,M.hasCodeActionsProvider),kbOpts:{kbExpr:M.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:re.and(M.writable,Gp(fn.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:s1}]}})}run(e,t,i){const n=ua.fromUser(i,{kind:fn.Refactor,apply:"never"});return mh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?y("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):y("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?y("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):y("editor.action.refactor.noneMessage","No refactorings available"),{include:fn.Refactor.contains(n.kind)?n.kind:Sn.None,onlyIncludePreferredActions:n.preferred},n.apply,ho.Refactor)}}class J3 extends ye{constructor(){super({id:qT,label:y("source.label","Source Action..."),alias:"Source Action...",precondition:re.and(M.writable,M.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:re.and(M.writable,Gp(fn.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:s1}]}})}run(e,t,i){const n=ua.fromUser(i,{kind:fn.Source,apply:"never"});return mh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?y("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):y("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?y("editor.action.source.noneMessage.preferred","No preferred source actions available"):y("editor.action.source.noneMessage","No source actions available"),{include:fn.Source.contains(n.kind)?n.kind:Sn.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,ho.SourceAction)}}class Q3 extends ye{constructor(){super({id:SS,label:y("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:re.and(M.writable,Gp(fn.SourceOrganizeImports)),kbOpts:{kbExpr:M.textInputFocus,primary:1581,weight:100}})}run(e,t){return mh(t,y("editor.action.organize.noneMessage","No organize imports action available"),{include:fn.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",ho.OrganizeImports)}}class eB extends ye{constructor(){super({id:CS,label:y("fixAll.label","Fix All"),alias:"Fix All",precondition:re.and(M.writable,Gp(fn.SourceFixAll))})}run(e,t){return mh(t,y("fixAll.noneMessage","No fix all action available"),{include:fn.SourceFixAll,includeSourceActions:!0},"ifSingle",ho.FixAll)}}class tB extends ye{constructor(){super({id:UT,label:y("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:re.and(M.writable,Gp(fn.QuickFix)),kbOpts:{kbExpr:M.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return mh(t,y("editor.action.autoFix.noneMessage","No auto fixes available"),{include:fn.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",ho.AutoFix)}}vi(ig.ID,ig,3);vi(Kf.ID,Kf,4);se(Z3);se(Y3);se(J3);se(Q3);se(tB);se(eB);Lt(new X3);Fr.as(Pp.Configuration).registerConfiguration({...Wb,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:y("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});Fr.as(Pp.Configuration).registerConfiguration({...Wb,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:y("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});Fr.as(Pp.Configuration).registerConfiguration({...Wb,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:y("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 ES{constructor(){this.lenses=[],this._disposables=new We}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 eM(o,e,t){const i=o.ordered(e),n=new Map,s=new ES,r=i.map(async(a,c)=>{n.set(a,c);try{const h=await Promise.resolve(a.provideCodeLenses(e,t));h&&s.add(h,a)}catch(h){Xn(h)}});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}mn.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;zi(nn.isUri(t)),zi(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(Ct),s=o.get(Vs).getModel(t);if(!s)throw Ya();const r=[],a=new We;return eM(n,s,fi.None).then(c=>{a.add(c);const h=[];for(const g of c.lenses)i==null||g.symbol.command?r.push(g.symbol):i-- >0&&g.provider.resolveCodeLens&&h.push(Promise.resolve(g.provider.resolveCodeLens(s,g.symbol,fi.None)).then(f=>r.push(f||g.symbol)));return Promise.all(h)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var iB=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},nB=function(o,e){return function(t,i){e(t,i,o)}};const tM=gl("ICodeLensCache");class Mk{constructor(e,t){this.lineCount=e,this.data=t}}let PS=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Tp(20,.75);const t="codelens/cache";xA(LA,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=os.filter(e.onWillSaveState,r=>r.reason===b0.SHUTDOWN);os.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 ES;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new Mk(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 W(a,1,a,11)});const r=new ES;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new Mk(n.lineCount,r))}}catch{}}};PS=iB([nB(0,wc)],PS);fl(tM,PS,1);class sB{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 Ef=class Ef{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${Ef._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=kA(r.command.title.trim());if(r.command.id){const c=`c${Ef._idPool++}`;i.push(ht("a",{id:c,title:r.command.tooltip,role:"button"},...a)),this._commands.set(c,r.command)}else i.push(ht("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(ht("span",void 0," | "))}}n?(y_(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):y_(this._domNode,ht("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}};Ef._idPool=0;let TS=Ef;class ow{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 Nk=xi.register({collapseOnReplaceEdit:!0,description:"codelens"});class Rk{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((h,g)=>{h.symbol.command&&c.push(h.symbol),i.addDecoration({range:h.symbol.range,options:Nk},f=>this._decorationIds[g]=f),a?a=W.plusRange(a,h.symbol.range):a=W.lift(h.symbol.range)}),this._viewZone=new sB(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 TS(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&&W.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:Nk},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 oB=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},Wg=function(o,e){return function(t,i){e(t,i,o)}},Eu;let Gf=(Eu=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 We,this._localToDispose=new We,this._lenses=[],this._oldCodeLensModels=new We,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new rs(()=>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",y0.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&&Tf(()=>{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 rs(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=gs(r=>eM(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()},ln)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(wn(()=>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(g=>{!g.isValid()||c===g.getLineNumber()?a.push(g):(g.update(r),c=g.getLineNumber())});const h=new ow;a.forEach(g=>{g.dispose(h,r),this._lenses.splice(this._lenses.indexOf(g),1)}),h.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(wn(()=>{if(this._editor.getModel()){const n=ju.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 ow;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=ju.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(c=>{const h=new ow;let g=0,f=0;for(;f<i.length&&g<this._lenses.length;){const p=i[f][0].symbol.range.startLineNumber,v=this._lenses[g].getLineNumber();v<p?(this._lenses[g].dispose(h,c),this._lenses.splice(g,1)):v===p?(this._lenses[g].updateCodeLensSymbols(i[f],h),f++,g++):(this._lenses.splice(g,0,new Rk(i[f],this._editor,h,c,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),g++,f++)}for(;g<this._lenses.length;)this._lenses[g].dispose(h,c),this._lenses.splice(g,1);for(;f<i.length;)this._lenses.push(new Rk(i[f],this._editor,h,c,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),f++;h.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=gs(a=>{const c=t.map((h,g)=>{const f=new Array(h.length),p=h.map((v,_)=>!v.symbol.command&&typeof v.provider.resolveCodeLens=="function"?Promise.resolve(v.provider.resolveCodeLens(e,v.symbol,a)).then(w=>{f[_]=w},Xn):(f[_]=v.symbol,Promise.resolve(void 0)));return Promise.all(p).then(()=>{!a.isCancellationRequested&&!i[g].isDisposed()&&i[g].updateCommands(f)})});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=>{ln(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}},Eu.ID="css.editor.codeLens",Eu);Gf=oB([Wg(1,Ct),Wg(2,jo),Wg(3,hs),Wg(4,zs),Wg(5,tM)],Gf);vi(Gf.ID,Gf,1);se(class extends ye{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:M.hasCodeLensProvider,label:y("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(ul),n=e.get(hs),s=e.get(zs),r=t.getSelection().positionLineNumber,a=t.getContribution(Gf.ID);if(!a)return;const c=await a.getModel();if(!c)return;const h=[];for(const p of c.lenses)p.symbol.command&&p.symbol.range.startLineNumber===r&&h.push({label:p.symbol.command.title,command:p.symbol.command});if(h.length===0)return;const g=await i.pick(h,{canPickMany:!1,placeHolder:y("placeHolder","Select a command")});if(!g)return;let f=g.command;if(c.isDisposed){const p=await a.getModel(),v=p==null?void 0:p.lenses.find(_=>{var w;return _.symbol.range.startLineNumber===r&&((w=_.symbol.command)==null?void 0:w.title)===f.title});if(!v||!v.symbol.command)return;f=v.symbol.command}try{await n.executeCommand(f.id,...f.arguments||[])}catch(p){s.error(p)}}});var iM=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},MS=function(o,e){return function(t,i){e(t,i,o)}};let Zf=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 Si(new Uu(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),c=r?Si.Format.CSS.formatRGB(a):Si.Format.CSS.formatRGBA(a),h=r?Si.Format.CSS.formatHSL(a):Si.Format.CSS.formatHSLA(a),g=r?Si.Format.CSS.formatHex(a):Si.Format.CSS.formatHexA(a),f=[];return f.push({label:c,textEdit:{range:n,text:c}}),f.push({label:h,textEdit:{range:n,text:h}}),f.push({label:g,textEdit:{range:n,text:g}}),f}};Zf=iM([MS(0,pl)],Zf);let NS=class extends ze{constructor(e,t){super(),this._register(e.colorProvider.register("*",new Zf(t)))}};NS=iM([MS(0,Ct),MS(1,pl)],NS);bg(NS);async function nM(o,e,t,i=!0){return o1(new rB,o,e,t,i)}function sM(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class rB{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 aB{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 lB{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,fi.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function o1(o,e,t,i,n){let s=!1,r;const a=[],c=e.ordered(t);for(let h=c.length-1;h>=0;h--){const g=c[h];if(g instanceof Zf)r=g;else try{await o.compute(g,t,i,a)&&(s=!0)}catch(f){Xn(f)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function oM(o,e){const{colorProvider:t}=o.get(Ct),i=o.get(Vs).getModel(e);if(!i)throw Ya();const n=o.get(Cn).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}mn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof nn))throw Ya();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=oM(o,t);return o1(new aB,n,i,fi.None,s)});mn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof nn)||!Array.isArray(t)||t.length!==4||!W.isIRange(s))throw Ya();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:c}=oM(o,n),[h,g,f,p]=t;return o1(new lB({range:s,color:{red:h,green:g,blue:f,alpha:p}}),a,r,fi.None,c)});var cB=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},rw=function(o,e){return function(t,i){e(t,i,o)}},RS;const rM=Object.create({});var Yl;let ng=(Yl=class extends ze{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new We),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new ZD(this._editor),this._decoratorLimitReporter=new dB,this._colorDecorationClassRefs=this._register(new We),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:RS.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 Dp,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=gs(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new co(!1),n=await nM(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){ln(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:xi.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:h}=e[s].colorInfo.color,g=new Uu(Math.round(r*255),Math.round(a*255),Math.round(c*255),h),f=`rgba(${g.r}, ${g.g}, ${g.b}, ${g.a})`,p=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:f}));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:$D,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:rM}}})}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(W.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)}},RS=Yl,Yl.ID="editor.contrib.colorDetector",Yl.RECOMPUTE_TIME=1e3,Yl);ng=RS=cB([rw(1,Cn),rw(2,Ct),rw(3,jo)],ng);class dB{constructor(){this._onDidChange=new gi,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}vi(ng.ID,ng,1);class hB{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 gi,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new gi,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new gi,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 wo=ht;class uB extends ze{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=wo(".colorpicker-header"),nt(e,this._domNode),this._pickedColorNode=nt(this._domNode,wo(".picked-color")),nt(this._pickedColorNode,wo("span.codicon.codicon-color-mode")),this._pickedColorPresentation=nt(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const s=y("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",s),this._originalColorNode=nt(this._domNode,wo(".original-color")),this._originalColorNode.style.backgroundColor=Si.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(DL)||Si.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(DL)||Si.white})),this._register(Hi(this._pickedColorNode,Tn.CLICK,()=>this.model.selectNextColorPresentation())),this._register(Hi(this._originalColorNode,Tn.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=Si.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 gB(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Si.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 gB extends ze{constructor(e){super(),this._onClicked=this._register(new gi),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),nt(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),nt(this._button,t),nt(t,wo(".button"+$i.asCSSSelector(Gn("color-picker-close",ei.close,y("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(Hi(this._button,Tn.CLICK,()=>{this._onClicked.fire()}))}}class fB extends ze{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=wo(".colorpicker-body"),nt(e,this._domNode),this._saturationBox=new pB(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 mB(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 _B(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 vB(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 Si(new Km(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Si(new Km(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new Si(new Km(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 pB extends ze{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new gi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new gi,this.onColorFlushed=this._onColorFlushed.event,this._domNode=wo(".saturation-wrap"),nt(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",nt(this._domNode,this._canvas),this.selection=wo(".saturation-selection"),nt(this._domNode,this.selection),this.layout(),this._register(Hi(this._domNode,Tn.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 XD);const t=Gs(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=Hi(e.target.ownerDocument,Tn.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 Si(new Km(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=Si.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 aM extends ze{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new gi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new gi,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=nt(e,wo(".standalone-strip")),this.overlay=nt(this.domNode,wo(".standalone-overlay"))):(this.domNode=nt(e,wo(".strip")),this.overlay=nt(this.domNode,wo(".overlay"))),this.slider=nt(this.domNode,wo(".slider")),this.slider.style.top="0px",this._register(Hi(this.domNode,Tn.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 XD),i=Gs(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=Hi(e.target.ownerDocument,Tn.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 mB extends aM{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 Si(new Uu(t,i,n,1)),r=new Si(new Uu(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class _B extends aM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class vB extends ze{constructor(e){super(),this._onClicked=this._register(new gi),this.onClicked=this._onClicked.event,this._button=nt(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Hi(this._button,Tn.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class bB extends Mp{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(IA.getInstance(Zc(e)).onDidChange(()=>this.layout())),this._domNode=wo(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new uB(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 aw{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 s_{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 nh{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const _h=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var lM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},cM=function(o,e){return function(t,i){e(t,i,o)}};class yB{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 Xf=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return Tr.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=ng.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 dM(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=hM(this,this._editor,this._themeService,t,e);if(!i)return new nh([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new nh([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};Xf=lM([cM(1,pr)],Xf);class wB{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let Yf=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!ng.get(this._editor))return null;const s=await nM(i,this._editor.getModel(),fi.None);let r=null,a=null;for(const f of s){const p=f.colorInfo;W.containsRange(p.range,e.range)&&(r=p,a=f.provider)}const c=r??e,h=a??t,g=!!r;return{colorHover:await dM(this,this._editor.getModel(),c,h),foundInEditor:g}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new W(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await o_(this._editor.getModel(),t,this._color,i,e),i=uM(this._editor,i,t))}renderHoverParts(e,t){return hM(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};Yf=lM([cM(1,pr)],Yf);async function dM(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:c}=t.color,h=new Uu(Math.round(s*255),Math.round(r*255),Math.round(a*255),c),g=new Si(h),f=await sM(e,t,i,fi.None),p=new hB(g,[],0);return p.colorPresentations=f||[],p.guessColorPresentation(g,n),o instanceof Xf?new yB(o,W.lift(t.range),p,i):new wB(o,W.lift(t.range),p,i)}function hM(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new gn(302,p))}const s=new We,r=i[0],a=e.getModel(),c=r.model,h=s.add(new bB(n.fragment,c,e.getOption(144),t,o instanceof Yf));let g=!1,f=new W(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof Yf){const p=r.model.color;o.color=p,o_(a,c,p,f,r),s.add(c.onColorFlushed(v=>{o.color=v}))}else s.add(c.onColorFlushed(async p=>{await o_(a,c,p,f,r),g=!0,f=uM(e,f,c)}));return s.add(c.onDidChangeColor(p=>{o_(a,c,p,f,r)})),s.add(e.onDidChangeModelContent(p=>{g?g=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:h,disposables:s}}function uM(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=W.lift(n.range),r=o.getModel()._setTrackedRange(null,s,3);return o.executeEdits("colorpicker",i),o.pushUndoStop(),o.getModel()._getTrackedRange(r)??s}async function o_(o,e,t,i,n){const s=await sM(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,fi.None);e.colorPresentations=s||[]}const gM="editor.action.showHover",SB="editor.action.showDefinitionPreviewHover",CB="editor.action.scrollUpHover",xB="editor.action.scrollDownHover",LB="editor.action.scrollLeftHover",kB="editor.action.scrollRightHover",IB="editor.action.pageUpHover",DB="editor.action.pageDownHover",EB="editor.action.goToTopHover",PB="editor.action.goToBottomHover",dy="editor.action.increaseHoverVerbosityLevel",TB=y({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),hy="editor.action.decreaseHoverVerbosityLevel",MB=y({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),fM="editor.action.inlineSuggest.commit",pM="editor.action.inlineSuggest.showPrevious",mM="editor.action.inlineSuggest.showNext";var r1=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},sr=function(o,e){return function(t,i){e(t,i,o)}},r_;let AS=class extends ze{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=no(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=Ji(this,n=>{var c,h;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 St(s.lineNumber,Math.min(r,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Np((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=eE((h,g)=>{const f=g.add(this.instantiationService.createInstance(sg,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(f),g.add(wn(()=>e.removeContentWidget(f))),g.add(Pn(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==Ja.Explicit&&r.triggerExplicitly()})),f}),c=Bb(this,(h,g)=>!!this.position.read(h)||!!g);s.add(Pn(h=>{c.read(h)&&a.read(h)}))}))}};AS=r1([sr(2,ci)],AS);const NB=Gn("inline-suggestion-hints-next",ei.chevronRight,y("parameterHintsNextIcon","Icon for show next parameter hint.")),RB=Gn("inline-suggestion-hints-previous",ei.chevronLeft,y("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var Jl;let sg=(Jl=class extends ze{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new $u(e,t,i,!0,()=>this._commandService.executeCommand(e)),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let r=t;return s&&(r=y({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,h,g,f){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=n,this._suggestionCount=s,this._extraCommands=r,this._commandService=a,this.keybindingService=h,this._contextKeyService=g,this._menuService=f,this.id=`InlineSuggestionHintsContentWidget${r_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=or("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[or("div@toolBar")]),this.previousAction=this.createCommandAction(pM,y("previous","Previous"),$i.asClassName(RB)),this.availableSuggestionCountAction=new $u("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(mM,y("next","Next"),$i.asClassName(NB)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Qe.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new rs(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new rs(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(c.createInstance(OS,this.nodes.toolBar,Qe.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,v)=>{if(p instanceof qu)return c.createInstance(OB,p,void 0);if(p===this.availableSuggestionCountAction){const _=new AB(void 0,p,{label:!0,icon:!1});return _.setClass("availableSuggestionCount"),_}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(p=>{r_._dropDownVisible=p})),this._register(Pn(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(Pn(p=>{const v=this._suggestionCount.read(p),_=this._currentSuggestionIdx.read(p);v!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${_+1}/${v}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),v!==void 0&&v>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(Pn(p=>{const _=this._extraCommands.read(p).map(w=>({class:void 0,id:w.id,enabled:!0,tooltip:w.tooltip||"",label:w.title,run:S=>this._commandService.executeCommand(w.id)}));for(const[w,S]of this.inlineCompletionsActionsMenus.getActions())for(const D of S)D instanceof qu&&_.push(D);_.length>0&&_.unshift(new Af),this.toolBar.setAdditionalSecondaryActions(_)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},r_=Jl,Jl._dropDownVisible=!1,Jl.id=0,Jl);sg=r_=r1([sr(6,hs),sr(7,ci),sr(8,is),sr(9,Wi),sr(10,hh)],sg);class AB extends Ww{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 OB=class extends YD{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=or("div.keybinding").root;this._register(new f0(t,p0,{disableTitle:!0,...JD})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},OS=class extends QD{constructor(e,t,i,n,s,r,a,c,h){super(e,{resetMenu:t,...i},n,s,r,a,c,h),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,h;const e=[],t=[];w0(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,(h=(c=this.options2)==null?void 0:c.toolbarOptions)==null?void 0:h.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){Sa(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Sa(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};OS=r1([sr(3,hh),sr(4,Wi),sr(5,mg),sr(6,is),sr(7,hs),sr(8,Wr)],OS);function uy(o,e,t){const i=Gs(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let FB=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class _M extends ze{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new gi),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new rs(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new rs(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new rs(()=>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=DA(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){ln(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 FB(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 a1{constructor(){this._onDidWillResize=new gi,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new gi,this.onDidResize=this._onDidResize.event,this._sashListener=new We,this._size=new gn(0,0),this._minSize=new gn(0,0),this._maxSize=new gn(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new Jh(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Jh(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Jh(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:EL.North}),this._southSash=new Jh(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:EL.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(os.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(os.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(os.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(os.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 gn(t,e);gn.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 HB=30,WB=24;class BB extends ze{constructor(e,t=new gn(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new a1),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=gn.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 gn(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?St.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:Gs(t).top+i.top-HB}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=Gs(t),s=Rp(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-WB}_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 zB=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},wm=function(o,e){return function(t,i){e(t,i,o)}},ea;const Ak=30,VB=6;var Ql;let FS=(Ql=class extends BB{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 gn(a,r);super(e,c),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new tE),this._onDidResize=this._register(new gi),this.onDidResize=this._onDidResize.event,this._minimumSize=c,this._hoverVisibleKey=M.hoverVisible.bindTo(t),this._hoverFocusedKey=M.hoverFocused.bindTo(t),nt(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(g=>{g.hasChanged(50)&&this._updateFont()}));const h=this._register(zu(this._resizableNode.domNode));this._register(h.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(h.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 ea.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 ea._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return ea._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){ea._applyMaxDimensions(this._hover.contentsDomNode,e,t),ea._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 gn(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){ea._lastDimensions=new gn(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=VB;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?Rp(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=Gs(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=Ok(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=Ok(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,ea._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,ea._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=Qh(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&&EA(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 gn(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 gn(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 gn(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=Qh(e),i=Jo(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=Qh(e),i=Jo(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=Qh(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-Ak})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+Ak})}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})}},ea=Ql,Ql.ID="editor.contrib.resizableContentHoverWidget",Ql._lastDimensions=new gn(0,0),Ql);FS=ea=zB([wm(1,Wi),wm(2,Cn),wm(3,zb),wm(4,is)],FS);function Ok(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),h=Math.max(Math.abs(e-a)-s/2,0);return Math.sqrt(c*c+h*h)}class B_{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 Tr.EMPTY;const i=B_._getLineDecorations(this._editor,t);return Tr.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):Tr.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=B_._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return il(t)}}class vM{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 jB(this,this.anchor,t,this.isComplete)}}class jB extends vM{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var UB=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},$B=function(o,e){return function(t,i){e(t,i,o)}};const Fk=ht;let z_=class extends ze{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=Fk("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=nt(this.hoverElement,Fk("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(PA.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=nt(this.actionsElement,e);return this._hasContent=!0,t}};z_=UB([$B(0,is)],z_);class qB{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function KB(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(Xn);if(!(!s||!GB(s)))return new qB(o,s,e)}function l1(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,c)=>KB(a,c,e,t,i));return Tr.fromPromises(r).coalesce()}function bM(o,e,t,i,n=!1){return l1(o,e,t,i,n).map(s=>s.hover).toPromise()}Qs("_executeHoverProvider",(o,e,t)=>{const i=o.get(Ct);return bM(i.hoverProvider,e,t,fi.None)});Qs("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(Ct);return bM(i.hoverProvider,e,t,fi.None,!0)});function GB(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var ZB=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 su=ht,XB=Gn("hover-increase-verbosity",ei.add,y("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),YB=Gn("hover-decrease-verbosity",ei.remove,y("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class ar{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 yM{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case Wo.Increase:return this.hover.canIncreaseVerbosity??!1;case Wo.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let Jf=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 ar(this,e.range,[new Ns().appendText(y("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),h=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),g=this._editor.getOption(118),f=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:h});let p=!1;g>=0&&c>g&&e.range.startColumn>=g&&(p=!0,r.push(new ar(this,e.range,[{value:y("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!p&&typeof f=="number"&&c>=f&&r.push(new ar(this,e.range,[{value:y("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let v=!1;for(const _ of t){const w=_.range.startLineNumber===n?_.range.startColumn:1,S=_.range.endLineNumber===n?_.range.endColumn:s,D=_.options.hoverMessage;if(!D||Of(D))continue;_.options.beforeContentClassName&&(v=!0);const P=new W(e.range.startLineNumber,w,e.range.startLineNumber,S);r.push(new ar(this,P,iE(D),v,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return Tr.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):Tr.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return l1(e,t,s,n).filter(c=>!Of(c.hover.contents)).map(c=>{const h=c.hover.range?W.lift(c.hover.range):i.range,g=new yM(c.hover,c.provider,s);return new ar(this,h,c.hover.contents,!1,c.ordinal,g)})}renderHoverParts(e,t){return this._renderedHoverParts=new JB(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))}};Jf=ZB([kc(1,Br),kc(2,Hr),kc(3,Cn),kc(4,Ct),kc(5,is),kc(6,Ap),kc(7,hs)],Jf);class Sm{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class JB{constructor(e,t,i,n,s,r,a,c,h,g,f){this._hoverParticipant=i,this._editor=n,this._languageService=s,this._openerService=r,this._commandService=a,this._keybindingService=c,this._hoverService=h,this._configurationService=g,this._onFinishedRendering=f,this._ongoingHoverOperations=new Map,this._disposables=new We,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(wn(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(Op(n=>n.ordinal,Vb)),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 We;if(r.add(i),!s)return new Sm(e,n,r);const a=s.supportsVerbosityAction(Wo.Increase),c=s.supportsVerbosityAction(Wo.Decrease);if(!a&&!c)return new Sm(e,n,r);const h=su("div.verbosity-actions");return n.prepend(h),r.add(this._renderHoverExpansionAction(h,Wo.Increase,a)),r.add(this._renderHoverExpansionAction(h,Wo.Decrease,c)),new Sm(e,n,r)}_renderMarkdownHover(e,t){return wM(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new We,s=t===Wo.Increase,r=nt(e,su($i.asCSSSelector(s?XB:YB)));r.tabIndex=0;const a=new TA("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,ez(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const c=()=>this._commandService.executeCommand(t===Wo.Increase?dy:hy);return n.add(new MA(r,c)),n.add(new NA(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 yM(a,r.hoverProvider,r.hoverPosition),h=s.hoverPart,g=new ar(this._hoverParticipant,h.range,a.contents,h.isBeforeContent,h.ordinal,c),f=this._renderHoverPart(g,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(t,f,g),i&&this._focusOnHoverPartWithIndex(t),{hoverPart:g,hoverElement:f.hoverElement}}async _fetchHover(e,t,i){let n=i===Wo.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new fs;this._ongoingHoverOperations.set(s,{verbosityDelta:n,tokenSource:a});const c={verbosityRequest:{verbosityDelta:n,previousHover:e.hover}};let h;try{h=await Promise.resolve(s.provideHover(t,e.hoverPosition,a.token,c))}catch(g){Xn(g)}return a.dispose(),this._ongoingHoverOperations.delete(s),h}_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 Sm(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 QB(o,e,t,i,n){e.sort(Op(r=>r.ordinal,Vb));const s=[];for(const r of e)s.push(wM(t,r,i,n,o.onContentsChanged));return new nh(s)}function wM(o,e,t,i,n){const s=new We,r=su("div.hover-row"),a=su("div.hover-row-contents");r.appendChild(a);const c=e.contents;for(const g of c){if(Of(g))continue;const f=su("div.markdown-hover"),p=nt(f,su("div.hover-contents")),v=s.add(new yg({editor:o},t,i));s.add(v.onDidRenderAsync(()=>{p.className="hover-contents code-hover-contents",n()}));const _=s.add(v.render(g));p.appendChild(_.element),a.appendChild(f)}return{hoverPart:e,hoverElement:r,dispose(){s.dispose()}}}function ez(o,e){switch(e){case Wo.Increase:{const t=o.lookupKeybinding(dy);return t?y("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):y("increaseVerbosity","Increase Hover Verbosity")}case Wo.Decrease:{const t=o.lookupKeybinding(hy);return t?y("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):y("decreaseVerbosity","Decrease Hover Verbosity")}}}function HS(o,e){return!!o[e]}class lw{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=HS(e.event,t.triggerModifier),this.hasSideBySideModifier=HS(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class Hk{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=HS(e,t.triggerModifier)}}class Cm{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 Wk(o){return o==="altKey"?Ca?new Cm(57,"metaKey",6,"altKey"):new Cm(5,"ctrlKey",6,"altKey"):Ca?new Cm(6,"altKey",57,"metaKey"):new Cm(6,"altKey",5,"ctrlKey")}class gy extends ze{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new gi),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new gi),this.onExecute=this._onExecute.event,this._onCancel=this._register(new gi),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=Wk(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=Wk(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 lw(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new lw(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new lw(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new Hk(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new Hk(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 SM{constructor(e,t){this.range=e,this.direction=t}}class c1{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new c1(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){Xn(t),this._isResolved=!1}}}const hu=class hu{static async create(e,t,i,n){const s=[],r=e.ordered(t).reverse().map(a=>i.map(async c=>{try{const h=await a.provideInlayHints(t,c,n);(h!=null&&h.hints.length||a.onDidChangeInlayHints)&&s.push([h??hu._emptyInlayHintList,a])}catch(h){Xn(h)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new Ob;return new hu(i,s,t)}constructor(e,t,i){this._disposables=new We,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 h="before";const g=hu._getRangeAtPosition(i,c);let f;g.getStartPosition().isBefore(c)?(f=W.fromPositions(g.getStartPosition(),c),h="after"):(f=W.fromPositions(c,g.getEndPosition()),h="before"),n.push(new c1(a,new SM(f,h),r))}}this.items=n.sort((s,r)=>St.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 W(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),h=s.getEndOffset(a);return h-c===1&&(c===r&&a>1?(c=s.getStartOffset(a-1),h=s.getEndOffset(a-1)):h===r&&a<s.getCount()-1&&(c=s.getStartOffset(a+1),h=s.getEndOffset(a+1))),new W(i,c+1,i,h+1)}};hu._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let V_=hu;function tz(o){return nn.from({scheme:$s.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var iz=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},Aa=function(o,e){return function(t,i){e(t,i,o)}};let fr=class extends RA{constructor(e,t,i,n,s,r,a,c,h,g,f,p,v){super(e,{...n.getRawOptions(),overflowWidgetsDomNode:n.getOverflowWidgetsDomNode()},i,s,r,a,c,h,g,f,p,v),this._parentEditor=n,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(n.onDidChangeConfiguration(_=>this._onParentConfigurationChanged(_)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){S0(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};fr=iz([Aa(4,ci),Aa(5,Yn),Aa(6,hs),Aa(7,Wi),Aa(8,pr),Aa(9,zs),Aa(10,zb),Aa(11,us),Aa(12,Ct)],fr);const Bk=new Si(new Uu(0,122,204)),nz={showArrow:!0,showFrame:!0,className:"",frameColor:Bk,arrowColor:Bk,keepEditorSelection:!1},sz="vs.editor.contrib.zoneWidget";class oz{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 rz{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const Gv=class Gv{constructor(e){this._editor=e,this._ruleName=Gv._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),PL(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(){PL(this._ruleName),FA(`.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:W.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};Gv._IdGenerator=new OA(".arrow-decoration-");let WS=Gv;class az{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new We,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=AA(t),S0(this.options,nz,!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 WS(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=W.isIRange(e)?W.lift(e):W.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:xi.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,h=0;if(this._arrow&&this.options.showArrow&&(c=Math.round(a/3),this._arrow.height=c,this._arrow.show(i)),this.options.showFrame&&(h=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 oz(r,i.lineNumber,i.column,t,v=>this._onViewZoneTop(v),v=>this._onViewZoneHeight(v),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=p.addZone(this._viewZone),this._overlayWidget=new rz(sz+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const p=this.options.frameWidth?this.options.frameWidth:h;this.container.style.borderTopWidth=p+"px",this.container.style.borderBottomWidth=p+"px"}const g=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=c+"px",this.container.style.height=g+"px",this.container.style.overflow="hidden"),this._doLayout(g,s),this.options.keepEditorSelection||this.editor.setSelection(e);const f=this.editor.getModel();if(f){const p=f.validateRange(new W(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(p,p.startLineNumber===f.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 Jh(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 CM=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},xM=function(o,e){return function(t,i){e(t,i,o)}};const LM=gl("IPeekViewService");fl(LM,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 Zs;(function(o){o.inPeekEditor=new Pi("inReferenceSearchEditor",!0,y("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(Zs||(Zs={}));var Pu;let j_=(Pu=class{constructor(e,t){e instanceof fr&&Zs.inPeekEditor.bindTo(t)}dispose(){}},Pu.ID="editor.contrib.referenceController",Pu);j_=CM([xM(1,Wi)],j_);vi(j_.ID,j_,0);function lz(o){const e=o.get(Yn).getFocusedCodeEditor();return e instanceof fr?e.getParentEditor():e}const cz={headerBackgroundColor:Si.white,primaryHeadingColor:Si.fromHex("#333333"),secondaryHeadingColor:Si.fromHex("#6c6c6cb3")};let U_=class extends az{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new gi,this.onDidClose=this._onDidClose.event,S0(this.options,cz,!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=ht(".head"),this._bodyElement=ht(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=ht(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),sl(this._titleElement,"click",s=>this._onTitleClick(s))),nt(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=ht("span.filename"),this._secondaryHeading=ht("span.dirname"),this._metaHeading=ht("span.meta"),nt(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=ht(".peekview-actions");nt(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new Mf(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new $u("peekview.close",y("label.close","Close"),$i.asClassName(ei.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:HA.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:ba(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,rr(this._metaHeading)):bo(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`)}};U_=CM([xM(2,ci)],U_);const dz=ut("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Si.black,hcLight:Si.white},y("peekViewTitleBackground","Background color of the peek view title area.")),kM=ut("peekViewTitleLabel.foreground",{dark:Si.white,light:Si.black,hcDark:Si.white,hcLight:Fp},y("peekViewTitleForeground","Color of the peek view title.")),IM=ut("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},y("peekViewTitleInfoForeground","Color of the peek view title info.")),hz=ut("peekView.border",{dark:Bw,light:Bw,hcDark:nl,hcLight:nl},y("peekViewBorder","Color of the peek view borders and arrow.")),uz=ut("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Si.black,hcLight:Si.white},y("peekViewResultsBackground","Background color of the peek view result list."));ut("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Si.white,hcLight:Fp},y("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));ut("peekViewResult.fileForeground",{dark:Si.white,light:"#1E1E1E",hcDark:Si.white,hcLight:Fp},y("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));ut("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},y("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));ut("peekViewResult.selectionForeground",{dark:Si.white,light:"#6C6C6C",hcDark:Si.white,hcLight:Fp},y("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const DM=ut("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Si.black,hcLight:Si.white},y("peekViewEditorBackground","Background color of the peek view editor."));ut("peekViewEditorGutter.background",DM,y("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));ut("peekViewEditorStickyScroll.background",DM,y("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));ut("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},y("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));ut("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},y("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));ut("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:qd,hcLight:qd},y("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class mc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=WA.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?y({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,xa(this.uri),this.range.startLineNumber,this.range.startColumn):y("aria.oneReference","in {0} on line {1} at column {2}",xa(this.uri),this.range.startLineNumber,this.range.startColumn)}}class gz{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}),h=new W(n,c.startColumn,n,s),g=new W(r,a,r,1073741824),f=i.getValueInRange(h).replace(/^\s+/,""),p=i.getValueInRange(e),v=i.getValueInRange(g).replace(/\s+$/,"");return{value:f+p+v,highlight:{start:f.length,end:f.length+p.length}}}}class Qf{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new hc}dispose(){As(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?y("aria.fileReferences.1","1 symbol in {0}, full path {1}",xa(this.uri),this.uri.fsPath):y("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,xa(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 gz(i))}catch(i){ln(i)}return this}}class ao{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new gi,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(ao._compareReferences);let n;for(const s of e)if((!n||!TL.isEqual(n.uri,s.uri,!0))&&(n=new Qf(this,s.uri),this.groups.push(n)),n.children.length===0||ao._compareReferences(s,n.children[n.children.length-1])!==0){const r=new mc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){As(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new ao(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?y("aria.result.0","No results found"):this.references.length===1?y("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?y("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):y("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:Hp(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()&&W.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 TL.compare(e.uri,t.uri)||W.compareRangesUsingStarts(e.range,t.range)}}var fy=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},py=function(o,e){return function(t,i){e(t,i,o)}},BS;let zS=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof ao||e instanceof Qf}getChildren(e){if(e instanceof ao)return e.groups;if(e instanceof Qf)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};zS=fy([py(0,zr)],zS);class fz{getHeight(){return 23}getTemplateId(e){return e instanceof Qf?$_.id:q_.id}}let VS=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof mc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return xa(e.uri)}};VS=fy([py(0,is)],VS);class pz{getId(e){return e instanceof mc?e.id:e.uri}}let jS=class extends ze{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new nE(i,{supportHighlights:!0})),this.badge=new BA(nt(i,ht(".count")),{},zA),e.appendChild(i)}set(e,t){const i=C0(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(y("referencesCount","{0} references",n)):this.badge.setTitleFormat(y("referenceCount","{0} reference",n))}};jS=fy([py(1,Ff)],jS);var cd;let $_=(cd=class{constructor(e){this._instantiationService=e,this.templateId=BS.id}renderTemplate(e){return this._instantiationService.createInstance(jS,e)}renderElement(e,t,i){i.set(e.element,jb(e.filterData))}disposeTemplate(e){e.dispose()}},BS=cd,cd.id="FileReferencesRenderer",cd);$_=BS=fy([py(0,ci)],$_);class mz extends ze{constructor(e){super(),this.label=this._register(new VA(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(`${xa(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!Hf.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,jb(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const Zv=class Zv{constructor(){this.templateId=Zv.id}renderTemplate(e){return new mz(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Zv.id="OneReferenceRenderer";let q_=Zv;class _z{getWidgetAriaLabel(){return y("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var vz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Nh=function(o,e){return function(t,i){e(t,i,o)}};const Xv=class Xv{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new We,this._callOnModelChange=new We,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:Xv.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(!W.equalsRange(s,n.range)){if(W.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()}};Xv.DecorationOptions=xi.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let US=Xv;class bz{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 yz extends $A{}let $S=class extends U_{constructor(e,t,i,n,s,r,a,c,h){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=h,this._disposeOnNewModel=new We,this._callOnDispose=new We,this._onDidSelectReference=new gi,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new gn(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(),As(this._preview),As(this._previewNotAvailableMessage),As(this._tree),As(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(hz)||Si.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(dz)||Si.transparent,primaryHeadingColor:e.getColor(kM),secondaryHeadingColor:e.getColor(IM)})}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=nt(e,ht("div.messages")),bo(this._messageContainer),this._splitView=new jA(e,{orientation:1}),this._previewContainer=nt(e,ht("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(fr,this._previewContainer,t,{},this.editor),bo(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(Fl,y("missingPreviewMessage","no preview available"),Wf,Fl.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=nt(e,ht("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new _z,keyboardNavigationLabelProvider:this._instantiationService.createInstance(VS),identityProvider:new pz,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:uz}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(sl(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(yz,"ReferencesWidget",this._treeContainer,new fz,[this._instantiationService.createInstance($_),this._instantiationService.createInstance(q_)],this._instantiationService.createInstance(zS),i),this._splitView.addView({onDidChange:os.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},ML.Distribute),this._splitView.addView({onDidChange:os.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)}},ML.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 mc&&(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")})),bo(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new gn(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=y("noResults","No results"),rr(this._messageContainer),Promise.resolve(void 0)):(bo(this._messageContainer),this._decorationsManager=new US(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"),rr(this._treeContainer),rr(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 mc)return e;if(e instanceof Qf&&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!==$s.inMemory?this.setTitle(UA(e.uri),this._uriLabel.getUriLabel(C0(e.uri))):this.setTitle(y("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}As(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=W.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()}};$S=vz([Nh(3,pr),Nh(4,zr),Nh(5,ci),Nh(6,LM),Nh(7,Ff),Nh(8,is)],$S);var wz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Rh=function(o,e){return function(t,i){e(t,i,o)}},a_;const vh=new Pi("referenceSearchVisible",!1,y("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var dd;let sh=(dd=class{static get(e){return e.getContribution(a_.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 We,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=vh.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=bz.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance($S,this._editor,this._defaultTreeKeyboardSupport,r),this._widget.setTitle(y("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:h,kind:g}=c;if(h)switch(g){case"open":(c.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(h,!1,!1);break;case"side":this.openReference(h,!0,!1);break;case"goto":i?this._gotoReference(h,!0):this.openReference(h,!1,!0);break}}));const a=++this._requestIdPool;t.then(c=>{var h;if(a!==this._requestIdPool||!this._widget){c.dispose();return}return(h=this._model)==null||h.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(y("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const g=this._editor.getModel().uri,f=new St(e.startLineNumber,e.startColumn),p=this._model.nearestReference(g,f);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=W.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=a_.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,gs(c=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,ln(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)}},a_=dd,dd.ID="editor.contrib.referencesController",dd);sh=a_=wz([Rh(2,Wi),Rh(3,Yn),Rh(4,zs),Rh(5,ci),Rh(6,wc),Rh(7,Cn)],sh);function bh(o,e){const t=lz(o);if(!t)return;const i=sh.get(t);i&&e(i)}Ia.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:ts(2089,60),when:re.or(vh,Zs.inPeekEditor),handler(o){bh(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Ia.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:re.or(vh,Zs.inPeekEditor),handler(o){bh(o,e=>{e.goToNextOrPreviousReference(!0)})}});Ia.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:re.or(vh,Zs.inPeekEditor),handler(o){bh(o,e=>{e.goToNextOrPreviousReference(!1)})}});mn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");mn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");mn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");mn.registerCommand("closeReferenceSearch",o=>bh(o,e=>e.closeWidget()));Ia.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:re.and(Zs.inPeekEditor,re.not("config.editor.stablePeek"))});Ia.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:re.and(vh,re.not("config.editor.stablePeek"),re.or(M.editorTextFocus,qA.negate()))});Ia.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:re.and(vh,sE,oE.negate(),rE.negate()),handler(o){var i;const t=(i=o.get(x0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof mc&&bh(o,n=>n.revealReference(t[0]))}});Ia.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:re.and(vh,sE,oE.negate(),rE.negate()),handler(o){var i;const t=(i=o.get(x0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof mc&&bh(o,n=>n.openReference(t[0],!0,!0))}});mn.registerCommand("openReference",o=>{var i;const t=(i=o.get(x0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof mc&&bh(o,n=>n.openReference(t[0],!1,!0))});var EM=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},Jg=function(o,e){return function(t,i){e(t,i,o)}};const d1=new Pi("hasSymbols",!1,y("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),my=gl("ISymbolNavigationService");let qS=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=d1.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 KS(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 h=!1,g=!1;for(const f of t.references)if(b_(f.uri,a.uri))h=!0,g=g||W.containsPosition(f.range,c);else if(h)break;(!h||!g)&&this.reset()});this._currentState=aE(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:W.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?y("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):y("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};qS=EM([Jg(0,Wi),Jg(1,Yn),Jg(2,zs),Jg(3,is)],qS);fl(my,qS,1);Lt(new class extends Js{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:d1,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(my).revealNext(e)}});Ia.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:d1,primary:9,handler(o){o.get(my).reset()}});let KS=class{constructor(e){this._listener=new Map,this._disposables=new We,this._onDidChange=new gi,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(),As(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,aE(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)}};KS=EM([Jg(0,Yn)],KS);function GS(o,e){return e.uri.scheme===o.uri.scheme?!0:!KA(e.uri,$s.walkThroughSnippet,$s.vscodeChatCodeBlock,$s.vscodeChatCodeCompareBlock)}async function Zp(o,e,t,i,n){const r=t.ordered(o,i).map(c=>Promise.resolve(n(c,o,e)).then(void 0,h=>{Xn(h)})),a=await Promise.all(r);return il(a.flat()).filter(c=>GS(o,c))}function Xp(o,e,t,i,n){return Zp(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function h1(o,e,t,i,n){return Zp(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function u1(o,e,t,i,n){return Zp(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function g1(o,e,t,i,n){return Zp(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function Yp(o,e,t,i,n,s){return Zp(e,t,o,n,async(r,a,c)=>{var f,p;const h=(f=await r.provideReferences(a,c,{includeDeclaration:!0},s))==null?void 0:f.filter(v=>GS(a,v));if(!i||!h||h.length!==2)return h;const g=(p=await r.provideReferences(a,c,{includeDeclaration:!1},s))==null?void 0:p.filter(v=>GS(a,v));return g&&g.length===1?g:h})}async function Da(o){const e=await o(),t=new ao(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}Qs("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(Ct),n=Xp(i.definitionProvider,e,t,!1,fi.None);return Da(()=>n)});Qs("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Ct),n=Xp(i.definitionProvider,e,t,!0,fi.None);return Da(()=>n)});Qs("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(Ct),n=g1(i.typeDefinitionProvider,e,t,!1,fi.None);return Da(()=>n)});Qs("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Ct),n=g1(i.typeDefinitionProvider,e,t,!0,fi.None);return Da(()=>n)});Qs("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(Ct),n=h1(i.declarationProvider,e,t,!1,fi.None);return Da(()=>n)});Qs("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(Ct),n=h1(i.declarationProvider,e,t,!0,fi.None);return Da(()=>n)});Qs("_executeReferenceProvider",(o,e,t)=>{const i=o.get(Ct),n=Yp(i.referenceProvider,e,t,!1,!1,fi.None);return Da(()=>n)});Qs("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(Ct),n=Yp(i.referenceProvider,e,t,!1,!0,fi.None);return Da(()=>n)});Qs("_executeImplementationProvider",(o,e,t)=>{const i=o.get(Ct),n=u1(i.implementationProvider,e,t,!1,fi.None);return Da(()=>n)});Qs("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(Ct),n=u1(i.implementationProvider,e,t,!0,fi.None);return Da(()=>n)});hr.appendMenuItem(Qe.EditorContext,{submenu:Qe.EditorContextPeek,title:y("peek.submenu","Peek"),group:"navigation",order:100});class og{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof og||St.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const Xo=class Xo extends Or{static all(){return Xo._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of Xa.wrap(t.menu))(i.id===Qe.EditorContext||i.id===Qe.EditorContextPeek)&&(i.when=re.and(e.precondition,i.when));return t}constructor(e,t){super(Xo._patchConfig(t)),this.configuration=e,Xo._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(zs),r=e.get(Yn),a=e.get(Ep),c=e.get(my),h=e.get(Ct),g=e.get(ci),f=t.getModel(),p=t.getPosition(),v=og.is(i)?i:new og(f,p),_=new Bu(t,5),w=Ip(this._getLocationModel(h,v.model,v.position,_.token),_.token).then(async S=>{var N;if(!S||_.token.isCancellationRequested)return;ur(S.ariaMessage);let D;if(S.referenceAt(f.uri,p)){const z=this._getAlternativeCommand(t);!Xo._activeAlternativeCommands.has(z)&&Xo._allSymbolNavigationCommands.has(z)&&(D=Xo._allSymbolNavigationCommands.get(z))}const P=S.references.length;if(P===0){if(!this.configuration.muteMessage){const z=f.getWordAtPosition(p);(N=ro.get(t))==null||N.showMessage(this._getNoResultFoundMessage(z),p)}}else if(P===1&&D)Xo._activeAlternativeCommands.add(this.desc.id),g.invokeFunction(z=>D.runEditorCommand(z,t,i,n).finally(()=>{Xo._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(r,c,t,S,n)},S=>{s.error(S)}).finally(()=>{_.dispose()});return a.showWhile(w,250),w}async _onResult(e,t,i,n,s){const r=this._getGoToPreference(i);if(!(i instanceof fr)&&(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",h=await this._openReference(i,e,a,this.configuration.openToSide,!c);c&&h?this._openInPeek(h,n,s):n.dispose(),r==="goto"&&t.put(a)}}async _openReference(e,t,i,n,s){let r;if(GA(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:W.collapseToStart(r),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(a){if(s){const c=a.getModel(),h=a.createDecorationsCollection([{range:r,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===c&&h.clear()},350)}return a}}_openInPeek(e,t,i){const n=sh.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),gs(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};Xo._allSymbolNavigationCommands=new Map,Xo._activeAlternativeCommands=new Set;let cl=Xo;class Jp extends cl{async _getLocationModel(e,t,i,n){return new ao(await Xp(e.definitionProvider,t,i,!1,n),y("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?y("noResultWord","No definition found for '{0}'",e.word):y("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}var ec;en((ec=class extends Jp{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:ec.id,title:{...vt("actions.goToDecl.label","Go to Definition"),mnemonicTitle:y({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:M.hasDefinitionProvider,keybinding:[{when:M.editorTextFocus,primary:70,weight:100},{when:re.and(M.editorTextFocus,lE),primary:2118,weight:100}],menu:[{id:Qe.EditorContext,group:"navigation",order:1.1},{id:Qe.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),mn.registerCommandAlias("editor.action.goToDeclaration",ec.id)}},ec.id="editor.action.revealDefinition",ec));var tc;en((tc=class extends Jp{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:tc.id,title:vt("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:re.and(M.hasDefinitionProvider,M.isInEmbeddedEditor.toNegated()),keybinding:[{when:M.editorTextFocus,primary:ts(2089,70),weight:100},{when:re.and(M.editorTextFocus,lE),primary:ts(2089,2118),weight:100}]}),mn.registerCommandAlias("editor.action.openDeclarationToTheSide",tc.id)}},tc.id="editor.action.revealDefinitionAside",tc));var ic;en((ic=class extends Jp{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:ic.id,title:vt("actions.previewDecl.label","Peek Definition"),precondition:re.and(M.hasDefinitionProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Qe.EditorContextPeek,group:"peek",order:2}}),mn.registerCommandAlias("editor.action.previewDeclaration",ic.id)}},ic.id="editor.action.peekDefinition",ic));class PM extends cl{async _getLocationModel(e,t,i,n){return new ao(await h1(e.declarationProvider,t,i,!1,n),y("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?y("decl.noResultWord","No declaration found for '{0}'",e.word):y("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}var hd;en((hd=class extends PM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:hd.id,title:{...vt("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:y({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:re.and(M.hasDeclarationProvider,M.isInEmbeddedEditor.toNegated()),menu:[{id:Qe.EditorContext,group:"navigation",order:1.3},{id:Qe.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?y("decl.noResultWord","No declaration found for '{0}'",e.word):y("decl.generic.noResults","No declaration found")}},hd.id="editor.action.revealDeclaration",hd));en(class extends PM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:vt("actions.peekDecl.label","Peek Declaration"),precondition:re.and(M.hasDeclarationProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:Qe.EditorContextPeek,group:"peek",order:3}})}});class TM extends cl{async _getLocationModel(e,t,i,n){return new ao(await g1(e.typeDefinitionProvider,t,i,!1,n),y("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?y("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):y("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}var ud;en((ud=class extends TM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:ud.ID,title:{...vt("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:y({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:M.hasTypeDefinitionProvider,keybinding:{when:M.editorTextFocus,primary:0,weight:100},menu:[{id:Qe.EditorContext,group:"navigation",order:1.4},{id:Qe.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},ud.ID="editor.action.goToTypeDefinition",ud));var gd;en((gd=class extends TM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:gd.ID,title:vt("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:re.and(M.hasTypeDefinitionProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:Qe.EditorContextPeek,group:"peek",order:4}})}},gd.ID="editor.action.peekTypeDefinition",gd));class MM extends cl{async _getLocationModel(e,t,i,n){return new ao(await u1(e.implementationProvider,t,i,!1,n),y("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?y("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):y("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}var fd;en((fd=class extends MM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:fd.ID,title:{...vt("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:y({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:M.hasImplementationProvider,keybinding:{when:M.editorTextFocus,primary:2118,weight:100},menu:[{id:Qe.EditorContext,group:"navigation",order:1.45},{id:Qe.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},fd.ID="editor.action.goToImplementation",fd));var pd;en((pd=class extends MM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:pd.ID,title:vt("actions.peekImplementation.label","Peek Implementations"),precondition:re.and(M.hasImplementationProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:3142,weight:100},menu:{id:Qe.EditorContextPeek,group:"peek",order:5}})}},pd.ID="editor.action.peekImplementation",pd));class NM extends cl{_getNoResultFoundMessage(e){return e?y("references.no","No references found for '{0}'",e.word):y("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}en(class extends NM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...vt("goToReferences.label","Go to References"),mnemonicTitle:y({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:re.and(M.hasReferenceProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:1094,weight:100},menu:[{id:Qe.EditorContext,group:"navigation",order:1.45},{id:Qe.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new ao(await Yp(e.referenceProvider,t,i,!0,!1,n),y("ref.title","References"))}});en(class extends NM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:vt("references.action.label","Peek References"),precondition:re.and(M.hasReferenceProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:Qe.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new ao(await Yp(e.referenceProvider,t,i,!1,!1,n),y("ref.title","References"))}});class Sz extends cl{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:vt("label.generic","Go to Any Symbol"),precondition:re.and(Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new ao(this._references,y("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&y("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}mn.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:nn},{name:"position",description:"The position at which to start",constraint:St.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)=>{zi(nn.isUri(e)),zi(St.isIPosition(t)),zi(Array.isArray(i)),zi(typeof n>"u"||typeof n=="string"),zi(typeof r>"u"||typeof r=="boolean");const a=o.get(Yn),c=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(cE(c))return c.setPosition(t),c.revealPositionInCenterIfOutsideViewport(t,0),c.invokeWithinContext(h=>{const g=new class extends Sz{_getNoResultFoundMessage(f){return s||super._getNoResultFoundMessage(f)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);h.get(ci).invokeFunction(g.run.bind(g),c)})}});mn.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:nn},{name:"position",description:"The position at which to start",constraint:St.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(hs).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});mn.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{zi(nn.isUri(e)),zi(St.isIPosition(t));const i=o.get(Ct),n=o.get(Yn);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!cE(s)||!s.hasModel())return;const r=sh.get(s);if(!r)return;const a=gs(h=>Yp(i.referenceProvider,s.getModel(),St.lift(t),!1,!1,h).then(g=>new ao(g,y("ref.title","References")))),c=new W(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(c,a,!1))})}});mn.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function Cz(o,e,t,i){const n=o.get(zr),s=o.get(mg),r=o.get(hs),a=o.get(ci),c=o.get(zs);if(await i.item.resolve(fi.None),!i.part.location)return;const h=i.part.location,g=[],f=new Set(hr.getMenuItems(Qe.EditorContext).map(v=>ZA(v)?v.command.id:ly()));for(const v of cl.all())f.has(v.desc.id)&&g.push(new $u(v.desc.id,qu.label(v.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const _=await n.createModelReference(h.uri);try{const w=new og(_.object.textEditorModel,W.getStartPosition(h.range)),S=i.item.anchor.range;await a.invokeFunction(v.runEditorCommand.bind(v),e,w,S)}finally{_.dispose()}}));if(i.part.command){const{command:v}=i.part;g.push(new Af),g.push(new $u(v.id,v.title,void 0,!0,async()=>{try{await r.executeCommand(v.id,...v.arguments??[])}catch(_){c.notify({severity:L0.Error,source:i.item.provider.displayName,message:_})}}))}const p=e.getOption(128);s.showContextMenu({domForShadowRoot:p?e.getDomNode()??void 0:void 0,getAnchor:()=>{const v=Gs(t);return{x:v.left,y:v.top+v.height+8}},getActions:()=>g,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function RM(o,e,t,i){const s=await o.get(zr).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,c=r.get(Wi),h=Zs.inPeekEditor.getValue(c),g=!a&&t.getOption(89)&&!h;return new Jp({openToSide:a,openInPeek:g,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new og(s.object.textEditorModel,W.getStartPosition(i.range)),W.lift(i.range))}),s.dispose()}var xz=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)}},Zh;class K_{constructor(){this._entries=new Tp(50)}get(e){const t=K_._key(e);return this._entries.get(t)}set(e,t){const i=K_._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const AM=gl("IInlayHintsCache");fl(AM,K_,1);class ZS{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 Lz{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var Za;let ep=(Za=class{static get(e){return e.getContribution(Zh.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 We,this._sessionDisposables=new We,this._decorationsMetadata=new Map,this._ruleFactory=new ZD(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(XA.getInstance().event(h=>{if(!this._editor.hasModel())return;const g=h.altKey&&h.ctrlKey&&!(h.shiftKey||h.metaKey)?c:a;if(g!==this._activeRenderMode){this._activeRenderMode=g;const f=this._editor.getModel(),p=this._copyInlayHintsWithCurrentAnchor(f);this._updateHintsDecorators([f.getFullModelRange()],p),r.schedule(0)}}))}const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(wn(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new rs(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new fs;const c=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const h=n.token,g=await V_.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),h);if(r.delay=this._debounceInfo.update(t,Date.now()-a),h.isCancellationRequested){g.dispose();return}for(const f of g.provider)typeof f.onDidChangeInlayHints=="function"&&!s.has(f)&&(s.add(f),this._sessionDisposables.add(f.onDidChangeInlayHints(()=>{r.isScheduled()||r.schedule()})));this._sessionDisposables.add(g),this._updateHintsDecorators(g.ranges,g.items),this._cacheHintsForFastRestore(t)}catch(h){ln(h)}finally{n.dispose(),c.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(wn(()=>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 We,t=e.add(new gy(this._editor)),i=new We;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 fs;i.add(wn(()=>c.dispose(!0))),r.item.resolve(c.token),this._activeInlayHintPart=r.part.command||r.part.location?new Lz(r,s.hasTriggerModifier):void 0;const h=a.validatePosition(r.item.hint.position).lineNumber,g=new W(h,1,h,a.getLineMaxColumn(h)),f=this._getInlineHintsForRange(g);this._updateHintsDecorators([g],f),i.add(wn(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([g],f)}))})),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(RM,n,this._editor,r.location):YA.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(fi.None),So(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>zn.replace(W.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!JA(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(Cz,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 k0&&(t==null?void 0:t.attachedData)instanceof ZS)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:L0.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 SM(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(W.compareRangesUsingStarts)){const r=t.validateRange(new W(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!W.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=W.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var _,w;const i=[],n=(S,D,P,N,z)=>{const F={content:P,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:D.className,cursorStops:N,attachedData:z};i.push({item:S,classNameRef:D,decoration:{range:S.anchor.range,options:{description:"InlayHint",showIfCollapsed:S.anchor.range.isEmpty(),collapseOnReplaceEdit:!S.anchor.range.isEmpty(),stickiness:0,[S.anchor.direction]:this._activeRenderMode===0?F:void 0}}})},s=(S,D)=>{const P=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(S,P," ",D?eu.Right:eu.None)},{fontSize:r,fontFamily:a,padding:c,isUniform:h}=this._getLayoutInfo(),g="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(g,a);let f={line:0,totalLen:0};for(const S of t){if(f.line!==S.anchor.range.startLineNumber&&(f={line:S.anchor.range.startLineNumber,totalLen:0}),f.totalLen>Zh._MAX_LABEL_LEN)continue;S.hint.paddingLeft&&s(S,!1);const D=typeof S.hint.label=="string"?[{label:S.hint.label}]:S.hint.label;for(let P=0;P<D.length;P++){const N=D[P],z=P===0,F=P===D.length-1,ie={fontSize:`${r}px`,fontFamily:`var(${g}), ${y0.fontFamily}`,verticalAlign:h?"baseline":"middle",unicodeBidi:"isolate"};So(S.hint.textEdits)&&(ie.cursor="default"),this._fillInColors(ie,S.hint),(N.command||N.location)&&((_=this._activeInlayHintPart)==null?void 0:_.part.item)===S&&this._activeInlayHintPart.part.index===P&&(ie.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(ie.color=ss(QA),ie.cursor="pointer")),c&&(z&&F?(ie.padding=`1px ${Math.max(1,r/4)|0}px`,ie.borderRadius=`${r/4|0}px`):z?(ie.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,ie.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):F?(ie.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,ie.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):ie.padding="1px 0 1px 0");let Y=N.label;f.totalLen+=Y.length;let ge=!1;const _e=f.totalLen-Zh._MAX_LABEL_LEN;if(_e>0&&(Y=Y.slice(0,-_e)+"…",ge=!0),n(S,this._ruleFactory.createClassNameRef(ie),kz(Y),F&&!S.hint.paddingRight?eu.Right:eu.None,new ZS(S,P)),ge)break}if(S.hint.paddingRight&&s(S,!0),i.length>Zh._MAX_DECORATORS)break}const p=[];for(const[S,D]of this._decorationsMetadata){const P=(w=this._editor.getModel())==null?void 0:w.getDecorationRange(S);P&&e.some(N=>N.containsRange(P))&&(p.push(S),D.classNameRef.dispose(),this._decorationsMetadata.delete(S))}const v=ju.capture(this._editor);this._editor.changeDecorations(S=>{const D=S.deltaDecorations(p,i.map(P=>P.decoration));for(let P=0;P<D.length;P++){const N=i[P];this._decorationsMetadata.set(D[P],N)}}),v.restore(this._editor)}_fillInColors(e,t){t.kind===NL.Parameter?(e.backgroundColor=ss(eO),e.color=ss(tO)):t.kind===NL.Type?(e.backgroundColor=ss(iO),e.color=ss(nO)):(e.backgroundColor=ss(sO),e.color=ss(oO))}_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()}},Zh=Za,Za.ID="editor.contrib.InlayHints",Za._MAX_DECORATORS=1500,Za._MAX_LABEL_LEN=43,Za);ep=Zh=xz([Ah(1,Ct),Ah(2,jo),Ah(3,AM),Ah(4,hs),Ah(5,zs),Ah(6,ci)],ep);function kz(o){return o.replace(/[ \t]/g," ")}mn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;zi(nn.isUri(t)),zi(W.isIRange(i));const{inlayHintsProvider:n}=o.get(Ct),s=await o.get(zr).createModelReference(t);try{const r=await V_.create(n,s.object.textEditorModel,[W.lift(i)],fi.None),a=r.items.map(c=>c.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var Iz=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},Cl=function(o,e){return function(t,i){e(t,i,o)}};class zk extends s_{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let G_=class extends Jf{constructor(e,t,i,n,s,r,a,c,h){super(e,t,i,r,c,n,s,h),this._resolverService=a,this.hoverOrdinal=6}suggestHoverAnchor(e){var n;if(!ep.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof k0&&i.attachedData instanceof ZS?new zk(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof zk?new Tr(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 Ns().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new ar(this,e.range,[r],!1,0)),So(s.item.hint.textEdits)&&n.emitOne(new ar(this,e.range,[new Ns().appendText(y("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new Ns().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new ar(this,e.range,[a],!1,1)),s.part.location||s.part.command){let h;const f=this._editor.getOption(78)==="altKey"?Ca?y("links.navigate.kb.meta.mac","cmd + click"):y("links.navigate.kb.meta","ctrl + click"):Ca?y("links.navigate.kb.alt.mac","option + click"):y("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?h=new Ns().appendText(y("hint.defAndCommand","Go to Definition ({0}), right click for more",f)):s.part.location?h=new Ns().appendText(y("hint.def","Go to Definition ({0})",f)):s.part.command&&(h=new Ns(`[${y("hint.cmd","Execute Command")}](${tz(s.part.command)} "${s.part.command.title}") (${f})`,{isTrusted:!0})),h&&n.emitOne(new ar(this,e.range,[h],!1,1e4))}const c=await this._resolveInlayHintLabelPartHover(s,i);for await(const h of c)n.emitOne(h)}):Tr.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return Tr.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)?l1(this._languageFeaturesService.hoverProvider,r,new St(n.startLineNumber,n.startColumn),t).filter(a=>!Of(a.hover.contents)).map(a=>new ar(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):Tr.EMPTY}finally{s.dispose()}}};G_=Iz([Cl(1,Br),Cl(2,Hr),Cl(3,is),Cl(4,Ap),Cl(5,Cn),Cl(6,zr),Cl(7,Ct),Cl(8,hs)],G_);class f1 extends ze{constructor(e,t,i,n,s,r){super();const a=t.anchor,c=t.hoverParts;this._renderedHoverParts=this._register(new XS(e,i,c,r,s));const{showAtPosition:h,showAtSecondaryPosition:g}=f1.computeHoverPositions(e,a.range,c);this.shouldAppearBeforeContent=c.some(f=>f.isBeforeContent),this.showAtPosition=h,this.showAtSecondaryPosition=g,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 g=e._getViewModel(),f=g.coordinatesConverter,p=f.convertModelRangeToViewRange(t),v=g.getLineMinColumn(p.startLineNumber),_=new St(p.startLineNumber,v);n=f.convertViewPositionToModelPosition(_).column}const s=t.startLineNumber;let r=t.startColumn,a;for(const g of i){const f=g.range,p=f.startLineNumber===s,v=f.endLineNumber===s;if(p&&v){const w=f.startColumn,S=Math.min(r,w);r=Math.max(S,n)}g.forceShowAtRange&&(a=f)}let c,h;if(a){const g=a.getStartPosition();c=g,h=g}else c=t.getStartPosition(),h=new St(s,r);return{showAtPosition:c,showAtSecondaryPosition:h}}}class Dz{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 Yv=class Yv extends ze{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 ze.None;let i=t[0].range;for(const s of t){const r=s.range;i=W.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:Yv._DECORATION_OPTIONS}]),wn(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new z_(n),r={fragment:this._fragment,statusBar:s,...i},a=new We;for(const h of e){const g=this._renderHoverPartsForParticipant(t,h,r);a.add(g);for(const f of g.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:h,hoverPart:f.hoverPart,hoverElement:f.hoverElement})}const c=this._renderStatusBar(this._fragment,s);return c&&(a.add(c),this._renderedParts.push({type:"statusBar",hoverElement:c.hoverElement,actions:c.actions})),wn(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new nh([])}_renderStatusBar(e,t){if(t.hasContent)return new Dz(e,t)}_registerListenersOnRenderedParts(){const e=new We;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(Hi(n,Tn.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(Hi(n,Tn.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof Jf&&!(i instanceof G_));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof Xf)}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 Ku;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};Yv._DECORATION_OPTIONS=xi.register({description:"content-hover-highlight",className:"hoverHighlight"});let XS=Yv;var Ez=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Vk=function(o,e){return function(t,i){e(t,i,o)}};let YS=class extends ze{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new gi),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(FS,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new B_(this._editor,this._participants),this._hoverOperation=this._register(new _M(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of _h.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 vM(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(sl(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(sl(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(Ub.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 f1(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 aw(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 aw(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||!uy(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new aw(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}};YS=Ez([Vk(1,ci),Vk(2,is)],YS);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},jk=function(o,e){return function(t,i){e(t,i,o)}},JS,md;let Es=(md=class extends ze{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new gi),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new We,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new rs(()=>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(JS.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?uy(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 h;const a=this._isMouseOnContentHoverWidget(r),c=((h=this._contentWidget)==null?void 0:h.isColorPickerVisible)??!1;return a&&c},s=(r,a)=>{var c,h,g,f;return(a&&((h=this._contentWidget)==null?void 0:h.containsNode((c=r.event.browserEvent.view)==null?void 0:c.document.activeElement))&&!((f=(g=r.event.browserEvent.view)==null?void 0:g.getSelection())!=null&&f.isCollapsed))??!1};return i(e,t)||n(e)||s(e,t)}_onEditorMouseMove(e){var a,c,h,g;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&&((h=this._contentWidget)!=null&&h.isVisibleFromKeyboard))return;if(this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}const n=this._hoverSettings.hidingDelay;if(((g=this._contentWidget)==null?void 0:g.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===dy||t.commandId===hy)&&((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)||sg.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(YS,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()}},JS=md,md.ID="editor.contrib.contentHover",md);Es=JS=Pz([jk(1,ci),jk(2,is)],Es);const Q1=class Q1 extends ze{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!==rM||!i.range)return;const n=this._editor.getContribution(Es.ID);if(n&&!n.isColorPickerVisible){const s=new W(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};Q1.ID="editor.contrib.colorContribution";let Z_=Q1;vi(Z_.ID,Z_,2);_h.register(Xf);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},ou=function(o,e){return function(t,i){e(t,i,o)}},QS,eC,_d;let oh=(_d=class extends ze{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=M.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=M.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(tC,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(QS.ID)}},QS=_d,_d.ID="editor.contrib.standaloneColorPickerController",_d);oh=QS=OM([ou(1,Wi),ou(2,ci)],oh);vi(oh.ID,oh,1);const Uk=8,Tz=22;var vd;let tC=(vd=class extends ze{constructor(e,t,i,n,s,r,a){var f;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 gi),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(Yf,this._editor),this._position=(f=this._editor._getViewModel())==null?void 0:f.getPrimaryCursorState().modelState.position;const c=this._editor.getSelection(),h=c?{startLineNumber:c.startLineNumber,startColumn:c.startColumn,endLineNumber:c.endLineNumber,endColumn:c.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},g=this._register(zu(this._body));this._register(g.onDidBlur(p=>{this.hide()})),this._register(g.onDidFocus(p=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(p=>{var _;const v=(_=p.target.element)==null?void 0:_.classList;v&&v.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(p=>{this._render(p.value,p.foundInEditor)})),this._start(h),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return eC.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 Mz(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 Zf(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 z_(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,h=c.saturationBox.domNode.clientWidth,g=c.domNode.clientWidth-h-Tz-Uk,f=a.body.enterButton;f==null||f.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,v=p.pickedColorNode;v.style.width=h+Uk+"px";const _=p.originalColorNode;_.style.width=g+"px";const w=a.header.closeButton;w==null||w.onClicked(()=>{this.hide()}),t&&(f&&(f.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},eC=vd,vd.ID="editor.contrib.standaloneColorPickerWidget",vd);tC=eC=OM([ou(3,ci),ou(4,is),ou(5,Ct),ou(6,pl)],tC);class Mz{constructor(e,t){this.value=e,this.foundInEditor=t}}class Nz extends Or{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...vt("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:y({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:Qe.CommandPalette}],metadata:{description:vt("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=oh.get(t))==null||i.showOrFocus()}}class Rz extends ye{constructor(){super({id:"editor.action.hideColorPicker",label:y({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:M.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:vt("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=oh.get(t))==null||i.hide()}}class Az extends ye{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:y({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:M.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:vt("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=oh.get(t))==null||i.insertColor()}}se(Rz);se(Az);en(Nz);class Bl{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,h=e.endLineNumber,g=e.endColumn,f=s.getLineContent(a),p=s.getLineContent(h);let v=f.lastIndexOf(t,c-1+t.length),_=p.indexOf(i,g-1-i.length);if(v!==-1&&_!==-1)if(a===h)f.substring(v+t.length,_).indexOf(i)>=0&&(v=-1,_=-1);else{const S=f.substring(v+t.length),D=p.substring(0,_);(S.indexOf(i)>=0||D.indexOf(i)>=0)&&(v=-1,_=-1)}let w;v!==-1&&_!==-1?(n&&v+t.length<f.length&&f.charCodeAt(v+t.length)===32&&(t=t+" "),n&&_>0&&p.charCodeAt(_-1)===32&&(i=" "+i,_-=1),w=Bl._createRemoveBlockCommentOperations(new W(a,v+t.length+1,h,_+1),t,i)):(w=Bl._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=w.length===1?i:null);for(const S of w)r.addTrackedEditOperation(S.range,S.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return W.isEmpty(e)?n.push(zn.delete(new W(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(zn.delete(new W(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(zn.delete(new W(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return W.isEmpty(e)?s.push(zn.replace(new W(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(zn.insert(new St(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(zn.insert(new St(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 jt(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 jt(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class Ha{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 h=0,g=i-t+1;h<g;h++)c[h]={ignore:!1,commentStr:a,commentStrOffset:0,commentStrLength:a.length};return c}static _analyzeLines(e,t,i,n,s,r,a,c){let h=!0,g;e===0?g=!0:e===1?g=!1:g=!0;for(let f=0,p=n.length;f<p;f++){const v=n[f],_=s+f;if(_===s&&a){v.ignore=!0;continue}const w=i.getLineContent(_),S=zw(w);if(S===-1){v.ignore=r,v.commentStrOffset=w.length;continue}if(h=!1,v.ignore=!1,v.commentStrOffset=S,g&&!Bl._haystackHasNeedleAtOffset(w,v.commentStr,S)&&(e===0?g=!1:e===1||(v.ignore=!0)),g&&t){const D=S+v.commentStrLength;D<w.length&&w.charCodeAt(D)===32&&(v.commentStrLength+=1)}}if(e===0&&h){g=!1;for(let f=0,p=n.length;f<p;f++)n[f].ignore=!1}return{supported:!0,shouldRemoveComments:g,lines:n}}static _gatherPreflightData(e,t,i,n,s,r,a,c){const h=Ha._gatherPreflightCommentStrings(i,n,s,c);return h===null?{supported:!1}:Ha._analyzeLines(e,t,i,h,n,r,a,c)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=Ha._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(Ha._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new St(n.positionLineNumber,n.positionColumn);for(let a=0,c=s.length;a<c;a++)t.addEditOperation(s[a].range,s[a].text),W.isEmpty(s[a].range)&&W.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),h=e.getLineContent(r).indexOf(n,t.endColumn-1-i.length);return c!==-1&&h===-1&&(h=e.getLineContent(s).indexOf(n,c+i.length),r=s),c===-1&&h!==-1&&(c=e.getLineContent(r).lastIndexOf(i,h),s=r),t.isEmpty()&&(c===-1||h===-1)&&(c=e.getLineContent(s).indexOf(i),c!==-1&&(h=e.getLineContent(s).indexOf(n,c+i.length))),c!==-1&&e.getLineContent(s).charCodeAt(c+i.length)===32&&(i+=" "),h!==-1&&e.getLineContent(r).charCodeAt(h-1)===32&&(n=" "+n,h-=1),c!==-1&&h!==-1?Bl._createRemoveBlockCommentOperations(new W(s,c+i.length+1,r,h+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 h=e.getLineContent(i.startLineNumber);let g=zw(h);g===-1&&(g=h.length),c=Bl._createAddBlockCommentOperations(new W(i.startLineNumber,g+1,i.startLineNumber,h.length+1),r,a,this._insertSpace)}else c=Bl._createAddBlockCommentOperations(new W(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 h of c)t.addEditOperation(h.range,h.text)}getEditOperations(e,t){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){t.addEditOperation(new W(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=Ha._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 jt(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(zn.delete(new W(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(zn.insert(new St(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,h=t.length;c<h;c++){if(t[c].ignore)continue;const g=e.getLineContent(i+c);let f=0;for(let p=0,v=t[c].commentStrOffset;f<s&&p<v;p++)f=Ha.nextVisibleColumn(f,n,g.charCodeAt(p)===9,1);f<s&&(s=f)}s=Math.floor(s/n)*n;for(let c=0,h=t.length;c<h;c++){if(t[c].ignore)continue;const g=e.getLineContent(i+c);let f=0;for(r=0,a=t[c].commentStrOffset;f<s&&r<a;r++)f=Ha.nextVisibleColumn(f,n,g.charCodeAt(r)===9,1);f>s?t[c].commentStrOffset=r-1:t[c].commentStrOffset=r}}}class p1 extends ye{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(us);if(!t.hasModel())return;const n=t.getModel(),s=[],r=n.getOptions(),a=t.getOption(23),c=t.getSelections().map((g,f)=>({selection:g,index:f,ignoreFirstLine:!1}));c.sort((g,f)=>W.compareRangesUsingStarts(g.selection,f.selection));let h=c[0];for(let g=1;g<c.length;g++){const f=c[g];h.selection.endLineNumber===f.selection.startLineNumber&&(h.index<f.index?f.ignoreFirstLine=!0:(h.ignoreFirstLine=!0,h=f))}for(const g of c)s.push(new Ha(i,g.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,g.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Oz extends p1{constructor(){super(0,{id:"editor.action.commentLine",label:y("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:Qe.MenubarEditMenu,group:"5_insert",title:y({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class Fz extends p1{constructor(){super(1,{id:"editor.action.addCommentLine",label:y("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2081),weight:100}})}}class Hz extends p1{constructor(){super(2,{id:"editor.action.removeCommentLine",label:y("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2099),weight:100}})}}class Wz extends ye{constructor(){super({id:"editor.action.blockComment",label:y("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:Qe.MenubarEditMenu,group:"5_insert",title:y({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(us);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new Bl(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}se(Oz);se(Fz);se(Hz);se(Wz);var Bz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ic=function(o,e){return function(t,i){e(t,i,o)}},iC,bd;let rg=(bd=class{static get(e){return e.getContribution(iC.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 We,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(h=>this._onContextMenu(h))),this._toDispose.add(this._editor.onMouseWheel(h=>{if(this._contextMenuIsBeingShownCount>0){const g=this._contextViewService.getContextViewElement(),f=h.srcElement;f.shadowRoot&&rO(g)===f.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(h=>{this._editor.getOption(24)&&h.keyCode===58&&(h.preventDefault(),h.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 aO){const h=this._getMenuActions(e,c.item.submenu);h.length>0&&(i.push(new RL(c.id,c.label,h)),a++)}else i.push(c),a++;a&&i.push(new Af)}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=Gs(this._editor.getDomNode()),c=a.left+r.left,h=a.top+r.top+r.height;n={x:c,y:h}}const s=this._editor.getOption(128)&&!Vw;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 Ww(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const c=r;return typeof c.getActionViewItem=="function"?c.getActionViewItem():new Ww(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()||lO(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const n=h=>({id:`menu-action-${++i}`,label:h.label,tooltip:"",class:void 0,enabled:typeof h.enabled>"u"?!0:h.enabled,checked:h.checked,run:h.run}),s=(h,g)=>new RL(`menu-action-${++i}`,h,g,void 0),r=(h,g,f,p,v)=>{if(!g)return n({label:h,enabled:g,run:()=>{}});const _=S=>()=>{this._configurationService.updateValue(f,S)},w=[];for(const S of v)w.push(n({label:S.label,checked:p===S.value,run:_(S.value)}));return s(h,w)},a=[];a.push(n({label:y("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new Af),a.push(n({label:y("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(r(y("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:y("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:y("context.minimap.size.fill","Fill"),value:"fill"},{label:y("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(r(y("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:y("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:y("context.minimap.slider.always","Always"),value:"always"}]));const c=this._editor.getOption(128)&&!Vw;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:c?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>a,onHide:h=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}},iC=bd,bd.ID="editor.contrib.contextmenu",bd);rg=iC=Bz([Ic(1,mg),Ic(2,Fb),Ic(3,Wi),Ic(4,is),Ic(5,hh),Ic(6,Cn),Ic(7,Wu)],rg);class zz extends ye{constructor(){super({id:"editor.action.showContextMenu",label:y("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=rg.get(t))==null||i.showContextMenu()}}vi(rg.ID,rg,2);se(zz);class cw{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 dw{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const Jv=class Jv extends ze{static get(e){return e.getContribution(Jv.ID)}constructor(e){super(),this._editor=e,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(e.onDidChangeModel(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;const i=new cw(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new dw(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 dw(new cw(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 dw(new cw(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}};Jv.ID="editor.contrib.cursorUndoRedoController";let ag=Jv;class Vz extends ye{constructor(){super({id:"cursorUndo",label:y("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=ag.get(t))==null||n.cursorUndo()}}class jz extends ye{constructor(){super({id:"cursorRedo",label:y("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=ag.get(t))==null||n.cursorRedo()}}vi(ag.ID,ag,0);se(Vz);se(jz);class Uz{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 W(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 jt(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 jt(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 jt(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 jt(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 jt(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 Oh(o){return Ca?o.altKey:o.ctrlKey}const Pl=class Pl extends ze{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)||(Oh(e)&&(this._modifierPressed=!0),this._mouseDown&&Oh(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(Oh(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Pl.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}Oh(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 St(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 jt(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new jt(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(Oh(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Pl.ID,new Uz(this._dragSelection,t,Oh(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 W(e.lineNumber,e.column,e.lineNumber,e.column),options:Pl._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()}};Pl.ID="editor.contrib.dragAndDrop",Pl.TRIGGER_KEY_VALUE=Ca?6:5,Pl._DECORATION_OPTIONS=xi.register({description:"dnd-target",className:"dnd-target"});let X_=Pl;vi(X_.ID,X_,2);vi(ll.ID,ll,0);bg(_S);Lt(new class extends Js{constructor(){super({id:WT,precondition:t1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=ll.get(e))==null?void 0:t.changePasteType()}});Lt(new class extends Js{constructor(){super({id:"editor.hidePasteWidget",precondition:t1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=ll.get(e))==null||t.clearWidgets()}});var yd;se((yd=class extends ye{constructor(){super({id:"editor.action.pasteAs",label:y("pasteAs","Paste As..."),alias:"Paste As...",precondition:M.writable,metadata:{description:"Paste as",args:[{name:"args",schema:yd.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=ll.get(t))==null?void 0:s.pasteAs(n?new Sn(n):void 0)}},yd.argsSchema={type:"object",properties:{kind:{type:"string",description:y("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.")}}},yd));se(class extends ye{constructor(){super({id:"editor.action.pasteAsText",label:y("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:M.writable})}run(o,e){var t;return(t=ll.get(e))==null?void 0:t.pasteAs({providerId:Jd.id})}});class $z{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 $k{constructor(e){this.identifier=e}}const FM=gl("treeViewsDndService");fl(FM,$z,1);var qz=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},xm=function(o,e){return function(t,i){e(t,i,o)}},nC;const HM="editor.experimental.dropIntoEditor.defaultProvider",WM="editor.changeDropType",m1=new Pi("dropWidgetVisible",!1,y("dropWidgetVisible","Whether the drop widget is showing"));var wd;let lg=(wd=class extends ze{static get(e){return e.getContribution(nC.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=pS.getInstance(),this._dropProgressManager=this._register(t.createInstance(F_,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(W_,"dropIntoEditor",e,m1,{id:WM,label:y("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=gs(async r=>{const a=new We,c=a.add(new Bu(e,1,void 0,r));try{const h=await this.extractDataTransferData(i);if(h.size===0||c.token.isCancellationRequested)return;const g=e.getModel();if(!g)return;const f=this._languageFeaturesService.documentDropEditProvider.ordered(g).filter(v=>v.dropMimeTypes?v.dropMimeTypes.some(_=>h.matches(_)):!0),p=a.add(await this.getDropEdits(f,g,t,h,c));if(c.token.isCancellationRequested)return;if(p.edits.length){const v=this.getInitialActiveEditIndex(g,p.edits),_=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([W.fromPositions(t)],{activeEditIndex:v,allEdits:p.edits},_,async w=>w,r)}}finally{a.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,y("dropIntoEditorProgress","Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),this._currentOperation=n}async getDropEdits(e,t,i,n,s){const r=new We,a=await Ip(Promise.all(e.map(async h=>{try{const g=await h.provideDocumentDropEdits(t,i,n,s.token);return g&&r.add(g),g==null?void 0:g.edits.map(f=>({...f,providerId:h.id}))}catch(g){console.error(g)}})),s.token),c=il(a??[]).flat();return{edits:FT(c),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(HM,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new Sn(s),a=t.findIndex(c=>r.value===c.providerId&&c.handledMimeType&&DT(n,[c.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new IT;const t=TT(e.dataTransfer);if(this.treeItemsTransfer.hasData($k.prototype)){const i=this.treeItemsTransfer.getData($k.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}},nC=wd,wd.ID="editor.contrib.dropIntoEditorController",wd);lg=nC=qz([xm(1,ci),xm(2,Cn),xm(3,Ct),xm(4,FM)],lg);vi(lg.ID,lg,2);bg(mS);Lt(new class extends Js{constructor(){super({id:WM,precondition:m1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=lg.get(e))==null||i.changeDropType()}});Lt(new class extends Js{constructor(){super({id:"editor.hideDropWidget",precondition:m1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=lg.get(e))==null||i.clearWidgets()}});Fr.as(Pp.Configuration).registerConfiguration({...Wb,properties:{[HM]:{type:"object",scope:5,description:y("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});const ks=class ks{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===ks._FIND_MATCH_DECORATION||n===ks._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,ks._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,ks._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 W(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,ks._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=ks._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=ks._FIND_MATCH_NO_OVERVIEW_DECORATION;const a=this._editor.getModel().getLineCount(),h=this._editor.getLayoutInfo().height/a,g=Math.max(2,Math.ceil(3/h));let f=e[0].range.startLineNumber,p=e[0].range.endLineNumber;for(let v=1,_=e.length;v<_;v++){const w=e[v].range;p+g>=w.startLineNumber?w.endLineNumber>p&&(p=w.endLineNumber):(s.push({range:new W(f,1,p,1),options:ks._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),f=w.startLineNumber,p=w.endLineNumber)}s.push({range:new W(f,1,p,1),options:ks._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,ks._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}};ks._CURRENT_FIND_MATCH_DECORATION=xi.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:ss(zy),position:va.Center},minimap:{color:ss(AL),position:1}}),ks._FIND_MATCH_DECORATION=xi.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:ss(zy),position:va.Center},minimap:{color:ss(AL),position:1}}),ks._FIND_MATCH_NO_OVERVIEW_DECORATION=xi.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),ks._FIND_MATCH_ONLY_OVERVIEW_DECORATION=xi.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:ss(zy),position:va.Center}}),ks._RANGE_HIGHLIGHT_DECORATION=xi.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),ks._FIND_SCOPE_DECORATION=xi.register({description:"find-scope",className:"findScope",isWholeLine:!0});let sC=ks;class Kz{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)=>W.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 BM(o,e){if(o&&o[0]!==""){const t=qk(o,e,"-"),i=qk(o,e,"_");return t&&!i?Kk(o,e,"-"):!t&&i?Kk(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():cO(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 qk(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function Kk(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=BM([n[a]],r)+t}),s.slice(0,-1)}class Gk{constructor(e){this.staticValue=e,this.kind=0}}class Gz{constructor(e){this.pieces=e,this.kind=1}}class cg{static fromStaticValue(e){return new cg([id.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new Gk(""):e.length===1&&e[0].staticValue!==null?this._state=new Gk(e[0].staticValue):this._state=new Gz(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?BM(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=cg._substitute(r.matchIndex,e);if(r.caseOps!==null&&r.caseOps.length>0){const c=[],h=r.caseOps.length;let g=0;for(let f=0,p=a.length;f<p;f++){if(g>=h){c.push(a.slice(f));break}switch(r.caseOps[g]){case"U":c.push(a[f].toUpperCase());break;case"u":c.push(a[f].toUpperCase()),g++;break;case"L":c.push(a[f].toLowerCase());break;case"l":c.push(a[f].toLowerCase()),g++;break;default:c.push(a[f])}}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 id{static staticValue(e){return new id(e,-1,null)}static caseOps(e,t){return new id(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 Zz{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++]=id.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=id.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=id.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new cg(this._result)}}function Xz(o){if(!o||o.length===0)return new cg(null);const e=[],t=new Zz(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 vl=new Pi("findWidgetVisible",!1);vl.toNegated();const _y=new Pi("findInputFocussed",!1),_1=new Pi("replaceInputFocussed",!1),Lm={primary:545,mac:{primary:2593}},km={primary:565,mac:{primary:2613}},Im={primary:560,mac:{primary:2608}},Dm={primary:554,mac:{primary:2602}},Em={primary:558,mac:{primary:2606}},an={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"},zl=19999,Yz=240;class vf{constructor(e,t){this._toDispose=new We,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new Dp,this._decorations=new sC(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new rs(()=>{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,As(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 W(a.startLineNumber,1,c,this._editor.getModel().getLineMaxColumn(c))}return a}));const n=this._findMatches(i,!1,zl);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=dE(n.map(c=>c.range),c=>W.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 St(i,n)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const g=this._decorations.matchAfterPosition(e);g&&this._setCurrentFindMatch(g);return}if(this._decorations.getCount()<zl){let g=this._decorations.matchBeforePosition(e);g&&g.isEmpty()&&g.getStartPosition().equals(e)&&(e=this._prevSearchPosition(e),g=this._decorations.matchBeforePosition(e)),g&&this._setCurrentFindMatch(g);return}if(this._cannotFind())return;const i=this._decorations.getFindScope(),n=vf._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 St(s,r),h=a.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1);if(h&&h.range.isEmpty()&&h.range.getStartPosition().equals(c)&&(c=this._prevSearchPosition(c),h=a.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1)),!!h){if(!t&&!n.containsRange(h.range))return this._moveToPrevMatch(h.range.getStartPosition(),!0);this._setCurrentFindMatch(h.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 St(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<zl){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=vf._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,h=this._editor.getModel();let g=new St(a,c),f=h.findNextMatch(this._state.searchString,g,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t);return i&&f&&f.range.isEmpty()&&f.range.getStartPosition().equals(g)&&(g=this._nextSearchPosition(g),f=h.findNextMatch(this._state.searchString,g,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t)),f?!n&&!r.containsRange(f.range)?this._getNextMatch(f.range.getEndPosition(),t,i,!0):f: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?Xz(this._state.replaceString):cg.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 kp(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new St(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=>vf._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>=zl?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new dO(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 f="mu";i.ignoreCase&&(f+="i"),i.global&&(f+="g"),i=new RegExp(i.source,f)}const n=this._editor.getModel(),s=n.getValue(1),r=n.getFullModelRange(),a=this._getReplacePattern();let c;const h=this._state.preserveCase;a.hasReplacementPatterns||h?c=s.replace(i,function(){return a.buildReplaceString(arguments,h)}):c=s.replace(i,a.buildReplaceString(null,h));const g=new hE(r,c,this._editor.getSelection());this._executeEditorCommand("replaceAll",g)}_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 Kz(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 jt(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 Qv=class Qv extends Mp{constructor(e,t,i){super(),this._hideSoon=this._register(new rs(()=>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:Gc(gE),inputActiveOptionForeground:Gc(uE),inputActiveOptionBackground:Gc(_0)},s=this._register(jw());this.caseSensitive=this._register(new hO({appendTitle:this._keybindingLabelFor(an.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 uO({appendTitle:this._keybindingLabelFor(an.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 gO({appendTitle:this._keybindingLabelFor(an.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(Hi(this._domNode,Tn.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(Hi(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 Qv.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")}};Qv.ID="editor.contrib.findOptionsWidget";let oC=Qv;function Pm(o,e){return o===1?!0:o===2?!1:e}class Jz extends ze{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return Pm(this._isRegexOverride,this._isRegex)}get wholeWord(){return Pm(this._wholeWordOverride,this._wholeWord)}get matchCase(){return Pm(this._matchCaseOverride,this._matchCase)}get preserveCase(){return Pm(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 gi),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"&&(W.equalsRange(this._currentMatch,i)||(this._currentMatch=i,n.currentMatch=!0,s=!0)),s&&this._onFindReplaceStateChange.fire(n)}change(e,t,i=!0){var g;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,h=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"&&((g=e.searchScope)!=null&&g.every(f=>{var p;return(p=this._searchScope)==null?void 0:p.some(v=>!W.equalsRange(v,f))})||(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),h!==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>=zl}}const Qz=y("defaultLabel","input"),eV=y("label.preserveCaseToggle","Preserve Case");class tV extends fE{constructor(e){super({icon:ei.preserveCase,title:eV+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??$b("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class iV extends Mp{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new gi),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new gi),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new gi),this._onInput=this._register(new gi),this._onKeyUp=this._register(new gi),this._onPreserveCaseKeyDown=this._register(new gi),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||Qz;const s=n.appendPreserveCaseLabel||"",r=n.history||[],a=!!n.flexibleHeight,c=!!n.flexibleWidth,h=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new fO(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:n.showHistoryHint,flexibleHeight:a,flexibleWidth:c,flexibleMaxHeight:h,inputBoxStyles:n.inputBoxStyles})),this.preserveCase=this._register(new tV({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 g=[this.preserveCase.domNode];this.onkeydown(this.domNode,p=>{if(p.equals(15)||p.equals(17)||p.equals(9)){const v=g.indexOf(this.domNode.ownerDocument.activeElement);if(v>=0){let _=-1;p.equals(17)?_=(v+1)%g.length:p.equals(15)&&(v===0?_=g.length-1:_=v-1),p.equals(9)?(g[v].blur(),this.inputBox.focus()):_>=0&&g[_].focus(),w_.stop(p,!0)}}});const f=document.createElement("div");f.className="controls",f.style.display=this._showOptionButtons?"block":"none",f.appendChild(this.preserveCase.domNode),this.domNode.appendChild(f),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 zM=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},VM=function(o,e){return function(t,i){e(t,i,o)}};const v1=new Pi("suggestWidgetVisible",!1,y("suggestWidgetVisible","Whether suggestion are visible")),b1="historyNavigationWidgetFocus",jM="historyNavigationForwardsEnabled",UM="historyNavigationBackwardsEnabled";let el;const Tm=[];function $M(o,e){if(Tm.includes(e))throw new Error("Cannot register the same widget multiple times");Tm.push(e);const t=new We,i=new Pi(b1,!1).bindTo(o),n=new Pi(jM,!0).bindTo(o),s=new Pi(UM,!0).bindTo(o),r=()=>{i.set(!0),el=e},a=()=>{i.set(!1),el===e&&(el=void 0)};return mO(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(wn(()=>{Tm.splice(Tm.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let rC=class extends pO{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register($M(s,this.inputBox))}};rC=zM([VM(3,Wi)],rC);let aC=class extends iV{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register($M(r,this.inputBox))}};aC=zM([VM(3,Wi)],aC);Ia.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:re.and(re.has(b1),re.equals(UM,!0),re.not("isComposing"),v1.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{el==null||el.showPreviousValue()}});Ia.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:re.and(re.has(b1),re.equals(jM,!0),re.not("isComposing"),v1.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{el==null||el.showNextValue()}});function Zk(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 Xk=Gn("find-collapsed",ei.chevronRight,y("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),Yk=Gn("find-expanded",ei.chevronDown,y("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),nV=Gn("find-selection",ei.selection,y("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),sV=Gn("find-replace",ei.replace,y("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),oV=Gn("find-replace-all",ei.replaceAll,y("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),rV=Gn("find-previous-match",ei.arrowUp,y("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),aV=Gn("find-next-match",ei.arrowDown,y("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),lV=y("label.findDialog","Find / Replace"),cV=y("label.find","Find"),dV=y("placeholder.find","Find"),hV=y("label.previousMatchButton","Previous Match"),uV=y("label.nextMatchButton","Next Match"),gV=y("label.toggleSelectionFind","Find in Selection"),fV=y("label.closeButton","Close"),pV=y("label.replace","Replace"),mV=y("placeholder.replace","Replace"),_V=y("label.replaceButton","Replace"),vV=y("label.replaceAllButton","Replace All"),bV=y("label.toggleReplaceButton","Toggle Replace"),yV=y("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",zl),wV=y("label.matchesLocation","{0} of {1}"),Jk=y("label.noResults","No results"),Jr=419,SV=275,CV=SV-54;let Bg=69;const xV=33,Qk="ctrlEnterReplaceAll.windows.donotask",eI=Ca?256:2048;class hw{constructor(e){this.afterLineNumber=e,this.heightInPx=xV,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 iI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const eb=class eb extends Mp{constructor(e,t,i,n,s,r,a,c,h,g){super(),this._hoverService=g,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=h,this._ctrlEnterReplaceAllWarningPrompted=!!c.getBoolean(Qk,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new uc(500),this._register(wn(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(f=>this._onStateChanged(f))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(f=>{if(f.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),f.hasChanged(146)&&this._tryUpdateWidgetWidth(),f.hasChanged(2)&&this.updateAccessibilitySupport(),f.hasChanged(41)){const p=this._codeEditor.getOption(41).loop;this._state.change({loop:p},!1);const v=this._codeEditor.getOption(41).addExtraSpaceOnTop;v&&!this._viewZone&&(this._viewZone=new hw(0),this._showViewZone()),!v&&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 f=await this._controller.getGlobalBufferTerm();f&&f!==this._state.searchString&&(this._state.change({searchString:f},!1),this._findInput.select())}})),this._findInputFocused=_y.bindTo(r),this._findFocusTracker=this._register(zu(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=_1.bindTo(r),this._replaceFocusTracker=this._register(zu(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 hw(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(f=>{if(f.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return eb.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=Jo(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,ln)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=Bg+"px",this._state.matchesCount>=zl?this._matchesCount.title=yV: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>=zl&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=I0(wV,n,i)}else e=Jk;this._matchesCount.appendChild(document.createTextNode(e)),ur(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),Bg=Math.max(Bg,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===Jk)return i===""?y("ariaSearchNoResultEmpty","{0} found",e):y("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=y("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 y("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=Gs(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=_O(this._domNode).left;r>c&&(t=!1);const h=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());n.left+(h?h.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 hw(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&&Jo(this._domNode)>Jr){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=Jo(this._findInput.domNode);return}if(Jr+28+n>=i&&(r=!0),Jr+28+n-Bg>=i&&(a=!0),Jr+28+n-Bg>=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=Jo(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&&!W.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 iI(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{Rb&&vg&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(y("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(Qk,!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 iI(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 rC(null,this._contextViewProvider,{width:CV,label:cV,placeholder:dV,appendCaseSensitiveLabel:this._keybindingLabelFor(an.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(an.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(an.ToggleRegexCommand),validation:g=>{if(g.length===0||!this._findInput.getRegex())return null;try{return new RegExp(g,"gu"),null}catch(f){return{content:f.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>Zk(this._keybindingService),inputBoxStyles:FL,toggleStyles:OL},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(g=>this._onFindInputKeyDown(g))),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(g=>{g.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),g.preventDefault())})),this._register(this._findInput.onRegexKeyDown(g=>{g.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),g.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(g=>{this._tryUpdateHeight()&&this._showViewZone()})),vO&&this._register(this._findInput.onMouseDown(g=>this._onFindInputMouseDown(g))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(jw());this._prevBtn=this._register(new Fh({label:hV+this._keybindingLabelFor(an.PreviousMatchFindAction),icon:rV,hoverDelegate:i,onTrigger:()=>{tu(this._codeEditor.getAction(an.PreviousMatchFindAction)).run().then(void 0,ln)}},this._hoverService)),this._nextBtn=this._register(new Fh({label:uV+this._keybindingLabelFor(an.NextMatchFindAction),icon:aV,hoverDelegate:i,onTrigger:()=>{tu(this._codeEditor.getAction(an.NextMatchFindAction)).run().then(void 0,ln)}},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 fE({icon:nV,title:gV+this._keybindingLabelFor(an.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:Gc(_0),inputActiveOptionBorder:Gc(gE),inputActiveOptionForeground:Gc(uE)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let g=this._codeEditor.getSelections();g=g.map(f=>(f.endColumn===1&&f.endLineNumber>f.startLineNumber&&(f=f.setEndPosition(f.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(f.endLineNumber-1))),f.isEmpty()?null:f)).filter(f=>!!f),g.length&&this._state.change({searchScope:g},!0)}}else this._state.change({searchScope:null},!0)})),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new Fh({label:fV+this._keybindingLabelFor(an.CloseFindWidgetCommand),icon:pE,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:g=>{g.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),g.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new aC(null,void 0,{label:pV,placeholder:mV,appendPreserveCaseLabel:this._keybindingLabelFor(an.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>Zk(this._keybindingService),inputBoxStyles:FL,toggleStyles:OL},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(g=>this._onReplaceInputKeyDown(g))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(g=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(g=>{g.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(),g.preventDefault())}));const r=this._register(jw());this._replaceBtn=this._register(new Fh({label:_V+this._keybindingLabelFor(an.ReplaceOneAction),icon:sV,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:g=>{g.equals(1026)&&(this._closeBtn.focus(),g.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new Fh({label:vV+this._keybindingLabelFor(an.ReplaceAllAction),icon:oV,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 Fh({label:bV,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=Jo(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=lV,this._domNode.role="dialog",this._domNode.style.width=`${Jr}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 Jh(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let h=Jr;this._register(this._resizeSash.onDidStart(()=>{h=Jo(this._domNode)})),this._register(this._resizeSash.onDidChange(g=>{this._resized=!0;const f=h+g.startX-g.currentX;if(f<Jr)return;const p=parseFloat(bO(this._domNode).maxWidth)||0;f>p||(this._domNode.style.width=`${f}px`,this._isReplaceVisible&&(this._replaceInput.width=Jo(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const g=Jo(this._domNode);if(g<Jr)return;let f=Jr;if(!this._resized||g===Jr){const p=this._codeEditor.getLayoutInfo();f=p.width-28-p.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${f}px`,this._isReplaceVisible&&(this._replaceInput.width=Jo(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};eb.ID="editor.contrib.findWidget";let lC=eb;class Fh extends Mp{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+$i.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??$b("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(...$i.asClassNameArray(Xk)),this._domNode.classList.add(...$i.asClassNameArray(Yk))):(this._domNode.classList.remove(...$i.asClassNameArray(Yk)),this._domNode.classList.add(...$i.asClassNameArray(Xk)))}}Hb((o,e)=>{const t=o.getColor(GD);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${Nf(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(yO);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${Nf(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(nl);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(wO);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(SO);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});var qM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fo=function(o,e){return function(t,i){e(t,i,o)}},cC;const LV=524288;function dC(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)<LV)return o.getModel().getValueInRange(i)}return null}var Sd;let Xs=(Sd=class extends ze{get editor(){return this._editor}static get(e){return e.getContribution(cC.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=vl.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new uc(500),this._state=this._register(new Jz),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!!_y.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=Rf(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=dC(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=Rf(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=dC(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 vf(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(y("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)}},cC=Sd,Sd.ID="editor.contrib.findController",Sd);Xs=cC=qM([Fo(1,Wi),Fo(2,wc),Fo(3,_g),Fo(4,zs),Fo(5,Ap)],Xs);let hC=class extends Xs{constructor(e,t,i,n,s,r,a,c,h){super(e,i,a,c,r,h),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 lC(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new oC(this._editor,this._state,this._keybindingService))}};hC=qM([Fo(1,Fb),Fo(2,Wi),Fo(3,is),Fo(4,pr),Fo(5,zs),Fo(6,wc),Fo(7,_g),Fo(8,Ap)],hC);const kV=mE(new _E({id:an.StartFindAction,label:y("startFindAction","Find"),alias:"Find",precondition:re.or(M.focus,re.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Qe.MenubarEditMenu,group:"3_find",title:y({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));kV.addImplementation(0,(o,e,t)=>{const i=Xs.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 IV={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 DV extends ye{constructor(){super({id:an.StartFindWithArgs,label:y("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:IV})}async run(e,t,i){const n=Xs.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 EV extends ye{constructor(){super({id:an.StartFindWithSelection,label:y("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=Xs.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 KM extends ye{async run(e,t){const i=Xs.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 PV extends KM{constructor(){super({id:an.NextMatchFindAction,label:y("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:M.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:re.and(M.focus,_y),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class TV extends KM{constructor(){super({id:an.PreviousMatchFindAction,label:y("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:M.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:re.and(M.focus,_y),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class MV extends ye{constructor(){super({id:an.GoToMatchFindAction,label:y("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:vl}),this._highlightDecorations=[]}run(e,t,i){const n=Xs.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(zs).notify({severity:L0.Warning,message:y("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(ul),a=new We,c=a.add(r.createInputBox());c.placeholder=y("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",s);const h=f=>{const p=parseInt(f);if(isNaN(p))return;const v=n.getState().matchesCount;if(p>0&&p<=v)return p-1;if(p<0&&p>=-v)return v+p},g=f=>{const p=h(f);if(typeof p=="number"){c.validationMessage=void 0,n.goToMatch(p);const v=n.getState().currentMatch;v&&this.addDecorations(t,v)}else c.validationMessage=y("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount),this.clearDecorations(t)};a.add(c.onDidChangeValue(f=>{g(f)})),a.add(c.onDidAccept(()=>{const f=h(c.value);typeof f=="number"?(n.goToMatch(f),c.hide()):c.validationMessage=y("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:ss(vE),position:va.Full}}}])})}}class GM extends ye{async run(e,t){const i=Xs.get(t);if(!i)return;const n=dC(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 NV extends GM{constructor(){super({id:an.NextSelectionMatchFindAction,label:y("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class RV extends GM{constructor(){super({id:an.PreviousSelectionMatchFindAction,label:y("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const AV=mE(new _E({id:an.StartFindReplaceAction,label:y("startReplace","Replace"),alias:"Replace",precondition:re.or(M.focus,re.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Qe.MenubarEditMenu,group:"3_find",title:y({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));AV.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=Xs.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})});vi(Xs.ID,hC,0);se(DV);se(EV);se(PV);se(TV);se(MV);se(NV);se(RV);const jr=Js.bindToContribution(Xs.get);Lt(new jr({id:an.CloseFindWidgetCommand,precondition:vl,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:re.and(M.focus,re.not("isComposing")),primary:9,secondary:[1033]}}));Lt(new jr({id:an.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:M.focus,primary:Lm.primary,mac:Lm.mac,win:Lm.win,linux:Lm.linux}}));Lt(new jr({id:an.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:M.focus,primary:km.primary,mac:km.mac,win:km.win,linux:km.linux}}));Lt(new jr({id:an.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:M.focus,primary:Im.primary,mac:Im.mac,win:Im.win,linux:Im.linux}}));Lt(new jr({id:an.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:M.focus,primary:Dm.primary,mac:Dm.mac,win:Dm.win,linux:Dm.linux}}));Lt(new jr({id:an.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:M.focus,primary:Em.primary,mac:Em.mac,win:Em.win,linux:Em.linux}}));Lt(new jr({id:an.ReplaceOneAction,precondition:vl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:M.focus,primary:3094}}));Lt(new jr({id:an.ReplaceOneAction,precondition:vl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:re.and(M.focus,_1),primary:3}}));Lt(new jr({id:an.ReplaceAllAction,precondition:vl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:M.focus,primary:2563}}));Lt(new jr({id:an.ReplaceAllAction,precondition:vl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:re.and(M.focus,_1),primary:void 0,mac:{primary:2051}}}));Lt(new jr({id:an.SelectAllMatchesAction,precondition:vl,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:M.focus,primary:515}}));const OV={0:" ",1:"u",2:"r"},nI=65535,Lr=16777215,sI=4278190080;class uw{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 yo{constructor(e,t,i){if(e.length!==t.length||e.length>nI)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new uw(e.length),this._userDefinedStates=new uw(e.length),this._recoveredStates=new uw(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>Lr||r>Lr)throw new Error("startLineNumber or endLineNumber must not exceed "+Lr);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]&Lr}getEndLineNumber(e){return this._endIndexes[e]&Lr}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 FV(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&sI)>>>24)+((this._endIndexes[e]&sI)>>>16);return t===nI?-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]&Lr,endLineNumber:this._endIndexes[e]&Lr,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 h=e[c];i[c]=h.startLineNumber,n[c]=h.endLineNumber,s.push(h.type),h.type&&(r=!0)}r||(s=void 0);const a=new yo(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=(S,D)=>Array.isArray(S)?(P=>P<D?S[P]:void 0):(P=>P<D?S.toFoldRange(P):void 0),r=s(e,e.length),a=s(t,t.length);let c=0,h=0,g=r(0),f=a(0);const p=[];let v,_=0;const w=[];for(;g||f;){let S;if(f&&(!g||g.startLineNumber>=f.startLineNumber))g&&g.startLineNumber===f.startLineNumber?(f.source===1?S=f:(S=g,S.isCollapsed=f.isCollapsed&&(g.endLineNumber===f.endLineNumber||!(n!=null&&n.startsInside(g.startLineNumber+1,g.endLineNumber+1))),S.source=0),g=r(++c)):(S=f,f.isCollapsed&&f.source===0&&(S.source=2)),f=a(++h);else{let D=h,P=f;for(;;){if(!P||P.startLineNumber>g.endLineNumber){S=g;break}if(P.source===1&&P.endLineNumber>g.endLineNumber)break;P=a(++D)}g=r(++c)}if(S){for(;v&&v.endLineNumber<S.startLineNumber;)v=p.pop();S.endLineNumber>S.startLineNumber&&S.startLineNumber>_&&S.endLineNumber<=i&&(!v||v.endLineNumber>=S.endLineNumber)&&(w.push(S),_=S.startLineNumber,v&&p.push(v),v=S)}}return w}}class FV{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 HV{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new gi,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new yo(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 h=this._regions.getEndLineNumber(n),g=this._regions.isCollapsed(n);if(h<=s){const f=this.regions.getSource(n)!==0;i.changeDecorationOptions(this._editorDecorationIds[n],this._decorationProvider.getDecorationOption(g,h<=r,f))}g&&h>r&&(r=h),n++}};for(const c of e){const h=c.regionIndex,g=this._editorDecorationIds[h];if(g&&!t[g]){t[g]=!0,a(h);const f=!this._regions.isCollapsed(h);this._regions.setCollapsed(h,f),s=Math.max(s,this._regions.getEndLineNumber(h))}}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(yo.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=yo.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(yo.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),h=e.getSource(n)!==0,g={startLineNumber:r,startColumn:this._textModel.getLineMaxColumn(r),endLineNumber:a,endColumn:this._textModel.getLineMaxColumn(a)+1};t.push({range:g,options:this._decorationProvider.getDecorationOption(c,a<=i,h)}),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=yo.sanitizeAndMerge(this._regions,t,i);this.updatePost(yo.fromFoldRanges(n))}_getLinesChecksum(e,t){return bE(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 h=this._regions.toRegion(a);if(this._regions.getStartLineNumber(a)<s){for(;r.length>0&&!h.containedBy(r[r.length-1]);)r.pop();r.push(h),t(h,r.length)&&i.push(h)}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 y1(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,h)=>c.isCollapsed!==r&&h<e);i.push(...a)}}}o.toggleCollapseState(i)}function kg(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,h)=>c.isCollapsed!==e&&h<t);n.push(...a)}}else{const s=o.getRegionsInside(null,(r,a)=>r.isCollapsed!==e&&a<t);n.push(...s)}o.toggleCollapseState(n)}function ZM(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 WV(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 BV(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 XM(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 w1(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 S1(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 zV(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 VV(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 jV(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 UV{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new gi,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||CO(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,h=a.getEndLineNumber(i);s<=c&&h<=r||(!e&&n<this._hiddenRanges.length&&this._hiddenRanges[n].startLineNumber===c&&this._hiddenRanges[n].endLineNumber===h?(t.push(this._hiddenRanges[n]),n++):(e=!0,t.push(new W(c,1,h,1))),s=c,r=h)}(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 oI(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!$V(r,n))&&(n=oI(this._hiddenRanges,r)),n?n.startLineNumber-1:null);for(let r=0,a=e.length;r<a;r++){let c=e[r];const h=s(c.startLineNumber);h&&(c=c.setStartPosition(h,i.getLineMaxColumn(h)),t=!0);const g=s(c.endLineNumber);g&&(c=c.setEndPosition(g,i.getLineMaxColumn(g)),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 $V(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function oI(o,e){const t=dE(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const qV=5e3,KV="indent";class C1{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=KV}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(XV(this.editorModel,i,n,this.foldingRangesLimit))}}let GV=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Lr||t>Lr)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 yo(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 h=this._indentOccurrences[c];if(h){if(h+i>t){n=c;break}i+=h}}const s=e.getOptions().tabSize,r=new Uint32Array(t),a=new Uint32Array(t);for(let c=this._length-1,h=0;c>=0;c--){const g=this._startIndexes[c],f=e.getLineContent(g),p=g0(f,s);(p<n||p===n&&i++<t)&&(r[h]=g,a[h]=this._endIndexes[c],h++)}return new yo(r,a)}}};const ZV={limit:qV,update:()=>{}};function XV(o,e,t,i=ZV){const n=o.getOptions().tabSize,s=new GV(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 h=o.getLineCount();h>0;h--){const g=o.getLineContent(h),f=g0(g,n);let p=a[a.length-1];if(f===-1){e&&(p.endAbove=h);continue}let v;if(r&&(v=g.match(r)))if(v[1]){let _=a.length-1;for(;_>0&&a[_].indent!==-2;)_--;if(_>0){a.length=_+1,p=a[_],s.insertFirst(h,p.line,f),p.line=h,p.indent=f,p.endAbove=h;continue}}else{a.push({indent:-2,endAbove:h,line:h});continue}if(p.indent>f){do a.pop(),p=a[a.length-1];while(p.indent>f);const _=p.endAbove-1;_-h>=1&&s.insertFirst(h,_,f)}p.indent===f?p.endAbove=h:a.push({indent:f,endAbove:h,line:h})}return s.toIndentRanges(o)}const YV=ut("editor.foldBackground",{light:ya(HL,.3),dark:ya(HL,.3),hcDark:null,hcLight:null},y("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);ut("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},y("collapsedTextColor","Color of the collapsed text after the first line of a folded range."));ut("editorGutter.foldingControlForeground",xO,y("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const Y_=Gn("folding-expanded",ei.chevronDown,y("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),J_=Gn("folding-collapsed",ei.chevronRight,y("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),rI=Gn("folding-manual-collapsed",J_,y("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),aI=Gn("folding-manual-expanded",Y_,y("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),gw={color:ss(YV),position:1},Hh=y("linesCollapsed","Click to expand the range."),Mm=y("linesExpanded","Click to collapse the range."),Zn=class Zn{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?Zn.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?Zn.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:Zn.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:Zn.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?Zn.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Zn.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?Zn.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Zn.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?Zn.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:Zn.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?Zn.MANUALLY_EXPANDED_VISUAL_DECORATION:Zn.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};Zn.COLLAPSED_VISUAL_DECORATION=xi.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Hh,firstLineDecorationClassName:$i.asClassName(J_)}),Zn.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=xi.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:gw,isWholeLine:!0,linesDecorationsTooltip:Hh,firstLineDecorationClassName:$i.asClassName(J_)}),Zn.MANUALLY_COLLAPSED_VISUAL_DECORATION=xi.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Hh,firstLineDecorationClassName:$i.asClassName(rI)}),Zn.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=xi.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:gw,isWholeLine:!0,linesDecorationsTooltip:Hh,firstLineDecorationClassName:$i.asClassName(rI)}),Zn.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=xi.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Hh}),Zn.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=xi.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:gw,isWholeLine:!0,linesDecorationsTooltip:Hh}),Zn.EXPANDED_VISUAL_DECORATION=xi.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+$i.asClassName(Y_),linesDecorationsTooltip:Mm}),Zn.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=xi.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:$i.asClassName(Y_),linesDecorationsTooltip:Mm}),Zn.MANUALLY_EXPANDED_VISUAL_DECORATION=xi.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+$i.asClassName(aI),linesDecorationsTooltip:Mm}),Zn.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=xi.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:$i.asClassName(aI),linesDecorationsTooltip:Mm}),Zn.NO_CONTROLS_EXPANDED_RANGE_DECORATION=xi.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),Zn.HIDDEN_RANGE_DECORATION=xi.register({description:"folding-hidden-range-decoration",stickiness:1});let uC=Zn;const JV={},QV="syntax";class x1{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=QV,this.disposables=new We,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return e4(this.providers,this.editorModel,e).then(t=>{var i;return t?i4(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function e4(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,JV,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);const c=e.getLineCount();for(const h of a)h.start>0&&h.end>h.start&&h.end<=c&&i.push({start:h.start,end:h.end,rank:r,kind:h.kind})}},Xn));return Promise.all(n).then(s=>i)}class t4{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>Lr||t>Lr)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 yo(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 h=this._nestingLevels[a];(h<i||h===i&&t++<e)&&(n[c]=this._startIndexes[a],s[c]=this._endIndexes[a],r[c]=this._types[a],c++)}return new yo(n,s,r)}}}function i4(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 t4(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 n4=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},zg=function(o,e){return function(t,i){e(t,i,o)}},Mc;const _s=new Pi("foldingEnabled",!1);var Cd;let _c=(Cd=class extends ze{static get(e){return e.getContribution(Mc.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=Mc._foldingRangeSelector)==null?void 0:n.call(Mc,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 We),this.editor=e,this._foldingLimitReporter=new YM(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=_s.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 h=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=h.get(111),this.foldingDecorationProvider.showFoldingHighlights=h.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 HV(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new UV(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new uc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new rs(()=>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 C1(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=Mc.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new x1(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 co,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=gs(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const h=s.setCollapsedAllOfType(Wp.Imports.value,!0);h&&(r=ju.capture(this.editor),this._currentModelHasFoldedImports=h)}const a=this.editor.getSelections();e.update(s,s4(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=>(ln(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,ln)}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 h=[];if(c){const g=p=>!p.containedBy(r)&&!r.containedBy(p),f=t.getRegionsInside(null,g);for(const p of f)p.isCollapsed&&h.push(p);h.length===0&&(h=f)}else{const g=e.event.middleButton||e.event.shiftKey;if(g)for(const f of t.getRegionsInside(r))f.isCollapsed===a&&h.push(f);(a||!g||h.length===0)&&h.push(r)}t.toggleCollapseState(h),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}},Mc=Cd,Cd.ID="editor.contrib.folding",Cd);_c=Mc=n4([zg(1,Wi),zg(2,us),zg(3,zs),zg(4,jo),zg(5,Ct)],_c);class YM{constructor(e){this.editor=e,this._onDidChange=new gi,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 Cs extends ye{runEditorCommand(e,t,i){const n=e.get(us),s=_c.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 s4(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 JM(o){if(!Kg(o)){if(!yE(o))return!1;const e=o;if(!Kg(e.levels)&&!WL(e.levels)||!Kg(e.direction)&&!qD(e.direction)||!Kg(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(WL)))return!1}return!0}class o4 extends Cs{constructor(){super({id:"editor.unfold",label:y("unfoldAction.label","Unfold"),alias:"Unfold",precondition:_s,kbOpts:{kbExpr:M.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:JM,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"?ZM(t,!1,s,r):kg(t,!1,s,r)}}class r4 extends Cs{constructor(){super({id:"editor.unfoldRecursively",label:y("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2142),weight:100}})}invoke(e,t,i,n){kg(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class a4 extends Cs{constructor(){super({id:"editor.fold",label:y("foldAction.label","Fold"),alias:"Fold",precondition:_s,kbOpts:{kbExpr:M.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:JM,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"?WV(t,!0,s):a==="up"?ZM(t,!0,r||1,s):kg(t,!0,r||1,s)}}class l4 extends Cs{constructor(){super({id:"editor.toggleFold",label:y("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);y1(t,1,n)}}class c4 extends Cs{constructor(){super({id:"editor.foldRecursively",label:y("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);kg(t,!0,Number.MAX_VALUE,n)}}class d4 extends Cs{constructor(){super({id:"editor.toggleFoldRecursively",label:y("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);y1(t,Number.MAX_VALUE,n)}}class h4 extends Cs{constructor(){super({id:"editor.foldAllBlockComments",label:y("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())S1(t,Wp.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*"+Rf(a.blockCommentStartToken));w1(t,c,!0)}}}}class u4 extends Cs{constructor(){super({id:"editor.foldAllMarkerRegions",label:y("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())S1(t,Wp.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);w1(t,c,!0)}}}}class g4 extends Cs{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:y("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())S1(t,Wp.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);w1(t,c,!1)}}}}class f4 extends Cs{constructor(){super({id:"editor.foldAllExcept",label:y("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);XM(t,!0,n)}}class p4 extends Cs{constructor(){super({id:"editor.unfoldAllExcept",label:y("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);XM(t,!1,n)}}class m4 extends Cs{constructor(){super({id:"editor.foldAll",label:y("foldAllAction.label","Fold All"),alias:"Fold All",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2069),weight:100}})}invoke(e,t,i){kg(t,!0)}}class _4 extends Cs{constructor(){super({id:"editor.unfoldAll",label:y("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2088),weight:100}})}invoke(e,t,i){kg(t,!1)}}const uu=class uu extends Cs{getFoldingLevel(){return parseInt(this.id.substr(uu.ID_PREFIX.length))}invoke(e,t,i){BV(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};uu.ID_PREFIX="editor.foldLevel",uu.ID=e=>uu.ID_PREFIX+e;let Q_=uu;class v4 extends Cs{constructor(){super({id:"editor.gotoParentFold",label:y("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=zV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class b4 extends Cs{constructor(){super({id:"editor.gotoPreviousFold",label:y("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=VV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class y4 extends Cs{constructor(){super({id:"editor.gotoNextFold",label:y("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=jV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class w4 extends Cs{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:y("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(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,h)=>c.startLineNumber-h.startLineNumber);const a=yo.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(yo.fromFoldRanges(a))}}}}class S4 extends Cs{constructor(){super({id:"editor.removeManualFoldingRanges",label:y("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(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()}}}vi(_c.ID,_c,0);se(o4);se(r4);se(a4);se(c4);se(d4);se(m4);se(_4);se(h4);se(u4);se(g4);se(f4);se(p4);se(l4);se(v4);se(b4);se(y4);se(w4);se(S4);for(let o=1;o<=7;o++)LO(new Q_({id:Q_.ID(o),label:y("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:_s,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2048|21+o),weight:100}}));mn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof nn))throw Ya();const i=o.get(Ct),n=o.get(Vs).getModel(t);if(!n)throw Ya();const s=o.get(Cn);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(us),a=s.getValue("editor.foldingStrategy",{resource:t}),c={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(v,_)=>{}},h=new C1(n,r,c);let g=h;if(a!=="indentation"){const v=_c.getFoldingRangeProviders(i,n);v.length&&(g=new x1(n,v,()=>{},c,h))}const f=await g.compute(fi.None),p=[];try{if(f)for(let v=0;v<f.length;v++){const _=f.getType(v);p.push({start:f.getStartLineNumber(v),end:f.getEndLineNumber(v),kind:_?Wp.fromValue(_):void 0})}return p}finally{g.dispose()}});class C4 extends ye{constructor(){super({id:"editor.action.fontZoomIn",label:y("EditorFontZoomIn.label","Increase Editor Font Size"),alias:"Increase Editor Font Size",precondition:void 0})}run(e,t){Bf.setZoomLevel(Bf.getZoomLevel()+1)}}class x4 extends ye{constructor(){super({id:"editor.action.fontZoomOut",label:y("EditorFontZoomOut.label","Decrease Editor Font Size"),alias:"Decrease Editor Font Size",precondition:void 0})}run(e,t){Bf.setZoomLevel(Bf.getZoomLevel()-1)}}class L4 extends ye{constructor(){super({id:"editor.action.fontZoomReset",label:y("EditorFontZoomReset.label","Reset Editor Font Size"),alias:"Reset Editor Font Size",precondition:void 0})}run(e,t){Bf.setZoomLevel(0)}}se(C4);se(x4);se(L4);var QM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},bf=function(o,e){return function(t,i){e(t,i,o)}},Tu;let ev=(Tu=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new We,this._sessionDisposables=new We,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 S_;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 fs,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}});kO(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||So(r)&&(this._accessibilitySignalService.playSignal(SE.format,{userGesture:!1}),IO.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},Tu.ID="editor.contrib.autoFormat",Tu);ev=QM([bf(1,Ct),bf(2,pl),bf(3,wE)],ev);var Mu;let tv=(Mu=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new We,this._callOnModel=new We,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(CE,this.editor,e,2,qa.None,fi.None,!1).catch(ln))}},Mu.ID="editor.contrib.formatOnPaste",Mu);tv=QM([bf(1,Ct),bf(2,ci)],tv);class k4 extends ye{constructor(){super({id:"editor.action.formatDocument",label:y("formatDocument.label","Format Document"),alias:"Format Document",precondition:re.and(M.notInCompositeEditor,M.writable,M.hasDocumentFormattingProvider),kbOpts:{kbExpr:M.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(ci);await e.get(Ep).showWhile(i.invokeFunction(DO,t,1,qa.None,fi.None,!0),250)}}}class I4 extends ye{constructor(){super({id:"editor.action.formatSelection",label:y("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:re.and(M.writable,M.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2084),weight:100},contextMenuOpts:{when:M.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(ci),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new W(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(Ep).showWhile(i.invokeFunction(CE,t,s,1,qa.None,fi.None,!0),250)}}vi(ev.ID,ev,2);vi(tv.ID,tv,2);se(k4);se(I4);mn.registerCommand("editor.action.format",async o=>{const e=o.get(Yn).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(hs);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});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},fw=function(o,e){return function(t,i){e(t,i,o)}};class ru{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 gC extends ru{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class eN extends ru{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class Ba extends ru{static create(e,t,i){const n=new fs(i),s=new Ba(t.uri),r=e.ordered(t),a=r.map((h,g)=>{const f=ru.findId(`provider_${g}`,s),p=new eN(f,s,h.displayName??"Unknown Outline Provider",g);return Promise.resolve(h.provideDocumentSymbols(t,n.token)).then(v=>{for(const _ of v||[])Ba._makeOutlineElement(_,p);return p},v=>(Xn(v),p)).then(v=>{ru.empty(v)?v.remove():s._groups.set(f,v)})}),c=e.onDidChange(()=>{const h=e.ordered(t);Sa(h,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?Ba.create(e,t,i):s._compact()).finally(()=>{n.dispose(),c.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=ru.findId(e,t),n=new gC(i,t,e);if(e.children)for(const s of e.children)Ba._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=Xa.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 gC?e.push(t.symbol):e.push(...Xa.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>W.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return Ba._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>St.compare(W.getStartPosition(i.range),W.getStartPosition(n.range))||St.compare(W.getEndPosition(n.range),W.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&&Ba._flattenDocumentSymbols(e,n.children,n.name)}}const Qp=gl("IOutlineModelService");let fC=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new We,this._cache=new Tp(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()||!Sa(s.provider,n)){const a=new fs;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:Ba.create(i,e,a.token),model:void 0},this._cache.set(e.id,s);const c=Date.now();s.promise.then(h=>{s.model=h,this._debounceInformation.update(e,Date.now()-c)}).catch(h=>{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()}}};fC=D4([fw(0,Ct),fw(1,jo),fw(2,Vs)],fC);fl(Qp,fC,1);mn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;zi(nn.isUri(t));const i=o.get(Qp),s=await o.get(zr).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,fi.None)).getTopLevelSymbols()}finally{s.dispose()}});const na=class na extends ze{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=na.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=na.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=na.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=na.suppressSuggestions.bindTo(this.contextKeyService),this._register(Pn(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(Pn(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:h}=a.parts[0],g=h[0],f=n.textModel.getLineIndentColumn(a.lineNumber);if(c<=f){let v=zw(g);v===-1&&(v=g.length-1),s=v>0;const _=n.textModel.getOptions().tabSize;r=EO.visibleColumnFromColumn(g,v+1,_)<_}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};na.inlineSuggestionVisible=new Pi("inlineSuggestionVisible",!1,y("inlineSuggestionVisible","Whether an inline suggestion is visible")),na.inlineSuggestionHasIndentation=new Pi("inlineSuggestionHasIndentation",!1,y("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),na.inlineSuggestionHasIndentationLessThanTabSize=new Pi("inlineSuggestionHasIndentationLessThanTabSize",!0,y("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),na.suppressSuggestions=new Pi("inlineSuggestionSuppressSuggestions",void 0,y("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let lo=na;function E4(o){const e=new We,t=e.add(xE());return e.add(Pn(i=>{t.setStyle(o.read(i))})),e}class tp{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 LE([...this.parts.map(s=>new ol(W.fromPositions(new St(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 iv{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=qb(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 pC{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new iv(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=qb(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 lI(o,e){return Sa(o,e,tN)}function tN(o,e){return o===e?!0:!o||!e?!1:o instanceof tp&&e instanceof tp||o instanceof pC&&e instanceof pC?o.equals(e):!1}const P4=[];function T4(){return P4}class iN{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new Ku(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new W(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function nN(o,e){const t=new We,i=o.createDecorationsCollection();return t.add(PO({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function M4(o,e){return new St(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function cI(o,e){return new St(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var N4=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},R4=function(o,e){return function(t,i){e(t,i,o)}};const dI="ghost-text";let mC=class extends ze{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Co(this,!1),this.currentTextModel=no(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Ji(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 pC?r.columnRange:void 0,c=[],h=[];function g(w,S){if(h.length>0){const D=h[h.length-1];S&&D.decorations.push(new zf(D.content.length+1,D.content.length+1+w[0].length,S,0)),D.content+=w[0],w=w.slice(1)}for(const D of w)h.push({content:D,decorations:S?[new zf(1,D.length+1,S,0)]:[]})}const f=s.getLineContent(r.lineNumber);let p,v=0;for(const w of r.parts){let S=w.lines;p===void 0?(c.push({column:w.column,text:S[0],preview:w.preview}),S=S.slice(1)):g([f.substring(v,w.column-1)],void 0),S.length>0&&(g(S,dI),p===void 0&&w.column<=f.length&&(p=w.column)),v=w.column-1}p!==void 0&&g([f.substring(v)],void 0);const _=p!==void 0?new iN(p,f.length+1):void 0;return{replacedRange:a,inlineTexts:c,additionalLines:h,hiddenRange:_,lineNumber:r.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s}}),this.decorations=Ji(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:W.fromPositions(new St(s.lineNumber,a.column)),options:{description:dI,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:eu.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new A4(this.editor,this.languageService.languageIdCodec,Ji(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(wn(()=>{this.isDisposed.set(!0,void 0)})),this._register(nN(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};mC=N4([R4(2,Br)],mC);class A4 extends ze{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=Xc("editorOptionChanged",os.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(Pn(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");O4(c,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:c,afterColumnAffinity:1})}})}}function O4(o,e,t,i,n){const s=i.get(33),r=i.get(118),a="none",c=i.get(95),h=i.get(51),g=i.get(50),f=i.get(67),p=new IE(1e4);p.appendString('<div class="suggest-preview-text">');for(let w=0,S=t.length;w<S;w++){const D=t[w],P=D.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(w*f)),p.appendString('px;width:1000000px;">');const N=TE(P),z=TO(P),F=MO.createEmpty(P,n);DE(new EE(g.isMonospace&&!s,g.canUseHalfwidthRightwardsArrow,P,!1,N,z,0,F,D.decorations,e,0,g.spaceWidth,g.middotWidth,g.wsmiddotWidth,r,a,c,h!==NO.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),PE(o,g);const v=p.build(),_=hI?hI.createHTML(v):v;o.innerHTML=_}const hI=kE("editorGhostText",{createHTML:o=>o});function F4(o,e){const t=new FO,i=new AO(t,h=>e.getLanguageConfiguration(h)),n=new RO(new H4([o]),i),s=OO(n,[],void 0,!0);let r="";const a=o.getLineContent();function c(h,g){if(h.kind===2)if(c(h.openingBracket,g),g=Og(g,h.openingBracket.length),h.child&&(c(h.child,g),g=Og(g,h.child.length)),h.closingBracket)c(h.closingBracket,g),g=Og(g,h.closingBracket.length);else{const p=i.getSingleLanguageBracketTokens(h.openingBracket.languageId).findClosingTokenText(h.openingBracket.bracketIds);r+=p}else if(h.kind!==3){if(h.kind===0||h.kind===1)r+=a.substring(BL(g),BL(Og(g,h.length)));else if(h.kind===4)for(const f of h.children)c(f,g),g=Og(g,f.length)}}return c(s,HO),r}class H4{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 sN(o,e,t,i,n=fi.None,s){const r=e instanceof St?z4(e,t):e,a=o.all(t),c=new WO;for(const D of a)D.groupId&&c.add(D.groupId,D);function h(D){if(!D.yieldsToGroupIds)return[];const P=[];for(const N of D.yieldsToGroupIds||[]){const z=c.get(N);for(const F of z)P.push(F)}return P}const g=new Map,f=new Set;function p(D,P){if(P=[...P,D],f.has(D))return P;f.add(D);try{const N=h(D);for(const z of N){const F=p(z,P);if(F)return F}}finally{f.delete(D)}}function v(D){const P=g.get(D);if(P)return P;const N=p(D,[]);N&&Xn(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${N.map(F=>F.toString?F.toString():""+F).join(" -> ")}`));const z=new Ab;return g.set(D,z.p),(async()=>{var F;if(!N){const ie=h(D);for(const Y of ie){const ge=await v(Y);if(ge&&ge.items.length>0)return}}try{return e instanceof St?await D.provideInlineCompletions(t,e,i,n):await((F=D.provideInlineEdits)==null?void 0:F.call(D,t,e,i,n))}catch(ie){Xn(ie);return}})().then(F=>z.complete(F),F=>z.error(F)),z.p}const _=await Promise.all(a.map(async D=>({provider:D,completions:await v(D)}))),w=new Map,S=[];for(const D of _){const P=D.completions;if(!P)continue;const N=new B4(P,D.provider);S.push(N);for(const z of P.items){const F=nv.from(z,N,r,t,s);w.set(F.hash(),F)}}return new W4(Array.from(w.values()),new Set(w.keys()),S)}class W4{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 B4{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 nv{static from(e,t,i,n,s){let r,a,c=e.range?W.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=uI(r,c.getStartPosition(),n,s);const h=r.length-e.insertText.length;h!==0&&(c=new W(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+h))}a=void 0}else if("snippet"in e.insertText){const h=e.insertText.snippet.length;if(s&&e.completeBracketPairs){e.insertText.snippet=uI(e.insertText.snippet,c.getStartPosition(),n,s);const f=e.insertText.snippet.length-h;f!==0&&(c=new W(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+f))}const g=new Qd().parse(e.insertText.snippet);g.children.length===1&&g.children[0]instanceof so?(r=g.children[0].value,a=void 0):(r=g.toString(),a={snippet:e.insertText.snippet,range:c})}else BO(e.insertText);return new nv(r,e.command,c,r,a,e.additionalTextEdits||T4(),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 nv(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 ol(this.range,this.insertText)}}function z4(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new W(o.lineNumber,t.startColumn,o.lineNumber,i):W.fromPositions(o,o.with(void 0,i))}function uI(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?F4(a,i):o}function nd(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=Hp(n,o.text),r=C_.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),c=W.fromPositions(r,o.range.getEndPosition());return new ol(c,a)}function oN(o,e){return o.text.startsWith(e.text)&&V4(o.range,e.range)}function gI(o,e,t,i,n=0){let s=nd(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=ys(r).length;if(s.range.startColumn-1<=a){const _=ys(s.text).length,w=r.substring(s.range.startColumn-1,a),[S,D]=[s.range.getStartPosition(),s.range.getEndPosition()],P=S.column+w.length<=D.column?S.delta(0,w.length):D,N=W.fromPositions(P,D),z=s.text.startsWith(w)?s.text.substring(w.length):s.text.substring(_);s=new ol(N,z)}const h=e.getValueInRange(s.range),g=j4(h,s.text);if(!g)return;const f=s.range.startLineNumber,p=new Array;if(t==="prefix"){const _=g.filter(w=>w.originalLength===0);if(_.length>1||_.length===1&&_[0].originalStart!==h.length)return}const v=s.text.length-n;for(const _ of g){const w=s.range.startColumn+_.originalStart+_.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===s.range.startLineNumber&&w<i.column||_.originalLength>0)return;if(_.modifiedLength===0)continue;const S=_.modifiedStart+_.modifiedLength,D=Math.max(_.modifiedStart,Math.min(S,v)),P=s.text.substring(_.modifiedStart,D),N=s.text.substring(D,Math.max(_.modifiedStart,S));P.length>0&&p.push(new iv(w,P,!1)),N.length>0&&p.push(new iv(w,N,!0))}return new tp(f,p)}function V4(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let Qr;function j4(o,e){if((Qr==null?void 0:Qr.originalValue)===o&&(Qr==null?void 0:Qr.newValue)===e)return Qr==null?void 0:Qr.changes;{let t=pI(o,e,!0);if(t){const i=fI(t);if(i>0){const n=pI(o,e,!1);n&&fI(n)<i&&(t=n)}}return Qr={originalValue:o,newValue:e,changes:t},t}}function fI(o){let e=0;for(const t of o)e+=t.originalLength;return e}function pI(o,e,t){if(o.length>5e3||e.length>5e3)return;function i(h){let g=0;for(let f=0,p=h.length;f<p;f++){const v=h.charCodeAt(f);v>g&&(g=v)}return g}const n=Math.max(i(o),i(e));function s(h){if(h<0)throw new Error("unexpected");return n+h+1}function r(h){let g=0,f=0;const p=new Int32Array(h.length);for(let v=0,_=h.length;v<_;v++)if(t&&h[v]==="("){const w=f*100+g;p[v]=s(2*w),g++}else if(t&&h[v]===")"){g=Math.max(g-1,0);const w=f*100+g;p[v]=s(2*w+1),g===0&&f++}else p[v]=h.charCodeAt(v);return p}const a=r(o),c=r(e);return new zO({getElements:()=>a},{getElements:()=>c}).ComputeDiff(!1).changes}var U4=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 _C=class extends ze{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 Lo),this.inlineCompletions=Uw("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=Uw("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var g,f;const n=new q4(e,t,this.textModel.getVersionId()),s=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if((g=this._updateOperation.value)!=null&&g.request.satisfies(n))return this._updateOperation.value.promise;if((f=s.get())!=null&&f.request.satisfies(n))return Promise.resolve(!0);const r=!!this._updateOperation.value;this._updateOperation.clear();const a=new fs,c=(async()=>{if((r||t.triggerKind===Ja.Automatic)&&await $4(this._debounceValue.get(this.textModel),a.token),a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const v=new Date,_=await sN(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 w=new Date;this._debounceValue.update(this.textModel,w.getTime()-v.getTime());const S=new G4(_,n,this.textModel,this.versionId);if(i){const D=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!_.has(D)&&S.prepend(i.inlineCompletion,D.range,!0)}return this._updateOperation.clear(),uh(D=>{s.set(S,D)}),!0})(),h=new K4(n,a,c);return this._updateOperation.value=h,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()}};_C=U4([mI(3,Ct),mI(4,us)],_C);function $4(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 q4{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&VO(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,UO())&&(e.context.triggerKind===Ja.Automatic||this.context.triggerKind===Ja.Explicit)&&this.versionId===e.versionId}}class K4{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class G4{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 _I(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 _I(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class _I{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=$a({owner:this,equalsFn:W.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??pw)}toSingleTextEdit(e){return new ol(this._updatedRange.read(e)??pw,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=nd(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 h=a.substring(0,c),g=a.substring(c),f=r.substring(0,c),p=r.substring(c);const v=e.getLineIndentColumn(n.range.startLineNumber);return n.range.startColumn<=v&&(f=f.trimStart(),f.length===0&&(p=p.trimStart()),h=h.trimStart(),h.length===0&&(g=g.trimStart())),h.startsWith(f)&&!!jO(p,g)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&C_.ofRange(i).isGreaterThanOrEqualTo(C_.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new ol(this._updatedRange.read(e)??pw,this.inlineCompletion.filterText)}}const pw=new W(1,1,1,1),Gt={Visible:v1,HasFocusedSuggestion:new Pi("suggestWidgetHasFocusedSuggestion",!1,y("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new Pi("suggestWidgetDetailsVisible",!1,y("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new Pi("suggestWidgetMultipleSuggestions",!1,y("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new Pi("suggestionMakesTextEdit",!0,y("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new Pi("acceptSuggestionOnEnter",!0,y("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new Pi("suggestionHasInsertAndReplaceRange",!1,y("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new Pi("suggestionInsertMode",void 0,{type:"string",description:y("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new Pi("suggestionCanResolve",!1,y("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},Gl=new Qe("suggestWidgetStatusBar");class Z4{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=Hf.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,W.isIRange(t.range)?(this.editStart=new St(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new St(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new St(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||W.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new St(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new St(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new St(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||W.spansMultipleLines(t.range.insert)||W.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 co(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{yc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const tb=class tb{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}};tb.default=new tb;let ip=tb;class X4{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function L1(o,e,t,i=ip.default,n={triggerKind:0},s=fi.None){const r=new co;t=t.clone();const a=e.getWordAtPosition(t),c=a?new W(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):W.fromPositions(t),h={replace:c,insert:c.setEndPosition(t.lineNumber,t.column)},g=[],f=new We,p=[];let v=!1;const _=(S,D,P)=>{var z;let N=!1;if(!D)return N;for(const F of D.suggestions)if(!i.kindFilter.has(F.kind)){if(!i.showDeprecated&&((z=F==null?void 0:F.tags)!=null&&z.includes(1)))continue;F.range||(F.range=h),F.sortText||(F.sortText=typeof F.label=="string"?F.label:F.label.label),!v&&F.insertTextRules&&F.insertTextRules&4&&(v=Qd.guessNeedsClipboard(F.insertText)),g.push(new Z4(t,F,D,S)),N=!0}return ME(D)&&f.add(D),p.push({providerName:S._debugDisplayName??"unknown_provider",elapsedProvider:D.duration??-1,elapsedOverall:P.elapsed()}),N},w=(async()=>{})();for(const S of o.orderedGroups(e)){let D=!1;if(await Promise.all(S.map(async P=>{if(i.providerItemsToReuse.has(P)){const N=i.providerItemsToReuse.get(P);N.forEach(z=>g.push(z)),D=D||N.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(P)))try{const N=new co,z=await P.provideCompletionItems(e,t,n,s);D=_(P,z,N)||D}catch(N){Xn(N)}})),D||s.isCancellationRequested)break}return await w,s.isCancellationRequested?(f.dispose(),Promise.reject(new Ob)):new X4(g.sort(Q4(i.snippetSortOrder)),v,{entries:p,elapsed:r.elapsed()},f)}function k1(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 Y4(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return k1(o,e)}function J4(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return k1(o,e)}const vy=new Map;vy.set(0,Y4);vy.set(2,J4);vy.set(1,k1);function Q4(o){return vy.get(o)}mn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;zi(nn.isUri(t)),zi(St.isIPosition(i)),zi(typeof n=="string"||!n),zi(typeof s=="number"||!s);const{completionProvider:r}=o.get(Ct),a=await o.get(zr).createModelReference(t);try{const c={incomplete:!1,suggestions:[]},h=[],g=a.object.textEditorModel.validatePosition(i),f=await L1(r,a.object.textEditorModel,g,void 0,{triggerCharacter:n??void 0,triggerKind:n?1:0});for(const p of f.items)h.length<(s??0)&&h.push(p.resolve(fi.None)),c.incomplete=c.incomplete||p.container.incomplete,c.suggestions.push(p.completion);try{return await Promise.all(h),c}finally{setTimeout(()=>f.disposable.dispose(),100)}}finally{a.dispose()}});function ej(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class au{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 vI(o,e=Rb){return $O(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var tj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ij=function(o,e){return function(t,i){e(t,i,o)}};class bI{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 yI{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=ys(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(h=>h===e?!1:(h instanceof so&&(a=ys(qb(h.value).pop())),!0));const c=Hp(a,r);i=i.replace(/(\r\n|\r|\n)(.*)/g,(h,g,f)=>`${g}${a.substr(c)}${f}`)}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 wI{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return hf(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=hf(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return qO(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(C0(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 SI{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=>!KO(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let sv=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}}};sv=tj([ij(2,us)],sv);const sa=class sa{constructor(){this._date=new Date}resolve(e){const{name:t}=e;if(t==="CURRENT_YEAR")return String(this._date.getFullYear());if(t==="CURRENT_YEAR_SHORT")return String(this._date.getFullYear()).slice(-2);if(t==="CURRENT_MONTH")return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if(t==="CURRENT_DATE")return String(this._date.getDate().valueOf()).padStart(2,"0");if(t==="CURRENT_HOUR")return String(this._date.getHours().valueOf()).padStart(2,"0");if(t==="CURRENT_MINUTE")return String(this._date.getMinutes().valueOf()).padStart(2,"0");if(t==="CURRENT_SECOND")return String(this._date.getSeconds().valueOf()).padStart(2,"0");if(t==="CURRENT_DAY_NAME")return sa.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return sa.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return sa.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return sa.monthNamesShort[this._date.getMonth()];if(t==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3));if(t==="CURRENT_TIMEZONE_OFFSET"){const i=this._date.getTimezoneOffset(),n=i>0?"-":"+",s=Math.trunc(Math.abs(i/60)),r=s<10?"0"+s:s,a=Math.abs(i)-s*60,c=a<10?"0"+a:a;return n+r+":"+c}}};sa.dayNames=[y("Sunday","Sunday"),y("Monday","Monday"),y("Tuesday","Tuesday"),y("Wednesday","Wednesday"),y("Thursday","Thursday"),y("Friday","Friday"),y("Saturday","Saturday")],sa.dayNamesShort=[y("SundayShort","Sun"),y("MondayShort","Mon"),y("TuesdayShort","Tue"),y("WednesdayShort","Wed"),y("ThursdayShort","Thu"),y("FridayShort","Fri"),y("SaturdayShort","Sat")],sa.monthNames=[y("January","January"),y("February","February"),y("March","March"),y("April","April"),y("May","May"),y("June","June"),y("July","July"),y("August","August"),y("September","September"),y("October","October"),y("November","November"),y("December","December")],sa.monthNamesShort=[y("JanuaryShort","Jan"),y("FebruaryShort","Feb"),y("MarchShort","Mar"),y("AprilShort","Apr"),y("MayShort","May"),y("JuneShort","Jun"),y("JulyShort","Jul"),y("AugustShort","Aug"),y("SeptemberShort","Sep"),y("OctoberShort","Oct"),y("NovemberShort","Nov"),y("DecemberShort","Dec")];let ov=sa;class CI{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=GO(this._workspaceService.getWorkspace());if(!ZO(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(zL(e))return hf(e.uri.path);let t=hf(e.configPath.path);return t.endsWith(VL)&&(t=t.substr(0,t.length-VL.length-1)),t}_resoveWorkspacePath(e){if(zL(e))return vI(e.uri.fsPath);const t=hf(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?vI(i):"/"}}class xI{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 ly()}}var nj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},sj=function(o,e){return function(t,i){e(t,i,o)}},vr;const Yo=class Yo{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=jL(t.placeholders,Bo.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=W.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?Yo._decor.inactiveFinal:Yo._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),h=s.transform.resolve(c).split(/\r\n|\r|\n/);for(let g=1;g<h.length;g++)h[g]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+h[g]);n.push(zn.replace(a,h.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),h=this._editor.getModel().getDecorationRange(c);r.push(new jt(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(c,a.isFinalTabstop?Yo._decor.activeFinal:Yo._decor.active),s.add(a);for(const g of this._snippet.enclosingPlaceholders(a)){const f=this._placeholderDecorations.get(g);n.changeDecorationOptions(f,g.isFinalTabstop?Yo._decor.activeFinal:Yo._decor.active),s.add(g)}}for(const[a,c]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(c,a.isFinalTabstop?Yo._decor.inactiveFinal:Yo._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof Bo){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 Lg,!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 h=s._snippet.offset(c),g=s._snippet.fullLen(c),f=W.fromPositions(t.getPositionAt(s._offset+h),t.getPositionAt(s._offset+h+g)),p=i.addDecoration(f,Yo._decor.inactive);this._placeholderDecorations.set(c,p)}}this._placeholderGroups=jL(this._snippet.placeholders,Bo.compareByIndex)})}};Yo._decor={active:xi.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:xi.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:xi.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:xi.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let rv=Yo;const LI={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let av=vr=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=ys(r,0,t.column-1);let c;return n.walk(h=>{if(!(h instanceof so)||h.parent instanceof Lg||s&&!s.has(h))return!0;const g=h.value.split(/\r\n|\r|\n/);if(i){const p=n.offset(h);if(p===0)g[0]=e.normalizeIndentation(g[0]);else{c=c??n.toString();const v=c.charCodeAt(p-1);(v===10||v===13)&&(g[0]=e.normalizeIndentation(a+g[0]))}for(let v=1;v<g.length;v++)g[v]=e.normalizeIndentation(a+g[v])}const f=g.join(e.getEOL());return f!==h.value&&(h.parent.replace(h,[new so(f)]),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,h=e.validateRange({startLineNumber:s,startColumn:a,endLineNumber:s,endColumn:c});t=jt.createWithDirection(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,i,n,s,r,a,c,h){const g=[],f=[];if(!e.hasModel())return{edits:g,snippets:f};const p=e.getModel(),v=e.invokeWithinContext(z=>z.get(Wu)),_=e.invokeWithinContext(z=>new wI(z.get(Ff),p)),w=()=>a,S=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),N=e.getSelections().map((z,F)=>({selection:z,idx:F})).sort((z,F)=>W.compareRangesUsingStarts(z.selection,F.selection));for(const{selection:z,idx:F}of N){let ie=vr.adjustSelection(p,z,i,0),Y=vr.adjustSelection(p,z,0,n);S!==p.getValueInRange(ie)&&(ie=z),D!==p.getValueInRange(Y)&&(Y=z);const ge=z.setStartPosition(ie.startLineNumber,ie.startColumn).setEndPosition(Y.endLineNumber,Y.endColumn),_e=new Qd().parse(t,!0,s),Ae=ge.getStartPosition(),Le=vr.adjustWhitespace(p,Ae,r||F>0&&P!==p.getLineFirstNonWhitespaceColumn(z.positionLineNumber),_e);_e.resolveVariables(new bI([_,new SI(w,F,N.length,e.getOption(79)==="spread"),new yI(p,z,F,c),new sv(p,z,h),new ov,new CI(v),new xI])),g[F]=zn.replace(ge,_e.toString()),g[F].identifier={major:F,minor:0},g[F]._isTracked=!0,f[F]=new rv(e,_e,Le)}return{edits:g,snippets:f}}static createEditsAndSnippetsFromEdits(e,t,i,n,s,r,a){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const c=[],h=e.getModel(),g=new Qd,f=new qp,p=new bI([e.invokeWithinContext(_=>new wI(_.get(Ff),h)),new SI(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new yI(h,e.getSelection(),0,r),new sv(h,e.getSelection(),a),new ov,new CI(e.invokeWithinContext(_=>_.get(Wu))),new xI]);t=t.sort((_,w)=>W.compareRangesUsingStarts(_.range,w.range));let v=0;for(let _=0;_<t.length;_++){const{range:w,template:S}=t[_];if(_>0){const F=t[_-1].range,ie=W.fromPositions(F.getEndPosition(),w.getStartPosition()),Y=new so(h.getValueInRange(ie));f.appendChild(Y),v+=Y.value.length}const D=g.parseFragment(S,f);vr.adjustWhitespace(h,w.getStartPosition(),!0,f,new Set(D)),f.resolveVariables(p);const P=f.toString(),N=P.slice(v);v=P.length;const z=zn.replace(w,N);z.identifier={major:_,minor:0},z._isTracked=!0,c.push(z)}return g.ensureFinalTabstop(f,i,!0),{edits:c,snippets:[new rv(e,f,"")]}}constructor(e,t,i=LI,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){As(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=>jt.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=LI){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=>jt.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(W.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(W.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(W.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};av=vr=nj([sj(3,us)],av);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},Nm=function(o,e){return function(t,i){e(t,i,o)}},Xh;const kI={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var ga;let Bs=(ga=class{static get(e){return e.getContribution(Xh.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new We,this._modelVersionId=-1,this._inSnippet=Xh.InSnippetMode.bindTo(n),this._hasNextTabstop=Xh.HasNextTabstop.bindTo(n),this._hasPrevTabstop=Xh.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"?kI:{...kI,...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?(zi(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new av(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:(g,f)=>{if(!this._session||g!==this._editor.getModel()||!St.equals(this._editor.getPosition(),f))return;const{activeChoice:p}=this._session;if(!p||p.choice.options.length===0)return;const v=g.getValueInRange(p.range),_=!!p.choice.options.find(S=>S.value===v),w=[];for(let S=0;S<p.choice.options.length;S++){const D=p.choice.options[S];w.push({kind:13,label:D.value,insertText:D.value,sortText:"a".repeat(S+1),range:p.range,filterText:_?`${v}_${D.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:y("next","Go to next placeholder...")}})}return{suggestions:w}}},s=this._editor.getModel();let r,a=!1;const c=()=>{r==null||r.dispose(),a=!1},h=()=>{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:h,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(()=>{ej(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()}},Xh=ga,ga.ID="snippetController2",ga.InSnippetMode=new Pi("inSnippetMode",!1,y("inSnippetMode","Whether the editor in current in snippet mode")),ga.HasNextTabstop=new Pi("hasNextTabstop",!1,y("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),ga.HasPrevTabstop=new Pi("hasPrevTabstop",!1,y("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),ga);Bs=Xh=oj([Nm(1,gh),Nm(2,Ct),Nm(3,Wi),Nm(4,us)],Bs);vi(Bs.ID,Bs,4);const by=Js.bindToContribution(Bs.get);Lt(new by({id:"jumpToNextSnippetPlaceholder",precondition:re.and(Bs.InSnippetMode,Bs.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:2}}));Lt(new by({id:"jumpToPrevSnippetPlaceholder",precondition:re.and(Bs.InSnippetMode,Bs.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:1026}}));Lt(new by({id:"leaveSnippet",precondition:Bs.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:9,secondary:[1033]}}));Lt(new by({id:"acceptSnippet",precondition:Bs.InSnippetMode,handler:o=>o.finish()}));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},mw=function(o,e){return function(t,i){e(t,i,o)}};let vC=class extends ze{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,n,s,r,a,c,h,g,f,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=h,this._instantiationService=g,this._commandService=f,this._languageConfigurationService=p,this._source=this._register(this._instantiationService.createInstance(_C,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=Co(this,!1),this._forceUpdateExplicitlySignal=D0(this),this._selectedInlineCompletionId=Co(this,void 0),this._primaryPosition=Ji(this,_=>this._positions.read(_)[0]??new St(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([Wa.Redo,Wa.Undo,Wa.AcceptWord]),this._fetchInlineCompletionsPromise=NE({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:Ja.Automatic}),handleChange:(_,w)=>(_.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(_.change))?w.preserveCurrentCompletion=!0:_.didChange(this._forceUpdateExplicitlySignal)&&(w.inlineCompletionTriggerKind=Ja.Explicit),!0)},(_,w)=>{if(this._forceUpdateExplicitlySignal.read(_),!(this._enabled.read(_)&&this.selectedSuggestItem.read(_)||this._isActive.read(_))){this._source.cancelUpdate();return}this._textModelVersionId.read(_);const D=this._source.suggestWidgetInlineCompletions.get(),P=this.selectedSuggestItem.read(_);if(D&&!P){const Y=this._source.inlineCompletions.get();uh(ge=>{(!Y||D.request.versionId>Y.request.versionId)&&this._source.inlineCompletions.set(D.clone(),ge),this._source.clearSuggestWidgetInlineCompletions(ge)})}const N=this._primaryPosition.read(_),z={triggerKind:w.inlineCompletionTriggerKind,selectedSuggestionInfo:P==null?void 0:P.toSelectedSuggestionInfo()},F=this.selectedInlineCompletion.get(),ie=w.preserveCurrentCompletion||F!=null&&F.forwardStable?F:void 0;return this._source.fetch(N,z,ie)}),this._filteredInlineCompletionItems=$a({owner:this,equalsFn:$w()},_=>{const w=this._source.inlineCompletions.read(_);if(!w)return[];const S=this._primaryPosition.read(_);return w.inlineCompletions.filter(P=>P.isVisible(this.textModel,S,_))}),this.selectedInlineCompletionIndex=Ji(this,_=>{const w=this._selectedInlineCompletionId.read(_),S=this._filteredInlineCompletionItems.read(_),D=this._selectedInlineCompletionId===void 0?-1:S.findIndex(P=>P.semanticId===w);return D===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):D}),this.selectedInlineCompletion=Ji(this,_=>{const w=this._filteredInlineCompletionItems.read(_),S=this.selectedInlineCompletionIndex.read(_);return w[S]}),this.activeCommands=$a({owner:this,equalsFn:$w()},_=>{var w;return((w=this.selectedInlineCompletion.read(_))==null?void 0:w.inlineCompletion.source.inlineCompletions.commands)??[]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,_=>_==null?void 0:_.request.context.triggerKind),this.inlineCompletionsCount=Ji(this,_=>{if(this.lastTriggerKind.read(_)===Ja.Explicit)return this._filteredInlineCompletionItems.read(_).length}),this.state=$a({owner:this,equalsFn:(_,w)=>!_||!w?_===w:lI(_.ghostTexts,w.ghostTexts)&&_.inlineCompletion===w.inlineCompletion&&_.suggestItem===w.suggestItem},_=>{const w=this.textModel,S=this.selectedSuggestItem.read(_);if(S){const D=nd(S.toSingleTextEdit(),w),P=this._computeAugmentation(D,_);if(!this._suggestPreviewEnabled.read(_)&&!P)return;const z=(P==null?void 0:P.edit)??D,F=P?P.edit.text.length-D.text.length:0,ie=this._suggestPreviewMode.read(_),Y=this._positions.read(_),ge=[z,..._w(this.textModel,Y,z)],_e=ge.map((Le,gt)=>gI(Le,w,ie,Y[gt],F)).filter(Gm),Ae=_e[0]??new tp(z.range.endLineNumber,[]);return{edits:ge,primaryGhostText:Ae,ghostTexts:_e,inlineCompletion:P==null?void 0:P.completion,suggestItem:S}}else{if(!this._isActive.read(_))return;const D=this.selectedInlineCompletion.read(_);if(!D)return;const P=D.toSingleTextEdit(_),N=this._inlineSuggestMode.read(_),z=this._positions.read(_),F=[P,..._w(this.textModel,z,P)],ie=F.map((Y,ge)=>gI(Y,w,N,z[ge],0)).filter(Gm);return ie[0]?{edits:F,primaryGhostText:ie[0],ghostTexts:ie,inlineCompletion:D,suggestItem:void 0}:void 0}}),this.ghostTexts=$a({owner:this,equalsFn:lI},_=>{const w=this.state.read(_);if(w)return w.ghostTexts}),this.primaryGhostText=$a({owner:this,equalsFn:tN},_=>{const w=this.state.read(_);if(w)return w==null?void 0:w.primaryGhostText}),this._register(RE(this._fetchInlineCompletionsPromise));let v;this._register(Pn(_=>{var D,P;const w=this.state.read(_),S=w==null?void 0:w.inlineCompletion;if((S==null?void 0:S.semanticId)!==(v==null?void 0:v.semanticId)&&(v=S,S)){const N=S.inlineCompletion,z=N.source;(P=(D=z.provider).handleItemDidShow)==null||P.call(D,z.inlineCompletions,N.sourceInlineCompletion,N.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?Wa.Undo:e!=null&&e.isRedoing?Wa.Redo:this.isAcceptingPartially?Wa.AcceptWord:Wa.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){x_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){x_(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(Gm);return XO(s,a=>{let c=a.toSingleTextEdit(t);return c=nd(c,i,W.fromPositions(c.range.getStartPosition(),e.range.getEndPosition())),oN(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 Ku;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",[zn.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=Bs.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=II(s).map(a=>jt.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>zn.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,Xn),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 g=/\s+/g.exec(i);return g&&g.index!==void 0&&g.index+g[0].length<c&&(c=g.index+g[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 Ku;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 St(s.lineNumber,a.column),h=a.text,g=t(c,h);if(g===h.length&&s.parts.length===1){this.accept(e);return}const f=h.substring(0,g),p=this._positions.get(),v=p[0];r.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const _=W.fromPositions(v,c),w=e.getModel().getValueInRange(_)+f,S=new ol(_,w),D=[S,..._w(this.textModel,p,S)],P=II(D).map(N=>jt.fromPositions(N));e.executeEdits("inlineSuggestion.accept",D.map(N=>zn.replace(N.range,N.text))),e.setSelections(P,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const _=W.fromPositions(r.range.getStartPosition(),C_.ofText(f).addToPosition(c)),w=e.getModel().getValueInRange(_,1);r.source.provider.handlePartialAccept(r.source.inlineCompletions,r.sourceInlineCompletion,w.length,{kind:i})}}finally{r.source.removeRef()}}handleSuggestAccepted(e){var s,r;const t=nd(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})}};vC=rj([mw(9,ci),mw(10,hs),mw(11,us)],vC);var Wa;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(Wa||(Wa={}));function _w(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(W.fromPositions(i,r)),c=cI(i,s);if(c.lineNumber<1)return ln(new Ku(`positionWithinTextEdit line number should be bigger than 0.
36
+ Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const h=aj(t.text,c);return n.map(g=>{const f=M4(cI(g,s),r),p=o.getValueInRange(W.fromPositions(g,f)),v=Hp(a,p),_=W.fromPositions(g,g.delta(0,v));return new ol(_,h)})}function aj(o,e){let t="";const i=JO(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 II(o){const e=YO.createSortPermutation(o,Op(s=>s.range,W.compareRangesUsingStarts)),i=new LE(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}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},DI=function(o,e){return function(t,i){e(t,i,o)}},Qg;class I1{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 EI extends I1{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class cj extends I1{constructor(){super("recentlyUsed"),this._cache=new Tp(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 h=0;h<i.length&&i[h].score[0]===s;h++){const g=`${e.getLanguageId()}/${i[h].textLabel}`,f=this._cache.peek(g);if(f&&f.touch>c&&f.type===i[h].completion.kind&&f.insertText===i[h].completion.insertText&&(c=f.touch,a=h),i[h].completion.preselect&&r===-1)return r=h}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:E0.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class dj extends I1{constructor(){super("recentlyUsedByPrefix"),this._trie=QO.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:h}=i[a].completion;if(c===r.type&&h===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:E0.fromString(i.type),this._trie.set(t,i)}}}var nc;let bC=(nc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new We,this._persistSoon=new rs(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===b0.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=Qg._strategyCtors.get(i)||EI;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,c=this._storageService.get(`${Qg._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(`${Qg._storagePrefix}/${this._strategy.name}`,i,t,1)}}},Qg=nc,nc._strategyCtors=new Map([["recentlyUsedByPrefix",dj],["recentlyUsed",cj],["first",EI]]),nc._storagePrefix="suggest/memories",nc);bC=Qg=lj([DI(0,wc),DI(1,Cn)],bC);const yy=gl("ISuggestMemories");fl(yy,bC,1);var hj=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},uj=function(o,e){return function(t,i){e(t,i,o)}},yC,xd;let lv=(xd=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=yC.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)}},yC=xd,xd.AtEnd=new Pi("atEndOfWord",!1),xd);lv=yC=hj([uj(1,Wi)],lv);var gj=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)}},ef,Ld;let dg=(Ld=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=ef.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(ef._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=ef._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},ef=Ld,Ld.OtherSuggestions=new Pi("hasOtherSuggestions",!1),Ld);dg=ef=gj([fj(1,Wi)],dg);class pj{constructor(e,t,i,n){this._disposables=new We,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||!So(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new S_;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 Ro=class Ro{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>Ro._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>Ro._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>=Ro._maxRounds){e();break}if(!n){e();break}const c=i.bracketPairs.findNextBracket(n);if(!c){e();break}if(Date.now()-a>Ro._maxDuration){setTimeout(()=>Ro._bracketsRightYield(e,t+1,i,n,s));break}if(c.bracketInfo.isOpeningBracket){const g=c.bracketInfo.bracketText,f=r.has(g)?r.get(g):0;r.set(g,f+1)}else{const g=c.bracketInfo.getOpeningBrackets()[0].bracketText;let f=r.has(g)?r.get(g):0;if(f-=1,r.set(g,Math.max(0,f)),f<0){let p=s.get(g);p||(p=new AE,s.set(g,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>=Ro._maxRounds&&s.size===0){e();break}if(!n){e();break}const h=i.bracketPairs.findPrevBracket(n);if(!h){e();break}if(Date.now()-c>Ro._maxDuration){setTimeout(()=>Ro._bracketsLeftYield(e,t+1,i,n,s,r));break}if(h.bracketInfo.isOpeningBracket){const f=h.bracketInfo.bracketText;let p=a.has(f)?a.get(f):0;if(p-=1,a.set(f,Math.max(0,p)),p<0){const v=s.get(f);if(v){const _=v.shift();v.size===0&&s.delete(f);const w=W.fromPositions(h.range.getEndPosition(),_.getStartPosition()),S=W.fromPositions(h.range.getStartPosition(),_.getEndPosition());r.push({range:w}),r.push({range:S}),Ro._addBracketLeading(i,S,r)}}}else{const f=h.bracketInfo.getOpeningBrackets()[0].bracketText,p=a.has(f)?a.get(f):0;a.set(f,p+1)}n=h.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:W.fromPositions(new St(n,s),t.getEndPosition())}),i.push({range:W.fromPositions(new St(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:W.fromPositions(new St(r,a),t.getEndPosition())}),i.push({range:W.fromPositions(new St(r,1),t.getEndPosition())}))}}};Ro._maxDuration=30,Ro._maxRounds=2;let cv=Ro;const oa=class oa{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return oa.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return oa.None;const[s]=await new cv().provideSelectionRanges(i,[n]);if(s.length===0)return oa.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return oa.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends oa{distance(c,h){if(!n.equals(t.getPosition()))return 0;if(h.kind===17)return 2<<20;const g=typeof h.label=="string"?h.label:h.label.label,f=r[g];if(e2(f))return 2<<20;const p=L_(f,W.fromPositions(c),W.compareRangesUsingStarts),v=p>=0?f[p]:f[Math.max(0,~p-1)];let _=s.length;for(const w of s){if(!W.containsRange(w.range,v))break;_-=1}return _}}}};oa.None=new class extends oa{distance(){return 0}};let dv=oa,PI=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Ml{constructor(e,t,i,n,s,r,a=OE.default,c=void 0){this.clipboardText=c,this._snippetCompareFn=Ml._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=Ml._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=Ml._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?FE:t2;for(let h=0;h<r.length;h++){const g=r[h];if(g.isInvalid)continue;const f=this._itemsByProvider.get(g.provider);f?f.push(g):this._itemsByProvider.set(g.provider,[g]);const p=g.position.column-g.editStart.column,v=p+i-(g.position.column-this._column);if(n.length!==v&&(n=v===0?"":t.slice(-v),s=n.toLowerCase()),g.word=n,v===0)g.score=Hf.Default;else{let _=0;for(;_<p;){const w=n.charCodeAt(_);if(w===32||w===9)_+=1;else break}if(_>=v)g.score=Hf.Default;else if(typeof g.completion.filterText=="string"){const w=c(n,s,_,g.completion.filterText,g.filterTextLow,0,this._fuzzyScoreOptions);if(!w)continue;i2(g.completion.filterText,g.textLabel)===0?g.score=w:(g.score=n2(n,s,_,g.textLabel,g.labelLow,0),g.score[0]=w[0])}else{const w=c(n,s,_,g.textLabel,g.labelLow,0,this._fuzzyScoreOptions);if(!w)continue;g.score=w}}g.idx=h,g.distance=this._wordDistance.distance(g.position,g.completion),a.push(g),e.push(g.textLabel.length)}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?s2(e.length-.85,e,(h,g)=>h-g):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 Ml._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 Ml._compareCompletionItems(e,t)}}var mj=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},xl=function(o,e){return function(t,i){e(t,i,o)}},wC;class Dc{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 _j(o,e,t){if(!e.getContextKeyValue(lo.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(lo.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function vj(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(lo.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let hv=wC=class{constructor(e,t,i,n,s,r,a,c,h){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=h,this._toDispose=new We,this._triggerCharacterListener=new We,this._triggerQuickSuggest=new Dp,this._triggerState=void 0,this._completionDisposables=new We,this._onDidCancel=new gi,this._onDidTrigger=new gi,this._onDidSuggest=new gi,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new jt(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 g=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{g=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{g=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(f=>{g||this._onCursorChange(f)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!g&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){As(this._triggerCharacterListener),As([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(!vj(this._editor,this._contextKeyService,this._configurationService)||Dc.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="";r2(i.charCodeAt(i.length-1))?a2(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,h]of this._completionModel.getItemsByProvider())s.has(c)||a.set(c,h);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;au.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=Bs.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!Dc.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(!au.isAllOff(n)){if(!au.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(au.valueFor(n,r)!=="on")return}_j(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){zi(this._editor.hasModel()),zi(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new Dc(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var p,v,_;if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new Dc(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 fs;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}=wC.createSuggestFilter(this._editor),h=new ip(r,((p=e.completionOptions)==null?void 0:p.kindFilter)??a,(v=e.completionOptions)==null?void 0:v.providerFilter,(_=e.completionOptions)==null?void 0:_.providerItemsToReuse,c),g=dv.create(this._editorWorkerService,this._editor),f=L1(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),h,n,this._requestToken.token);Promise.all([f,g]).then(async([w,S])=>{var F;if((F=this._requestToken)==null||F.dispose(),!this._editor.hasModel())return;let D=e==null?void 0:e.clipboardText;if(!D&&w.needsClipboard&&(D=await this._clipboardService.readText()),this._triggerState===void 0)return;const P=this._editor.getModel(),N=new Dc(P,this._editor.getPosition(),e),z={...OE.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new Ml(w.items,this._context.column,{leadingLineContent:N.leadingLineContent,characterCountDelta:N.column-this._context.column},S,this._editor.getOption(119),this._editor.getOption(113),z,D),this._completionDisposables.add(w.disposable),this._onNewContext(N),this._reportDurationsTelemetry(w.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const ie of w.items)ie.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${ie.provider._debugDisplayName}`,ie.completion)}).catch(ln)}_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(ys(e.leadingLineContent)!==ys(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(Dc.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=Dc.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(n&&this._context.leadingWord.endColumn<e.leadingWord.startColumn){this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});return}if(this._context.triggerOptions.auto){this.cancel();return}else if(this._completionModel.lineContext=t,i=this._completionModel.items.length>0,i&&e.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:i})}}}}};hv=wC=mj([xl(1,pl),xl(2,_g),xl(3,Wr),xl(4,gh),xl(5,Wi),xl(6,Cn),xl(7,Ct),xl(8,o2)],hv);const ib=class ib{constructor(e,t){this._disposables=new We,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)>ib._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()}};ib._maxSelectionLength=51200;let SC=ib;var bj=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},vw=function(o,e){return function(t,i){e(t,i,o)}};let CC=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new We,this.element=nt(e,ht(".suggest-status-bar"));const r=(a=>a instanceof qu?i.createInstance(l2,a,{useComma:!0}):void 0);this._leftActions=new Mf(this.element,{actionViewItemProvider:r}),this._rightActions=new Mf(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()}};CC=bj([vw(2,ci),vw(3,hh),vw(4,Wi)],CC);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},wj=function(o,e){return function(t,i){e(t,i,o)}};function D1(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let xC=class{constructor(e,t){this._editor=e,this._onDidClose=new gi,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new gi,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new We,this._renderDisposeable=new We,this._borderWidth=1,this._size=new gn(330,0),this.domNode=ht(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(yg,{editor:e}),this._body=ht(".body"),this._scrollbar=new HE(this._body,{alwaysConsumeMouseWheel:!0}),nt(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=nt(this._body,ht(".header")),this._close=nt(this._header,ht("span"+$i.asCSSSelector(ei.close))),this._close.title=y("details.close","Close"),this._type=nt(this._header,ht("p.type")),this._docs=nt(this._body,ht("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=y("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 Ns().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!D1(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,rr(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else ba(this._type),this._type.title="",bo(this._type),this.domNode.classList.add("no-type");if(ba(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),ba(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 gn(e,t);gn.equals(i,this._size)||(this._size=i,c2(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}};xC=yj([wj(1,ci)],xC);class Sj{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new We,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new a1,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=Rp(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new gn(220,2*s.lineHeight),a=e.top,c=(function(){const F=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),ie=-s.borderWidth+e.left+e.width,Y=new gn(F,n.height-e.top-s.borderHeight-s.verticalPadding),ge=Y.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:ie,fit:F-t.width,maxSizeTop:Y,maxSizeBottom:ge,minSize:r.with(Math.min(F,r.width))}})(),h=(function(){const F=e.left-s.borderWidth-s.horizontalPadding,ie=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),Y=new gn(F,n.height-e.top-s.borderHeight-s.verticalPadding),ge=Y.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:ie,fit:F-t.width,maxSizeTop:Y,maxSizeBottom:ge,minSize:r.with(Math.min(F,r.width))}})(),g=(function(){const F=e.left,ie=-s.borderWidth+e.top+e.height,Y=new gn(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:ie,left:F,fit:Y.height-t.height,maxSizeBottom:Y,maxSizeTop:Y,minSize:r.with(Y.width)}})(),f=[c,h,g],p=f.find(F=>F.fit>=0)??f.sort((F,ie)=>ie.fit-F.fit)[0],v=e.top+e.height-s.borderHeight;let _,w=t.height;const S=Math.max(p.maxSizeTop.height,p.maxSizeBottom.height);w>S&&(w=S);let D;i?w<=p.maxSizeTop.height?(_=!0,D=p.maxSizeTop):(_=!1,D=p.maxSizeBottom):w<=p.maxSizeBottom.height?(_=!1,D=p.maxSizeBottom):(_=!0,D=p.maxSizeTop);let{top:P,left:N}=p;!_&&w>e.height&&(P=v-w);const z=this._editor.getDomNode();if(z){const F=z.getBoundingClientRect();P-=F.top,N-=F.left}this._applyTopLeft({left:N,top:P}),this._resizable.enableSashes(!_,p===c,_,p!==c),this._resizable.minSize=p.minSize,this._resizable.maxSize=D,this._resizable.layout(w,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 _a;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(_a||(_a={}));const Cj=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Rm(o,e,t,i,n){if($i.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(nn.isUri(n))return[];const s=i===_a.ROOT_FOLDER?["rootfolder-icon"]:i===_a.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===$s.data)r=k_.parseMetaData(t).get(k_.META_DATA_LABEL);else{const a=t.path.match(Cj);a?(r=Am(a[2].toLowerCase()),a[1]&&s.push(`${Am(a[1].toLowerCase())}-name-dir-icon`)):r=Am(t.authority.toLowerCase())}if(i===_a.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===_a.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 h=1;h<c.length;h++)s.push(`${c.slice(h).join(".")}-ext-file-icon`)}s.push("ext-file-icon")}const a=xj(o,e,t);a&&s.push(`${Am(a)}-lang-file-icon`)}}return s}function xj(o,e,t){if(!t)return null;let i=null;if(t.scheme===$s.data){const s=k_.parseMetaData(t).get(k_.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==Wf?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function Am(o){return o.replace(/[\s]/g,"/")}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},bw=function(o,e){return function(t,i){e(t,i,o)}};function rN(o){return`suggest-aria-id:${o}`}const kj=Gn("suggest-more-info",ei.chevronRight,y("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var Dr;const Ij=new(Dr=class{extract(e,t){if(e.textLabel.match(Dr._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(Dr._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=Dr._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},Dr._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*\))/,Dr._regexStrict=new RegExp(`^${Dr._regexRelaxed.source}$`,"i"),Dr);let LC=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new gi,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new We,i=e;i.classList.add("show-file-icons");const n=nt(e,ht(".icon")),s=nt(n,ht("span.colorspan")),r=nt(e,ht(".contents")),a=nt(r,ht(".main")),c=nt(a,ht(".icon-label.codicon")),h=nt(a,ht("span.left")),g=nt(a,ht("span.right")),f=new nE(h,{supportHighlights:!0,supportIcons:!0});t.add(f);const p=nt(h,ht("span.signature-label")),v=nt(h,ht("span.qualifier-label")),_=nt(g,ht("span.details-label")),w=nt(g,ht("span.readMore"+$i.asCSSSelector(kj)));return w.title=y("readMore","Read More"),{root:i,left:h,right:g,icon:n,colorspan:s,iconLabel:f,iconContainer:c,parametersLabel:p,qualifierLabel:v,detailsLabel:_,readMore:w,disposables:t,configureFont:()=>{const D=this._editor.getOptions(),P=D.get(50),N=P.getMassagedFontFamily(),z=P.fontFeatureSettings,F=D.get(120)||P.fontSize,ie=D.get(121)||P.lineHeight,Y=P.fontWeight,ge=P.letterSpacing,_e=`${F}px`,Ae=`${ie}px`,Le=`${ge}px`;i.style.fontSize=_e,i.style.fontWeight=Y,i.style.letterSpacing=Le,a.style.fontFamily=N,a.style.fontFeatureSettings=z,a.style.lineHeight=Ae,n.style.height=Ae,n.style.width=Ae,w.style.height=Ae,w.style.width=Ae}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=rN(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:jb(e.score)},r=[];if(n.kind===19&&Ij.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=Rm(this._modelService,this._languageService,nn.from({scheme:"fake",path:e.textLabel}),_a.FILE),c=Rm(this._modelService,this._languageService,nn.from({scheme:"fake",path:n.detail}),_a.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=[Rm(this._modelService,this._languageService,nn.from({scheme:"fake",path:e.textLabel}),_a.FOLDER),Rm(this._modelService,this._languageService,nn.from({scheme:"fake",path:n.detail}),_a.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...$i.asClassNameArray(E0.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=yw(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=yw(n.label.detail||""),i.detailsLabel.textContent=yw(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?rr(i.detailsLabel):bo(i.detailsLabel),D1(e)?(i.right.classList.add("can-expand-details"),rr(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"),bo(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};LC=Lj([bw(1,Vs),bw(2,Br),bw(3,pr)],LC);function yw(o){return o.replace(/\r\n|\r|\n/g,"")}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},Om=function(o,e){return function(t,i){e(t,i,o)}},Yh;ut("editorSuggestWidget.background",WE,y("editorSuggestWidgetBackground","Background color of the suggest widget."));ut("editorSuggestWidget.border",d2,y("editorSuggestWidgetBorder","Border color of the suggest widget."));const Ej=ut("editorSuggestWidget.foreground",Fp,y("editorSuggestWidgetForeground","Foreground color of the suggest widget."));ut("editorSuggestWidget.selectedForeground",BE,y("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));ut("editorSuggestWidget.selectedIconForeground",h2,y("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const Pj=ut("editorSuggestWidget.selectedBackground",zE,y("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));ut("editorSuggestWidget.highlightForeground",VE,y("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));ut("editorSuggestWidget.focusHighlightForeground",u2,y("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));ut("editorSuggestWidgetStatus.foreground",ya(Ej,.5),y("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class Tj{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof fr}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(gn.is(t))return gn.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 kC=(sc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Lo,this._pendingShowDetails=new Lo,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Dp,this._disposables=new We,this._onDidSelect=new UL,this._onDidFocus=new UL,this._onDidHide=new gi,this._onDidShow=new gi,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new gi,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new a1,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new Mj(this,e),this._persistedSize=new Tj(t,e);class r{constructor(v,_,w=!1,S=!1){this.persistedSize=v,this.currentSize=_,this.persistHeight=w,this.persistWidth=S}}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 v,_;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:w,defaultSize:S}=this.getLayoutInfo(),D=Math.round(w/2);let{width:P,height:N}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-N)<=D)&&(N=((v=a.persistedSize)==null?void 0:v.height)??S.height),(!a.persistWidth||Math.abs(a.currentSize.width-P)<=D)&&(P=((_=a.persistedSize)==null?void 0:_.width)??S.width),this._persistedSize.store(new gn(P,N))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=nt(this.element.domNode,ht(".message")),this._listElement=nt(this.element.domNode,ht(".tree"));const c=this._disposables.add(s.createInstance(xC,this.editor));c.onDidClose(this.toggleDetails,this,this._disposables),this._details=new Sj(c,this.editor);const h=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);h();const g=s.createInstance(LC,this.editor);this._disposables.add(g),this._disposables.add(g.onDidToggleDetails(()=>this.toggleDetails())),this._list=new m0("SuggestWidget",this._listElement,{getHeight:p=>this.getLayoutInfo().itemHeight,getTemplateId:p=>"suggestion"},[g],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>y("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:p=>{let v=p.textLabel;if(typeof p.completion.label!="string"){const{detail:D,description:P}=p.completion.label;D&&P?v=y("label.full","{0} {1}, {2}",v,D,P):D?v=y("label.detail","{0} {1}",v,D):P&&(v=y("label.desc","{0}, {1}",v,P))}if(!p.isResolved||!this._isDetailsVisible())return v;const{documentation:_,detail:w}=p.completion,S=I0("{0}{1}",w||"",_?typeof _=="string"?_:_.value:"");return y("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",v,S)}}}),this._list.style(jE({listInactiveFocusBackground:Pj,listInactiveFocusOutline:qd})),this._status=s.createInstance(CC,this.element.domNode,Gl);const f=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(119).showStatusBar);f(),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)&&(f(),h()),this._completionModel&&(p.hasChanged(50)||p.hasChanged(120)||p.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=Gt.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Gt.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Gt.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Gt.HasFocusedSuggestion.bindTo(i),this._disposables.add(sl(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=Nf(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=gs(async s=>{const r=Tf(()=>{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:rN(i)}))}).catch(ln)),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:bo(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=Yh.LOADING_MESSAGE,bo(this._listElement,this._status.element),rr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Vu(Yh.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=Yh.NO_SUGGESTIONS_MESSAGE,bo(this._listElement,this._status.element),rr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Vu(Yh.NO_SUGGESTIONS_MESSAGE);break;case 3:bo(this._messageElement),rr(this._listElement,this._status.element),this._show();break;case 4:bo(this._messageElement),rr(this._listElement,this._status.element),this._show();break;case 5:bo(this._messageElement),rr(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=Tf(()=>this._setState(1),t)))}showSuggestions(e,t,i,n,s){var c,h;if(this._contentWidget.setPosition(this.editor.getPosition()),(c=this._loadingTimeout)==null||c.dispose(),(h=this._currentSuggestionDetails)==null||h.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=$L(Zc(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")):(D1(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=$L(Zc(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=Rp(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 gn(s,n),this._contentWidget.setPreference(2);else{const c=t.width-i.borderHeight-2*i.horizontalPadding;s>c&&(s=c);const h=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:s,g=i.statusBarHeight+this._list.contentHeight+i.borderHeight,f=i.itemHeight+i.statusBarHeight,p=Gs(this.editor.getDomNode()),v=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),_=p.top+v.top+v.height,w=Math.min(t.height-_-i.verticalPadding,g),S=p.top+v.top-i.verticalPadding,D=Math.min(S,g);let P=Math.min(Math.max(D,w)+i.borderHeight,g);n===((r=this._cappedHeight)==null?void 0:r.capped)&&(n=this._cappedHeight.wanted),n<f&&(n=f),n>P&&(n=P),n>w||this._forceRenderingAbove&&S>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=w),this.element.preferredSize=new gn(h,i.defaultSize.height),this.element.maxSize=new gn(c,P),this.element.minSize=new gn(220,f),this._cappedHeight=n===g?{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=g2(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 gn(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}},Yh=sc,sc.LOADING_MESSAGE=y("suggestWidget.loading","Loading..."),sc.NO_SUGGESTIONS_MESSAGE=y("suggestWidget.noSuggestions","No suggestions."),sc);kC=Yh=Dj([Om(1,wc),Om(2,Wi),Om(3,pr),Om(4,ci)],kC);class Mj{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 gn(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 Nj=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},Wh=function(o,e){return function(t,i){e(t,i,o)}},IC;class Rj{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=xi.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(W.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 kd;let lr=(kd=class{static get(e){return e.getContribution(IC.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 Lo,this._toDispose=new We,this._selectors=new Aj(f=>f.priority),this._onWillInsertSuggestItem=new gi,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(hv,this.editor),this._selectors.register({priority:0,select:(f,p,v)=>this._memoryService.select(f,p,v)});const c=Gt.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 Vy(Zc(e.getDomNode()),()=>{const f=this._instantiationService.createInstance(kC,this.editor);this._toDispose.add(f),this._toDispose.add(f.onDidSelect(S=>this._insertSuggestion(S,0),this));const p=new pj(this.editor,f,this.model,S=>this._insertSuggestion(S,2));this._toDispose.add(p);const v=Gt.MakesTextEdit.bindTo(this._contextKeyService),_=Gt.HasInsertAndReplaceRange.bindTo(this._contextKeyService),w=Gt.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(wn(()=>{v.reset(),_.reset(),w.reset()})),this._toDispose.add(f.onDidFocus(({item:S})=>{const D=this.editor.getPosition(),P=S.editStart.column,N=D.column;let z=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!S.completion.additionalTextEdits&&!(S.completion.insertTextRules&4)&&N-P===S.completion.insertText.length&&(z=this.editor.getModel().getValueInRange({startLineNumber:D.lineNumber,startColumn:P,endLineNumber:D.lineNumber,endColumn:N})!==S.completion.insertText),v.set(z),_.set(!St.equals(S.editInsertEnd,S.editReplaceEnd)),w.set(!!S.provider.resolveCompletionItem||!!S.completion.documentation||S.completion.detail!==S.completion.label)})),this._toDispose.add(f.onDetailsKeyDown(S=>{if(S.toKeyCodeChord().equals(new qL(!0,!1,!1,!1,33))||Ca&&S.toKeyCodeChord().equals(new qL(!1,!1,!1,!0,33))){S.stopPropagation();return}S.toKeyCodeChord().isModifierKey()||this.editor.focus()})),f})),this._overtypingCapturer=this._toDispose.add(new Vy(Zc(e.getDomNode()),()=>this._toDispose.add(new SC(this.editor,this.model)))),this._alternatives=this._toDispose.add(new Vy(Zc(e.getDomNode()),()=>this._toDispose.add(new dg(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(lv,e)),this._toDispose.add(this.model.onDidTrigger(f=>{this.widget.value.showTriggered(f.auto,f.shy?250:50),this._lineSuffix.value=new Rj(this.editor.getModel(),f.position)})),this._toDispose.add(this.model.onDidSuggest(f=>{if(f.triggerOptions.shy)return;let p=-1;for(const _ of this._selectors.itemsOrderedByPriorityDesc)if(p=_.select(this.editor.getModel(),this.editor.getPosition(),f.completionModel.items),p!==-1)break;if(p===-1&&(p=0),this.model.state===0)return;let v=!1;if(f.triggerOptions.auto){const _=this.editor.getOption(119);_.selectionMode==="never"||_.selectionMode==="always"?v=_.selectionMode==="never":_.selectionMode==="whenTriggerCharacter"?v=f.triggerOptions.triggerKind!==1:_.selectionMode==="whenQuickSuggestion"&&(v=f.triggerOptions.triggerKind===1&&!f.triggerOptions.refilter)}this.widget.value.showSuggestions(f.completionModel,p,f.isFrozen,f.triggerOptions.auto,v)})),this._toDispose.add(this.model.onDidCancel(f=>{f.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const h=Gt.AcceptSuggestionsOnEnter.bindTo(n),g=()=>{const f=this.editor.getOption(1);h.set(f==="on"||f==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>g())),g()}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=Bs.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 fs;t&1||this.editor.pushUndoStop();const h=this.getOverwriteInfo(r,!!(t&8));this._memoryService.memorize(n,this.editor.getPosition(),r);const g=r.isResolved;let f=-1,p=-1;if(Array.isArray(r.completion.additionalTextEdits)){this.model.cancel();const _=ju.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(w=>{let S=W.lift(w.range);if(S.startLineNumber===r.position.lineNumber&&S.startColumn>r.position.column){const D=this.editor.getPosition().column-r.position.column,P=D,N=W.spansMultipleLines(S)?0:D;S=new W(S.startLineNumber,S.startColumn+P,S.endLineNumber,S.endColumn+N)}return zn.replaceMove(S,w.text)})),_.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!g){const _=new co;let w;const S=n.onDidChangeContent(z=>{if(z.isFlush){c.cancel(),S.dispose();return}for(const F of z.changes){const ie=W.getEndPosition(F.range);(!w||St.isBefore(ie,w))&&(w=ie)}}),D=t;t|=2;let P=!1;const N=this.editor.onWillType(()=>{N.dispose(),P=!0,D&2||this.editor.pushUndoStop()});a.push(r.resolve(c.token).then(()=>{if(!r.completion.additionalTextEdits||c.token.isCancellationRequested)return;if(w&&r.completion.additionalTextEdits.some(F=>St.isBefore(w,W.getStartPosition(F.range))))return!1;P&&this.editor.pushUndoStop();const z=ju.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(F=>zn.replaceMove(W.lift(F.range),F.text))),z.restoreRelativeVerticalPositionOfCursor(this.editor),(P||!(D&2))&&this.editor.pushUndoStop(),!0}).then(z=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",_.elapsed(),z),p=z===!0?1:z===!1?0:-2}).finally(()=>{S.dispose(),N.dispose()}))}let{insertText:v}=r.completion;if(r.completion.insertTextRules&4||(v=Qd.escape(v)),this.model.cancel(),i.insert(v,{overwriteBefore:h.overwriteBefore,overwriteAfter:h.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===uv.id)this.model.trigger({auto:!0,retrigger:!0});else{const _=new co;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(w=>{r.completion.extensionId?Xn(w):ln(w)}).finally(()=>{f=_.elapsed()}))}t&4&&this._alternatives.value.set(e,_=>{for(c.cancel();n.canUndo();){s!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(_,3|(t&8?8:0));break}}),this._alertCompletionItem(r),Promise.all(a).finally(()=>{this._reportSuggestionAcceptedTelemetry(r,n,g,f,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 v=0;v<Math.min(30,a.length);v++){const _=a[v].textLabel;c.has(_)?c.get(_).push(v):c.set(_,[v])}const h=c.get(e.textLabel),f=h&&h.length>1?h[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:bE(xa(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:f2(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:f})}getOverwriteInfo(e,t){zi(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(So(e.completion.additionalTextEdits)){const t=y("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);ur(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};os.once(this.model.onDidTrigger)(s=>{const r=[];os.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{As(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(As(r),a.items.length===0){i();return}const c=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),a.items),h=a.items[c];if(!n(h)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:c,item:h,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)}},IC=kd,kd.ID="editor.contrib.suggestController",kd);lr=IC=Nj([Wh(1,yy),Wh(2,hs),Wh(3,Wi),Wh(4,ci),Wh(5,gh),Wh(6,Wr)],lr);class Aj{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 nb=class nb extends ye{constructor(){super({id:nb.id,label:y("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:re.and(M.writable,M.hasCompletionItemProvider,Gt.Visible.toNegated()),kbOpts:{kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=lr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};nb.id="editor.action.triggerSuggest";let uv=nb;vi(lr.ID,lr,2);se(uv);const ko=190,js=Js.bindToContribution(lr.get);Lt(new js({id:"acceptSelectedSuggestion",precondition:re.and(Gt.Visible,Gt.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:re.and(Gt.Visible,M.textInputFocus),weight:ko},{primary:3,kbExpr:re.and(Gt.Visible,M.textInputFocus,Gt.AcceptSuggestionsOnEnter,Gt.MakesTextEdit),weight:ko}],menuOpts:[{menuId:Gl,title:y("accept.insert","Insert"),group:"left",order:1,when:Gt.HasInsertAndReplaceRange.toNegated()},{menuId:Gl,title:y("accept.insert","Insert"),group:"left",order:1,when:re.and(Gt.HasInsertAndReplaceRange,Gt.InsertMode.isEqualTo("insert"))},{menuId:Gl,title:y("accept.replace","Replace"),group:"left",order:1,when:re.and(Gt.HasInsertAndReplaceRange,Gt.InsertMode.isEqualTo("replace"))}]}));Lt(new js({id:"acceptAlternativeSelectedSuggestion",precondition:re.and(Gt.Visible,M.textInputFocus,Gt.HasFocusedSuggestion),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:Gl,group:"left",order:2,when:re.and(Gt.HasInsertAndReplaceRange,Gt.InsertMode.isEqualTo("insert")),title:y("accept.replace","Replace")},{menuId:Gl,group:"left",order:2,when:re.and(Gt.HasInsertAndReplaceRange,Gt.InsertMode.isEqualTo("replace")),title:y("accept.insert","Insert")}]}));mn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");Lt(new js({id:"hideSuggestWidget",precondition:Gt.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:9,secondary:[1033]}}));Lt(new js({id:"selectNextSuggestion",precondition:re.and(Gt.Visible,re.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Lt(new js({id:"selectNextPageSuggestion",precondition:re.and(Gt.Visible,re.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:12,secondary:[2060]}}));Lt(new js({id:"selectLastSuggestion",precondition:re.and(Gt.Visible,re.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Lt(new js({id:"selectPrevSuggestion",precondition:re.and(Gt.Visible,re.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Lt(new js({id:"selectPrevPageSuggestion",precondition:re.and(Gt.Visible,re.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:11,secondary:[2059]}}));Lt(new js({id:"selectFirstSuggestion",precondition:re.and(Gt.Visible,re.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Lt(new js({id:"focusSuggestion",precondition:re.and(Gt.Visible,Gt.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Lt(new js({id:"focusAndAcceptSuggestion",precondition:re.and(Gt.Visible,Gt.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Lt(new js({id:"toggleSuggestionDetails",precondition:re.and(Gt.Visible,Gt.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:Gl,group:"right",order:1,when:re.and(Gt.DetailsVisible,Gt.CanResolve),title:y("detail.more","Show Less")},{menuId:Gl,group:"right",order:1,when:re.and(Gt.DetailsVisible.toNegated(),Gt.CanResolve),title:y("detail.less","Show More")}]}));Lt(new js({id:"toggleExplainMode",precondition:Gt.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Lt(new js({id:"toggleSuggestionFocus",precondition:Gt.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:2570,mac:{primary:778}}}));Lt(new js({id:"insertBestCompletion",precondition:re.and(M.textInputFocus,re.equals("config.editor.tabCompletion","on"),lv.AtEnd,Gt.Visible.toNegated(),dg.OtherSuggestions.toNegated(),Bs.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(yE(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:ko,primary:2}}));Lt(new js({id:"insertNextSuggestion",precondition:re.and(M.textInputFocus,re.equals("config.editor.tabCompletion","on"),dg.OtherSuggestions,Gt.Visible.toNegated(),Bs.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:2}}));Lt(new js({id:"insertPrevSuggestion",precondition:re.and(M.textInputFocus,re.equals("config.editor.tabCompletion","on"),dg.OtherSuggestions,Gt.Visible.toNegated(),Bs.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:ko,kbExpr:M.textInputFocus,primary:1026}}));se(class extends ye{constructor(){super({id:"editor.action.resetSuggestSize",label:y("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(o,e){var t;(t=lr.get(e))==null||t.resetWidgetSize()}});class Oj extends ze{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 gi),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=lr.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(a,c,h)=>{const g=this.editor.getModel();if(!g)return-1;const f=this.suggestControllerPreselector(),p=f?nd(f,g):void 0;if(!p)return-1;const v=St.lift(c),_=h.map((S,D)=>{const P=yf.fromSuggestion(n,g,v,S,this.isShiftKeyPressed),N=nd(P.toSingleTextEdit(),g),z=oN(p,N);return{index:D,valid:z,prefixLength:N.text.length,suggestItem:S}}).filter(S=>S&&S.valid&&S.prefixLength>0),w=p2(_,Op(S=>S.prefixLength,Vb));return w?w.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(os.once(n.model.onDidTrigger)(a=>{r()})),this._register(n.onWillInsertSuggestItem(a=>{const c=this.editor.getPosition(),h=this.editor.getModel();if(!c||!h)return;const g=yf.fromSuggestion(n,h,c,a.item,this.isShiftKeyPressed);this.onWillAccept(g)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!Fj(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=lr.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 yf.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=lr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=lr.get(this.editor);e==null||e.forceRenderingAbove()}}class yf{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const h=new Qd().parse(r);h.children.length<100&&av.adjustWhitespace(t,i,!0,h),r=h.toString(),a=!0}const c=e.getOverwriteInfo(n,s);return new yf(W.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 m2(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new ol(this.range,this.insertText)}}function Fj(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var Hj=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},Oa=function(o,e){return function(t,i){e(t,i,o)}},DC,Id;let Vo=(Id=class extends ze{static get(e){return e.getContribution(DC.ID)}constructor(e,t,i,n,s,r,a,c,h,g){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=h,this._accessibilityService=g,this._editorObs=da(this.editor),this._positions=Ji(this,p=>{var v;return((v=this._editorObs.selections.read(p))==null?void 0:v.map(_=>_.getEndPosition()))??[new St(1,1)]}),this._suggestWidgetAdaptor=this._register(new Oj(this.editor,()=>{var p,v;return this._editorObs.forceUpdate(),(v=(p=this.model.get())==null?void 0:p.selectedInlineCompletion.get())==null?void 0:v.toSingleTextEdit(void 0)},p=>this._editorObs.forceUpdate(v=>{var _;(_=this.model.get())==null||_.handleSuggestAccepted(p)}))),this._suggestWidgetSelectedItem=no(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(v=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=no(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=no(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=no(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=Ji(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=gc(this,p=>{if(this._editorObs.isReadonly.read(p))return;const v=this._editorObs.model.read(p);return v?this._instantiationService.createInstance(vC,v,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,no(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),no(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),no(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=Ji(this,p=>{const v=this.model.read(p);return(v==null?void 0:v.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=Wj(this._ghostTexts,this._store),this._ghostTextWidgets=_2(this,this._stablizedGhostTexts,(p,v)=>v.add(this._instantiationService.createInstance(mC,this.editor,{ghostText:p,minReservedLineCount:Ka(0),targetTextModel:this.model.map(_=>_==null?void 0:_.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=D0(this),this._fontFamily=no(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new lo(this._contextKeyService,this.model)),this._register(KL(this._editorObs.onDidType,(p,v)=>{var _;this._enabled.get()&&((_=this.model.get())==null||_.trigger())})),this._register(this._commandService.onDidExecuteCommand(p=>{new Set([Zm.Tab.id,Zm.DeleteLeft.id,Zm.DeleteRight.id,fM,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(_=>{var w;(w=this.model.get())==null||w.trigger(_)})})),this._register(KL(this._editorObs.selections,(p,v)=>{var _;v.some(w=>w.reason===3||w.source==="api")&&((_=this.model.get())==null||_.stop())})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||sg.dropDownVisible||uh(p=>{var v;(v=this.model.get())==null||v.stop(p)})})),this._register(Pn(p=>{var _;const v=(_=this.model.read(p))==null?void 0:_.state.read(p);v!=null&&v.suggestItem?v.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(wn(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const f=Bb(this,(p,v)=>{var S;const _=this.model.read(p),w=_==null?void 0:_.state.read(p);return this._suggestWidgetSelectedItem.get()?v:(S=w==null?void 0:w.inlineCompletion)==null?void 0:S.semanticId});this._register(v2(Ji(p=>(this._playAccessibilitySignal.read(p),f.read(p),{})),async(p,v,_)=>{const w=this.model.get(),S=w==null?void 0:w.state.get();if(!S||!w)return;const D=w.textModel.getLineContent(S.primaryGhostText.lineNumber);await Kb(50,qw(_)),await b2(this._suggestWidgetSelectedItem,Kg,()=>!1,qw(_)),await this._accessibilitySignalService.playSignal(SE.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(S.primaryGhostText.renderForScreenReader(D))})),this._register(new AS(this.editor,this.model,this._instantiationService)),this._register(E4(Ji(p=>{const v=this._fontFamily.read(p);return v===""||v==="default"?"":`
43
+ .monaco-editor .ghost-text-decoration,
44
+ .monaco-editor .ghost-text-decoration-preview,
45
+ .monaco-editor .ghost-text {
46
+ font-family: ${v};
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=y("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),ur(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 St(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},DC=Id,Id.ID="editor.contrib.inlineCompletionsController",Id);Vo=DC=Hj([Oa(1,ci),Oa(2,Wi),Oa(3,Cn),Oa(4,hs),Oa(5,jo),Oa(6,Ct),Oa(7,wE),Oa(8,is),Oa(9,zb)],Vo);function Wj(o,e){const t=Co("result",[]),i=[];return e.add(Pn(n=>{const s=o.read(n);uh(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=Co("item",s[a]));t.set([...i],r)}i.forEach((a,c)=>a.set(s[c],r))})})),t}const sb=class sb extends ye{constructor(){super({id:sb.ID,label:y("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:re.and(M.writable,lo.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Vo.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};sb.ID=mM;let EC=sb;const ob=class ob extends ye{constructor(){super({id:ob.ID,label:y("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:re.and(M.writable,lo.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Vo.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};ob.ID=pM;let PC=ob;class Bj extends ye{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:y("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:M.writable})}async run(e,t){const i=Vo.get(t);await UE(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 zj extends ye{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:y("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:re.and(M.writable,lo.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:re.and(M.writable,lo.inlineSuggestionVisible)},menuOpts:[{menuId:Qe.InlineSuggestionToolbar,title:y("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=Vo.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class Vj extends ye{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:y("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:re.and(M.writable,lo.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:Qe.InlineSuggestionToolbar,title:y("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=Vo.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class jj extends ye{constructor(){super({id:fM,label:y("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:lo.inlineSuggestionVisible,menuOpts:[{menuId:Qe.InlineSuggestionToolbar,title:y("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:re.and(lo.inlineSuggestionVisible,M.tabMovesFocus.toNegated(),lo.inlineSuggestionHasIndentationLessThanTabSize,Gt.Visible.toNegated(),M.hoverFocused.toNegated())}})}async run(e,t){var n;const i=Vo.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const rb=class rb extends ye{constructor(){super({id:rb.ID,label:y("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:lo.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Vo.get(t);uh(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};rb.ID="editor.action.inlineSuggest.hide";let TC=rb;const ab=class ab extends Ys{constructor(){super({id:ab.ID,title:y("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:Qe.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:re.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(Cn),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};ab.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let MC=ab;var Uj=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 $j{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 NC=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=Vo.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 s_(1e3,this,W.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 s_(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new s_(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=Vo.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new $j(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new We,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(sg,this._editor,!1,Ka(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 nh([c])}renderScreenReaderText(e,t){const i=new We,n=ht,s=n("div.hover-row.markdown-hover"),r=nt(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new yg({editor:this._editor},this._languageService,this._openerService)),c=h=>{i.add(a.onDidRenderAsync(()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}));const g=y("inlineSuggestionFollows","Suggestion:"),f=i.add(a.render(new Ns().appendText(g).appendCodeblock("text",h)));r.replaceChildren(f.element)};return i.add(Pn(h=>{var f;const g=(f=t.controller.model.read(h))==null?void 0:f.primaryGhostText.read(h);if(g){const p=this._editor.getModel().getLineContent(g.lineNumber);c(g.renderForScreenReader(p))}else y_(r)})),e.fragment.appendChild(s),i}};NC=Uj([Vg(1,Br),Vg(2,Hr),Vg(3,zb),Vg(4,ci),Vg(5,Wr)],NC);class qj{}const wy=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}};vi(Vo.ID,Vo,3);se(Bj);se(EC);se(PC);se(zj);se(Vj);se(jj);se(TC);en(MC);_h.register(NC);wy.register(new qj);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},ww=function(o,e){return function(t,i){e(t,i,o)}},tf,oc;let np=(oc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new We,this.toUnhookForKeyboard=new We,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=>{ln(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(tf.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 $E(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=gs(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){ln(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?W.lift(n[0].originSelectionRange):new W(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:c}of n)c&&(a=W.plusRange(a,c));this.addDecoration(a,new Ns().appendText(y("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:h}}=c,{startLineNumber:g}=a.range;if(g<1||g>h.getLineCount()){c.dispose();return}const f=this.getPreviewValue(h,g,a),p=this.languageService.guessLanguageIdByFilepathOrFirstLine(h.uri);this.addDecoration(s,f?new Ns().appendCodeblock(p||"",f):void 0),c.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=tf.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+tf.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new W(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 k0)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?Xp(this.languageFeaturesService.definitionProvider,i,e,!1,t):Promise.resolve(null)}gotoDefinition(e,t){return this.editor.setPosition(e),this.editor.invokeWithinContext(i=>{const n=!t&&this.editor.getOption(89)&&!this.isInPeekEditor(i);return new Jp({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(Wi);return Zs.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},tf=oc,oc.ID="editor.contrib.gotodefinitionatposition",oc.MAX_SOURCE_PREVIEW_LINES=8,oc);np=tf=Kj([ww(1,zr),ww(2,Br),ww(3,Ct)],np);vi(np.ID,np,2);var aN=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 TI{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let RC=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new gi,this.onDidChange=this._onDidChange.event,this._dispoables=new We,this._markers=[],this._nextIdx=-1,nn.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),s=(a,c)=>{let h=GL(a.resource.toString(),c.resource.toString());return h===0&&(n==="position"?h=W.compareRangesUsingStarts(a,c)||Os.compare(a.severity,c.severity):h=Os.compare(a.severity,c.severity)||W.compareRangesUsingStarts(a,c)),h},r=()=>{this._markers=this._markerService.read({resource:nn.isUri(e)?e:void 0,severities:Os.Error|Os.Warning|Os.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 TI(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=L_(this._markers,{resource:e.uri},(r,a)=>GL(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=W.lift(this._markers[r]);if(a.isEmpty()){const c=e.getWordAtPosition(a.getStartPosition());c&&(a=new W(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(W.containsPosition(this._markers[i],t))return new TI(this._markers[i],i+1,this._markers.length)}}};RC=aN([gv(1,v0),gv(2,Cn)],RC);const lN=gl("IMarkerNavigationService");let AC=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new AE}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new RC(e,this._markerService,this._configService)}};AC=aN([gv(0,v0),gv(1,Cn)],AC);fl(lN,AC,1);var OC;(function(o){function e(t){switch(t){case mm.Ignore:return"severity-ignore "+$i.asClassName(ei.info);case mm.Info:return $i.asClassName(ei.info);case mm.Warning:return $i.asClassName(ei.warning);case mm.Error:return $i.asClassName(ei.error);default:return""}}o.className=e})(OC||(OC={}));var Gj=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)}},FC;class Zj{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 We,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(sl(this._relatedBlock,"click",a=>{a.preventDefault();const c=this._relatedDiagnostics.get(a.target);c&&i(c)})),this._scrollable=new k2(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(){As(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=qb(i);this._lines=a.length,this._longestLineLength=0;for(const p of a)this._longestLineLength=Math.max(p.length+r,this._longestLineLength);ba(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 v=document.createElement("span");v.innerText=t,v.classList.add("source"),p.appendChild(v)}if(s)if(typeof s=="string"){const v=document.createElement("span");v.innerText=`(${s})`,v.classList.add("code"),p.appendChild(v)}else{this._codeLink=ht("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=_=>{this._openerService.open(s.target,{allowCommands:!0}),_.preventDefault(),_.stopPropagation()};const v=nt(this._codeLink,ht("span"));v.innerText=s.value,p.appendChild(this._codeLink)}}if(ba(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),So(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 v of n){const _=document.createElement("div"),w=document.createElement("a");w.classList.add("filename"),w.innerText=`${this._labelService.getUriBasenameLabel(v.resource)}(${v.startLineNumber}, ${v.startColumn}): `,w.title=this._labelService.getUriLabel(v.resource),this._relatedDiagnostics.set(w,v);const S=document.createElement("span");S.innerText=v.message,_.appendChild(w),_.appendChild(S),this._lines+=1,p.appendChild(_)}}const h=this._editor.getOption(50),g=Math.ceil(h.typicalFullwidthCharacterWidth*this._longestLineLength*.75),f=h.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:g,scrollHeight:f})}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 Os.Error:t=y("Error","Error");break;case Os.Warning:t=y("Warning","Warning");break;case Os.Info:t=y("Info","Info");break;case Os.Hint:t=y("Hint","Hint");break}let i=y("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 Dd;let sp=(Dd=class extends U_{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 We,this._onDidSelectRelatedInformation=new gi,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Os.Warning,this._backgroundColor=Si.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(Qj);let t=HC,i=Xj;this._severity===Os.Warning?(t=l_,i=Yj):this._severity===Os.Info&&(t=WC,i=Jj);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(kM),secondaryHeadingColor:e.getColor(IM)})}_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(FC.TitleMenu,this._contextKeyService);w0(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=nt(e,ht(""))}_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 Zj(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=W.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?y("problems","{0} of {1} problems",t,i):y("change","{0} of {1} problem",t,i);this.setTitle(xa(a.uri),c)}this._icon.className=`codicon ${OC.className(Os.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()}},FC=Dd,Dd.TitleMenu=new Qe("gotoErrorTitleMenu"),Dd);sp=FC=Gj([Bh(1,pr),Bh(2,Hr),Bh(3,hh),Bh(4,ci),Bh(5,Wi),Bh(6,Ff)],sp);const MI=P0(w2,y2),NI=P0(C2,S2),RI=P0(Bw,x2),HC=ut("editorMarkerNavigationError.background",{dark:MI,light:MI,hcDark:nl,hcLight:nl},y("editorMarkerNavigationError","Editor marker navigation widget error color.")),Xj=ut("editorMarkerNavigationError.headerBackground",{dark:ya(HC,.1),light:ya(HC,.1),hcDark:null,hcLight:null},y("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),l_=ut("editorMarkerNavigationWarning.background",{dark:NI,light:NI,hcDark:nl,hcLight:nl},y("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),Yj=ut("editorMarkerNavigationWarning.headerBackground",{dark:ya(l_,.1),light:ya(l_,.1),hcDark:"#0C141F",hcLight:ya(l_,.2)},y("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),WC=ut("editorMarkerNavigationInfo.background",{dark:RI,light:RI,hcDark:nl,hcLight:nl},y("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),Jj=ut("editorMarkerNavigationInfo.headerBackground",{dark:ya(WC,.1),light:ya(WC,.1),hcDark:null,hcLight:null},y("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),Qj=ut("editorMarkerNavigation.background",L2,y("editorMarkerNavigationBackground","Editor marker navigation widget background."));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},Fm=function(o,e){return function(t,i){e(t,i,o)}},nf,Ed;let rh=(Ed=class{static get(e){return e.getContribution(nf.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new We,this._editor=e,this._widgetVisible=cN.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(sp,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)||!W.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:W.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 St(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=nf.get(r))==null||i.close(),(n=nf.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},nf=Ed,Ed.ID="editor.contrib.markerController",Ed);rh=nf=eU([Fm(1,lN),Fm(2,Wi),Fm(3,Yn),Fm(4,ci)],rh);class Sy extends ye{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=rh.get(t))==null||i.nagivate(this._next,this._multiFile))}}const Fc=class Fc extends Sy{constructor(){super(!0,!1,{id:Fc.ID,label:Fc.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:578,weight:100},menuOpts:{menuId:sp.TitleMenu,title:Fc.LABEL,icon:Gn("marker-navigation-next",ei.arrowDown,y("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};Fc.ID="editor.action.marker.next",Fc.LABEL=y("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let fv=Fc;const Hc=class Hc extends Sy{constructor(){super(!1,!1,{id:Hc.ID,label:Hc.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:1602,weight:100},menuOpts:{menuId:sp.TitleMenu,title:Hc.LABEL,icon:Gn("marker-navigation-previous",ei.arrowUp,y("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};Hc.ID="editor.action.marker.prev",Hc.LABEL=y("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let BC=Hc;class tU extends Sy{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:y("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:M.focus,primary:66,weight:100},menuOpts:{menuId:Qe.MenubarGoMenu,title:y({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class iU extends Sy{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:y("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:M.focus,primary:1090,weight:100},menuOpts:{menuId:Qe.MenubarGoMenu,title:y({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}vi(rh.ID,rh,4);se(fv);se(BC);se(tU);se(iU);const cN=new Pi("markersNavigationVisible",!1),nU=Js.bindToContribution(rh.get);Lt(new nU({id:"closeMarkersNavigation",precondition:cN,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:M.focus,primary:9,secondary:[1033]}}));var wr;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(wr||(wr={}));class sU extends ye{constructor(){super({id:gM,label:y({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:vt("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:[wr.NoAutoFocus,wr.FocusIfVisible,wr.AutoFocusImmediately],enumDescriptions:[y("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),y("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),y("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:wr.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=Es.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=wr.FocusIfVisible;Object.values(wr).includes(s)?r=s:typeof s=="boolean"&&s&&(r=wr.AutoFocusImmediately);const a=h=>{const g=t.getPosition(),f=new W(g.lineNumber,g.column,g.lineNumber,g.column);n.showContentHover(f,1,1,h)},c=t.getOption(2)===2;n.isHoverVisible?r!==wr.NoAutoFocus?n.focus():a(c):a(c||r===wr.AutoFocusImmediately)}}class oU extends ye{constructor(){super({id:SB,label:y({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:vt("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=Es.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new W(n.lineNumber,n.column,n.lineNumber,n.column),r=np.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class rU extends ye{constructor(){super({id:CB,label:y({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:16,weight:100},metadata:{description:vt("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.scrollUp()}}class aU extends ye{constructor(){super({id:xB,label:y({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:18,weight:100},metadata:{description:vt("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.scrollDown()}}class lU extends ye{constructor(){super({id:LB,label:y({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:15,weight:100},metadata:{description:vt("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.scrollLeft()}}class cU extends ye{constructor(){super({id:kB,label:y({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:17,weight:100},metadata:{description:vt("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.scrollRight()}}class dU extends ye{constructor(){super({id:IB,label:y({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:vt("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.pageUp()}}class hU extends ye{constructor(){super({id:DB,label:y({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:vt("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.pageDown()}}class uU extends ye{constructor(){super({id:EB,label:y({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:vt("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.goToTop()}}class gU extends ye{constructor(){super({id:PB,label:y({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:vt("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=Es.get(t);i&&i.goToBottom()}}class fU extends ye{constructor(){super({id:dy,label:TB,alias:"Increase Hover Verbosity Level",precondition:M.hoverVisible})}run(e,t,i){const n=Es.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(Wo.Increase,s,i==null?void 0:i.focus)}}class pU extends ye{constructor(){super({id:hy,label:MB,alias:"Decrease Hover Verbosity Level",precondition:M.hoverVisible})}run(e,t,i){var r;const n=Es.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=Es.get(t))==null||r.updateHoverVerbosityLevel(Wo.Decrease,s,i==null?void 0:i.focus)}}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},Sw=function(o,e){return function(t,i){e(t,i,o)}};const Go=ht;class _U{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 AI={type:1,filter:{include:fn.QuickFix},triggerAction:ho.QuickFixHover};let zC=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,h=a.range.endLineNumber===n?a.range.endColumn:s,g=this._markerDecorationsService.getMarker(i.uri,a);if(!g)continue;const f=new W(e.range.startLineNumber,c,e.range.startLineNumber,h);r.push(new _U(this,f,g))}return r}renderHoverParts(e,t){if(!t.length)return new nh([]);const i=new We,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)=>Os.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new nh(n)}_renderMarkerHover(e){const t=new We,i=Go("div.hover-row"),n=nt(i,Go("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:c}=e.marker;this._editor.applyFontInfo(n);const h=nt(n,Go("span"));if(h.style.whiteSpace="pre-wrap",h.innerText=r,s||a)if(a&&typeof a!="string"){const f=Go("span");if(s){const w=nt(f,Go("span"));w.innerText=s}const p=nt(f,Go("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(Hi(p,"click",w=>{this._openerService.open(a.target,{allowCommands:!0}),w.preventDefault(),w.stopPropagation()}));const v=nt(p,Go("span"));v.innerText=a.value;const _=nt(n,f);_.style.opacity="0.6",_.style.paddingLeft="6px"}else{const f=nt(n,Go("span"));f.style.opacity="0.6",f.style.paddingLeft="6px",f.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(So(c))for(const{message:f,resource:p,startLineNumber:v,startColumn:_}of c){const w=nt(n,Go("div"));w.style.marginTop="8px";const S=nt(w,Go("a"));S.innerText=`${xa(p)}(${v}, ${_}): `,S.style.cursor="pointer",t.add(Hi(S,"click",P=>{if(P.stopPropagation(),P.preventDefault(),this._openerService){const N={selection:{startLineNumber:v,startColumn:_}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:N}).catch(ln)}}));const D=nt(w,Go("span"));D.innerText=f,this._editor.applyFontInfo(D)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===Os.Error||t.marker.severity===Os.Warning||t.marker.severity===Os.Info){const n=rh.get(this._editor);n&&e.statusBar.addAction({label:y("view problem","View Problem"),commandId:fv.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(Go("div"));this.recentMarkerCodeActionsInfo&&(ZL.makeKey(this.recentMarkerCodeActionsInfo.marker)===ZL.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=y("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?ze.None:Tf(()=>n.textContent=y("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(wn(()=>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=y("noQuickFixes","No quick fixes available");return}n.style.display="none";let c=!1;i.add(wn(()=>{c||a.dispose()})),e.statusBar.addAction({label:y("quick fixes","Quick Fix..."),commandId:n1,run:h=>{c=!0;const g=ig.get(this._editor),f=Gs(h);e.hide(),g==null||g.showCodeActions(AI,a,{x:f.left,y:f.top,width:f.width,height:f.height})}})},ln)}}getCodeActions(e){return gs(t=>nu(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new W(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),AI,qa.None,t))}};zC=mU([Sw(1,I2),Sw(2,Hr),Sw(3,Ct)],zC);class vU{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=v_.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)??v_.Center;if(!n&&a!==this._laneOrLine)continue;const c=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!c||Of(c)||i.push(...iE(c).map(e))}return i}}var bU=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},OI=function(o,e){return function(t,i){e(t,i,o)}},VC;const FI=ht;var Pd;let jC=(Pd=class extends ze{constructor(e,t,i){super(),this._renderDisposeables=this._register(new We),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new tE),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new yg({editor:this._editor},t,i)),this._computer=new vU(this._editor),this._hoverOperation=this._register(new _M(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(sl(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return VC.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=FI("div.hover-row.markdown-hover"),r=nt(s,FI("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||!uy(t,e.x,e.y))&&this.hide()}},VC=Pd,Pd.ID="editor.contrib.modesGlyphHoverWidget",Pd);jC=VC=bU([OI(1,Br),OI(2,Hr)],jC);var yU=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},wU=function(o,e){return function(t,i){e(t,i,o)}},Nu;let pv=(Nu=class extends ze{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new We,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new rs(()=>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?uy(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(jC,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},Nu.ID="editor.contrib.marginHover",Nu);pv=yU([wU(1,ci)],pv);class SU{}class CU{}class xU{}vi(Es.ID,Es,2);vi(pv.ID,pv,2);se(sU);se(oU);se(rU);se(aU);se(lU);se(cU);se(dU);se(hU);se(uU);se(gU);se(fU);se(pU);_h.register(Jf);_h.register(zC);Hb((o,e)=>{const t=o.getColor(D2);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)}; }`))});wy.register(new SU);wy.register(new CU);wy.register(new xU);function io(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function wf(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 dN(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 E2(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(),h=(w,S)=>(S=S||1,Gu.shiftIndent(w,w.length+S,r,a,c)),g=(w,S)=>(S=S||1,Gu.unshiftIndent(w,w.length+S,r,a,c)),f=[],p=o.getLineContent(t);let v=ys(p),_=v;s.shouldIncrease(t)?(_=h(_),v=h(v)):s.shouldIndentNextLine(t)&&(_=h(_)),t++;for(let w=t;w<=i;w++){if(LU(o,w))continue;const S=o.getLineContent(w),D=ys(S),P=_;s.shouldDecrease(w,P)&&(_=g(_),v=g(v)),D!==_&&f.push(zn.replaceMove(new jt(w,1,w,D.length+1),P2(_,a,c))),!s.shouldIgnore(w)&&(s.shouldIncrease(w,P)?(v=h(v),_=v):s.shouldIndentNextLine(w,P)?_=h(_):_=v)}return f}function LU(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var kU=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},IU=function(o,e){return function(t,i){e(t,i,o)}};const lb=class lb extends ye{constructor(){super({id:lb.ID,label:y("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:M.writable,metadata:{description:vt("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 MU(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};lb.ID="editor.action.indentationToSpaces";let UC=lb;const cb=class cb extends ye{constructor(){super({id:cb.ID,label:y("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:M.writable,metadata:{description:vt("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 NU(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};cb.ID="editor.action.indentationToTabs";let $C=cb;class E1 extends ye{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(ul),n=e.get(Vs),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(g=>({id:g.toString(),label:g.toString(),description:g===r.tabSize&&g===a.tabSize?y("configuredTabSize","Configured Tab Size"):g===r.tabSize?y("defaultTabSize","Default Tab Size"):g===a.tabSize?y("currentTabSize","Current Tab Size"):void 0})),h=Math.min(s.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(c,{placeHolder:y({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:c[h]}).then(g=>{if(g&&s&&!s.isDisposed()){const f=parseInt(g.label,10);this.displaySizeOnly?s.updateOptions({tabSize:f}):s.updateOptions({tabSize:f,indentSize:f,insertSpaces:this.insertSpaces})}})},50)}}const db=class db extends E1{constructor(){super(!1,!1,{id:db.ID,label:y("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:vt("indentUsingTabsDescription","Use indentation with tabs.")}})}};db.ID="editor.action.indentUsingTabs";let qC=db;const hb=class hb extends E1{constructor(){super(!0,!1,{id:hb.ID,label:y("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:vt("indentUsingSpacesDescription","Use indentation with spaces.")}})}};hb.ID="editor.action.indentUsingSpaces";let KC=hb;const ub=class ub extends E1{constructor(){super(!0,!0,{id:ub.ID,label:y("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:vt("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};ub.ID="editor.action.changeTabDisplaySize";let GC=ub;const gb=class gb extends ye{constructor(){super({id:gb.ID,label:y("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:vt("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(Vs),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 ZC=gb;class DU extends ye{constructor(){super({id:"editor.action.reindentlines",label:y("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:M.writable,metadata:{description:vt("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(us),n=t.getModel();if(!n)return;const s=dN(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class EU extends ye{constructor(){super({id:"editor.action.reindentselectedlines",label:y("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:M.writable,metadata:{description:vt("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(us),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,h=a.endLineNumber;if(c!==h&&a.endColumn===1&&h--,c===1){if(c===h)continue}else c--;const g=dN(n,i,c,h);r.push(...g)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class PU{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(W.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 Ru;let mv=(Ru=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new We,this.callOnModel=new We,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)||TU(i,e)||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:r,indentSize:a,insertSpaces:c}=i.getOptions(),h=[],g={shiftIndent:_=>Gu.shiftIndent(_,_.length+1,r,a,c),unshiftIndent:_=>Gu.unshiftIndent(_,_.length+1,r,a,c)};let f=e.startLineNumber;for(;f<=e.endLineNumber;){if(this.shouldIgnoreLine(i,f)){f++;continue}break}if(f>e.endLineNumber)return;let p=i.getLineContent(f);if(!/\S/.test(p.substring(0,e.startColumn-1))){const _=uf(s,i,i.getLanguageId(),f,g,this._languageConfigurationService);if(_!==null){const w=ys(p),S=io(_,r),D=io(w,r);if(S!==D){const P=wf(S,r,c);h.push({range:new W(f,1,f,w.length+1),text:P}),p=P+p.substring(w.length)}else{const P=qE(i,f,this._languageConfigurationService);if(P===0||P===8)return}}}const v=f;for(;f<e.endLineNumber;){if(!/\S/.test(i.getLineContent(f+1))){f++;continue}break}if(f!==e.endLineNumber){const w=uf(s,{tokenization:{getLineTokens:S=>i.tokenization.getLineTokens(S),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(S,D)=>i.getLanguageIdAtPosition(S,D)},getLineContent:S=>S===v?p:i.getLineContent(S)},i.getLanguageId(),f+1,g,this._languageConfigurationService);if(w!==null){const S=io(w,r),D=io(ys(i.getLineContent(f+1)),r);if(S!==D){const P=S-D;for(let N=f+1;N<=e.endLineNumber;N++){const z=i.getLineContent(N),F=ys(z),Y=io(F,r)+P,ge=wf(Y,r,c);ge!==F&&h.push({range:new W(N,1,N,F.length+1),text:ge})}}}}if(h.length>0){this.editor.pushUndoStop();const _=new PU(h,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",_),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()}},Ru.ID="editor.contrib.autoIndentOnPaste",Ru);mv=kU([IU(1,us)],mv);function TU(o,e){const t=i=>T2(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function hN(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 h=new W(r,1,r,c),g=o.getValueInRange(h),f=i?g.replace(/\t/ig,n):g.replace(s," ");e.addEditOperation(h,f)}}class MU{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),hN(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class NU{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),hN(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}vi(mv.ID,mv,2);se(UC);se($C);se(qC);se(KC);se(GC);se(ZC);se(DU);se(EU);vi(ep.ID,ep,1);_h.register(G_);class RU{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 jt(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new jt(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}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},OU=function(o,e){return function(t,i){e(t,i,o)}},c_,rc;let hg=(rc=class{static get(e){return e.getContribution(c_.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 $E(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=gs(h=>this.editorWorkerService.navigateValueSet(a,s,t)),this.currentRequest.then(h=>{var _;if(!h||!h.range||!h.value||!r.validate(this.editor))return;const g=W.lift(h.range);let f=h.range;const p=h.value.length-(s.endColumn-s.startColumn);f={startLineNumber:f.startLineNumber,startColumn:f.startColumn,endLineNumber:f.endLineNumber,endColumn:f.startColumn+h.value.length},p>1&&(s=new jt(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const v=new RU(g,s,h.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,v),this.editor.pushUndoStop(),this.decorations.set([{range:f,options:c_.DECORATION}]),(_=this.decorationRemover)==null||_.cancel(),this.decorationRemover=Kb(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(ln)}).catch(ln)):Promise.resolve(void 0)}},c_=rc,rc.ID="editor.contrib.inPlaceReplaceController",rc.DECORATION=xi.register({description:"in-place-replace",className:"valueSetReplacement"}),rc);hg=c_=AU([OU(1,pl)],hg);class FU extends ye{constructor(){super({id:"editor.action.inPlaceReplace.up",label:y("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=hg.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class HU extends ye{constructor(){super({id:"editor.action.inPlaceReplace.down",label:y("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=hg.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}vi(hg.ID,hg,4);se(FU);se(HU);class WU extends ye{constructor(){super({id:"expandLineSelection",label:y("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:M.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,T0.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}se(WU);class BU{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=zU(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 zU(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 h=o.getLineContent(a),g=h.length+1;let f=0;if(s<r&&e[s].lineNumber===a&&(f=e[s].column,s++,f===g)||h.length===0)continue;const p=Xm(h);let v=0;if(p===-1)v=1;else if(p!==h.length-1)v=p+2;else continue;if(!t){if(!o.tokenization.hasAccurateTokensForLine(a))continue;const _=o.tokenization.getLineTokens(a),w=_.getStandardTokenType(_.findTokenIndexAtOffset(v));if(w===2||w===3)continue}v=Math.max(f,v),i[n++]=zn.delete(new W(a,v,a,g))}return i}class uN{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 W(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
49
+ `):this._isCopyingDown?t.addEditOperation(new W(i.startLineNumber,1,i.startLineNumber,1),s+`
50
+ `):t.addEditOperation(new W(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=jt.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var VU=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},jU=function(o,e){return function(t,i){e(t,i,o)}};let XC=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=(f,p)=>e.getLanguageIdAtPosition(f,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:h}=e.getOptions(),g=this.buildIndentConverter(a,c,h);if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){const f=r.startLineNumber,p=this._isMovingDown?f+1:f-1;e.getLineMaxColumn(p)===1?t.addEditOperation(new W(1,1,1,1),null):(t.addEditOperation(new W(f,1,f,1),e.getLineContent(p)),t.addEditOperation(new W(p,1,p,e.getLineMaxColumn(p)),null)),r=new jt(p,1,p,1)}else{let f,p;if(this._isMovingDown){f=r.endLineNumber+1,p=e.getLineContent(f),t.addEditOperation(new W(f-1,e.getLineMaxColumn(f-1),f,e.getLineMaxColumn(f)),null);let v=p;if(this.shouldAutoIndent(e,r)){const _=this.matchEnterRule(e,g,a,f,r.startLineNumber-1);if(_!==null){const S=ys(e.getLineContent(f)),D=_+io(S,a);v=wf(D,a,h)+this.trimStart(p)}else{const S={tokenization:{getLineTokens:P=>P===r.startLineNumber?e.tokenization.getLineTokens(f):e.tokenization.getLineTokens(P),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:P=>P===r.startLineNumber?e.getLineContent(f):e.getLineContent(P)},D=uf(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber,g,this._languageConfigurationService);if(D!==null){const P=ys(e.getLineContent(f)),N=io(D,a),z=io(P,a);N!==z&&(v=wf(N,a,h)+this.trimStart(p))}}t.addEditOperation(new W(r.startLineNumber,1,r.startLineNumber,1),v+`
52
+ `);const w=this.matchEnterRuleMovingDown(e,g,a,r.startLineNumber,f,v);if(w!==null)w!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,h,w);else{const S={tokenization:{getLineTokens:P=>P===r.startLineNumber?e.tokenization.getLineTokens(f):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?v:P>=r.startLineNumber+1&&P<=r.endLineNumber+1?e.getLineContent(P-1):e.getLineContent(P)},D=uf(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber+1,g,this._languageConfigurationService);if(D!==null){const P=ys(e.getLineContent(r.startLineNumber)),N=io(D,a),z=io(P,a);if(N!==z){const F=N-z;this.getIndentEditsOfMovingBlock(e,t,r,a,h,F)}}}}else t.addEditOperation(new W(r.startLineNumber,1,r.startLineNumber,1),v+`
53
+ `)}else if(f=r.startLineNumber-1,p=e.getLineContent(f),t.addEditOperation(new W(f,1,f+1,1),null),t.addEditOperation(new W(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
54
+ `+p),this.shouldAutoIndent(e,r)){const v={tokenization:{getLineTokens:w=>w===f?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(w),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:w=>w===f?e.getLineContent(r.startLineNumber):e.getLineContent(w)},_=this.matchEnterRule(e,g,a,r.startLineNumber,r.startLineNumber-2);if(_!==null)_!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,h,_);else{const w=uf(this._autoIndent,v,e.getLanguageIdAtPosition(r.startLineNumber,1),f,g,this._languageConfigurationService);if(w!==null){const S=ys(e.getLineContent(r.startLineNumber)),D=io(w,a),P=io(S,a);if(D!==P){const N=D-P;this.getIndentEditsOfMovingBlock(e,t,r,a,h,N)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>Gu.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>Gu.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===_m.None||s.indentAction===_m.Indent?r=s.indentation+s.appendText:s.indentAction===_m.IndentOutdent?r=s.indentation:s.indentAction===_m.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const c=ys(e.getLineContent(n));let h=ys(r);const g=qE(e,n,this._languageConfigurationService);g!==null&&g&2&&(h=t.unshiftIndent(h));const f=io(h,i),p=io(c,i);return f-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(Xm(r)>=0){const a=e.getLineMaxColumn(s),c=jy(this._autoIndent,e,new W(s,a,s,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,c)}else{let a=n-1;for(;a>=1;){const g=e.getLineContent(a);if(Xm(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=jy(this._autoIndent,e,new W(a,c,a,c),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,h)}}matchEnterRule(e,t,i,n,s,r){let a=s;for(;a>=1;){let g;if(a===s&&r!==void 0?g=r:g=e.getLineContent(a),Xm(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=jy(this._autoIndent,e,new W(a,c,a,c),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,h)}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),h=ys(c),f=io(h,n)+r,p=wf(f,n,s);p!==h&&(t.addEditOperation(new W(a,1,a,h.length+1),p),a===i.endLineNumber&&i.endColumn<=h.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}};XC=VU([jU(3,us)],XC);const gu=class gu{static getCollator(){return gu._COLLATOR||(gu._COLLATOR=new Intl.Collator),gu._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=UU(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}};gu._COLLATOR=null;let op=gu;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 UU(o,e,t){const i=gN(o,e,t);return i?zn.replace(new W(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
55
+ `)):null}class fN extends ye{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)=>W.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 uN(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class $U extends fN{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:y("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:Qe.MenubarSelectionMenu,group:"2_line",title:y({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class qU extends fN{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:y("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:Qe.MenubarSelectionMenu,group:"2_line",title:y({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class KU extends ye{constructor(){super({id:"editor.action.duplicateSelection",label:y("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:M.writable,menuOpts:{menuId:Qe.MenubarSelectionMenu,group:"2_line",title:y({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 uN(a,!0));else{const c=new jt(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new M2(c,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class pN extends ye{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(us),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new XC(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class GU extends pN{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:y("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:Qe.MenubarSelectionMenu,group:"2_line",title:y({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class ZU extends pN{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:y("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:Qe.MenubarSelectionMenu,group:"2_line",title:y({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class mN extends ye{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 jt(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 XU extends mN{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:y("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:M.writable})}}class YU extends mN{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:y("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:M.writable})}}class JU extends ye{constructor(){super({id:"editor.action.removeDuplicateLines",label:y("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:M.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 jt(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(const h of c){const g=new Set,f=[];for(let w=h.startLineNumber;w<=h.endLineNumber;w++){const S=i.getLineContent(w);g.has(S)||(f.push(S),g.add(S))}const p=new jt(h.startLineNumber,1,h.endLineNumber,i.getLineMaxColumn(h.endLineNumber)),v=h.startLineNumber-r,_=new jt(v,1,v+f.length-1,f[f.length-1].length);n.push(zn.replace(p,f.join(`
56
+ `))),s.push(_),r+=h.endLineNumber-h.startLineNumber+1-f.length}t.pushUndoStop(),t.executeEdits(this.id,n,a?s:void 0),t.pushUndoStop()}}const fb=class fb extends ye{constructor(){super({id:fb.ID,label:y("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(g=>new St(g.positionLineNumber,g.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(Cn),a=t.getModel(),c=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),h=new BU(s,n,c);t.pushUndoStop(),t.executeCommands(this.id,[h]),t.pushUndoStop()}};fb.ID="editor.action.trimTrailingWhitespace";let YC=fb;class QU extends ye{constructor(){super({id:"editor.action.deleteLines",label:y("lines.delete","Delete Line"),alias:"Delete Line",precondition:M.writable,kbOpts:{kbExpr:M.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,h=i.length;c<h;c++){const g=i[c];let f=g.startLineNumber,p=g.endLineNumber,v=1,_=n.getLineMaxColumn(p);p<n.getLineCount()?(p+=1,_=1):f>1&&(f-=1,v=n.getLineMaxColumn(f)),r.push(zn.replace(new jt(f,v,p,_),"")),a.push(new jt(f-s,g.positionColumn,f-s,g.positionColumn)),s+=g.endLineNumber-g.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 e$ extends ye{constructor(){super({id:"editor.action.indentLines",label:y("lines.indent","Indent Line"),alias:"Indent Line",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,N2.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class t$ extends ye{constructor(){super({id:"editor.action.outdentLines",label:y("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:2140,weight:100}})}run(e,t){Zm.Outdent.runEditorCommand(e,t,null)}}class i$ extends ye{constructor(){super({id:"editor.action.insertLineBefore",label:y("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,KE.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class n$ extends ye{constructor(){super({id:"editor.action.insertLineAfter",label:y("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,KE.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class _N extends ye{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),s=[];for(let c=0,h=n.length-1;c<h;c++){const g=n[c],f=n[c+1];W.intersectRanges(g,f)===null?s.push(g):n[c+1]=W.plusRange(g,f)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(c=>zn.replace(c,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class s$ extends _N{constructor(){super({id:"deleteAllLeft",label:y("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:M.writable,kbOpts:{kbExpr:M.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 jt(c,r.startColumn,c,r.startColumn)}else a=new jt(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(W.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 W(r,a,s.startLineNumber,1)}else return new W(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new W(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class o$ extends _N{constructor(){super({id:"deleteAllRight",label:y("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:M.writable,kbOpts:{kbExpr:M.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],h=new jt(c.startLineNumber-a,c.startColumn,c.startLineNumber-a,c.startColumn);c.intersectRanges(e)?i=h:n.push(h)}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 W(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new W(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(W.compareRangesUsingStarts),n}}class r$ extends ye{constructor(){super({id:"editor.action.joinLines",label:y("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:M.writable,kbOpts:{kbExpr:M.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(W.compareRangesUsingStarts);const s=[],r=i.reduce((p,v)=>p.isEmpty()?p.endLineNumber===v.startLineNumber?(n.equalsSelection(p)&&(n=v),v):v.startLineNumber>p.endLineNumber+1?(s.push(p),v):new jt(p.startLineNumber,p.startColumn,v.endLineNumber,v.endColumn):v.startLineNumber>p.endLineNumber?(s.push(p),v):new jt(p.startLineNumber,p.startColumn,v.endLineNumber,v.endColumn));s.push(r);const a=t.getModel();if(a===null)return;const c=[],h=[];let g=n,f=0;for(let p=0,v=s.length;p<v;p++){const _=s[p],w=_.startLineNumber,S=1;let D=0,P,N;const z=a.getLineLength(_.endLineNumber)-_.endColumn;if(_.isEmpty()||_.startLineNumber===_.endLineNumber){const Y=_.getStartPosition();Y.lineNumber<a.getLineCount()?(P=w+1,N=a.getLineMaxColumn(P)):(P=Y.lineNumber,N=a.getLineMaxColumn(Y.lineNumber))}else P=_.endLineNumber,N=a.getLineMaxColumn(P);let F=a.getLineContent(w);for(let Y=w+1;Y<=P;Y++){const ge=a.getLineContent(Y),_e=a.getLineFirstNonWhitespaceColumn(Y);if(_e>=1){let Ae=!0;F===""&&(Ae=!1),Ae&&(F.charAt(F.length-1)===" "||F.charAt(F.length-1)===" ")&&(Ae=!1,F=F.replace(/[\s\uFEFF\xA0]+$/g," "));const Le=ge.substr(_e-1);F+=(Ae?" ":"")+Le,Ae?D=Le.length+1:D=Le.length}else D=0}const ie=new W(w,S,P,N);if(!ie.isEmpty()){let Y;_.isEmpty()?(c.push(zn.replace(ie,F)),Y=new jt(ie.startLineNumber-f,F.length-D+1,w-f,F.length-D+1)):_.startLineNumber===_.endLineNumber?(c.push(zn.replace(ie,F)),Y=new jt(_.startLineNumber-f,_.startColumn,_.endLineNumber-f,_.endColumn)):(c.push(zn.replace(ie,F)),Y=new jt(_.startLineNumber-f,_.startColumn,_.startLineNumber-f,F.length-z)),W.intersectRanges(ie,n)!==null?g=Y:h.push(Y)}f+=ie.endLineNumber-ie.startLineNumber}h.unshift(g),t.pushUndoStop(),t.executeEdits(this.id,c,h),t.pushUndoStop()}}class a$ extends ye{constructor(){super({id:"editor.action.transpose",label:y("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:M.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 h=c.getStartPosition(),g=n.getLineMaxColumn(h.lineNumber);if(h.column>=g){if(h.lineNumber===n.getLineCount())continue;const f=new W(h.lineNumber,Math.max(1,h.column-1),h.lineNumber+1,1),p=n.getValueInRange(f).split("").reverse().join("");s.push(new kp(new jt(h.lineNumber,Math.max(1,h.column-1),h.lineNumber+1,1),p))}else{const f=new W(h.lineNumber,Math.max(1,h.column-1),h.lineNumber,h.column+1),p=n.getValueInRange(f).split("").reverse().join("");s.push(new hE(f,p,new jt(h.lineNumber,h.column+1,h.lineNumber,h.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class yh extends ye{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(),h=t.getConfiguredWordAtPosition(c);if(!h)continue;const g=new W(c.lineNumber,h.startColumn,c.lineNumber,h.endColumn),f=n.getValueInRange(g);r.push(zn.replace(g,this._modifyText(f,s)))}else{const c=n.getValueInRange(a);r.push(zn.replace(a,this._modifyText(c,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class l$ extends yh{constructor(){super({id:"editor.action.transformToUppercase",label:y("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:M.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class c$ extends yh{constructor(){super({id:"editor.action.transformToLowercase",label:y("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:M.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class tl{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 pb=class pb extends yh{constructor(){super({id:"editor.action.transformToTitlecase",label:y("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:M.writable})}_modifyText(e,t){const i=pb.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};pb.titleBoundary=new tl("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let _v=pb;const fu=class fu extends yh{constructor(){super({id:"editor.action.transformToSnakecase",label:y("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:M.writable})}_modifyText(e,t){const i=fu.caseBoundary.get(),n=fu.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};fu.caseBoundary=new tl("(\\p{Ll})(\\p{Lu})","gmu"),fu.singleLetters=new tl("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let Sf=fu;const mb=class mb extends yh{constructor(){super({id:"editor.action.transformToCamelcase",label:y("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:M.writable})}_modifyText(e,t){const i=mb.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("")}};mb.wordBoundary=new tl("[_\\s-]","gm");let vv=mb;const pu=class pu extends yh{constructor(){super({id:"editor.action.transformToPascalcase",label:y("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:M.writable})}_modifyText(e,t){const i=pu.wordBoundary.get(),n=pu.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("")}};pu.wordBoundary=new tl("[_\\s-]","gm"),pu.wordBoundaryToMaintain=new tl("(?<=\\.)","gm");let bv=pu;const Tl=class Tl extends yh{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:y("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:M.writable})}_modifyText(e,t){const i=Tl.caseBoundary.get(),n=Tl.singleLetters.get(),s=Tl.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};Tl.caseBoundary=new tl("(\\p{Ll})(\\p{Lu})","gmu"),Tl.singleLetters=new tl("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Tl.underscoreBoundary=new tl("(\\S)(_)(\\S)","gm");let yv=Tl;se($U);se(qU);se(KU);se(GU);se(ZU);se(XU);se(YU);se(JU);se(YC);se(QU);se(e$);se(t$);se(i$);se(n$);se(s$);se(o$);se(r$);se(a$);se(l$);se(c$);Sf.caseBoundary.isSupported()&&Sf.singleLetters.isSupported()&&se(Sf);vv.wordBoundary.isSupported()&&se(vv);bv.wordBoundary.isSupported()&&se(bv);_v.titleBoundary.isSupported()&&se(_v);yv.isSupported()&&se(yv);var d$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Hm=function(o,e){return function(t,i){e(t,i,o)}},d_;const vN=new Pi("LinkedEditingInputVisible",!1),h$="linked-editing-decoration";var ac;let ug=(ac=class extends ze{static get(e){return e.getContribution(d_.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new We),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=vN.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 We),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(os.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new uc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new uc(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 h=this._currentDecorations.getRange(0);if(h&&c.changes.every(g=>h.intersectRanges(g.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 h=t.getValueInRange(c),g=n,f=c.startColumn,p=c.endColumn;const v=Hp(h,g);f+=v,h=h.substr(v),g=g.substr(v);const _=R2(h,g);p-=_,h=h.substr(0,h.length-_),g=g.substr(0,g.length-_),(f!==p||g.length!==0)&&s.push({range:new W(c.startLineNumber,f,c.endLineNumber,p),text:g})}}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 fs;try{const r=new co(!1),a=await bN(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 h=!1;for(let f=0,p=c.length;f<p;f++)if(W.containsPosition(c[f],t)){if(h=!0,f!==0){const v=c[f];c.splice(f,1),c.unshift(v)}break}if(!h){this.clearRanges();return}const g=c.map(f=>({range:f,options:d_.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(g),this._syncRangesToken++}catch(r){yc(r)||ln(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},d_=ac,ac.ID="editor.contrib.linkedEditing",ac.DECORATION=xi.register({description:"linked-editing",stickiness:0,className:h$}),ac);ug=d_=d$([Hm(1,Wi),Hm(2,Ct),Hm(3,us),Hm(4,jo)],ug);class u$ extends ye{constructor(){super({id:"editor.action.linkedEditing",label:y("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:re.and(M.writable,M.hasRenameProvider),kbOpts:{kbExpr:M.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(Yn),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return nn.isUri(n)&&St.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))))},ln):super.runCommand(e,t)}run(e,t){const i=ug.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const g$=Js.bindToContribution(ug.get);Lt(new g$({id:"cancelLinkedEditingInput",precondition:vN,handler:o=>o.clearRanges(),kbOpts:{kbExpr:M.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function bN(o,e,t,i){const n=o.ordered(e);return M0(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){Xn(r);return}}),s=>!!s&&So(s==null?void 0:s.ranges))}ut("editor.linkedEditingBackground",{dark:Si.fromHex("#f00").transparent(.3),light:Si.fromHex("#f00").transparent(.3),hcDark:Si.fromHex("#f00").transparent(.3),hcLight:Si.white},y("editorLinkedEditingBackground","Background color when the editor auto renames on type."));Qs("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(Ct);return bN(i,e,t,fi.None)});vi(ug.ID,ug,1);se(u$);let f$=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 wv{constructor(e){this._disposables=new We;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new f$(r,n));t=wv._union(t,s),ME(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],h=t[r];if(W.areIntersectingOrTouching(c.range,h.range)){n++;continue}W.compareRangesUsingStarts(c.range,h.range)<0?(i.push(c),n++):(i.push(h),r++)}for(;n<s;n++)i.push(e[n]);for(;r<a;r++)i.push(t[r]);return i}}function yN(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])},Xn));return Promise.all(n).then(()=>{const s=new wv(il(i));return t.isCancellationRequested?(s.dispose(),new wv([])):s})}mn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;zi(t instanceof nn),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(Ct),s=o.get(Vs).getModel(t);if(!s)return[];const r=await yN(n,s,fi.None);if(!r)return[];for(let c=0;c<Math.min(i,r.links.length);c++)await r.links[c].resolve(fi.None);const a=r.links.slice(0);return r.dispose(),a});var p$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Wm=function(o,e){return function(t,i){e(t,i,o)}},JC,Td;let rp=(Td=class extends ze{static get(e){return e.getContribution(JC.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 rs(()=>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=gs(t=>yN(this.providers,e,t));try{const t=new co(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){ln(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(bu.decoration(r,t));this.editor.changeDecorations(r=>{const a=r.deltaDecorations(i,s);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let c=0,h=a.length;c<h;c++){const g=new bu(e[c],a[c]);this.currentOccurrences[g.decorationId]=g}})}_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(fi.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===$s.file&&s.startsWith(`${$s.file}:`)){const a=nn.parse(s);if(a.scheme===$s.file){const c=A2(a);let h=null;c.startsWith("/./")||c.startsWith("\\.\\")?h=`.${c.substr(1)}`:(c.startsWith("//./")||c.startsWith("\\\\.\\"))&&(h=`.${c.substr(2)}`),h&&(s=O2(r,h))}}}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(y("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):r==="missing"?this.notificationService.warn(y("missing.url","Failed to open this link because its target is missing.")):ln(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()}},JC=Td,Td.ID="editor.linkDetector",Td);rp=JC=p$([Wm(1,Hr),Wm(2,zs),Wm(3,Ct),Wm(4,jo)],rp);const HI={general:xi.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:xi.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class bu{static decoration(e,t){return{range:e.range,options:bu._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?HI.active:HI.general};return n.hoverMessage=m$(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,bu._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,bu._getOptions(this.link,t,!1))}}function m$(o,e){const t=o.url&&/^command:/i.test(o.url.toString()),i=o.tooltip?o.tooltip:t?y("links.navigate.executeCmd","Execute command"):y("links.navigate.follow","Follow link"),n=e?Ca?y("links.navigate.kb.meta.mac","cmd + click"):y("links.navigate.kb.meta","ctrl + click"):Ca?y("links.navigate.kb.alt.mac","option + click"):y("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=y("tooltip.explanation","Execute command {0}",c)}}return new Ns("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new Ns().appendText(`${i} (${n})`)}class _$ extends ye{constructor(){super({id:"editor.action.openLink",label:y("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=rp.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)}}}vi(rp.ID,rp,1);se(_$);const eL=class eL extends ze{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})}))}};eL.ID="editor.contrib.longLinesHelper";let Sv=eL;vi(Sv.ID,Sv,2);const v$=ut("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},y("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);ut("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},y("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);ut("editor.wordHighlightTextBackground",v$,y("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 b$=ut("editor.wordHighlightBorder",{light:null,dark:null,hcDark:qd,hcLight:qd},y("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));ut("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:qd,hcLight:qd},y("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));ut("editor.wordHighlightTextBorder",b$,y("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const y$=ut("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",y("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),w$=ut("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",y("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),S$=ut("editorOverviewRuler.wordHighlightTextForeground",GE,y("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),C$=xi.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:ss(w$),position:va.Center},minimap:{color:ss(Gb),position:1}}),x$=xi.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:ss(S$),position:va.Center},minimap:{color:ss(Gb),position:1}}),L$=xi.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:ss(GE),position:va.Center},minimap:{color:ss(Gb),position:1}}),k$=xi.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),I$=xi.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:ss(y$),position:va.Center},minimap:{color:ss(Gb),position:1}});function D$(o){return o===I_.Write?C$:o===I_.Text?x$:I$}function E$(o){return o?k$:L$}Hb((o,e)=>{const t=o.getColor(F2);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var P$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},T$=function(o,e){return function(t,i){e(t,i,o)}},QC;function Sc(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?y("cursorAdded","Cursor added: {0}",i):y("cursorsAdded","Cursors added: {0}",i);Vu(n)}}class M$ extends ye{constructor(){super({id:"editor.action.insertCursorAbove",label:y("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:Qe.MenubarSelectionMenu,group:"3_multi",title:y({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,T0.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Sc(r,s.getCursorStates())}}class N$ extends ye{constructor(){super({id:"editor.action.insertCursorBelow",label:y("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:Qe.MenubarSelectionMenu,group:"3_multi",title:y({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,T0.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Sc(r,s.getCursorStates())}}class R$ extends ye{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:y("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:Qe.MenubarSelectionMenu,group:"3_multi",title:y({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 jt(n,s,n,s))}e.endColumn>1&&i.push(new jt(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),Sc(r,s.getCursorStates())}}class A$ extends ye{constructor(){super({id:"editor.action.addCursorsToBottom",label:y("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 jt(c,i[0].startColumn,c,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),Sc(a,r.getCursorStates())}}class O$ extends ye{constructor(){super({id:"editor.action.addCursorsToTop",label:y("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 jt(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),Sc(r,s.getCursorStates())}}class Bm{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class ap{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new ap(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 h,g=null;if(c.isEmpty()){const f=e.getConfiguredWordAtPosition(c.getStartPosition());if(!f)return null;h=f.word,g=new jt(c.startLineNumber,f.startColumn,c.startLineNumber,f.endColumn)}else h=e.getModel().getValueInRange(c).replace(/\r\n/g,`
57
+ `);return new ap(e,t,n,h,s,r,g)}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 Bm(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 Bm(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 jt(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 Bm(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 Bm(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 jt(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 _b=class _b extends ze{static get(e){return e.getContribution(_b.ID)}constructor(e){super(),this._sessionDispose=this._register(new We),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=ap.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 jt(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(!wN(this._editor.getModel(),t,n)){const r=this._editor.getModel(),a=[];for(let c=0,h=t.length;c<h;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 jt(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};_b.ID="editor.contrib.multiCursorController";let gg=_b;class Ig extends ye{run(e,t){const i=gg.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=Xs.get(t);if(r)this._run(i,r);else{const a=e.get(ci).createInstance(Xs,t);this._run(i,a),a.dispose()}Sc(s,n.getCursorStates())}}}class F$ extends Ig{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:y("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:2082,weight:100},menuOpts:{menuId:Qe.MenubarSelectionMenu,group:"3_multi",title:y({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class H$ extends Ig{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:y("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:Qe.MenubarSelectionMenu,group:"3_multi",title:y({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class W$ extends Ig{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:y("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:ts(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class B$ extends Ig{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:y("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 z$ extends Ig{constructor(){super({id:"editor.action.selectHighlights",label:y("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:3114,weight:100},menuOpts:{menuId:Qe.MenubarSelectionMenu,group:"3_multi",title:y({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class V$ extends Ig{constructor(){super({id:"editor.action.changeAll",label:y("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:re.and(M.writable,M.editorTextFocus),kbOpts:{kbExpr:M.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class j${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(W.compareRangesUsingStarts)),this._cachedFindMatches}}var Md;let Cv=(Md=class extends ze{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new rs(()=>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=Xs.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(QC._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=gg.get(i);if(!s)return null;const r=Xs.get(i);if(!r)return null;let a=s.getSession(r);if(!a){const g=i.getSelections();if(g.length>1){const p=r.getState().matchCase;if(!wN(i.getModel(),g,p))return null}a=ap.create(i,r)}if(!a||a.currentMatch||/^[ \t]+$/.test(a.searchText)||a.searchText.length>200)return null;const c=r.getState(),h=c.matchCase;if(c.isRevealed){let g=c.searchString;h||(g=g.toLowerCase());let f=a.searchText;if(h||(f=f.toLowerCase()),g===f&&a.matchCase===c.matchCase&&a.wholeWord===c.wholeWord&&!c.isRegex)return null}return new j$(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(W.compareRangesUsingStarts);const s=[];for(let h=0,g=0,f=i.length,p=n.length;h<f;){const v=i[h];if(g>=p)s.push(v),h++;else{const _=W.compareRangesUsingStarts(v,n[g]);_<0?((n[g].isEmpty()||!W.areIntersecting(v,n[g]))&&s.push(v),h++):(_>0||h++,g++)}}const r=this.editor.getOption(81)!=="off",a=this._languageFeaturesService.documentHighlightProvider.has(t)&&r,c=s.map(h=>({range:h,options:E$(a)}));this._decorations.set(c)}dispose(){this._setState(null),super.dispose()}},QC=Md,Md.ID="editor.contrib.selectionHighlighter",Md);Cv=QC=P$([T$(1,Ct)],Cv);function wN(o,e,t){const i=WI(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=WI(o,r,!t);if(i!==a)return!1}return!0}function WI(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class U$ extends ye{constructor(){super({id:"editor.action.focusNextCursor",label:y("mutlicursor.focusNextCursor","Focus Next Cursor"),metadata:{description:y("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),Sc(s,n.getCursorStates()))}}class $$ extends ye{constructor(){super({id:"editor.action.focusPreviousCursor",label:y("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),metadata:{description:y("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),Sc(s,n.getCursorStates()))}}vi(gg.ID,gg,4);vi(Cv.ID,Cv,1);se(M$);se(N$);se(R$);se(F$);se(H$);se(W$);se(B$);se(z$);se(V$);se(A$);se(O$);se(U$);se($$);const q$="editor.action.inlineEdit.accept",K$="editor.action.inlineEdit.reject",G$="editor.action.inlineEdit.jumpTo",Z$="editor.action.inlineEdit.jumpBack";var X$=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 Cw="inline-edit";let ex=class extends ze{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Co(this,!1),this.currentTextModel=no(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Ji(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,h=r.parts.length===1&&r.parts[0].lines.every(N=>N.length===0),g=[],f=[];function p(N,z){if(f.length>0){const F=f[f.length-1];z&&F.decorations.push(new zf(F.content.length+1,F.content.length+1+N[0].length,z,0)),F.content+=N[0],N=N.slice(1)}for(const F of N)f.push({content:F,decorations:z?[new zf(1,F.length+1,z,0)]:[]})}const v=s.getLineContent(r.lineNumber);let _,w=0;if(!h&&(c||!a)){for(const N of r.parts){let z=N.lines;a&&!c&&(p(z,Cw),z=[]),_===void 0?(g.push({column:N.column,text:z[0],preview:N.preview}),z=z.slice(1)):p([v.substring(w,N.column-1)],void 0),z.length>0&&(p(z,Cw),_===void 0&&N.column<=v.length&&(_=N.column)),w=N.column-1}_!==void 0&&p([v.substring(w)],void 0)}const S=_!==void 0?new iN(_,v.length+1):void 0,D=c||!a?r.lineNumber:a.endLineNumber-1;return{inlineTexts:g,additionalLines:f,hiddenRange:S,lineNumber:D,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s,range:a,isSingleLine:c,isPureRemove:h}}),this.decorations=Ji(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 h=0;h<c;h++){const g=s.range.startLineNumber+h,f=s.targetTextModel.getLineFirstNonWhitespaceColumn(g),p=s.targetTextModel.getLineLastNonWhitespaceColumn(g),v=new W(g,f,g,p);a.push(v)}}for(const c of a)r.push({range:c,options:N0})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new W(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:R0})}for(const a of s.inlineTexts)r.push({range:W.fromPositions(new St(s.lineNumber,a.column)),options:{description:Cw,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:eu.Left},showIfCollapsed:!0}});return r}),this._register(wn(()=>{this.isDisposed.set(!0,void 0)})),this._register(nN(this.editor,this.decorations))}};ex=X$([Y$(2,Br)],ex);var P1=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},la=function(o,e){return function(t,i){e(t,i,o)}},h_;let tx=class extends ze{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=no(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=Ji(this,n=>{var c,h;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 St(s.lineNumber,Math.min(r,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Np((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(ix,this.editor,!0,this.position));e.addContentWidget(a),s.add(wn(()=>e.removeContentWidget(a)))}))}};tx=P1([la(2,ci)],tx);var lc;let ix=(lc=class extends ze{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${h_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=or("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[or("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Qe.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(nx,this.nodes.toolBar,this.editor,Qe.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,c)=>{if(a instanceof qu)return n.createInstance(J$,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{h_._dropDownVisible=a})),this._register(Pn(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(Pn(a=>{const c=[];for(const[h,g]of this.inlineCompletionsActionsMenus.getActions())for(const f of g)f instanceof qu&&c.push(f);c.length>0&&c.unshift(new Af),this.toolBar.setAdditionalSecondaryActions(c)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},h_=lc,lc._dropDownVisible=!1,lc.id=0,lc);ix=h_=P1([la(3,ci),la(4,Wi),la(5,hh)],ix);class J$ extends YD{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=or("div.keybinding").root;this._register(new f0(t,p0,{disableTitle:!0,...JD})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let nx=class extends QD{constructor(e,t,i,n,s,r,a,c,h,g){super(e,{resetMenu:i,...n},s,r,a,c,h,g),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,h;const e=[],t=[];w0(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,(h=(c=this.options2)==null?void 0:c.toolbarOptions)==null?void 0:h.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){Sa(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};nx=P1([la(4,hh),la(5,Wi),la(6,mg),la(7,is),la(8,hs),la(9,Wr)],nx);var SN=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},u_=function(o,e){return function(t,i){e(t,i,o)}},sf,sx;function*Q$(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function xw(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 Nd;let ox=(Nd=class extends ze{static _createUniqueUri(){return nn.from({scheme:"inline-edit-widget",path:new Date().toString()+String(sf._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=Ji(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 h=Array.from(Q$(a.range.startLineNumber,a.range.endLineNumber+1)),g=h.map(w=>c.getLineLastNonWhitespaceColumn(w)),f=Math.max(...g),p=h[g.indexOf(f)],v=new St(p,f);return{top:a.range.startLineNumber,left:v}}),this._text=Ji(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const c=xw(a.text.split(`
58
+ `));return{text:c.text.join(`
59
+ `),shift:c.shift}}),this._originalModel=gc(()=>this._modelService.createModel("",null,sf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=gc(()=>this._modelService.createModel("",null,sf._createUniqueUri())).keepObserved(this._store),this._diff=Ji(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=Ji(this,r=>{const a=this._model.read(r);if(!a)return;const c=this._editor.getModel();if(!c)return;const h=xw(c.getValueInRange(a.range).split(`
60
+ `)).text.join(`
61
+ `),g=xw(a.text.split(`
62
+ `)).text.join(`
63
+ `);this._originalModel.get().setValue(h),this._modifiedModel.get().setValue(g);const f=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return ZE.fromFn(async()=>{const p=await f.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},fi.None);if(!p.identical)return p.changes})}),this._register(Np((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const h=a.add(this._instantiationService.createInstance(rx,this._editor,this._position,this._text.map(g=>g.text),this._text.map(g=>g.shift),this._diff));e.addOverlayWidget(h),a.add(wn(()=>e.removeOverlayWidget(h)))}))}},sf=Nd,Nd._modelId=0,Nd);ox=sf=SN([u_(2,ci),u_(3,A0),u_(4,Vs)],ox);var Rd;let rx=(Rd=class extends ze{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${sx.id++}`,this.allowEditorOverflow=!1,this._nodes=ht("div.inlineEditSideBySide",void 0),this._scrollChanged=Xc("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(fr,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=da(this._previewEditor),this._editorObs=da(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(Fl,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??Wf,Fl.DEFAULT_CREATION_OPTIONS,null)),this._setText=Ji(c=>{const h=this._text.read(c);h&&this._previewTextModel.setValue(h)}).recomputeInitiallyAndOnChange(this._store),this._decorations=Ji(this,c=>{this._setText.read(c);const h=this._position.read(c);if(!h)return{org:[],mod:[]};const g=this._diff.read(c);if(!g)return{org:[],mod:[]};const f=[],p=[];if(g.length===1&&g[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const v=this._shift.get(),_=w=>new W(w.startLineNumber+h.top-1,w.startColumn+v,w.endLineNumber+h.top-1,w.endColumn+v);for(const w of g)if(w.original.isEmpty||f.push({range:_(w.original.toInclusiveRange()),options:R0}),w.modified.isEmpty||p.push({range:w.modified.toInclusiveRange(),options:XE}),w.modified.isEmpty||w.original.isEmpty)w.original.isEmpty||f.push({range:_(w.original.toInclusiveRange()),options:YE}),w.modified.isEmpty||p.push({range:w.modified.toInclusiveRange(),options:JE});else for(const S of w.innerChanges||[])w.original.contains(S.originalRange.startLineNumber)&&f.push({range:_(S.originalRange),options:S.originalRange.isEmpty()?QE:N0}),w.modified.contains(S.modifiedRange.startLineNumber)&&p.push({range:S.modifiedRange,options:S.modifiedRange.isEmpty()?eP:tP});return{org:f,mod:p}}),this._originalDecorations=Ji(this,c=>this._decorations.read(c).org),this._modifiedDecorations=Ji(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(Pn(c=>{const h=this._previewEditorObs.contentWidth.read(c),g=this._text.read(c).split(`
64
+ `).length-1,f=this._editor.getOption(67)*g;h<=0||this._previewEditor.layout({height:f,width:h})})),this._register(Pn(c=>{this._position.read(c),this._editor.layoutOverlayWidget(this)})),this._register(Pn(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 St(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}}}},sx=Rd,Rd.id=0,Rd);rx=sx=SN([u_(5,ci)],rx);var e5=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},Ec=function(o,e){return function(t,i){e(t,i,o)}},of,Ho;let Fs=(Ho=class extends ze{static get(e){return e.getContribution(of.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=of.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=of.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=Co(this,void 0),this._currentWidget=gc(this._currentEdit,_=>{const w=this._currentEdit.read(_);if(!w)return;const S=w.range.endLineNumber,D=w.range.endColumn,P=w.text.endsWith(`
65
+ `)&&!(w.range.startLineNumber===w.range.endLineNumber&&w.range.startColumn===w.range.endColumn)?w.text.slice(0,-1):w.text,N=new tp(S,[new iv(D,P,!1)]),z=w.range.startLineNumber===w.range.endLineNumber&&N.parts.length===1&&N.parts[0].lines.length===1,F=w.text==="";return!z&&!F?void 0:this.instantiationService.createInstance(ex,this.editor,{ghostText:Ka(N),minReservedLineCount:Ka(0),targetTextModel:Ka(this.editor.getModel()??void 0),range:Ka(w.range)})}),this._isAccepting=Co(this,!1),this._enabled=no(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=no(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const h=Xc("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(Pn(_=>{this._enabled.read(_)&&(h.read(_),!this._isAccepting.read(_)&&this.getInlineEdit(e,!0))}));const g=no(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(Pn(_=>{if(!this._enabled.read(_))return;const w=g.read(_);w&&this.checkCursorPosition(w)})),this._register(Pn(_=>{const w=this._currentEdit.read(_);if(this._isCursorAtInlineEditContext.set(!1),!w){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const S=e.getPosition();S&&this.checkCursorPosition(S)}));const f=Xc("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(Pn(async _=>{var w;this._enabled.read(_)&&(f.read(_),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((w=this._currentRequestCts)==null||w.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const p=Xc("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(Pn(_=>{this._enabled.read(_)&&(p.read(_),this.getInlineEdit(e,!0))}));const v=this._register(xE());this._register(Pn(_=>{const w=this._fontFamily.read(_);v.setStyle(w===""||w==="default"?"":`
66
+ .monaco-editor .inline-edit-decoration,
67
+ .monaco-editor .inline-edit-decoration-preview,
68
+ .monaco-editor .inline-edit {
69
+ font-family: ${w};
70
+ }`)})),this._register(new tx(this.editor,this._currentWidget,this.instantiationService)),this._register(new ox(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(W.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 fs;const a=this._currentRequestCts.token,c=t?XL.Automatic:XL.Invoke;if(t&&await t5(50,a),a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)return;const g=await r.provideInlineEdit(i,{triggerKind:c},a);if(g&&!(a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)&&this.validateInlineEdit(e,g))return g}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",[zn.replace(W.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,Xn),this.freeEdit(e),uh(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=St.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,Xn),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)}},of=Ho,Ho.ID="editor.contrib.inlineEditController",Ho.inlineEditVisibleKey="inlineEditVisible",Ho.inlineEditVisibleContext=new Pi(Ho.inlineEditVisibleKey,!1),Ho.cursorAtInlineEditKey="cursorAtInlineEdit",Ho.cursorAtInlineEditContext=new Pi(Ho.cursorAtInlineEditKey,!1),Ho);Fs=of=e5([Ec(1,ci),Ec(2,Wi),Ec(3,Ct),Ec(4,hs),Ec(5,Cn),Ec(6,A0),Ec(7,Vs)],Fs);function t5(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 i5=class extends ye{constructor(){super({id:q$,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:re.and(M.writable,Fs.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:re.and(M.writable,Fs.inlineEditVisibleContext,Fs.cursorAtInlineEditContext)}],menuOpts:[{menuId:Qe.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=Fs.get(t);await(i==null?void 0:i.accept())}};class n5 extends ye{constructor(){const e=re.and(M.writable,re.not(Fs.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=Fs.get(t);i==null||i.trigger()}}class s5 extends ye{constructor(){const e=re.and(M.writable,Fs.inlineEditVisibleContext,re.not(Fs.cursorAtInlineEditKey));super({id:G$,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:Qe.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=Fs.get(t);i==null||i.jumpToCurrent()}}class o5 extends ye{constructor(){const e=re.and(M.writable,Fs.cursorAtInlineEditContext);super({id:Z$,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:Qe.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=Fs.get(t);i==null||i.jumpBack()}}class r5 extends ye{constructor(){const e=re.and(M.writable,Fs.inlineEditVisibleContext);super({id:K$,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:Qe.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=Fs.get(t);await(i==null?void 0:i.clear())}}se(i5);se(r5);se(s5);se(o5);se(n5);vi(Fs.ID,Fs,3);const a5="editor.action.inlineEdits.accept",l5="editor.action.inlineEdits.showPrevious",c5="editor.action.inlineEdits.showNext",fg=new Pi("inlineEditsVisible",!1,y("inlineEditsVisible","Whether an inline edit is visible")),d5=new Pi("inlineEditsIsPinned",!1,y("isPinned","Whether an inline edit is visible")),tL=class tL extends ze{constructor(e){super(),this._editor=e,this._editorObs=da(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=$a({owner:this,equalsFn:iP},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=h5(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=eE((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=or("div.editorPlaceholder");i.add(Pn(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(Pn(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(Pn(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:Ka(0),position:Ka(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};tL.ID="editor.contrib.placeholderText";let lp=tL;function h5(o,e){return Bb(o,(t,i)=>i===!0?!0:e(t))}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},g5=function(o,e){return function(t,i){e(t,i,o)}};class f5{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let ax=class extends ze{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=da(this._editor),this._elements=or("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[or("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[or("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),or("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),or("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),Ph("svg",{style:{overflow:"visible",pointerEvents:"none"}},[Ph("defs",[Ph("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[Ph("stop",{offset:"0%",class:"gradient-stop"}),Ph("stop",{offset:"100%",class:"gradient-stop"})])]),Ph("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(Fl,"",Wf,Fl.DEFAULT_CREATION_OPTIONS,null)),this._setText=Ji(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(Fl,"",Wf,Fl.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(fr,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:H2},{contributions:W2.getSomeEditorContributions([lr.ID,lp.ID,rg.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(fr,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=da(this._previewEditor),this._decorations=Ji(this,r=>{var g;this._setText.read(r);const a=(g=this._edit.read(r))==null?void 0:g.changes;if(!a)return[];const c=[],h=[];if(a.length===1&&a[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const f of a)if(f.original.isEmpty||c.push({range:f.original.toInclusiveRange(),options:R0}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:XE}),f.modified.isEmpty||f.original.isEmpty)f.original.isEmpty||c.push({range:f.original.toInclusiveRange(),options:YE}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:JE});else for(const p of f.innerChanges||[])f.original.contains(p.originalRange.startLineNumber)&&c.push({range:p.originalRange,options:p.originalRange.isEmpty()?QE:N0}),f.modified.contains(p.modifiedRange.startLineNumber)&&h.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?eP:tP});return h}),this._layout1=Ji(this,r=>{const a=this._editor.getModel(),c=this._edit.read(r);if(!c)return null;const h=c.range;let g=0;for(let v=h.startLineNumber;v<h.endLineNumberExclusive;v++){const _=a.getLineMaxColumn(v),w=this._editor.getOffsetForColumn(v,_);g=Math.max(g,w)}return{left:this._editor.getLayoutInfo().contentLeft+g}}),this._layout=Ji(this,r=>{const a=this._edit.read(r);if(!a)return null;const c=a.range,h=this._editorObs.scrollLeft.read(r),g=this._layout1.read(r).left+20-h,f=this._editor.getTopForLineNumber(c.startLineNumber)-this._editorObs.scrollTop.read(r),p=this._editor.getTopForLineNumber(c.endLineNumberExclusive)-this._editorObs.scrollTop.read(r),v=new lu(g,f),_=new lu(g,p),w=p-f,S=50,D=this._editor.getOption(67)*a.newLines.length,P=w-D,N=new lu(g+S,f+P/2),z=new lu(g+S,p-P/2);return{topCode:v,bottomCode:_,codeHeight:w,topEdit:N,bottomEdit:z,editHeight:D}});const s=Ji(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(B2(this._elements.root,{display:Ji(this,r=>s.read(r)?"block":"none")})),this._register(z2(this._editor.getDomNode(),this._elements.root)),this._register(da(e).createOverlayWidget({domNode:this._elements.root,position:Ka(null),allowEditorOverflow:!1,minContentWidthInPx:Ji(r=>{var h;const a=(h=this._layout1.read(r))==null?void 0:h.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(Pn(r=>{const a=this._layout.read(r);if(!a)return;const{topCode:c,bottomCode:h,topEdit:g,bottomEdit:f,editHeight:p}=a,v=10,_=0,w=40,S=new m5().moveTo(c).lineTo(c.deltaX(v)).curveTo(c.deltaX(v+w),g.deltaX(-w-_),g.deltaX(-_)).lineTo(g).lineTo(f).lineTo(f.deltaX(-_)).curveTo(f.deltaX(-w-_),h.deltaX(v+w),h.deltaX(v)).lineTo(h).build();this._elements.path.setAttribute("d",S),this._elements.editorContainer.style.top=`${g.y}px`,this._elements.editorContainer.style.left=`${g.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(_5(p5(this._userPrompt,r=>r??"",r=>r),da(this._promptEditor).value)),this._register(Pn(r=>{const a=da(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};ax=u5([g5(3,ci)],ax);function p5(o,e,t){return nP(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class lu{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new lu(this.x+e,this.y)}}class m5{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 _5(o,e){const t=new We;return t.add(Pn(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(Pn(i=>{const n=e.read(i);o.set(n,void 0)})),t}var v5=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},Lw=function(o,e){return function(t,i){e(t,i,o)}},rf,Ad;let lx=(Ad=class extends ze{static _createUniqueUri(){return nn.from({scheme:"inline-edits",path:new Date().toString()+String(rf._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=D0(this),this._selectedInlineCompletionId=Co(this,void 0),this._isActive=Co(this,!1),this._originalModel=gc(()=>this._modelService.createModel("",null,rf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=gc(()=>this._modelService.createModel("",null,rf._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new y5(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(c=>!!c),this.userPrompt=Co(this,void 0),this.inlineEdit=Ji(this,c=>{var h,g;return(g=(h=this._inlineEdit.read(c))==null?void 0:h.promiseResult.read(c))==null?void 0:g.data}),this._inlineEdit=Ji(this,c=>{const h=this.selectedInlineEdit.read(c);if(!h)return;const g=h.inlineCompletion.range;if(h.inlineCompletion.insertText.trim()==="")return;let f=h.inlineCompletion.insertText.split(/\r\n|\r|\n/);function p(S){var P;const D=((P=S[0].match(/^\s*/))==null?void 0:P[0])??"";return S.map(N=>N.replace(new RegExp("^"+D),""))}f=p(f);let _=this.textModel.getValueInRange(g).split(/\r\n|\r|\n/);_=p(_),this._originalModel.get().setValue(_.join(`
74
+ `)),this._modifiedModel.get().setValue(f.join(`
75
+ `));const w=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return ZE.fromFn(async()=>{const S=await w.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},fi.None);if(!S.identical)return new f5(V2.fromRangeInclusive(g),p(f),S.changes)})}),this._fetchStore=this._register(new We),this._inlineEditsFetchResult=Uw(this,void 0),this._inlineEdits=$a({owner:this,equalsFn:iP},c=>{var h;return((h=this._inlineEditsFetchResult.read(c))==null?void 0:h.completions.map(g=>new b5(g)))??[]}),this._fetchInlineEditsPromise=NE({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:Ja.Automatic}),handleChange:(c,h)=>(c.didChange(this._forceUpdateExplicitlySignal)&&(h.inlineCompletionTriggerKind=Ja.Explicit),!0)},async(c,h)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(c),this._textModelVersionId.read(c);function g(w,S){return S(w)}const f=this._pinnedRange.range.read(c)??g(this._selection.read(c),w=>w.isEmpty()?void 0:w);if(!f){this._inlineEditsFetchResult.set(void 0,void 0),this.userPrompt.set(void 0,void 0);return}const p={triggerKind:h.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(c)},v=qw(this._fetchStore);await Kb(200,v);const _=await sN(this.languageFeaturesService.inlineCompletionsProvider,f,this.textModel,p,v);v.isCancellationRequested||this._inlineEditsFetchResult.set(_,void 0)}),this._filteredInlineEditItems=$a({owner:this,equalsFn:$w()},c=>this._inlineEdits.read(c)),this.selectedInlineCompletionIndex=Ji(this,c=>{const h=this._selectedInlineCompletionId.read(c),g=this._filteredInlineEditItems.read(c),f=this._selectedInlineCompletionId===void 0?-1:g.findIndex(p=>p.semanticId===h);return f===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):f}),this.selectedInlineEdit=Ji(this,c=>{const h=this._filteredInlineEditItems.read(c),g=this.selectedInlineCompletionIndex.read(c);return h[g]}),this._register(RE(this._fetchInlineEditsPromise))}async triggerExplicitly(e){x_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){x_(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 Ku;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},rf=Ad,Ad._modelId=0,Ad);lx=rf=v5([Lw(4,Ct),Lw(5,A0),Lw(6,Vs)],lx);class b5{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class y5 extends ze{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Co(this,[]),this.range=Ji(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(wn(()=>{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 w5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jg=function(o,e){return function(t,i){e(t,i,o)}},cx,Od;let dl=(Od=class extends ze{static get(e){return e.getContribution(cx.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=j2("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=da(this.editor),this._selection=Ji(this,a=>this._editorObs.cursorSelection.read(a)??new jt(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=gc(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(Kw(lx,a),c,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=Bb(this,(a,c)=>{var h;return c||((h=this.model.read(a))==null?void 0:h.inlineEdit.read(a))!==void 0}),this._widget=gc(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(Kw(ax,a),this.editor,this.model.map((c,h)=>c==null?void 0:c.inlineEdit.read(h)),S5(c=>{var h;return((h=this.model.read(c))==null?void 0:h.userPrompt)??Co("empty","")}))}),this._register(YL(fg,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.inlineEdit.read(a))})),this._register(YL(d5,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)}},cx=Od,Od.ID="editor.contrib.inlineEditsController",Od);dl=cx=w5([jg(1,ci),jg(2,Wi),jg(3,jo),jg(4,Ct),jg(5,Cn)],dl);function S5(o){return nP(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function em(o){return{label:o.value,alias:o.original}}const vb=class vb extends ye{constructor(){super({id:vb.ID,...em(vt("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:re.and(M.writable,fg),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=dl.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};vb.ID=c5;let dx=vb;const bb=class bb extends ye{constructor(){super({id:bb.ID,...em(vt("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:re.and(M.writable,fg),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=dl.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};bb.ID=l5;let hx=bb;class C5 extends ye{constructor(){super({id:"editor.action.inlineEdits.trigger",...em(vt("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:M.writable})}async run(e,t){const i=dl.get(t);await UE(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class x5 extends ye{constructor(){super({id:a5,...em(vt("action.inlineEdits.accept","Accept Inline Edit")),precondition:fg,menuOpts:{menuId:Qe.InlineEditsActions,title:y("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:ei.check},kbOpts:{primary:2058,weight:2e4,kbExpr:fg}})}async run(e,t){var n;t instanceof fr&&(t=t.getParentEditor());const i=dl.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const yb=class yb extends ye{constructor(){super({id:yb.ID,...em(vt("action.inlineEdits.hide","Hide Inline Edit")),precondition:fg,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=dl.get(t);uh(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};yb.ID="editor.action.inlineEdits.hide";let ux=yb;vi(dl.ID,dl,3);se(C5);se(dx);se(hx);se(x5);se(ux);const ah={Visible:new Pi("parameterHintsVisible",!1),MultipleSignatures:new Pi("parameterHintsMultipleSignatures",!1)};async function CN(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){Xn(a)}}mn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;zi(nn.isUri(t)),zi(St.isIPosition(i)),zi(typeof n=="string"||!n);const s=o.get(Ct),r=await o.get(zr).createModelReference(t);try{const a=await CN(s.signatureHelpProvider,r.object.textEditorModel,St.lift(i),{triggerKind:$l.Invoke,isRetrigger:!1,triggerCharacter:n},fi.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var Dl;(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})(Dl||(Dl={}));const wb=class wb extends ze{constructor(e,t,i=wb.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new gi),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Dl.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Lo),this.triggerChars=new S_,this.retriggerChars=new S_,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new uc(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=Dl.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(ln)}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 Dl.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(L5);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 Dl.Pending(gs(c=>CN(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 Dl.Active(c.value),this._lastSignatureHelpResult.value=c,this._onChangedHints.fire(this.state.hints),!0)}catch(c){return e===this.triggerId&&(this.state=Dl.Default),ln(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:$l.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:$l.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:$l.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};wb.DEFAULT_DELAY=120;let gx=wb;function L5(o,e){switch(e.triggerKind){case $l.Invoke:return e;case $l.ContentChange:return o;case $l.TriggerCharacter:default:return e}}var k5=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},zm=function(o,e){return function(t,i){e(t,i,o)}},fx;const po=ht,I5=Gn("parameter-hints-next",ei.chevronDown,y("parameterHintsNextIcon","Icon for show next parameter hint.")),D5=Gn("parameter-hints-previous",ei.chevronUp,y("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var Fd;let px=(Fd=class extends ze{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new We),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new yg({editor:e},s,n)),this.keyVisible=ah.Visible.bindTo(i),this.keyMultipleSignatures=ah.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=po(".editor-widget.parameter-hints-widget"),t=nt(e,po(".phwrapper"));t.tabIndex=-1;const i=nt(t,po(".controls")),n=nt(i,po(".button"+$i.asCSSSelector(D5))),s=nt(i,po(".overloads")),r=nt(i,po(".button"+$i.asCSSSelector(I5)));this._register(Hi(n,"click",p=>{w_.stop(p),this.previous()})),this._register(Hi(r,"click",p=>{w_.stop(p),this.next()}));const a=po(".body"),c=new HE(a,{alwaysConsumeMouseWheel:!0});this._register(c),t.appendChild(c.getDomNode());const h=nt(a,po(".signature")),g=nt(a,po(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:h,overloads:s,docs:g,scrollbar:c},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(p=>{this.visible&&this.editor.layoutContentWidget(this)}));const f=()=>{if(!this.domNodes)return;const p=this.editor.getOption(50),v=this.domNodes.element;v.style.fontSize=`${p.fontSize}px`,v.style.lineHeight=`${p.lineHeight/p.fontSize}`,v.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",p.fontFamily),v.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",y0.fontFamily)};f(),this._register(os.chain(this.editor.onDidChangeConfiguration.bind(this.editor),p=>p.filter(v=>v.hasChanged(50)))(f)),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=nt(this.domNodes.signature,po(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const h=nt(n,po("span"));h.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const h=po("span.documentation");if(typeof a.documentation=="string")h.textContent=a.documentation;else{const g=this.renderMarkdownDocs(a.documentation);h.appendChild(g.element)}nt(this.domNodes.docs,po("p",{},h))}if(i.documentation!==void 0)if(typeof i.documentation=="string")nt(this.domNodes.docs,po("p",{},i.documentation));else{const h=this.renderMarkdownDocs(i.documentation);nt(this.domNodes.docs,h.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 h="";const g=i.parameters[r];Array.isArray(g.label)?h=i.label.substring(g.label[0],g.label[1]):h=g.label,g.documentation&&(h+=typeof g.documentation=="string"?`, ${g.documentation}`:`, ${g.documentation.value}`),i.documentation&&(h+=typeof i.documentation=="string"?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==h&&(ur(y("hint","{0}, hint",h)),this.announcedLabel=h)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new co,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"&&tu(t.documentation).length>0||t&&typeof t.documentation=="object"&&tu(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&tu(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&tu(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),nt(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|^)${Rf(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 fx.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)}},fx=Fd,Fd.ID="editor.widget.parameterHintsWidget",Fd);px=fx=k5([zm(2,Wi),zm(3,Hr),zm(4,Br),zm(5,Wr)],px);ut("editorHoverWidget.highlightForeground",VE,y("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var E5=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},BI=function(o,e){return function(t,i){e(t,i,o)}},mx,Hd;let pg=(Hd=class extends ze{static get(e){return e.getContribution(mx.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new gx(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 u0(()=>this._register(t.createInstance(px,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)}},mx=Hd,Hd.ID="editor.controller.parameterHints",Hd);pg=mx=E5([BI(1,ci),BI(2,Ct)],pg);class P5 extends ye{constructor(){super({id:"editor.action.triggerParameterHints",label:y("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:M.hasSignatureHelpProvider,kbOpts:{kbExpr:M.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=pg.get(t);i==null||i.trigger({triggerKind:$l.Invoke})}}vi(pg.ID,pg,2);se(P5);const T1=175,M1=Js.bindToContribution(pg.get);Lt(new M1({id:"closeParameterHints",precondition:ah.Visible,handler:o=>o.cancel(),kbOpts:{weight:T1,kbExpr:M.focus,primary:9,secondary:[1033]}}));Lt(new M1({id:"showPrevParameterHint",precondition:re.and(ah.Visible,ah.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:T1,kbExpr:M.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));Lt(new M1({id:"showNextParameterHint",precondition:re.and(ah.Visible,ah.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:T1,kbExpr:M.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var T5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},M5=function(o,e){return function(t,i){e(t,i,o)}};class N5{constructor(e){this.instantiationService=e}init(...e){}}function R5(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=Np((n,s)=>{const r=Kw(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function A5(o){return U2()?R5(o,_x):o()}let _x=class extends N5{constructor(e,t){super(t),this.init(e)}};_x=T5([M5(1,ci)],_x);vi(lp.ID,A5(()=>lp),0);ut("editor.placeholder.foreground",$2,y("placeholderForeground","Foreground color of the placeholder text in the editor."));var O5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Vm=function(o,e){return function(t,i){e(t,i,o)}};const Dg=new Pi("renameInputVisible",!1,y("renameInputVisible","Whether the rename input widget is visible"));new Pi("renameInputFocused",!1,y("renameInputFocused","Whether the rename input widget is focused"));let vx=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 We,this._visibleContextKey=Dg.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new co,this._inputWithButton=new F5,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 N1(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(q2),i=e.getColor(K2);this._domNode.style.backgroundColor=String(e.getColor(WE)??""),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(G2)??"");const n=e.getColor(Z2);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(JL)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(JL)??""),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;zi(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=Rp(this.getDomNode().ownerDocument.body),t=Gs(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}=cp.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=y({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;zi(this._renameCandidateListView),zi(this._nPxAvailableAbove!==void 0),zi(this._nPxAvailableBelow!==void 0);const t=Qh(this._inputWithButton.domNode),i=Qh(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:Jo(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 We;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(Hi(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),c.add(Hi(this._inputWithButton.button,Tn.KEY_DOWN,g=>{const f=new O0(g);(f.equals(3)||f.equals(10))&&(f.stopPropagation(),f.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new St(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(wn(()=>{this._renameCts=void 0,s.dispose(!0)})),c.add(wn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),c.add(wn(()=>this._candidates.clear()));const h=new Ab;return h.p.finally(()=>{c.dispose(),this._hide()}),this._currentCancelInput=g=>{var f;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(f=this._renameCandidateListView)==null||f.clearCandidates(),h.complete(g),!0},this._currentAcceptInput=g=>{this._trace("invoking _currentAcceptInput"),zi(this._renameCandidateListView!==void 0);const f=this._renameCandidateListView.nCandidates;let p,v;const _=this._renameCandidateListView.focusedCandidate;if(_!==void 0?(this._trace("using new name from renameSuggestion"),p=_,v={k:"renameSuggestion"}):(this._trace("using new name from inputField"),p=this._inputWithButton.input.value,v=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(),h.complete({newName:p,wantsPreview:i&&g,stats:{source:v,nRenameSuggestions:f,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 g;return this.cancelInput(!((g=this._domNode)!=null&&g.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),h.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),zi(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new fs;const i=t?Gw.Invoke:Gw.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){zi(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!W.isEmpty(i)&&!W.spansMultipleLines(i)&&W.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=(...h)=>this._trace("_updateRenameCandidates",...h);n("start");const s=await Ip(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),s===void 0){n("returning early - received updateRenameCandidates results - undefined");return}const r=s.flatMap(h=>h.status==="fulfilled"&&Gm(h.value)?h.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=UD(r,h=>h.newSymbolName);n(`distinct candidates - ${a.length} candidates.`);const c=a.filter(({newSymbolName:h})=>h.trim().length>0&&h!==this._inputWithButton.input.value&&h!==t&&!this._candidates.has(h));if(n(`valid distinct candidates - ${r.length} candidates.`),c.forEach(h=>this._candidates.add(h.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)}};vx=O5([Vm(2,pr),Vm(3,is),Vm(4,Wi),Vm(5,gh)],vx);class N1{constructor(e,t){this._disposables=new We,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=N1._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(jE({listInactiveFocusForeground:BE,listInactiveFocusBackground:zE}))}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`,Vu(y("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}=cp.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 cp(r,i)}renderElement(r,a,c){c.populate(r)}disposeTemplate(r){r.dispose()}};return new m0("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class F5{constructor(){this._onDidInputChange=new gi,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new We}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",y("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=y("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=y("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=X2().setupManagedHover($b("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(Hi(this.input,Tn.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(Hi(this.input,Tn.KEY_DOWN,e=>{const t=new O0(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(Hi(this.input,Tn.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(Hi(this.input,Tn.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(Hi(this.input,Tn.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return zi(this._inputNode),this._inputNode}get button(){return zi(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=Zw(ei.sparkle)),ba(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=Zw(ei.primitiveSquare)),ba(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 Pf=class Pf{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=`${Pf._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=Zw(ei.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),PE(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(Y2.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+Pf._PADDING*2}}dispose(){}};Pf._PADDING=2;let cp=Pf;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},Ll=function(o,e){return function(t,i){e(t,i,o)}},bx;class R1{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 W(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
76
+ `):void 0}:{range:W.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(y("no result","No result.")),n);return r}}async function W5(o,e,t,i){const n=new R1(e,t,o),s=await n.resolveRenameLocation(fi.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,fi.None)}var Wd;let vc=(Wd=class{static get(e){return e.getContribution(bx.ID)}constructor(e,t,i,n,s,r,a,c,h){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=h,this._disposableStore=new We,this._cts=new fs,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(vx,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var _,w;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new fs,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new R1(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new Bu(this.editor,5,void 0,this._cts.token);let s;try{e("resolving rename location");const S=i.resolveRenameLocation(n.token);this._progressService.showWhile(S,250),s=await S,e("resolved rename location")}catch(S){S instanceof Ob?e("resolve rename location cancelled",JSON.stringify(S,null," ")):(e("resolve rename location failed",S instanceof Error?S:JSON.stringify(S,null," ")),(typeof S=="string"||qm(S))&&((_=ro.get(this.editor))==null||_.showMessage(S||y("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),(w=ro.get(this.editor))==null||w.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new Bu(this.editor,5,s.range,this._cts.token),a=this.editor.getModel(),c=this._languageFeaturesService.newSymbolNamesProvider.all(a),h=await Promise.all(c.map(async S=>[S,await S.supportsAutomaticNewSymbolNamesTriggerKind??!1])),g=(S,D)=>{let P=h.slice();return S===Gw.Automatic&&(P=P.filter(([N,z])=>z)),P.map(([N])=>N.provideNewSymbolNames(a,s.range,S,D))};e("creating rename input field and awaiting its result");const f=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),p=await this._renameWidget.getInput(s.range,s.text,f,c.length>0?g: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 v=Ip(i.provideRenameEdits(p.newName,r.token),r.token).then(async S=>{if(!S){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(S.rejectReason){e(`returning early - rejected with reason: ${S.rejectReason}`),this._notificationService.info(S.rejectReason);return}this.editor.setSelection(W.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(S,{editor:this.editor,showPreview:p.wantsPreview,label:y("label","Renaming '{0}' to '{1}'",s==null?void 0:s.text,p.newName),code:"undoredo.rename",quotableLabel:y("quotableLabel","Renaming {0} to {1}",s==null?void 0:s.text,p.newName),respectAutoSaveConfig:!0}).then(D=>{e("edits applied"),D.ariaSummary&&ur(y("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(y("rename.failedApply","Rename failed to apply edits")),this._logService.error(D)})},S=>{e("error when providing rename edits",JSON.stringify(S,null," ")),this._notificationService.error(y("rename.failed","Rename failed to compute edits")),this._logService.error(S)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(v,250),v}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)}},bx=Wd,Wd.ID="editor.contrib.renameController",Wd);vc=bx=H5([Ll(1,ci),Ll(2,zs),Ll(3,Nb),Ll(4,Ep),Ll(5,gh),Ll(6,J2),Ll(7,Ct),Ll(8,Wr)],vc);class B5 extends ye{constructor(){super({id:"editor.action.rename",label:y("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:re.and(M.writable,M.hasRenameProvider),kbOpts:{kbExpr:M.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(Yn),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return nn.isUri(n)&&St.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))))},ln):super.runCommand(e,t)}run(e,t){const i=e.get(gh),n=vc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}vi(vc.ID,vc,4);se(B5);const A1=Js.bindToContribution(vc.get);Lt(new A1({id:"acceptRenameInput",precondition:Dg,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:re.and(M.focus,re.not("isComposing")),primary:3}}));Lt(new A1({id:"acceptRenameInputWithPreview",precondition:re.and(Dg,re.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:re.and(M.focus,re.not("isComposing")),primary:2051}}));Lt(new A1({id:"cancelRenameInput",precondition:Dg,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:M.focus,primary:9,secondary:[1033]}}));en(class extends Ys{constructor(){super({id:"focusNextRenameSuggestion",title:{...vt("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Dg,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(Yn).getFocusedCodeEditor();if(!t)return;const i=vc.get(t);i&&i.focusNextRenameSuggestion()}});en(class extends Ys{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...vt("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Dg,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(Yn).getFocusedCodeEditor();if(!t)return;const i=vc.get(t);i&&i.focusPreviousRenameSuggestion()}});Qs("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;zi(typeof n=="string");const{renameProvider:s}=o.get(Ct);return W5(s,e,t,n)});Qs("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(Ct),s=await new R1(e,t,i).resolveRenameLocation(fi.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});Fr.as(Pp.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:y("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var z5=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},zI=function(o,e){return function(t,i){e(t,i,o)}},Au;let xv=(Au=class extends ze{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 rs(()=>{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),h=a.getStandardTokenType(c);return a.getLanguageId(c)===t.getLanguageId()&&h===1}));const i=Object.values(this.currentOccurrences).map(s=>s.decorationId),n=e.map(s=>V5(s));this.editor.changeDecorations(s=>{const r=s.deltaDecorations(i,n);this.currentOccurrences={};for(let a=0,c=r.length;a<c;a++){const h={sectionHeader:e[a],decorationId:r[a]};this.currentOccurrences[h.decorationId]=h}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}},Au.ID="editor.sectionHeaderDetector",Au);xv=z5([zI(1,us),zI(2,pl)],xv);function V5(o){return{range:o.range,options:xi.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}vi(xv.ID,xv,1);function j5(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 U5(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return Q2()||j5(e),eF.wrap(e)}function xN(o){const e=new Uint32Array($5(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 U5(e)}function $5(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 Cy(o){return o&&!!o.data}function LN(o){return o&&Array.isArray(o.edits)}class q5{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function kN(o,e){return o.has(e)}function K5(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function IN(o,e,t,i,n){const s=K5(o,e),r=await Promise.all(s.map(async a=>{let c,h=null;try{c=await a.provideDocumentSemanticTokens(e,a===t?i:null,n)}catch(g){h=g,c=null}return(!c||!Cy(c)&&!LN(c))&&(c=null),new q5(a,c,h)}));for(const a of r){if(a.error)throw a.error;if(a.tokens)return a}return r.length>0?r[0]:null}function G5(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class Z5{constructor(e,t){this.provider=e,this.tokens=t}}function X5(o,e){return o.has(e)}function DN(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function O1(o,e,t,i){const n=DN(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(c){Xn(c),a=null}return(!a||!Cy(a))&&(a=null),new Z5(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}mn.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;zi(t instanceof nn);const i=o.get(Vs).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Ct),s=G5(n,i);return s?s[0].getLegend():o.get(hs).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});mn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;zi(t instanceof nn);const i=o.get(Vs).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Ct);if(!kN(n,i))return o.get(hs).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await IN(n,i,null,null,fi.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!Cy(a))return;const c=xN({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),c});mn.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;zi(t instanceof nn);const n=o.get(Vs).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Ct),r=DN(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!W.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 O1(s,n,W.lift(i),fi.None);if(a)return a.provider.getLegend()});mn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;zi(t instanceof nn),zi(W.isIRange(i));const n=o.get(Vs).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Ct),r=await O1(s,n,W.lift(i),fi.None);if(!(!r||!r.tokens))return xN({id:0,type:"full",data:r.tokens.data})});const F1="editor.semanticHighlighting";function g_(o,e,t){var n;const i=(n=t.getValue(F1,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var EN=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},ca=function(o,e){return function(t,i){e(t,i,o)}},Il;let yx=class extends ze{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=g=>{this._watchers[g.uri.toString()]=new wx(g,e,i,s,r)},c=(g,f)=>{f.dispose(),delete this._watchers[g.uri.toString()]},h=()=>{for(const g of t.getModels()){const f=this._watchers[g.uri.toString()];g_(g,i,n)?f||a(g):f&&c(g,f)}};t.getModels().forEach(g=>{g_(g,i,n)&&a(g)}),this._register(t.onModelAdded(g=>{g_(g,i,n)&&a(g)})),this._register(t.onModelRemoved(g=>{const f=this._watchers[g.uri.toString()];f&&c(g,f)})),this._register(n.onDidChangeConfiguration(g=>{g.affectsConfiguration(F1)&&h()})),this._register(i.onDidColorThemeChange(h))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};yx=EN([ca(0,F0),ca(1,Vs),ca(2,pr),ca(3,Cn),ca(4,jo),ca(5,Ct)],yx);var cc;let wx=(cc=class extends ze{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:Il.REQUEST_MIN_DELAY,max:Il.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new rs(()=>this._fetchDocumentSemanticTokensNow(),Il.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=()=>{As(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),As(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!kN(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new fs,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=IN(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 co(!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:h,tokens:g}=c,f=this._semanticTokensStylingService.getStyling(h);this._setDocumentSemanticTokens(h,g||null,f,s)}},c=>{c&&(yc(c)||typeof c.message=="string"&&c.message.indexOf("busy")!==-1)||ln(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(LN(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,h=new Uint32Array(c.length+a);let g=c.length,f=h.length;for(let p=t.edits.length-1;p>=0;p--){const v=t.edits[p];if(v.start>c.length){i.warnInvalidEditStart(s.resultId,t.resultId,p,v.start,c.length),this._model.tokenization.setSemanticTokens(null,!0);return}const _=g-(v.start+v.deleteCount);_>0&&(Il._copy(c,g-_,h,f-_,_),f-=_),v.data&&(Il._copy(v.data,0,h,f-v.data.length,v.data.length),f-=v.data.length),g=v.start}g>0&&Il._copy(c,0,h,0,g),t={resultId:t.resultId,data:h}}}if(Cy(t)){this._currentDocumentResponse=new Y5(e,t.resultId,t.data);const a=sP(t,i,this._model.getLanguageId());if(n.length>0)for(const c of n)for(const h of a)for(const g of c.changes)h.applyEdit(g.range,g.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}},Il=cc,cc.REQUEST_MIN_DELAY=300,cc.REQUEST_MAX_DELAY=2e3,cc);wx=Il=EN([ca(1,F0),ca(2,pr),ca(3,jo),ca(4,Ct)],wx);class Y5{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}bg(yx);var J5=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},Ug=function(o,e){return function(t,i){e(t,i,o)}},Ou;let Lv=(Ou=class extends ze{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 rs(()=>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(F1)&&(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(!g_(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!X5(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=gs(r=>Promise.resolve(O1(this._provider,e,t,r))),s=new co(!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,h=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,sP(c,h,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},Ou.ID="editor.contrib.viewportSemanticTokens",Ou);Lv=J5([Ug(1,F0),Ug(2,pr),Ug(3,Cn),Ug(4,jo),Ug(5,Ct)],Lv);vi(Lv.ID,Lv,1);class Q5{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,h=a,g=0;for(;c>=0;c--){const f=s.charCodeAt(c);if(c!==a&&(f===95||f===45))break;if(QL(f)&&ek(g))break;g=f}for(c+=1;h<s.length;h++){const f=s.charCodeAt(h);if(ek(f)&&QL(g))break;if(f===95||f===45)break;g=f}c<h&&e.push({range:new W(i.lineNumber,r+c,i.lineNumber,r+h)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new W(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 W(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var e6=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},t6=function(o,e){return function(t,i){e(t,i,o)}},Sx;class H1{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 H1(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var Bd;let dp=(Bd=class{static get(e){return e.getContribution(Sx.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 TN(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),fi.None).then(s=>{var r;if(!(!So(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!Sa(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 H1(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=>jt.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},Sx=Bd,Bd.ID="editor.contrib.smartSelectController",Bd);dp=Sx=e6([t6(1,Ct)],dp);class PN extends ye{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=dp.get(t);i&&await i.run(this._forward)}}class i6 extends PN{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:y("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:Qe.MenubarSelectionMenu,group:"1_basic",title:y({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}mn.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class n6 extends PN{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:y("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:Qe.MenubarSelectionMenu,group:"1_basic",title:y({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}vi(dp.ID,dp,4);se(i6);se(n6);async function TN(o,e,t,i,n){const s=o.all(e).concat(new Q5(i.selectSubwords));s.length===1&&s.unshift(new cv);const r=[],a=[];for(const c of s)r.push(Promise.resolve(c.provideSelectionRanges(e,t,n)).then(h=>{if(So(h)&&h.length===t.length)for(let g=0;g<t.length;g++){a[g]||(a[g]=[]);for(const f of h[g])W.isIRange(f.range)&&W.containsPosition(f.range,t[g])&&a[g].push(W.lift(f.range))}},Xn));return await Promise.all(r),a.map(c=>{if(c.length===0)return[];c.sort((p,v)=>St.isBefore(p.getStartPosition(),v.getStartPosition())?1:St.isBefore(v.getStartPosition(),p.getStartPosition())||St.isBefore(p.getEndPosition(),v.getEndPosition())?-1:St.isBefore(v.getEndPosition(),p.getEndPosition())?1:0);const h=[];let g;for(const p of c)(!g||W.containsRange(p,g)&&!W.equalsRange(p,g))&&(h.push(p),g=p);if(!i.selectLeadingAndTrailingWhitespace)return h;const f=[h[0]];for(let p=1;p<h.length;p++){const v=h[p-1],_=h[p];if(_.startLineNumber!==v.startLineNumber||_.endLineNumber!==v.endLineNumber){const w=new W(v.startLineNumber,e.getLineFirstNonWhitespaceColumn(v.startLineNumber),v.endLineNumber,e.getLineLastNonWhitespaceColumn(v.endLineNumber));w.containsRange(v)&&!w.equalsRange(v)&&_.containsRange(w)&&!_.equalsRange(w)&&f.push(w);const S=new W(v.startLineNumber,1,v.endLineNumber,e.getLineMaxColumn(v.endLineNumber));S.containsRange(v)&&!S.equalsRange(w)&&_.containsRange(S)&&!_.equalsRange(S)&&f.push(S)}f.push(_)}return f})}mn.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;zi(nn.isUri(t));const n=o.get(Ct).selectionRangeProvider,s=await o.get(zr).createModelReference(t);try{return TN(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},fi.None)}finally{s.dispose()}});const s6=Object.freeze({View:vt("view","View"),Help:vt("help","Help"),Test:vt("test","Test"),File:vt("file","File"),Preferences:vt("preferences","Preferences"),Developer:vt({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class Cf{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&&Sa(this.startLineNumbers,e.startLineNumbers)&&Sa(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new Cf([],[],0)}}const VI=kE("stickyScrollViewLayer",{createHTML:o=>o}),kw="data-sticky-line-index",jI="data-sticky-is-line",o6="data-sticky-is-line-number",UI="data-sticky-is-folding-icon";class r6 extends ze{constructor(e){super(),this._editor=e,this._foldingIconStore=new We,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 fr),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 h=this._renderChildNode(a+i,c,t,n);h&&(this._linesDomNode.appendChild(h.lineDomNode),this._lineNumbersDomNode.appendChild(h.lineNumberDomNode),this._renderedStickyLines.push(h))}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(Hi(this._lineNumbersDomNode,Tn.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(Hi(this._lineNumbersDomNode,Tn.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 St(t,1)).lineNumber,a=s.getViewLineRenderingData(r),c=this._editor.getOption(68);let h;try{h=zf.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{h=[]}const g=new EE(!0,!0,a.content,a.continuesWithWrappedLine,a.isBasicASCII,a.containsRTL,0,a.tokens,h,a.tabSize,a.startVisibleColumn,1,1,1,500,"none",!0,!0,null),f=new IE(2e3),p=DE(g,f);let v;VI?v=VI.createHTML(f.build()):v=f.build();const _=document.createElement("span");_.setAttribute(kw,String(e)),_.setAttribute(jI,""),_.setAttribute("role","listitem"),_.tabIndex=0,_.className="sticky-line-content",_.classList.add(`stickyLine${t}`),_.style.lineHeight=`${this._lineHeight}px`,_.innerHTML=v;const w=document.createElement("span");w.setAttribute(kw,String(e)),w.setAttribute(o6,""),w.className="sticky-line-number",w.style.lineHeight=`${this._lineHeight}px`;const S=n.contentLeft;w.style.width=`${S}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`,w.appendChild(D);const P=this._renderFoldingIconForLine(i,t);P&&w.appendChild(P.domNode),this._editor.applyFontInfo(_),this._editor.applyFontInfo(D),w.style.lineHeight=`${this._lineHeight}px`,_.style.lineHeight=`${this._lineHeight}px`,w.style.height=`${this._lineHeight}px`,_.style.height=`${this._lineHeight}px`;const N=new a6(e,t,_,w,P,p.characterMapping,_.scrollWidth);return this._updateTopAndZIndexOfStickyLine(N)}_updateTopAndZIndexOfStickyLine(e){var g;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+((g=e.foldingIcon)!=null&&g.isCollapsed?1:0)}px`,h=`${t*this._lineHeight}px`;return i.style.top=s?c:h,n.style.top=s?c:h,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),h=new l6(c,r,n.getEndLineNumber(s),this._lineHeight);return h.setVisible(this._isOnGlyphMargin?!0:c||i==="always"),h.domNode.setAttribute(UI,""),h}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=tF(t.characterMapping,e,0);return new St(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,kw);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,jI)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,UI)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class a6{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 l6{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=$i.asClassName(e?J_:Y_)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class xf{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class kv{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class MN{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var xy=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},hp=function(o,e){return function(t,i){e(t,i,o)}},Lf;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(Lf||(Lf={}));var Vl;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(Vl||(Vl={}));let Cx=class extends ze{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new uc(300)),this._updateOperation=this._register(new We),this._editor.getOption(116).defaultModel){case Lf.OUTLINE_MODEL:this._modelProviders.push(new xx(this._editor,n));case Lf.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new kx(this._editor,t,n));case Lf.INDENTATION_MODEL:this._modelProviders.push(new Lx(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 Vl.CANCELED:return this._updateOperation.clear(),null;case Vl.VALID:return t.stickyModel}}return null}).catch(t=>(ln(t),null))}};Cx=xy([hp(2,ci),hp(3,Ct)],Cx);class NN extends ze{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,Vl.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=gs(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?Vl.CANCELED:(this._stickyModel=this.createStickyModel(e,i),Vl.VALID):this._invalid()).then(void 0,i=>(ln(i),Vl.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let xx=class extends NN{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return Ba.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 MN(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(Xa.first(e.children.values())instanceof eN){const a=Xa.find(e.children.values(),c=>c.id===t);if(a)i=a.children;else{let c="",h=-1,g;for(const[f,p]of e.children.entries()){const v=this._findSumOfRangesOfGroup(p);v>h&&(g=p,h=v,c=p.id)}t=c,i=g.children}}else i=e.children;const n=[],s=Array.from(i.values()).sort((a,c)=>{const h=new xf(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),g=new xf(c.symbol.range.startLineNumber,c.symbol.range.endLineNumber);return this._comparator(h,g)});for(const a of s)n.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new kv(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 xf(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new kv(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 gC?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};xx=xy([hp(1,Ct)],xx);class RN extends NN{constructor(e){super(e),this._foldingLimitReporter=new YM(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new MN(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new kv(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 kv(new xf(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(c),i.push(c)}return n}}let Lx=class extends RN{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new C1(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};Lx=xy([hp(1,us)],Lx);let kx=class extends RN{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=_c.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new x1(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}};kx=xy([hp(2,Ct)],kx);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},$I=function(o,e){return function(t,i){e(t,i,o)}};class d6{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let Ix=class extends ze{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new gi),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new We),this._updateSoon=this._register(new rs(()=>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(wn(()=>{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 Cx(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new fs,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 g=0;g<t.children.length;g++){const f=t.children[g];f.range&&a.push(f.range.startLineNumber)}const c=this.updateIndex(L_(a,e.startLineNumber,(g,f)=>g-f)),h=this.updateIndex(L_(a,e.startLineNumber+n,(g,f)=>g-f));for(let g=c;g<=h;g++){const f=t.children[g];if(!f)return;if(f.range){const p=f.range.startLineNumber,v=f.range.endLineNumber;e.startLineNumber<=v+1&&p-1<=e.endLineNumber&&p!==r&&(r=p,i.push(new d6(p,v-1,n+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,f,i,n+1,p))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,f,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}};Ix=c6([$I(1,Ct),$I(2,us)],Ix);var h6=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},zh=function(o,e){return function(t,i){e(t,i,o)}},Dx,zd;let hl=(zd=class extends ze{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 We,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 r6(this._editor),this._stickyLineCandidateProvider=new Ix(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=Cf.Empty,this._onDidResize(),this._readConfiguration();const c=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(g=>{this._readConfigurationChange(g)})),this._register(Hi(c,Tn.CONTEXT_MENU,async g=>{this._onContextMenu(Zc(c),g)})),this._stickyScrollFocusedContextKey=M.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=M.stickyScrollVisible.bindTo(this._contextKeyService);const h=this._register(zu(c));this._register(h.onDidBlur(g=>{this._positionRevealed===!1&&c.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(h.onDidFocus(g=>{this.focus()})),this._registerMouseListeners(),this._register(Hi(c,Tn.MOUSE_DOWN,g=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(Dx.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 We,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(W.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new We),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 W(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(sl(n,Tn.CLICK,s=>{if(s.ctrlKey||s.altKey||s.metaKey||!s.leftButton)return;if(s.shiftKey){const h=this._stickyScrollWidget.getLineIndexFromChildDomNode(s.target);if(h===null)return;const g=new St(this._endLineNumbers[h],1);this._revealLineInCenterIfOutsideViewport(g);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(s.target)){const h=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);this._toggleFoldingRegionForLine(h);return}if(!this._stickyScrollWidget.isInStickyLine(s.target))return;let c=this._stickyScrollWidget.getEditorPositionFromNode(s.target);if(!c){const h=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);if(h===null)return;c=new St(h,1)}this._revealPosition(c)})),this._register(sl(n,Tn.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(Hi(n,Tn.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:h}=a;if(!c.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=c,e.clear();else if(h.style.textDecoration==="underline")return;const g=new fs;e.add(wn(()=>g.dispose(!0)));let f;Xp(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new St(c.startLineNumber,c.startColumn+1),!1,g.token).then((p=>{if(!g.token.isCancellationRequested)if(p.length!==0){this._candidateDefinitionsLength=p.length;const v=h;f!==v?(e.clear(),f=v,f.style.textDecoration="underline",e.add(wn(()=>{f.style.textDecoration="none"}))):f||(f=v,f.style.textDecoration="underline",e.add(wn(()=>{f.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(RM,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new iF(e,t);this._contextMenuService.showContextMenu({menuId:Qe.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;y1(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=_c.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=Cf.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 xf(a[0].startLineNumber,a[a.length-1].endLineNumber),h=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(c);for(const g of h){const f=g.startLineNumber,p=g.endLineNumber,v=g.nestingDepth;if(p-f>0){const _=(v-1)*e,w=v*e,S=this._editor.getBottomForLineNumber(f)-i,D=this._editor.getTopForLineNumber(p)-i,P=this._editor.getBottomForLineNumber(p)-i;if(_>D&&_<=P){s.push(f),r.push(p+1),n=P-w;break}else w>S&&w<=P&&(s.push(f),r.push(p+1));if(s.length===t)break}}}return this._endLineNumbers=r,new Cf(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},Dx=zd,zd.ID="store.contrib.stickyScrollController",zd);hl=Dx=h6([zh(1,mg),zh(2,Ct),zh(3,ci),zh(4,us),zh(5,jo),zh(6,Wi)],hl);class u6 extends Ys{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...vt("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:y({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:vt("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:s6.View,toggled:{condition:re.equals("config.editor.stickyScroll.enabled",!0),title:y("stickyScroll","Sticky Scroll"),mnemonicTitle:y({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:Qe.CommandPalette},{id:Qe.MenubarAppearanceMenu,group:"4_editor",order:3},{id:Qe.StickyScrollContext}]})}async run(e){const t=e.get(Cn),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const Ly=100;class g6 extends Or{constructor(){super({id:"editor.action.focusStickyScroll",title:{...vt("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:y({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:re.and(re.has("config.editor.stickyScroll.enabled"),M.stickyScrollVisible),menu:[{id:Qe.CommandPalette}]})}runEditorCommand(e,t){var i;(i=hl.get(t))==null||i.focus()}}class f6 extends Or{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:vt("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Ly,primary:18}})}runEditorCommand(e,t){var i;(i=hl.get(t))==null||i.focusNext()}}class p6 extends Or{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:vt("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Ly,primary:16}})}runEditorCommand(e,t){var i;(i=hl.get(t))==null||i.focusPrevious()}}class m6 extends Or{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:vt("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Ly,primary:3}})}runEditorCommand(e,t){var i;(i=hl.get(t))==null||i.goToFocused()}}class _6 extends Or{constructor(){super({id:"editor.action.selectEditor",title:vt("selectEditor.title","Select Editor"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Ly,primary:9}})}runEditorCommand(e,t){var i;(i=hl.get(t))==null||i.selectEditor()}}vi(hl.ID,hl,1);en(u6);en(g6);en(p6);en(f6);en(m6);en(_6);var AN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},af=function(o,e){return function(t,i){e(t,i,o)}};class v6{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 Ex=class extends nF{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=Xa.slice(t,i),s=Xa.slice(t,0,i);let r=5;for(const a of Xa.concat(n,s)){if(a.score===Hf.Default)continue;const c=new W(a.editStart.lineNumber,a.editStart.column,a.editInsertEnd.lineNumber,a.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),h=a.completion.insertTextRules&&a.completion.insertTextRules&4?{snippet:a.completion.insertText}:a.completion.insertText;e.push(new v6(c,h,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(fi.None)}return e}};Ex=AN([af(5,yy)],Ex);let Px=class extends ze{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 v;if(i.selectedSuggestionInfo)return;let s;for(const _ of this._editorService.listCodeEditors())if(_.getModel()===e){s=_;break}if(!s)return;const r=s.getOption(90);if(au.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(au.valueFor(r,c)!=="inline")return;let h=e.getWordAtPosition(t),g;if(h!=null&&h.word||(g=this._getTriggerCharacterInfo(e,t)),!(h!=null&&h.word)&&!g||(h||(h=e.getWordUntilPosition(t)),h.endColumn!==t.column))return;let f;const p=e.getValueInRange(new W(t.lineNumber,1,t.lineNumber,t.column));if(!g&&((v=this._lastResult)!=null&&v.canBeReused(e,t.lineNumber,h))){const _=new PI(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=_,this._lastResult.acquire(),f=this._lastResult}else{const _=await L1(this._languageFeatureService.completionProvider,e,t,new ip(void 0,hv.createSuggestFilter(s).itemKind,g==null?void 0:g.providers),g&&{triggerKind:1,triggerCharacter:g.ch},n);let w;_.needsClipboard&&(w=await this._clipboardService.readText());const S=new Ml(_.items,t.column,new PI(p,0),dv.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},w);f=new Ex(e,t.lineNumber,h,S,_,this._suggestMemoryService)}return this._lastResult=f,f}handleItemDidShow(e,t){t.completion.resolve(fi.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(W.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}}};Px=AN([af(0,Ct),af(1,_g),af(2,yy),af(3,Yn)],Px);bg(Px);class b6 extends ye{constructor(){super({id:"editor.action.forceRetokenize",label:y("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 co;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}se(b6);const Sb=class Sb extends Ys{constructor(){super({id:Sb.ID,title:vt({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:vt("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=!tk.getTabFocusMode();tk.setTabFocusMode(t),t?ur(y("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):ur(y("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};Sb.ID="editor.action.toggleTabFocusMode";let Tx=Sb;en(Tx);var y6=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},qI=function(o,e){return function(t,i){e(t,i,o)}};let Mx=class extends ze{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=nt(e,ht("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??$b("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new Uy(this.el,"click")),a=this._register(new Uy(this.el,"keypress")),c=os.chain(a.event,f=>f.map(p=>new O0(p)).filter(p=>p.keyCode===3)),h=this._register(new Uy(this.el,sF.Tap)).event;this._register(KD.addTarget(this.el));const g=os.any(r.event,c,h);this._register(g(f=>{this.enabled&&(w_.stop(f,!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)}};Mx=y6([qI(3,Ap),qI(4,Hr)],Mx);var ON=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},FN=function(o,e){return function(t,i){e(t,i,o)}};const w6=26;let Nx=class extends ze{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Rx))}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,w6)}};Nx=ON([FN(1,ci)],Nx);let Rx=class extends ze{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(yg,{}),this.element=ht("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=ht("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){ba(this.element)}show(e){ba(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=nt(this.element,ht("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(ht(`div${$i.asCSSSelector(e.icon)}`));const n=nt(this.element,ht("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=nt(this.element,ht("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(Mx,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=nt(this.element,ht("div.action-container"));this.actionBar=this._register(new Mf(s)),this.actionBar.push(this._register(new $u("banner.close","Close Banner",$i.asClassName(pE),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Rx=ON([FN(0,ci)],Rx);var W1=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},yu=function(o,e){return function(t,i){e(t,i,o)}};const S6=Gn("extensions-warning-message",ei.warning,y("warningIcon","Icon shown with a warning message in the extensions editor."));var Fu;let up=(Fu=class extends ze{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:y("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new fp};else if(s.ambiguousCharacterCount>=r)a={message:y("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new lh};else if(s.invisibleCharacterCount>=r)a={message:y("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new gp};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:S6,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(Nx,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=C6(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"?oF:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new Ax(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new x6(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},Fu.ID="editor.contrib.unicodeHighlighter",Fu);up=W1([yu(1,pl),yu(2,rF),yu(3,ci)],up);function C6(o,e){return{nonBasicASCII:e.nonBasicASCII===$y?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===$y?!o:e.includeComments,includeStrings:e.includeStrings===$y?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let Ax=class extends ze{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 rs(()=>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:Iv.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!oP(t,e))return null;const i=t.getValueInRange(e.range);return{reason:WN(i,this._options),inComment:aP(t,e),inString:rP(t,e)}}};Ax=W1([yu(3,pl)],Ax);class x6 extends ze{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 rs(()=>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=lP.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:Iv.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 oP(t,e)?{reason:WN(i,this._options),inComment:aP(t,e),inString:rP(t,e)}:null}}const HN=y("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let Ox=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(up.ID);if(!n)return[];const s=[],r=new Set;let a=300;for(const c of t){const h=n.getDecorationInfo(c);if(!h)continue;const f=i.getValueInRange(c.range).codePointAt(0),p=Iw(f);let v;switch(h.reason.kind){case 0:{TE(h.reason.confusableWith)?v=y("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",p,Iw(h.reason.confusableWith.codePointAt(0))):v=y("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",p,Iw(h.reason.confusableWith.codePointAt(0)));break}case 1:v=y("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",p);break;case 2:v=y("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",p);break}if(r.has(v))continue;r.add(v);const _={codePoint:f,reason:h.reason,inComment:h.inComment,inString:h.inString},w=y("unicodeHighlight.adjustSettings","Adjust settings"),S=`command:${Dv.ID}?${encodeURIComponent(JSON.stringify(_))}`,D=new Ns("",!0).appendMarkdown(v).appendText(" ").appendLink(S,w,HN);s.push(new ar(this,c.range,[D],!1,a++))}return s}renderHoverParts(e,t){return QB(e,t,this._editor,this._languageService,this._openerService)}};Ox=W1([yu(1,Br),yu(2,Hr)],Ox);function Fx(o){return`U+${o.toString(16).padStart(4,"0")}`}function Iw(o){let e=`\`${Fx(o)}\``;return cP.isInvisibleCharacter(o)||(e+=` "${`${L6(o)}`}"`),e}function L6(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function WN(o,e){return lP.computeUnicodeHighlightReason(o,e)}const Cb=class Cb{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=xi.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}};Cb.instance=new Cb;let Iv=Cb;class k6 extends ye{constructor(){super({id:lh.ID,label:y("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=y("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e==null?void 0:e.get(Cn);n&&this.runAction(n)}async runAction(e){await e.updateValue(rl.includeComments,!1,2)}}class I6 extends ye{constructor(){super({id:lh.ID,label:y("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=y("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e==null?void 0:e.get(Cn);n&&this.runAction(n)}async runAction(e){await e.updateValue(rl.includeStrings,!1,2)}}const xb=class xb extends ye{constructor(){super({id:xb.ID,label:y("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=y("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Cn);n&&this.runAction(n)}async runAction(e){await e.updateValue(rl.ambiguousCharacters,!1,2)}};xb.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let lh=xb;const Lb=class Lb extends ye{constructor(){super({id:Lb.ID,label:y("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=y("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Cn);n&&this.runAction(n)}async runAction(e){await e.updateValue(rl.invisibleCharacters,!1,2)}};Lb.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let gp=Lb;const kb=class kb extends ye{constructor(){super({id:kb.ID,label:y("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=y("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Cn);n&&this.runAction(n)}async runAction(e){await e.updateValue(rl.nonBasicASCII,!1,2)}};kb.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let fp=kb;const Ib=class Ib extends ye{constructor(){super({id:Ib.ID,label:y("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),h=e.get(ul),g=e.get(Cn);function f(_){return cP.isInvisibleCharacter(_)?y("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",Fx(_)):y("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${Fx(_)} "${c}"`)}const p=[];if(s.kind===0)for(const _ of s.notAmbiguousInLocales)p.push({label:y("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',_),run:async()=>{E6(g,[_])}});if(p.push({label:f(n),run:()=>D6(g,[n])}),a){const _=new k6;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(r){const _=new I6;p.push({label:_.label,run:async()=>_.runAction(g)})}if(s.kind===0){const _=new lh;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===1){const _=new gp;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===2){const _=new fp;p.push({label:_.label,run:async()=>_.runAction(g)})}else P6(s);const v=await h.pick(p,{title:HN});v&&await v.run()}};Ib.ID="editor.action.unicodeHighlight.showExcludeOptions";let Dv=Ib;async function D6(o,e){const t=o.getValue(rl.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(rl.allowedCharacters,i,2)}async function E6(o,e){var n;const t=(n=o.inspect(rl.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(rl.allowedLocales,i,2)}function P6(o){throw new Error(`Unexpected value: ${o}`)}se(lh);se(gp);se(fp);se(Dv);vi(up.ID,up,1);_h.register(Ox);var T6=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},KI=function(o,e){return function(t,i){e(t,i,o)}};const BN="ignoreUnusualLineTerminators";function M6(o,e,t){o.setModelProperty(e.uri,BN,t)}function N6(o,e){return o.getModelProperty(e.uri,BN)}var Hu;let Ev=(Hu=class extends ze{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()||N6(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:y("unusualLineTerminators.title","Unusual Line Terminators"),message:y("unusualLineTerminators.message","Detected unusual line terminators"),detail:y("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`.",xa(e.uri)),primaryButton:y({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:y("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){M6(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},Hu.ID="editor.contrib.unusualLineTerminatorsDetector",Hu);Ev=T6([KI(1,H0),KI(2,Yn)],Ev);vi(Ev.ID,Ev,1);var R6=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},A6=function(o,e){return function(t,i){e(t,i,o)}};class GI{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,ik,!1).map(a=>({range:a.range,kind:I_.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new hc,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 h=a.findMatches(r.word,!0,!1,!0,ik,!1).map(g=>({range:g.range,kind:I_.Text}));h&&s.set(a.uri,h)}return s}}let Hx=class extends ze{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new GI)),this._register(e.multiDocumentHighlightProvider.register("*",new GI))}};Hx=R6([A6(0,Ct)],Hx);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},f_=function(o,e){return function(t,i){e(t,i,o)}},qn,Wx;const B1=new Pi("hasWordHighlights",!1);function VN(o,e,t,i){const n=o.ordered(e);return M0(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,Xn)),s=>s!=null).then(s=>{if(s){const r=new hc;return r.set(e.uri,s),r}return new hc})}function O6(o,e,t,i,n,s){const r=o.ordered(e);return M0(r.map(a=>()=>{const c=s.filter(h=>lF(h)).filter(h=>cF(a.selector,h.uri,h.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,c,n)).then(void 0,Xn)}),a=>a!=null)}class jN{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=gs(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new W(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 h=0,g=i.length;!c&&h<g;h++){const f=i.getRange(h);f&&f.startLineNumber===n&&f.startColumn<=s&&f.endColumn>=r&&(c=!0)}return c}cancel(){this.result.cancel()}}class F6 extends jN{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return VN(this._providers,e,t.getPosition(),n).then(s=>s||new hc)}}class H6 extends jN{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return O6(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new hc)}}function W6(o,e,t,i,n){return new F6(e,t,n,o)}function B6(o,e,t,i,n,s){return new H6(e,t,n,o,s)}Qs("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(Ct),n=await VN(i.documentHighlightProvider,e,t,fi.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 We,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new hc,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new uc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=B1.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=>{aF(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():qn.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(r=>{var c,h;const a=this.editor.getOption(81);if(this.occurrencesHighlight!==a)switch(this.occurrencesHighlight=a,a){case"off":this._stopAll();break;case"singleFile":this._stopAll((h=(c=qn.query)==null?void 0:c.modelInfo)==null?void 0:h.model);break;case"multiFile":qn.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,qn.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(W.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);ur(`${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);ur(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=qn.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),qn.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()||b_(n.getModel().uri,e==null?void 0:e.uri))continue;const s=qn.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=bc.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)qn.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==$s.vscodeNotebookCell&&((i=(t=qn.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==$s.vscodeNotebookCell?(qn.query=null,this._run()):(n=qn.query)!=null&&n.modelInfo&&(qn.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)!==$s.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===$s.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const c=a.getModel();c&&c!==e&&c.uri.scheme===$s.vscodeNotebookCell&&s.push(c)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!dP(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){qn.query=null,this._stopAll();return}const a=r.startColumn,c=r.endColumn,h=this._getWord();if(!h||h.startColumn>a||h.endColumn<c){qn.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),qn.query={modelInfo:{model:this.model,selection:r},word:h}}else if(!qn.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(b_(this.editor.getModel().uri,(n=qn.query.modelInfo)==null?void 0:n.model.uri)){if(!e){const c=this.decorations.getRanges();for(const h of c)if(h.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(!qn.query||!qn.query.modelInfo||qn.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(qn.query.modelInfo.model,qn.query.modelInfo.selection,qn.query.word,a),(s=this.workerRequest)==null||s.result.then(c=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=c||[],this._beginRenderDecorations())},ln)}}computeWithModel(e,t,i,n){return n.length?B6(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):W6(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=bc.get(s);if(!r)continue;const a=[],c=(t=s.getModel())==null?void 0:t.uri;if(c&&this.workerRequestValue.has(c)){const h=qn.storedDecorationIDs.get(c),g=this.workerRequestValue.get(c);if(g)for(const p of g)p.range&&a.push({range:p.range,options:D$(p.kind)});let f=[];s.changeDecorations(p=>{f=p.deltaDecorations(h??[],a)}),qn.storedDecorationIDs=qn.storedDecorationIDs.set(c,f),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()}},qn=dc,dc.storedDecorationIDs=new hc,dc.query=null,dc);Bx=qn=zN([f_(4,Yn)],Bx);var Vd;let bc=(Vd=class extends ze{static get(e){return e.getContribution(Wx.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()}},Wx=Vd,Vd.ID="editor.contrib.wordHighlighter",Vd);bc=Wx=zN([f_(1,Wi),f_(2,Ct),f_(3,Yn)],bc);class UN extends ye{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=bc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class z6 extends UN{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:y("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:B1,kbOpts:{kbExpr:M.editorTextFocus,primary:65,weight:100}})}}class V6 extends UN{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:y("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:B1,kbOpts:{kbExpr:M.editorTextFocus,primary:1089,weight:100}})}}class j6 extends ye{constructor(){super({id:"editor.action.wordHighlight.trigger",label:y("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=bc.get(t);n&&n.restoreViewState(!0)}}vi(bc.ID,bc,0);se(z6);se(V6);se(j6);bg(Hx);class ky extends Js{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=fh(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,c=r.map(h=>{const g=new St(h.positionLineNumber,h.positionColumn),f=this._move(n,s,g,this._wordNavigationType,a);return this._moveTo(h,f,this._inSelectionMode)});if(s.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,c.map(h=>dF.fromModelSelection(h))),c.length===1){const h=new St(c[0].positionLineNumber,c[0].positionColumn);t.revealPosition(h,0)}}_moveTo(e,t,i){return i?new jt(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new jt(t.lineNumber,t.column,t.lineNumber,t.column)}}class Cc extends ky{_move(e,t,i,n,s){return Bp.moveWordLeft(e,t,i,n,s)}}class xc extends ky{_move(e,t,i,n,s){return Bp.moveWordRight(e,t,i,n)}}class U6 extends Cc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class $6 extends Cc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class q6 extends Cc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:re.and(M.textInputFocus,(e=re.and(Zb,Xb))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class K6 extends Cc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class G6 extends Cc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class Z6 extends Cc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:re.and(M.textInputFocus,(e=re.and(Zb,Xb))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class X6 extends Cc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(fh(Yb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Y6 extends Cc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(fh(Yb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class J6 extends xc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class Q6 extends xc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:re.and(M.textInputFocus,(e=re.and(Zb,Xb))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class e7 extends xc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class t7 extends xc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class i7 extends xc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:re.and(M.textInputFocus,(e=re.and(Zb,Xb))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class n7 extends xc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class s7 extends xc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(fh(Yb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class o7 extends xc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(fh(Yb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Iy extends Js{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(us);if(!t.hasModel())return;const s=fh(t.getOption(132),t.getOption(131)),r=t.getModel(),a=t.getSelections(),c=t.getOption(6),h=t.getOption(11),g=n.getLanguageConfiguration(r.getLanguageId()).getAutoClosingPairs(),f=t._getViewModel(),p=a.map(v=>{const _=this._delete({wordSeparators:s,model:r,selection:v,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:c,autoClosingQuotes:h,autoClosingPairs:g,autoClosedCharacters:f.getCursorAutoClosedCharacters()},this._wordNavigationType);return new kp(_,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class z1 extends Iy{_delete(e,t){const i=Bp.deleteWordLeft(e,t);return i||new W(1,1,1,1)}}class V1 extends Iy{_delete(e,t){const i=Bp.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new W(n,s,n,s)}}class r7 extends z1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:M.writable})}}class a7 extends z1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:M.writable})}}class l7 extends z1{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class c7 extends V1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:M.writable})}}class d7 extends V1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:M.writable})}}class h7 extends V1{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class u7 extends ye{constructor(){super({id:"deleteInsideWord",precondition:M.writable,label:y("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=fh(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(c=>{const h=Bp.deleteInsideWord(n,s,c);return new kp(h,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}Lt(new U6);Lt(new $6);Lt(new q6);Lt(new K6);Lt(new G6);Lt(new Z6);Lt(new J6);Lt(new Q6);Lt(new e7);Lt(new t7);Lt(new i7);Lt(new n7);Lt(new X6);Lt(new Y6);Lt(new s7);Lt(new o7);Lt(new r7);Lt(new a7);Lt(new l7);Lt(new c7);Lt(new d7);Lt(new h7);se(u7);class g7 extends Iy{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=Jb.deleteWordPartLeft(e);return i||new W(1,1,1,1)}}class f7 extends Iy{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=Jb.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new W(n,s,n,s)}}class $N extends ky{_move(e,t,i,n,s){return Jb.moveWordPartLeft(e,t,i,s)}}class p7 extends $N{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}mn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class m7 extends $N{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}mn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class qN extends ky{_move(e,t,i,n,s){return Jb.moveWordPartRight(e,t,i)}}class _7 extends qN{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class v7 extends qN{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}Lt(new g7);Lt(new f7);Lt(new p7);Lt(new m7);Lt(new _7);Lt(new v7);const iL=class iL extends ze{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=ro.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new Ns(y("editor.simple.readonly","Cannot edit in read-only input")):t=new Ns(y("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};iL.ID="editor.contrib.readOnlyMessageController";let Pv=iL;vi(Pv.ID,Pv,2);var b7=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},ZI=function(o,e){return function(t,i){e(t,i,o)}};let zx=class extends ze{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Co(this,void 0);const n=Xc("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=Xc("_textModel.onDidChangeContent",os.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(Np(async(r,a)=>{n.read(r),s.read(r);const c=a.add(new gF),h=await this._outlineModelService.getOrCreate(this._textModel,c.token);a.isDisposed||this._currentModel.set(h,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(uF(Op(s=>s.range.endLineNumber-s.range.startLineNumber,Vb))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};zx=b7([ZI(1,Ct),ZI(2,Qp)],zx);hF.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(zx,o));const nL=class nL extends ze{constructor(e){super(),this.editor=e,this.widget=null,Vw&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new Vx(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};nL.ID="editor.contrib.iPadShowKeyboard";let Tv=nL;const Db=class Db extends ze{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Hi(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(Hi(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return Db.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};Db.ID="editor.contrib.ShowKeyboardWidget";let Vx=Db;vi(Tv.ID,Tv,3);var y7=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},XI=function(o,e){return function(t,i){e(t,i,o)}},jx,jd;let pp=(jd=class extends ze{static get(e){return e.getContribution(jx.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(Ub.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 Ux(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},jx=jd,jd.ID="editor.contrib.inspectTokens",jd);pp=jx=y7([XI(1,hP),XI(2,Br)],pp);class w7 extends ye{constructor(){super({id:"editor.action.inspectTokens",label:_F.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=pp.get(t);i==null||i.launch()}}function S7(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 C7(o,e){const t=Ub.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>fF,tokenize:(n,s,r)=>mF(e,r),tokenizeEncoded:(n,s,r)=>pF(i,r)}}const Eb=class Eb extends ze{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=C7(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 Eb._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let c=t.tokens1.length-1;c>=0;c--){const h=t.tokens1[c];if(e.column-1>=h.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,h=i+1<t.tokens1.length?t.tokens1[i+1].offset:s.length;r=s.substring(c,h)}y_(this._domNode,ht("h2.tm-token",void 0,S7(r),ht("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),nt(this._domNode,ht("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;nt(this._domNode,ht("table.tm-metadata-table",void 0,ht("tbody",void 0,ht("tr",void 0,ht("td.tm-metadata-key",void 0,"language"),ht("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),ht("tr",void 0,ht("td.tm-metadata-key",void 0,"token type"),ht("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),ht("tr",void 0,ht("td.tm-metadata-key",void 0,"font style"),ht("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),ht("tr",void 0,ht("td.tm-metadata-key",void 0,"foreground"),ht("td.tm-metadata-value",void 0,`${a?Si.Format.CSS.formatHex(a.foreground):"-?-"}`)),ht("tr",void 0,ht("td.tm-metadata-key",void 0,"background"),ht("td.tm-metadata-value",void 0,`${a?Si.Format.CSS.formatHex(a.background):"-?-"}`))))),nt(this._domNode,ht("hr.tokens-inspect-separator")),i<t.tokens1.length&&nt(this._domNode,ht("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=Ub.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]}}};Eb._ID="editor.contrib.inspectTokensWidget";let Ux=Eb;vi(pp.ID,pp,4);se(w7);var x7=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},YI=function(o,e){return function(t,i){e(t,i,o)}},lf,Ud;let $x=(Ud=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=Fr.as(zp.Quickaccess)}provide(e){const t=new We;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(lf.PREFIX.length));n&&n.prefix&&n.prefix!==lf.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==lf.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:y("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},lf=Ud,Ud.PREFIX="?",Ud);$x=lf=x7([YI(0,ul),YI(1,is)],$x);Fr.as(zp.Quickaccess).registerQuickAccessProvider({ctor:$x,prefix:"",helpEntries:[{description:vF.helpQuickAccessActionLabel}]});class KN{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new We;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new Lo);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 We,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=uP(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(gP(t.onCancellationRequested)(()=>{var h;return(h=r.restoreViewState)==null?void 0:h.call(r)}))}n.add(wn(()=>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&&Vu(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return dP(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:ss(vE),position:va.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 Pb=class Pb extends KN{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=y("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,ze.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new We;s.add(t.onDidAccept(c=>{const[h]=t.selectedItems;if(h){if(!this.isValidLineNumber(n,h.lineNumber))return;this.gotoLocation(e,{range:this.toRange(h.lineNumber,h.column),keyMods:t.keyMods,preserveFocus:c.inBackground}),c.inBackground||t.hide()}}));const r=()=>{const c=this.parsePosition(n,t.value.trim().substr(Pb.PREFIX.length)),h=this.getPickLabel(n,c.lineNumber,c.column);if(t.items=[{lineNumber:c.lineNumber,column:c.column,label:h}],t.ariaLabel=h,!this.isValidLineNumber(n,c.lineNumber)){this.clearDecorations(n);return}const g=this.toRange(c.lineNumber,c.column);n.revealRangeInCenter(g,0),this.addDecorations(n,g)};r(),s.add(t.onDidChangeValue(()=>r()));const a=uP(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(wn(()=>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)?y("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):y("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},s=this.lineCount(e);return s>1?y("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,s):y("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}};Pb.PREFIX=":";let qx=Pb;var L7=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},k7=function(o,e){return function(t,i){e(t,i,o)}};let mp=class extends qx{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=os.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};mp=L7([k7(0,Yn)],mp);var $d;let GN=($d=class extends ye{constructor(){super({id:$d.ID,label:fP.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(ul).quickAccess.show(mp.PREFIX)}},$d.ID="editor.action.gotoLine",$d);se(GN);Fr.as(zp.Quickaccess).registerQuickAccessProvider({ctor:mp,prefix:mp.PREFIX,helpEntries:[{description:fP.gotoLineActionLabel,commandId:GN.ID}]});const ZN=[void 0,[]];function Dw(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?I7(o,n.values,t,i):XN(o,e,t,i)}function I7(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,c]=XN(o,r,t,i);if(typeof a!="number")return ZN;n+=a,s.push(...c)}return[n,D7(s)]}function XN(o,e,t,i){const n=FE(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],jb(n)]:ZN}function D7(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!E7(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 E7(o,e){return!(o.end<e.start||e.end<o.start)}function JI(o){return o.startsWith('"')&&o.endsWith('"')}const YN=" ";function Kx(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=QI(o),s=t.indexOf(Xw)>=0,r=JI(o);let a;const c=o.split(YN);if(c.length>1)for(const h of c){const g=JI(h),{pathNormalized:f,normalized:p,normalizedLowercase:v}=QI(h);p&&(a||(a=[]),a.push({original:h,originalLowercase:h.toLowerCase(),pathNormalized:f,normalized:p,normalizedLowercase:v,expectContiguousMatch:g}))}return{original:o,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:n,values:a,containsPathSeparator:s,expectContiguousMatch:r}}function QI(o){let e;Rb?e=o.replace(/\//g,Xw):e=o.replace(/\\/g,Xw);const t=bF(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function eD(o){return Array.isArray(o)?Kx(o.map(e=>e.original).join(YN)):Kx(o.original)}var P7=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)}},p_,Er;let sd=(Er=class extends KN{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,y("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),ze.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):ze.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new We;return this.provideLabelPick(i,y("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 Ab,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(wn(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var f;const r=e.editor,a=new We;a.add(i.onDidAccept(p=>{var _;const[v]=i.selectedItems;v&&v.range&&(this.gotoLocation(e,{range:v.range.selection,keyMods:i.keyMods,preserveFocus:p.inBackground}),(_=s==null?void 0:s.handleAccept)==null||_.call(s,v),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 h;const g=async p=>{h==null||h.dispose(!0),i.busy=!1,h=new fs(n),i.busy=!0;try{const v=Kx(i.value.substr(p_.PREFIX.length).trim()),_=await this.doGetSymbolPicks(c,v,void 0,h.token,t);if(n.isCancellationRequested)return;if(_.length>0){if(i.items=_,p&&v.original.length===0){const w=CF(_,S=>!!(S.type!=="separator"&&S.range&&W.containsPosition(S.range.decoration,p)));w&&(i.activeItems=[w])}}else v.original.length>0?this.provideLabelPick(i,y("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,y("noSymbolResults","No editor symbols"))}finally{n.isCancellationRequested||(i.busy=!1)}};return a.add(i.onDidChangeValue(()=>g(void 0))),g((f=r.getSelection())==null?void 0:f.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 S,D;const r=await e;if(n.isCancellationRequested)return[];const a=t.original.indexOf(p_.SCOPE_PREFIX)===0,c=a?1:0;let h,g;t.values&&t.values.length>1?(h=eD(t.values[0]),g=eD(t.values.slice(1))):h=t;let f;const p=(D=(S=this.options)==null?void 0:S.openSideBySideDirection)==null?void 0:D.call(S);p&&(f=[{iconClass:p==="right"?$i.asClassName(ei.splitHorizontal):$i.asClassName(ei.splitVertical),tooltip:p==="right"?y("openToSide","Open to the Side"):y("openToBottom","Open to the Bottom")}]);const v=[];for(let P=0;P<r.length;P++){const N=r[P],z=yF(N.name),F=`$(${wF.toIcon(N.kind).id}) ${z}`,ie=F.length-z.length;let Y=N.containerName;i!=null&&i.extraContainerLabel&&(Y?Y=`${i.extraContainerLabel} • ${Y}`:Y=i.extraContainerLabel);let ge,_e,Ae,Le;if(t.original.length>c){let Tt=!1;if(h!==t&&([ge,_e]=Dw(F,{...t,values:void 0},c,ie),typeof ge=="number"&&(Tt=!0)),typeof ge!="number"&&([ge,_e]=Dw(F,h,c,ie),typeof ge!="number"))continue;if(!Tt&&g){if(Y&&g.original.length>0&&([Ae,Le]=Dw(Y,g)),typeof Ae!="number")continue;typeof ge=="number"&&(ge+=Ae)}}const gt=N.tags&&N.tags.indexOf(1)>=0;v.push({index:P,kind:N.kind,score:ge,label:F,ariaLabel:SF(N.name,N.kind),description:Y,highlights:gt?void 0:{label:_e,description:Le},range:{selection:W.collapseToStart(N.selectionRange),decoration:N.range},uri:s.uri,symbolName:z,strikethrough:gt,buttons:f})}const _=v.sort((P,N)=>a?this.compareByKindAndScore(P,N):this.compareByScore(P,N));let w=[];if(a){let F=function(){N&&typeof P=="number"&&z>0&&(N.label=I0(Pw[P]||Ew,z))},P,N,z=0;for(const ie of _)P!==ie.kind?(F(),P=ie.kind,z=1,N={type:"separator"},w.push(N)):z++,w.push(ie);F()}else _.length>0&&(w=[{label:y("symbols","symbols ({0})",v.length),type:"separator"},..._]);return w}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=Pw[e.kind]||Ew,n=Pw[t.kind]||Ew,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()}},p_=Er,Er.PREFIX="@",Er.SCOPE_PREFIX=":",Er.PREFIX_BY_CATEGORY=`${Er.PREFIX}${Er.SCOPE_PREFIX}`,Er);sd=p_=P7([tD(0,Ct),tD(1,Qp)],sd);const Ew=y("property","properties ({0})"),Pw={5:y("method","methods ({0})"),11:y("function","functions ({0})"),8:y("_constructor","constructors ({0})"),12:y("variable","variables ({0})"),4:y("class","classes ({0})"),22:y("struct","structs ({0})"),23:y("event","events ({0})"),24:y("operator","operators ({0})"),10:y("interface","interfaces ({0})"),2:y("namespace","namespaces ({0})"),3:y("package","packages ({0})"),25:y("typeParameter","type parameters ({0})"),1:y("modules","modules ({0})"),6:y("property","properties ({0})"),9:y("enum","enumerations ({0})"),21:y("enumMember","enumeration members ({0})"),14:y("string","strings ({0})"),0:y("file","files ({0})"),17:y("array","arrays ({0})"),15:y("number","numbers ({0})"),16:y("boolean","booleans ({0})"),18:y("object","objects ({0})"),19:y("key","keys ({0})"),7:y("field","fields ({0})"),13:y("constant","constants ({0})")};var T7=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},Tw=function(o,e){return function(t,i){e(t,i,o)}};let Gx=class extends sd{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=os.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Gx=T7([Tw(0,Yn),Tw(1,Ct),Tw(2,Qp)],Gx);const Tb=class Tb extends ye{constructor(){super({id:Tb.ID,label:Yw.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:M.hasDocumentSymbolProvider,kbOpts:{kbExpr:M.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(ul).quickAccess.show(sd.PREFIX,{itemActivation:xF.NONE})}};Tb.ID="editor.action.quickOutline";let Mv=Tb;se(Mv);Fr.as(zp.Quickaccess).registerQuickAccessProvider({ctor:Gx,prefix:sd.PREFIX,helpEntries:[{description:Yw.quickOutlineActionLabel,prefix:sd.PREFIX,commandId:Mv.ID},{description:Yw.quickOutlineByCategoryActionLabel,prefix:sd.PREFIX_BY_CATEGORY}]});function M7(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class kf{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 h=this.computeSimilarityScore(c,i,n);h>0&&s.push({key:r,score:h})}}return s}static termFrequencies(e){return M7(kf.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=kf.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 h=a*c;n+=h*r}return n}computeEmbedding(e){const t=kf.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 N7(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 cu;(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"})(cu||(cu={}));function Mw(o){return Array.isArray(o.items)}function iD(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class R7 extends ze{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var h;const n=new We;e.canAcceptInBackground=!!((h=this.options)!=null&&h.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new Lo),a=async()=>{var S;const g=r.value=new We;s==null||s.dispose(!0),e.busy=!1,s=new fs(t);const f=s.token;let p=e.value.substring(this.prefix.length);(S=this.options)!=null&&S.shouldSkipTrimPickFilter||(p=p.trim());const v=this._getPicks(p,g,f,i),_=(D,P)=>{var F;let N,z;if(Mw(D)?(N=D.items,z=D.active):N=D,N.length===0){if(P)return!1;(p.length>0||e.hideInput)&&((F=this.options)!=null&&F.noResultsPick)&&(LF(this.options.noResultsPick)?N=[this.options.noResultsPick(p)]:N=[this.options.noResultsPick])}return e.items=N,z&&(e.activeItems=[z]),!0},w=async D=>{let P=!1,N=!1;await Promise.all([(async()=>{typeof D.mergeDelay=="number"&&(await Kb(D.mergeDelay),f.isCancellationRequested)||N||(P=_(D.picks,!0))})(),(async()=>{e.busy=!0;try{const z=await D.additionalPicks;if(f.isCancellationRequested)return;let F,ie;Mw(D.picks)?(F=D.picks.items,ie=D.picks.active):F=D.picks;let Y,ge;if(Mw(z)?(Y=z.items,ge=z.active):Y=z,Y.length>0||!P){let _e;if(!ie&&!ge){const Ae=e.activeItems[0];Ae&&F.indexOf(Ae)!==-1&&(_e=Ae)}_({items:[...F,...Y],active:ie||ge||_e})}}finally{f.isCancellationRequested||(e.busy=!1),N=!0}})()])};if(v!==null)if(iD(v))await w(v);else if(!(v instanceof Promise))_(v);else{e.busy=!0;try{const D=await v;if(f.isCancellationRequested)return;iD(D)?await w(D):_(D)}finally{f.isCancellationRequested||(e.busy=!1)}}};n.add(e.onDidChangeValue(()=>a())),a(),n.add(e.onDidAccept(g=>{var p;if(i!=null&&i.handleAccept){g.inBackground||e.hide(),(p=i.handleAccept)==null||p.call(i,e.activeItems[0]);return}const[f]=e.selectedItems;typeof(f==null?void 0:f.accept)=="function"&&(g.inBackground||e.hide(),f.accept(e.keyMods,g))}));const c=async(g,f)=>{var v;if(typeof f.trigger!="function")return;const p=((v=f.buttons)==null?void 0:v.indexOf(g))??-1;if(p>=0){const _=f.trigger(p,e.keyMods),w=typeof _=="number"?_:await _;if(t.isCancellationRequested)return;switch(w){case cu.NO_ACTION:break;case cu.CLOSE_PICKER:e.hide();break;case cu.REFRESH_PICKER:a();break;case cu.REMOVE_ITEM:{const S=e.items.indexOf(f);if(S!==-1){const D=e.items.slice(),P=D.splice(S,1),N=e.activeItems.filter(F=>F!==P[0]),z=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=D,N&&(e.activeItems=N),e.keepScrollPosition=z}break}}}};return n.add(e.onDidTriggerItemButton(({button:g,item:f})=>c(g,f))),n.add(e.onDidTriggerSeparatorButton(({button:g,separator:f})=>c(g,f))),n}}var JN=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},Nl=function(o,e){return function(t,i){e(t,i,o)}},Nc,Qn,fa;let Zx=(fa=class extends R7{constructor(e,t,i,n,s,r){super(Nc.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(Xx)),this.options=e}async _getPicks(e,t,i,n){var v,_;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=gP(()=>{const w=new kf;w.updateDocuments(s.map(D=>({key:D.commandId,textChunks:[this.getTfIdfChunk(D)]})));const S=w.calculateScores(e,i);return N7(S).filter(D=>D.score>Nc.TFIDF_THRESHOLD).slice(0,Nc.TFIDF_MAX_RESULTS)}),a=[];for(const w of s){const S=Nc.WORD_FILTER(e,w.label)??void 0,D=w.commandAlias?Nc.WORD_FILTER(e,w.commandAlias)??void 0:void 0;if(S||D)w.highlights={label:S,detail:this.options.showAlias?D:void 0},a.push(w);else if(e===w.commandId)a.push(w);else if(e.length>=3){const P=r();if(i.isCancellationRequested)return[];const N=P.find(z=>z.key===w.commandId);N&&(w.tfIdfScore=N.score,a.push(w))}}const c=new Map;for(const w of a){const S=c.get(w.label);S?(w.description=w.commandId,S.description=S.commandId):c.set(w.label,w)}a.sort((w,S)=>{if(w.tfIdfScore&&S.tfIdfScore)return w.tfIdfScore===S.tfIdfScore?w.label.localeCompare(S.label):S.tfIdfScore-w.tfIdfScore;if(w.tfIdfScore)return 1;if(S.tfIdfScore)return-1;const D=this.commandsHistory.peek(w.commandId),P=this.commandsHistory.peek(S.commandId);if(D&&P)return D>P?-1:1;if(D)return-1;if(P)return 1;if(this.options.suggestedCommandIds){const N=this.options.suggestedCommandIds.has(w.commandId),z=this.options.suggestedCommandIds.has(S.commandId);if(N&&z)return 0;if(N)return-1;if(z)return 1}return w.label.localeCompare(S.label)});const h=[];let g=!1,f=!0,p=!!this.options.suggestedCommandIds;for(let w=0;w<a.length;w++){const S=a[w];w===0&&this.commandsHistory.peek(S.commandId)&&(h.push({type:"separator",label:y("recentlyUsed","recently used")}),g=!0),f&&S.tfIdfScore!==void 0&&(h.push({type:"separator",label:y("suggested","similar commands")}),f=!1),p&&S.tfIdfScore===void 0&&!this.commandsHistory.peek(S.commandId)&&((v=this.options.suggestedCommandIds)!=null&&v.has(S.commandId))&&(h.push({type:"separator",label:y("commonlyUsed","commonly used")}),g=!0,p=!1),g&&S.tfIdfScore===void 0&&!this.commandsHistory.peek(S.commandId)&&!((_=this.options.suggestedCommandIds)!=null&&_.has(S.commandId))&&(h.push({type:"separator",label:y("morecCommands","other commands")}),g=!1),h.push(this.toCommandPick(S,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:h,additionalPicks:(async()=>{var D;const w=await this.getAdditionalCommandPicks(s,a,e,i);if(i.isCancellationRequested)return[];const S=w.map(P=>this.toCommandPick(P,n));return f&&((D=S[0])==null?void 0:D.type)!=="separator"&&S.unshift({type:"separator",label:y("suggested","similar commands")}),S})()}:h}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?y("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){yc(r)||this.dialogService.error(y("canNotRun","Command '{0}' resulted in an error",e.label),H_(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}},Nc=fa,fa.PREFIX=">",fa.TFIDF_THRESHOLD=.5,fa.TFIDF_MAX_RESULTS=5,fa.WORD_FILTER=kF(EF,DF,IF),fa);Zx=Nc=JN([Nl(1,ci),Nl(2,is),Nl(3,hs),Nl(4,Wr),Nl(5,H0)],Zx);var Pr;let Xx=(Pr=class extends ze{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===b0.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Qn.getConfiguredCommandHistoryLength(this.configurationService),Qn.cache&&Qn.cache.limit!==this.configuredCommandsHistoryLength&&(Qn.cache.limit=this.configuredCommandsHistoryLength,Qn.hasChanges=!0))}load(){const e=this.storageService.get(Qn.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=Qn.cache=new Tp(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))}Qn.counter=this.storageService.getNumber(Qn.PREF_KEY_COUNTER,0,Qn.counter)}push(e){Qn.cache&&(Qn.cache.set(e,Qn.counter++),Qn.hasChanges=!0)}peek(e){var t;return(t=Qn.cache)==null?void 0:t.peek(e)}saveState(){if(!Qn.cache||!Qn.hasChanges)return;const e={usesLRU:!0,entries:[]};Qn.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(Qn.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(Qn.PREF_KEY_COUNTER,Qn.counter,0,0),Qn.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:Qn.DEFAULT_COMMANDS_HISTORY_LENGTH}},Qn=Pr,Pr.DEFAULT_COMMANDS_HISTORY_LENGTH=50,Pr.PREF_KEY_CACHE="commandPalette.mru.cache",Pr.PREF_KEY_COUNTER="commandPalette.mru.counter",Pr.counter=1,Pr.hasChanges=!1,Pr);Xx=Qn=JN([Nl(0,wc),Nl(1,Cn),Nl(2,gh)],Xx);class A7 extends Zx{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&&(PF(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:TF(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},Vh=function(o,e){return function(t,i){e(t,i,o)}};let _p=class extends A7{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[]}};_p=O7([Vh(0,ci),Vh(1,Yn),Vh(2,is),Vh(3,hs),Vh(4,Wr),Vh(5,H0)],_p);const Mb=class Mb extends ye{constructor(){super({id:Mb.ID,label:pP.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(ul).quickAccess.show(_p.PREFIX)}};Mb.ID="editor.action.quickCommand";let Nv=Mb;se(Nv);Fr.as(zp.Quickaccess).registerQuickAccessProvider({ctor:_p,prefix:_p.PREFIX,helpEntries:[{description:pP.quickCommandHelp,commandId:Nv.ID}]});var F7=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},jh=function(o,e){return function(t,i){e(t,i,o)}};let Yx=class extends sh{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};Yx=F7([jh(1,Wi),jh(2,Yn),jh(3,zs),jh(4,ci),jh(5,wc),jh(6,Cn)],Yx);vi(sh.ID,Yx,4);class H7 extends ye{constructor(){super({id:"editor.action.toggleHighContrast",label:MF.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(hP),n=i.getColorTheme();Nf(n.type)?(i.setTheme(this._originalThemeName||(nk(n.type)?NF:RF)),this._originalThemeName=null):(i.setTheme(nk(n.type)?AF:OF),this._originalThemeName=n.themeName)}}se(H7);let Jx=null;function W7(o){Jx=o}function B7(o={}){return{"Content-Type":"application/json",...o}}async function Li(o,e,t){const i=await fetch(e,{method:o,headers:B7(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw Jx&&Jx(),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 z7(){return await(await fetch("/she/auth/mode")).json()}async function V7(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 j7(){await fetch("/she/auth/logout",{method:"POST"})}async function U7(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 $7(){return Li("GET","/she/scripts/tree")}function nD(o){return Li("GET",`/she/scripts/${o}`)}function Pc(o,e){return Li("PUT",`/she/scripts/${o}`,{content:e})}function jm(o){return Li("DELETE",`/she/scripts/${o}`)}function sD(o,e){return Li("POST",`/she/scripts/${o}/rename`,{newPath:e})}function q7(o){return Li("POST","/she/scripts/mkdir",{path:o})}function K7(){return Li("GET","/she/git/status")}function Qx(){return Li("GET","/she/status")}function G7(){return Li("POST","/she/restart")}function Z7(){return Li("POST","/she/update")}function X7(){return Li("POST","/she/check-update")}function Y7(o,e){return Li("POST","/she/git/commit",{path:o,message:e})}function J7(o){return Li("POST","/she/git/push",{remote:o})}function QN(){return Li("GET","/she/config")}function Q7(o){return Li("PUT","/she/config",o)}function eR(){return Li("GET","/she/db/docs")}function e8(o){return Li("GET",`/she/db/docs/${o}`)}function oD(o,e){return Li("PUT",`/she/db/docs/${o}`,e)}function t8(o){return Li("DELETE",`/she/db/docs/${o}`)}function tR(){return Li("GET","/she/db/views")}function i8(o){return Li("GET",`/she/db/views/${o}`)}function rD(o,e){return Li("PUT",`/she/db/views/${o}`,e)}function n8(o){return Li("DELETE",`/she/db/views/${o}`)}function s8(){return Li("GET","/she/deps")}function o8(o){return Li("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function r8(o,e){return Li("POST","/she/deps/install",{name:o,version:null})}function a8(o){return Li("POST","/she/deps/remove",{name:o})}function l8(o){return Li("POST","/she/deps/update",{name:o})}function c8(){return Li("GET","/she/deps/outdated")}function d8(){return Li("POST","/she/deps/check-outdated")}function h8(){return Li("GET","/she/ai/conversations")}function aD(o){return Li("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function u8(o,e,t){return Li("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function g8(o){return Li("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function Nw(o){return Li("GET",`/she/db/views/${o}/result`)}function iR(){return Li("GET","/she/matter/devices")}function m_(o){return Li("GET",`/she/matter/devices/${o}`)}function f8(o){return Li("POST","/she/matter/commission",o)}function p8(o){return Li("DELETE",`/she/matter/devices/${o}`)}function m8(o,e,t,i,n){return Li("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function nR(){return Li("GET","/she/mqtt/state")}function lD(o,e,t=!1,i=0){return Li("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function sR(){return Li("GET","/she/ai/config")}function oR(){return Li("GET","/she/ai/models")}function rR(o){return Li("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function aR(o){return Li("POST","/she/ai/prompt",o)}async function lR(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 h=await s.json().catch(()=>({error:s.statusText}));throw new Error(h.error??s.statusText)}const r=s.body.getReader(),a=new TextDecoder;let c="";try{for(;;){const{done:h,value:g}=await r.read();if(h)break;c+=a.decode(g,{stream:!0});const f=c.split(`
79
+ `);c=f.pop()??"";for(const p of f){if(!p.startsWith("data: "))continue;const v=p.slice(6).trim();if(v==="[DONE]")return;try{const _=JSON.parse(v);if(_.error)throw new Error(_.error);if(_.type==="tool_call"||_.type==="tool_result"){i==null||i({type:_.type,name:_.name??"",args:_.args,content:_.content});continue}_.token&&e(_.token)}catch(_){if(_ instanceof SyntaxError)continue;throw _}}}}finally{r.releaseLock()}}const _8=2e3,__=[];function v8(){return __.slice()}let jl=null;const Rv=new Set,du=new Map;let e0=null;function vp(){let o=Rv.size;for(const e of du.values())o+=e.size;return o}function b8(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function j1(){if(jl)return;const o=b8(),e=new WebSocket(o);jl=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};__.length>=_8&&__.shift(),__.push(s),Rv.forEach(r=>r(s))}const n=du.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{jl===e&&(jl=null),vp()>0&&(e0=setTimeout(j1,3e3))},e.onerror=()=>{e.close()}}function cR(){e0&&clearTimeout(e0),jl==null||jl.close(),jl=null}function dR(o){return Rv.add(o),vp()===1&&j1(),()=>{Rv.delete(o),vp()===0&&cR()}}function Ul(o,e){return du.has(o)||du.set(o,new Set),du.get(o).add(e),vp()===1&&j1(),()=>{var t;(t=du.get(o))==null||t.delete(e),vp()===0&&cR()}}var y8=R('<button class="cancel svelte-1eh8v5n">Cancel</button>'),w8=R('<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 tm(o,e){Io(e,!0);let t=V(!1),i=V(""),n=V("Confirm"),s=V(!1),r=V(!1),a=null;function c(w,S){return I(i,w,!0),I(n,(S==null?void 0:S.confirm)??(S!=null&&S.alert?"OK":"Confirm"),!0),I(s,(S==null?void 0:S.danger)??!1,!0),I(r,(S==null?void 0:S.alert)??!1,!0),I(t,!0),new Promise(D=>a=D)}function h(w){I(t,!1),a==null||a(w),a=null}function g(w){u(t)&&(w.key==="Escape"&&h(!1),w.key==="Enter"&&h(!0))}var f={show:c},p=Ds();es("keydown",Qc,g);var v=wt(p);{var _=w=>{var S=w8(),D=wt(S),P=x(D,2),N=C(P),z=C(N),F=x(N,2),ie=C(F);{var Y=Le=>{var gt=y8();oe("click",gt,()=>h(!1)),T(Le,gt)};q(ie,Le=>{u(r)||Le(Y)})}var ge=x(ie,2);let _e;var Ae=C(ge);X(()=>{G(z,u(i)),_e=Kt(ge,1,"svelte-1eh8v5n",null,_e,{danger:u(s)}),G(Ae,u(n))}),oe("click",D,()=>h(!1)),oe("click",ge,()=>h(!0)),T(w,S)};q(v,w=>{u(t)&&w(_)})}return T(o,p),Do(f)}mr(["click"]);var S8=R('<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 C8(o,e){Io(e,!0);let t=V(!1),i=V(""),n=V(""),s=V("OK"),r=V(""),a=null,c=V(void 0);function h(D,P){return I(i,D,!0),I(n,(P==null?void 0:P.placeholder)??"",!0),I(s,(P==null?void 0:P.confirm)??"OK",!0),I(r,(P==null?void 0:P.initial)??"",!0),I(t,!0),setTimeout(()=>{if(u(c)){u(c).focus();const N=u(c).value.length;u(c).setSelectionRange(N,N)}},0),new Promise(N=>a=N)}function g(){const D=u(r).trim();D&&(I(t,!1),a==null||a(D),a=null,I(r,""))}function f(){I(t,!1),a==null||a(null),a=null,I(r,"")}function p(D){u(t)&&D.key==="Escape"&&(D.stopPropagation(),f())}var v={show:h},_=Ds();es("keydown",Qc,p);var w=wt(_);{var S=D=>{var P=S8(),N=wt(P),z=x(N,2),F=C(z),ie=C(F),Y=x(F,2);Ss(Y,gt=>I(c,gt),()=>u(c));var ge=x(Y,2),_e=C(ge),Ae=x(_e,2),Le=C(Ae);X(gt=>{G(ie,u(i)),Hn(Y,"placeholder",u(n)),Ae.disabled=gt,G(Le,u(s))},[()=>!u(r).trim()]),oe("click",N,f),oe("keydown",Y,gt=>{gt.key==="Enter"&&(gt.preventDefault(),g())}),Ei(Y,()=>u(r),gt=>I(r,gt)),oe("click",_e,f),oe("click",Ae,g),T(D,P)};q(w,D=>{u(t)&&D(S)})}return T(o,_),Do(v)}mr(["click","keydown"]);function hR(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var Rw,cD;function x8(){if(cD)return Rw;cD=1;function o(H){return H instanceof Map?H.clear=H.delete=H.set=function(){throw new Error("map is read-only")}:H instanceof Set&&(H.add=H.clear=H.delete=function(){throw new Error("set is read-only")}),Object.freeze(H),Object.getOwnPropertyNames(H).forEach(O=>{const ee=H[O],ke=typeof ee;(ke==="object"||ke==="function")&&!Object.isFrozen(ee)&&o(ee)}),H}class e{constructor(O){O.data===void 0&&(O.data={}),this.data=O.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(H){return H.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function i(H,...O){const ee=Object.create(null);for(const ke in H)ee[ke]=H[ke];return O.forEach(function(ke){for(const Je in ke)ee[Je]=ke[Je]}),ee}const n="</span>",s=H=>!!H.scope,r=(H,{prefix:O})=>{if(H.startsWith("language:"))return H.replace("language:","language-");if(H.includes(".")){const ee=H.split(".");return[`${O}${ee.shift()}`,...ee.map((ke,Je)=>`${ke}${"_".repeat(Je+1)}`)].join(" ")}return`${O}${H}`};class a{constructor(O,ee){this.buffer="",this.classPrefix=ee.classPrefix,O.walk(this)}addText(O){this.buffer+=t(O)}openNode(O){if(!s(O))return;const ee=r(O.scope,{prefix:this.classPrefix});this.span(ee)}closeNode(O){s(O)&&(this.buffer+=n)}value(){return this.buffer}span(O){this.buffer+=`<span class="${O}">`}}const c=(H={})=>{const O={children:[]};return Object.assign(O,H),O};class h{constructor(){this.rootNode=c(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(O){this.top.children.push(O)}openNode(O){const ee=c({scope:O});this.add(ee),this.stack.push(ee)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(O){return this.constructor._walk(O,this.rootNode)}static _walk(O,ee){return typeof ee=="string"?O.addText(ee):ee.children&&(O.openNode(ee),ee.children.forEach(ke=>this._walk(O,ke)),O.closeNode(ee)),O}static _collapse(O){typeof O!="string"&&O.children&&(O.children.every(ee=>typeof ee=="string")?O.children=[O.children.join("")]:O.children.forEach(ee=>{h._collapse(ee)}))}}class g extends h{constructor(O){super(),this.options=O}addText(O){O!==""&&this.add(O)}startScope(O){this.openNode(O)}endScope(){this.closeNode()}__addSublanguage(O,ee){const ke=O.root;ee&&(ke.scope=`language:${ee}`),this.add(ke)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function f(H){return H?typeof H=="string"?H:H.source:null}function p(H){return w("(?=",H,")")}function v(H){return w("(?:",H,")*")}function _(H){return w("(?:",H,")?")}function w(...H){return H.map(ee=>f(ee)).join("")}function S(H){const O=H[H.length-1];return typeof O=="object"&&O.constructor===Object?(H.splice(H.length-1,1),O):{}}function D(...H){return"("+(S(H).capture?"":"?:")+H.map(ke=>f(ke)).join("|")+")"}function P(H){return new RegExp(H.toString()+"|").exec("").length-1}function N(H,O){const ee=H&&H.exec(O);return ee&&ee.index===0}const z=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function F(H,{joinWith:O}){let ee=0;return H.map(ke=>{ee+=1;const Je=ee;let Ge=f(ke),fe="";for(;Ge.length>0;){const Ie=z.exec(Ge);if(!Ie){fe+=Ge;break}fe+=Ge.substring(0,Ie.index),Ge=Ge.substring(Ie.index+Ie[0].length),Ie[0][0]==="\\"&&Ie[1]?fe+="\\"+String(Number(Ie[1])+Je):(fe+=Ie[0],Ie[0]==="("&&ee++)}return fe}).map(ke=>`(${ke})`).join(O)}const ie=/\b\B/,Y="[a-zA-Z]\\w*",ge="[a-zA-Z_]\\w*",_e="\\b\\d+(\\.\\d+)?",Ae="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Le="\\b(0b[01]+)",gt="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Tt=(H={})=>{const O=/^#![ ]*\//;return H.binary&&(H.begin=w(O,/.*\b/,H.binary,/\b.*/)),i({scope:"meta",begin:O,end:/$/,relevance:0,"on:begin":(ee,ke)=>{ee.index!==0&&ke.ignoreMatch()}},H)},ft={begin:"\\\\[\\s\\S]",relevance:0},mt={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[ft]},ct={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[ft]},Ot={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/},Me=function(H,O,ee={}){const ke=i({scope:"comment",begin:H,end:O,contains:[]},ee);ke.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 Je=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 ke.contains.push({begin:w(/[ ]+/,"(",Je,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),ke},Mt=Me("//","$"),je=Me("/\\*","\\*/"),ot=Me("#","$"),_t={scope:"number",begin:_e,relevance:0},pi={scope:"number",begin:Ae,relevance:0},Rt={scope:"number",begin:Le,relevance:0},Dt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[ft,{begin:/\[/,end:/\]/,relevance:0,contains:[ft]}]},kt={scope:"title",begin:Y,relevance:0},qi={scope:"title",begin:ge,relevance:0},Ki={begin:"\\.\\s*"+ge,relevance:0};var cn=Object.freeze({__proto__:null,APOS_STRING_MODE:mt,BACKSLASH_ESCAPE:ft,BINARY_NUMBER_MODE:Rt,BINARY_NUMBER_RE:Le,COMMENT:Me,C_BLOCK_COMMENT_MODE:je,C_LINE_COMMENT_MODE:Mt,C_NUMBER_MODE:pi,C_NUMBER_RE:Ae,END_SAME_AS_BEGIN:function(H){return Object.assign(H,{"on:begin":(O,ee)=>{ee.data._beginMatch=O[1]},"on:end":(O,ee)=>{ee.data._beginMatch!==O[1]&&ee.ignoreMatch()}})},HASH_COMMENT_MODE:ot,IDENT_RE:Y,MATCH_NOTHING_RE:ie,METHOD_GUARD:Ki,NUMBER_MODE:_t,NUMBER_RE:_e,PHRASAL_WORDS_MODE:Ot,QUOTE_STRING_MODE:ct,REGEXP_MODE:Dt,RE_STARTERS_RE:gt,SHEBANG:Tt,TITLE_MODE:kt,UNDERSCORE_IDENT_RE:ge,UNDERSCORE_TITLE_MODE:qi});function Vi(H,O){H.input[H.index-1]==="."&&O.ignoreMatch()}function dn(H,O){H.className!==void 0&&(H.scope=H.className,delete H.className)}function hn(H,O){O&&H.beginKeywords&&(H.begin="\\b("+H.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",H.__beforeBegin=Vi,H.keywords=H.keywords||H.beginKeywords,delete H.beginKeywords,H.relevance===void 0&&(H.relevance=0))}function Nn(H,O){Array.isArray(H.illegal)&&(H.illegal=D(...H.illegal))}function jn(H,O){if(H.match){if(H.begin||H.end)throw new Error("begin & end are not supported with match");H.begin=H.match,delete H.match}}function xn(H,O){H.relevance===void 0&&(H.relevance=1)}const Rn=(H,O)=>{if(!H.beforeMatch)return;if(H.starts)throw new Error("beforeMatch cannot be used with starts");const ee=Object.assign({},H);Object.keys(H).forEach(ke=>{delete H[ke]}),H.keywords=ee.keywords,H.begin=w(ee.beforeMatch,p(ee.begin)),H.starts={relevance:0,contains:[Object.assign(ee,{endsParent:!0})]},H.relevance=0,delete ee.beforeMatch},_n=["of","and","for","in","not","or","if","then","parent","list","value"],Un="keyword";function Ye(H,O,ee=Un){const ke=Object.create(null);return typeof H=="string"?Je(ee,H.split(" ")):Array.isArray(H)?Je(ee,H):Object.keys(H).forEach(function(Ge){Object.assign(ke,Ye(H[Ge],O,Ge))}),ke;function Je(Ge,fe){O&&(fe=fe.map(Ie=>Ie.toLowerCase())),fe.forEach(function(Ie){const et=Ie.split("|");ke[et[0]]=[Ge,Ht(et[0],et[1])]})}}function Ht(H,O){return O?Number(O):oi(H)?0:1}function oi(H){return _n.includes(H.toLowerCase())}const Ut={},mi=H=>{console.error(H)},An=(H,...O)=>{console.log(`WARN: ${H}`,...O)},un=(H,O)=>{Ut[`${H}/${O}`]||(console.log(`Deprecated as of ${H}. ${O}`),Ut[`${H}/${O}`]=!0)},ji=new Error;function sn(H,O,{key:ee}){let ke=0;const Je=H[ee],Ge={},fe={};for(let Ie=1;Ie<=O.length;Ie++)fe[Ie+ke]=Je[Ie],Ge[Ie+ke]=!0,ke+=P(O[Ie-1]);H[ee]=fe,H[ee]._emit=Ge,H[ee]._multi=!0}function Wn(H){if(Array.isArray(H.begin)){if(H.skip||H.excludeBegin||H.returnBegin)throw mi("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),ji;if(typeof H.beginScope!="object"||H.beginScope===null)throw mi("beginScope must be object"),ji;sn(H,H.begin,{key:"beginScope"}),H.begin=F(H.begin,{joinWith:""})}}function Ni(H){if(Array.isArray(H.end)){if(H.skip||H.excludeEnd||H.returnEnd)throw mi("skip, excludeEnd, returnEnd not compatible with endScope: {}"),ji;if(typeof H.endScope!="object"||H.endScope===null)throw mi("endScope must be object"),ji;sn(H,H.end,{key:"endScope"}),H.end=F(H.end,{joinWith:""})}}function on(H){H.scope&&typeof H.scope=="object"&&H.scope!==null&&(H.beginScope=H.scope,delete H.scope)}function Bn(H){on(H),typeof H.beginScope=="string"&&(H.beginScope={_wrap:H.beginScope}),typeof H.endScope=="string"&&(H.endScope={_wrap:H.endScope}),Wn(H),Ni(H)}function Jn(H){function O(fe,Ie){return new RegExp(f(fe),"m"+(H.case_insensitive?"i":"")+(H.unicodeRegex?"u":"")+(Ie?"g":""))}class ee{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Ie,et){et.position=this.position++,this.matchIndexes[this.matchAt]=et,this.regexes.push([et,Ie]),this.matchAt+=P(Ie)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Ie=this.regexes.map(et=>et[1]);this.matcherRe=O(F(Ie,{joinWith:"|"}),!0),this.lastIndex=0}exec(Ie){this.matcherRe.lastIndex=this.lastIndex;const et=this.matcherRe.exec(Ie);if(!et)return null;const Zt=et.findIndex((Oe,yt)=>yt>0&&Oe!==void 0),bt=this.matchIndexes[Zt];return et.splice(0,Zt),Object.assign(et,bt)}}class ke{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 et=new ee;return this.rules.slice(Ie).forEach(([Zt,bt])=>et.addRule(Zt,bt)),et.compile(),this.multiRegexes[Ie]=et,et}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Ie,et){this.rules.push([Ie,et]),et.type==="begin"&&this.count++}exec(Ie){const et=this.getMatcher(this.regexIndex);et.lastIndex=this.lastIndex;let Zt=et.exec(Ie);if(this.resumingScanAtSamePosition()&&!(Zt&&Zt.index===this.lastIndex)){const bt=this.getMatcher(0);bt.lastIndex=this.lastIndex+1,Zt=bt.exec(Ie)}return Zt&&(this.regexIndex+=Zt.position+1,this.regexIndex===this.count&&this.considerAll()),Zt}}function Je(fe){const Ie=new ke;return fe.contains.forEach(et=>Ie.addRule(et.begin,{rule:et,type:"begin"})),fe.terminatorEnd&&Ie.addRule(fe.terminatorEnd,{type:"end"}),fe.illegal&&Ie.addRule(fe.illegal,{type:"illegal"}),Ie}function Ge(fe,Ie){const et=fe;if(fe.isCompiled)return et;[dn,jn,Bn,Rn].forEach(bt=>bt(fe,Ie)),H.compilerExtensions.forEach(bt=>bt(fe,Ie)),fe.__beforeBegin=null,[hn,Nn,xn].forEach(bt=>bt(fe,Ie)),fe.isCompiled=!0;let Zt=null;return typeof fe.keywords=="object"&&fe.keywords.$pattern&&(fe.keywords=Object.assign({},fe.keywords),Zt=fe.keywords.$pattern,delete fe.keywords.$pattern),Zt=Zt||/\w+/,fe.keywords&&(fe.keywords=Ye(fe.keywords,H.case_insensitive)),et.keywordPatternRe=O(Zt,!0),Ie&&(fe.begin||(fe.begin=/\B|\b/),et.beginRe=O(et.begin),!fe.end&&!fe.endsWithParent&&(fe.end=/\B|\b/),fe.end&&(et.endRe=O(et.end)),et.terminatorEnd=f(et.end)||"",fe.endsWithParent&&Ie.terminatorEnd&&(et.terminatorEnd+=(fe.end?"|":"")+Ie.terminatorEnd)),fe.illegal&&(et.illegalRe=O(fe.illegal)),fe.contains||(fe.contains=[]),fe.contains=[].concat(...fe.contains.map(function(bt){return Xi(bt==="self"?fe:bt)})),fe.contains.forEach(function(bt){Ge(bt,et)}),fe.starts&&Ge(fe.starts,Ie),et.matcher=Je(et),et}if(H.compilerExtensions||(H.compilerExtensions=[]),H.contains&&H.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return H.classNameAliases=i(H.classNameAliases||{}),Ge(H)}function kn(H){return H?H.endsWithParent||kn(H.starts):!1}function Xi(H){return H.variants&&!H.cachedVariants&&(H.cachedVariants=H.variants.map(function(O){return i(H,{variants:null},O)})),H.cachedVariants?H.cachedVariants:kn(H)?i(H,{starts:H.starts?i(H.starts):null}):Object.isFrozen(H)?i(H):H}var On="11.11.1";class rn extends Error{constructor(O,ee){super(O),this.name="HTMLInjectionError",this.html=ee}}const Se=t,Z=i,Pe=Symbol("nomatch"),at=7,It=function(H){const O=Object.create(null),ee=Object.create(null),ke=[];let Je=!0;const Ge="Could not find the language '{}', did you forget to load/include a language module?",fe={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:g};function et(j){return Ie.noHighlightRe.test(j)}function Zt(j){let K=j.className+" ";K+=j.parentNode?j.parentNode.className:"";const ue=Ie.languageDetectRe.exec(K);if(ue){const le=li(ue[1]);return le||(An(Ge.replace("{}",ue[1])),An("Falling back to no-highlight mode for this block.",j)),le?ue[1]:"no-highlight"}return K.split(/\s+/).find(le=>et(le)||li(le))}function bt(j,K,ue){let le="",De="";typeof K=="object"?(le=j,ue=K.ignoreIllegals,De=K.language):(un("10.7.0","highlight(lang, code, ...args) has been deprecated."),un("10.7.0",`Please use highlight(code, options) instead.
80
+ https://github.com/highlightjs/highlight.js/issues/2277`),De=j,le=K),ue===void 0&&(ue=!0);const pe={code:le,language:De};qt("before:highlight",pe);const Fe=pe.result?pe.result:Oe(pe.language,pe.code,ue);return Fe.code=pe.code,qt("after:highlight",Fe),Fe}function Oe(j,K,ue,le){const De=Object.create(null);function pe(be,qe){return be.keywords[qe]}function Fe(){if(!ve.keywords){Ne.addText(we);return}let be=0;ve.keywordPatternRe.lastIndex=0;let qe=ve.keywordPatternRe.exec(we),rt="";for(;qe;){rt+=we.substring(be,qe.index);const Wt=xe.case_insensitive?qe[0].toLowerCase():qe[0],tt=pe(ve,Wt);if(tt){const[ui,ri]=tt;if(Ne.addText(rt),rt="",De[Wt]=(De[Wt]||0)+1,De[Wt]<=at&&(xt+=ri),ui.startsWith("_"))rt+=qe[0];else{const Ti=xe.classNameAliases[ui]||ui;Ke(qe[0],Ti)}}else rt+=qe[0];be=ve.keywordPatternRe.lastIndex,qe=ve.keywordPatternRe.exec(we)}rt+=we.substring(be),Ne.addText(rt)}function lt(){if(we==="")return;let be=null;if(typeof ve.subLanguage=="string"){if(!O[ve.subLanguage]){Ne.addText(we);return}be=Oe(ve.subLanguage,we,!0,At[ve.subLanguage]),At[ve.subLanguage]=be._top}else be=Xt(we,ve.subLanguage.length?ve.subLanguage:null);ve.relevance>0&&(xt+=be.relevance),Ne.__addSublanguage(be._emitter,be.language)}function Ve(){ve.subLanguage!=null?lt():Fe(),we=""}function Ke(be,qe){be!==""&&(Ne.startScope(qe),Ne.addText(be),Ne.endScope())}function si(be,qe){let rt=1;const Wt=qe.length-1;for(;rt<=Wt;){if(!be._emit[rt]){rt++;continue}const tt=xe.classNameAliases[be[rt]]||be[rt],ui=qe[rt];tt?Ke(ui,tt):(we=ui,Fe(),we=""),rt++}}function A(be,qe){return be.scope&&typeof be.scope=="string"&&Ne.openNode(xe.classNameAliases[be.scope]||be.scope),be.beginScope&&(be.beginScope._wrap?(Ke(we,xe.classNameAliases[be.beginScope._wrap]||be.beginScope._wrap),we=""):be.beginScope._multi&&(si(be.beginScope,qe),we="")),ve=Object.create(be,{parent:{value:ve}}),ve}function J(be,qe,rt){let Wt=N(be.endRe,rt);if(Wt){if(be["on:end"]){const tt=new e(be);be["on:end"](qe,tt),tt.isMatchIgnored&&(Wt=!1)}if(Wt){for(;be.endsParent&&be.parent;)be=be.parent;return be}}if(be.endsWithParent)return J(be.parent,qe,rt)}function He(be){return ve.matcher.regexIndex===0?(we+=be[0],1):(ai=!0,0)}function dt(be){const qe=be[0],rt=be.rule,Wt=new e(rt),tt=[rt.__beforeBegin,rt["on:begin"]];for(const ui of tt)if(ui&&(ui(be,Wt),Wt.isMatchIgnored))return He(qe);return rt.skip?we+=qe:(rt.excludeBegin&&(we+=qe),Ve(),!rt.returnBegin&&!rt.excludeBegin&&(we=qe)),A(rt,be),rt.returnBegin?0:qe.length}function it(be){const qe=be[0],rt=K.substring(be.index),Wt=J(ve,be,rt);if(!Wt)return Pe;const tt=ve;ve.endScope&&ve.endScope._wrap?(Ve(),Ke(qe,ve.endScope._wrap)):ve.endScope&&ve.endScope._multi?(Ve(),si(ve.endScope,be)):tt.skip?we+=qe:(tt.returnEnd||tt.excludeEnd||(we+=qe),Ve(),tt.excludeEnd&&(we=qe));do ve.scope&&Ne.closeNode(),!ve.skip&&!ve.subLanguage&&(xt+=ve.relevance),ve=ve.parent;while(ve!==Wt.parent);return Wt.starts&&A(Wt.starts,be),tt.returnEnd?0:qe.length}function zt(){const be=[];for(let qe=ve;qe!==xe;qe=qe.parent)qe.scope&&be.unshift(qe.scope);be.forEach(qe=>Ne.openNode(qe))}let Te={};function me(be,qe){const rt=qe&&qe[0];if(we+=be,rt==null)return Ve(),0;if(Te.type==="begin"&&qe.type==="end"&&Te.index===qe.index&&rt===""){if(we+=K.slice(qe.index,qe.index+1),!Je){const Wt=new Error(`0 width match regex (${j})`);throw Wt.languageName=j,Wt.badRule=Te.rule,Wt}return 1}if(Te=qe,qe.type==="begin")return dt(qe);if(qe.type==="illegal"&&!ue){const Wt=new Error('Illegal lexeme "'+rt+'" for mode "'+(ve.scope||"<unnamed>")+'"');throw Wt.mode=ve,Wt}else if(qe.type==="end"){const Wt=it(qe);if(Wt!==Pe)return Wt}if(qe.type==="illegal"&&rt==="")return we+=`
81
+ `,1;if(Vt>1e5&&Vt>qe.index*3)throw new Error("potential infinite loop, way more iterations than matches");return we+=rt,rt.length}const xe=li(j);if(!xe)throw mi(Ge.replace("{}",j)),new Error('Unknown language: "'+j+'"');const Ze=Jn(xe);let Ee="",ve=le||Ze;const At={},Ne=new Ie.__emitter(Ie);zt();let we="",xt=0,$e=0,Vt=0,ai=!1;try{if(xe.__emitTokens)xe.__emitTokens(K,Ne);else{for(ve.matcher.considerAll();;){Vt++,ai?ai=!1:ve.matcher.considerAll(),ve.matcher.lastIndex=$e;const be=ve.matcher.exec(K);if(!be)break;const qe=K.substring($e,be.index),rt=me(qe,be);$e=be.index+rt}me(K.substring($e))}return Ne.finalize(),Ee=Ne.toHTML(),{language:j,value:Ee,relevance:xt,illegal:!1,_emitter:Ne,_top:ve}}catch(be){if(be.message&&be.message.includes("Illegal"))return{language:j,value:Se(K),illegal:!0,relevance:0,_illegalBy:{message:be.message,index:$e,context:K.slice($e-100,$e+100),mode:be.mode,resultSoFar:Ee},_emitter:Ne};if(Je)return{language:j,value:Se(K),illegal:!1,relevance:0,errorRaised:be,_emitter:Ne,_top:ve};throw be}}function yt(j){const K={value:Se(j),illegal:!1,relevance:0,_top:fe,_emitter:new Ie.__emitter(Ie)};return K._emitter.addText(j),K}function Xt(j,K){K=K||Ie.languages||Object.keys(O);const ue=yt(j),le=K.filter(li).filter(ni).map(Ve=>Oe(Ve,j,!1));le.unshift(ue);const De=le.sort((Ve,Ke)=>{if(Ve.relevance!==Ke.relevance)return Ke.relevance-Ve.relevance;if(Ve.language&&Ke.language){if(li(Ve.language).supersetOf===Ke.language)return 1;if(li(Ke.language).supersetOf===Ve.language)return-1}return 0}),[pe,Fe]=De,lt=pe;return lt.secondBest=Fe,lt}function Yt(j,K,ue){const le=K&&ee[K]||ue;j.classList.add("hljs"),j.classList.add(`language-${le}`)}function ti(j){let K=null;const ue=Zt(j);if(et(ue))return;if(qt("before:highlightElement",{el:j,language:ue}),j.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",j);return}if(j.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(j)),Ie.throwUnescapedHTML))throw new rn("One of your code blocks includes unescaped HTML.",j.innerHTML);K=j;const le=K.textContent,De=ue?bt(le,{language:ue,ignoreIllegals:!0}):Xt(le);j.innerHTML=De.value,j.dataset.highlighted="yes",Yt(j,ue,De.language),j.result={language:De.language,re:De.relevance,relevance:De.relevance},De.secondBest&&(j.secondBest={language:De.secondBest.language,relevance:De.secondBest.relevance}),qt("after:highlightElement",{el:j,result:De,text:le})}function ii(j){Ie=Z(Ie,j)}const te=()=>{Ue(),un("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function he(){Ue(),un("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Ce=!1;function Ue(){function j(){Ue()}if(document.readyState==="loading"){Ce||window.addEventListener("DOMContentLoaded",j,!1),Ce=!0;return}document.querySelectorAll(Ie.cssSelector).forEach(ti)}function pt(j,K){let ue=null;try{ue=K(H)}catch(le){if(mi("Language definition for '{}' could not be registered.".replace("{}",j)),Je)mi(le);else throw le;ue=fe}ue.name||(ue.name=j),O[j]=ue,ue.rawDefinition=K.bind(null,H),ue.aliases&&hi(ue.aliases,{languageName:j})}function Xe(j){delete O[j];for(const K of Object.keys(ee))ee[K]===j&&delete ee[K]}function Et(){return Object.keys(O)}function li(j){return j=(j||"").toLowerCase(),O[j]||O[ee[j]]}function hi(j,{languageName:K}){typeof j=="string"&&(j=[j]),j.forEach(ue=>{ee[ue.toLowerCase()]=K})}function ni(j){const K=li(j);return K&&!K.disableAutodetect}function Gi(j){j["before:highlightBlock"]&&!j["before:highlightElement"]&&(j["before:highlightElement"]=K=>{j["before:highlightBlock"](Object.assign({block:K.el},K))}),j["after:highlightBlock"]&&!j["after:highlightElement"]&&(j["after:highlightElement"]=K=>{j["after:highlightBlock"](Object.assign({block:K.el},K))})}function vn(j){Gi(j),ke.push(j)}function Ri(j){const K=ke.indexOf(j);K!==-1&&ke.splice(K,1)}function qt(j,K){const ue=j;ke.forEach(function(le){le[ue]&&le[ue](K)})}function $(j){return un("10.7.0","highlightBlock will be removed entirely in v12.0"),un("10.7.0","Please use highlightElement now."),ti(j)}Object.assign(H,{highlight:bt,highlightAuto:Xt,highlightAll:Ue,highlightElement:ti,highlightBlock:$,configure:ii,initHighlighting:te,initHighlightingOnLoad:he,registerLanguage:pt,unregisterLanguage:Xe,listLanguages:Et,getLanguage:li,registerAliases:hi,autoDetection:ni,inherit:Z,addPlugin:vn,removePlugin:Ri}),H.debugMode=function(){Je=!1},H.safeMode=function(){Je=!0},H.versionString=On,H.regex={concat:w,lookahead:p,either:D,optional:_,anyNumberOfTimes:v};for(const j in cn)typeof cn[j]=="object"&&o(cn[j]);return Object.assign(H,cn),H},$t=It({});return $t.newInstance=()=>It({}),Rw=$t,$t.HighlightJS=$t,$t.default=$t,Rw}var L8=x8();const Av=hR(L8),dD="[A-Za-z$_][0-9A-Za-z$_]*",k8=["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"],I8=["true","false","null","undefined","NaN","Infinity"],uR=["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"],fR=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],D8=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],E8=[].concat(fR,uR,gR);function pR(o){const e=o.regex,t=(Me,{after:Mt})=>{const je="</"+Me[0].slice(1);return Me.input.indexOf(je,Mt)!==-1},i=dD,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Me,Mt)=>{const je=Me[0].length+Me.index,ot=Me.input[je];if(ot==="<"||ot===","){Mt.ignoreMatch();return}ot===">"&&(t(Me,{after:je})||Mt.ignoreMatch());let _t;const pi=Me.input.substring(je);if(_t=pi.match(/^\s*=/)){Mt.ignoreMatch();return}if((_t=pi.match(/^\s+extends\s+/))&&_t.index===0){Mt.ignoreMatch();return}}},a={$pattern:dD,keyword:k8,literal:I8,built_in:E8,"variable.language":D8},c="[0-9](_?[0-9])*",h=`\\.(${c})`,g="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${g})((${h})|\\.)?|(${h}))[eE][+-]?(${c})\\b`},{begin:`\\b(${g})\\b((${h})\\b|\\.)?|(${h})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},v={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},_={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},S={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]},N=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,w,S,{match:/\$\d+/},f];p.contains=N.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(N)});const z=[].concat(P,p.contains),F=z.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(z)}]),ie={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:F},Y={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"}}]},ge={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:{_:[...uR,...gR]}},_e={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Ae={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[ie],illegal:/%/},Le={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function gt(Me){return e.concat("(?!",Me.join("|"),")")}const Tt={match:e.concat(/\b/,gt([...fR,"super","import"].map(Me=>`${Me}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},ft={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},mt={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},ie]},ct="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Ot={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(ct)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[ie]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:F,CLASS_REFERENCE:ge},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),_e,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,w,S,P,{match:/\$\d+/},f,ge,{scope:"attr",match:i+e.lookahead(":"),relevance:0},Ot,{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:ct,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:F}]}]},{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"]}]}]},Ae,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[ie,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},ft,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[ie]},Tt,Le,Y,mt,{match:/\$[(.]/}]}}function U1(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var wh=U1();function mR(o){wh=o}var Oc={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 pn(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(Ks.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var P8=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),Ks={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}}>`))},T8=/^(?:[ \t]*(?:\n|$))+/,M8=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,N8=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,im=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,R8=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,$1=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,_R=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,vR=pn(_R).replace(/bull/g,$1).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(),A8=pn(_R).replace(/bull/g,$1).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(),q1=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,O8=/^[^\n]+/,K1=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,F8=pn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",K1).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),H8=pn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,$1).getRegex(),Dy="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",G1=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,W8=pn("^ {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",G1).replace("tag",Dy).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),bR=pn(q1).replace("hr",im).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",Dy).getRegex(),B8=pn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",bR).getRegex(),Z1={blockquote:B8,code:M8,def:F8,fences:N8,heading:R8,hr:im,html:W8,lheading:vR,list:H8,newline:T8,paragraph:bR,table:Oc,text:O8},hD=pn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",im).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",Dy).getRegex(),z8={...Z1,lheading:A8,table:hD,paragraph:pn(q1).replace("hr",im).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",hD).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",Dy).getRegex()},V8={...Z1,html:pn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",G1).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:Oc,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:pn(q1).replace("hr",im).replace("heading",` *#{1,6} *[^
82
+ ]`).replace("lheading",vR).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},j8=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,U8=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,yR=/^( {2,}|\\)\n(?!\s*$)/,$8=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Eg=/[\p{P}\p{S}]/u,Ey=/[\s\p{P}\p{S}]/u,X1=/[^\s\p{P}\p{S}]/u,q8=pn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Ey).getRegex(),wR=/(?!~)[\p{P}\p{S}]/u,K8=/(?!~)[\s\p{P}\p{S}]/u,G8=/(?:[^\s\p{P}\p{S}]|~)/u,Z8=pn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",P8?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),SR=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,X8=pn(SR,"u").replace(/punct/g,Eg).getRegex(),Y8=pn(SR,"u").replace(/punct/g,wR).getRegex(),CR="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",J8=pn(CR,"gu").replace(/notPunctSpace/g,X1).replace(/punctSpace/g,Ey).replace(/punct/g,Eg).getRegex(),Q8=pn(CR,"gu").replace(/notPunctSpace/g,G8).replace(/punctSpace/g,K8).replace(/punct/g,wR).getRegex(),eq=pn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,X1).replace(/punctSpace/g,Ey).replace(/punct/g,Eg).getRegex(),tq=pn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Eg).getRegex(),iq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",nq=pn(iq,"gu").replace(/notPunctSpace/g,X1).replace(/punctSpace/g,Ey).replace(/punct/g,Eg).getRegex(),sq=pn(/\\(punct)/,"gu").replace(/punct/g,Eg).getRegex(),oq=pn(/^<(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(),rq=pn(G1).replace("(?:-->|$)","-->").getRegex(),aq=pn("^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",rq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Ov=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,lq=pn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Ov).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),xR=pn(/^!?\[(label)\]\[(ref)\]/).replace("label",Ov).replace("ref",K1).getRegex(),LR=pn(/^!?\[(ref)\](?:\[\])?/).replace("ref",K1).getRegex(),cq=pn("reflink|nolink(?!\\()","g").replace("reflink",xR).replace("nolink",LR).getRegex(),uD=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Y1={_backpedal:Oc,anyPunctuation:sq,autolink:oq,blockSkip:Z8,br:yR,code:U8,del:Oc,delLDelim:Oc,delRDelim:Oc,emStrongLDelim:X8,emStrongRDelimAst:J8,emStrongRDelimUnd:eq,escape:j8,link:lq,nolink:LR,punctuation:q8,reflink:xR,reflinkSearch:cq,tag:aq,text:$8,url:Oc},dq={...Y1,link:pn(/^!?\[(label)\]\((.*?)\)/).replace("label",Ov).getRegex(),reflink:pn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ov).getRegex()},t0={...Y1,emStrongRDelimAst:Q8,emStrongLDelim:Y8,delLDelim:tq,delRDelim:nq,url:pn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",uD).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:pn(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",uD).getRegex()},hq={...t0,br:pn(yR).replace("{2,}","*").getRegex(),text:pn(t0.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Um={normal:Z1,gfm:z8,pedantic:V8},$g={normal:Y1,gfm:t0,breaks:hq,pedantic:dq},uq={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},gD=o=>uq[o];function ta(o,e){if(e){if(Ks.escapeTest.test(o))return o.replace(Ks.escapeReplace,gD)}else if(Ks.escapeTestNoEncode.test(o))return o.replace(Ks.escapeReplaceNoEncode,gD);return o}function fD(o){try{o=encodeURI(o).replace(Ks.percentDecode,"%")}catch{return null}return o}function pD(o,e){var s;let t=o.replace(Ks.findPipe,(r,a,c)=>{let h=!1,g=a;for(;--g>=0&&c[g]==="\\";)h=!h;return h?"|":" |"}),i=t.split(Ks.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(Ks.slashPipe,"|");return i}function kl(o,e,t){let i=o.length;if(i===0)return"";let n=0;for(;n<i&&o.charAt(i-n-1)===e;)n++;return o.slice(0,i-n)}function mD(o){let e=o.split(`
83
+ `),t=e.length-1;for(;t>=0&&Ks.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
84
+ `)}function gq(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 fq(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 _D(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 pq(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 Fv=class{constructor(o){Fi(this,"options");Fi(this,"rules");Fi(this,"lexer");this.options=o||wh}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]:mD(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=pq(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:i}}}heading(o){let e=this.rules.block.heading.exec(o);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let i=kl(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:kl(e[0],`
87
+ `),depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(o){let e=this.rules.block.hr.exec(o);if(e)return{type:"hr",raw:kl(e[0],`
88
+ `)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=kl(e[0],`
89
+ `).split(`
90
+ `),i="",n="",s=[];for(;t.length>0;){let r=!1,a=[],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 h=a.join(`
91
+ `),g=h.replace(this.rules.other.blockquoteSetextReplace,`
92
+ $1`).replace(this.rules.other.blockquoteSetextReplace2,"");i=i?`${i}
93
+ ${h}`:h,n=n?`${n}
94
+ ${g}`:g;let f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(g,s,!0),this.lexer.state.top=f,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 v=p,_=v.raw+`
95
+ `+t.join(`
96
+ `),w=this.blockquote(_);s[s.length-1]=w,i=i.substring(0,i.length-v.raw.length)+w.raw,n=n.substring(0,n.length-v.text.length)+w.text;break}else if((p==null?void 0:p.type)==="list"){let v=p,_=v.raw+`
97
+ `+t.join(`
98
+ `),w=this.list(_);s[s.length-1]=w,i=i.substring(0,i.length-p.raw.length)+w.raw,n=n.substring(0,n.length-v.raw.length)+w.raw,t=_.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,h="",g="";if(!(e=s.exec(o))||this.rules.block.hr.test(o))break;h=e[0],o=o.substring(h.length);let f=fq(e[2].split(`
100
+ `,1)[0],e[1].length),p=o.split(`
101
+ `,1)[0],v=!f.trim(),_=0;if(this.options.pedantic?(_=2,g=f.trimStart()):v?_=e[1].length+1:(_=f.search(this.rules.other.nonSpaceChar),_=_>4?1:_,g=f.slice(_),_+=e[1].length),v&&this.rules.other.blankLine.test(p)&&(h+=p+`
102
+ `,o=o.substring(p.length+1),c=!0),!c){let w=this.rules.other.nextBulletRegex(_),S=this.rules.other.hrRegex(_),D=this.rules.other.fencesBeginRegex(_),P=this.rules.other.headingBeginRegex(_),N=this.rules.other.htmlBeginRegex(_),z=this.rules.other.blockquoteBeginRegex(_);for(;o;){let F=o.split(`
103
+ `,1)[0],ie;if(p=F,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),ie=p):ie=p.replace(this.rules.other.tabCharGlobal," "),D.test(p)||P.test(p)||N.test(p)||z.test(p)||w.test(p)||S.test(p))break;if(ie.search(this.rules.other.nonSpaceChar)>=_||!p.trim())g+=`
104
+ `+ie.slice(_);else{if(v||f.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||D.test(f)||P.test(f)||S.test(f))break;g+=`
105
+ `+p}v=!p.trim(),h+=F+`
106
+ `,o=o.substring(F.length+1),f=ie.slice(_)}}n.loose||(r?n.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(r=!0)),n.items.push({type:"list_item",raw:h,task:!!this.options.gfm&&this.rules.other.listIsTask.test(g),loose:!1,text:g,tokens:[]}),n.raw+=h}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 h=c.tokens[0];if(c.task&&((h==null?void 0:h.type)==="text"||(h==null?void 0:h.type)==="paragraph")){c.text=c.text.replace(this.rules.other.listReplaceTask,""),h.raw=h.raw.replace(this.rules.other.listReplaceTask,""),h.text=h.text.replace(this.rules.other.listReplaceTask,"");for(let f=this.lexer.inlineQueue.length-1;f>=0;f--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[f].src)){this.lexer.inlineQueue[f].src=this.lexer.inlineQueue[f].src.replace(this.rules.other.listReplaceTask,"");break}let g=this.rules.other.listTaskCheckbox.exec(c.raw);if(g){let f={type:"checkbox",raw:g[0]+" ",checked:g[0]!=="[ ]"};c.checked=f.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=f.raw+c.tokens[0].raw,c.tokens[0].text=f.raw+c.tokens[0].text,c.tokens[0].tokens.unshift(f)):c.tokens.unshift({type:"paragraph",raw:f.raw,text:f.raw,tokens:[f]}):c.tokens.unshift(f)}}else c.task&&(c.task=!1);if(!n.loose){let g=c.tokens.filter(p=>p.type==="space"),f=g.length>0&&g.some(p=>this.rules.other.anyLine.test(p.raw));n.loose=f}}if(n.loose)for(let c of n.items){c.loose=!0;for(let h of c.tokens)h.type==="text"&&(h.type="paragraph")}return n}}html(o){let e=this.rules.block.html.exec(o);if(e){let t=mD(e[0]);return{type:"html",block:!0,raw:t,pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:t}}}def(o){let e=this.rules.block.def.exec(o);if(e){let t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:kl(e[0],`
107
+ `),href:i,title:n}}}table(o){var r;let e=this.rules.block.table.exec(o);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let t=pD(e[1]),i=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),n=(r=e[3])!=null&&r.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
108
+ `):[],s={type:"table",raw:kl(e[0],`
109
+ `),header:[],align:[],rows:[]};if(t.length===i.length){for(let a of i)this.rules.other.tableAlignRight.test(a)?s.align.push("right"):this.rules.other.tableAlignCenter.test(a)?s.align.push("center"):this.rules.other.tableAlignLeft.test(a)?s.align.push("left"):s.align.push(null);for(let a=0;a<t.length;a++)s.header.push({text:t[a],tokens:this.lexer.inline(t[a]),header:!0,align:s.align[a]});for(let a of n)s.rows.push(pD(a,s.header.length).map((c,h)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:s.align[h]})));return s}}lheading(o){let e=this.rules.block.lheading.exec(o);if(e){let t=e[1].trim();return{type:"heading",raw:kl(e[0],`
110
+ `),depth:e[2].charAt(0)==="="?1:2,text:t,tokens:this.lexer.inline(t)}}}paragraph(o){let e=this.rules.block.paragraph.exec(o);if(e){let t=e[1].charAt(e[1].length-1)===`
111
+ `?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(o){let e=this.rules.block.text.exec(o);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(o){let e=this.rules.inline.escape.exec(o);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(o){let e=this.rules.inline.tag.exec(o);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(o){let e=this.rules.inline.link.exec(o);if(e){let t=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let s=kl(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=gq(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)),_D(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 _D(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,h=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,e=e.slice(-1*o.length+n);(i=h.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 g=[...i[0]][0].length,f=o.slice(0,n+i.index+g+r);if(Math.min(n,r)%2){let v=f.slice(1,-1);return{type:"em",raw:f,text:v,tokens:this.lexer.inlineTokens(v)}}let p=f.slice(2,-2);return{type:"strong",raw:f,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 h=[...i[0]][0].length,g=o.slice(0,n+i.index+h+r),f=g.slice(n,-n);return{type:"del",raw:g,text:f,tokens:this.lexer.inlineTokens(f)}}}}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}}}},kr=class i0{constructor(e){Fi(this,"tokens");Fi(this,"options");Fi(this,"state");Fi(this,"inlineQueue");Fi(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||wh,this.options.tokenizer=this.options.tokenizer||new Fv,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:Ks,block:Um.normal,inline:$g.normal};this.options.pedantic?(t.block=Um.pedantic,t.inline=$g.pedantic):this.options.gfm&&(t.block=Um.gfm,this.options.breaks?t.inline=$g.breaks:t.inline=$g.gfm),this.tokenizer.rules=t}static get rules(){return{block:Um,inline:$g}}static lex(e,t){return new i0(t).lex(e)}static lexInline(e,t){return new i0(t).inlineTokens(e)}lex(e){e=e.replace(Ks.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(Ks.tabCharGlobal," ").replace(Ks.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(g=>(c=g.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 g=t.at(-1);c.raw.length===1&&g!==void 0?g.raw+=`
113
+ `:t.push(c);continue}if(c=this.tokenizer.code(e)){e=e.substring(c.raw.length);let g=t.at(-1);(g==null?void 0:g.type)==="paragraph"||(g==null?void 0:g.type)==="text"?(g.raw+=(g.raw.endsWith(`
114
+ `)?"":`
115
+ `)+c.raw,g.text+=`
116
+ `+c.text,this.inlineQueue.at(-1).src=g.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 g=t.at(-1);(g==null?void 0:g.type)==="paragraph"||(g==null?void 0:g.type)==="text"?(g.raw+=(g.raw.endsWith(`
117
+ `)?"":`
118
+ `)+c.raw,g.text+=`
119
+ `+c.raw,this.inlineQueue.at(-1).src=g.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 h=e;if((a=this.options.extensions)!=null&&a.startBlock){let g=1/0,f=e.slice(1),p;this.options.extensions.startBlock.forEach(v=>{p=v.call({lexer:this},f),typeof p=="number"&&p>=0&&(g=Math.min(g,p))}),g<1/0&&g>=0&&(h=e.substring(0,g+1))}if(this.state.top&&(c=this.tokenizer.paragraph(h))){let g=t.at(-1);i&&(g==null?void 0:g.type)==="paragraph"?(g.raw+=(g.raw.endsWith(`
120
+ `)?"":`
121
+ `)+c.raw,g.text+=`
122
+ `+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=g.text):t.push(c),i=h.length!==e.length,e=e.substring(c.raw.length);continue}if(c=this.tokenizer.text(e)){e=e.substring(c.raw.length);let g=t.at(-1);(g==null?void 0:g.type)==="text"?(g.raw+=(g.raw.endsWith(`
123
+ `)?"":`
124
+ `)+c.raw,g.text+=`
125
+ `+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=g.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 h,g,f,p,v;this.tokenizer.lexer=this;let i=e,n=null;if(this.tokens.links){let _=Object.keys(this.tokens.links);if(_.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(i))!==null;)_.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=((g=(h=this.options.hooks)==null?void 0:h.emStrongMask)==null?void 0:g.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 _;if((p=(f=this.options.extensions)==null?void 0:f.inline)!=null&&p.some(S=>(_=S.call({lexer:this},e,t))?(e=e.substring(_.raw.length),t.push(_),!0):!1))continue;if(_=this.tokenizer.escape(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.tag(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.link(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(_.raw.length);let S=t.at(-1);_.type==="text"&&(S==null?void 0:S.type)==="text"?(S.raw+=_.raw,S.text+=_.text):t.push(_);continue}if(_=this.tokenizer.emStrong(e,i,a)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.codespan(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.br(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.del(e,i,a)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.autolink(e)){e=e.substring(_.raw.length),t.push(_);continue}if(!this.state.inLink&&(_=this.tokenizer.url(e))){e=e.substring(_.raw.length),t.push(_);continue}let w=e;if((v=this.options.extensions)!=null&&v.startInline){let S=1/0,D=e.slice(1),P;this.options.extensions.startInline.forEach(N=>{P=N.call({lexer:this},D),typeof P=="number"&&P>=0&&(S=Math.min(S,P))}),S<1/0&&S>=0&&(w=e.substring(0,S+1))}if(_=this.tokenizer.inlineText(w)){e=e.substring(_.raw.length),_.raw.slice(-1)!=="_"&&(a=_.raw.slice(-1)),r=!0;let S=t.at(-1);(S==null?void 0:S.type)==="text"?(S.raw+=_.raw,S.text+=_.text):t.push(_);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t="Infinite loop on byte: "+e;if(this.options.silent)console.error(t);else throw new Error(t)}},Hv=class{constructor(o){Fi(this,"options");Fi(this,"parser");this.options=o||wh}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(Ks.notSpaceStart))==null?void 0:s[0],n=o.replace(Ks.endingNewline,"")+`
126
+ `;return i?'<pre><code class="language-'+ta(i)+'">'+(t?n:ta(n,!0))+`</code></pre>
127
+ `:"<pre><code>"+(t?n:ta(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>${ta(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=fD(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+ta(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=fD(o);if(n===null)return ta(t);o=n;let s=`<img src="${o}" alt="${ta(t)}"`;return e&&(s+=` title="${ta(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:ta(o.text)}},J1=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}},Ir=class n0{constructor(e){Fi(this,"options");Fi(this,"renderer");Fi(this,"textRenderer");this.options=e||wh,this.options.renderer=this.options.renderer||new Hv,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new J1}static parse(e,t){return new n0(t).parse(e)}static parseInline(e,t){return new n0(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,h=this.options.extensions.renderers[c.type].call({parser:this},c);if(h!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(c.type)){t+=h||"";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 h=this.options.extensions.renderers[a.type].call({parser:this},a);if(h!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){i+=h||"";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 h='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(h),"";throw new Error(h)}}}return i}},$m,cf=($m=class{constructor(o){Fi(this,"options");Fi(this,"block");this.options=o||wh}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?kr.lex:kr.lexInline}provideParser(o=this.block){return o?Ir.parse:Ir.parseInline}},Fi($m,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),Fi($m,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),$m),mq=class{constructor(...o){Fi(this,"defaults",U1());Fi(this,"options",this.setOptions);Fi(this,"parse",this.parseMarkdown(!0));Fi(this,"parseInline",this.parseMarkdown(!1));Fi(this,"Parser",Ir);Fi(this,"Renderer",Hv);Fi(this,"TextRenderer",J1);Fi(this,"Lexer",kr);Fi(this,"Tokenizer",Fv);Fi(this,"Hooks",cf);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 Hv(this.defaults);for(let s in t.renderer){if(!(s in n))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let r=s,a=t.renderer[r],c=n[r];n[r]=(...h)=>{let g=a.apply(n,h);return g===!1&&(g=c.apply(n,h)),g||""}}i.renderer=n}if(t.tokenizer){let n=this.defaults.tokenizer||new Fv(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]=(...h)=>{let g=a.apply(n,h);return g===!1&&(g=c.apply(n,h)),g}}i.tokenizer=n}if(t.hooks){let n=this.defaults.hooks||new cf;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];cf.passThroughHooks.has(s)?n[r]=h=>{if(this.defaults.async&&cf.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await a.call(n,h);return c.call(n,f)})();let g=a.call(n,h);return c.call(n,g)}:n[r]=(...h)=>{if(this.defaults.async)return(async()=>{let f=await a.apply(n,h);return f===!1&&(f=await c.apply(n,h)),f})();let g=a.apply(n,h);return g===!1&&(g=c.apply(n,h)),g}}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 kr.lex(o,e??this.defaults)}parser(o,e){return Ir.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?kr.lex:kr.lexInline)(r,n),c=n.hooks?await n.hooks.processAllTokens(a):a;n.walkTokens&&await Promise.all(this.walkTokens(c,n.walkTokens));let h=await(n.hooks?await n.hooks.provideParser(o):o?Ir.parse:Ir.parseInline)(c,n);return n.hooks?await n.hooks.postprocess(h):h})().catch(s);try{n.hooks&&(e=n.hooks.preprocess(e));let r=(n.hooks?n.hooks.provideLexer(o):o?kr.lex:kr.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?Ir.parse:Ir.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>"+ta(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},ch=new mq;function Ln(o,e){return ch.parse(o,e)}Ln.options=Ln.setOptions=function(o){return ch.setOptions(o),Ln.defaults=ch.defaults,mR(Ln.defaults),Ln};Ln.getDefaults=U1;Ln.defaults=wh;Ln.use=function(...o){return ch.use(...o),Ln.defaults=ch.defaults,mR(Ln.defaults),Ln};Ln.walkTokens=function(o,e){return ch.walkTokens(o,e)};Ln.parseInline=ch.parseInline;Ln.Parser=Ir;Ln.parser=Ir.parse;Ln.Renderer=Hv;Ln.TextRenderer=J1;Ln.Lexer=kr;Ln.lexer=kr.lex;Ln.Tokenizer=Fv;Ln.Hooks=cf;Ln.parse=Ln;Ln.options;Ln.setOptions;Ln.use;Ln.walkTokens;Ln.parseInline;Ir.parse;kr.lex;var _q=R('<span class="chat-model svelte-10ayso4"><!></span>'),vq=R('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),bq=R('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),yq=R('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),wq=R('<ul class="history-list svelte-10ayso4"></ul>'),Sq=R('<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>'),Cq=R('<div class="unconfigured svelte-10ayso4">Configure an AI provider in the <strong class="svelte-10ayso4">Config</strong> tab to use the AI assistant.</div>'),xq=R('Chatting in context of <code class="svelte-10ayso4"> </code>',1),Lq=R('<button class="chip svelte-10ayso4"> </button>'),kq=R('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),Iq=R('<div class="msg-content user-text svelte-10ayso4"> </div>'),vD=R('<span class="tool-args svelte-10ayso4"> </span>'),bD=R('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),yD=R('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),wD=R('<div class="tool-events svelte-10ayso4"></div>'),SD=R('<div class="text-block svelte-10ayso4"></div>'),Dq=R('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),Eq=R('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),Pq=R('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),Tq=R('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),Mq=R('<button class="expand-btn svelte-10ayso4"> </button>'),Nq=R('<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>'),Rq=R('<!> <div class="msg-content svelte-10ayso4"></div>',1),Aq=R("<div><!></div>"),Oq=R('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),Fq=R('<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>'),Hq=R('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),Wq=R('<div class="chat-error svelte-10ayso4"> </div>'),Bq=R('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),zq=R('<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>'),Vq=R('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),jq=R('<button class="send-btn svelte-10ayso4">↑</button>'),Uq=R('<option class="svelte-10ayso4"> </option>'),$q=R('<select class="model-select svelte-10ayso4"></select>'),qq=R('<span class="model-name svelte-10ayso4"> </span>'),Kq=R('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),Gq=R('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),Zq=R('<p class="info-status svelte-10ayso4">Loading…</p>'),Xq=R('<p class="info-status info-err svelte-10ayso4"> </p>'),Yq=R('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),Jq=R('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),Qq=R('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),eK=R('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),tK=R('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),iK=R('<div class="running-model svelte-10ayso4"> </div>'),nK=R('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),sK=R('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),oK=R('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),rK=R('<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>'),aK=R('<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 lK(o,e){Io(e,!0),Av.registerLanguage("javascript",pR),Ln.use({breaks:!0,gfm:!0});let t=eg(e,"currentScript",3,null),i=eg(e,"extraFiles",31,()=>wi([])),n=V(wi([])),s=V(null),r=V(""),a=V(!1),c=V(""),h=V(null);const g="she:conversationId";function f(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=V(wi(localStorage.getItem(g)??f())),v=V(wi([])),_=V(!1);Dn(()=>{localStorage.setItem(g,u(p))});let w=V(wi([])),S=V(wi(localStorage.getItem("she:selectedModel")??"")),D=V(null);const P=st(()=>{var A;return u(D)!==null&&((A=t())==null?void 0:A.path)===u(D)});let N=V(wi(new Set)),z=V(!1),F=V(null),ie=V(!1),Y=V(""),ge=V(0),_e=null,Ae=V(0);const Le=["[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 gt=V(!0),Tt=V(!0),ft=V(!0),mt=V(!1),ct,Ot=V(wi([])),Me,Mt;const je=st(()=>({apiref:u(gt),tools:u(Tt)})),ot=st(()=>{var A;return((A=u(h))==null?void 0:A.configured)??!1}),_t=st(()=>{var A;return u(ot)||!!((A=u(h))!=null&&A.provider)&&!!u(S)}),pi=st(()=>u(ge)+new TextEncoder().encode(u(r)).length),Rt=st(()=>u(ft)?t():null);Dn(()=>{var J;const A=(J=t())==null?void 0:J.path;I(ft,!0),u(D)!==null&&A!==u(D)&&I(D,null)}),Dn(()=>{var dt;if(!u(P))return;const A=u(n).at(-1);if(!A||A.role!=="assistant")return;const He=Dt(A.content).find(it=>it.type==="code"&&Nn(it.lang));if(He){const it=jn(He.text);(dt=e.onApply)==null||dt.call(e,it?it.code:He.text)}}),Dn(()=>{sR().then(A=>{I(h,A,!0),A.configured&&!u(S)&&I(S,A.model,!0)}).catch(()=>{})}),Dn(()=>{u(S)&&localStorage.setItem("she:selectedModel",u(S))}),Dn(()=>{var A;(A=u(h))!=null&&A.provider&&oR().then(J=>{I(w,J.models,!0)}).catch(()=>{})}),Dn(()=>{u(S),I(F,null),I(Y,"")}),Dn(()=>{if(!u(a))return;I(Ae,Math.floor(Math.random()*Le.length),!0);const A=setInterval(()=>{I(Ae,(u(Ae)+1)%Le.length)},1e4);return()=>clearInterval(A)}),Dn(()=>{var A;Mt&&(u(n).length+(((A=u(s))==null?void 0:A.length)??0),requestAnimationFrame(()=>{Mt&&(Mt.scrollTop=Mt.scrollHeight)}))}),Dn(()=>{const A=u(je),J=u(Rt),He=i();u(_t)&&aR({context:A,currentScript:J??null,extraFiles:He.length>0?He:void 0}).then(dt=>{I(ge,new TextEncoder().encode(dt.prompt).length,!0)}).catch(()=>{})});function Dt(A){const J=A.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
145
+ $2
146
+ `),He=[],dt=/```(\w*)\n([\s\S]*?)```/g;let it=0,zt;for(;(zt=dt.exec(J))!==null;)zt.index>it&&He.push({type:"text",text:J.slice(it,zt.index)}),He.push({type:"code",lang:zt[1]||"text",text:zt[2].trimEnd()}),it=zt.index+zt[0].length;return it<J.length&&He.push({type:"text",text:J.slice(it)}),He}const kt=15;function qi(A){return A.split(`
147
+ `).length>kt}function Ki(A){const J=new Set(u(N));J.has(A)?J.delete(A):J.add(A),I(N,J,!0)}function Mn(A,J){if(Nn(J))try{return Av.highlight(A,{language:"javascript"}).value}catch{}return A.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function cn(A){return Ln.parse(A)}function Vi(A){const J=A.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
148
+ $2
149
+ `),He=[],dt=/```(\w*)\n([\s\S]*?)```/g;let it=0,zt;for(;(zt=dt.exec(J))!==null;)zt.index>it&&He.push({type:"text",text:J.slice(it,zt.index)}),He.push({type:"code",lang:zt[1]||"text",text:zt[2].trimEnd()}),it=zt.index+zt[0].length;const Te=J.slice(it),me=Te.match(/```(\w*)\n([\s\S]*)$/);return me?(me.index>0&&He.push({type:"text",text:Te.slice(0,me.index)}),He.push({type:"code",lang:me[1]||"text",text:me[2]})):Te&&He.push({type:"text",text:Te}),He}function dn(A){navigator.clipboard.writeText(A).catch(()=>{})}function hn(A,J=!1){var He;J&&t()&&I(D,t().path,!0),(He=e.onApply)==null||He.call(e,A)}function Nn(A){return!A||A==="js"||A==="javascript"}function jn(A){const J=A.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return J?{filename:J[1],code:A.slice(J[0].length)}:null}function xn(A){return A>=1e9?`${(A/1e9).toFixed(1)} GB`:A>=1e6?`${(A/1e6).toFixed(0)} MB`:A>=1024?`${(A/1024).toFixed(1)} kB`:`${A} B`}async function Rn(){if(I(z,!0),!(u(F)||u(ie))){I(ie,!0),I(Y,"");try{I(F,await rR(u(S)||u(h).model),!0)}catch(A){I(Y,A.message,!0)}I(ie,!1)}}function _n(A){const J=A.match(/\.([^.]+)$/);return J?J[1].toUpperCase():"?"}function Un(A){switch(A){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return A}}function Ye(A){i(i().filter((J,He)=>He!==A))}function Ht(){ct.click()}async function oi(A){if(!(!A||A.length===0))for(const J of Array.from(A)){const He=await J.text();i([...i(),{name:J.name,content:He}])}}function Ut(A){const J=A.target;oi(J.files),J.value=""}function mi(A){var J;A.preventDefault(),I(mt,!1),oi(((J=A.dataTransfer)==null?void 0:J.files)??null)}function An(A){var J;(J=A.dataTransfer)!=null&&J.types.includes("Files")&&(A.preventDefault(),I(mt,!0))}function un(){I(mt,!1)}async function ji(){try{I(v,await h8(),!0)}catch{}}async function sn(){var J;if(u(n).length===0)return;const A=((J=u(n).find(He=>He.role==="user"))==null?void 0:J.content.slice(0,80))??u(p);try{await u8(u(p),A,u(n)),await ji()}catch{}}async function Wn(A){try{const J=await aD(A);I(n,J.messages,!0),I(p,A,!0),I(_,!1),I(c,"")}catch{}}async function Ni(A){try{await g8(A),await ji(),A===u(p)&&on()}catch{}}function on(){I(n,[],!0),I(c,""),I(p,f(),!0),I(_,!1)}Vr(async()=>{try{const A=await aD(u(p));I(n,A.messages,!0)}catch{}await ji()});async function Bn(){const A=u(r).trim();if(!A||u(a))return;I(r,""),I(c,""),I(a,!0);const J={role:"user",content:A};I(n,[...u(n),J],!0),_e=new AbortController,I(Ot,[],!0);try{await lR({messages:u(n),currentScript:u(Rt),context:u(je),modelOverride:u(S)||void 0,extraFiles:i().length>0?i():void 0},He=>{I(s,(u(s)??"")+He)},_e.signal,He=>{I(Ot,[...u(Ot),He],!0)}),I(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(Ot).length>0?[...u(Ot)]:void 0}],!0),I(Ot,[],!0)}catch(He){if(He.name==="AbortError"){const dt=u(s);dt&&dt.trim()&&I(n,[...u(n),{role:"assistant",content:dt+`
150
+
151
+ *[stopped]*`,toolEvents:u(Ot).length>0?[...u(Ot)]:void 0}],!0)}else I(c,He.message,!0)}finally{_e=null,I(s,null),I(Ot,[],!0),I(a,!1),sn()}}function Jn(){_e==null||_e.abort()}function kn(A){A.key==="Enter"&&!A.shiftKey&&(A.preventDefault(),Bn())}function Xi(){on()}const On=["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 rn(A){I(r,A,!0),Me==null||Me.focus()}var Se=aK(),Z=wt(Se),Pe=C(Z),at=x(C(Pe),2);{var It=A=>{var J=_q(),He=C(J);{var dt=Te=>{var me=Rr();X(()=>G(me,`${u(h).provider??""} · ${(u(S)||u(h).model)??""}`)),T(Te,me)},it=Te=>{var me=Rr();X(()=>G(me,`${u(h).provider??""} · pick a model below`)),T(Te,me)},zt=Te=>{var me=Rr("Not configured");T(Te,me)};q(He,Te=>{u(_t)?Te(dt):u(h).provider?Te(it,1):Te(zt,-1)})}X(()=>Hn(J,"title",`Provider: ${u(h).provider??""}`)),T(A,J)};q(at,A=>{u(h)&&A(It)})}var $t=x(at,2);let H;var O=x($t,2);{var ee=A=>{var J=vq();oe("click",J,Xi),T(A,J)};q(O,A=>{u(n).length>0&&A(ee)})}var ke=x(Pe,2);{var Je=A=>{var J=Sq(),He=C(J),dt=x(C(He),2),it=x(He,2);{var zt=me=>{var xe=bq();T(me,xe)},Te=me=>{var xe=wq();_i(xe,21,()=>u(v),Ze=>Ze.id,(Ze,Ee)=>{var ve=yq();let At;var Ne=C(ve),we=C(Ne),xt=x(Ne,2);X(()=>{At=Kt(ve,1,"history-item svelte-10ayso4",null,At,{"history-active":u(Ee).id===u(p)}),Hn(Ne,"title",u(Ee).id),G(we,u(Ee).title||u(Ee).id)}),oe("click",Ne,()=>Wn(u(Ee).id)),oe("click",xt,()=>Ni(u(Ee).id)),T(Ze,ve)}),T(me,xe)};q(it,me=>{u(v).length===0?me(zt):me(Te,-1)})}oe("click",dt,on),T(A,J)};q(ke,A=>{u(_)&&A(Je)})}var Ge=x(ke,2),fe=C(Ge);{var Ie=A=>{var J=Cq();T(A,J)},et=A=>{var J=kq(),He=C(J),dt=C(He);{var it=me=>{var xe=xq(),Ze=x(wt(xe)),Ee=C(Ze);X(ve=>G(Ee,ve),[()=>t().path.split("/").pop()]),T(me,xe)},zt=me=>{var xe=Rr("No script open. Ask a general she scripting question.");T(me,xe)};q(dt,me=>{t()?me(it):me(zt,-1)})}var Te=x(He,2);_i(Te,17,()=>On,En,(me,xe)=>{var Ze=Lq(),Ee=C(Ze);X(()=>G(Ee,u(xe))),oe("click",Ze,()=>rn(u(xe))),T(me,Ze)}),T(A,J)};q(fe,A=>{u(ot)?u(n).length===0&&u(s)===null&&A(et,1):A(Ie)})}var Zt=x(fe,2);_i(Zt,17,()=>u(n),En,(A,J,He)=>{var dt=Aq(),it=C(dt);{var zt=me=>{var xe=Iq(),Ze=C(xe);X(()=>G(Ze,u(J).content)),T(me,xe)},Te=me=>{const xe=st(()=>Dt(u(J).content));var Ze=Rq(),Ee=wt(Ze);{var ve=Ne=>{var we=wD();_i(we,21,()=>u(J).toolEvents,En,(xt,$e)=>{var Vt=Ds(),ai=wt(Vt);{var be=rt=>{var Wt=bD(),tt=x(C(Wt),2),ui=C(tt),ri=x(tt,2);{var Ti=Bt=>{var Ui=vD(),tn=C(Ui);X(bn=>G(tn,bn),[()=>Object.entries(u($e).args).map(([bn,$n])=>`${bn}=${JSON.stringify($n)}`).join(", ")]),T(Bt,Ui)},Jt=st(()=>u($e).args&&Object.keys(u($e).args).length>0);q(ri,Bt=>{u(Jt)&&Bt(Ti)})}X(Bt=>G(ui,Bt),[()=>u($e).name.replace(/_/g," ")]),T(rt,Wt)},qe=rt=>{var Wt=yD(),tt=x(C(Wt),2),ui=C(tt);X(ri=>G(ui,ri),[()=>u($e).name.replace(/_/g," ")]),T(rt,Wt)};q(ai,rt=>{u($e).type==="tool_call"?rt(be):rt(qe,-1)})}T(xt,Vt)}),T(Ne,we)};q(Ee,Ne=>{var we;(we=u(J).toolEvents)!=null&&we.length&&Ne(ve)})}var At=x(Ee,2);_i(At,21,()=>u(xe),En,(Ne,we,xt)=>{var $e=Ds(),Vt=wt($e);{var ai=qe=>{var rt=SD();Wl(rt,()=>cn(u(we).text),!0),T(qe,rt)},be=qe=>{const rt=st(()=>Nn(u(we).lang)?jn(u(we).text):null),Wt=st(()=>u(rt)?u(rt).code:u(we).text),tt=st(()=>`${He}:${xt}`),ui=st(()=>qi(u(Wt))),ri=st(()=>u(N).has(u(tt)));var Ti=Nq(),Jt=C(Ti),Bt=C(Jt),Ui=C(Bt),tn=x(Bt,2),bn=C(tn),$n=x(bn,2);{var In=bi=>{var uo=Dq();oe("click",uo,()=>e.onCreateFile(u(rt).filename,u(rt).code)),T(bi,uo)},Ps=bi=>{var uo=Tq(),xs=wt(uo),Ea=x(xs,2);{var Sh=Uo=>{var bl=Eq();T(Uo,bl)},Pg=Uo=>{var bl=Pq();oe("click",bl,()=>hn(u(we).text,!0)),T(Uo,bl)};q(Ea,Uo=>{u(P)?Uo(Sh):Uo(Pg,-1)})}oe("click",xs,()=>hn(u(we).text)),T(bi,uo)},Ur=st(()=>Nn(u(we).lang)&&t());q($n,bi=>{u(rt)&&e.onCreateFile?bi(In):u(Ur)&&bi(Ps,1)})}var Eo=x(Jt,2);let $r;var qr=C(Eo),Kr=C(qr);Wl(Kr,()=>Mn(u(Wt),u(we).lang??""),!0);var _r=x(qr,2);{var Lc=bi=>{var uo=Mq(),xs=C(uo);X(()=>G(xs,u(ri)?"▲ collapse":"▼ expand")),oe("click",uo,()=>Ki(u(tt))),T(bi,uo)};q(_r,bi=>{u(ui)&&bi(Lc)})}X(()=>{G(Ui,u(rt)?`new: ${u(rt).filename}`:u(we).lang),$r=Kt(Eo,1,"code-body svelte-10ayso4",null,$r,{collapsed:u(ui)&&!u(ri)})}),oe("click",bn,()=>dn(u(Wt))),T(qe,Ti)};q(Vt,qe=>{u(we).type==="text"?qe(ai):qe(be,-1)})}T(Ne,$e)}),T(me,Ze)};q(it,me=>{u(J).role==="user"?me(zt):me(Te,-1)})}X(()=>Kt(dt,1,`message ${u(J).role??""}`,"svelte-10ayso4")),T(A,dt)});var bt=x(Zt,2);{var Oe=A=>{var J=wD();_i(J,21,()=>u(Ot),En,(He,dt)=>{var it=Ds(),zt=wt(it);{var Te=xe=>{var Ze=bD(),Ee=x(C(Ze),2),ve=C(Ee),At=x(Ee,2);{var Ne=xt=>{var $e=vD(),Vt=C($e);X(ai=>G(Vt,ai),[()=>Object.entries(u(dt).args).map(([ai,be])=>`${ai}=${JSON.stringify(be)}`).join(", ")]),T(xt,$e)},we=st(()=>u(dt).args&&Object.keys(u(dt).args).length>0);q(At,xt=>{u(we)&&xt(Ne)})}X(xt=>G(ve,xt),[()=>u(dt).name.replace(/_/g," ")]),T(xe,Ze)},me=xe=>{var Ze=yD(),Ee=x(C(Ze),2),ve=C(Ee);X(At=>G(ve,At),[()=>u(dt).name.replace(/_/g," ")]),T(xe,Ze)};q(zt,xe=>{u(dt).type==="tool_call"?xe(Te):xe(me,-1)})}T(He,it)}),T(A,J)};q(bt,A=>{u(Ot).length>0&&A(Oe)})}var yt=x(bt,2);{var Xt=A=>{var J=Oq(),He=C(J),dt=C(He),it=C(dt);X(()=>G(it,Le[u(Ae)])),T(A,J)};q(yt,A=>{u(a)&&u(s)===null&&u(Ot).length===0&&A(Xt)})}var Yt=x(yt,2);{var ti=A=>{var J=Hq(),He=C(J);_i(He,21,()=>Vi(u(s)),En,(dt,it)=>{var zt=Ds(),Te=wt(zt);{var me=Ze=>{var Ee=SD();Wl(Ee,()=>cn(u(it).text),!0),T(Ze,Ee)},xe=Ze=>{var Ee=Fq(),ve=C(Ee),At=C(ve),Ne=C(At),we=x(ve,2),xt=C(we);Wl(xt,()=>Mn(u(it).text,u(it).lang??""),!0),X(()=>G(Ne,u(it).lang)),T(Ze,Ee)};q(Te,Ze=>{u(it).type==="text"?Ze(me):Ze(xe,-1)})}T(dt,zt)}),T(A,J)};q(Yt,A=>{u(s)!==null&&A(ti)})}Ss(Ge,A=>Mt=A,()=>Mt);var ii=x(Ge,2);{var te=A=>{var J=Wq(),He=C(J);X(()=>G(He,u(c))),T(A,J)};q(ii,A=>{u(c)&&A(te)})}var he=x(ii,2),Ce=C(he),Ue=C(Ce),pt=x(Ce,2),Xe=C(pt),Et=x(pt,2),li=C(Et),hi=x(he,2),ni=C(hi);{var Gi=A=>{const J=st(()=>_n(t().path.split("/").pop()??t().path));var He=Bq();let dt;var it=C(He),zt=C(it),Te=x(it,2),me=C(Te),xe=x(Te,2),Ze=C(xe);X((Ee,ve)=>{dt=Kt(He,1,"file-chip svelte-10ayso4",null,dt,{inactive:!u(ft)}),Kt(it,1,`badge badge-${Ee??""}`,"svelte-10ayso4"),G(zt,ve),G(me,t().path),Hn(xe,"title",u(ft)?"Remove from context":"Re-add to context"),G(Ze,u(ft)?"×":"+")},[()=>u(J).toLowerCase(),()=>Un(u(J))]),oe("click",xe,()=>I(ft,!u(ft))),T(A,He)};q(ni,A=>{t()&&A(Gi)})}var vn=x(ni,2);_i(vn,17,i,En,(A,J,He)=>{const dt=st(()=>_n(u(J).name));var it=zq(),zt=C(it),Te=C(zt),me=x(zt,2),xe=C(me),Ze=x(me,2);X((Ee,ve)=>{Kt(zt,1,`badge badge-${Ee??""}`,"svelte-10ayso4"),G(Te,ve),G(xe,u(J).name)},[()=>u(dt).toLowerCase(),()=>Un(u(dt))]),oe("click",Ze,()=>Ye(He)),T(A,it)});var Ri=x(vn,2),qt=x(Ri,2);Ss(qt,A=>ct=A,()=>ct);var $=x(hi,2);let j;var K=C($);let ue;var le=C(K);Ss(le,A=>Me=A,()=>Me);var De=x(K,2);{var pe=A=>{var J=Vq();oe("click",J,Jn),T(A,J)},Fe=A=>{var J=jq();X(He=>J.disabled=He,[()=>!u(r).trim()||!u(_t)]),oe("click",J,Bn),T(A,J)};q(De,A=>{u(a)?A(pe):A(Fe,-1)})}var lt=x($,2);{var Ve=A=>{var J=Gq(),He=C(J),dt=C(He),it=x(He,2);{var zt=Ze=>{var Ee=$q();_i(Ee,21,()=>u(w),En,(ve,At)=>{var Ne=Uq(),we=C(Ne),xt={};X(()=>{G(we,u(At)),xt!==(xt=u(At))&&(Ne.value=(Ne.__value=u(At))??"")}),T(ve,Ne)}),X(()=>Ee.disabled=u(a)),ha(Ee,()=>u(S),ve=>I(S,ve)),T(Ze,Ee)},Te=Ze=>{var Ee=qq(),ve=C(Ee);X(()=>G(ve,u(S)||u(h).model)),T(Ze,Ee)};q(it,Ze=>{u(w).length>0?Ze(zt):Ze(Te,-1)})}var me=x(it,2);{var xe=Ze=>{var Ee=Kq();oe("click",Ee,Rn),T(Ze,Ee)};q(me,Ze=>{u(h).provider==="ollama"&&Ze(xe)})}X(()=>G(dt,u(h).provider)),T(A,J)};q(lt,A=>{var J;(J=u(h))!=null&&J.provider&&(u(ot)||u(w).length>0)&&A(Ve)})}var Ke=x(Z,2);{var si=A=>{var J=rK(),He=C(J),dt=C(He),it=C(dt),zt=C(it),Te=x(it,2),me=x(dt,2),xe=C(me);{var Ze=At=>{var Ne=Zq();T(At,Ne)},Ee=At=>{var Ne=Xq(),we=C(Ne);X(()=>G(we,u(Y))),T(At,Ne)},ve=At=>{var Ne=oK(),we=C(Ne);{var xt=Jt=>{var Bt=Yq(),Ui=x(wt(Bt)),tn=C(Ui);X(()=>G(tn,u(F).version)),T(Jt,Bt)};q(we,Jt=>{u(F).version&&Jt(xt)})}var $e=x(we,2);{var Vt=Jt=>{var Bt=Jq(),Ui=x(wt(Bt)),tn=C(Ui);X(()=>G(tn,u(F).details.family)),T(Jt,Bt)};q($e,Jt=>{var Bt;(Bt=u(F).details)!=null&&Bt.family&&Jt(Vt)})}var ai=x($e,2);{var be=Jt=>{var Bt=Qq(),Ui=x(wt(Bt)),tn=C(Ui);X(()=>G(tn,u(F).details.parameter_size)),T(Jt,Bt)};q(ai,Jt=>{var Bt;(Bt=u(F).details)!=null&&Bt.parameter_size&&Jt(be)})}var qe=x(ai,2);{var rt=Jt=>{var Bt=eK(),Ui=x(wt(Bt)),tn=C(Ui);X(()=>G(tn,u(F).details.quantization_level)),T(Jt,Bt)};q(qe,Jt=>{var Bt;(Bt=u(F).details)!=null&&Bt.quantization_level&&Jt(rt)})}var Wt=x(qe,2);{var tt=Jt=>{var Bt=tK(),Ui=x(wt(Bt)),tn=C(Ui);X(()=>G(tn,u(F).details.format)),T(Jt,Bt)};q(Wt,Jt=>{var Bt;(Bt=u(F).details)!=null&&Bt.format&&Jt(tt)})}var ui=x(Wt,2);{var ri=Jt=>{var Bt=nK(),Ui=x(wt(Bt),2);_i(Ui,21,()=>u(F).running,En,(tn,bn)=>{var $n=iK(),In=C($n);X(Ps=>G(In,`${u(bn).name??""} · ${Ps??""} VRAM`),[()=>xn(u(bn).size_vram)]),T(tn,$n)}),T(Jt,Bt)},Ti=Jt=>{var Bt=sK();T(Jt,Bt)};q(ui,Jt=>{u(F).running&&u(F).running.length>0?Jt(ri):u(F).running!==null&&Jt(Ti,1)})}T(At,Ne)};q(xe,At=>{u(ie)?At(Ze):u(Y)?At(Ee,1):u(F)&&At(ve,2)})}X(()=>{var At;return G(zt,`Ollama · ${(u(S)||((At=u(h))==null?void 0:At.model))??""}`)}),oe("click",J,()=>I(z,!1)),oe("click",He,At=>At.stopPropagation()),oe("click",Te,()=>I(z,!1)),T(A,J)};q(Ke,A=>{u(z)&&A(si)})}X(A=>{H=Kt($t,1,"icon-hdr-btn svelte-10ayso4",null,H,{active:u(_)}),G(li,A),j=Kt($,1,"input-row svelte-10ayso4",null,j,{"drag-over":u(mt)}),ue=Kt(K,1,"textarea-wrap svelte-10ayso4",null,ue,{loading:u(a)}),Hn(le,"placeholder",u(_t)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":u(ot)?"Select a model above to start chatting":"AI not configured"),le.disabled=u(a)||!u(_t)},[()=>xn(u(pi))]),oe("click",$t,()=>I(_,!u(_))),qs(Ue,()=>u(gt),A=>I(gt,A)),qs(Xe,()=>u(Tt),A=>I(Tt,A)),oe("click",Ri,Ht),oe("change",qt,Ut),es("dragover",$,An),es("dragleave",$,un),es("drop",$,mi),oe("keydown",le,kn),Ei(le,()=>u(r),A=>I(r,A)),T(o,Se),Do()}mr(["click","change","keydown"]);const cK={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"]},dK={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 s0=[],o0=[],r0=[];const Wv=new Map;let kR=[];const a0=new Map,l0=new Map;async function CD(){try{s0=(await nR()).map(e=>e.topic)}catch{}}async function xD(){try{const[o,e]=await Promise.all([eR(),tR()]);o0=o,r0=e}catch{}}async function LD(){try{const o=await iR();kR=o.map(e=>e.nodeId),a0.clear(),l0.clear();for(const e of o)e.name&&(a0.set(e.nodeId,e.name),l0.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!Wv.has(e.nodeId))try{Wv.set(e.nodeId,await m_(e.nodeId))}catch{}}))}catch{}}function hK(o){const e=/(?:she\.mqtt\.(?:sub|pub|get|set|link|age|getProp)|she\.(?:link|age|getValue|setValue|getProp|combineBool|combineMax|timer))\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 h=c[1],g=uK(h),f=gK(h);if(g===0)return{type:"matter-nodeId",prefix:f};if(g===1){const p=$h(h,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(g===2){const p=$h(h,0),v=kD(h,1)??$h(h,1);if(p&&v!==null)return{type:"matter-cluster",nodeId:p,endpointId:v}}if(g>=3){const p=$h(h,0),v=kD(h,1)??$h(h,1),_=$h(h,2),w=/she\.matter\.send\s*\(/.test(o);if(p&&v!==null&&_)return{type:"matter-attr",nodeId:p,endpointId:v,cluster:_,isSend:w}}}return null}function uK(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 gK(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function $h(o,e){var s;const i=(s=IR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function kD(o,e){var s;const i=(s=IR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function IR(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 dh=Rc.CompletionItemKind;function fK(o,e){return(e?s0.filter(i=>i.startsWith(e)):s0).map(i=>({label:i,kind:dh.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function pK(o,e,t){const i=t?[...o0,...r0]:o0;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:dh.Value,insertText:s,range:o,detail:r0.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function mK(o,e){return kR.map(t=>{const i=a0.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:dh.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function DR(o){return l0.get(o)??o}function _K(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 vK(o,e){const t=Wv.get(DR(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:dh.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function bK(o,e,t){const i=Wv.get(DR(e));if(!i)return[];const n=_K(i,t);return n?n.clusters.map(s=>({label:s.name,kind:dh.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function yK(o,e,t){return(t?dK[e]??[]:cK[e]??[]).map(n=>({label:n,kind:t?dh.Function:dh.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let ID=!1;function wK(){ID||(ID=!0,CD(),xD(),LD(),setInterval(CD,15e3),setInterval(xD,1e4),setInterval(LD,6e4),Rc.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=hK(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:fK(a,i.prefix)};case"db":return{suggestions:pK(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:mK(a,i.prefix)};case"matter-endpointId":return{suggestions:vK(a,i.nodeId)};case"matter-cluster":return{suggestions:bK(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:yK(a,i.cluster,i.isSend)};default:return null}}}))}var SK=R('<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),CK=R('<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),xK=R('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),LK=R('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),DD=R('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),kK=R('<ul class="tree-children svelte-1pyfjii"></ul>'),IK=R('<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>'),DK=R('<span class="dirty-dot svelte-1pyfjii">●</span>'),EK=R('<span class="err-dot svelte-1pyfjii">●</span>'),PK=R('<label class="dis-label svelte-1pyfjii" title="Disable — this script 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>'),TK=R('<span class="dis-spacer svelte-1pyfjii"></span>'),MK=R('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!></button> <!></div></li>'),NK=R('<div class="err svelte-1pyfjii"> </div>'),RK=R('<span class="tab-dirty svelte-1pyfjii">●</span>'),AK=R('<div role="button" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),OK=R('<div class="tab-bar svelte-1pyfjii"></div>'),FK=R('<span class="git-changes svelte-1pyfjii"> </span>'),HK=R('<span class="git-ahead svelte-1pyfjii"> </span>'),WK=R('<span class="git-behind svelte-1pyfjii"> </span>'),BK=R('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),zK=R('<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 & Commit</button> <button class="svelte-1pyfjii">Push</button></div>',1),VK=R('<button class="danger svelte-1pyfjii">Delete</button>'),jK=R(`<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>`),UK=R('<button class="svelte-1pyfjii">Always accept in this session</button>'),$K=R('<button class="svelte-1pyfjii">Disable auto-accept</button>'),qK=R('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),KK=R('<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>'),GK=R('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),ZK=R('<span class="log-file svelte-1pyfjii"> </span>'),XK=R("<option> </option>"),YK=R('<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),JK=R('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),QK=R('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),eG=R('<div class="log-body svelte-1pyfjii"><!> <!></div>'),tG=R('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),iG=R('<!> <!> <!> <!> <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 nG(o,e){Io(e,!0);let t=V(wi([])),i=V(wi({})),n=V(null),s=V(null),r=V(null),a=V(null),c=V(wi([])),h=V(null),g=V(!1),f=V(""),p=V(!1),v=V(!0),_=V(null),w=V(void 0),S=V(wi(new Set));const D=new Set;let P=V(wi([])),N=V("all"),z=V(""),F=V(!1);const ie=["all","debug","info","warn","error"],Y={debug:0,info:1,warn:2,error:3};function ge(B){if(u(N)!=="all"&&Y[B.level]<Y[u(N)])return!1;if(!u(z))return!0;if(u(F))try{return new RegExp(u(z),"i").test(B.msg)}catch{}return B.msg.toLowerCase().includes(u(z).toLowerCase())}let _e=V(null);function Ae(B){const ae=B.currentTarget.getBoundingClientRect();I(_e,{x:ae.left,y:ae.top},!0)}function Le(){I(_e,null)}let gt,Tt,ft,mt=!1,ct=null,Ot=!1,Me=!1,Mt=V(!1),je=V(null),ot=V(!1),_t=V(!1),pi=V(void 0),Rt=null,Dt=null,kt=null,qi=V(wi(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),Ki=V(wi(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),Mn=V(wi(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),cn=!1,Vi=0,dn=0,hn=!1,Nn=0,jn=0,xn=!1,Rn=0,_n=0;const Un=st(()=>{var B;return u(h)&&u(Ut)?{path:u(h),content:((B=u(Ut).model)==null?void 0:B.getValue())??u(Ut).savedContent}:null}),Ye=st(()=>{var B;return new Set(((B=u(_))==null?void 0:B.changes.map(ae=>ae.file))??[])});let Ht,oi,Ut=st(()=>u(c).find(B=>B.path===u(h))??null);const mi="she-tabs",An="she-active-tab",un="she-log-open",ji="she-chat-open";let sn=eg(e,"active",3,!0);Dn(()=>{Me&&(localStorage.setItem(mi,JSON.stringify(u(c).map(B=>B.path))),u(h)?localStorage.setItem(An,u(h)):localStorage.removeItem(An))}),Dn(()=>{Me&&localStorage.setItem(ji,String(u(Mt)))}),Dn(()=>{sn()&&Tt&&Tt.layout()});const Wn=`
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
+ combineBool(srcs: string[], target: string): void;
165
+ combineMax(srcs: string[], target: string): void;
166
+ timer(src: string | string[], target: string, time: number): void;
167
+ mqtt: {
168
+ sub(topic: string | string[], opts?: any, cb?: (topic: string, val: any, obj: any, prev: any, msg: any) => void): void;
169
+ pub(topic: string | string[], payload: any, opts?: { qos?: number; retain?: boolean }): void;
170
+ get(topic: string): any;
171
+ set(topic: string | string[], val: any): void;
172
+ getProp(topic: string, ...prop: string[]): any;
173
+ link(source: string | string[], target: string | string[], value?: any): void;
174
+ age(topic: string): number;
175
+ };
176
+ api: {
177
+ get(path: string, handler: (req: any) => any): void;
178
+ post(path: string, handler: (req: any, body: any) => any): void;
179
+ put(path: string, handler: (req: any, body: any) => any): void;
180
+ delete(path: string, handler: (req: any) => any): void;
181
+ };
182
+ db: {
183
+ get(id: string): any;
184
+ set(id: string, doc: object): void;
185
+ extend(id: string, partial: object): void;
186
+ delete(id: string): void;
187
+ prop(id: string, method: 'set' | 'create' | 'del', prop: string, val?: any): void;
188
+ sub(pattern: string, callback: (id: string, doc: any) => void): void;
189
+ query(filter: string | null, mapFn: Function, reduceFn?: Function): any[];
190
+ };
191
+ matter: {
192
+ sub(nodeId: string, endpointId: number, cluster: string, attr: string, cb: (val: any, old: any) => void): number;
193
+ unsub(listenerId: number): void;
194
+ get(nodeId: string, endpointId: number, cluster: string, attr: string): Promise<any>;
195
+ send(nodeId: string, endpointId: number, cluster: string, command: string, args?: object): Promise<any>;
196
+ on(nodeId: string, endpointId: number, cluster: string, event: string, cb: (val: any) => void): number;
197
+ };
198
+ influx: {
199
+ query(fluxQuery: string): Promise<any[]>;
200
+ write(measurement: string, fields: object, tags?: object, timestamp?: number | Date): Promise<void>;
201
+ getLast(topic: string, n: number): Promise<Array<{ ts: number; val: any }>>;
202
+ getRange(topic: string, from: number | string | Date, to: number | string | Date): Promise<Array<{ ts: number; val: any }>>;
203
+ };
204
+ elastic: {
205
+ search(index: string, query: object): Promise<{ hits: any[]; total: number }>;
206
+ get(index: string, id: string): Promise<object | null>;
207
+ index(index: string, doc: object, id?: string): Promise<{ id: string }>;
208
+ find(index: string, field: string, text: string, size?: number): Promise<any[]>;
209
+ };
210
+ };
211
+ `;Vr(async()=>{var de;I(v,localStorage.getItem(un)!=="false"),I(Mt,localStorage.getItem(ji)==="true"),Rc.typescript.javascriptDefaults.addExtraLib(Wn,"she-api.d.ts"),Rc.typescript.javascriptDefaults.setCompilerOptions({target:Rc.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),Rc.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),wK(),ft=Fa.createModel("","javascript"),Tt=Fa.create(gt,{model:ft,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),Tt.onDidChangeModelContent(()=>{if(mt)return;const Pt=u(c).find(Qt=>Qt.path===u(h));Pt&&(Pt.dirty=Tt.getValue()!==Pt.savedContent),Ce&&clearTimeout(Ce),Ce=setTimeout(Ue,600)}),ct=dR(Pt=>{const Qt=Pt.msg.match(/^([^:\n]+\.js):\s/);if(!Qt)return;const Ft=Qt[1];if(Pt.level==="error")D.add(Ft),u(S).has(Ft)||I(S,new Set([...u(S),Ft]),!0);else if(D.has(Ft)){D.delete(Ft);const Mi=new Set(u(S));Mi.delete(Ft),I(S,Mi,!0)}const Bi=u(c).find(Mi=>Mi.path===Ft);Bi&&(Bi.logEntries=[...Bi.logEntries.slice(-199),Pt],Bi.path===u(h)&&u(v)&&u(w)&&lS().then(()=>{u(w)&&(u(w).scrollTop=u(w).scrollHeight)}))}),await Ni(),Z();const B=JSON.parse(localStorage.getItem(mi)??"[]"),ae=localStorage.getItem(An);for(const Pt of B)await Xi(Pt,!1);const Re=ae&&u(c).some(Pt=>Pt.path===ae)?ae:((de=u(c)[0])==null?void 0:de.path)??null;Re&&await rn(Re),Me=!0}),oy(()=>{var B;Ce&&clearTimeout(Ce),ct==null||ct();for(const ae of u(c))(B=ae.model)==null||B.dispose();ft==null||ft.dispose(),Tt==null||Tt.dispose()});async function Ni(){try{if(I(t,await $7(),!0),!Ot){let ae=function(Re){for(const de of Re)de.type==="dir"&&(B[de.path]=!0,de.children&&ae(de.children))};Ot=!0;const B={};ae(u(t)),I(i,B,!0)}I(f,"")}catch(B){I(f,B.message,!0)}}function on(B){u(i)[B]=!u(i)[B]}function Bn(B){switch(B){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return B}}async function Jn(B,ae){try{ae?await Pc(`${B}/.shelib`,""):await jm(`${B}/.shelib`),await Ni()}catch(Re){I(f,Re.message,!0)}}async function kn(B,ae){const Re=B.split("/").pop(),de=B.includes("/")?B.slice(0,B.lastIndexOf("/")):"",Pt=de?`${de}/.shedisable-${Re}`:`.shedisable-${Re}`;try{ae?await Pc(Pt,""):await jm(Pt),await Ni()}catch(Qt){I(f,Qt.message,!0)}}async function Xi(B,ae=!0){var Re;if(u(c).some(de=>de.path===B)){ae&&await rn(B);return}try{const{content:de}=await nD(B),Pt=FF.parse(`file:///she-scripts/${encodeURIComponent(B)}`);(Re=Fa.getModel(Pt))==null||Re.dispose();const Qt=Fa.createModel(de,he(B),Pt);I(c,[...u(c),{path:B,dirty:!1,savedContent:de,model:Qt,logEntries:[]}],!0),ae&&await rn(B)}catch(de){I(f,de.message,!0)}}async function On(B){await Xi(B,!0)}async function rn(B){const ae=u(c).find(Re=>Re.path===B);ae!=null&&ae.model&&(I(h,B,!0),mt=!0,Tt.setModel(ae.model),mt=!1,Ue())}async function Se(B){var de;const ae=u(c).find(Pt=>Pt.path===B);if(!ae||ae.dirty&&!await Ht.show(`Discard unsaved changes to ${B}?`,{confirm:"Discard"}))return;const Re=u(c).findIndex(Pt=>Pt.path===B);if((de=ae.model)==null||de.dispose(),I(c,u(c).filter(Pt=>Pt.path!==B),!0),u(h)===B){const Pt=u(c)[Re]??u(c)[Re-1]??null;Pt?await rn(Pt.path):(I(h,null),Tt.setModel(ft))}}async function Z(){try{I(_,await K7(),!0)}catch{I(_,null)}}async function Pe(){if(!u(h))return;const B=u(c).find(ae=>ae.path===u(h));if(B){I(g,!0);try{const ae=Tt.getValue();await Pc(u(h),ae),B.savedContent=ae,B.dirty=!1,I(f,""),Z()}catch(ae){I(f,ae.message,!0)}finally{I(g,!1)}}}async function at(){if(!u(h)||(await Pe(),u(f)))return;const B=u(h).split("/").pop()??u(h),ae=await oi.show("Commit message:",{initial:`update ${B}`,placeholder:"Update script",confirm:"Commit"});if(ae)try{await Y7(u(h),ae),Z()}catch(Re){I(f,"Git: "+Re.message)}}async function It(){I(p,!1);try{await J7(),await Z(),I(f,"")}catch(B){I(f,"Git push: "+B.message)}}async function $t(){const B=u(n)?`${u(n)}/`:"",ae=await oi.show("New script name:",{placeholder:B?`${B}myscript.js`:"myscript.js",initial:B,confirm:"Create"});if(!ae)return;const Re=ae.endsWith(".js")?`/* global she */
212
+ 'use strict';
213
+
214
+ `:"";await Pc(ae,Re),await Ni(),await Xi(ae,!0)}async function H(){const B=u(n)?`${u(n)}/`:"",ae=await oi.show("New folder name:",{placeholder:B?`${B}subfolder`:"myfolder",initial:B,confirm:"Create"});ae&&(await q7(ae),u(i)[ae]=!0,await Ni())}function O(B,ae){B.preventDefault(),I(s,{x:B.clientX,y:B.clientY,entry:ae},!0)}function ee(){I(s,null)}async function ke(B){ee(),I(n,B,!0),u(i)[B]=!0,await $t()}async function Je(B){ee(),I(n,B,!0),await H()}async function Ge(B){ee();const ae=B.path.includes("/")?B.path.slice(0,B.path.lastIndexOf("/")+1):"",Re=await oi.show(B.type==="dir"?"Rename folder:":"Rename script:",{initial:B.name,placeholder:B.name,confirm:"Rename"});if(!Re||Re===B.name)return;const de=ae+Re;try{await sD(B.path,de);const Pt=u(c).find(Qt=>Qt.path===B.path);Pt&&(Pt.path=de,u(h)===B.path&&I(h,de)),await Ni()}catch(Pt){I(f,Pt.message,!0)}}function fe(B){if(!B.children)return 0;let ae=0;for(const Re of B.children)ae++,Re.type==="dir"&&(ae+=fe(Re));return ae}async function Ie(B){ee();let ae=`Delete ${B.type==="dir"?"folder":"file"} "${B.path}"?`;if(B.type==="dir"){const Re=fe(B);Re>0&&(ae+=` This will also delete ${Re} item${Re===1?"":"s"} inside.`)}if(await Ht.show(ae,{confirm:"Delete",danger:!0})){if(B.type==="dir")for(const Re of[...u(c)])Re.path.startsWith(B.path+"/")&&await Se(Re.path);else await Se(B.path);await jm(B.path),await Ni()}}async function et(B){ee();const{content:ae}=await nD(B.path);u(P).some(Re=>Re.name===B.path)||I(P,[...u(P),{name:B.path,content:ae}],!0),I(Mt,!0)}function Zt(B,ae){var Re;I(r,ae,!0),(Re=B.dataTransfer)==null||Re.setData("text/plain",ae)}function bt(B,ae){if(B.preventDefault(),u(r)&&(u(r)===ae||ae.startsWith(u(r)+"/"))){B.dataTransfer&&(B.dataTransfer.dropEffect="none"),I(a,null);return}B.dataTransfer&&(B.dataTransfer.dropEffect="move"),I(a,ae,!0)}function Oe(){I(a,null)}async function yt(B,ae){var Ft,Bi,Mi;B.preventDefault(),I(a,null);const Re=Array.from(((Ft=B.dataTransfer)==null?void 0:Ft.items)??[]).filter(ki=>ki.kind==="file");if(Re.length>0&&!u(r)){for(const ki of Re){const Ci=(Bi=ki.webkitGetAsEntry)==null?void 0:Bi.call(ki);Ci&&await Xt(Ci,ae,!0)}await Ni();return}const de=u(r)??((Mi=B.dataTransfer)==null?void 0:Mi.getData("text/plain"));if(I(r,null),!de||de===ae||ae.startsWith(de+"/"))return;const Pt=de.split("/").pop(),Qt=ae?`${ae}/${Pt}`:Pt;if(Qt!==de)try{await sD(de,Qt);for(const ki of u(c))if(ki.path===de)u(h)===de&&I(h,Qt,!0),ki.path=Qt;else if(ki.path.startsWith(de+"/")){const Ci=Qt+ki.path.slice(de.length);u(h)===ki.path&&I(h,Ci),ki.path=Ci}await Ni()}catch(ki){I(f,ki.message,!0)}}async function Xt(B,ae,Re){if(B.isFile){const Pt=await(await new Promise((Ft,Bi)=>B.file(Ft,Bi))).text(),Qt=ae?`${ae}/${B.name}`:B.name;await Pc(Qt,Pt),Re&&B.name.endsWith(".js")&&await kn(Qt,!0)}else if(B.isDirectory){const de=B.createReader();let Pt=[],Qt;do Qt=await new Promise((Ft,Bi)=>de.readEntries(Ft,Bi)),Pt=[...Pt,...Qt];while(Qt.length>0);for(const Ft of Pt)await Xt(Ft,ae?`${ae}/${B.name}`:B.name,!1);if(Re){const Ft=ae?`${ae}/${B.name}`:B.name;await kn(Ft,!0)}}}async function Yt(){if(!u(h)||!await Ht.show(`Delete ${u(h)}?`,{confirm:"Delete",danger:!0}))return;const B=u(h);await Se(B),await jm(B),await Ni()}function ti(){u(Ut)&&(u(Ut).logEntries=[])}function ii(){I(v,!u(v)),localStorage.setItem(un,String(u(v)))}function te(B){return new Date(B).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function he(B){var de;const ae=((de=B.split(".").pop())==null?void 0:de.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"}[ae]??"plaintext"}let Ce=null;async function Ue(){const B=u(c).find(Re=>Re.path===u(h));if(!(B!=null&&B.model))return;const ae=B.model;try{const Qt=(await(await(await Rc.typescript.getJavaScriptWorker())(ae.uri)).getSyntacticDiagnostics(ae.uri.toString())).map(Ft=>{const Bi=ae.getPositionAt(Ft.start??0),Mi=ae.getPositionAt((Ft.start??0)+(Ft.length??0));return{severity:HF.Error,startLineNumber:Bi.lineNumber,startColumn:Bi.column,endLineNumber:Mi.lineNumber,endColumn:Mi.column,message:typeof Ft.messageText=="string"?Ft.messageText:JSON.stringify(Ft.messageText),source:"she-syntax"}});if(Fa.setModelMarkers(ae,"she-syntax",Qt),u(h)){if(Qt.length>0)D.add(u(h)),u(S).has(u(h))||I(S,new Set([...u(S),u(h)]),!0);else if(D.has(u(h))){D.delete(u(h));const Ft=new Set(u(S));Ft.delete(u(h)),I(S,Ft,!0)}}}catch{}}function pt(B){cn=!0,Vi=B.clientX,dn=u(qi),B.preventDefault()}function Xe(B){hn=!0,Nn=B.clientY,jn=u(Ki),B.preventDefault()}function Et(B){xn=!0,Rn=B.clientX,_n=u(Mn),B.preventDefault()}function li(B){cn&&I(qi,Math.max(140,Math.min(500,dn+B.clientX-Vi)),!0),hn&&I(Ki,Math.max(60,Math.min(500,jn-(B.clientY-Nn))),!0),xn&&I(Mn,Math.max(200,Math.min(700,_n-(B.clientX-Rn))),!0)}function hi(){cn&&(cn=!1,localStorage.setItem("she-scripts-sidebar-width",String(u(qi)))),hn&&(hn=!1,localStorage.setItem("she-scripts-log-height",String(u(Ki)))),xn&&(xn=!1,localStorage.setItem("she-scripts-chat-width",String(u(Mn))))}function ni(B){(B.ctrlKey||B.metaKey)&&B.key==="s"&&(B.preventDefault(),Pe()),B.key==="Escape"&&(I(p,!1),I(s,null))}async function Gi(B,ae){const Re=await oi.show("Save new script as:",{placeholder:"myscript.js",initial:B,confirm:"Create"});if(Re)try{await Pc(Re,ae),await Ni(),await Xi(Re,!0)}catch(de){I(f,de.message,!0)}}async function vn(B){var Re,de;if(u(ot)&&u(h)){I(je,B,!0),await Ri();return}if(I(je,B,!0),await lS(),!u(pi))return;Dt==null||Dt.dispose(),kt==null||kt.dispose(),Rt==null||Rt.dispose();const ae=((de=(Re=u(Ut))==null?void 0:Re.model)==null?void 0:de.getValue())??"";Dt=Fa.createModel(ae,"javascript"),kt=Fa.createModel(B,"javascript"),Rt=Fa.createDiffEditor(u(pi),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),Rt.setModel({original:Dt,modified:kt})}Dn(()=>{u(h),I(ot,!1),I(_t,!1)});async function Ri(){if(u(je)===null||!u(h))return;const B=u(je);I(je,null);const ae=u(c).find(Re=>Re.path===u(h));ae!=null&&ae.model&&(mt=!0,ae.model.setValue(B),mt=!1,ae.dirty=!1,ae.savedContent=B);try{await Pc(u(h),B),I(f,""),Z()}catch(Re){I(f,Re.message,!0)}$()}function qt(){I(je,null),$()}function $(){Rt==null||Rt.dispose(),Rt=null,Dt==null||Dt.dispose(),Dt=null,kt==null||kt.dispose(),kt=null}var j=iG();es("keydown",Qc,ni),es("mousemove",Qc,li),es("mouseup",Qc,hi);var K=wt(j);Ss(tm(K,{}),B=>Ht=B,()=>Ht);var ue=x(K,2);Ss(C8(ue,{}),B=>oi=B,()=>oi);var le=x(ue,2);{var De=B=>{var ae=xK(),Re=wt(ae),de=x(Re,2);let Pt;var Qt=C(de);{var Ft=Mi=>{var ki=SK(),Ci=wt(ki),Ai=x(Ci,2),Kn=x(Ai,4),go=x(Kn,2);oe("click",Ci,()=>ke(u(s).entry.path)),oe("click",Ai,()=>Je(u(s).entry.path)),oe("click",Kn,()=>Ge(u(s).entry)),oe("click",go,()=>Ie(u(s).entry)),T(Mi,ki)},Bi=Mi=>{var ki=CK(),Ci=wt(ki),Ai=x(Ci,2),Kn=x(Ai,2),go=x(Kn,4);oe("click",Ci,()=>On(u(s).entry.path)),oe("click",Ai,()=>Ge(u(s).entry)),oe("click",Kn,()=>et(u(s).entry)),oe("click",go,()=>Ie(u(s).entry)),T(Mi,ki)};q(Qt,Mi=>{u(s).entry.type==="dir"?Mi(Ft):Mi(Bi,-1)})}X(()=>Pt=zo(de,"",Pt,{left:`${u(s).x??""}px`,top:`${u(s).y??""}px`})),oe("click",Re,ee),oe("contextmenu",Re,Mi=>{Mi.preventDefault(),ee()}),T(B,ae)};q(le,B=>{u(s)&&B(De)})}var pe=x(le,2);{var Fe=B=>{var ae=LK();let Re;X(()=>Re=zo(ae,"",Re,{left:`${u(_e).x??""}px`,top:`${u(_e).y-4}px`})),T(B,ae)};q(pe,B=>{u(_e)&&B(Fe)})}var lt=x(pe,2),Ve=C(lt);let Ke;{const B=(Re,de=ey)=>{var Pt=Ds(),Qt=wt(Pt);{var Ft=Mi=>{var ki=IK(),Ci=C(ki);let Ai;var Kn=C(Ci);let go;var Ts=x(Kn,2);let Po;var Us=C(Ts),To=x(Ts,2);{var Gr=ls=>{var Zr=DD();T(ls,Zr)},$o=st(()=>u(Ye).has(de().path));q(To,ls=>{u($o)&&ls(Gr)})}var Ms=x(To,2),yl=C(Ms),qo=x(Ms,2),ns=C(qo),Mo=x(Ci,2);{var Ch=ls=>{var Zr=kK();_i(Zr,21,()=>de().children,Pa=>Pa.path,(Pa,Tg)=>{B(Pa,()=>u(Tg))}),T(ls,Zr)};q(Mo,ls=>{u(i)[de().path]&&de().children&&ls(Ch)})}X(()=>{Ai=Kt(Ci,1,"dir-row svelte-1pyfjii",null,Ai,{"dir-selected":u(n)===de().path,"drag-target":u(a)===de().path}),Hn(Ci,"aria-selected",u(n)===de().path),go=Kt(Kn,1,"chevron svelte-1pyfjii",null,go,{open:u(i)[de().path]}),Po=Kt(Ts,1,"dir-name svelte-1pyfjii",null,Po,{lib:de().lib}),G(Us,de().name),Yy(yl,de().lib),Yy(ns,de().disabled)}),es("dragstart",Ci,ls=>Zt(ls,de().path)),es("dragover",Ci,ls=>bt(ls,de().path)),es("dragleave",Ci,Oe),es("drop",Ci,ls=>yt(ls,de().path)),oe("contextmenu",Ci,ls=>O(ls,de())),oe("click",Kn,()=>on(de().path)),oe("click",Ts,()=>{I(n,de().path,!0),u(i)[de().path]=!0}),oe("keydown",Ts,ls=>ls.key==="Enter"&&I(n,de().path,!0)),es("mouseenter",Ms,Ae),es("mouseleave",Ms,Le),oe("change",yl,()=>Jn(de().path,!de().lib)),oe("change",ns,()=>kn(de().path,!de().disabled)),T(Mi,ki)},Bi=Mi=>{const ki=st(()=>u(S).has(de().path)),Ci=st(()=>u(Ye).has(de().path)),Ai=st(()=>u(c).some(Oi=>Oi.path===de().path&&Oi.dirty)),Kn=st(()=>(de().name.split(".").pop()??"txt").toUpperCase()),go=st(()=>de().name.endsWith(".js"));var Ts=MK();let Po;var Us=C(Ts),To=C(Us);let Gr;var $o=C(To);let Ms;var yl=C($o),qo=x($o,2),ns=C(qo),Mo=x(qo,2);{var Ch=Oi=>{var vs=DD();T(Oi,vs)};q(Mo,Oi=>{u(Ci)&&Oi(Ch)})}var ls=x(Mo);{var Zr=Oi=>{var vs=DK();T(Oi,vs)};q(ls,Oi=>{u(Ai)&&Oi(Zr)})}var Pa=x(ls,2);{var Tg=Oi=>{var vs=EK();T(Oi,vs)};q(Pa,Oi=>{u(ki)&&Oi(Tg)})}var Ty=x(To,2);{var sm=Oi=>{var vs=PK(),xh=C(vs);X(()=>Yy(xh,de().disabled)),oe("change",xh,()=>kn(de().path,!de().disabled)),T(Oi,vs)},My=Oi=>{var vs=TK();T(Oi,vs)};q(Ty,Oi=>{u(go)?Oi(sm):Oi(My,-1)})}X((Oi,vs,xh)=>{Po=Kt(Ts,1,"tree-file svelte-1pyfjii",null,Po,Oi),Gr=Kt(To,1,"svelte-1pyfjii",null,Gr,{lib:de().lib,dis:de().disabled,err:u(ki)}),Ms=Kt($o,1,`badge badge-${vs??""}`,"svelte-1pyfjii",Ms,{"badge-shelib":de().lib}),G(yl,xh),G(ns,de().name)},[()=>({active:u(c).some(Oi=>Oi.path===de().path),"active-tab":de().path===u(h)}),()=>u(Kn).toLowerCase(),()=>Bn(u(Kn))]),es("dragstart",Ts,Oi=>Zt(Oi,de().path)),oe("contextmenu",Ts,Oi=>O(Oi,de())),oe("click",To,()=>On(de().path)),T(Mi,Ts)};q(Qt,Mi=>{de().type==="dir"?Mi(Ft):Mi(Bi,-1)})}T(Re,Pt)};var si=C(Ve),A=C(si),J=x(A,2),He=x(J,2),dt=x(si,2);{var it=Re=>{var de=NK(),Pt=C(de);X(()=>G(Pt,u(f))),T(Re,de)};q(dt,Re=>{u(f)&&Re(it)})}var zt=x(dt,2),Te=C(zt);let ae;var me=x(Te,2);_i(me,17,()=>u(t),Re=>Re.path,(Re,de)=>{B(Re,()=>u(de))}),X(()=>ae=Kt(Te,1,"tree-root-drop svelte-1pyfjii",null,ae,{"drag-target":u(a)===""})),oe("click",A,$t),oe("click",J,H),oe("click",He,Ni),es("dragover",Te,Re=>bt(Re,"")),es("dragleave",Te,Oe),es("drop",Te,Re=>yt(Re,""))}var xe=x(Ve,2),Ze=x(xe,2),Ee=C(Ze);{var ve=B=>{var ae=OK();_i(ae,21,()=>u(c),Re=>Re.path,(Re,de)=>{var Pt=AK();let Qt;var Ft=C(Pt),Bi=C(Ft),Mi=x(Ft,2);{var ki=Ai=>{var Kn=RK();T(Ai,Kn)};q(Mi,Ai=>{u(de).dirty&&Ai(ki)})}var Ci=x(Mi,2);X(Ai=>{Qt=Kt(Pt,1,"tab svelte-1pyfjii",null,Qt,{active:u(de).path===u(h)}),G(Bi,Ai)},[()=>u(de).path.split("/").pop()]),oe("click",Pt,()=>rn(u(de).path)),oe("keydown",Pt,Ai=>Ai.key==="Enter"&&rn(u(de).path)),oe("click",Ci,Ai=>{Ai.stopPropagation(),Se(u(de).path)}),T(Re,Pt)}),T(B,ae)};q(Ee,B=>{u(c).length>0&&B(ve)})}var At=x(Ee,2),Ne=C(At),we=C(Ne),xt=x(Ne,2);{var $e=B=>{var ae=BK(),Re=C(ae),de=C(Re),Pt=x(Re,2);{var Qt=Ci=>{var Ai=FK(),Kn=C(Ai);X(()=>{Hn(Ai,"title",`${u(_).changes.length??""} uncommitted change(s)`),G(Kn,`✎${u(_).changes.length??""}`)}),T(Ci,Ai)};q(Pt,Ci=>{u(_).changes.length>0&&Ci(Qt)})}var Ft=x(Pt,2);{var Bi=Ci=>{var Ai=HK(),Kn=C(Ai);X(()=>{Hn(Ai,"title",`${u(_).ahead??""} commit(s) ahead of upstream`),G(Kn,`↑${u(_).ahead??""}`)}),T(Ci,Ai)};q(Ft,Ci=>{u(_).ahead>0&&Ci(Bi)})}var Mi=x(Ft,2);{var ki=Ci=>{var Ai=WK(),Kn=C(Ai);X(()=>{Hn(Ai,"title",`${u(_).behind??""} commit(s) behind upstream`),G(Kn,`↓${u(_).behind??""}`)}),T(Ci,Ai)};q(Mi,Ci=>{u(_).behind>0&&Ci(ki)})}X(()=>{Hn(Re,"title",`Branch: ${u(_).branch??""}`),G(de,`⎇ ${u(_).branch??""}`)}),T(B,ae)};q(xt,B=>{u(_)&&B($e)})}var Vt=x(xt,2),ai=C(Vt),be=C(ai),qe=C(be),rt=x(be,2),Wt=x(ai,2);{var tt=B=>{var ae=zK(),Re=wt(ae),de=x(Re,2),Pt=C(de),Qt=x(Pt,2),Ft=x(Qt,2);X(()=>Ft.disabled=!u(_)),oe("click",Re,()=>I(p,!1)),oe("click",Pt,()=>{I(p,!1),Pe()}),oe("click",Qt,()=>{I(p,!1),at()}),oe("click",Ft,It),T(B,ae)};q(Wt,B=>{u(p)&&B(tt)})}var ui=x(Vt,2);{var ri=B=>{var ae=VK();oe("click",ae,Yt),T(B,ae)};q(ui,B=>{u(h)&&B(ri)})}var Ti=x(ui,2);let Jt;var Bt=x(At,2),Ui=C(Bt),tn=C(Ui),bn=C(tn);Ss(bn,B=>gt=B,()=>gt);var $n=x(bn,2);{var In=B=>{var ae=jK();T(B,ae)};q($n,B=>{u(h)||B(In)})}var Ps=x($n,2);{var Ur=B=>{var ae=KK(),Re=C(ae),de=C(Re),Pt=x(C(de)),Qt=C(Pt),Ft=x(de,2),Bi=C(Ft),Mi=C(Bi),ki=C(Mi),Ci=C(ki),Ai=x(ki,2),Kn=x(Mi,2);{var go=Us=>{var To=qK(),Gr=wt(To),$o=x(Gr,2),Ms=C($o);{var yl=ns=>{var Mo=UK();oe("click",Mo,()=>{I(_t,!1),I(ot,!0),Ri()}),T(ns,Mo)},qo=ns=>{var Mo=$K();oe("click",Mo,()=>{I(_t,!1),I(ot,!1)}),T(ns,Mo)};q(Ms,ns=>{u(ot)?ns(qo,-1):ns(yl)})}oe("click",Gr,()=>I(_t,!1)),T(Us,To)};q(Kn,Us=>{u(_t)&&Us(go)})}var Ts=x(Bi,2),Po=x(Re,2);Ss(Po,Us=>I(pi,Us),()=>u(pi)),X(Us=>{G(Qt,Us),G(Ci,u(ot)?"Auto-accept ✓":"Accept")},[()=>{var Us;return(Us=u(h))==null?void 0:Us.split("/").pop()}]),oe("click",ki,Ri),oe("click",Ai,()=>I(_t,!u(_t))),oe("click",Ts,qt),T(B,ae)};q(Ps,B=>{u(je)!==null&&B(Ur)})}var Eo=x(tn,2);let $r,qr;var Kr=C(Eo);{var _r=B=>{var ae=GK();oe("mousedown",ae,Xe),T(B,ae)};q(Kr,B=>{u(v)&&B(_r)})}var Lc=x(Kr,2),bi=C(Lc),uo=C(bi),xs=x(uo);{var Ea=B=>{var ae=ZK(),Re=C(ae);X(de=>G(Re,`— ${de??""}`),[()=>u(h).split("/").pop()]),T(B,ae)};q(xs,B=>{u(h)&&B(Ea)})}var Sh=x(bi,2);{var Pg=B=>{var ae=YK(),Re=wt(ae);_i(Re,21,()=>ie,En,(Bi,Mi)=>{var ki=XK(),Ci=C(ki),Ai={};X(()=>{G(Ci,u(Mi)),Ai!==(Ai=u(Mi))&&(ki.value=(ki.__value=u(Mi))??"")}),T(Bi,ki)});var de=x(Re,2),Pt=x(de,2),Qt=C(Pt),Ft=x(Pt,2);ha(Re,()=>u(N),Bi=>I(N,Bi)),Ei(de,()=>u(z),Bi=>I(z,Bi)),qs(Qt,()=>u(F),Bi=>I(F,Bi)),oe("click",Ft,ti),T(B,ae)};q(Sh,B=>{u(v)&&B(Pg)})}var Uo=x(Lc,2);{var bl=B=>{var ae=eG(),Re=C(ae);_i(Re,17,()=>{var Qt;return(((Qt=u(Ut))==null?void 0:Qt.logEntries)??[]).filter(ge)},Qt=>Qt.ts+Qt.msg,(Qt,Ft)=>{var Bi=JK(),Mi=C(Bi),ki=C(Mi),Ci=x(Mi,2),Ai=C(Ci),Kn=x(Ci,2),go=C(Kn);X((Ts,Po)=>{Kt(Bi,1,`log-line ${u(Ft).level??""}`,"svelte-1pyfjii"),G(ki,Ts),G(Ai,Po),G(go,u(Ft).msg)},[()=>te(u(Ft).ts),()=>u(Ft).level.toUpperCase()]),T(Qt,Bi)});var de=x(Re,2);{var Pt=Qt=>{var Ft=QK();T(Qt,Ft)};q(de,Qt=>{var Ft;(((Ft=u(Ut))==null?void 0:Ft.logEntries.length)??0)===0&&Qt(Pt)})}Ss(ae,Qt=>I(w,Qt),()=>u(w)),T(B,ae)};q(Uo,B=>{u(v)&&B(bl)})}var nm=x(Ui,2);{var Py=B=>{var ae=tG(),Re=wt(ae),de=x(Re,2);let Pt;var Qt=C(de);lK(Qt,{get currentScript(){return u(Un)},onApply:vn,onCreateFile:Gi,get extraFiles(){return u(P)},set extraFiles(Ft){I(P,Ft,!0)}}),X(()=>Pt=zo(de,"",Pt,{width:`${u(Mn)??""}px`})),oe("mousedown",Re,Et),T(B,ae)};q(nm,B=>{u(Mt)&&B(Py)})}X(()=>{var B;Ke=zo(Ve,"",Ke,{width:`${u(qi)??""}px`}),G(we,u(h)??"No file selected"),be.disabled=!((B=u(Ut))!=null&&B.dirty)||u(g),G(qe,u(g)?"Saving…":"Save"),rt.disabled=!u(h),Jt=Kt(Ti,1,"ai-toggle svelte-1pyfjii",null,Jt,{"ai-open":u(Mt)}),Hn(Ti,"title",u(Mt)?"Close AI assistant":"Open AI assistant"),$r=Kt(Eo,1,"log-panel svelte-1pyfjii",null,$r,{collapsed:!u(v)}),qr=zo(Eo,"",qr,{height:u(v)?`${u(Ki)}px`:"26px"}),G(uo,`${u(v)?"▾":"▸"} Script Log `)}),oe("mousedown",xe,pt),oe("click",be,Pe),oe("click",rt,()=>I(p,!u(p))),oe("click",Ti,()=>I(Mt,!u(Mt))),oe("click",bi,ii),T(o,j),Do()}mr(["click","contextmenu","keydown","change","mousedown"]);const ER="she-theme";function sG(){return localStorage.getItem(ER)??"dark"}function oG(o){localStorage.setItem(ER,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o)}var df={exports:{}};/* @preserve
215
+ * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com
216
+ * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
217
+ */var rG=df.exports,ED;function aG(){return ED||(ED=1,(function(o,e){(function(t,i){i(e)})(rG,(function(t){var i="1.9.4";function n(l){var d,m,b,k;for(m=1,b=arguments.length;m<b;m++){k=arguments[m];for(d in k)l[d]=k[d]}return l}var s=Object.create||(function(){function l(){}return function(d){return l.prototype=d,new l}})();function r(l,d){var m=Array.prototype.slice;if(l.bind)return l.bind.apply(l,m.call(arguments,1));var b=m.call(arguments,2);return function(){return l.apply(d,b.length?b.concat(m.call(arguments)):arguments)}}var a=0;function c(l){return"_leaflet_id"in l||(l._leaflet_id=++a),l._leaflet_id}function h(l,d,m){var b,k,E,U;return U=function(){b=!1,k&&(E.apply(m,k),k=!1)},E=function(){b?k=arguments:(l.apply(m,arguments),setTimeout(U,d),b=!0)},E}function g(l,d,m){var b=d[1],k=d[0],E=b-k;return l===b&&m?l:((l-k)%E+E)%E+k}function f(){return!1}function p(l,d){if(d===!1)return l;var m=Math.pow(10,d===void 0?6:d);return Math.round(l*m)/m}function v(l){return l.trim?l.trim():l.replace(/^\s+|\s+$/g,"")}function _(l){return v(l).split(/\s+/)}function w(l,d){Object.prototype.hasOwnProperty.call(l,"options")||(l.options=l.options?s(l.options):{});for(var m in d)l.options[m]=d[m];return l.options}function S(l,d,m){var b=[];for(var k in l)b.push(encodeURIComponent(m?k.toUpperCase():k)+"="+encodeURIComponent(l[k]));return(!d||d.indexOf("?")===-1?"?":"&")+b.join("&")}var D=/\{ *([\w_ -]+) *\}/g;function P(l,d){return l.replace(D,function(m,b){var k=d[b];if(k===void 0)throw new Error("No value provided for variable "+m);return typeof k=="function"&&(k=k(d)),k})}var N=Array.isArray||function(l){return Object.prototype.toString.call(l)==="[object Array]"};function z(l,d){for(var m=0;m<l.length;m++)if(l[m]===d)return m;return-1}var F="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function ie(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var Y=0;function ge(l){var d=+new Date,m=Math.max(0,16-(d-Y));return Y=d+m,window.setTimeout(l,m)}var _e=window.requestAnimationFrame||ie("RequestAnimationFrame")||ge,Ae=window.cancelAnimationFrame||ie("CancelAnimationFrame")||ie("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function Le(l,d,m){if(m&&_e===ge)l.call(d);else return _e.call(window,r(l,d))}function gt(l){l&&Ae.call(window,l)}var Tt={__proto__:null,extend:n,create:s,bind:r,get lastId(){return a},stamp:c,throttle:h,wrapNum:g,falseFn:f,formatNum:p,trim:v,splitWords:_,setOptions:w,getParamString:S,template:P,isArray:N,indexOf:z,emptyImageUrl:F,requestFn:_e,cancelFn:Ae,requestAnimFrame:Le,cancelAnimFrame:gt};function ft(){}ft.extend=function(l){var d=function(){w(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},m=d.__super__=this.prototype,b=s(m);b.constructor=d,d.prototype=b;for(var k in this)Object.prototype.hasOwnProperty.call(this,k)&&k!=="prototype"&&k!=="__super__"&&(d[k]=this[k]);return l.statics&&n(d,l.statics),l.includes&&(mt(l.includes),n.apply(null,[b].concat(l.includes))),n(b,l),delete b.statics,delete b.includes,b.options&&(b.options=m.options?s(m.options):{},n(b.options,l.options)),b._initHooks=[],b.callInitHooks=function(){if(!this._initHooksCalled){m.callInitHooks&&m.callInitHooks.call(this),this._initHooksCalled=!0;for(var E=0,U=b._initHooks.length;E<U;E++)b._initHooks[E].call(this)}},d},ft.include=function(l){var d=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=d,this.mergeOptions(l.options)),this},ft.mergeOptions=function(l){return n(this.prototype.options,l),this},ft.addInitHook=function(l){var d=Array.prototype.slice.call(arguments,1),m=typeof l=="function"?l:function(){this[l].apply(this,d)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(m),this};function mt(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=N(l)?l:[l];for(var d=0;d<l.length;d++)l[d]===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 ct={on:function(l,d,m){if(typeof l=="object")for(var b in l)this._on(b,l[b],d);else{l=_(l);for(var k=0,E=l.length;k<E;k++)this._on(l[k],d,m)}return this},off:function(l,d,m){if(!arguments.length)delete this._events;else if(typeof l=="object")for(var b in l)this._off(b,l[b],d);else{l=_(l);for(var k=arguments.length===1,E=0,U=l.length;E<U;E++)k?this._off(l[E]):this._off(l[E],d,m)}return this},_on:function(l,d,m,b){if(typeof d!="function"){console.warn("wrong listener type: "+typeof d);return}if(this._listens(l,d,m)===!1){m===this&&(m=void 0);var k={fn:d,ctx:m};b&&(k.once=!0),this._events=this._events||{},this._events[l]=this._events[l]||[],this._events[l].push(k)}},_off:function(l,d,m){var b,k,E;if(this._events&&(b=this._events[l],!!b)){if(arguments.length===1){if(this._firingCount)for(k=0,E=b.length;k<E;k++)b[k].fn=f;delete this._events[l];return}if(typeof d!="function"){console.warn("wrong listener type: "+typeof d);return}var U=this._listens(l,d,m);if(U!==!1){var ne=b[U];this._firingCount&&(ne.fn=f,this._events[l]=b=b.slice()),b.splice(U,1)}}},fire:function(l,d,m){if(!this.listens(l,m))return this;var b=n({},d,{type:l,target:this,sourceTarget:d&&d.sourceTarget||this});if(this._events){var k=this._events[l];if(k){this._firingCount=this._firingCount+1||1;for(var E=0,U=k.length;E<U;E++){var ne=k[E],ce=ne.fn;ne.once&&this.off(l,ce,ne.ctx),ce.call(ne.ctx||this,b)}this._firingCount--}}return m&&this._propagateEvent(b),this},listens:function(l,d,m,b){typeof l!="string"&&console.warn('"string" type argument expected');var k=d;typeof d!="function"&&(b=!!d,k=void 0,m=void 0);var E=this._events&&this._events[l];if(E&&E.length&&this._listens(l,k,m)!==!1)return!0;if(b){for(var U in this._eventParents)if(this._eventParents[U].listens(l,d,m,b))return!0}return!1},_listens:function(l,d,m){if(!this._events)return!1;var b=this._events[l]||[];if(!d)return!!b.length;m===this&&(m=void 0);for(var k=0,E=b.length;k<E;k++)if(b[k].fn===d&&b[k].ctx===m)return k;return!1},once:function(l,d,m){if(typeof l=="object")for(var b in l)this._on(b,l[b],d,!0);else{l=_(l);for(var k=0,E=l.length;k<E;k++)this._on(l[k],d,m,!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 d in this._eventParents)this._eventParents[d].fire(l.type,n({layer:l.target,propagatedFrom:l.target},l),!0)}};ct.addEventListener=ct.on,ct.removeEventListener=ct.clearAllEventListeners=ct.off,ct.addOneTimeEventListener=ct.once,ct.fireEvent=ct.fire,ct.hasEventListeners=ct.listens;var Ot=ft.extend(ct);function Me(l,d,m){this.x=m?Math.round(l):l,this.y=m?Math.round(d):d}var Mt=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};Me.prototype={clone:function(){return new Me(this.x,this.y)},add:function(l){return this.clone()._add(je(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(je(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 Me(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new Me(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=Mt(this.x),this.y=Mt(this.y),this},distanceTo:function(l){l=je(l);var d=l.x-this.x,m=l.y-this.y;return Math.sqrt(d*d+m*m)},equals:function(l){return l=je(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=je(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 je(l,d,m){return l instanceof Me?l:N(l)?new Me(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new Me(l.x,l.y):new Me(l,d,m)}function ot(l,d){if(l)for(var m=d?[l,d]:l,b=0,k=m.length;b<k;b++)this.extend(m[b])}ot.prototype={extend:function(l){var d,m;if(!l)return this;if(l instanceof Me||typeof l[0]=="number"||"x"in l)d=m=je(l);else if(l=_t(l),d=l.min,m=l.max,!d||!m)return this;return!this.min&&!this.max?(this.min=d.clone(),this.max=m.clone()):(this.min.x=Math.min(d.x,this.min.x),this.max.x=Math.max(m.x,this.max.x),this.min.y=Math.min(d.y,this.min.y),this.max.y=Math.max(m.y,this.max.y)),this},getCenter:function(l){return je((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return je(this.min.x,this.max.y)},getTopRight:function(){return je(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 d,m;return typeof l[0]=="number"||l instanceof Me?l=je(l):l=_t(l),l instanceof ot?(d=l.min,m=l.max):d=m=l,d.x>=this.min.x&&m.x<=this.max.x&&d.y>=this.min.y&&m.y<=this.max.y},intersects:function(l){l=_t(l);var d=this.min,m=this.max,b=l.min,k=l.max,E=k.x>=d.x&&b.x<=m.x,U=k.y>=d.y&&b.y<=m.y;return E&&U},overlaps:function(l){l=_t(l);var d=this.min,m=this.max,b=l.min,k=l.max,E=k.x>d.x&&b.x<m.x,U=k.y>d.y&&b.y<m.y;return E&&U},isValid:function(){return!!(this.min&&this.max)},pad:function(l){var d=this.min,m=this.max,b=Math.abs(d.x-m.x)*l,k=Math.abs(d.y-m.y)*l;return _t(je(d.x-b,d.y-k),je(m.x+b,m.y+k))},equals:function(l){return l?(l=_t(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function _t(l,d){return!l||l instanceof ot?l:new ot(l,d)}function pi(l,d){if(l)for(var m=d?[l,d]:l,b=0,k=m.length;b<k;b++)this.extend(m[b])}pi.prototype={extend:function(l){var d=this._southWest,m=this._northEast,b,k;if(l instanceof Dt)b=l,k=l;else if(l instanceof pi){if(b=l._southWest,k=l._northEast,!b||!k)return this}else return l?this.extend(kt(l)||Rt(l)):this;return!d&&!m?(this._southWest=new Dt(b.lat,b.lng),this._northEast=new Dt(k.lat,k.lng)):(d.lat=Math.min(b.lat,d.lat),d.lng=Math.min(b.lng,d.lng),m.lat=Math.max(k.lat,m.lat),m.lng=Math.max(k.lng,m.lng)),this},pad:function(l){var d=this._southWest,m=this._northEast,b=Math.abs(d.lat-m.lat)*l,k=Math.abs(d.lng-m.lng)*l;return new pi(new Dt(d.lat-b,d.lng-k),new Dt(m.lat+b,m.lng+k))},getCenter:function(){return new Dt((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 Dt(this.getNorth(),this.getWest())},getSouthEast:function(){return new Dt(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 Dt||"lat"in l?l=kt(l):l=Rt(l);var d=this._southWest,m=this._northEast,b,k;return l instanceof pi?(b=l.getSouthWest(),k=l.getNorthEast()):b=k=l,b.lat>=d.lat&&k.lat<=m.lat&&b.lng>=d.lng&&k.lng<=m.lng},intersects:function(l){l=Rt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),k=l.getNorthEast(),E=k.lat>=d.lat&&b.lat<=m.lat,U=k.lng>=d.lng&&b.lng<=m.lng;return E&&U},overlaps:function(l){l=Rt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),k=l.getNorthEast(),E=k.lat>d.lat&&b.lat<m.lat,U=k.lng>d.lng&&b.lng<m.lng;return E&&U},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,d){return l?(l=Rt(l),this._southWest.equals(l.getSouthWest(),d)&&this._northEast.equals(l.getNorthEast(),d)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function Rt(l,d){return l instanceof pi?l:new pi(l,d)}function Dt(l,d,m){if(isNaN(l)||isNaN(d))throw new Error("Invalid LatLng object: ("+l+", "+d+")");this.lat=+l,this.lng=+d,m!==void 0&&(this.alt=+m)}Dt.prototype={equals:function(l,d){if(!l)return!1;l=kt(l);var m=Math.max(Math.abs(this.lat-l.lat),Math.abs(this.lng-l.lng));return m<=(d===void 0?1e-9:d)},toString:function(l){return"LatLng("+p(this.lat,l)+", "+p(this.lng,l)+")"},distanceTo:function(l){return Ki.distance(this,kt(l))},wrap:function(){return Ki.wrapLatLng(this)},toBounds:function(l){var d=180*l/40075017,m=d/Math.cos(Math.PI/180*this.lat);return Rt([this.lat-d,this.lng-m],[this.lat+d,this.lng+m])},clone:function(){return new Dt(this.lat,this.lng,this.alt)}};function kt(l,d,m){return l instanceof Dt?l:N(l)&&typeof l[0]!="object"?l.length===3?new Dt(l[0],l[1],l[2]):l.length===2?new Dt(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new Dt(l.lat,"lng"in l?l.lng:l.lon,l.alt):d===void 0?null:new Dt(l,d,m)}var qi={latLngToPoint:function(l,d){var m=this.projection.project(l),b=this.scale(d);return this.transformation._transform(m,b)},pointToLatLng:function(l,d){var m=this.scale(d),b=this.transformation.untransform(l,m);return this.projection.unproject(b)},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 d=this.projection.bounds,m=this.scale(l),b=this.transformation.transform(d.min,m),k=this.transformation.transform(d.max,m);return new ot(b,k)},infinite:!1,wrapLatLng:function(l){var d=this.wrapLng?g(l.lng,this.wrapLng,!0):l.lng,m=this.wrapLat?g(l.lat,this.wrapLat,!0):l.lat,b=l.alt;return new Dt(m,d,b)},wrapLatLngBounds:function(l){var d=l.getCenter(),m=this.wrapLatLng(d),b=d.lat-m.lat,k=d.lng-m.lng;if(b===0&&k===0)return l;var E=l.getSouthWest(),U=l.getNorthEast(),ne=new Dt(E.lat-b,E.lng-k),ce=new Dt(U.lat-b,U.lng-k);return new pi(ne,ce)}},Ki=n({},qi,{wrapLng:[-180,180],R:6371e3,distance:function(l,d){var m=Math.PI/180,b=l.lat*m,k=d.lat*m,E=Math.sin((d.lat-l.lat)*m/2),U=Math.sin((d.lng-l.lng)*m/2),ne=E*E+Math.cos(b)*Math.cos(k)*U*U,ce=2*Math.atan2(Math.sqrt(ne),Math.sqrt(1-ne));return this.R*ce}}),Mn=6378137,cn={R:Mn,MAX_LATITUDE:85.0511287798,project:function(l){var d=Math.PI/180,m=this.MAX_LATITUDE,b=Math.max(Math.min(m,l.lat),-m),k=Math.sin(b*d);return new Me(this.R*l.lng*d,this.R*Math.log((1+k)/(1-k))/2)},unproject:function(l){var d=180/Math.PI;return new Dt((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*d,l.x*d/this.R)},bounds:(function(){var l=Mn*Math.PI;return new ot([-l,-l],[l,l])})()};function Vi(l,d,m,b){if(N(l)){this._a=l[0],this._b=l[1],this._c=l[2],this._d=l[3];return}this._a=l,this._b=d,this._c=m,this._d=b}Vi.prototype={transform:function(l,d){return this._transform(l.clone(),d)},_transform:function(l,d){return d=d||1,l.x=d*(this._a*l.x+this._b),l.y=d*(this._c*l.y+this._d),l},untransform:function(l,d){return d=d||1,new Me((l.x/d-this._b)/this._a,(l.y/d-this._d)/this._c)}};function dn(l,d,m,b){return new Vi(l,d,m,b)}var hn=n({},Ki,{code:"EPSG:3857",projection:cn,transformation:(function(){var l=.5/(Math.PI*cn.R);return dn(l,.5,-l,.5)})()}),Nn=n({},hn,{code:"EPSG:900913"});function jn(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function xn(l,d){var m="",b,k,E,U,ne,ce;for(b=0,E=l.length;b<E;b++){for(ne=l[b],k=0,U=ne.length;k<U;k++)ce=ne[k],m+=(k?"L":"M")+ce.x+" "+ce.y;m+=d?Oe.svg?"z":"x":""}return m||"M0 0"}var Rn=document.documentElement.style,_n="ActiveXObject"in window,Un=_n&&!document.addEventListener,Ye="msLaunchUri"in navigator&&!("documentMode"in document),Ht=bt("webkit"),oi=bt("android"),Ut=bt("android 2")||bt("android 3"),mi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),An=oi&&bt("Google")&&mi<537&&!("AudioNode"in window),un=!!window.opera,ji=!Ye&&bt("chrome"),sn=bt("gecko")&&!Ht&&!un&&!_n,Wn=!ji&&bt("safari"),Ni=bt("phantom"),on="OTransition"in Rn,Bn=navigator.platform.indexOf("Win")===0,Jn=_n&&"transition"in Rn,kn="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Ut,Xi="MozPerspective"in Rn,On=!window.L_DISABLE_3D&&(Jn||kn||Xi)&&!on&&!Ni,rn=typeof orientation<"u"||bt("mobile"),Se=rn&&Ht,Z=rn&&kn,Pe=!window.PointerEvent&&window.MSPointerEvent,at=!!(window.PointerEvent||Pe),It="ontouchstart"in window||!!window.TouchEvent,$t=!window.L_NO_TOUCH&&(It||at),H=rn&&un,O=rn&&sn,ee=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,ke=(function(){var l=!1;try{var d=Object.defineProperty({},"passive",{get:function(){l=!0}});window.addEventListener("testPassiveEventSupport",f,d),window.removeEventListener("testPassiveEventSupport",f,d)}catch{}return l})(),Je=(function(){return!!document.createElement("canvas").getContext})(),Ge=!!(document.createElementNS&&jn("svg").createSVGRect),fe=!!Ge&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),Ie=!Ge&&(function(){try{var l=document.createElement("div");l.innerHTML='<v:shape adj="1"/>';var d=l.firstChild;return d.style.behavior="url(#default#VML)",d&&typeof d.adj=="object"}catch{return!1}})(),et=navigator.platform.indexOf("Mac")===0,Zt=navigator.platform.indexOf("Linux")===0;function bt(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var Oe={ie:_n,ielt9:Un,edge:Ye,webkit:Ht,android:oi,android23:Ut,androidStock:An,opera:un,chrome:ji,gecko:sn,safari:Wn,phantom:Ni,opera12:on,win:Bn,ie3d:Jn,webkit3d:kn,gecko3d:Xi,any3d:On,mobile:rn,mobileWebkit:Se,mobileWebkit3d:Z,msPointer:Pe,pointer:at,touch:$t,touchNative:It,mobileOpera:H,mobileGecko:O,retina:ee,passiveEvents:ke,canvas:Je,svg:Ge,vml:Ie,inlineSvg:fe,mac:et,linux:Zt},yt=Oe.msPointer?"MSPointerDown":"pointerdown",Xt=Oe.msPointer?"MSPointerMove":"pointermove",Yt=Oe.msPointer?"MSPointerUp":"pointerup",ti=Oe.msPointer?"MSPointerCancel":"pointercancel",ii={touchstart:yt,touchmove:Xt,touchend:Yt,touchcancel:ti},te={touchstart:Gi,touchmove:ni,touchend:ni,touchcancel:ni},he={},Ce=!1;function Ue(l,d,m){return d==="touchstart"&&hi(),te[d]?(m=te[d].bind(this,m),l.addEventListener(ii[d],m,!1),m):(console.warn("wrong event specified:",d),f)}function pt(l,d,m){if(!ii[d]){console.warn("wrong event specified:",d);return}l.removeEventListener(ii[d],m,!1)}function Xe(l){he[l.pointerId]=l}function Et(l){he[l.pointerId]&&(he[l.pointerId]=l)}function li(l){delete he[l.pointerId]}function hi(){Ce||(document.addEventListener(yt,Xe,!0),document.addEventListener(Xt,Et,!0),document.addEventListener(Yt,li,!0),document.addEventListener(ti,li,!0),Ce=!0)}function ni(l,d){if(d.pointerType!==(d.MSPOINTER_TYPE_MOUSE||"mouse")){d.touches=[];for(var m in he)d.touches.push(he[m]);d.changedTouches=[d],l(d)}}function Gi(l,d){d.MSPOINTER_TYPE_TOUCH&&d.pointerType===d.MSPOINTER_TYPE_TOUCH&&In(d),ni(l,d)}function vn(l){var d={},m,b;for(b in l)m=l[b],d[b]=m&&m.bind?m.bind(l):m;return l=d,d.type="dblclick",d.detail=2,d.isTrusted=!1,d._simulated=!0,d}var Ri=200;function qt(l,d){l.addEventListener("dblclick",d);var m=0,b;function k(E){if(E.detail!==1){b=E.detail;return}if(!(E.pointerType==="mouse"||E.sourceCapabilities&&!E.sourceCapabilities.firesTouchEvents)){var U=Ur(E);if(!(U.some(function(ce){return ce instanceof HTMLLabelElement&&ce.attributes.for})&&!U.some(function(ce){return ce instanceof HTMLInputElement||ce instanceof HTMLSelectElement}))){var ne=Date.now();ne-m<=Ri?(b++,b===2&&d(vn(E))):b=1,m=ne}}}return l.addEventListener("click",k),{dblclick:d,simDblclick:k}}function $(l,d){l.removeEventListener("dblclick",d.dblclick),l.removeEventListener("click",d.simDblclick)}var j=Te(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),K=Te(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),ue=K==="webkitTransition"||K==="OTransition"?K+"End":"transitionend";function le(l){return typeof l=="string"?document.getElementById(l):l}function De(l,d){var m=l.style[d]||l.currentStyle&&l.currentStyle[d];if((!m||m==="auto")&&document.defaultView){var b=document.defaultView.getComputedStyle(l,null);m=b?b[d]:null}return m==="auto"?null:m}function pe(l,d,m){var b=document.createElement(l);return b.className=d||"",m&&m.appendChild(b),b}function Fe(l){var d=l.parentNode;d&&d.removeChild(l)}function lt(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function Ve(l){var d=l.parentNode;d&&d.lastChild!==l&&d.appendChild(l)}function Ke(l){var d=l.parentNode;d&&d.firstChild!==l&&d.insertBefore(l,d.firstChild)}function si(l,d){if(l.classList!==void 0)return l.classList.contains(d);var m=dt(l);return m.length>0&&new RegExp("(^|\\s)"+d+"(\\s|$)").test(m)}function A(l,d){if(l.classList!==void 0)for(var m=_(d),b=0,k=m.length;b<k;b++)l.classList.add(m[b]);else if(!si(l,d)){var E=dt(l);He(l,(E?E+" ":"")+d)}}function J(l,d){l.classList!==void 0?l.classList.remove(d):He(l,v((" "+dt(l)+" ").replace(" "+d+" "," ")))}function He(l,d){l.className.baseVal===void 0?l.className=d:l.className.baseVal=d}function dt(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function it(l,d){"opacity"in l.style?l.style.opacity=d:"filter"in l.style&&zt(l,d)}function zt(l,d){var m=!1,b="DXImageTransform.Microsoft.Alpha";try{m=l.filters.item(b)}catch{if(d===1)return}d=Math.round(d*100),m?(m.Enabled=d!==100,m.Opacity=d):l.style.filter+=" progid:"+b+"(opacity="+d+")"}function Te(l){for(var d=document.documentElement.style,m=0;m<l.length;m++)if(l[m]in d)return l[m];return!1}function me(l,d,m){var b=d||new Me(0,0);l.style[j]=(Oe.ie3d?"translate("+b.x+"px,"+b.y+"px)":"translate3d("+b.x+"px,"+b.y+"px,0)")+(m?" scale("+m+")":"")}function xe(l,d){l._leaflet_pos=d,Oe.any3d?me(l,d):(l.style.left=d.x+"px",l.style.top=d.y+"px")}function Ze(l){return l._leaflet_pos||new Me(0,0)}var Ee,ve,At;if("onselectstart"in document)Ee=function(){tt(window,"selectstart",In)},ve=function(){ri(window,"selectstart",In)};else{var Ne=Te(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);Ee=function(){if(Ne){var l=document.documentElement.style;At=l[Ne],l[Ne]="none"}},ve=function(){Ne&&(document.documentElement.style[Ne]=At,At=void 0)}}function we(){tt(window,"dragstart",In)}function xt(){ri(window,"dragstart",In)}var $e,Vt;function ai(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(be(),$e=l,Vt=l.style.outlineStyle,l.style.outlineStyle="none",tt(window,"keydown",be))}function be(){$e&&($e.style.outlineStyle=Vt,$e=void 0,Vt=void 0,ri(window,"keydown",be))}function qe(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function rt(l){var d=l.getBoundingClientRect();return{x:d.width/l.offsetWidth||1,y:d.height/l.offsetHeight||1,boundingClientRect:d}}var Wt={__proto__:null,TRANSFORM:j,TRANSITION:K,TRANSITION_END:ue,get:le,getStyle:De,create:pe,remove:Fe,empty:lt,toFront:Ve,toBack:Ke,hasClass:si,addClass:A,removeClass:J,setClass:He,getClass:dt,setOpacity:it,testProp:Te,setTransform:me,setPosition:xe,getPosition:Ze,get disableTextSelection(){return Ee},get enableTextSelection(){return ve},disableImageDrag:we,enableImageDrag:xt,preventOutline:ai,restoreOutline:be,getSizedParentNode:qe,getScale:rt};function tt(l,d,m,b){if(d&&typeof d=="object")for(var k in d)Bt(l,k,d[k],m);else{d=_(d);for(var E=0,U=d.length;E<U;E++)Bt(l,d[E],m,b)}return this}var ui="_leaflet_events";function ri(l,d,m,b){if(arguments.length===1)Ti(l),delete l[ui];else if(d&&typeof d=="object")for(var k in d)Ui(l,k,d[k],m);else if(d=_(d),arguments.length===2)Ti(l,function(ne){return z(d,ne)!==-1});else for(var E=0,U=d.length;E<U;E++)Ui(l,d[E],m,b);return this}function Ti(l,d){for(var m in l[ui]){var b=m.split(/\d/)[0];(!d||d(b))&&Ui(l,b,null,null,m)}}var Jt={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Bt(l,d,m,b){var k=d+c(m)+(b?"_"+c(b):"");if(l[ui]&&l[ui][k])return this;var E=function(ne){return m.call(b||l,ne||window.event)},U=E;!Oe.touchNative&&Oe.pointer&&d.indexOf("touch")===0?E=Ue(l,d,E):Oe.touch&&d==="dblclick"?E=qt(l,E):"addEventListener"in l?d==="touchstart"||d==="touchmove"||d==="wheel"||d==="mousewheel"?l.addEventListener(Jt[d]||d,E,Oe.passiveEvents?{passive:!1}:!1):d==="mouseenter"||d==="mouseleave"?(E=function(ne){ne=ne||window.event,Kr(l,ne)&&U(ne)},l.addEventListener(Jt[d],E,!1)):l.addEventListener(d,U,!1):l.attachEvent("on"+d,E),l[ui]=l[ui]||{},l[ui][k]=E}function Ui(l,d,m,b,k){k=k||d+c(m)+(b?"_"+c(b):"");var E=l[ui]&&l[ui][k];if(!E)return this;!Oe.touchNative&&Oe.pointer&&d.indexOf("touch")===0?pt(l,d,E):Oe.touch&&d==="dblclick"?$(l,E):"removeEventListener"in l?l.removeEventListener(Jt[d]||d,E,!1):l.detachEvent("on"+d,E),l[ui][k]=null}function tn(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function bn(l){return Bt(l,"wheel",tn),this}function $n(l){return tt(l,"mousedown touchstart dblclick contextmenu",tn),l._leaflet_disable_click=!0,this}function In(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function Ps(l){return In(l),tn(l),this}function Ur(l){if(l.composedPath)return l.composedPath();for(var d=[],m=l.target;m;)d.push(m),m=m.parentNode;return d}function Eo(l,d){if(!d)return new Me(l.clientX,l.clientY);var m=rt(d),b=m.boundingClientRect;return new Me((l.clientX-b.left)/m.x-d.clientLeft,(l.clientY-b.top)/m.y-d.clientTop)}var $r=Oe.linux&&Oe.chrome?window.devicePixelRatio:Oe.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function qr(l){return Oe.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/$r: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 Kr(l,d){var m=d.relatedTarget;if(!m)return!0;try{for(;m&&m!==l;)m=m.parentNode}catch{return!1}return m!==l}var _r={__proto__:null,on:tt,off:ri,stopPropagation:tn,disableScrollPropagation:bn,disableClickPropagation:$n,preventDefault:In,stop:Ps,getPropagationPath:Ur,getMousePosition:Eo,getWheelDelta:qr,isExternalTarget:Kr,addListener:tt,removeListener:ri},Lc=Ot.extend({run:function(l,d,m,b){this.stop(),this._el=l,this._inProgress=!0,this._duration=m||.25,this._easeOutPower=1/Math.max(b||.5,.2),this._startPos=Ze(l),this._offset=d.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=Le(this._animate,this),this._step()},_step:function(l){var d=+new Date-this._startTime,m=this._duration*1e3;d<m?this._runFrame(this._easeOut(d/m),l):(this._runFrame(1),this._complete())},_runFrame:function(l,d){var m=this._startPos.add(this._offset.multiplyBy(l));d&&m._round(),xe(this._el,m),this.fire("step")},_complete:function(){gt(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),bi=Ot.extend({options:{crs:hn,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,d){d=w(this,d),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(l),this._initLayout(),this._onResize=r(this._onResize,this),this._initEvents(),d.maxBounds&&this.setMaxBounds(d.maxBounds),d.zoom!==void 0&&(this._zoom=this._limitZoom(d.zoom)),d.center&&d.zoom!==void 0&&this.setView(kt(d.center),d.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=K&&Oe.any3d&&!Oe.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),tt(this._proxy,ue,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(l,d,m){if(d=d===void 0?this._zoom:this._limitZoom(d),l=this._limitCenter(kt(l),d,this.options.maxBounds),m=m||{},this._stop(),this._loaded&&!m.reset&&m!==!0){m.animate!==void 0&&(m.zoom=n({animate:m.animate},m.zoom),m.pan=n({animate:m.animate,duration:m.duration},m.pan));var b=this._zoom!==d?this._tryAnimatedZoom&&this._tryAnimatedZoom(l,d,m.zoom):this._tryAnimatedPan(l,m.pan);if(b)return clearTimeout(this._sizeTimer),this}return this._resetView(l,d,m.pan&&m.pan.noMoveStart),this},setZoom:function(l,d){return this._loaded?this.setView(this.getCenter(),l,{zoom:d}):(this._zoom=l,this)},zoomIn:function(l,d){return l=l||(Oe.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,d)},zoomOut:function(l,d){return l=l||(Oe.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,d)},setZoomAround:function(l,d,m){var b=this.getZoomScale(d),k=this.getSize().divideBy(2),E=l instanceof Me?l:this.latLngToContainerPoint(l),U=E.subtract(k).multiplyBy(1-1/b),ne=this.containerPointToLatLng(k.add(U));return this.setView(ne,d,{zoom:m})},_getBoundsCenterZoom:function(l,d){d=d||{},l=l.getBounds?l.getBounds():Rt(l);var m=je(d.paddingTopLeft||d.padding||[0,0]),b=je(d.paddingBottomRight||d.padding||[0,0]),k=this.getBoundsZoom(l,!1,m.add(b));if(k=typeof d.maxZoom=="number"?Math.min(d.maxZoom,k):k,k===1/0)return{center:l.getCenter(),zoom:k};var E=b.subtract(m).divideBy(2),U=this.project(l.getSouthWest(),k),ne=this.project(l.getNorthEast(),k),ce=this.unproject(U.add(ne).divideBy(2).add(E),k);return{center:ce,zoom:k}},fitBounds:function(l,d){if(l=Rt(l),!l.isValid())throw new Error("Bounds are not valid.");var m=this._getBoundsCenterZoom(l,d);return this.setView(m.center,m.zoom,d)},fitWorld:function(l){return this.fitBounds([[-90,-180],[90,180]],l)},panTo:function(l,d){return this.setView(l,this._zoom,{pan:d})},panBy:function(l,d){if(l=je(l).round(),d=d||{},!l.x&&!l.y)return this.fire("moveend");if(d.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 Lc,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),d.noMoveStart||this.fire("movestart"),d.animate!==!1){A(this._mapPane,"leaflet-pan-anim");var m=this._getMapPanePos().subtract(l).round();this._panAnim.run(this._mapPane,m,d.duration||.25,d.easeLinearity)}else this._rawPanBy(l),this.fire("move").fire("moveend");return this},flyTo:function(l,d,m){if(m=m||{},m.animate===!1||!Oe.any3d)return this.setView(l,d,m);this._stop();var b=this.project(this.getCenter()),k=this.project(l),E=this.getSize(),U=this._zoom;l=kt(l),d=d===void 0?U:d;var ne=Math.max(E.x,E.y),ce=ne*this.getZoomScale(U,d),Be=k.distanceTo(b)||1,Nt=1.42,yi=Nt*Nt;function Zi(ps){var pm=ps?-1:1,eA=ps?ce:ne,tA=ce*ce-ne*ne+pm*yi*yi*Be*Be,iA=2*eA*yi*Be,Fy=tA/iA,LL=Math.sqrt(Fy*Fy+1)-Fy,nA=LL<1e-9?-18:Math.log(LL);return nA}function eo(ps){return(Math.exp(ps)-Math.exp(-ps))/2}function Ls(ps){return(Math.exp(ps)+Math.exp(-ps))/2}function Ko(ps){return eo(ps)/Ls(ps)}var fo=Zi(0);function Eh(ps){return ne*(Ls(fo)/Ls(fo+Nt*ps))}function XR(ps){return ne*(Ls(fo)*Ko(fo+Nt*ps)-eo(fo))/yi}function YR(ps){return 1-Math.pow(1-ps,1.5)}var JR=Date.now(),CL=(Zi(1)-fo)/Nt,QR=m.duration?1e3*m.duration:1e3*CL*.8;function xL(){var ps=(Date.now()-JR)/QR,pm=YR(ps)*CL;ps<=1?(this._flyToFrame=Le(xL,this),this._move(this.unproject(b.add(k.subtract(b).multiplyBy(XR(pm)/Be)),U),this.getScaleZoom(ne/Eh(pm),U),{flyTo:!0})):this._move(l,d)._moveEnd(!0)}return this._moveStart(!0,m.noMoveStart),xL.call(this),this},flyToBounds:function(l,d){var m=this._getBoundsCenterZoom(l,d);return this.flyTo(m.center,m.zoom,d)},setMaxBounds:function(l){return l=Rt(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 d=this.options.minZoom;return this.options.minZoom=l,this._loaded&&d!==l&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(l):this},setMaxZoom:function(l){var d=this.options.maxZoom;return this.options.maxZoom=l,this._loaded&&d!==l&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(l):this},panInsideBounds:function(l,d){this._enforcingBounds=!0;var m=this.getCenter(),b=this._limitCenter(m,this._zoom,Rt(l));return m.equals(b)||this.panTo(b,d),this._enforcingBounds=!1,this},panInside:function(l,d){d=d||{};var m=je(d.paddingTopLeft||d.padding||[0,0]),b=je(d.paddingBottomRight||d.padding||[0,0]),k=this.project(this.getCenter()),E=this.project(l),U=this.getPixelBounds(),ne=_t([U.min.add(m),U.max.subtract(b)]),ce=ne.getSize();if(!ne.contains(E)){this._enforcingBounds=!0;var Be=E.subtract(ne.getCenter()),Nt=ne.extend(E).getSize().subtract(ce);k.x+=Be.x<0?-Nt.x:Nt.x,k.y+=Be.y<0?-Nt.y:Nt.y,this.panTo(this.unproject(k),d),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 d=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var m=this.getSize(),b=d.divideBy(2).round(),k=m.divideBy(2).round(),E=b.subtract(k);return!E.x&&!E.y?this:(l.animate&&l.pan?this.panBy(E):(l.pan&&this._rawPanBy(E),this.fire("move"),l.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(r(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:d,newSize:m}))},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 d=r(this._handleGeolocationResponse,this),m=r(this._handleGeolocationError,this);return l.watch?this._locationWatchId=navigator.geolocation.watchPosition(d,m,l):navigator.geolocation.getCurrentPosition(d,m,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 d=l.code,m=l.message||(d===1?"permission denied":d===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:d,message:"Geolocation error: "+m+"."})}},_handleGeolocationResponse:function(l){if(this._container._leaflet_id){var d=l.coords.latitude,m=l.coords.longitude,b=new Dt(d,m),k=b.toBounds(l.coords.accuracy*2),E=this._locateOptions;if(E.setView){var U=this.getBoundsZoom(k);this.setView(b,E.maxZoom?Math.min(U,E.maxZoom):U)}var ne={latlng:b,bounds:k,timestamp:l.timestamp};for(var ce in l.coords)typeof l.coords[ce]=="number"&&(ne[ce]=l.coords[ce]);this.fire("locationfound",ne)}},addHandler:function(l,d){if(!d)return this;var m=this[l]=new d(this);return this._handlers.push(m),this.options[l]&&m.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(),Fe(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(gt(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)Fe(this._panes[l]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(l,d){var m="leaflet-pane"+(l?" leaflet-"+l.replace("Pane","")+"-pane":""),b=pe("div",m,d||this._mapPane);return l&&(this._panes[l]=b),b},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(),d=this.unproject(l.getBottomLeft()),m=this.unproject(l.getTopRight());return new pi(d,m)},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,d,m){l=Rt(l),m=je(m||[0,0]);var b=this.getZoom()||0,k=this.getMinZoom(),E=this.getMaxZoom(),U=l.getNorthWest(),ne=l.getSouthEast(),ce=this.getSize().subtract(m),Be=_t(this.project(ne,b),this.project(U,b)).getSize(),Nt=Oe.any3d?this.options.zoomSnap:1,yi=ce.x/Be.x,Zi=ce.y/Be.y,eo=d?Math.max(yi,Zi):Math.min(yi,Zi);return b=this.getScaleZoom(eo,b),Nt&&(b=Math.round(b/(Nt/100))*(Nt/100),b=d?Math.ceil(b/Nt)*Nt:Math.floor(b/Nt)*Nt),Math.max(k,Math.min(E,b))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new Me(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(l,d){var m=this._getTopLeftPoint(l,d);return new ot(m,m.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,d){var m=this.options.crs;return d=d===void 0?this._zoom:d,m.scale(l)/m.scale(d)},getScaleZoom:function(l,d){var m=this.options.crs;d=d===void 0?this._zoom:d;var b=m.zoom(l*m.scale(d));return isNaN(b)?1/0:b},project:function(l,d){return d=d===void 0?this._zoom:d,this.options.crs.latLngToPoint(kt(l),d)},unproject:function(l,d){return d=d===void 0?this._zoom:d,this.options.crs.pointToLatLng(je(l),d)},layerPointToLatLng:function(l){var d=je(l).add(this.getPixelOrigin());return this.unproject(d)},latLngToLayerPoint:function(l){var d=this.project(kt(l))._round();return d._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(kt(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(Rt(l))},distance:function(l,d){return this.options.crs.distance(kt(l),kt(d))},containerPointToLayerPoint:function(l){return je(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return je(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var d=this.containerPointToLayerPoint(je(l));return this.layerPointToLatLng(d)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(kt(l)))},mouseEventToContainerPoint:function(l){return Eo(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 d=this._container=le(l);if(d){if(d._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");tt(d,"scroll",this._onScroll,this),this._containerId=c(d)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&Oe.any3d,A(l,"leaflet-container"+(Oe.touch?" leaflet-touch":"")+(Oe.retina?" leaflet-retina":"")+(Oe.ielt9?" leaflet-oldie":"")+(Oe.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var d=De(l,"position");d!=="absolute"&&d!=="relative"&&d!=="fixed"&&d!=="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),xe(this._mapPane,new Me(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(A(l.markerPane,"leaflet-zoom-hide"),A(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,d,m){xe(this._mapPane,new Me(0,0));var b=!this._loaded;this._loaded=!0,d=this._limitZoom(d),this.fire("viewprereset");var k=this._zoom!==d;this._moveStart(k,m)._move(l,d)._moveEnd(k),this.fire("viewreset"),b&&this.fire("load")},_moveStart:function(l,d){return l&&this.fire("zoomstart"),d||this.fire("movestart"),this},_move:function(l,d,m,b){d===void 0&&(d=this._zoom);var k=this._zoom!==d;return this._zoom=d,this._lastCenter=l,this._pixelOrigin=this._getNewPixelOrigin(l),b?m&&m.pinch&&this.fire("zoom",m):((k||m&&m.pinch)&&this.fire("zoom",m),this.fire("move",m)),this},_moveEnd:function(l){return l&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return gt(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){xe(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 d=l?ri:tt;d(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&d(window,"resize",this._onResize,this),Oe.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){gt(this._resizeRequest),this._resizeRequest=Le(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,d){for(var m=[],b,k=d==="mouseout"||d==="mouseover",E=l.target||l.srcElement,U=!1;E;){if(b=this._targets[c(E)],b&&(d==="click"||d==="preclick")&&this._draggableMoved(b)){U=!0;break}if(b&&b.listens(d,!0)&&(k&&!Kr(E,l)||(m.push(b),k))||E===this._container)break;E=E.parentNode}return!m.length&&!U&&!k&&this.listens(d,!0)&&(m=[this]),m},_isClickDisabled:function(l){for(;l&&l!==this._container;){if(l._leaflet_disable_click)return!0;l=l.parentNode}},_handleDOMEvent:function(l){var d=l.target||l.srcElement;if(!(!this._loaded||d._leaflet_disable_events||l.type==="click"&&this._isClickDisabled(d))){var m=l.type;m==="mousedown"&&ai(d),this._fireDOMEvent(l,m)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(l,d,m){if(l.type==="click"){var b=n({},l);b.type="preclick",this._fireDOMEvent(b,b.type,m)}var k=this._findEventTargets(l,d);if(m){for(var E=[],U=0;U<m.length;U++)m[U].listens(d,!0)&&E.push(m[U]);k=E.concat(k)}if(k.length){d==="contextmenu"&&In(l);var ne=k[0],ce={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var Be=ne.getLatLng&&(!ne._radius||ne._radius<=10);ce.containerPoint=Be?this.latLngToContainerPoint(ne.getLatLng()):this.mouseEventToContainerPoint(l),ce.layerPoint=this.containerPointToLayerPoint(ce.containerPoint),ce.latlng=Be?ne.getLatLng():this.layerPointToLatLng(ce.layerPoint)}for(U=0;U<k.length;U++)if(k[U].fire(d,ce,!0),ce.originalEvent._stopped||k[U].options.bubblingMouseEvents===!1&&z(this._mouseEvents,d)!==-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,d=this._handlers.length;l<d;l++)this._handlers[l].disable()},whenReady:function(l,d){return this._loaded?l.call(d||this,{target:this}):this.on("load",l,d),this},_getMapPanePos:function(){return Ze(this._mapPane)||new Me(0,0)},_moved:function(){var l=this._getMapPanePos();return l&&!l.equals([0,0])},_getTopLeftPoint:function(l,d){var m=l&&d!==void 0?this._getNewPixelOrigin(l,d):this.getPixelOrigin();return m.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(l,d){var m=this.getSize()._divideBy(2);return this.project(l,d)._subtract(m)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(l,d,m){var b=this._getNewPixelOrigin(m,d);return this.project(l,d)._subtract(b)},_latLngBoundsToNewLayerBounds:function(l,d,m){var b=this._getNewPixelOrigin(m,d);return _t([this.project(l.getSouthWest(),d)._subtract(b),this.project(l.getNorthWest(),d)._subtract(b),this.project(l.getSouthEast(),d)._subtract(b),this.project(l.getNorthEast(),d)._subtract(b)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(l){return this.latLngToLayerPoint(l).subtract(this._getCenterLayerPoint())},_limitCenter:function(l,d,m){if(!m)return l;var b=this.project(l,d),k=this.getSize().divideBy(2),E=new ot(b.subtract(k),b.add(k)),U=this._getBoundsOffset(E,m,d);return Math.abs(U.x)<=1&&Math.abs(U.y)<=1?l:this.unproject(b.add(U),d)},_limitOffset:function(l,d){if(!d)return l;var m=this.getPixelBounds(),b=new ot(m.min.add(l),m.max.add(l));return l.add(this._getBoundsOffset(b,d))},_getBoundsOffset:function(l,d,m){var b=_t(this.project(d.getNorthEast(),m),this.project(d.getSouthWest(),m)),k=b.min.subtract(l.min),E=b.max.subtract(l.max),U=this._rebound(k.x,-E.x),ne=this._rebound(k.y,-E.y);return new Me(U,ne)},_rebound:function(l,d){return l+d>0?Math.round(l-d)/2:Math.max(0,Math.ceil(l))-Math.max(0,Math.floor(d))},_limitZoom:function(l){var d=this.getMinZoom(),m=this.getMaxZoom(),b=Oe.any3d?this.options.zoomSnap:1;return b&&(l=Math.round(l/b)*b),Math.max(d,Math.min(m,l))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){J(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(l,d){var m=this._getCenterOffset(l)._trunc();return(d&&d.animate)!==!0&&!this.getSize().contains(m)?!1:(this.panBy(m,d),!0)},_createAnimProxy:function(){var l=this._proxy=pe("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(d){var m=j,b=this._proxy.style[m];me(this._proxy,this.project(d.center,d.zoom),this.getZoomScale(d.zoom,1)),b===this._proxy.style[m]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){Fe(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),d=this.getZoom();me(this._proxy,this.project(l,d),this.getZoomScale(d,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,d,m){if(this._animatingZoom)return!0;if(m=m||{},!this._zoomAnimated||m.animate===!1||this._nothingToAnimate()||Math.abs(d-this._zoom)>this.options.zoomAnimationThreshold)return!1;var b=this.getZoomScale(d),k=this._getCenterOffset(l)._divideBy(1-1/b);return m.animate!==!0&&!this.getSize().contains(k)?!1:(Le(function(){this._moveStart(!0,m.noMoveStart||!1)._animateZoom(l,d,!0)},this),!0)},_animateZoom:function(l,d,m,b){this._mapPane&&(m&&(this._animatingZoom=!0,this._animateToCenter=l,this._animateToZoom=d,A(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:l,zoom:d,noUpdate:b}),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&&J(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 uo(l,d){return new bi(l,d)}var xs=ft.extend({options:{position:"topright"},initialize:function(l){w(this,l)},getPosition:function(){return this.options.position},setPosition:function(l){var d=this._map;return d&&d.removeControl(this),this.options.position=l,d&&d.addControl(this),this},getContainer:function(){return this._container},addTo:function(l){this.remove(),this._map=l;var d=this._container=this.onAdd(l),m=this.getPosition(),b=l._controlCorners[m];return A(d,"leaflet-control"),m.indexOf("bottom")!==-1?b.insertBefore(d,b.firstChild):b.appendChild(d),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(Fe(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()}}),Ea=function(l){return new xs(l)};bi.include({addControl:function(l){return l.addTo(this),this},removeControl:function(l){return l.remove(),this},_initControlPos:function(){var l=this._controlCorners={},d="leaflet-",m=this._controlContainer=pe("div",d+"control-container",this._container);function b(k,E){var U=d+k+" "+d+E;l[k+E]=pe("div",U,m)}b("top","left"),b("top","right"),b("bottom","left"),b("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)Fe(this._controlCorners[l]);Fe(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Sh=xs.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(l,d,m,b){return m<b?-1:b<m?1:0}},initialize:function(l,d,m){w(this,m),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var b in l)this._addLayer(l[b],b);for(b in d)this._addLayer(d[b],b,!0)},onAdd:function(l){this._initLayout(),this._update(),this._map=l,l.on("zoomend",this._checkDisabledLayers,this);for(var d=0;d<this._layers.length;d++)this._layers[d].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(l){return xs.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,d){return this._addLayer(l,d),this._map?this._update():this},addOverlay:function(l,d){return this._addLayer(l,d,!0),this._map?this._update():this},removeLayer:function(l){l.off("add remove",this._onLayerChange,this);var d=this._getLayer(c(l));return d&&this._layers.splice(this._layers.indexOf(d),1),this._map?this._update():this},expand:function(){A(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?(A(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):J(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return J(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",d=this._container=pe("div",l),m=this.options.collapsed;d.setAttribute("aria-haspopup",!0),$n(d),bn(d);var b=this._section=pe("section",l+"-list");m&&(this._map.on("click",this.collapse,this),tt(d,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var k=this._layersLink=pe("a",l+"-toggle",d);k.href="#",k.title="Layers",k.setAttribute("role","button"),tt(k,{keydown:function(E){E.keyCode===13&&this._expandSafely()},click:function(E){In(E),this._expandSafely()}},this),m||this.expand(),this._baseLayersList=pe("div",l+"-base",b),this._separator=pe("div",l+"-separator",b),this._overlaysList=pe("div",l+"-overlays",b),d.appendChild(b)},_getLayer:function(l){for(var d=0;d<this._layers.length;d++)if(this._layers[d]&&c(this._layers[d].layer)===l)return this._layers[d]},_addLayer:function(l,d,m){this._map&&l.on("add remove",this._onLayerChange,this),this._layers.push({layer:l,name:d,overlay:m}),this.options.sortLayers&&this._layers.sort(r(function(b,k){return this.options.sortFunction(b.layer,k.layer,b.name,k.name)},this)),this.options.autoZIndex&&l.setZIndex&&(this._lastZIndex++,l.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;lt(this._baseLayersList),lt(this._overlaysList),this._layerControlInputs=[];var l,d,m,b,k=0;for(m=0;m<this._layers.length;m++)b=this._layers[m],this._addItem(b),d=d||b.overlay,l=l||!b.overlay,k+=b.overlay?0:1;return this.options.hideSingleBase&&(l=l&&k>1,this._baseLayersList.style.display=l?"":"none"),this._separator.style.display=d&&l?"":"none",this},_onLayerChange:function(l){this._handlingClick||this._update();var d=this._getLayer(c(l.target)),m=d.overlay?l.type==="add"?"overlayadd":"overlayremove":l.type==="add"?"baselayerchange":null;m&&this._map.fire(m,d)},_createRadioElement:function(l,d){var m='<input type="radio" class="leaflet-control-layers-selector" name="'+l+'"'+(d?' checked="checked"':"")+"/>",b=document.createElement("div");return b.innerHTML=m,b.firstChild},_addItem:function(l){var d=document.createElement("label"),m=this._map.hasLayer(l.layer),b;l.overlay?(b=document.createElement("input"),b.type="checkbox",b.className="leaflet-control-layers-selector",b.defaultChecked=m):b=this._createRadioElement("leaflet-base-layers_"+c(this),m),this._layerControlInputs.push(b),b.layerId=c(l.layer),tt(b,"click",this._onInputClick,this);var k=document.createElement("span");k.innerHTML=" "+l.name;var E=document.createElement("span");d.appendChild(E),E.appendChild(b),E.appendChild(k);var U=l.overlay?this._overlaysList:this._baseLayersList;return U.appendChild(d),this._checkDisabledLayers(),d},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,d,m,b=[],k=[];this._handlingClick=!0;for(var E=l.length-1;E>=0;E--)d=l[E],m=this._getLayer(d.layerId).layer,d.checked?b.push(m):d.checked||k.push(m);for(E=0;E<k.length;E++)this._map.hasLayer(k[E])&&this._map.removeLayer(k[E]);for(E=0;E<b.length;E++)this._map.hasLayer(b[E])||this._map.addLayer(b[E]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var l=this._layerControlInputs,d,m,b=this._map.getZoom(),k=l.length-1;k>=0;k--)d=l[k],m=this._getLayer(d.layerId).layer,d.disabled=m.options.minZoom!==void 0&&b<m.options.minZoom||m.options.maxZoom!==void 0&&b>m.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var l=this._section;this._preventClick=!0,tt(l,"click",In),this.expand();var d=this;setTimeout(function(){ri(l,"click",In),d._preventClick=!1})}}),Pg=function(l,d,m){return new Sh(l,d,m)},Uo=xs.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 d="leaflet-control-zoom",m=pe("div",d+" leaflet-bar"),b=this.options;return this._zoomInButton=this._createButton(b.zoomInText,b.zoomInTitle,d+"-in",m,this._zoomIn),this._zoomOutButton=this._createButton(b.zoomOutText,b.zoomOutTitle,d+"-out",m,this._zoomOut),this._updateDisabled(),l.on("zoomend zoomlevelschange",this._updateDisabled,this),m},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,d,m,b,k){var E=pe("a",m,b);return E.innerHTML=l,E.href="#",E.title=d,E.setAttribute("role","button"),E.setAttribute("aria-label",d),$n(E),tt(E,"click",Ps),tt(E,"click",k,this),tt(E,"click",this._refocusOnMap,this),E},_updateDisabled:function(){var l=this._map,d="leaflet-disabled";J(this._zoomInButton,d),J(this._zoomOutButton,d),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(A(this._zoomOutButton,d),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(A(this._zoomInButton,d),this._zoomInButton.setAttribute("aria-disabled","true"))}});bi.mergeOptions({zoomControl:!0}),bi.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Uo,this.addControl(this.zoomControl))});var bl=function(l){return new Uo(l)},nm=xs.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var d="leaflet-control-scale",m=pe("div",d),b=this.options;return this._addScales(b,d+"-line",m),l.on(b.updateWhenIdle?"moveend":"move",this._update,this),l.whenReady(this._update,this),m},onRemove:function(l){l.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(l,d,m){l.metric&&(this._mScale=pe("div",d,m)),l.imperial&&(this._iScale=pe("div",d,m))},_update:function(){var l=this._map,d=l.getSize().y/2,m=l.distance(l.containerPointToLatLng([0,d]),l.containerPointToLatLng([this.options.maxWidth,d]));this._updateScales(m)},_updateScales:function(l){this.options.metric&&l&&this._updateMetric(l),this.options.imperial&&l&&this._updateImperial(l)},_updateMetric:function(l){var d=this._getRoundNum(l),m=d<1e3?d+" m":d/1e3+" km";this._updateScale(this._mScale,m,d/l)},_updateImperial:function(l){var d=l*3.2808399,m,b,k;d>5280?(m=d/5280,b=this._getRoundNum(m),this._updateScale(this._iScale,b+" mi",b/m)):(k=this._getRoundNum(d),this._updateScale(this._iScale,k+" ft",k/d))},_updateScale:function(l,d,m){l.style.width=Math.round(this.options.maxWidth*m)+"px",l.innerHTML=d},_getRoundNum:function(l){var d=Math.pow(10,(Math.floor(l)+"").length-1),m=l/d;return m=m>=10?10:m>=5?5:m>=3?3:m>=2?2:1,d*m}}),Py=function(l){return new nm(l)},B='<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>',ae=xs.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(Oe.inlineSvg?B+" ":"")+"Leaflet</a>"},initialize:function(l){w(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=pe("div","leaflet-control-attribution"),$n(this._container);for(var d in l._layers)l._layers[d].getAttribution&&this.addAttribution(l._layers[d].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 d in this._attributions)this._attributions[d]&&l.push(d);var m=[];this.options.prefix&&m.push(this.options.prefix),l.length&&m.push(l.join(", ")),this._container.innerHTML=m.join(' <span aria-hidden="true">|</span> ')}}});bi.mergeOptions({attributionControl:!0}),bi.addInitHook(function(){this.options.attributionControl&&new ae().addTo(this)});var Re=function(l){return new ae(l)};xs.Layers=Sh,xs.Zoom=Uo,xs.Scale=nm,xs.Attribution=ae,Ea.layers=Pg,Ea.zoom=bl,Ea.scale=Py,Ea.attribution=Re;var de=ft.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}});de.addTo=function(l,d){return l.addHandler(d,this),this};var Pt={Events:ct},Qt=Oe.touch?"touchstart mousedown":"mousedown",Ft=Ot.extend({options:{clickTolerance:3},initialize:function(l,d,m,b){w(this,b),this._element=l,this._dragStartTarget=d||l,this._preventOutline=m},enable:function(){this._enabled||(tt(this._dragStartTarget,Qt,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Ft._dragging===this&&this.finishDrag(!0),ri(this._dragStartTarget,Qt,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!si(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){Ft._dragging===this&&this.finishDrag();return}if(!(Ft._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(Ft._dragging=this,this._preventOutline&&ai(this._element),we(),Ee(),!this._moving)){this.fire("down");var d=l.touches?l.touches[0]:l,m=qe(this._element);this._startPoint=new Me(d.clientX,d.clientY),this._startPos=Ze(this._element),this._parentScale=rt(m);var b=l.type==="mousedown";tt(document,b?"mousemove":"touchmove",this._onMove,this),tt(document,b?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(l){if(this._enabled){if(l.touches&&l.touches.length>1){this._moved=!0;return}var d=l.touches&&l.touches.length===1?l.touches[0]:l,m=new Me(d.clientX,d.clientY)._subtract(this._startPoint);!m.x&&!m.y||Math.abs(m.x)+Math.abs(m.y)<this.options.clickTolerance||(m.x/=this._parentScale.x,m.y/=this._parentScale.y,In(l),this._moved||(this.fire("dragstart"),this._moved=!0,A(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),A(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(m),this._moving=!0,this._lastEvent=l,this._updatePosition())}},_updatePosition:function(){var l={originalEvent:this._lastEvent};this.fire("predrag",l),xe(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){J(document.body,"leaflet-dragging"),this._lastTarget&&(J(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),ri(document,"mousemove touchmove",this._onMove,this),ri(document,"mouseup touchend touchcancel",this._onUp,this),xt(),ve();var d=this._moved&&this._moving;this._moving=!1,Ft._dragging=!1,d&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function Bi(l,d,m){var b,k=[1,4,2,8],E,U,ne,ce,Be,Nt,yi,Zi;for(E=0,Nt=l.length;E<Nt;E++)l[E]._code=Ms(l[E],d);for(ne=0;ne<4;ne++){for(yi=k[ne],b=[],E=0,Nt=l.length,U=Nt-1;E<Nt;U=E++)ce=l[E],Be=l[U],ce._code&yi?Be._code&yi||(Zi=$o(Be,ce,yi,d,m),Zi._code=Ms(Zi,d),b.push(Zi)):(Be._code&yi&&(Zi=$o(Be,ce,yi,d,m),Zi._code=Ms(Zi,d),b.push(Zi)),b.push(ce));l=b}return l}function Mi(l,d){var m,b,k,E,U,ne,ce,Be,Nt;if(!l||l.length===0)throw new Error("latlngs not passed");ns(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var yi=kt([0,0]),Zi=Rt(l),eo=Zi.getNorthWest().distanceTo(Zi.getSouthWest())*Zi.getNorthEast().distanceTo(Zi.getNorthWest());eo<1700&&(yi=ki(l));var Ls=l.length,Ko=[];for(m=0;m<Ls;m++){var fo=kt(l[m]);Ko.push(d.project(kt([fo.lat-yi.lat,fo.lng-yi.lng])))}for(ne=ce=Be=0,m=0,b=Ls-1;m<Ls;b=m++)k=Ko[m],E=Ko[b],U=k.y*E.x-E.y*k.x,ce+=(k.x+E.x)*U,Be+=(k.y+E.y)*U,ne+=U*3;ne===0?Nt=Ko[0]:Nt=[ce/ne,Be/ne];var Eh=d.unproject(je(Nt));return kt([Eh.lat+yi.lat,Eh.lng+yi.lng])}function ki(l){for(var d=0,m=0,b=0,k=0;k<l.length;k++){var E=kt(l[k]);d+=E.lat,m+=E.lng,b++}return kt([d/b,m/b])}var Ci={__proto__:null,clipPolygon:Bi,polygonCenter:Mi,centroid:ki};function Ai(l,d){if(!d||!l.length)return l.slice();var m=d*d;return l=Us(l,m),l=Ts(l,m),l}function Kn(l,d,m){return Math.sqrt(qo(l,d,m,!0))}function go(l,d,m){return qo(l,d,m)}function Ts(l,d){var m=l.length,b=typeof Uint8Array<"u"?Uint8Array:Array,k=new b(m);k[0]=k[m-1]=1,Po(l,k,d,0,m-1);var E,U=[];for(E=0;E<m;E++)k[E]&&U.push(l[E]);return U}function Po(l,d,m,b,k){var E=0,U,ne,ce;for(ne=b+1;ne<=k-1;ne++)ce=qo(l[ne],l[b],l[k],!0),ce>E&&(U=ne,E=ce);E>m&&(d[U]=1,Po(l,d,m,b,U),Po(l,d,m,U,k))}function Us(l,d){for(var m=[l[0]],b=1,k=0,E=l.length;b<E;b++)yl(l[b],l[k])>d&&(m.push(l[b]),k=b);return k<E-1&&m.push(l[E-1]),m}var To;function Gr(l,d,m,b,k){var E=b?To:Ms(l,m),U=Ms(d,m),ne,ce,Be;for(To=U;;){if(!(E|U))return[l,d];if(E&U)return!1;ne=E||U,ce=$o(l,d,ne,m,k),Be=Ms(ce,m),ne===E?(l=ce,E=Be):(d=ce,U=Be)}}function $o(l,d,m,b,k){var E=d.x-l.x,U=d.y-l.y,ne=b.min,ce=b.max,Be,Nt;return m&8?(Be=l.x+E*(ce.y-l.y)/U,Nt=ce.y):m&4?(Be=l.x+E*(ne.y-l.y)/U,Nt=ne.y):m&2?(Be=ce.x,Nt=l.y+U*(ce.x-l.x)/E):m&1&&(Be=ne.x,Nt=l.y+U*(ne.x-l.x)/E),new Me(Be,Nt,k)}function Ms(l,d){var m=0;return l.x<d.min.x?m|=1:l.x>d.max.x&&(m|=2),l.y<d.min.y?m|=4:l.y>d.max.y&&(m|=8),m}function yl(l,d){var m=d.x-l.x,b=d.y-l.y;return m*m+b*b}function qo(l,d,m,b){var k=d.x,E=d.y,U=m.x-k,ne=m.y-E,ce=U*U+ne*ne,Be;return ce>0&&(Be=((l.x-k)*U+(l.y-E)*ne)/ce,Be>1?(k=m.x,E=m.y):Be>0&&(k+=U*Be,E+=ne*Be)),U=l.x-k,ne=l.y-E,b?U*U+ne*ne:new Me(k,E)}function ns(l){return!N(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function Mo(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),ns(l)}function Ch(l,d){var m,b,k,E,U,ne,ce,Be;if(!l||l.length===0)throw new Error("latlngs not passed");ns(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Nt=kt([0,0]),yi=Rt(l),Zi=yi.getNorthWest().distanceTo(yi.getSouthWest())*yi.getNorthEast().distanceTo(yi.getNorthWest());Zi<1700&&(Nt=ki(l));var eo=l.length,Ls=[];for(m=0;m<eo;m++){var Ko=kt(l[m]);Ls.push(d.project(kt([Ko.lat-Nt.lat,Ko.lng-Nt.lng])))}for(m=0,b=0;m<eo-1;m++)b+=Ls[m].distanceTo(Ls[m+1])/2;if(b===0)Be=Ls[0];else for(m=0,E=0;m<eo-1;m++)if(U=Ls[m],ne=Ls[m+1],k=U.distanceTo(ne),E+=k,E>b){ce=(E-b)/k,Be=[ne.x-ce*(ne.x-U.x),ne.y-ce*(ne.y-U.y)];break}var fo=d.unproject(je(Be));return kt([fo.lat+Nt.lat,fo.lng+Nt.lng])}var ls={__proto__:null,simplify:Ai,pointToSegmentDistance:Kn,closestPointOnSegment:go,clipSegment:Gr,_getEdgeIntersection:$o,_getBitCode:Ms,_sqClosestPointOnSegment:qo,isFlat:ns,_flat:Mo,polylineCenter:Ch},Zr={project:function(l){return new Me(l.lng,l.lat)},unproject:function(l){return new Dt(l.y,l.x)},bounds:new ot([-180,-90],[180,90])},Pa={R:6378137,R_MINOR:6356752314245179e-9,bounds:new ot([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(l){var d=Math.PI/180,m=this.R,b=l.lat*d,k=this.R_MINOR/m,E=Math.sqrt(1-k*k),U=E*Math.sin(b),ne=Math.tan(Math.PI/4-b/2)/Math.pow((1-U)/(1+U),E/2);return b=-m*Math.log(Math.max(ne,1e-10)),new Me(l.lng*d*m,b)},unproject:function(l){for(var d=180/Math.PI,m=this.R,b=this.R_MINOR/m,k=Math.sqrt(1-b*b),E=Math.exp(-l.y/m),U=Math.PI/2-2*Math.atan(E),ne=0,ce=.1,Be;ne<15&&Math.abs(ce)>1e-7;ne++)Be=k*Math.sin(U),Be=Math.pow((1-Be)/(1+Be),k/2),ce=Math.PI/2-2*Math.atan(E*Be)-U,U+=ce;return new Dt(U*d,l.x*d/m)}},Tg={__proto__:null,LonLat:Zr,Mercator:Pa,SphericalMercator:cn},Ty=n({},Ki,{code:"EPSG:3395",projection:Pa,transformation:(function(){var l=.5/(Math.PI*Pa.R);return dn(l,.5,-l,.5)})()}),sm=n({},Ki,{code:"EPSG:4326",projection:Zr,transformation:dn(1/180,1,-1/180,.5)}),My=n({},qi,{projection:Zr,transformation:dn(1,0,-1,0),scale:function(l){return Math.pow(2,l)},zoom:function(l){return Math.log(l)/Math.LN2},distance:function(l,d){var m=d.lng-l.lng,b=d.lat-l.lat;return Math.sqrt(m*m+b*b)},infinite:!0});qi.Earth=Ki,qi.EPSG3395=Ty,qi.EPSG3857=hn,qi.EPSG900913=Nn,qi.EPSG4326=sm,qi.Simple=My;var Oi=Ot.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 d=l.target;if(d.hasLayer(this)){if(this._map=d,this._zoomAnimated=d._zoomAnimated,this.getEvents){var m=this.getEvents();d.on(m,this),this.once("remove",function(){d.off(m,this)},this)}this.onAdd(d),this.fire("add"),d.fire("layeradd",{layer:this})}}});bi.include({addLayer:function(l){if(!l._layerAdd)throw new Error("The provided object is not a Layer.");var d=c(l);return this._layers[d]?this:(this._layers[d]=l,l._mapToAdd=this,l.beforeAdd&&l.beforeAdd(this),this.whenReady(l._layerAdd,l),this)},removeLayer:function(l){var d=c(l);return this._layers[d]?(this._loaded&&l.onRemove(this),delete this._layers[d],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,d){for(var m in this._layers)l.call(d,this._layers[m]);return this},_addLayers:function(l){l=l?N(l)?l:[l]:[];for(var d=0,m=l.length;d<m;d++)this.addLayer(l[d])},_addZoomLimit:function(l){(!isNaN(l.options.maxZoom)||!isNaN(l.options.minZoom))&&(this._zoomBoundLayers[c(l)]=l,this._updateZoomLevels())},_removeZoomLimit:function(l){var d=c(l);this._zoomBoundLayers[d]&&(delete this._zoomBoundLayers[d],this._updateZoomLevels())},_updateZoomLevels:function(){var l=1/0,d=-1/0,m=this._getZoomSpan();for(var b in this._zoomBoundLayers){var k=this._zoomBoundLayers[b].options;l=k.minZoom===void 0?l:Math.min(l,k.minZoom),d=k.maxZoom===void 0?d:Math.max(d,k.maxZoom)}this._layersMaxZoom=d===-1/0?void 0:d,this._layersMinZoom=l===1/0?void 0:l,m!==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 vs=Oi.extend({initialize:function(l,d){w(this,d),this._layers={};var m,b;if(l)for(m=0,b=l.length;m<b;m++)this.addLayer(l[m])},addLayer:function(l){var d=this.getLayerId(l);return this._layers[d]=l,this._map&&this._map.addLayer(l),this},removeLayer:function(l){var d=l in this._layers?l:this.getLayerId(l);return this._map&&this._layers[d]&&this._map.removeLayer(this._layers[d]),delete this._layers[d],this},hasLayer:function(l){var d=typeof l=="number"?l:this.getLayerId(l);return d in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(l){var d=Array.prototype.slice.call(arguments,1),m,b;for(m in this._layers)b=this._layers[m],b[l]&&b[l].apply(b,d);return this},onAdd:function(l){this.eachLayer(l.addLayer,l)},onRemove:function(l){this.eachLayer(l.removeLayer,l)},eachLayer:function(l,d){for(var m in this._layers)l.call(d,this._layers[m]);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)}}),xh=function(l,d){return new vs(l,d)},Ta=vs.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),vs.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),vs.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 pi;for(var d in this._layers){var m=this._layers[d];l.extend(m.getBounds?m.getBounds():m.getLatLng())}return l}}),PR=function(l,d){return new Ta(l,d)},Lh=ft.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(l){w(this,l)},createIcon:function(l){return this._createIcon("icon",l)},createShadow:function(l){return this._createIcon("shadow",l)},_createIcon:function(l,d){var m=this._getIconUrl(l);if(!m){if(l==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var b=this._createImg(m,d&&d.tagName==="IMG"?d:null);return this._setIconStyles(b,l),(this.options.crossOrigin||this.options.crossOrigin==="")&&(b.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),b},_setIconStyles:function(l,d){var m=this.options,b=m[d+"Size"];typeof b=="number"&&(b=[b,b]);var k=je(b),E=je(d==="shadow"&&m.shadowAnchor||m.iconAnchor||k&&k.divideBy(2,!0));l.className="leaflet-marker-"+d+" "+(m.className||""),E&&(l.style.marginLeft=-E.x+"px",l.style.marginTop=-E.y+"px"),k&&(l.style.width=k.x+"px",l.style.height=k.y+"px")},_createImg:function(l,d){return d=d||document.createElement("img"),d.src=l,d},_getIconUrl:function(l){return Oe.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function TR(l){return new Lh(l)}var Mg=Lh.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 Mg.imagePath!="string"&&(Mg.imagePath=this._detectIconPath()),(this.options.imagePath||Mg.imagePath)+Lh.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var d=function(m,b,k){var E=b.exec(m);return E&&E[k]};return l=d(l,/^url\((['"])?(.+)\1\)$/,2),l&&d(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=pe("div","leaflet-default-icon-path",document.body),d=De(l,"background-image")||De(l,"backgroundImage");if(document.body.removeChild(l),d=this._stripUrl(d),d)return d;var m=document.querySelector('link[href$="leaflet.css"]');return m?m.href.substring(0,m.href.length-11-1):""}}),sL=de.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new Ft(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),A(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&&J(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(l){var d=this._marker,m=d._map,b=this._marker.options.autoPanSpeed,k=this._marker.options.autoPanPadding,E=Ze(d._icon),U=m.getPixelBounds(),ne=m.getPixelOrigin(),ce=_t(U.min._subtract(ne).add(k),U.max._subtract(ne).subtract(k));if(!ce.contains(E)){var Be=je((Math.max(ce.max.x,E.x)-ce.max.x)/(U.max.x-ce.max.x)-(Math.min(ce.min.x,E.x)-ce.min.x)/(U.min.x-ce.min.x),(Math.max(ce.max.y,E.y)-ce.max.y)/(U.max.y-ce.max.y)-(Math.min(ce.min.y,E.y)-ce.min.y)/(U.min.y-ce.min.y)).multiplyBy(b);m.panBy(Be,{animate:!1}),this._draggable._newPos._add(Be),this._draggable._startPos._add(Be),xe(d._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=Le(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&&(gt(this._panRequest),this._panRequest=Le(this._adjustPan.bind(this,l)))},_onDrag:function(l){var d=this._marker,m=d._shadow,b=Ze(d._icon),k=d._map.layerPointToLatLng(b);m&&xe(m,b),d._latlng=k,l.latlng=k,l.oldLatLng=this._oldLatLng,d.fire("move",l).fire("drag",l)},_onDragEnd:function(l){gt(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),om=Oi.extend({options:{icon:new Mg,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,d){w(this,d),this._latlng=kt(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 d=this._latlng;return this._latlng=kt(l),this.update(),this.fire("move",{oldLatLng:d,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,d="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),m=l.icon.createIcon(this._icon),b=!1;m!==this._icon&&(this._icon&&this._removeIcon(),b=!0,l.title&&(m.title=l.title),m.tagName==="IMG"&&(m.alt=l.alt||"")),A(m,d),l.keyboard&&(m.tabIndex="0",m.setAttribute("role","button")),this._icon=m,l.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&tt(m,"focus",this._panOnFocus,this);var k=l.icon.createShadow(this._shadow),E=!1;k!==this._shadow&&(this._removeShadow(),E=!0),k&&(A(k,d),k.alt=""),this._shadow=k,l.opacity<1&&this._updateOpacity(),b&&this.getPane().appendChild(this._icon),this._initInteraction(),k&&E&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&ri(this._icon,"focus",this._panOnFocus,this),Fe(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&Fe(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&xe(this._icon,l),this._shadow&&xe(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 d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center).round();this._setPos(d)},_initInteraction:function(){if(this.options.interactive&&(A(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),sL)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new sL(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&&it(this._icon,l),this._shadow&&it(this._shadow,l)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var l=this._map;if(l){var d=this.options.icon.options,m=d.iconSize?je(d.iconSize):je(0,0),b=d.iconAnchor?je(d.iconAnchor):je(0,0);l.panInside(this._latlng,{paddingTopLeft:b,paddingBottomRight:m.subtract(b)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function MR(l,d){return new om(l,d)}var wl=Oi.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 w(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)}}),rm=wl.extend({options:{fill:!0,radius:10},initialize:function(l,d){w(this,d),this._latlng=kt(l),this._radius=this.options.radius},setLatLng:function(l){var d=this._latlng;return this._latlng=kt(l),this.redraw(),this.fire("move",{oldLatLng:d,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 d=l&&l.radius||this._radius;return wl.prototype.setStyle.call(this,l),this.setRadius(d),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var l=this._radius,d=this._radiusY||l,m=this._clickTolerance(),b=[l+m,d+m];this._pxBounds=new ot(this._point.subtract(b),this._point.add(b))},_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 NR(l,d){return new rm(l,d)}var Ny=rm.extend({initialize:function(l,d,m){if(typeof d=="number"&&(d=n({},m,{radius:d})),w(this,d),this._latlng=kt(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 pi(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:wl.prototype.setStyle,_project:function(){var l=this._latlng.lng,d=this._latlng.lat,m=this._map,b=m.options.crs;if(b.distance===Ki.distance){var k=Math.PI/180,E=this._mRadius/Ki.R/k,U=m.project([d+E,l]),ne=m.project([d-E,l]),ce=U.add(ne).divideBy(2),Be=m.unproject(ce).lat,Nt=Math.acos((Math.cos(E*k)-Math.sin(d*k)*Math.sin(Be*k))/(Math.cos(d*k)*Math.cos(Be*k)))/k;(isNaN(Nt)||Nt===0)&&(Nt=E/Math.cos(Math.PI/180*d)),this._point=ce.subtract(m.getPixelOrigin()),this._radius=isNaN(Nt)?0:ce.x-m.project([Be,l-Nt]).x,this._radiusY=ce.y-U.y}else{var yi=b.unproject(b.project(this._latlng).subtract([this._mRadius,0]));this._point=m.latLngToLayerPoint(this._latlng),this._radius=this._point.x-m.latLngToLayerPoint(yi).x}this._updateBounds()}});function RR(l,d,m){return new Ny(l,d,m)}var Ma=wl.extend({options:{smoothFactor:1,noClip:!1},initialize:function(l,d){w(this,d),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 d=1/0,m=null,b=qo,k,E,U=0,ne=this._parts.length;U<ne;U++)for(var ce=this._parts[U],Be=1,Nt=ce.length;Be<Nt;Be++){k=ce[Be-1],E=ce[Be];var yi=b(l,k,E,!0);yi<d&&(d=yi,m=b(l,k,E))}return m&&(m.distance=Math.sqrt(d)),m},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return Ch(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,d){return d=d||this._defaultShape(),l=kt(l),d.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new pi,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return ns(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var d=[],m=ns(l),b=0,k=l.length;b<k;b++)m?(d[b]=kt(l[b]),this._bounds.extend(d[b])):d[b]=this._convertLatLngs(l[b]);return d},_project:function(){var l=new ot;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(),d=new Me(l,l);this._rawPxBounds&&(this._pxBounds=new ot([this._rawPxBounds.min.subtract(d),this._rawPxBounds.max.add(d)]))},_projectLatlngs:function(l,d,m){var b=l[0]instanceof Dt,k=l.length,E,U;if(b){for(U=[],E=0;E<k;E++)U[E]=this._map.latLngToLayerPoint(l[E]),m.extend(U[E]);d.push(U)}else for(E=0;E<k;E++)this._projectLatlngs(l[E],d,m)},_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 d=this._parts,m,b,k,E,U,ne,ce;for(m=0,k=0,E=this._rings.length;m<E;m++)for(ce=this._rings[m],b=0,U=ce.length;b<U-1;b++)ne=Gr(ce[b],ce[b+1],l,b,!0),ne&&(d[k]=d[k]||[],d[k].push(ne[0]),(ne[1]!==ce[b+1]||b===U-2)&&(d[k].push(ne[1]),k++))}},_simplifyPoints:function(){for(var l=this._parts,d=this.options.smoothFactor,m=0,b=l.length;m<b;m++)l[m]=Ai(l[m],d)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(l,d){var m,b,k,E,U,ne,ce=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(m=0,E=this._parts.length;m<E;m++)for(ne=this._parts[m],b=0,U=ne.length,k=U-1;b<U;k=b++)if(!(!d&&b===0)&&Kn(l,ne[k],ne[b])<=ce)return!0;return!1}});function AR(l,d){return new Ma(l,d)}Ma._flat=Mo;var kh=Ma.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 Mi(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var d=Ma.prototype._convertLatLngs.call(this,l),m=d.length;return m>=2&&d[0]instanceof Dt&&d[0].equals(d[m-1])&&d.pop(),d},_setLatLngs:function(l){Ma.prototype._setLatLngs.call(this,l),ns(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return ns(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,d=this.options.weight,m=new Me(d,d);if(l=new ot(l.min.subtract(m),l.max.add(m)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}for(var b=0,k=this._rings.length,E;b<k;b++)E=Bi(this._rings[b],l,!0),E.length&&this._parts.push(E)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var d=!1,m,b,k,E,U,ne,ce,Be;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(E=0,ce=this._parts.length;E<ce;E++)for(m=this._parts[E],U=0,Be=m.length,ne=Be-1;U<Be;ne=U++)b=m[U],k=m[ne],b.y>l.y!=k.y>l.y&&l.x<(k.x-b.x)*(l.y-b.y)/(k.y-b.y)+b.x&&(d=!d);return d||Ma.prototype._containsPoint.call(this,l,!0)}});function OR(l,d){return new kh(l,d)}var Na=Ta.extend({initialize:function(l,d){w(this,d),this._layers={},l&&this.addData(l)},addData:function(l){var d=N(l)?l:l.features,m,b,k;if(d){for(m=0,b=d.length;m<b;m++)k=d[m],(k.geometries||k.geometry||k.features||k.coordinates)&&this.addData(k);return this}var E=this.options;if(E.filter&&!E.filter(l))return this;var U=am(l,E);return U?(U.feature=dm(l),U.defaultOptions=U.options,this.resetStyle(U),E.onEachFeature&&E.onEachFeature(l,U),this.addLayer(U)):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(d){this._setLayerStyle(d,l)},this)},_setLayerStyle:function(l,d){l.setStyle&&(typeof d=="function"&&(d=d(l.feature)),l.setStyle(d))}});function am(l,d){var m=l.type==="Feature"?l.geometry:l,b=m?m.coordinates:null,k=[],E=d&&d.pointToLayer,U=d&&d.coordsToLatLng||Ry,ne,ce,Be,Nt;if(!b&&!m)return null;switch(m.type){case"Point":return ne=U(b),oL(E,l,ne,d);case"MultiPoint":for(Be=0,Nt=b.length;Be<Nt;Be++)ne=U(b[Be]),k.push(oL(E,l,ne,d));return new Ta(k);case"LineString":case"MultiLineString":return ce=lm(b,m.type==="LineString"?0:1,U),new Ma(ce,d);case"Polygon":case"MultiPolygon":return ce=lm(b,m.type==="Polygon"?1:2,U),new kh(ce,d);case"GeometryCollection":for(Be=0,Nt=m.geometries.length;Be<Nt;Be++){var yi=am({geometry:m.geometries[Be],type:"Feature",properties:l.properties},d);yi&&k.push(yi)}return new Ta(k);case"FeatureCollection":for(Be=0,Nt=m.features.length;Be<Nt;Be++){var Zi=am(m.features[Be],d);Zi&&k.push(Zi)}return new Ta(k);default:throw new Error("Invalid GeoJSON object.")}}function oL(l,d,m,b){return l?l(d,m):new om(m,b&&b.markersInheritOptions&&b)}function Ry(l){return new Dt(l[1],l[0],l[2])}function lm(l,d,m){for(var b=[],k=0,E=l.length,U;k<E;k++)U=d?lm(l[k],d-1,m):(m||Ry)(l[k]),b.push(U);return b}function Ay(l,d){return l=kt(l),l.alt!==void 0?[p(l.lng,d),p(l.lat,d),p(l.alt,d)]:[p(l.lng,d),p(l.lat,d)]}function cm(l,d,m,b){for(var k=[],E=0,U=l.length;E<U;E++)k.push(d?cm(l[E],ns(l[E])?0:d-1,m,b):Ay(l[E],b));return!d&&m&&k.length>0&&k.push(k[0].slice()),k}function Ih(l,d){return l.feature?n({},l.feature,{geometry:d}):dm(d)}function dm(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var Oy={toGeoJSON:function(l){return Ih(this,{type:"Point",coordinates:Ay(this.getLatLng(),l)})}};om.include(Oy),Ny.include(Oy),rm.include(Oy),Ma.include({toGeoJSON:function(l){var d=!ns(this._latlngs),m=cm(this._latlngs,d?1:0,!1,l);return Ih(this,{type:(d?"Multi":"")+"LineString",coordinates:m})}}),kh.include({toGeoJSON:function(l){var d=!ns(this._latlngs),m=d&&!ns(this._latlngs[0]),b=cm(this._latlngs,m?2:d?1:0,!0,l);return d||(b=[b]),Ih(this,{type:(m?"Multi":"")+"Polygon",coordinates:b})}}),vs.include({toMultiPoint:function(l){var d=[];return this.eachLayer(function(m){d.push(m.toGeoJSON(l).geometry.coordinates)}),Ih(this,{type:"MultiPoint",coordinates:d})},toGeoJSON:function(l){var d=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(d==="MultiPoint")return this.toMultiPoint(l);var m=d==="GeometryCollection",b=[];return this.eachLayer(function(k){if(k.toGeoJSON){var E=k.toGeoJSON(l);if(m)b.push(E.geometry);else{var U=dm(E);U.type==="FeatureCollection"?b.push.apply(b,U.features):b.push(U)}}}),m?Ih(this,{geometries:b,type:"GeometryCollection"}):{type:"FeatureCollection",features:b}}});function rL(l,d){return new Na(l,d)}var FR=rL,hm=Oi.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,d,m){this._url=l,this._bounds=Rt(d),w(this,m)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(A(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){Fe(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&&Ve(this._image),this},bringToBack:function(){return this._map&&Ke(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=Rt(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",d=this._image=l?this._url:pe("img");if(A(d,"leaflet-image-layer"),this._zoomAnimated&&A(d,"leaflet-zoom-animated"),this.options.className&&A(d,this.options.className),d.onselectstart=f,d.onmousemove=f,d.onload=r(this.fire,this,"load"),d.onerror=r(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(d.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),l){this._url=d.src;return}d.src=this._url,d.alt=this.options.alt},_animateZoom:function(l){var d=this._map.getZoomScale(l.zoom),m=this._map._latLngBoundsToNewLayerBounds(this._bounds,l.zoom,l.center).min;me(this._image,m,d)},_reset:function(){var l=this._image,d=new ot(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),m=d.getSize();xe(l,d.min),l.style.width=m.x+"px",l.style.height=m.y+"px"},_updateOpacity:function(){it(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()}}),HR=function(l,d,m){return new hm(l,d,m)},aL=hm.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var l=this._url.tagName==="VIDEO",d=this._image=l?this._url:pe("video");if(A(d,"leaflet-image-layer"),this._zoomAnimated&&A(d,"leaflet-zoom-animated"),this.options.className&&A(d,this.options.className),d.onselectstart=f,d.onmousemove=f,d.onloadeddata=r(this.fire,this,"load"),l){for(var m=d.getElementsByTagName("source"),b=[],k=0;k<m.length;k++)b.push(m[k].src);this._url=m.length>0?b:[d.src];return}N(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(d.style,"objectFit")&&(d.style.objectFit="fill"),d.autoplay=!!this.options.autoplay,d.loop=!!this.options.loop,d.muted=!!this.options.muted,d.playsInline=!!this.options.playsInline;for(var E=0;E<this._url.length;E++){var U=pe("source");U.src=this._url[E],d.appendChild(U)}}});function WR(l,d,m){return new aL(l,d,m)}var lL=hm.extend({_initImage:function(){var l=this._image=this._url;A(l,"leaflet-image-layer"),this._zoomAnimated&&A(l,"leaflet-zoom-animated"),this.options.className&&A(l,this.options.className),l.onselectstart=f,l.onmousemove=f}});function BR(l,d,m){return new lL(l,d,m)}var Xr=Oi.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,d){l&&(l instanceof Dt||N(l))?(this._latlng=kt(l),w(this,d)):(w(this,l),this._source=d),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&&it(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&it(this._container,1),this.bringToFront(),this.options.interactive&&(A(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(it(this._container,0),this._removeTimeout=setTimeout(r(Fe,void 0,this._container),200)):Fe(this._container),this.options.interactive&&(J(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=kt(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&&Ve(this._container),this},bringToBack:function(){return this._map&&Ke(this._container),this},_prepareOpen:function(l){var d=this._source;if(!d._map)return!1;if(d instanceof Ta){d=null;var m=this._source._layers;for(var b in m)if(m[b]._map){d=m[b];break}if(!d)return!1;this._source=d}if(!l)if(d.getCenter)l=d.getCenter();else if(d.getLatLng)l=d.getLatLng();else if(d.getBounds)l=d.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,d=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof d=="string")l.innerHTML=d;else{for(;l.hasChildNodes();)l.removeChild(l.firstChild);l.appendChild(d)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var l=this._map.latLngToLayerPoint(this._latlng),d=je(this.options.offset),m=this._getAnchor();this._zoomAnimated?xe(this._container,l.add(m)):d=d.add(l).add(m);var b=this._containerBottom=-d.y,k=this._containerLeft=-Math.round(this._containerWidth/2)+d.x;this._container.style.bottom=b+"px",this._container.style.left=k+"px"}},_getAnchor:function(){return[0,0]}});bi.include({_initOverlay:function(l,d,m,b){var k=d;return k instanceof l||(k=new l(b).setContent(d)),m&&k.setLatLng(m),k}}),Oi.include({_initOverlay:function(l,d,m,b){var k=m;return k instanceof l?(w(k,b),k._source=this):(k=d&&!b?d:new l(b,this),k.setContent(m)),k}});var um=Xr.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,Xr.prototype.openOn.call(this,l)},onAdd:function(l){Xr.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof wl||this._source.on("preclick",tn))},onRemove:function(l){Xr.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof wl||this._source.off("preclick",tn))},getEvents:function(){var l=Xr.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",d=this._container=pe("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),m=this._wrapper=pe("div",l+"-content-wrapper",d);if(this._contentNode=pe("div",l+"-content",m),$n(d),bn(this._contentNode),tt(d,"contextmenu",tn),this._tipContainer=pe("div",l+"-tip-container",d),this._tip=pe("div",l+"-tip",this._tipContainer),this.options.closeButton){var b=this._closeButton=pe("a",l+"-close-button",d);b.setAttribute("role","button"),b.setAttribute("aria-label","Close popup"),b.href="#close",b.innerHTML='<span aria-hidden="true">&#215;</span>',tt(b,"click",function(k){In(k),this.close()},this)}},_updateLayout:function(){var l=this._contentNode,d=l.style;d.width="",d.whiteSpace="nowrap";var m=l.offsetWidth;m=Math.min(m,this.options.maxWidth),m=Math.max(m,this.options.minWidth),d.width=m+1+"px",d.whiteSpace="",d.height="";var b=l.offsetHeight,k=this.options.maxHeight,E="leaflet-popup-scrolled";k&&b>k?(d.height=k+"px",A(l,E)):J(l,E),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),m=this._getAnchor();xe(this._container,d.add(m))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var l=this._map,d=parseInt(De(this._container,"marginBottom"),10)||0,m=this._container.offsetHeight+d,b=this._containerWidth,k=new Me(this._containerLeft,-m-this._containerBottom);k._add(Ze(this._container));var E=l.layerPointToContainerPoint(k),U=je(this.options.autoPanPadding),ne=je(this.options.autoPanPaddingTopLeft||U),ce=je(this.options.autoPanPaddingBottomRight||U),Be=l.getSize(),Nt=0,yi=0;E.x+b+ce.x>Be.x&&(Nt=E.x+b-Be.x+ce.x),E.x-Nt-ne.x<0&&(Nt=E.x-ne.x),E.y+m+ce.y>Be.y&&(yi=E.y+m-Be.y+ce.y),E.y-yi-ne.y<0&&(yi=E.y-ne.y),(Nt||yi)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([Nt,yi]))}},_getAnchor:function(){return je(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),zR=function(l,d){return new um(l,d)};bi.mergeOptions({closePopupOnClick:!0}),bi.include({openPopup:function(l,d,m){return this._initOverlay(um,l,d,m).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),Oi.include({bindPopup:function(l,d){return this._popup=this._initOverlay(um,this._popup,l,d),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 Ta||(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)){Ps(l);var d=l.layer||l.target;if(this._popup._source===d&&!(d instanceof wl)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(l.latlng);return}this._popup._source=d,this.openPopup(l.latlng)}},_movePopup:function(l){this._popup.setLatLng(l.latlng)},_onKeyPress:function(l){l.originalEvent.keyCode===13&&this._openPopup(l)}});var gm=Xr.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){Xr.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){Xr.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=Xr.prototype.getEvents.call(this);return this.options.permanent||(l.preclick=this.close),l},_initLayout:function(){var l="leaflet-tooltip",d=l+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=pe("div",d),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+c(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(l){var d,m,b=this._map,k=this._container,E=b.latLngToContainerPoint(b.getCenter()),U=b.layerPointToContainerPoint(l),ne=this.options.direction,ce=k.offsetWidth,Be=k.offsetHeight,Nt=je(this.options.offset),yi=this._getAnchor();ne==="top"?(d=ce/2,m=Be):ne==="bottom"?(d=ce/2,m=0):ne==="center"?(d=ce/2,m=Be/2):ne==="right"?(d=0,m=Be/2):ne==="left"?(d=ce,m=Be/2):U.x<E.x?(ne="right",d=0,m=Be/2):(ne="left",d=ce+(Nt.x+yi.x)*2,m=Be/2),l=l.subtract(je(d,m,!0)).add(Nt).add(yi),J(k,"leaflet-tooltip-right"),J(k,"leaflet-tooltip-left"),J(k,"leaflet-tooltip-top"),J(k,"leaflet-tooltip-bottom"),A(k,"leaflet-tooltip-"+ne),xe(k,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&it(this._container,l)},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(d)},_getAnchor:function(){return je(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),VR=function(l,d){return new gm(l,d)};bi.include({openTooltip:function(l,d,m){return this._initOverlay(gm,l,d,m).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),Oi.include({bindTooltip:function(l,d){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(gm,this._tooltip,l,d),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 d=l?"off":"on",m={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?m.add=this._openTooltip:(m.mouseover=this._openTooltip,m.mouseout=this.closeTooltip,m.click=this._openTooltip,this._map?this._addFocusListeners():m.add=this._addFocusListeners),this._tooltip.options.sticky&&(m.mousemove=this._moveTooltip),this[d](m),this._tooltipHandlersAdded=!l}},openTooltip:function(l){return this._tooltip&&(this instanceof Ta||(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 d=typeof l.getElement=="function"&&l.getElement();d&&(tt(d,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),tt(d,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(l){var d=typeof l.getElement=="function"&&l.getElement();d&&d.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 d=this;this._map.once("moveend",function(){d._openOnceFlag=!1,d._openTooltip(l)});return}this._tooltip._source=l.layer||l.target,this.openTooltip(this._tooltip.options.sticky?l.latlng:void 0)}},_moveTooltip:function(l){var d=l.latlng,m,b;this._tooltip.options.sticky&&l.originalEvent&&(m=this._map.mouseEventToContainerPoint(l.originalEvent),b=this._map.containerPointToLayerPoint(m),d=this._map.layerPointToLatLng(b)),this._tooltip.setLatLng(d)}});var cL=Lh.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(l){var d=l&&l.tagName==="DIV"?l:document.createElement("div"),m=this.options;if(m.html instanceof Element?(lt(d),d.appendChild(m.html)):d.innerHTML=m.html!==!1?m.html:"",m.bgPos){var b=je(m.bgPos);d.style.backgroundPosition=-b.x+"px "+-b.y+"px"}return this._setIconStyles(d,"icon"),d},createShadow:function(){return null}});function jR(l){return new cL(l)}Lh.Default=Mg;var Ng=Oi.extend({options:{tileSize:256,opacity:1,updateWhenIdle:Oe.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){w(this,l)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(l){l._addZoomLimit(this)},onRemove:function(l){this._removeAllTiles(),Fe(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(Ve(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(Ke(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=h(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 Me?l:new Me(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 d=this.getPane().children,m=-l(-1/0,1/0),b=0,k=d.length,E;b<k;b++)E=d[b].style.zIndex,d[b]!==this._container&&E&&(m=l(m,+E));isFinite(m)&&(this.options.zIndex=m+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!Oe.ielt9){it(this._container,this.options.opacity);var l=+new Date,d=!1,m=!1;for(var b in this._tiles){var k=this._tiles[b];if(!(!k.current||!k.loaded)){var E=Math.min(1,(l-k.loaded)/200);it(k.el,E),E<1?d=!0:(k.active?m=!0:this._onOpaqueTile(k),k.active=!0)}}m&&!this._noPrune&&this._pruneTiles(),d&&(gt(this._fadeFrame),this._fadeFrame=Le(this._updateOpacity,this))}},_onOpaqueTile:f,_initContainer:function(){this._container||(this._container=pe("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,d=this.options.maxZoom;if(l!==void 0){for(var m in this._levels)m=Number(m),this._levels[m].el.children.length||m===l?(this._levels[m].el.style.zIndex=d-Math.abs(l-m),this._onUpdateLevel(m)):(Fe(this._levels[m].el),this._removeTilesAtZoom(m),this._onRemoveLevel(m),delete this._levels[m]);var b=this._levels[l],k=this._map;return b||(b=this._levels[l]={},b.el=pe("div","leaflet-tile-container leaflet-zoom-animated",this._container),b.el.style.zIndex=d,b.origin=k.project(k.unproject(k.getPixelOrigin()),l).round(),b.zoom=l,this._setZoomTransform(b,k.getCenter(),k.getZoom()),f(b.el.offsetWidth),this._onCreateLevel(b)),this._level=b,b}},_onUpdateLevel:f,_onRemoveLevel:f,_onCreateLevel:f,_pruneTiles:function(){if(this._map){var l,d,m=this._map.getZoom();if(m>this.options.maxZoom||m<this.options.minZoom){this._removeAllTiles();return}for(l in this._tiles)d=this._tiles[l],d.retain=d.current;for(l in this._tiles)if(d=this._tiles[l],d.current&&!d.active){var b=d.coords;this._retainParent(b.x,b.y,b.z,b.z-5)||this._retainChildren(b.x,b.y,b.z,b.z+2)}for(l in this._tiles)this._tiles[l].retain||this._removeTile(l)}},_removeTilesAtZoom:function(l){for(var d in this._tiles)this._tiles[d].coords.z===l&&this._removeTile(d)},_removeAllTiles:function(){for(var l in this._tiles)this._removeTile(l)},_invalidateAll:function(){for(var l in this._levels)Fe(this._levels[l].el),this._onRemoveLevel(Number(l)),delete this._levels[l];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(l,d,m,b){var k=Math.floor(l/2),E=Math.floor(d/2),U=m-1,ne=new Me(+k,+E);ne.z=+U;var ce=this._tileCoordsToKey(ne),Be=this._tiles[ce];return Be&&Be.active?(Be.retain=!0,!0):(Be&&Be.loaded&&(Be.retain=!0),U>b?this._retainParent(k,E,U,b):!1)},_retainChildren:function(l,d,m,b){for(var k=2*l;k<2*l+2;k++)for(var E=2*d;E<2*d+2;E++){var U=new Me(k,E);U.z=m+1;var ne=this._tileCoordsToKey(U),ce=this._tiles[ne];if(ce&&ce.active){ce.retain=!0;continue}else ce&&ce.loaded&&(ce.retain=!0);m+1<b&&this._retainChildren(k,E,m+1,b)}},_resetView:function(l){var d=l&&(l.pinch||l.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),d,d)},_animateZoom:function(l){this._setView(l.center,l.zoom,!0,l.noUpdate)},_clampZoom:function(l){var d=this.options;return d.minNativeZoom!==void 0&&l<d.minNativeZoom?d.minNativeZoom:d.maxNativeZoom!==void 0&&d.maxNativeZoom<l?d.maxNativeZoom:l},_setView:function(l,d,m,b){var k=Math.round(d);this.options.maxZoom!==void 0&&k>this.options.maxZoom||this.options.minZoom!==void 0&&k<this.options.minZoom?k=void 0:k=this._clampZoom(k);var E=this.options.updateWhenZooming&&k!==this._tileZoom;(!b||E)&&(this._tileZoom=k,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),k!==void 0&&this._update(l),m||this._pruneTiles(),this._noPrune=!!m),this._setZoomTransforms(l,d)},_setZoomTransforms:function(l,d){for(var m in this._levels)this._setZoomTransform(this._levels[m],l,d)},_setZoomTransform:function(l,d,m){var b=this._map.getZoomScale(m,l.zoom),k=l.origin.multiplyBy(b).subtract(this._map._getNewPixelOrigin(d,m)).round();Oe.any3d?me(l.el,k,b):xe(l.el,k)},_resetGrid:function(){var l=this._map,d=l.options.crs,m=this._tileSize=this.getTileSize(),b=this._tileZoom,k=this._map.getPixelWorldBounds(this._tileZoom);k&&(this._globalTileRange=this._pxBoundsToTileRange(k)),this._wrapX=d.wrapLng&&!this.options.noWrap&&[Math.floor(l.project([0,d.wrapLng[0]],b).x/m.x),Math.ceil(l.project([0,d.wrapLng[1]],b).x/m.y)],this._wrapY=d.wrapLat&&!this.options.noWrap&&[Math.floor(l.project([d.wrapLat[0],0],b).y/m.x),Math.ceil(l.project([d.wrapLat[1],0],b).y/m.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(l){var d=this._map,m=d._animatingZoom?Math.max(d._animateToZoom,d.getZoom()):d.getZoom(),b=d.getZoomScale(m,this._tileZoom),k=d.project(l,this._tileZoom).floor(),E=d.getSize().divideBy(b*2);return new ot(k.subtract(E),k.add(E))},_update:function(l){var d=this._map;if(d){var m=this._clampZoom(d.getZoom());if(l===void 0&&(l=d.getCenter()),this._tileZoom!==void 0){var b=this._getTiledPixelBounds(l),k=this._pxBoundsToTileRange(b),E=k.getCenter(),U=[],ne=this.options.keepBuffer,ce=new ot(k.getBottomLeft().subtract([ne,-ne]),k.getTopRight().add([ne,-ne]));if(!(isFinite(k.min.x)&&isFinite(k.min.y)&&isFinite(k.max.x)&&isFinite(k.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var Be in this._tiles){var Nt=this._tiles[Be].coords;(Nt.z!==this._tileZoom||!ce.contains(new Me(Nt.x,Nt.y)))&&(this._tiles[Be].current=!1)}if(Math.abs(m-this._tileZoom)>1){this._setView(l,m);return}for(var yi=k.min.y;yi<=k.max.y;yi++)for(var Zi=k.min.x;Zi<=k.max.x;Zi++){var eo=new Me(Zi,yi);if(eo.z=this._tileZoom,!!this._isValidTile(eo)){var Ls=this._tiles[this._tileCoordsToKey(eo)];Ls?Ls.current=!0:U.push(eo)}}if(U.sort(function(fo,Eh){return fo.distanceTo(E)-Eh.distanceTo(E)}),U.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Ko=document.createDocumentFragment();for(Zi=0;Zi<U.length;Zi++)this._addTile(U[Zi],Ko);this._level.el.appendChild(Ko)}}}},_isValidTile:function(l){var d=this._map.options.crs;if(!d.infinite){var m=this._globalTileRange;if(!d.wrapLng&&(l.x<m.min.x||l.x>m.max.x)||!d.wrapLat&&(l.y<m.min.y||l.y>m.max.y))return!1}if(!this.options.bounds)return!0;var b=this._tileCoordsToBounds(l);return Rt(this.options.bounds).overlaps(b)},_keyToBounds:function(l){return this._tileCoordsToBounds(this._keyToTileCoords(l))},_tileCoordsToNwSe:function(l){var d=this._map,m=this.getTileSize(),b=l.scaleBy(m),k=b.add(m),E=d.unproject(b,l.z),U=d.unproject(k,l.z);return[E,U]},_tileCoordsToBounds:function(l){var d=this._tileCoordsToNwSe(l),m=new pi(d[0],d[1]);return this.options.noWrap||(m=this._map.wrapLatLngBounds(m)),m},_tileCoordsToKey:function(l){return l.x+":"+l.y+":"+l.z},_keyToTileCoords:function(l){var d=l.split(":"),m=new Me(+d[0],+d[1]);return m.z=+d[2],m},_removeTile:function(l){var d=this._tiles[l];d&&(Fe(d.el),delete this._tiles[l],this.fire("tileunload",{tile:d.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){A(l,"leaflet-tile");var d=this.getTileSize();l.style.width=d.x+"px",l.style.height=d.y+"px",l.onselectstart=f,l.onmousemove=f,Oe.ielt9&&this.options.opacity<1&&it(l,this.options.opacity)},_addTile:function(l,d){var m=this._getTilePos(l),b=this._tileCoordsToKey(l),k=this.createTile(this._wrapCoords(l),r(this._tileReady,this,l));this._initTile(k),this.createTile.length<2&&Le(r(this._tileReady,this,l,null,k)),xe(k,m),this._tiles[b]={el:k,coords:l,current:!0},d.appendChild(k),this.fire("tileloadstart",{tile:k,coords:l})},_tileReady:function(l,d,m){d&&this.fire("tileerror",{error:d,tile:m,coords:l});var b=this._tileCoordsToKey(l);m=this._tiles[b],m&&(m.loaded=+new Date,this._map._fadeAnimated?(it(m.el,0),gt(this._fadeFrame),this._fadeFrame=Le(this._updateOpacity,this)):(m.active=!0,this._pruneTiles()),d||(A(m.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:m.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Oe.ielt9||!this._map._fadeAnimated?Le(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 d=new Me(this._wrapX?g(l.x,this._wrapX):l.x,this._wrapY?g(l.y,this._wrapY):l.y);return d.z=l.z,d},_pxBoundsToTileRange:function(l){var d=this.getTileSize();return new ot(l.min.unscaleBy(d).floor(),l.max.unscaleBy(d).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var l in this._tiles)if(!this._tiles[l].loaded)return!1;return!0}});function UR(l){return new Ng(l)}var Dh=Ng.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(l,d){this._url=l,d=w(this,d),d.detectRetina&&Oe.retina&&d.maxZoom>0?(d.tileSize=Math.floor(d.tileSize/2),d.zoomReverse?(d.zoomOffset--,d.minZoom=Math.min(d.maxZoom,d.minZoom+1)):(d.zoomOffset++,d.maxZoom=Math.max(d.minZoom,d.maxZoom-1)),d.minZoom=Math.max(0,d.minZoom)):d.zoomReverse?d.minZoom=Math.min(d.maxZoom,d.minZoom):d.maxZoom=Math.max(d.minZoom,d.maxZoom),typeof d.subdomains=="string"&&(d.subdomains=d.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(l,d){return this._url===l&&d===void 0&&(d=!0),this._url=l,d||this.redraw(),this},createTile:function(l,d){var m=document.createElement("img");return tt(m,"load",r(this._tileOnLoad,this,d,m)),tt(m,"error",r(this._tileOnError,this,d,m)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(m.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(m.referrerPolicy=this.options.referrerPolicy),m.alt="",m.src=this.getTileUrl(l),m},getTileUrl:function(l){var d={r:Oe.retina?"@2x":"",s:this._getSubdomain(l),x:l.x,y:l.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var m=this._globalTileRange.max.y-l.y;this.options.tms&&(d.y=m),d["-y"]=m}return P(this._url,n(d,this.options))},_tileOnLoad:function(l,d){Oe.ielt9?setTimeout(r(l,this,null,d),0):l(null,d)},_tileOnError:function(l,d,m){var b=this.options.errorTileUrl;b&&d.getAttribute("src")!==b&&(d.src=b),l(m,d)},_onTileRemove:function(l){l.tile.onload=null},_getZoomForUrl:function(){var l=this._tileZoom,d=this.options.maxZoom,m=this.options.zoomReverse,b=this.options.zoomOffset;return m&&(l=d-l),l+b},_getSubdomain:function(l){var d=Math.abs(l.x+l.y)%this.options.subdomains.length;return this.options.subdomains[d]},_abortLoading:function(){var l,d;for(l in this._tiles)if(this._tiles[l].coords.z!==this._tileZoom&&(d=this._tiles[l].el,d.onload=f,d.onerror=f,!d.complete)){d.src=F;var m=this._tiles[l].coords;Fe(d),delete this._tiles[l],this.fire("tileabort",{tile:d,coords:m})}},_removeTile:function(l){var d=this._tiles[l];if(d)return d.el.setAttribute("src",F),Ng.prototype._removeTile.call(this,l)},_tileReady:function(l,d,m){if(!(!this._map||m&&m.getAttribute("src")===F))return Ng.prototype._tileReady.call(this,l,d,m)}});function dL(l,d){return new Dh(l,d)}var hL=Dh.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,d){this._url=l;var m=n({},this.defaultWmsParams);for(var b in d)b in this.options||(m[b]=d[b]);d=w(this,d);var k=d.detectRetina&&Oe.retina?2:1,E=this.getTileSize();m.width=E.x*k,m.height=E.y*k,this.wmsParams=m},onAdd:function(l){this._crs=this.options.crs||l.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var d=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[d]=this._crs.code,Dh.prototype.onAdd.call(this,l)},getTileUrl:function(l){var d=this._tileCoordsToNwSe(l),m=this._crs,b=_t(m.project(d[0]),m.project(d[1])),k=b.min,E=b.max,U=(this._wmsVersion>=1.3&&this._crs===sm?[k.y,k.x,E.y,E.x]:[k.x,k.y,E.x,E.y]).join(","),ne=Dh.prototype.getTileUrl.call(this,l);return ne+S(this.wmsParams,ne,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+U},setParams:function(l,d){return n(this.wmsParams,l),d||this.redraw(),this}});function $R(l,d){return new hL(l,d)}Dh.WMS=hL,dL.wms=$R;var Ra=Oi.extend({options:{padding:.1},initialize:function(l){w(this,l),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),A(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,d){var m=this._map.getZoomScale(d,this._zoom),b=this._map.getSize().multiplyBy(.5+this.options.padding),k=this._map.project(this._center,d),E=b.multiplyBy(-m).add(k).subtract(this._map._getNewPixelOrigin(l,d));Oe.any3d?me(this._container,E,m):xe(this._container,E)},_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,d=this._map.getSize(),m=this._map.containerPointToLayerPoint(d.multiplyBy(-l)).round();this._bounds=new ot(m,m.add(d.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),uL=Ra.extend({options:{tolerance:0},getEvents:function(){var l=Ra.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Ra.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");tt(l,"mousemove",this._onMouseMove,this),tt(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),tt(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){gt(this._redrawRequest),delete this._ctx,Fe(this._container),ri(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var l;this._redrawBounds=null;for(var d in this._layers)l=this._layers[d],l._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ra.prototype._update.call(this);var l=this._bounds,d=this._container,m=l.getSize(),b=Oe.retina?2:1;xe(d,l.min),d.width=b*m.x,d.height=b*m.y,d.style.width=m.x+"px",d.style.height=m.y+"px",Oe.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){Ra.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(l){this._updateDashArray(l),this._layers[c(l)]=l;var d=l._order={layer:l,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=d),this._drawLast=d,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(l){this._requestRedraw(l)},_removePath:function(l){var d=l._order,m=d.next,b=d.prev;m?m.prev=b:this._drawLast=b,b?b.next=m:this._drawFirst=m,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 d=l.options.dashArray.split(/[, ]+/),m=[],b,k;for(k=0;k<d.length;k++){if(b=Number(d[k]),isNaN(b))return;m.push(b)}l.options._dashArray=m}else l.options._dashArray=l.options.dashArray},_requestRedraw:function(l){this._map&&(this._extendRedrawBounds(l),this._redrawRequest=this._redrawRequest||Le(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var d=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new ot,this._redrawBounds.extend(l._pxBounds.min.subtract([d,d])),this._redrawBounds.extend(l._pxBounds.max.add([d,d]))}},_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 d=l.getSize();this._ctx.clearRect(l.min.x,l.min.y,d.x,d.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,d=this._redrawBounds;if(this._ctx.save(),d){var m=d.getSize();this._ctx.beginPath(),this._ctx.rect(d.min.x,d.min.y,m.x,m.y),this._ctx.clip()}this._drawing=!0;for(var b=this._drawFirst;b;b=b.next)l=b.layer,(!d||l._pxBounds&&l._pxBounds.intersects(d))&&l._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(l,d){if(this._drawing){var m,b,k,E,U=l._parts,ne=U.length,ce=this._ctx;if(ne){for(ce.beginPath(),m=0;m<ne;m++){for(b=0,k=U[m].length;b<k;b++)E=U[m][b],ce[b?"lineTo":"moveTo"](E.x,E.y);d&&ce.closePath()}this._fillStroke(ce,l)}}},_updateCircle:function(l){if(!(!this._drawing||l._empty())){var d=l._point,m=this._ctx,b=Math.max(Math.round(l._radius),1),k=(Math.max(Math.round(l._radiusY),1)||b)/b;k!==1&&(m.save(),m.scale(1,k)),m.beginPath(),m.arc(d.x,d.y/k,b,0,Math.PI*2,!1),k!==1&&m.restore(),this._fillStroke(m,l)}},_fillStroke:function(l,d){var m=d.options;m.fill&&(l.globalAlpha=m.fillOpacity,l.fillStyle=m.fillColor||m.color,l.fill(m.fillRule||"evenodd")),m.stroke&&m.weight!==0&&(l.setLineDash&&l.setLineDash(d.options&&d.options._dashArray||[]),l.globalAlpha=m.opacity,l.lineWidth=m.weight,l.strokeStyle=m.color,l.lineCap=m.lineCap,l.lineJoin=m.lineJoin,l.stroke())},_onClick:function(l){for(var d=this._map.mouseEventToLayerPoint(l),m,b,k=this._drawFirst;k;k=k.next)m=k.layer,m.options.interactive&&m._containsPoint(d)&&(!(l.type==="click"||l.type==="preclick")||!this._map._draggableMoved(m))&&(b=m);this._fireEvent(b?[b]:!1,l)},_onMouseMove:function(l){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var d=this._map.mouseEventToLayerPoint(l);this._handleMouseHover(l,d)}},_handleMouseOut:function(l){var d=this._hoveredLayer;d&&(J(this._container,"leaflet-interactive"),this._fireEvent([d],l,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(l,d){if(!this._mouseHoverThrottled){for(var m,b,k=this._drawFirst;k;k=k.next)m=k.layer,m.options.interactive&&m._containsPoint(d)&&(b=m);b!==this._hoveredLayer&&(this._handleMouseOut(l),b&&(A(this._container,"leaflet-interactive"),this._fireEvent([b],l,"mouseover"),this._hoveredLayer=b)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,l),this._mouseHoverThrottled=!0,setTimeout(r(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(l,d,m){this._map._fireDOMEvent(d,m||d.type,l)},_bringToFront:function(l){var d=l._order;if(d){var m=d.next,b=d.prev;if(m)m.prev=b;else return;b?b.next=m:m&&(this._drawFirst=m),d.prev=this._drawLast,this._drawLast.next=d,d.next=null,this._drawLast=d,this._requestRedraw(l)}},_bringToBack:function(l){var d=l._order;if(d){var m=d.next,b=d.prev;if(b)b.next=m;else return;m?m.prev=b:b&&(this._drawLast=b),d.prev=null,d.next=this._drawFirst,this._drawFirst.prev=d,this._drawFirst=d,this._requestRedraw(l)}}});function gL(l){return Oe.canvas?new uL(l):null}var Rg=(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">')}})(),qR={_initContainer:function(){this._container=pe("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Ra.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var d=l._container=Rg("shape");A(d,"leaflet-vml-shape "+(this.options.className||"")),d.coordsize="1 1",l._path=Rg("path"),d.appendChild(l._path),this._updateStyle(l),this._layers[c(l)]=l},_addPath:function(l){var d=l._container;this._container.appendChild(d),l.options.interactive&&l.addInteractiveTarget(d)},_removePath:function(l){var d=l._container;Fe(d),l.removeInteractiveTarget(d),delete this._layers[c(l)]},_updateStyle:function(l){var d=l._stroke,m=l._fill,b=l.options,k=l._container;k.stroked=!!b.stroke,k.filled=!!b.fill,b.stroke?(d||(d=l._stroke=Rg("stroke")),k.appendChild(d),d.weight=b.weight+"px",d.color=b.color,d.opacity=b.opacity,b.dashArray?d.dashStyle=N(b.dashArray)?b.dashArray.join(" "):b.dashArray.replace(/( *, *)/g," "):d.dashStyle="",d.endcap=b.lineCap.replace("butt","flat"),d.joinstyle=b.lineJoin):d&&(k.removeChild(d),l._stroke=null),b.fill?(m||(m=l._fill=Rg("fill")),k.appendChild(m),m.color=b.fillColor||b.color,m.opacity=b.fillOpacity):m&&(k.removeChild(m),l._fill=null)},_updateCircle:function(l){var d=l._point.round(),m=Math.round(l._radius),b=Math.round(l._radiusY||m);this._setPath(l,l._empty()?"M0 0":"AL "+d.x+","+d.y+" "+m+","+b+" 0,"+65535*360)},_setPath:function(l,d){l._path.v=d},_bringToFront:function(l){Ve(l._container)},_bringToBack:function(l){Ke(l._container)}},fm=Oe.vml?Rg:jn,Ag=Ra.extend({_initContainer:function(){this._container=fm("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=fm("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){Fe(this._container),ri(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ra.prototype._update.call(this);var l=this._bounds,d=l.getSize(),m=this._container;(!this._svgSize||!this._svgSize.equals(d))&&(this._svgSize=d,m.setAttribute("width",d.x),m.setAttribute("height",d.y)),xe(m,l.min),m.setAttribute("viewBox",[l.min.x,l.min.y,d.x,d.y].join(" ")),this.fire("update")}},_initPath:function(l){var d=l._path=fm("path");l.options.className&&A(d,l.options.className),l.options.interactive&&A(d,"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){Fe(l._path),l.removeInteractiveTarget(l._path),delete this._layers[c(l)]},_updatePath:function(l){l._project(),l._update()},_updateStyle:function(l){var d=l._path,m=l.options;d&&(m.stroke?(d.setAttribute("stroke",m.color),d.setAttribute("stroke-opacity",m.opacity),d.setAttribute("stroke-width",m.weight),d.setAttribute("stroke-linecap",m.lineCap),d.setAttribute("stroke-linejoin",m.lineJoin),m.dashArray?d.setAttribute("stroke-dasharray",m.dashArray):d.removeAttribute("stroke-dasharray"),m.dashOffset?d.setAttribute("stroke-dashoffset",m.dashOffset):d.removeAttribute("stroke-dashoffset")):d.setAttribute("stroke","none"),m.fill?(d.setAttribute("fill",m.fillColor||m.color),d.setAttribute("fill-opacity",m.fillOpacity),d.setAttribute("fill-rule",m.fillRule||"evenodd")):d.setAttribute("fill","none"))},_updatePoly:function(l,d){this._setPath(l,xn(l._parts,d))},_updateCircle:function(l){var d=l._point,m=Math.max(Math.round(l._radius),1),b=Math.max(Math.round(l._radiusY),1)||m,k="a"+m+","+b+" 0 1,0 ",E=l._empty()?"M0 0":"M"+(d.x-m)+","+d.y+k+m*2+",0 "+k+-m*2+",0 ";this._setPath(l,E)},_setPath:function(l,d){l._path.setAttribute("d",d)},_bringToFront:function(l){Ve(l._path)},_bringToBack:function(l){Ke(l._path)}});Oe.vml&&Ag.include(qR);function fL(l){return Oe.svg||Oe.vml?new Ag(l):null}bi.include({getRenderer:function(l){var d=l.options.renderer||this._getPaneRenderer(l.options.pane)||this.options.renderer||this._renderer;return d||(d=this._renderer=this._createRenderer()),this.hasLayer(d)||this.addLayer(d),d},_getPaneRenderer:function(l){if(l==="overlayPane"||l===void 0)return!1;var d=this._paneRenderers[l];return d===void 0&&(d=this._createRenderer({pane:l}),this._paneRenderers[l]=d),d},_createRenderer:function(l){return this.options.preferCanvas&&gL(l)||fL(l)}});var pL=kh.extend({initialize:function(l,d){kh.prototype.initialize.call(this,this._boundsToLatLngs(l),d)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=Rt(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function KR(l,d){return new pL(l,d)}Ag.create=fm,Ag.pointsToPath=xn,Na.geometryToLayer=am,Na.coordsToLatLng=Ry,Na.coordsToLatLngs=lm,Na.latLngToCoords=Ay,Na.latLngsToCoords=cm,Na.getFeature=Ih,Na.asFeature=dm,bi.mergeOptions({boxZoom:!0});var mL=de.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(){tt(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){ri(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){Fe(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(),Ee(),we(),this._startPoint=this._map.mouseEventToContainerPoint(l),tt(document,{contextmenu:Ps,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=pe("div","leaflet-zoom-box",this._container),A(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var d=new ot(this._point,this._startPoint),m=d.getSize();xe(this._box,d.min),this._box.style.width=m.x+"px",this._box.style.height=m.y+"px"},_finish:function(){this._moved&&(Fe(this._box),J(this._container,"leaflet-crosshair")),ve(),xt(),ri(document,{contextmenu:Ps,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 d=new pi(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(d).fire("boxzoomend",{boxZoomBounds:d})}},_onKeyDown:function(l){l.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});bi.addInitHook("addHandler","boxZoom",mL),bi.mergeOptions({doubleClickZoom:!0});var _L=de.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(l){var d=this._map,m=d.getZoom(),b=d.options.zoomDelta,k=l.originalEvent.shiftKey?m-b:m+b;d.options.doubleClickZoom==="center"?d.setZoom(k):d.setZoomAround(l.containerPoint,k)}});bi.addInitHook("addHandler","doubleClickZoom",_L),bi.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var vL=de.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new Ft(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))}A(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){J(this._map._container,"leaflet-grab"),J(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 d=Rt(this._map.options.maxBounds);this._offsetLimit=_t(this._map.latLngToContainerPoint(d.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(d.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 d=this._lastTime=+new Date,m=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(m),this._times.push(d),this._prunePositions(d)}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),d=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=d.subtract(l).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(l,d){return l-(l-d)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var l=this._draggable._newPos.subtract(this._draggable._startPos),d=this._offsetLimit;l.x<d.min.x&&(l.x=this._viscousLimit(l.x,d.min.x)),l.y<d.min.y&&(l.y=this._viscousLimit(l.y,d.min.y)),l.x>d.max.x&&(l.x=this._viscousLimit(l.x,d.max.x)),l.y>d.max.y&&(l.y=this._viscousLimit(l.y,d.max.y)),this._draggable._newPos=this._draggable._startPos.add(l)}},_onPreDragWrap:function(){var l=this._worldWidth,d=Math.round(l/2),m=this._initialWorldOffset,b=this._draggable._newPos.x,k=(b-d+m)%l+d-m,E=(b+d+m)%l-d-m,U=Math.abs(k+m)<Math.abs(E+m)?k:E;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=U},_onDragEnd:function(l){var d=this._map,m=d.options,b=!m.inertia||l.noInertia||this._times.length<2;if(d.fire("dragend",l),b)d.fire("moveend");else{this._prunePositions(+new Date);var k=this._lastPos.subtract(this._positions[0]),E=(this._lastTime-this._times[0])/1e3,U=m.easeLinearity,ne=k.multiplyBy(U/E),ce=ne.distanceTo([0,0]),Be=Math.min(m.inertiaMaxSpeed,ce),Nt=ne.multiplyBy(Be/ce),yi=Be/(m.inertiaDeceleration*U),Zi=Nt.multiplyBy(-yi/2).round();!Zi.x&&!Zi.y?d.fire("moveend"):(Zi=d._limitOffset(Zi,d.options.maxBounds),Le(function(){d.panBy(Zi,{duration:yi,easeLinearity:U,noMoveStart:!0,animate:!0})}))}}});bi.addInitHook("addHandler","dragging",vL),bi.mergeOptions({keyboard:!0,keyboardPanDelta:80});var bL=de.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"),tt(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(),ri(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,d=document.documentElement,m=l.scrollTop||d.scrollTop,b=l.scrollLeft||d.scrollLeft;this._map._container.focus(),window.scrollTo(b,m)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(l){var d=this._panKeys={},m=this.keyCodes,b,k;for(b=0,k=m.left.length;b<k;b++)d[m.left[b]]=[-1*l,0];for(b=0,k=m.right.length;b<k;b++)d[m.right[b]]=[l,0];for(b=0,k=m.down.length;b<k;b++)d[m.down[b]]=[0,l];for(b=0,k=m.up.length;b<k;b++)d[m.up[b]]=[0,-1*l]},_setZoomDelta:function(l){var d=this._zoomKeys={},m=this.keyCodes,b,k;for(b=0,k=m.zoomIn.length;b<k;b++)d[m.zoomIn[b]]=l;for(b=0,k=m.zoomOut.length;b<k;b++)d[m.zoomOut[b]]=-l},_addHooks:function(){tt(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){ri(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(l){if(!(l.altKey||l.ctrlKey||l.metaKey)){var d=l.keyCode,m=this._map,b;if(d in this._panKeys){if(!m._panAnim||!m._panAnim._inProgress)if(b=this._panKeys[d],l.shiftKey&&(b=je(b).multiplyBy(3)),m.options.maxBounds&&(b=m._limitOffset(je(b),m.options.maxBounds)),m.options.worldCopyJump){var k=m.wrapLatLng(m.unproject(m.project(m.getCenter()).add(b)));m.panTo(k)}else m.panBy(b)}else if(d in this._zoomKeys)m.setZoom(m.getZoom()+(l.shiftKey?3:1)*this._zoomKeys[d]);else if(d===27&&m._popup&&m._popup.options.closeOnEscapeKey)m.closePopup();else return;Ps(l)}}});bi.addInitHook("addHandler","keyboard",bL),bi.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var yL=de.extend({addHooks:function(){tt(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){ri(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var d=qr(l),m=this._map.options.wheelDebounceTime;this._delta+=d,this._lastMousePos=this._map.mouseEventToContainerPoint(l),this._startTime||(this._startTime=+new Date);var b=Math.max(m-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(r(this._performZoom,this),b),Ps(l)},_performZoom:function(){var l=this._map,d=l.getZoom(),m=this._map.options.zoomSnap||0;l._stop();var b=this._delta/(this._map.options.wheelPxPerZoomLevel*4),k=4*Math.log(2/(1+Math.exp(-Math.abs(b))))/Math.LN2,E=m?Math.ceil(k/m)*m:k,U=l._limitZoom(d+(this._delta>0?E:-E))-d;this._delta=0,this._startTime=null,U&&(l.options.scrollWheelZoom==="center"?l.setZoom(d+U):l.setZoomAround(this._lastMousePos,d+U))}});bi.addInitHook("addHandler","scrollWheelZoom",yL);var GR=600;bi.mergeOptions({tapHold:Oe.touchNative&&Oe.safari&&Oe.mobile,tapTolerance:15});var wL=de.extend({addHooks:function(){tt(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){ri(this._map._container,"touchstart",this._onDown,this)},_onDown:function(l){if(clearTimeout(this._holdTimeout),l.touches.length===1){var d=l.touches[0];this._startPos=this._newPos=new Me(d.clientX,d.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(tt(document,"touchend",In),tt(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",d))},this),GR),tt(document,"touchend touchcancel contextmenu",this._cancel,this),tt(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){ri(document,"touchend",In),ri(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),ri(document,"touchend touchcancel contextmenu",this._cancel,this),ri(document,"touchmove",this._onMove,this)},_onMove:function(l){var d=l.touches[0];this._newPos=new Me(d.clientX,d.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(l,d){var m=new MouseEvent(l,{bubbles:!0,cancelable:!0,view:window,screenX:d.screenX,screenY:d.screenY,clientX:d.clientX,clientY:d.clientY});m._simulated=!0,d.target.dispatchEvent(m)}});bi.addInitHook("addHandler","tapHold",wL),bi.mergeOptions({touchZoom:Oe.touch,bounceAtZoomLimits:!0});var SL=de.extend({addHooks:function(){A(this._map._container,"leaflet-touch-zoom"),tt(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){J(this._map._container,"leaflet-touch-zoom"),ri(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(l){var d=this._map;if(!(!l.touches||l.touches.length!==2||d._animatingZoom||this._zooming)){var m=d.mouseEventToContainerPoint(l.touches[0]),b=d.mouseEventToContainerPoint(l.touches[1]);this._centerPoint=d.getSize()._divideBy(2),this._startLatLng=d.containerPointToLatLng(this._centerPoint),d.options.touchZoom!=="center"&&(this._pinchStartLatLng=d.containerPointToLatLng(m.add(b)._divideBy(2))),this._startDist=m.distanceTo(b),this._startZoom=d.getZoom(),this._moved=!1,this._zooming=!0,d._stop(),tt(document,"touchmove",this._onTouchMove,this),tt(document,"touchend touchcancel",this._onTouchEnd,this),In(l)}},_onTouchMove:function(l){if(!(!l.touches||l.touches.length!==2||!this._zooming)){var d=this._map,m=d.mouseEventToContainerPoint(l.touches[0]),b=d.mouseEventToContainerPoint(l.touches[1]),k=m.distanceTo(b)/this._startDist;if(this._zoom=d.getScaleZoom(k,this._startZoom),!d.options.bounceAtZoomLimits&&(this._zoom<d.getMinZoom()&&k<1||this._zoom>d.getMaxZoom()&&k>1)&&(this._zoom=d._limitZoom(this._zoom)),d.options.touchZoom==="center"){if(this._center=this._startLatLng,k===1)return}else{var E=m._add(b)._divideBy(2)._subtract(this._centerPoint);if(k===1&&E.x===0&&E.y===0)return;this._center=d.unproject(d.project(this._pinchStartLatLng,this._zoom).subtract(E),this._zoom)}this._moved||(d._moveStart(!0,!1),this._moved=!0),gt(this._animRequest);var U=r(d._move,d,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=Le(U,this,!0),In(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,gt(this._animRequest),ri(document,"touchmove",this._onTouchMove,this),ri(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))}});bi.addInitHook("addHandler","touchZoom",SL),bi.BoxZoom=mL,bi.DoubleClickZoom=_L,bi.Drag=vL,bi.Keyboard=bL,bi.ScrollWheelZoom=yL,bi.TapHold=wL,bi.TouchZoom=SL,t.Bounds=ot,t.Browser=Oe,t.CRS=qi,t.Canvas=uL,t.Circle=Ny,t.CircleMarker=rm,t.Class=ft,t.Control=xs,t.DivIcon=cL,t.DivOverlay=Xr,t.DomEvent=_r,t.DomUtil=Wt,t.Draggable=Ft,t.Evented=Ot,t.FeatureGroup=Ta,t.GeoJSON=Na,t.GridLayer=Ng,t.Handler=de,t.Icon=Lh,t.ImageOverlay=hm,t.LatLng=Dt,t.LatLngBounds=pi,t.Layer=Oi,t.LayerGroup=vs,t.LineUtil=ls,t.Map=bi,t.Marker=om,t.Mixin=Pt,t.Path=wl,t.Point=Me,t.PolyUtil=Ci,t.Polygon=kh,t.Polyline=Ma,t.Popup=um,t.PosAnimation=Lc,t.Projection=Tg,t.Rectangle=pL,t.Renderer=Ra,t.SVG=Ag,t.SVGOverlay=lL,t.TileLayer=Dh,t.Tooltip=gm,t.Transformation=Vi,t.Util=Tt,t.VideoOverlay=aL,t.bind=r,t.bounds=_t,t.canvas=gL,t.circle=RR,t.circleMarker=NR,t.control=Ea,t.divIcon=jR,t.extend=n,t.featureGroup=PR,t.geoJSON=rL,t.geoJson=FR,t.gridLayer=UR,t.icon=TR,t.imageOverlay=HR,t.latLng=kt,t.latLngBounds=Rt,t.layerGroup=xh,t.map=uo,t.marker=MR,t.point=je,t.polygon=OR,t.polyline=AR,t.popup=zR,t.rectangle=KR,t.setOptions=w,t.stamp=c,t.svg=fL,t.svgOverlay=BR,t.tileLayer=dL,t.tooltip=VR,t.transformation=dn,t.version=i,t.videoOverlay=WR;var ZR=window.L;t.noConflict=function(){return window.L=ZR,this},window.L=t}))})(df,df.exports)),df.exports}var lG=aG();const qg=hR(lG),cG="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=",dG="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==",hG="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",Fn=(o,e=ey)=>{var t=uG(),i=x(C(t),2),n=C(i);X(()=>G(n,e())),T(o,t)};var uG=R('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),gG=R("<button> </button>"),fG=R('<span class="err svelte-767znw"> </span>'),pG=R('<span class="ok svelte-767znw"> </span>'),mG=R('<div class="loading svelte-767znw">Loading…</div>'),_G=R('<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>'),vG=R('<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),bG=R('<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">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>'),yG=R('<div class="field svelte-767znw"><label class="svelte-767znw"> <!></label> <input type="password" placeholder="Enter new password" autocomplete="new-password" class="svelte-767znw"/></div>'),wG=R('<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),SG=R('<div class="field-error svelte-767znw"> </div>'),CG=R('<div class="field-ok svelte-767znw"> </div>'),xG=R('<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>'),LG=R('<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>'),kG=R('<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>'),IG=R('<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>'),DG=R('<section id="sec-solar" class="svelte-767znw"><h3 class="svelte-767znw">Solar events</h3> <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>'),EG=R('<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>'),PG=R('<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>'),TG=R('<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>'),MG=R('<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>'),NG=R("<option> </option>"),RG=R('<span class="free-badge svelte-767znw">FREE</span> ',1),AG=R('&nbsp;— <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),OG=R("<div><!> <!></div>"),FG=R('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),HG=R('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),WG=R('<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>'),BG=R('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),zG=R('<!> <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 VG(o,e){Io(e,!0),delete qg.Icon.Default.prototype._getIconUrl,qg.Icon.Default.mergeOptions({iconUrl:cG,iconRetinaUrl:dG,shadowUrl:hG});let t=V(wi(sG())),i=V("~/.she"),n=V("mqtt"),s=V(""),r=V(""),a=V(""),c=V(""),h=V(""),g=V(""),f=V("logic"),p=V("var"),v=V(!1),_=V(8080),w=V(""),S=V("none"),D=V(""),P=V("X-Remote-User"),N=V(""),z=V(!1),F=V(""),ie=V(""),Y=V(""),ge=V(!1),_e=V(48.7408),Ae=V(9.1778),Le=V(!1),gt=V(void 0),Tt=V(!1),ft=V(null),mt=V("info"),ct=V(""),Ot=V(""),Me=V(!1),Mt=V(!1),je=V("");const ot=[{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 _t=V("ollama"),pi=V("ollama"),Rt=V(""),Dt=V(""),kt=V("");const qi={};let Ki="ollama";function Mn(O,ee){return O==="anthropic"?"anthropic":O==="ollama"?"ollama":ee?ee.includes("localhost:1234")?"lmstudio":ee.includes("groq.com")?"groq":ee.includes("googleapis.com")?"gemini":"openai":"openai"}function cn(){qi[Ki]={baseUrl:u(Rt),model:u(Dt),apiKey:u(kt)};const O=ot.find(ke=>ke.id===u(_t));if(!O)return;I(pi,O.provider,!0);const ee=qi[u(_t)];I(Rt,(ee==null?void 0:ee.baseUrl)??O.baseUrl,!0),I(Dt,(ee==null?void 0:ee.model)??O.defaultModel,!0),I(kt,(ee==null?void 0:ee.apiKey)??"",!0),Ki=u(_t)}const Vi=st(()=>ot.find(O=>O.id===u(_t)));let dn=V(wi({}));const hn=new Set(["url","name","variablePrefix","disableVariables","mqttUsername","mqttPassword","mqttCa","mqttCert","mqttKey","port","bindAddress","auth","password","proxyHeader","proxyLogoutUrl","dir","disableWatch","latitude","longitude","verbosity","dbPath","dbPrefix","dbPublish","dbRetain","redis","ai"]);Dn(()=>{if(!u(gt))return;const O=typeof u(_e)=="number"?u(_e):48.7408,ee=typeof u(Ae)=="number"?u(Ae):9.1778,ke=qg.map(u(gt)).setView([O,ee],10);qg.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(ke);const Je=qg.marker([O,ee],{draggable:!0}).addTo(ke);I(ft,Je,!0);const Ge=fe=>{I(_e,+fe.lat.toFixed(6)),I(Ae,+fe.lng.toFixed(6))};return Je.on("dragend",()=>Ge(Je.getLatLng())),ke.on("click",fe=>{Je.setLatLng(fe.latlng),Ge(fe.latlng)}),()=>{I(ft,null),ke.remove()}}),Dn(()=>{!u(ft)||u(_e)===""||u(Ae)===""||u(ft).setLatLng([Number(u(_e)),Number(u(Ae))])});let Nn;function jn(){if(!navigator.geolocation){Nn.show("Geolocation is not supported by this browser.",{alert:!0});return}I(Tt,!0),navigator.geolocation.getCurrentPosition(O=>{I(_e,+O.coords.latitude.toFixed(6)),I(Ae,+O.coords.longitude.toFixed(6)),I(Tt,!1)},()=>{I(Tt,!1)})}let xn=V(!0),Rn=V(!1),_n=V(""),Un=V(""),Ye=V(""),Ht=V("appearance");const oi=[{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"]},{id:"webserver",label:"Web server",terms:["port","http","server","bind","address"]},{id:"scripts",label:"Scripts",terms:["directory","watch","hot reload","dir"]},{id:"solar",label:"Solar events",terms:["latitude","longitude","sunrise","sunset","geo"]},{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 Ut=st(()=>oi.filter(O=>{const ee=u(Ye).trim().toLowerCase();return!ee||O.label.toLowerCase().includes(ee)||O.terms.some(ke=>ke.includes(ee))}));function mi(O){var ee;I(Ht,O,!0),(ee=document.getElementById("sec-"+O))==null||ee.scrollIntoView({behavior:"smooth",block:"start"})}Vr(async()=>{try{const O=await Qx();O.dataDir&&I(i,O.dataDir,!0)}catch{}try{const O=await QN();if(typeof O.url=="string"&&O.url)try{const Je=new URL(O.url);I(n,Je.protocol.replace(":",""),!0),I(s,Je.host,!0)}catch{I(s,O.url,!0)}typeof O.mqttUsername=="string"&&I(r,O.mqttUsername,!0),typeof O.mqttPassword=="string"&&I(a,O.mqttPassword,!0),typeof O.mqttCa=="string"&&I(c,O.mqttCa,!0),typeof O.mqttCert=="string"&&I(h,O.mqttCert,!0),typeof O.mqttKey=="string"&&I(g,O.mqttKey,!0),typeof O.name=="string"&&I(f,O.name,!0),typeof O.variablePrefix=="string"&&I(p,O.variablePrefix,!0),typeof O.disableVariables=="boolean"&&I(v,O.disableVariables,!0),typeof O.port=="number"&&I(_,O.port,!0),typeof O.bindAddress=="string"&&I(w,O.bindAddress,!0),typeof O.auth=="string"&&I(S,O.auth,!0),typeof O.proxyHeader=="string"&&I(P,O.proxyHeader,!0),typeof O.proxyLogoutUrl=="string"&&I(N,O.proxyLogoutUrl,!0),typeof O.dir=="string"&&I(Y,O.dir,!0),typeof O.disableWatch=="boolean"&&I(ge,O.disableWatch,!0),typeof O.latitude=="number"&&I(_e,O.latitude,!0),typeof O.longitude=="number"&&I(Ae,O.longitude,!0),typeof O.verbosity=="string"&&I(mt,O.verbosity,!0),typeof O.dbPath=="string"&&I(ct,O.dbPath,!0),typeof O.dbPrefix=="string"&&I(Ot,O.dbPrefix,!0),typeof O.dbPublish=="boolean"&&I(Me,O.dbPublish,!0),typeof O.dbRetain=="boolean"&&I(Mt,O.dbRetain,!0);const ee=O.redis;ee!=null&&ee.url&&I(je,ee.url,!0);const ke=O.ai;ke!=null&&ke.provider&&I(pi,ke.provider,!0),ke!=null&&ke.baseUrl&&I(Rt,ke.baseUrl,!0),ke!=null&&ke.model&&I(Dt,ke.model,!0),ke!=null&&ke.apiKey&&I(kt,ke.apiKey,!0),I(_t,Mn(u(pi),u(Rt)),!0),Ki=u(_t),I(dn,Object.fromEntries(Object.entries(O).filter(([Je])=>!hn.has(Je))),!0)}catch(O){I(Un,O.message,!0)}finally{I(xn,!1)}});async function An(){if(I(ie,""),I(F,""),u(S)==="password"&&!u(D)){I(ie,"A password is required to enable password authentication.");return}I(z,!0);try{await U7(u(S),u(S)==="password"?u(D):void 0,u(S)==="proxy"?u(P):void 0,u(S)==="proxy"?u(N):void 0),I(D,""),I(F,"Authentication settings saved.")}catch(O){I(ie,O.message,!0)}finally{I(z,!1)}}async function un(){I(Un,""),I(_n,"");const O={...u(dn)};u(s)&&(O.url=`${u(n)}://${u(s)}`),O.name=u(f),O.variablePrefix=u(p),u(v)&&(O.disableVariables=!0),u(r)&&(O.mqttUsername=u(r)),u(a)&&(O.mqttPassword=u(a)),u(c)&&(O.mqttCa=u(c)),u(h)&&(O.mqttCert=u(h)),u(g)&&(O.mqttKey=u(g)),u(_)!==""&&(O.port=Number(u(_))),u(w)&&(O.bindAddress=u(w)),u(Y)&&(O.dir=u(Y)),u(ge)&&(O.disableWatch=!0),u(_e)!==""&&(O.latitude=Number(u(_e))),u(Ae)!==""&&(O.longitude=Number(u(Ae))),O.verbosity=u(mt),u(ct)&&(O.dbPath=u(ct),u(Ot)&&(O.dbPrefix=u(Ot)),u(Me)&&(O.dbPublish=!0,u(Mt)&&(O.dbRetain=!0))),u(je)&&(O.redis={url:u(je)}),u(pi)&&(O.ai={provider:u(pi),...u(Rt)?{baseUrl:u(Rt)}:{},...u(Dt)?{model:u(Dt)}:{},...u(kt)?{apiKey:u(kt)}:{}}),I(Rn,!0);try{const ee=await Q7(O);I(_n,ee.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(ee){I(Un,ee.message,!0)}finally{I(Rn,!1)}}var ji=zG(),sn=wt(ji);Ss(tm(sn,{}),O=>Nn=O,()=>Nn);var Wn=x(sn,2),Ni=C(Wn),on=C(Ni),Bn=x(C(on),2),Jn=x(on,2);_i(Jn,21,()=>oi,O=>O.id,(O,ee)=>{var ke=Ds(),Je=wt(ke);{var Ge=Ie=>{var et=gG();let Zt;var bt=C(et);X(()=>{Zt=Kt(et,1,"section-link svelte-767znw",null,Zt,{active:u(Ht)===u(ee).id}),G(bt,u(ee).label)}),oe("click",et,()=>mi(u(ee).id)),T(Ie,et)},fe=st(()=>u(Ut).some(Ie=>Ie.id===u(ee).id));q(Je,Ie=>{u(fe)&&Ie(Ge)})}T(O,ke)});var kn=x(Ni,2),Xi=C(kn),On=x(C(Xi),2);{var rn=O=>{var ee=fG(),ke=C(ee);X(()=>G(ke,u(Un))),T(O,ee)};q(On,O=>{u(Un)&&O(rn)})}var Se=x(On,2);{var Z=O=>{var ee=pG(),ke=C(ee);X(()=>G(ke,u(_n))),T(O,ee)};q(Se,O=>{u(_n)&&O(Z)})}var Pe=x(Se,2),at=C(Pe),It=x(Xi,2);{var $t=O=>{var ee=mG();T(O,ee)},H=O=>{var ee=BG(),ke=C(ee);{var Je=K=>{var ue=_G(),le=x(C(ue),2),De=x(C(le),2),pe=C(De);pe.value=pe.__value="dark";var Fe=x(pe);Fe.value=Fe.__value="light";var lt=x(Fe);lt.value=lt.__value="system",oe("change",De,()=>oG(u(t))),ha(De,()=>u(t),Ve=>I(t,Ve)),T(K,ue)},Ge=st(()=>u(Ut).some(K=>K.id==="appearance"));q(ke,K=>{u(Ge)&&K(Je)})}var fe=x(ke,2);{var Ie=K=>{var ue=bG(),le=x(C(ue),2),De=C(le),pe=x(C(De));Fn(pe,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var Fe=x(De,2),lt=C(Fe);lt.value=lt.__value="mqtt";var Ve=x(lt);Ve.value=Ve.__value="mqtts";var Ke=x(Ve);Ke.value=Ke.__value="ws";var si=x(Ke);si.value=si.__value="wss";var A=x(le,2),J=C(A),He=x(C(J));Fn(He,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var dt=x(J,2),it=x(A,2),zt=C(it),Te=x(C(zt));Fn(Te,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var me=x(zt,2),xe=x(it,2),Ze=C(xe),Ee=x(C(Ze));Fn(Ee,()=>"MQTT broker password. Stored in plain text in config.json.");var ve=x(Ze,2),At=x(xe,2);{var Ne=Ti=>{var Jt=vG(),Bt=wt(Jt),Ui=C(Bt),tn=x(C(Ui));Fn(tn,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var bn=x(Ui,2),$n=x(Bt,2),In=C($n),Ps=x(C(In));Fn(Ps,()=>"PEM-encoded client certificate for mutual TLS authentication.");var Ur=x(In,2),Eo=x($n,2),$r=C(Eo),qr=x(C($r));Fn(qr,()=>"PEM-encoded private key matching the client certificate.");var Kr=x($r,2);Ei(bn,()=>u(c),_r=>I(c,_r)),Ei(Ur,()=>u(h),_r=>I(h,_r)),Ei(Kr,()=>u(g),_r=>I(g,_r)),T(Ti,Jt)};q(At,Ti=>{(u(n)==="mqtts"||u(n)==="wss")&&Ti(Ne)})}var we=x(At,2),xt=C(we),$e=x(C(xt));Fn($e,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var Vt=x(xt,2),ai=x(we,2),be=C(ai),qe=x(C(be));Fn(qe,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var rt=x(be,2),Wt=x(ai,2),tt=x(C(Wt),2),ui=C(tt),ri=x(ui,4);Fn(ri,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),ha(Fe,()=>u(n),Ti=>I(n,Ti)),Ei(dt,()=>u(s),Ti=>I(s,Ti)),Ei(me,()=>u(r),Ti=>I(r,Ti)),Ei(ve,()=>u(a),Ti=>I(a,Ti)),Ei(Vt,()=>u(f),Ti=>I(f,Ti)),Ei(rt,()=>u(p),Ti=>I(p,Ti)),qs(ui,()=>u(v),Ti=>I(v,Ti)),T(K,ue)},et=st(()=>u(Ut).some(K=>K.id==="mqtt"));q(fe,K=>{u(et)&&K(Ie)})}var Zt=x(fe,2);{var bt=K=>{var ue=xG(),le=x(C(ue),2),De=C(le),pe=x(C(De));Fn(pe,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var Fe=x(De,2),lt=C(Fe);lt.value=lt.__value="none";var Ve=x(lt);Ve.value=Ve.__value="password";var Ke=x(Ve);Ke.value=Ke.__value="proxy";var si=x(le,2);{var A=Ee=>{var ve=yG(),At=C(ve),Ne=C(At),we=x(Ne);Fn(we,()=>"Set a new password. Leave empty to keep the current password (if already set).");var xt=x(At,2);X(()=>G(Ne,`${u(D)?"New password":"Password"} `)),Ei(xt,()=>u(D),$e=>I(D,$e)),T(Ee,ve)};q(si,Ee=>{u(S)==="password"&&Ee(A)})}var J=x(si,2);{var He=Ee=>{var ve=wG(),At=wt(ve),Ne=C(At),we=x(C(Ne));Fn(we,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var xt=x(Ne,2),$e=x(At,2),Vt=C($e),ai=x(C(Vt));Fn(ai,()=>"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 be=x(Vt,2);Ei(xt,()=>u(P),qe=>I(P,qe)),Ei(be,()=>u(N),qe=>I(N,qe)),T(Ee,ve)};q(J,Ee=>{u(S)==="proxy"&&Ee(He)})}var dt=x(J,2);{var it=Ee=>{var ve=SG(),At=C(ve);X(()=>G(At,u(ie))),T(Ee,ve)};q(dt,Ee=>{u(ie)&&Ee(it)})}var zt=x(dt,2);{var Te=Ee=>{var ve=CG(),At=C(ve);X(()=>G(At,u(F))),T(Ee,ve)};q(zt,Ee=>{u(F)&&Ee(Te)})}var me=x(zt,2),xe=x(C(me),2),Ze=C(xe);X(()=>{xe.disabled=u(z)||u(S)==="password"&&!u(D),G(Ze,u(z)?"Saving…":"Apply authentication settings")}),ha(Fe,()=>u(S),Ee=>I(S,Ee)),oe("click",xe,An),T(K,ue)},Oe=st(()=>u(Ut).some(K=>K.id==="auth"));q(Zt,K=>{u(Oe)&&K(bt)})}var yt=x(Zt,2);{var Xt=K=>{var ue=LG(),le=x(C(ue),2),De=C(le),pe=x(C(De));Fn(pe,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var Fe=x(De,2),lt=x(le,2),Ve=C(lt),Ke=x(C(Ve));Fn(Ke,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var si=x(Ve,2);Ei(Fe,()=>u(_),A=>I(_,A)),Ei(si,()=>u(w),A=>I(w,A)),T(K,ue)},Yt=st(()=>u(Ut).some(K=>K.id==="webserver"));q(yt,K=>{u(Yt)&&K(Xt)})}var ti=x(yt,2);{var ii=K=>{var ue=kG(),le=x(C(ue),2),De=C(le),pe=x(C(De));Fn(pe,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var Fe=x(De,2),lt=x(le,2),Ve=x(C(lt),2),Ke=C(Ve),si=x(Ke,4);Fn(si,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),X(()=>Hn(Fe,"placeholder",`${u(i)??""}/scripts (default)`)),Ei(Fe,()=>u(Y),A=>I(Y,A)),qs(Ke,()=>u(ge),A=>I(ge,A)),T(K,ue)},te=st(()=>u(Ut).some(K=>K.id==="scripts"));q(ti,K=>{u(te)&&K(ii)})}var he=x(ti,2);{var Ce=K=>{var ue=DG(),le=x(C(ue),2),De=C(le),pe=x(C(De));Fn(pe,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Fe=x(De,2),lt=x(le,2),Ve=C(lt),Ke=x(C(Ve));Fn(Ke,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var si=x(Ve,2),A=x(lt,2),J=x(C(A),2),He=C(J),dt=C(He);{var it=Ee=>{var ve=Rr("…");T(Ee,ve)},zt=Ee=>{var ve=Rr("📍 Use my location");T(Ee,ve)};q(dt,Ee=>{u(Tt)?Ee(it):Ee(zt,-1)})}var Te=x(He,2),me=C(Te),xe=x(A,2);{var Ze=Ee=>{var ve=IG(),At=x(C(ve),2);Ss(At,Ne=>I(gt,Ne),()=>u(gt)),T(Ee,ve)};q(xe,Ee=>{u(Le)&&Ee(Ze)})}X(()=>{He.disabled=u(Tt),G(me,u(Le)?"Hide map":"Pick on map")}),Ei(Fe,()=>u(_e),Ee=>I(_e,Ee)),Ei(si,()=>u(Ae),Ee=>I(Ae,Ee)),oe("click",He,jn),oe("click",Te,()=>I(Le,!u(Le))),T(K,ue)},Ue=st(()=>u(Ut).some(K=>K.id==="solar"));q(he,K=>{u(Ue)&&K(Ce)})}var pt=x(he,2);{var Xe=K=>{var ue=EG(),le=x(C(ue),2),De=C(le),pe=x(C(De));Fn(pe,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var Fe=x(De,2),lt=C(Fe);lt.value=lt.__value="debug";var Ve=x(lt);Ve.value=Ve.__value="info";var Ke=x(Ve);Ke.value=Ke.__value="warn";var si=x(Ke);si.value=si.__value="error",ha(Fe,()=>u(mt),A=>I(mt,A)),T(K,ue)},Et=st(()=>u(Ut).some(K=>K.id==="logging"));q(pt,K=>{u(Et)&&K(Xe)})}var li=x(pt,2);{var hi=K=>{var ue=TG(),le=x(C(ue),2),De=C(le),pe=x(C(De));Fn(pe,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var Fe=x(De,2),lt=x(le,2),Ve=C(lt),Ke=x(C(Ve));Fn(Ke,()=>"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 si=x(Ve,2),A=x(lt,2),J=x(C(A),2);let He;var dt=C(J),it=x(dt,4);Fn(it,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var zt=x(A,2);{var Te=me=>{var xe=PG(),Ze=x(C(xe),2);let Ee;var ve=C(Ze),At=x(ve,4);Fn(At,()=>"When enabled, MQTT messages for document changes are published as retained messages."),X(()=>{Ee=Kt(Ze,1,"check-label svelte-767znw",null,Ee,{muted:!u(ct)}),ve.disabled=!u(ct)}),qs(ve,()=>u(Mt),Ne=>I(Mt,Ne)),T(me,xe)};q(zt,me=>{u(Me)&&me(Te)})}X(()=>{Hn(Fe,"placeholder",`defaults to ${u(i)??""}/db`),si.disabled=!u(ct),He=Kt(J,1,"check-label svelte-767znw",null,He,{muted:!u(ct)}),dt.disabled=!u(ct)}),Ei(Fe,()=>u(ct),me=>I(ct,me)),Ei(si,()=>u(Ot),me=>I(Ot,me)),qs(dt,()=>u(Me),me=>I(Me,me)),T(K,ue)},ni=st(()=>u(Ut).some(K=>K.id==="shedb"));q(li,K=>{u(ni)&&K(hi)})}var Gi=x(li,2);{var vn=K=>{var ue=MG(),le=x(C(ue),2),De=C(le),pe=x(C(De));Fn(pe,()=>"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 Fe=x(De,2);Ei(Fe,()=>u(je),lt=>I(je,lt)),T(K,ue)},Ri=st(()=>u(Ut).some(K=>K.id==="redis"));q(Gi,K=>{u(Ri)&&K(vn)})}var qt=x(Gi,2);{var $=K=>{var ue=WG(),le=x(C(ue),2),De=C(le),pe=x(C(De));Fn(pe,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var Fe=x(De,2);_i(Fe,21,()=>ot,En,(Te,me)=>{var xe=NG(),Ze=C(xe),Ee={};X(()=>{G(Ze,u(me).label),Ee!==(Ee=u(me).id)&&(xe.value=(xe.__value=u(me).id)??"")}),T(Te,xe)});var lt=x(le,2);{var Ve=Te=>{var me=OG();let xe;var Ze=C(me);{var Ee=Ne=>{var we=RG(),xt=x(wt(we));X(()=>G(xt,` ${u(Vi).freeNote??""}`)),T(Ne,we)};q(Ze,Ne=>{u(Vi).freeNote&&Ne(Ee)})}var ve=x(Ze,2);{var At=Ne=>{var we=AG(),xt=x(wt(we));X(()=>Hn(xt,"href",u(Vi).apiKeyUrl)),T(Ne,we)};q(ve,Ne=>{u(Vi).apiKeyUrl&&Ne(At)})}X(()=>xe=Kt(me,1,"preset-note svelte-767znw",null,xe,{free:!!u(Vi).freeNote})),T(Te,me)};q(lt,Te=>{var me,xe;((me=u(Vi))!=null&&me.freeNote||(xe=u(Vi))!=null&&xe.apiKeyUrl)&&Te(Ve)})}var Ke=x(lt,2);{var si=Te=>{var me=FG(),xe=C(me),Ze=x(C(xe));Fn(Ze,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var Ee=x(xe,2);X(()=>{var ve;return Hn(Ee,"placeholder",u(_t)==="ollama"?"http://localhost:11434":u(_t)==="lmstudio"?"http://localhost:1234":((ve=u(Vi))==null?void 0:ve.baseUrl)??"")}),Ei(Ee,()=>u(Rt),ve=>I(Rt,ve)),T(Te,me)};q(Ke,Te=>{u(_t)!=="anthropic"&&Te(si)})}var A=x(Ke,2),J=C(A),He=x(C(J));Fn(He,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var dt=x(J,2),it=x(A,2);{var zt=Te=>{var me=HG(),xe=C(me),Ze=x(C(xe));Fn(Ze,()=>"Stored in config.json. Not needed for local providers.");var Ee=x(xe,2);Ei(Ee,()=>u(kt),ve=>I(kt,ve)),T(Te,me)};q(it,Te=>{u(_t)!=="ollama"&&u(_t)!=="lmstudio"&&Te(zt)})}X(()=>{var Te;return Hn(dt,"placeholder",((Te=u(Vi))==null?void 0:Te.defaultModel)||"e.g. llama3.2")}),oe("change",Fe,cn),ha(Fe,()=>u(_t),Te=>I(_t,Te)),Ei(dt,()=>u(Dt),Te=>I(Dt,Te)),T(K,ue)},j=st(()=>u(Ut).some(K=>K.id==="ai"));q(qt,K=>{u(j)&&K($)})}T(O,ee)};q(It,O=>{u(xn)?O($t):O(H,-1)})}X(()=>{Pe.disabled=u(Rn),G(at,u(Rn)?"Saving…":"Save")}),Ei(Bn,()=>u(Ye),O=>I(Ye,O)),oe("click",Pe,un),T(o,ji),Do()}mr(["click","change"]);var jG=R("<option> </option>"),UG=R('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),$G=R('<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 qG(o,e){Io(e,!0);let t=V(wi(v8())),i,n=V(!0),s=V("all"),r=V(""),a=V(!1);const c=["all","debug","info","warn","error"],h={debug:0,info:1,warn:2,error:3};dR(Y=>{I(t,[...u(t).slice(-1999),Y],!0)}),Vr(()=>{i&&(i.scrollTop=i.scrollHeight)}),Dn(()=>{u(t).length,u(n)&&i&&(i.scrollTop=i.scrollHeight)});function g(){I(t,[],!0)}function f(Y){if(u(s)!=="all"&&h[Y.level]<h[u(s)])return!1;if(!u(r))return!0;if(u(a))try{return new RegExp(u(r),"i").test(Y.msg)}catch{}return Y.msg.toLowerCase().includes(u(r).toLowerCase())}function p(Y){return new Date(Y).toLocaleTimeString()}var v=$G(),_=C(v),w=x(C(_),2);_i(w,21,()=>c,En,(Y,ge)=>{var _e=jG(),Ae=C(_e),Le={};X(()=>{G(Ae,u(ge)),Le!==(Le=u(ge))&&(_e.value=(_e.__value=u(ge))??"")}),T(Y,_e)});var S=x(w,2),D=x(S,2),P=C(D),N=x(D,2),z=C(N),F=x(N,2),ie=x(_,2);_i(ie,21,()=>u(t).filter(f),Y=>Y.ts+Y.msg,(Y,ge)=>{var _e=UG(),Ae=C(_e),Le=C(Ae),gt=x(Ae,2),Tt=C(gt),ft=x(gt,2),mt=C(ft);X((ct,Ot)=>{Kt(_e,1,`line ${u(ge).level??""}`,"svelte-18loop9"),G(Le,ct),G(Tt,Ot),G(mt,u(ge).msg)},[()=>p(u(ge).ts),()=>u(ge).level.toUpperCase()]),T(Y,_e)}),Ss(ie,Y=>i=Y,()=>i),ha(w,()=>u(s),Y=>I(s,Y)),Ei(S,()=>u(r),Y=>I(r,Y)),qs(P,()=>u(a),Y=>I(a,Y)),qs(z,()=>u(n),Y=>I(n,Y)),oe("click",F,g),T(o,v),Do()}mr(["click"]);var KG=R('<span class="chat-model svelte-1twuiul"><!></span>'),GG=R('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),ZG=R('<div class="unconfigured svelte-1twuiul">Configure an AI provider in the <strong class="svelte-1twuiul">Config</strong> tab to use the AI assistant.</div>'),XG=R('Working on view <code class="svelte-1twuiul"> </code>',1),YG=R('<button class="chip svelte-1twuiul"> </button>'),JG=R('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),QG=R('<div class="msg-content user-text svelte-1twuiul"> </div>'),PD=R('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),TD=R('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),MD=R('<div class="tool-events svelte-1twuiul"></div>'),ND=R('<div class="text-block svelte-1twuiul"></div>'),eZ=R('<button class="expand-btn svelte-1twuiul"> </button>'),tZ=R('<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>'),iZ=R('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),nZ=R('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),sZ=R("<div><!></div>"),oZ=R('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),rZ=R('<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>'),aZ=R('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),lZ=R('<div class="chat-error svelte-1twuiul"> </div>'),cZ=R('<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>'),dZ=R('<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>'),hZ=R('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),uZ=R('<button class="send-btn svelte-1twuiul">↑</button>'),gZ=R('<option class="svelte-1twuiul"> </option>'),fZ=R('<select class="model-select svelte-1twuiul"></select>'),pZ=R('<span class="model-name svelte-1twuiul"> </span>'),mZ=R('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),_Z=R('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),vZ=R('<p class="info-status svelte-1twuiul">Loading…</p>'),bZ=R('<p class="info-status info-err svelte-1twuiul"> </p>'),yZ=R('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),wZ=R('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),SZ=R('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),CZ=R('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),xZ=R('<div class="running-model svelte-1twuiul"> </div>'),LZ=R('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),kZ=R('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),IZ=R('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),DZ=R('<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>'),EZ=R('<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 PZ(o,e){Io(e,!0),Av.registerLanguage("javascript",pR),Ln.use({breaks:!0,gfm:!0});let t=eg(e,"currentView",3,null);const i="she:viewchat:messages";let n=V(wi(JSON.parse(localStorage.getItem(i)??"[]"))),s=V(null),r=V(""),a=V(!1),c=V(""),h=V(null),g=V(wi([])),f=V(wi(localStorage.getItem("she:selectedModel")??""));Dn(()=>{localStorage.setItem(i,JSON.stringify(u(n)))});let p=V(wi(new Set)),v=V(!1),_=V(null),w=V(!1),S=V(""),D=null,P=V(0);const N=["[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 z=V(!0),F=V(!0),ie=V(!0),Y=V(wi([])),ge=V(!0),_e=V(!1),Ae,Le=V(wi([])),gt=V(0),Tt,ft;const mt=st(()=>({apiref:!1,shedb:u(z),sampleDocs:u(F),tools:u(ie)})),ct=st(()=>{var $;return(($=u(h))==null?void 0:$.configured)??!1}),Ot=st(()=>u(gt)+new TextEncoder().encode(u(r)).length),Me=st(()=>u(ge)?t():null);Dn(()=>{sR().then($=>{I(h,$,!0),$.configured&&!u(f)&&I(f,$.model,!0)}).catch(()=>{})}),Dn(()=>{u(f)&&localStorage.setItem("she:selectedModel",u(f))}),Dn(()=>{var $;($=u(h))!=null&&$.configured&&oR().then(j=>{I(g,j.models,!0)}).catch(()=>{})}),Dn(()=>{u(f),I(_,null),I(S,"")}),Dn(()=>{const $=u(mt),j=u(Me),K=u(Y);u(ct)&&aR({context:$,currentView:j??null,extraFiles:K.length>0?K:void 0}).then(ue=>{I(gt,new TextEncoder().encode(ue.prompt).length,!0)}).catch(()=>{})}),Dn(()=>{if(!u(a))return;I(P,Math.floor(Math.random()*N.length),!0);const $=setInterval(()=>{I(P,(u(P)+1)%N.length)},1e4);return()=>clearInterval($)}),Dn(()=>{var $;ft&&(u(n).length+((($=u(s))==null?void 0:$.length)??0),requestAnimationFrame(()=>{ft&&(ft.scrollTop=ft.scrollHeight)}))});function Mt($){const j=[],K=/```(\w*)\n([\s\S]*?)```/g;let ue=0,le;for(;(le=K.exec($))!==null;)le.index>ue&&j.push({type:"text",text:$.slice(ue,le.index)}),j.push({type:"code",lang:le[1]||"text",text:le[2].trimEnd()}),ue=le.index+le[0].length;return ue<$.length&&j.push({type:"text",text:$.slice(ue)}),j}function je($){const j=[],K=/```(\w*)\n([\s\S]*?)```/g;let ue=0,le;for(;(le=K.exec($))!==null;)le.index>ue&&j.push({type:"text",text:$.slice(ue,le.index)}),j.push({type:"code",lang:le[1]||"text",text:le[2].trimEnd()}),ue=le.index+le[0].length;const De=$.slice(ue),pe=De.match(/```(\w*)\n([\s\S]*)$/);return pe?(pe.index>0&&j.push({type:"text",text:De.slice(0,pe.index)}),j.push({type:"code",lang:pe[1]||"text",text:pe[2]})):De&&j.push({type:"text",text:De}),j}function ot($){const j={};for(const K of $)if(K.type==="code"){if(K.lang==="filter")j.filter=K.text.trim();else if(Mn(K.lang)){const ue=K.text.split(`
218
+ `)[0].trim();ue==="// @view-map"?j.map=K.text.split(`
219
+ `).slice(1).join(`
220
+ `).trim():ue==="// @view-reduce"&&(j.reduce=K.text.split(`
221
+ `).slice(1).join(`
222
+ `).trim())}}return j}function _t($){return $.filter!==void 0||$.map!==void 0||$.reduce!==void 0}function pi($){const j=[];return $.filter!==void 0&&j.push("filter"),$.map!==void 0&&j.push("map"),$.reduce!==void 0&&j.push("reduce"),`Apply ${j.join(" + ")}`}const Rt=15;function Dt($){return $.split(`
223
+ `).length>Rt}function kt($){const j=new Set(u(p));j.has($)?j.delete($):j.add($),I(p,j,!0)}function qi($,j){if(Mn(j))try{return Av.highlight($,{language:"javascript"}).value}catch{}return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Ki($){return Ln.parse($)}function Mn($){return!$||$==="js"||$==="javascript"}function cn($){navigator.clipboard.writeText($).catch(()=>{})}async function Vi(){if(I(v,!0),!(u(_)||u(w))){I(w,!0),I(S,"");try{I(_,await rR(u(f)||u(h).model),!0)}catch($){I(S,$.message,!0)}I(w,!1)}}function dn($){return $>=1e9?`${($/1e9).toFixed(1)} GB`:$>=1e6?`${($/1e6).toFixed(0)} MB`:`${$} B`}function hn($){const j=$.match(/\.([^.]+)$/);return j?j[1].toUpperCase():"?"}function Nn($){switch($){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return $}}function jn($){I(Y,u(Y).filter((j,K)=>K!==$),!0)}function xn(){Ae.click()}async function Rn($){if(!(!$||$.length===0))for(const j of Array.from($)){const K=await j.text();I(Y,[...u(Y),{name:j.name,content:K}],!0)}}function _n($){const j=$.target;Rn(j.files),j.value=""}function Un($){var j;$.preventDefault(),I(_e,!1),Rn(((j=$.dataTransfer)==null?void 0:j.files)??null)}function Ye($){var j;(j=$.dataTransfer)!=null&&j.types.includes("Files")&&($.preventDefault(),I(_e,!0))}function Ht(){I(_e,!1)}async function oi(){const $=u(r).trim();if(!(!$||u(a))){I(r,""),I(c,""),I(a,!0),I(n,[...u(n),{role:"user",content:$}],!0),D=new AbortController,I(Le,[],!0);try{await lR({messages:u(n),currentView:u(Me),context:u(mt),modelOverride:u(f)||void 0,extraFiles:u(Y).length>0?u(Y):void 0},j=>{I(s,(u(s)??"")+j)},D.signal,j=>{I(Le,[...u(Le),j],!0)}),I(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(Le).length>0?[...u(Le)]:void 0}],!0),I(Le,[],!0)}catch(j){if(j.name==="AbortError"){const K=u(s);K!=null&&K.trim()&&I(n,[...u(n),{role:"assistant",content:K+`
224
+
225
+ *[stopped]*`,toolEvents:u(Le).length>0?[...u(Le)]:void 0}],!0)}else I(c,j.message,!0)}finally{D=null,I(s,null),I(Le,[],!0),I(a,!1)}}}function Ut(){D==null||D.abort()}function mi($){$.key==="Enter"&&!$.shiftKey&&($.preventDefault(),oi())}function An(){I(n,[],!0),I(c,"")}const un=["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 ji($){I(r,$,!0),Tt==null||Tt.focus()}var sn=EZ(),Wn=wt(sn),Ni=C(Wn),on=x(C(Ni),2);{var Bn=$=>{var j=KG(),K=C(j);{var ue=De=>{var pe=Rr();X(()=>G(pe,`${u(h).provider??""} · ${(u(f)||u(h).model)??""}`)),T(De,pe)},le=De=>{var pe=Rr("Not configured");T(De,pe)};q(K,De=>{u(ct)?De(ue):De(le,-1)})}X(()=>Hn(j,"title",`Provider: ${u(h).provider??""}`)),T($,j)};q(on,$=>{u(h)&&$(Bn)})}var Jn=x(on,2);{var kn=$=>{var j=GG();oe("click",j,An),T($,j)};q(Jn,$=>{u(n).length>0&&$(kn)})}var Xi=x(Ni,2),On=C(Xi);{var rn=$=>{var j=ZG();T($,j)},Se=$=>{var j=JG(),K=C(j),ue=C(K);{var le=Fe=>{var lt=XG(),Ve=x(wt(lt)),Ke=C(Ve);X(()=>G(Ke,t().id)),T(Fe,lt)},De=Fe=>{var lt=Rr("No view selected. Ask a general sheDB view question.");T(Fe,lt)};q(ue,Fe=>{t()?Fe(le):Fe(De,-1)})}var pe=x(K,2);_i(pe,17,()=>un,En,(Fe,lt)=>{var Ve=YG(),Ke=C(Ve);X(()=>G(Ke,u(lt))),oe("click",Ve,()=>ji(u(lt))),T(Fe,Ve)}),T($,j)};q(On,$=>{u(ct)?u(n).length===0&&u(s)===null&&$(Se,1):$(rn)})}var Z=x(On,2);_i(Z,17,()=>u(n),En,($,j,K)=>{var ue=sZ(),le=C(ue);{var De=Fe=>{var lt=QG(),Ve=C(lt);X(()=>G(Ve,u(j).content)),T(Fe,lt)},pe=Fe=>{const lt=st(()=>Mt(u(j).content)),Ve=st(()=>ot(u(lt)));var Ke=nZ(),si=wt(Ke);{var A=Te=>{var me=MD();_i(me,21,()=>u(j).toolEvents,En,(xe,Ze)=>{var Ee=Ds(),ve=wt(Ee);{var At=we=>{var xt=PD(),$e=x(C(xt)),Vt=C($e);X(ai=>G(Vt,ai),[()=>u(Ze).name.replace(/_/g," ")]),T(we,xt)},Ne=we=>{var xt=TD(),$e=x(C(xt)),Vt=C($e);X(ai=>G(Vt,ai),[()=>u(Ze).name.replace(/_/g," ")]),T(we,xt)};q(ve,we=>{u(Ze).type==="tool_call"?we(At):we(Ne,-1)})}T(xe,Ee)}),T(Te,me)};q(si,Te=>{var me;(me=u(j).toolEvents)!=null&&me.length&&Te(A)})}var J=x(si,2),He=C(J);_i(He,17,()=>u(lt),En,(Te,me,xe)=>{var Ze=Ds(),Ee=wt(Ze);{var ve=Ne=>{var we=ND();Wl(we,()=>Ki(u(me).text),!0),T(Ne,we)},At=Ne=>{const we=st(()=>`${K}:${xe}`),xt=st(()=>Dt(u(me).text)),$e=st(()=>u(p).has(u(we))),Vt=st(()=>u(me).lang==="filter");var ai=tZ(),be=C(ai),qe=C(be),rt=C(qe),Wt=x(qe,2),tt=C(Wt),ui=x(be,2);let ri;var Ti=C(ui),Jt=C(Ti);Wl(Jt,()=>qi(u(me).text,u(me).lang??""),!0);var Bt=x(Ti,2);{var Ui=tn=>{var bn=eZ(),$n=C(bn);X(()=>G($n,u($e)?"▲ collapse":"▼ expand")),oe("click",bn,()=>kt(u(we))),T(tn,bn)};q(Bt,tn=>{u(xt)&&tn(Ui)})}X(()=>{G(rt,u(Vt)?"filter":u(me).lang),ri=Kt(ui,1,"code-body svelte-1twuiul",null,ri,{collapsed:u(xt)&&!u($e)})}),oe("click",tt,()=>cn(u(me).text)),T(Ne,ai)};q(Ee,Ne=>{u(me).type==="text"?Ne(ve):Ne(At,-1)})}T(Te,Ze)});var dt=x(He,2);{var it=Te=>{var me=iZ(),xe=C(me),Ze=C(xe);X(Ee=>G(Ze,Ee),[()=>pi(u(Ve))]),oe("click",xe,()=>e.onApplyView(u(Ve))),T(Te,me)},zt=st(()=>_t(u(Ve))&&e.onApplyView);q(dt,Te=>{u(zt)&&Te(it)})}T(Fe,Ke)};q(le,Fe=>{u(j).role==="user"?Fe(De):Fe(pe,-1)})}X(()=>Kt(ue,1,`message ${u(j).role??""}`,"svelte-1twuiul")),T($,ue)});var Pe=x(Z,2);{var at=$=>{var j=MD();_i(j,21,()=>u(Le),En,(K,ue)=>{var le=Ds(),De=wt(le);{var pe=lt=>{var Ve=PD(),Ke=x(C(Ve)),si=C(Ke);X(A=>G(si,A),[()=>u(ue).name.replace(/_/g," ")]),T(lt,Ve)},Fe=lt=>{var Ve=TD(),Ke=x(C(Ve)),si=C(Ke);X(A=>G(si,A),[()=>u(ue).name.replace(/_/g," ")]),T(lt,Ve)};q(De,lt=>{u(ue).type==="tool_call"?lt(pe):lt(Fe,-1)})}T(K,le)}),T($,j)};q(Pe,$=>{u(Le).length>0&&$(at)})}var It=x(Pe,2);{var $t=$=>{var j=oZ(),K=C(j),ue=C(K),le=C(ue);X(()=>G(le,N[u(P)])),T($,j)};q(It,$=>{u(a)&&u(s)===null&&u(Le).length===0&&$($t)})}var H=x(It,2);{var O=$=>{var j=aZ(),K=C(j);_i(K,21,()=>je(u(s)),En,(ue,le)=>{var De=Ds(),pe=wt(De);{var Fe=Ve=>{var Ke=ND();Wl(Ke,()=>Ki(u(le).text),!0),T(Ve,Ke)},lt=Ve=>{var Ke=rZ(),si=C(Ke),A=C(si),J=C(A),He=x(si,2),dt=C(He);Wl(dt,()=>qi(u(le).text,u(le).lang??""),!0),X(()=>G(J,u(le).lang)),T(Ve,Ke)};q(pe,Ve=>{u(le).type==="text"?Ve(Fe):Ve(lt,-1)})}T(ue,De)}),T($,j)};q(H,$=>{u(s)!==null&&$(O)})}Ss(Xi,$=>ft=$,()=>ft);var ee=x(Xi,2);{var ke=$=>{var j=lZ(),K=C(j);X(()=>G(K,u(c))),T($,j)};q(ee,$=>{u(c)&&$(ke)})}var Je=x(ee,2),Ge=C(Je),fe=C(Ge),Ie=x(Ge,2),et=C(Ie),Zt=x(Ie,2),bt=C(Zt),Oe=x(Zt,2),yt=C(Oe),Xt=x(Je,2),Yt=C(Xt);{var ti=$=>{var j=cZ();let K;var ue=x(C(j),2),le=C(ue),De=x(ue,2),pe=C(De);X(()=>{K=Kt(j,1,"file-chip svelte-1twuiul",null,K,{inactive:!u(ge)}),G(le,t().id),Hn(De,"title",u(ge)?"Remove from context":"Re-add to context"),G(pe,u(ge)?"×":"+")}),oe("click",De,()=>I(ge,!u(ge))),T($,j)};q(Yt,$=>{t()&&$(ti)})}var ii=x(Yt,2);_i(ii,17,()=>u(Y),En,($,j,K)=>{const ue=st(()=>hn(u(j).name));var le=dZ(),De=C(le),pe=C(De),Fe=x(De,2),lt=C(Fe),Ve=x(Fe,2);X((Ke,si)=>{Kt(De,1,`badge badge-${Ke??""}`,"svelte-1twuiul"),G(pe,si),G(lt,u(j).name)},[()=>u(ue).toLowerCase(),()=>Nn(u(ue))]),oe("click",Ve,()=>jn(K)),T($,le)});var te=x(ii,2),he=x(te,2);Ss(he,$=>Ae=$,()=>Ae);var Ce=x(Xt,2);let Ue;var pt=C(Ce);let Xe;var Et=C(pt);Ss(Et,$=>Tt=$,()=>Tt);var li=x(pt,2);{var hi=$=>{var j=hZ();oe("click",j,Ut),T($,j)},ni=$=>{var j=uZ();X(K=>j.disabled=K,[()=>!u(r).trim()||!u(ct)]),oe("click",j,oi),T($,j)};q(li,$=>{u(a)?$(hi):$(ni,-1)})}var Gi=x(Ce,2);{var vn=$=>{var j=_Z(),K=C(j),ue=C(K),le=x(K,2);{var De=Ve=>{var Ke=fZ();_i(Ke,21,()=>u(g),En,(si,A)=>{var J=gZ(),He=C(J),dt={};X(()=>{G(He,u(A)),dt!==(dt=u(A))&&(J.value=(J.__value=u(A))??"")}),T(si,J)}),X(()=>Ke.disabled=u(a)),ha(Ke,()=>u(f),si=>I(f,si)),T(Ve,Ke)},pe=Ve=>{var Ke=pZ(),si=C(Ke);X(()=>G(si,u(f)||u(h).model)),T(Ve,Ke)};q(le,Ve=>{u(g).length>0?Ve(De):Ve(pe,-1)})}var Fe=x(le,2);{var lt=Ve=>{var Ke=mZ();oe("click",Ke,Vi),T(Ve,Ke)};q(Fe,Ve=>{u(h).provider==="ollama"&&Ve(lt)})}X(()=>G(ue,u(h).provider)),T($,j)};q(Gi,$=>{u(ct)&&u(h)&&$(vn)})}var Ri=x(Wn,2);{var qt=$=>{var j=DZ(),K=C(j),ue=C(K),le=C(ue),De=C(le),pe=x(le,2),Fe=x(ue,2),lt=C(Fe);{var Ve=A=>{var J=vZ();T(A,J)},Ke=A=>{var J=bZ(),He=C(J);X(()=>G(He,u(S))),T(A,J)},si=A=>{var J=IZ(),He=C(J);{var dt=Ne=>{var we=yZ(),xt=x(wt(we)),$e=C(xt);X(()=>G($e,u(_).version)),T(Ne,we)};q(He,Ne=>{u(_).version&&Ne(dt)})}var it=x(He,2);{var zt=Ne=>{var we=wZ(),xt=x(wt(we)),$e=C(xt);X(()=>G($e,u(_).details.family)),T(Ne,we)};q(it,Ne=>{var we;(we=u(_).details)!=null&&we.family&&Ne(zt)})}var Te=x(it,2);{var me=Ne=>{var we=SZ(),xt=x(wt(we)),$e=C(xt);X(()=>G($e,u(_).details.parameter_size)),T(Ne,we)};q(Te,Ne=>{var we;(we=u(_).details)!=null&&we.parameter_size&&Ne(me)})}var xe=x(Te,2);{var Ze=Ne=>{var we=CZ(),xt=x(wt(we)),$e=C(xt);X(()=>G($e,u(_).details.quantization_level)),T(Ne,we)};q(xe,Ne=>{var we;(we=u(_).details)!=null&&we.quantization_level&&Ne(Ze)})}var Ee=x(xe,2);{var ve=Ne=>{var we=LZ(),xt=x(wt(we),2);_i(xt,21,()=>u(_).running,En,($e,Vt)=>{var ai=xZ(),be=C(ai);X(qe=>G(be,`${u(Vt).name??""} · ${qe??""} VRAM`),[()=>dn(u(Vt).size_vram)]),T($e,ai)}),T(Ne,we)},At=Ne=>{var we=kZ();T(Ne,we)};q(Ee,Ne=>{u(_).running&&u(_).running.length>0?Ne(ve):u(_).running!==null&&Ne(At,1)})}T(A,J)};q(lt,A=>{u(w)?A(Ve):u(S)?A(Ke,1):u(_)&&A(si,2)})}X(()=>{var A;return G(De,`Ollama · ${(u(f)||((A=u(h))==null?void 0:A.model))??""}`)}),oe("click",j,()=>I(v,!1)),oe("click",K,A=>A.stopPropagation()),oe("click",pe,()=>I(v,!1)),T($,j)};q(Ri,$=>{u(v)&&$(qt)})}X($=>{G(yt,$),Ue=Kt(Ce,1,"input-row svelte-1twuiul",null,Ue,{"drag-over":u(_e)}),Xe=Kt(pt,1,"textarea-wrap svelte-1twuiul",null,Xe,{loading:u(a)}),Hn(Et,"placeholder",u(ct)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),Et.disabled=u(a)||!u(ct)},[()=>dn(u(Ot))]),qs(fe,()=>u(z),$=>I(z,$)),qs(et,()=>u(F),$=>I(F,$)),qs(bt,()=>u(ie),$=>I(ie,$)),oe("click",te,xn),oe("change",he,_n),es("dragover",Ce,Ye),es("dragleave",Ce,Ht),es("drop",Ce,Un),oe("keydown",Et,mi),Ei(Et,()=>u(r),$=>I(r,$)),T(o,sn),Do()}mr(["click","change","keydown"]);var TZ=R('<div class="me svelte-1pxdb1"></div>');function Aw(o,e){Io(e,!0);let t=eg(e,"value",15,""),i=eg(e,"language",3,"javascript"),n,s,r=!1;Vr(()=>{const c=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=Fa.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())})}),oy(()=>s==null?void 0:s.dispose()),Dn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=TZ();Ss(a,c=>n=c,()=>n),T(o,a),Do()}var MZ=R('<!> <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),NZ=R('<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>'),RD=R('<div class="form-error svelte-rrt0o"> </div>'),RZ=R('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),AD=R("<li> </li>"),OD=R('<div class="error-bar svelte-rrt0o"> </div>'),FD=R('<div class="loading svelte-rrt0o">Loading…</div>'),AZ=R('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),OZ=R('<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),FZ=R('<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>'),HZ=R('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),WZ=R('<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>'),BZ=R('<span class="badge-error svelte-rrt0o">error</span>'),zZ=R('<span class="badge-ok svelte-rrt0o"> </span>'),VZ=R('<pre class="result-error svelte-rrt0o"> </pre>'),jZ=R('<pre class="result-json svelte-rrt0o"> </pre>'),UZ=R('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),$Z=R('<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>'),qZ=R('<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),KZ=R('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),GZ=R('<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>'),ZZ=R('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function XZ(o,e){Io(e,!0);const t=Se=>{var Z=MZ(),Pe=wt(Z);Ss(tm(Pe,{}),at=>jn=at,()=>jn),T(Se,Z)};let i=V(wi([])),n=V(null),s=V("{}"),r=V(!1),a=V(null);const c="she-db-selected-view";let h=V(wi([])),g=V(wi(localStorage.getItem(c))),f=V("#"),p=V("// emit(this.someProperty)"),v=V(""),_=V(""),w=V(!1),S=V(!1),D=V(null),P=V(!1),N=V(null),z=V("she/db/view/");const F="she-db-panel";let ie=V(wi(localStorage.getItem(F)??"docs")),Y=V(""),ge=V(!1),_e=V(null),Ae=V(""),Le=V(!1),gt=V(null);const Tt="she-db-sidebar-width";let ft=V(wi(parseInt(localStorage.getItem(Tt)??"220",10))),mt=!1,ct=0,Ot=0;const Me="she-db-chat-width",Mt="she-db-chat-open";let je=V(localStorage.getItem(Mt)==="true"),ot=V(wi(parseInt(localStorage.getItem(Me)??"320",10))),_t=!1,pi=0,Rt=0;const Dt=st(()=>u(g)?{id:u(g),filter:u(f),map:u(p),reduce:u(v)}:null);function kt(Se){Se.filter!==void 0&&I(f,Se.filter,!0),Se.map!==void 0&&I(p,Se.map,!0),Se.reduce!==void 0&&I(v,Se.reduce,!0)}Dn(()=>{localStorage.setItem(Mt,String(u(je)))}),Dn(()=>{localStorage.setItem(F,u(ie))}),Dn(()=>{u(g)?localStorage.setItem(c,u(g)):localStorage.removeItem(c)});function qi(Se){mt=!0,ct=Se.clientX,Ot=u(ft),Se.preventDefault()}function Ki(Se){mt&&I(ft,Math.max(140,Math.min(500,Ot+Se.clientX-ct)),!0),_t&&I(ot,Math.max(240,Math.min(600,Rt-(Se.clientX-pi))),!0)}function Mn(){mt&&(mt=!1,localStorage.setItem(Tt,String(u(ft)))),_t&&(_t=!1,localStorage.setItem(Me,String(u(ot))))}function cn(Se){_t=!0,pi=Se.clientX,Rt=u(ot),Se.preventDefault()}async function Vi(){try{I(i,await eR(),!0)}catch{}}async function dn(){try{I(h,await tR(),!0)}catch{}}async function hn(Se){I(n,Se,!0),I(a,null),I(r,!0);try{const Z=await e8(Se);I(s,JSON.stringify(Z,null,2),!0)}catch(Z){I(a,Z instanceof Error?Z.message:String(Z),!0)}finally{I(r,!1)}}async function Nn(){if(u(n)){I(a,null);try{const Se=JSON.parse(u(s));await oD(u(n),Se)}catch(Se){I(a,Se instanceof Error?Se.message:String(Se),!0)}}}let jn;async function xn(){if(u(n)&&await jn.show(`Delete document "${u(n)}"?`,{confirm:"Delete",danger:!0}))try{await t8(u(n)),I(n,null),I(s,"{}")}catch(Se){I(a,Se instanceof Error?Se.message:String(Se),!0)}}async function Rn(){const Se=u(Y).trim();if(Se){I(_e,null);try{await oD(Se,{}),I(ge,!1),I(Y,""),await hn(Se)}catch(Z){I(_e,Z instanceof Error?Z.message:String(Z),!0)}}}async function _n(Se){I(g,Se,!0),I(N,null),I(P,!0),I(D,null);try{const Z=await i8(Se);I(f,Z.filter??"",!0),I(p,Z.map,!0),I(v,Z.reduce??"",!0),I(_,Z.description??"",!0),I(w,Z.mqttpub??!1,!0),I(S,Z.retain??!1,!0),I(D,await Nw(Se).catch(()=>null),!0)}catch(Z){I(N,Z instanceof Error?Z.message:String(Z),!0)}finally{I(P,!1)}}async function Un(){if(u(g)){I(N,null);try{const Se={map:u(p)};u(f).trim()&&(Se.filter=u(f).trim()),u(v).trim()&&(Se.reduce=u(v).trim()),u(_).trim()&&(Se.description=u(_).trim()),u(w)&&(Se.mqttpub=!0),u(S)&&(Se.retain=!0),await rD(u(g),Se)}catch(Se){I(N,Se instanceof Error?Se.message:String(Se),!0)}}}async function Ye(){if(u(g))try{I(D,await Nw(u(g)),!0)}catch(Se){I(N,Se instanceof Error?Se.message:String(Se),!0)}}async function Ht(){if(u(g)&&await jn.show(`Delete view "${u(g)}"?`,{confirm:"Delete",danger:!0}))try{await n8(u(g)),I(g,null),I(f,""),I(p,"// emit(this.someProperty)"),I(v,""),I(_,""),I(w,!1),I(S,!1),I(D,null)}catch(Se){I(N,Se instanceof Error?Se.message:String(Se),!0)}}async function oi(){if(!u(Ae).trim())return;const Se=u(Ae).trim();I(gt,null);try{await rD(Se,{map:"// emit(this.someProperty)"}),I(Le,!1),I(Ae,""),await dn(),await _n(Se)}catch(Z){I(gt,Z instanceof Error?Z.message:String(Z),!0)}}let Ut=V(""),mi=V(""),An=st(()=>[...u(i)].filter(Se=>!u(Ut)||Se.toLowerCase().includes(u(Ut).toLowerCase())).sort()),un=st(()=>[...u(h)].filter(Se=>!u(mi)||Se.toLowerCase().includes(u(mi).toLowerCase())).sort());Vr(()=>{Vi(),dn(),u(g)&&_n(u(g)),QN().then(It=>{const $t=It.dbPrefix||"she/db/",H=$t.endsWith("/")?$t:$t+"/";I(z,H+"view/")}).catch(()=>{});const Se=Ul("db:ids",It=>{I(i,It.ids??[],!0)}),Z=Ul("db:viewIds",It=>{I(h,It.ids??[],!0)}),Pe=Ul("db:change",async It=>{const $t=It.id;u(n)===$t&&(It.doc===null?(I(n,null),I(s,"{}")):I(s,JSON.stringify(It.doc,null,2),!0))}),at=Ul("db:viewUpdate",async It=>{const $t=It.id;u(g)===$t&&I(D,await Nw($t).catch(()=>null),!0)});return()=>{Se(),Z(),Pe(),at()}});var ji=ZZ(),sn=C(ji),Wn=C(sn);let Ni;var on=x(Wn,2);let Bn;var Jn=x(on,2);{var kn=Se=>{var Z=NZ();let Pe;X(()=>{Pe=Kt(Z,1,"ai-toggle svelte-rrt0o",null,Pe,{"ai-open":u(je)}),Hn(Z,"title",u(je)?"Close AI assistant":"Open AI assistant")}),oe("click",Z,()=>I(je,!u(je))),T(Se,Z)};q(Jn,Se=>{u(ie)==="views"&&Se(kn)})}var Xi=x(sn,2);{var On=Se=>{var Z=FZ(),Pe=C(Z);let at;var It=C(Pe),$t=C(It),H=x(It,2);{var O=bt=>{var Oe=RZ(),yt=wt(Oe),Xt=C(yt),Yt=x(Xt,2),ti=x(yt,2);{var ii=te=>{var he=RD(),Ce=C(he);X(()=>G(Ce,u(_e))),T(te,he)};q(ti,te=>{u(_e)&&te(ii)})}oe("keydown",Xt,te=>te.key==="Enter"&&Rn()),Ei(Xt,()=>u(Y),te=>I(Y,te)),oe("click",Yt,Rn),T(bt,Oe)};q(H,bt=>{u(ge)&&bt(O)})}var ee=x(H,2),ke=C(ee),Je=x(ee,2);_i(Je,20,()=>u(An),bt=>bt,(bt,Oe)=>{var yt=AD();let Xt;var Yt=C(yt);X(()=>{Xt=Kt(yt,1,"flat-item svelte-rrt0o",null,Xt,{"active-item":u(n)===Oe}),G(Yt,Oe)}),oe("click",yt,()=>hn(Oe)),T(bt,yt)});var Ge=x(Pe,2),fe=x(Ge,2),Ie=C(fe);{var et=bt=>{var Oe=OZ(),yt=wt(Oe),Xt=C(yt),Yt=C(Xt),ti=x(Xt,2),ii=x(ti,2),te=x(yt,2);{var he=Xe=>{var Et=OD(),li=C(Et);X(()=>G(li,u(a))),T(Xe,Et)};q(te,Xe=>{u(a)&&Xe(he)})}var Ce=x(te,2);{var Ue=Xe=>{var Et=FD();T(Xe,Et)},pt=Xe=>{var Et=AZ(),li=C(Et);Aw(li,{language:"json",get value(){return u(s)},set value(hi){I(s,hi,!0)}}),T(Xe,Et)};q(Ce,Xe=>{u(r)?Xe(Ue):Xe(pt,-1)})}X(()=>G(Yt,u(n))),oe("click",ti,Nn),oe("click",ii,xn),T(bt,Oe)},Zt=bt=>{t(bt)};q(Ie,bt=>{u(n)?bt(et):bt(Zt,-1)})}X(()=>at=zo(Pe,"",at,{width:`${u(ft)??""}px`})),oe("click",$t,()=>{I(ge,!u(ge)),I(_e,null)}),Ei(ke,()=>u(Ut),bt=>I(Ut,bt)),oe("mousedown",Ge,qi),T(Se,Z)},rn=Se=>{var Z=GZ(),Pe=C(Z);let at;var It=C(Pe),$t=C(It),H=x(It,2);{var O=yt=>{var Xt=HZ(),Yt=wt(Xt),ti=C(Yt),ii=x(ti,2),te=x(Yt,2);{var he=Ce=>{var Ue=RD(),pt=C(Ue);X(()=>G(pt,u(gt))),T(Ce,Ue)};q(te,Ce=>{u(gt)&&Ce(he)})}oe("keydown",ti,Ce=>Ce.key==="Enter"&&oi()),Ei(ti,()=>u(Ae),Ce=>I(Ae,Ce)),oe("click",ii,oi),T(yt,Xt)};q(H,yt=>{u(Le)&&yt(O)})}var ee=x(H,2),ke=C(ee),Je=x(ee,2);_i(Je,20,()=>u(un),yt=>yt,(yt,Xt)=>{var Yt=AD();let ti;var ii=C(Yt);X(()=>{ti=Kt(Yt,1,"flat-item svelte-rrt0o",null,ti,{"active-item":u(g)===Xt}),G(ii,Xt)}),oe("click",Yt,()=>_n(Xt)),T(yt,Yt)});var Ge=x(Pe,2),fe=x(Ge,2),Ie=C(fe);{var et=yt=>{var Xt=qZ(),Yt=wt(Xt),ti=C(Yt),ii=C(ti),te=x(ti,2),he=x(te,2),Ce=x(he,2),Ue=x(Yt,2);{var pt=hi=>{var ni=OD(),Gi=C(ni);X(()=>G(Gi,u(N))),T(hi,ni)};q(Ue,hi=>{u(N)&&hi(pt)})}var Xe=x(Ue,2);{var Et=hi=>{var ni=FD();T(hi,ni)},li=hi=>{var ni=$Z(),Gi=C(ni),vn=x(C(Gi),2),Ri=C(vn),qt=x(Gi,2),$=x(C(qt),2),j=C($),K=x(qt,2),ue=x(C(K),2),le=C(ue);Aw(le,{language:"javascript",get value(){return u(p)},set value(Te){I(p,Te,!0)}});var De=x(K,2),pe=x(C(De),2),Fe=C(pe);Aw(Fe,{language:"javascript",get value(){return u(v)},set value(Te){I(v,Te,!0)}});var lt=x(De,2),Ve=C(lt),Ke=C(Ve),si=x(Ke,4),A=x(C(si)),J=C(A),He=x(Ve,2);{var dt=Te=>{var me=WZ(),xe=C(me);qs(xe,()=>u(S),Ze=>I(S,Ze)),T(Te,me)};q(He,Te=>{u(w)&&Te(dt)})}var it=x(lt,2);{var zt=Te=>{var me=UZ(),xe=C(me),Ze=x(C(xe));{var Ee=xt=>{var $e=BZ();T(xt,$e)},ve=xt=>{var $e=zZ(),Vt=C($e);X(()=>G(Vt,`${u(D).length??0??""} items · rev ${u(D)._rev??""}`)),T(xt,$e)};q(Ze,xt=>{u(D).error?xt(Ee):xt(ve,-1)})}var At=x(xe,2);{var Ne=xt=>{var $e=VZ(),Vt=C($e);X(()=>G(Vt,u(D).error)),T(xt,$e)},we=xt=>{var $e=jZ(),Vt=C($e);X(ai=>G(Vt,ai),[()=>JSON.stringify(u(D).result,null,2)]),T(xt,$e)};q(At,xt=>{u(D).error?xt(Ne):xt(we,-1)})}T(Te,me)};q(it,Te=>{u(D)&&Te(zt)})}X(()=>G(J,`${u(z)??""}${u(g)??""} on every update`)),Ei(Ri,()=>u(_),Te=>I(_,Te)),Ei(j,()=>u(f),Te=>I(f,Te)),qs(Ke,()=>u(w),Te=>I(w,Te)),T(hi,ni)};q(Xe,hi=>{u(P)?hi(Et):hi(li,-1)})}X(()=>G(ii,u(g))),oe("click",te,Un),oe("click",he,Ye),oe("click",Ce,Ht),T(yt,Xt)},Zt=yt=>{t(yt)};q(Ie,yt=>{u(g)?yt(et):yt(Zt,-1)})}var bt=x(fe,2);{var Oe=yt=>{var Xt=KZ(),Yt=wt(Xt),ti=x(Yt,2);let ii;var te=C(ti);PZ(te,{get currentView(){return u(Dt)},onApplyView:kt}),X(()=>ii=zo(ti,"",ii,{width:`${u(ot)??""}px`})),oe("mousedown",Yt,cn),T(yt,Xt)};q(bt,yt=>{u(je)&&yt(Oe)})}X(()=>at=zo(Pe,"",at,{width:`${u(ft)??""}px`})),oe("click",$t,()=>{I(Le,!u(Le)),I(gt,null)}),Ei(ke,()=>u(mi),yt=>I(mi,yt)),oe("mousedown",Ge,qi),T(Se,Z)};q(Xi,Se=>{u(ie)==="docs"?Se(On):Se(rn,-1)})}X(()=>{Ni=Kt(Wn,1,"svelte-rrt0o",null,Ni,{active:u(ie)==="docs"}),Bn=Kt(on,1,"svelte-rrt0o",null,Bn,{active:u(ie)==="views"})}),oe("mousemove",ji,Ki),oe("mouseup",ji,Mn),es("mouseleave",ji,Mn),oe("click",Wn,()=>I(ie,"docs")),oe("click",on,()=>I(ie,"views")),T(o,ji),Do()}mr(["mousemove","mouseup","click","keydown","mousedown"]);var YZ=R('<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),JZ=R('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),HD=R('<p class="err svelte-1ua3isv"> </p>'),QZ=R('<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>'),e9=R('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),t9=R('<span class="device-name svelte-1ua3isv"> </span>'),i9=R('<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>'),n9=R('<li class="empty svelte-1ua3isv">No paired devices</li>'),s9=R('<p class="info svelte-1ua3isv">Loading…</p>'),o9=R('<p class="device-subtitle svelte-1ua3isv"> </p>'),r9=R('<span class="ep-chip svelte-1ua3isv"> </span>'),a9=R('<span class="attr-id svelte-1ua3isv"> </span>'),l9=R('<button class="attr-action-btn svelte-1ua3isv"> </button>'),c9=R('<div class="attr-actions svelte-1ua3isv"></div>'),d9=R('<span class="cmd-sep svelte-1ua3isv">,</span>'),h9=R('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),u9=R('<span class="cmd-id svelte-1ua3isv"> </span>'),g9=R("<!> <!>",1),f9=R('<span class="cmd-list svelte-1ua3isv"></span>'),p9=R(' <span class="cmd-id svelte-1ua3isv"> </span>',1),m9=R('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),_9=R('<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>'),v9=R('<th class="svelte-1ua3isv"> </th>'),b9=R('<td class="svelte-1ua3isv"> </td>'),y9=R('<tr class="svelte-1ua3isv"></tr>'),w9=R('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),S9=R('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),C9=R('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),x9=R('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),L9=R('<span class="attr-val svelte-1ua3isv"> </span>'),k9=R('<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>'),I9=R('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),D9=R('<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>'),E9=R('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),P9=R('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),T9=R('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),M9=R('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),N9=R('<span class="stream-badge svelte-1ua3isv"> </span>'),R9=R('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),Ow=R('&nbsp;<span class="e-sub svelte-1ua3isv"> </span>',1),A9=R('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),O9=R('<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),F9=R('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),H9=R('<div class="stream-body svelte-1ua3isv"><!></div>'),W9=R('<!> <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 B9(o,e){Io(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(Z,Pe,at,It,$t){try{await m8(Z,Pe,at,It,$t)}catch(H){console.error("matter command failed",H)}}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(Z,Pe){const at=n[Z];return Pe.map(It=>{const $t=typeof It=="number"?It:Number(It);return{id:$t,name:(at==null?void 0:at[$t])??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 h(Z){return"0x"+Z.toString(16).toUpperCase().padStart(4,"0")}let g=V(wi([])),f=wi(new Map);function p(Z){if(Z==null)return"—";if(typeof Z=="boolean"||typeof Z=="number")return String(Z);if(typeof Z=="string")return Z.length>50?Z.slice(0,47)+"…":Z;const Pe=JSON.stringify(Z);return Pe.length>60?Pe.slice(0,57)+"…":Pe}function v(Z){return Z==null?"—":typeof Z=="boolean"||typeof Z=="number"?String(Z):typeof Z=="string"?Z:JSON.stringify(Z)}function _(Z){return Z!==null&&typeof Z=="object"&&!Array.isArray(Z)}function w(Z){return Array.isArray(Z)&&Z.length>0&&Z.every(_)}function S(Z,Pe){return!!(Pe==="attributeList"||Array.isArray(Z)&&Z.length===0||_(Z)&&Object.keys(Z).length===0)}function D(Z){return new Date(Z).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const P=500,N=20,z=32;let F=0,ie=V(wi([])),Y=V(!0),ge=V(180),_e=st(()=>{const Z=Math.max(1,Math.floor((u(ge)-z)/N)+1);return u(ie).slice(0,Z)});function Ae(Z){Z.preventDefault();const Pe=Z.clientY,at=u(ge);function It(H){I(ge,Math.max(60,Math.min(600,at+Pe-H.clientY)),!0)}function $t(){document.removeEventListener("mousemove",It),document.removeEventListener("mouseup",$t)}document.addEventListener("mousemove",It),document.addEventListener("mouseup",$t)}let Le=V(null),gt=V(!1),Tt=V(null),ft=V(!1),mt=V("passcode"),ct=V(""),Ot=V(""),Me=V(""),Mt=V(!1),je=V(null),ot=V("");const _t="she:matter:selectedNodeId";async function pi(){try{I(g,await iR(),!0);for(const Z of u(g))m_(Z.nodeId).then(Pe=>{f.set(Z.nodeId,Pe)}).catch(()=>{});if(u(g).length>0&&!u(Le)){const Z=localStorage.getItem(_t),Pe=Z&&u(g).find(at=>at.nodeId===Z)?Z:u(g)[0].nodeId;Rt(Pe)}}catch{I(g,[],!0)}}async function Rt(Z){I(gt,!0),I(Tt,null);try{I(Le,await m_(Z),!0),f.set(Z,u(Le)),localStorage.setItem(_t,Z)}catch(Pe){I(Tt,Pe instanceof Error?Pe.message:String(Pe),!0)}finally{I(gt,!1)}}let Dt;async function kt(Z){var Pe;if(await Dt.show(`Unpair device ${Z}?`,{confirm:"Unpair",danger:!0}))try{await p8(Z),((Pe=u(Le))==null?void 0:Pe.nodeId)===Z&&I(Le,null),await pi()}catch(at){I(Tt,at instanceof Error?at.message:String(at),!0)}}async function qi(){I(Mt,!0),I(je,null);try{let Z;u(mt)==="passcode"?(Z={passcode:Number(u(ct))},u(Ot)&&(Z={...Z,discriminator:Number(u(Ot))})):Z={pairingCode:u(Me).trim()},u(ot).trim()&&(Z={...Z,discoveryAddress:u(ot).trim()}),await f8(Z),I(ft,!1),I(ct,""),I(Ot,""),I(Me,""),I(ot,""),await pi()}catch(Z){I(je,Z instanceof Error?Z.message:String(Z),!0)}finally{I(Mt,!1)}}Vr(()=>{pi()});const Ki=Ul("matter:deviceList",Z=>{if(!Array.isArray(Z.devices))return;const Pe=Z.devices;for(const at of Pe)f.has(at.nodeId)||m_(at.nodeId).then(It=>{f.set(at.nodeId,It)}).catch(()=>{});I(g,Pe,!0)}),Mn=Ul("matter:deviceStatus",Z=>{if(Z.nodeId===void 0)return;const Pe=String(Z.nodeId),at=!!Z.online;I(g,u(g).map(It=>It.nodeId===Pe?{...It,online:at}:It),!0),I(ie,[{id:F++,kind:"status",nodeId:Pe,online:at,ts:Date.now()},...u(ie).slice(0,P-1)],!0)}),cn=Ul("matter:attr",Z=>{const Pe=String(Z.nodeId),at=Z.endpointId,It=String(Z.clusterName),$t=String(Z.attrName),H=Z.value;if(u(Le)&&u(Le).nodeId===Pe){const ee=u(Le).endpoints.find(Je=>Je.endpointId===at),ke=ee==null?void 0:ee.clusters.find(Je=>Je.name===It);ke&&(ke.attrs[$t]=H)}const O=f.get(Pe);if(O){const ee=O.endpoints.find(Je=>Je.endpointId===at),ke=ee==null?void 0:ee.clusters.find(Je=>Je.name===It);ke&&(ke.attrs[$t]=H)}I(ie,[{id:F++,kind:"attr",nodeId:Pe,endpointId:at,clusterName:It,attrName:$t,value:H,ts:Z.ts??Date.now()},...u(ie).slice(0,P-1)],!0)});oy(()=>{Ki(),Mn(),cn()});var Vi=W9(),dn=wt(Vi);Ss(tm(dn,{}),Z=>Dt=Z,()=>Dt);var hn=x(dn,2),Nn=C(hn),jn=C(Nn),xn=C(jn),Rn=x(C(xn),2),_n=x(xn,2);{var Un=Z=>{var Pe=QZ(),at=C(Pe),It=C(at);let $t;var H=x(It,2);let O;var ee=x(at,2);{var ke=Oe=>{var yt=YZ(),Xt=wt(yt),Yt=x(C(Xt)),ti=x(Xt,2),ii=x(C(ti));Ei(Yt,()=>u(ct),te=>I(ct,te)),Ei(ii,()=>u(Ot),te=>I(Ot,te)),T(Oe,yt)},Je=Oe=>{var yt=JZ(),Xt=x(C(yt));Ei(Xt,()=>u(Me),Yt=>I(Me,Yt)),T(Oe,yt)};q(ee,Oe=>{u(mt)==="passcode"?Oe(ke):Oe(Je,-1)})}var Ge=x(ee,2),fe=x(C(Ge)),Ie=x(Ge,2);{var et=Oe=>{var yt=HD(),Xt=C(yt);X(()=>G(Xt,u(je))),T(Oe,yt)};q(Ie,Oe=>{u(je)&&Oe(et)})}var Zt=x(Ie,2),bt=C(Zt);X(()=>{$t=Kt(It,1,"svelte-1ua3isv",null,$t,{active:u(mt)==="passcode"}),O=Kt(H,1,"svelte-1ua3isv",null,O,{active:u(mt)==="pairingCode"}),Zt.disabled=u(Mt),G(bt,u(Mt)?"Commissioning…":"Commission")}),oe("click",It,()=>I(mt,"passcode")),oe("click",H,()=>I(mt,"pairingCode")),Ei(fe,()=>u(ot),Oe=>I(ot,Oe)),oe("click",Zt,qi),T(Z,Pe)};q(_n,Z=>{u(ft)&&Z(Un)})}var Ye=x(_n,2),Ht=C(Ye);_i(Ht,17,()=>u(g),Z=>Z.nodeId,(Z,Pe)=>{var at=i9();let It;var $t=C(at),H=C($t);let O;var ee=x(H,2),ke=C(ee);{var Je=Ie=>{var et=e9(),Zt=wt(et),bt=C(Zt),Oe=x(Zt,2),yt=C(Oe);X(()=>{G(bt,u(Pe).name),G(yt,`#${u(Pe).nodeId??""}`)}),T(Ie,et)},Ge=Ie=>{var et=t9(),Zt=C(et);X(()=>G(Zt,`Node ${u(Pe).nodeId??""}`)),T(Ie,et)};q(ke,Ie=>{u(Pe).name?Ie(Je):Ie(Ge,-1)})}var fe=x($t,2);X(()=>{var Ie;It=Kt(at,1,"svelte-1ua3isv",null,It,{selected:((Ie=u(Le))==null?void 0:Ie.nodeId)===u(Pe).nodeId}),O=Kt(H,1,"status-dot svelte-1ua3isv",null,O,{online:u(Pe).online})}),oe("click",$t,()=>Rt(u(Pe).nodeId)),oe("click",fe,()=>kt(u(Pe).nodeId)),T(Z,at)});var oi=x(Ht,2);{var Ut=Z=>{var Pe=n9();T(Z,Pe)};q(oi,Z=>{u(g).length===0&&Z(Ut)})}var mi=x(jn,2),An=C(mi);{var un=Z=>{var Pe=s9();T(Z,Pe)},ji=Z=>{var Pe=HD(),at=C(Pe);X(()=>G(at,u(Tt))),T(Z,Pe)},sn=Z=>{var Pe=T9(),at=wt(Pe),It=C(at),$t=C(It),H=x(It,2);{var O=Ge=>{var fe=o9(),Ie=C(fe);X(()=>G(Ie,u(Le).subtitle)),T(Ge,fe)};q(H,Ge=>{u(Le).subtitle&&Ge(O)})}var ee=x(H,2),ke=C(ee),Je=x(at,2);_i(Je,17,()=>u(Le).endpoints,Ge=>Ge.endpointId,(Ge,fe)=>{var Ie=P9(),et=C(Ie),Zt=C(et),bt=x(Zt),Oe=C(bt),yt=x(bt,2);_i(yt,21,()=>u(fe).clusters,En,(ii,te)=>{var he=r9(),Ce=C(he);X(()=>G(Ce,u(te).name)),T(ii,he)});var Xt=x(et,2);{var Yt=ii=>{var te=D9(),he=x(C(te));_i(he,21,()=>u(fe).clusters,En,(Ce,Ue)=>{var pt=I9(),Xe=wt(pt),Et=C(Xe),li=C(Et),hi=x(Xe,2);_i(hi,17,()=>Object.entries(u(Ue).attrs),En,(ni,Gi)=>{var vn=st(()=>ok(u(Gi),2));let Ri=()=>u(vn)[0],qt=()=>u(vn)[1];var $=Ds(),j=wt($);{var K=le=>{const De=st(()=>{var $e;return($e=t[u(Ue).name])==null?void 0:$e[Ri()]}),pe=st(()=>(Ri()==="acceptedCommandList"||Ri()==="generatedCommandList")&&Array.isArray(qt())),Fe=st(()=>{var $e;return(($e=c[u(Ue).name])==null?void 0:$e[Ri()])??a[Ri()]});var lt=k9(),Ve=C(lt),Ke=C(Ve),si=C(Ke),A=x(Ke);{var J=$e=>{var Vt=a9(),ai=C(Vt);X(be=>G(ai,`(${be??""})`),[()=>h(u(Fe))]),T($e,Vt)};q(A,$e=>{u(Fe)!==void 0&&$e(J)})}var He=x(Ve),dt=C(He);{var it=$e=>{var Vt=c9();_i(Vt,21,()=>u(De),En,(ai,be)=>{var qe=l9(),rt=C(qe);X(()=>G(rt,u(be).label)),oe("click",qe,()=>i(u(Le).nodeId,u(fe).endpointId,u(Ue).name,u(be).command,u(be).args)),T(ai,qe)}),T($e,Vt)};q(dt,$e=>{u(De)&&$e(it)})}var zt=x(He),Te=C(zt);{var me=$e=>{var Vt=f9();_i(Vt,21,()=>s(u(Ue).name,qt()),En,(ai,be,qe)=>{var rt=g9(),Wt=wt(rt);{var tt=Jt=>{var Bt=d9();T(Jt,Bt)};q(Wt,Jt=>{qe>0&&Jt(tt)})}var ui=x(Wt,2);{var ri=Jt=>{var Bt=h9(),Ui=wt(Bt),tn=C(Ui),bn=x(Ui),$n=C(bn);X(()=>{G(tn,u(be).name),G($n,`(${u(be).id??""})`)}),T(Jt,Bt)},Ti=Jt=>{var Bt=u9(),Ui=C(Bt);X(()=>G(Ui,u(be).id)),T(Jt,Bt)};q(ui,Jt=>{u(be).name?Jt(ri):Jt(Ti,-1)})}T(ai,rt)}),T($e,Vt)},xe=$e=>{var Vt=_9(),ai=x(C(Vt));_i(ai,21,qt,En,(be,qe)=>{const rt=st(()=>u(qe)),Wt=st(()=>u(rt).deviceType),tt=st(()=>r[u(Wt)]);var ui=m9(),ri=C(ui),Ti=C(ri);{var Jt=bn=>{var $n=p9(),In=wt($n),Ps=x(In),Ur=C(Ps);X(Eo=>{G(In,`${u(tt)??""} `),G(Ur,`(${Eo??""})`)},[()=>h(u(Wt))]),T(bn,$n)},Bt=bn=>{var $n=Rr();X(In=>G($n,In),[()=>h(u(Wt))]),T(bn,$n)};q(Ti,bn=>{u(tt)?bn(Jt):bn(Bt,-1)})}var Ui=x(ri),tn=C(Ui);X(bn=>G(tn,bn),[()=>v(u(rt).revision)]),T(be,ui)}),T($e,Vt)},Ze=st(()=>Ri()==="deviceTypeList"&&Array.isArray(qt())),Ee=$e=>{const Vt=st(()=>[...new Set(qt().flatMap(Wt=>Object.keys(Wt)))]);var ai=w9(),be=C(ai),qe=C(be);_i(qe,21,()=>u(Vt),En,(Wt,tt)=>{var ui=v9(),ri=C(ui);X(()=>G(ri,u(tt))),T(Wt,ui)});var rt=x(be);_i(rt,21,qt,En,(Wt,tt)=>{var ui=y9();_i(ui,21,()=>u(Vt),En,(ri,Ti)=>{var Jt=b9(),Bt=C(Jt);X(Ui=>G(Bt,Ui),[()=>v(u(tt)[u(Ti)])]),T(ri,Jt)}),T(Wt,ui)}),T($e,ai)},ve=st(()=>w(qt())),At=$e=>{var Vt=C9(),ai=C(Vt);_i(ai,21,()=>Object.entries(qt()),En,(be,qe)=>{var rt=st(()=>ok(u(qe),2));let Wt=()=>u(rt)[0],tt=()=>u(rt)[1];var ui=S9(),ri=C(ui),Ti=C(ri),Jt=x(ri),Bt=C(Jt);X(Ui=>{G(Ti,Wt()),G(Bt,Ui)},[()=>v(tt())]),T(be,ui)}),T($e,Vt)},Ne=st(()=>_(qt())),we=$e=>{var Vt=x9(),ai=C(Vt);X(()=>{Hn(Vt,"href",qt()),G(ai,qt())}),T($e,Vt)},xt=$e=>{var Vt=L9(),ai=C(Vt);X(be=>G(ai,be),[()=>v(qt())]),T($e,Vt)};q(Te,$e=>{u(pe)?$e(me):u(Ze)?$e(xe,1):u(ve)?$e(Ee,2):u(Ne)?$e(At,3):(Ri()==="productUrl"||Ri()==="productURL")&&typeof qt()=="string"?$e(we,4):$e(xt,-1)})}X(()=>{Hn(Ve,"title",Ri()),G(si,Ri())}),T(le,lt)},ue=st(()=>!S(qt(),Ri()));q(j,le=>{u(ue)&&le(K)})}T(ni,$)}),X(()=>G(li,u(Ue).name)),T(Ce,pt)}),T(ii,te)},ti=ii=>{var te=E9();T(ii,te)};q(Xt,ii=>{u(fe).clusters.length>0?ii(Yt):ii(ti,-1)})}X(()=>{G(Zt,`${u(fe).name??`Endpoint ${u(fe).endpointId}`??""} `),G(Oe,`ep${u(fe).endpointId??""}`)}),T(Ge,Ie)}),X(()=>{G($t,u(Le).name??`Node ${u(Le).nodeId}`),G(ke,`Node ID: ${u(Le).nodeId??""}`)}),T(Z,Pe)},Wn=Z=>{var Pe=M9();T(Z,Pe)};q(An,Z=>{u(gt)?Z(un):u(Tt)?Z(ji,1):u(Le)?Z(sn,2):Z(Wn,-1)})}var Ni=x(Nn,2),on=C(Ni),Bn=x(on,2),Jn=x(C(Bn),2);{var kn=Z=>{var Pe=N9(),at=C(Pe);X(()=>G(at,u(ie).length)),T(Z,Pe)};q(Jn,Z=>{!u(Y)&&u(ie).length>0&&Z(kn)})}var Xi=x(Jn,2),On=C(Xi),rn=x(Bn,2);{var Se=Z=>{var Pe=H9(),at=C(Pe);{var It=H=>{var O=R9();T(H,O)},$t=H=>{var O=Ds(),ee=wt(O);_i(ee,17,()=>u(_e),ke=>ke.id,(ke,Je)=>{const Ge=st(()=>{var Yt,ti;return((Yt=f.get(u(Je).nodeId))==null?void 0:Yt.name)??((ti=u(g).find(ii=>ii.nodeId===u(Je).nodeId))==null?void 0:ti.name)??null}),fe=st(()=>{var Yt,ti;return u(Je).endpointId!==void 0?((ti=(Yt=f.get(u(Je).nodeId))==null?void 0:Yt.endpoints.find(ii=>ii.endpointId===u(Je).endpointId))==null?void 0:ti.name)??null:null}),Ie=st(()=>u(Je).attrName??u(Je).clusterName);var et=F9(),Zt=C(et),bt=C(Zt),Oe=x(Zt,2);{var yt=Yt=>{var ti=A9(),ii=x(wt(ti),2),te=C(ii),he=x(te);{var Ce=Et=>{var li=Ow(),hi=x(wt(li)),ni=C(hi);X(()=>G(ni,`(#${u(Je).nodeId??""})`)),T(Et,li)};q(he,Et=>{u(Ge)&&Et(Ce)})}var Ue=x(ii,2);let pt;var Xe=C(Ue);X(()=>{G(te,u(Ge)??`#${u(Je).nodeId}`),pt=Kt(Ue,1,"e-val svelte-1ua3isv",null,pt,{"e-online":u(Je).online,"e-offline":!u(Je).online}),G(Xe,u(Je).online?"online":"offline")}),T(Yt,ti)},Xt=Yt=>{var ti=O9(),ii=x(wt(ti),2),te=C(ii),he=x(te);{var Ce=qt=>{var $=Ow(),j=x(wt($)),K=C(j);X(()=>G(K,`(#${u(Je).nodeId??""})`)),T(qt,$)};q(he,qt=>{u(Ge)&&qt(Ce)})}var Ue=x(ii,2),pt=C(Ue),Xe=x(pt);{var Et=qt=>{var $=Ow(),j=x(wt($)),K=C(j);X(()=>G(K,`(ep ${u(Je).endpointId??""})`)),T(qt,$)};q(Xe,qt=>{u(fe)&&qt(Et)})}var li=x(Ue,2),hi=C(li),ni=x(li,2),Gi=C(ni),vn=x(ni,2),Ri=C(vn);X(qt=>{G(te,u(Ge)??`#${u(Je).nodeId}`),G(pt,u(fe)??`ep${u(Je).endpointId}`),G(hi,u(Je).clusterName),G(Gi,u(Ie)),G(Ri,qt)},[()=>p(u(Je).value)]),T(Yt,ti)};q(Oe,Yt=>{u(Je).kind==="status"?Yt(yt):Yt(Xt,-1)})}X(Yt=>G(bt,Yt),[()=>D(u(Je).ts)]),T(ke,et)}),T(H,O)};q(at,H=>{u(_e).length===0?H(It):H($t,-1)})}T(Z,Pe)};q(rn,Z=>{u(Y)&&Z(Se)})}X(()=>{zo(Ni,u(Y)?`height: ${u(ge)}px;`:""),G(On,u(Y)?"▾":"▸")}),oe("click",Rn,()=>I(ft,!u(ft))),oe("mousedown",on,Ae),oe("click",Xi,()=>{I(Y,!u(Y))}),T(o,Vi),Do()}mr(["click","mousedown"]);var z9=R("<button>›</button>"),V9=R('<span class="chev-ph svelte-1vejtrc"></span>'),j9=R('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),U9=R('<div class="tc svelte-1vejtrc"></div>'),$9=R('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!></div> <!></div>'),q9=R("<option></option>"),K9=R('<span class="pub-ok svelte-1vejtrc">✓</span>'),G9=R('<span class="pub-err svelte-1vejtrc"> </span>'),Z9=R('<div class="info svelte-1vejtrc">Loading…</div>'),X9=R('<div class="info err svelte-1vejtrc"> </div>'),Y9=R('<div class="info svelte-1vejtrc">No topics match.</div>'),J9=R('<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>'),Q9=R('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),eX=R('<div class="info svelte-1vejtrc">No topics yet.</div>'),tX=R('<div class="tree-wrap svelte-1vejtrc"><!></div>'),iX=R('<span class="stream-badge"> </span>'),nX=R('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),sX=R('<span class="s-ret svelte-1vejtrc" title="retained snapshot">&#x229B;</span>'),oX=R('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),rX=R('<div class="stream-body svelte-1vejtrc"><!></div>'),aX=R('<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),lX=R('<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>'),cX=R('<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),dX=R('<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 hX(o,e){Io(e,!0);const t=(te,he=ey)=>{const Ce=st(()=>u(f).has(he().path)),Ue=st(()=>u(a)>=0&&he().children.size>0),pt=st(()=>u(a)>=0&&he().isLeaf&&!n.has(he().path));var Xe=$9(),Et=C(Xe);let li;var hi=C(Et);{var ni=le=>{var De=z9();let pe;X(()=>{pe=Kt(De,1,"chev svelte-1vejtrc",null,pe,{open:u(Ce)}),Hn(De,"aria-label",u(Ce)?"Collapse":"Expand")}),oe("click",De,()=>p(he().path)),T(le,De)},Gi=le=>{var De=V9();T(le,De)};q(hi,le=>{u(Ue)?le(ni):le(Gi,-1)})}var vn=x(hi,2),Ri=C(vn),qt=x(vn,2);{var $=le=>{var De=j9(),pe=wt(De),Fe=C(pe),lt=x(pe,2),Ve=C(lt);X((Ke,si,A)=>{Hn(pe,"title",Ke),G(Fe,si),G(Ve,A)},[()=>{var Ke;return hn((Ke=xn(he().path))==null?void 0:Ke.val)},()=>{var Ke;return hn((Ke=xn(he().path))==null?void 0:Ke.val)},()=>{var Ke;return((Ke=xn(he().path))==null?void 0:Ke.ts)!=null?Nn(xn(he().path).ts):""}]),T(le,De)},j=st(()=>he().isLeaf&&i.has(he().path));q(qt,le=>{u(j)&&le($)})}var K=x(Et,2);{var ue=le=>{var De=U9();_i(De,21,()=>[...he().children.values()].sort((pe,Fe)=>pe.seg.localeCompare(Fe.seg)),pe=>pe.path,(pe,Fe)=>{t(pe,()=>u(Fe))}),T(le,De)};q(K,le=>{u(Ue)&&u(Ce)&&le(ue)})}X(()=>{li=Kt(Et,1,"tr svelte-1vejtrc",null,li,{stale:u(pt)}),G(Ri,he().seg)}),oe("click",Et,()=>{I(gt,he().path+"/#")}),oe("contextmenu",Et,le=>{le.preventDefault(),I(ot,{x:le.clientX,y:le.clientY,topic:he().path},!0)}),T(te,Xe)},i=new Map,n=new Set,s=new Set;let r=null,a=V(0);function c(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const te of s)g(te);s.clear(),lk(a)}))}const h=new Map;function g(te){const he=te.split("/");let Ce=h,Ue="";for(let pt=0;pt<he.length;pt++){const Xe=he[pt];Ue=pt===0?Xe:`${Ue}/${Xe}`,Ce.has(Xe)||Ce.set(Xe,{seg:Xe,path:Ue,children:new Map,isLeaf:!1});const Et=Ce.get(Xe);pt===he.length-1&&(Et.isLeaf=!0),Ce=Et.children}}let f=V(wi(new Set));function p(te){const he=new Set(u(f));he.has(te)?he.delete(te):he.add(te),I(f,he,!0)}let v=V("");const _=24,w=5;let S=V(0),D=V(300),P=st(()=>{if(u(a),!u(v))return[];const te=u(v).toLowerCase().split(/\s+/).filter(Boolean),he=[];for(const[Ce,Ue]of i){const pt=Ce.toLowerCase();te.every(Xe=>pt.includes(Xe))&&he.push({topic:Ce,...Ue})}return he.sort((Ce,Ue)=>Ce.topic.localeCompare(Ue.topic))}),N=st(()=>{const te=u(P).length,he=Math.max(0,Math.floor(u(S)/_)-w),Ce=Math.min(te,Math.ceil((u(S)+u(D))/_)+w);return{start:he,end:Ce,totalH:te*_,top:he*_}});const z=1e3,F=200,ie=20,Y=36;let ge=0,_e=V(wi([])),Ae=V(wi([])),Le=V(!0),gt=V("#"),Tt=V(200);Dn(()=>{const te=u(gt).trim(),he=_l(()=>u(_e)),Ce=!te||te==="#"?he.slice(0,F):he.filter(Ue=>ft(te,Ue.topic)).slice(0,F);if(te&&te!=="#"){const Ue=new Set(Ce.map(Xe=>Xe.topic)),pt=[];for(const[Xe,Et]of i)Ue.has(Xe)||ft(te,Xe)&&pt.push({id:-(pt.length+1),topic:Xe,val:Et.val,ts:Et.ts,retained:!0});pt.sort((Xe,Et)=>Xe.topic.localeCompare(Et.topic)),I(Ae,[...Ce,...pt],!0)}else I(Ae,Ce,!0)});function ft(te,he){if(te==="#")return!0;const Ce=te.split("/"),Ue=he.split("/");for(let pt=0;pt<Ce.length;pt++){if(Ce[pt]==="#")return!0;if(pt>=Ue.length||Ce[pt]!=="+"&&Ce[pt]!==Ue[pt])return!1}return Ce.length===Ue.length}function mt(te){te.preventDefault();const he=te.clientY,Ce=u(Tt);function Ue(Xe){I(Tt,Math.max(60,Math.min(800,Ce+he-Xe.clientY)),!0)}function pt(){document.removeEventListener("mousemove",Ue),document.removeEventListener("mouseup",pt)}document.addEventListener("mousemove",Ue),document.addEventListener("mouseup",pt)}let ct=st(()=>{const te=Math.max(1,Math.floor((u(Tt)-Y)/ie)+1);return u(Ae).slice(0,te)}),Ot=V(!0),Me=V(null);async function Mt(){I(Ot,!0),I(Me,null);try{const te=await nR();for(const he of te)i.set(he.topic,{val:he.val,ts:he.ts}),g(he.topic)}catch(te){I(Me,te instanceof Error?te.message:String(te),!0)}finally{I(Ot,!1),lk(a)}}const je=Ul("mqtt",te=>{const{topic:he,val:Ce,ts:Ue}=te;i.set(he,{val:Ce,ts:Ue}),n.add(he),s.add(he),c();const pt={id:ge++,topic:he,val:Ce,ts:Ue};I(_e,[pt,...u(_e).slice(0,z-1)],!0);const Xe=u(gt).trim();(!Xe||Xe==="#"||ft(Xe,he))&&I(Ae,[pt,...u(Ae).filter(Et=>!(Et.retained&&Et.topic===he)).slice(0,F-1)],!0)});let ot=V(null),_t=V(null);async function pi(te,he){const Ce=[te];if(he){const Ue=te+"/";for(const pt of i.keys())pt.startsWith(Ue)&&Ce.push(pt)}for(const Ue of Ce)await lD(Ue,"",!0,0)}let Rt=st(()=>(u(a),[...i.keys()].sort())),Dt=V(""),kt=V(""),qi=V(!1),Ki=V(0),Mn=V(!1),cn=V(null),Vi=V(!1);async function dn(){if(u(Dt)){I(Mn,!0),I(cn,null),I(Vi,!1);try{await lD(u(Dt),u(kt),u(qi),u(Ki)),I(Vi,!0),setTimeout(()=>{I(Vi,!1)},2e3)}catch(te){I(cn,te instanceof Error?te.message:String(te),!0)}finally{I(Mn,!1)}}}function hn(te){return te==null?"":typeof te=="object"?JSON.stringify(te):String(te)}function Nn(te){return new Date(te).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function jn(te){return new Date(te).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function xn(te){return u(a),i.get(te)}let Rn=st(()=>(u(a),[...h.values()].sort((te,he)=>te.seg.localeCompare(he.seg)))),_n=st(()=>(u(a),i.size));Vr(Mt),oy(()=>{je(),r!==null&&cancelAnimationFrame(r)});var Un=dX(),Ye=x(C(Un),2),Ht=C(Ye),oi=C(Ht),Ut=x(oi,2);_i(Ut,20,()=>u(Rt),te=>te,(te,he)=>{var Ce=q9(),Ue={};X(()=>{Ue!==(Ue=he)&&(Ce.value=(Ce.__value=he)??"")}),T(te,Ce)});var mi=x(Ut,2),An=x(mi,2),un=C(An),ji=x(An,2),sn=C(ji);sn.value=sn.__value=0;var Wn=x(sn);Wn.value=Wn.__value=1;var Ni=x(Wn);Ni.value=Ni.__value=2;var on=x(ji,2),Bn=x(on,2);{var Jn=te=>{var he=K9();T(te,he)};q(Bn,te=>{u(Vi)&&te(Jn)})}var kn=x(Bn,2);{var Xi=te=>{var he=G9(),Ce=C(he);X(()=>G(Ce,u(cn))),T(te,he)};q(kn,te=>{u(cn)&&te(Xi)})}var On=x(Ht,2),rn=C(On),Se=x(rn,2),Z=C(Se);{var Pe=te=>{var he=Rr();X(()=>G(he,`${u(P).length??""} /`)),T(te,he)};q(Z,te=>{u(v)&&te(Pe)})}var at=x(Z),It=x(On,2);{var $t=te=>{var he=Z9();T(te,he)},H=te=>{var he=X9(),Ce=C(he);X(()=>G(Ce,u(Me))),T(te,he)},O=te=>{var he=Ds(),Ce=wt(he);{var Ue=Xe=>{var Et=Y9();T(Xe,Et)},pt=Xe=>{var Et=Q9(),li=C(Et),hi=C(li);_i(hi,21,()=>u(P).slice(u(N).start,u(N).end),ni=>ni.topic,(ni,Gi)=>{var vn=J9(),Ri=C(vn),qt=C(Ri),$=x(Ri,2),j=C($),K=x($,2),ue=C(K);X((le,De,pe)=>{G(qt,u(Gi).topic),Hn($,"title",le),G(j,De),G(ue,pe)},[()=>hn(u(Gi).val),()=>hn(u(Gi).val),()=>Nn(u(Gi).ts)]),T(ni,vn)}),X(()=>{zo(li,`height: ${u(N).totalH??""}px; position: relative;`),zo(hi,`top: ${u(N).top??""}px;`)}),es("scroll",Et,ni=>{I(S,ni.currentTarget.scrollTop,!0)}),yW(Et,"clientHeight",ni=>I(D,ni)),T(Xe,Et)};q(Ce,Xe=>{u(P).length===0?Xe(Ue):Xe(pt,-1)})}T(te,he)},ee=te=>{var he=tX(),Ce=C(he);{var Ue=Xe=>{var Et=eX();T(Xe,Et)},pt=Xe=>{var Et=Ds(),li=wt(Et);_i(li,17,()=>u(Rn),hi=>hi.path,(hi,ni)=>{t(hi,()=>u(ni))}),T(Xe,Et)};q(Ce,Xe=>{u(Rn).length===0?Xe(Ue):Xe(pt,-1)})}T(te,he)};q(It,te=>{u(Ot)?te($t):u(Me)?te(H,1):u(v)?te(O,2):te(ee,-1)})}var ke=x(Ye,2),Je=C(ke),Ge=x(Je,2),fe=C(Ge),Ie=x(fe,2);{var et=te=>{var he=iX(),Ce=C(he);X(()=>G(Ce,u(Ae).length)),T(te,he)};q(Ie,te=>{!u(Le)&&u(Ae).length>0&&te(et)})}var Zt=x(Ie,2),bt=C(Zt),Oe=x(Ge,2);{var yt=te=>{var he=rX(),Ce=C(he);{var Ue=Xe=>{var Et=nX();T(Xe,Et)},pt=Xe=>{var Et=Ds(),li=wt(Et);_i(li,17,()=>u(ct),hi=>hi.id,(hi,ni)=>{var Gi=oX();let vn;var Ri=C(Gi),qt=C(Ri),$=x(Ri,2);{var j=pe=>{var Fe=sX();T(pe,Fe)};q($,pe=>{u(ni).retained&&pe(j)})}var K=x($,2),ue=C(K),le=x(K,2),De=C(le);X((pe,Fe,lt)=>{vn=Kt(Gi,1,"sr svelte-1vejtrc",null,vn,{retained:u(ni).retained}),G(qt,pe),G(ue,u(ni).topic),Hn(le,"title",Fe),G(De,lt)},[()=>jn(u(ni).ts),()=>hn(u(ni).val),()=>hn(u(ni).val)]),T(hi,Gi)}),T(Xe,Et)};q(Ce,Xe=>{u(ct).length===0?Xe(Ue):Xe(pt,-1)})}T(te,he)};q(Oe,te=>{u(Le)&&te(yt)})}var Xt=x(ke,2);{var Yt=te=>{var he=aX(),Ce=wt(he),Ue=x(Ce,2);let pt;var Xe=C(Ue),Et=x(Xe,2);X(()=>pt=zo(Ue,"",pt,{left:`${u(ot).x??""}px`,top:`${u(ot).y??""}px`})),oe("click",Ce,()=>I(ot,null)),oe("contextmenu",Ce,li=>{li.preventDefault(),I(ot,null)}),oe("click",Xe,()=>{navigator.clipboard.writeText(u(ot).topic),I(ot,null)}),oe("click",Et,()=>{const li=u(ot).topic,hi=li+"/",ni=[...i.keys()].some(Gi=>Gi.startsWith(hi));I(_t,{topic:li,hasChildren:ni,recursive:!1},!0),I(ot,null)}),T(te,he)};q(Xt,te=>{u(ot)&&te(Yt)})}var ti=x(Xt,2);{var ii=te=>{var he=cX(),Ce=wt(he),Ue=x(Ce,2),pt=x(C(Ue),2),Xe=C(pt),Et=x(C(Xe)),li=C(Et),hi=x(Xe,2);{var ni=qt=>{var $=lX(),j=C($);qs(j,()=>u(_t).recursive,K=>u(_t).recursive=K),T(qt,$)};q(hi,qt=>{u(_t).hasChildren&&qt(ni)})}var Gi=x(pt,2),vn=C(Gi),Ri=x(vn,2);X(()=>G(li,u(_t).topic)),oe("click",Ce,()=>I(_t,null)),oe("click",vn,()=>I(_t,null)),oe("click",Ri,()=>{const{topic:qt,recursive:$}=u(_t);I(_t,null),pi(qt,$)}),T(te,he)};q(ti,te=>{u(_t)&&te(ii)})}X(()=>{on.disabled=u(Mn)||!u(Dt),G(at,` ${u(_n)??""}`),zo(ke,u(Le)?`height: ${u(Tt)}px;`:""),G(bt,u(Le)?"▾":"▸")}),Ei(oi,()=>u(Dt),te=>I(Dt,te)),Ei(mi,()=>u(kt),te=>I(kt,te)),qs(un,()=>u(qi),te=>I(qi,te)),ha(ji,()=>u(Ki),te=>I(Ki,te)),oe("click",on,dn),Ei(rn,()=>u(v),te=>I(v,te)),oe("mousedown",Je,mt),Ei(fe,()=>u(gt),te=>I(gt,te)),oe("click",Zt,()=>{I(Le,!u(Le))}),T(o,Un),Do()}mr(["click","contextmenu","mousedown"]);var uX=R('<div class="restart-banner svelte-twakcj">⚠ Package changes require a daemon restart to take effect. Use the ↺ button in the topbar.</div>'),gX=R('<div class="err svelte-twakcj"> </div>'),fX=R('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),pX=R('<p class="empty svelte-twakcj">No packages installed.</p>'),mX=R('<p class="empty svelte-twakcj">No match.</p>'),_X=R('<span class="dep-latest svelte-twakcj"> </span>'),vX=lT('<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>'),bX=lT('<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>'),yX=R('<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><!></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>'),wX=R('<span class="result-author svelte-twakcj"> </span>'),SX=R('<span class="result-date svelte-twakcj"> </span>'),CX=R('<span class="result-desc svelte-twakcj"> </span>'),xX=R('<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>'),LX=R('<div class="results-list svelte-twakcj"></div>'),kX=R('<pre class="npm-output svelte-twakcj"> </pre>'),IX=R(`<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>`),DX=R('<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>');function EX(o,e){Io(e,!0);let t=V(wi([])),i=V(""),n=V(wi({})),s=V(!1),r=V(""),a=V(wi([])),c=V(!1),h=V(!1),g=V(""),f=V(""),p=wi({});const v=st(()=>u(i).trim()?u(t).filter(Ye=>Ye.name.toLowerCase().includes(u(i).toLowerCase())):u(t)),_=st(()=>Object.keys(u(n)).length);Vr(async()=>{await Promise.all([w(),S()])});async function w(){try{I(t,await s8(),!0),I(g,"")}catch(Ye){I(g,Ye.message,!0)}}async function S(){try{I(n,await c8(),!0)}catch{}}async function D(){I(s,!0);try{I(n,await d8(),!0)}catch{}finally{I(s,!1)}}async function P(){const Ye=u(r).trim();if(!Ye){I(a,[],!0);return}I(h,!0),I(g,"");try{I(a,await o8(Ye),!0)}catch(Ht){I(g,Ht.message,!0)}finally{I(h,!1)}}function N(Ye){if(!Ye)return"";try{return new Date(Ye).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function z(Ye,Ht){p[Ye]=!0,I(g,""),I(f,"");try{const oi=await r8(Ye,Ht);I(f,oi.stdout||oi.stderr||"Done.",!0),I(c,!0),await w()}catch(oi){I(g,oi.message,!0)}finally{p[Ye]=!1}}async function F(Ye){p[Ye]=!0,I(g,""),I(f,"");try{const Ht=await a8(Ye);I(f,Ht.stdout||Ht.stderr||"Done.",!0),I(c,!0);const oi={...u(n)};delete oi[Ye],I(n,oi,!0),await w()}catch(Ht){I(g,Ht.message,!0)}finally{p[Ye]=!1}}async function ie(Ye){p[Ye]=!0,I(g,""),I(f,"");try{const Ht=await l8(Ye);I(f,Ht.stdout||Ht.stderr||"Done.",!0),I(c,!0);const oi={...u(n)};delete oi[Ye],I(n,oi,!0),await w()}catch(Ht){I(g,Ht.message,!0)}finally{p[Ye]=!1}}var Y=DX(),ge=C(Y);{var _e=Ye=>{var Ht=uX();T(Ye,Ht)};q(ge,Ye=>{u(c)&&Ye(_e)})}var Ae=x(ge,2);{var Le=Ye=>{var Ht=gX(),oi=C(Ht);X(()=>G(oi,u(g))),T(Ye,Ht)};q(Ae,Ye=>{u(g)&&Ye(Le)})}var gt=x(Ae,2),Tt=C(gt),ft=C(Tt),mt=x(C(ft),2),ct=C(mt),Ot=x(mt,2);{var Me=Ye=>{var Ht=fX(),oi=C(Ht);X(()=>G(oi,`${u(_)??""} outdated`)),T(Ye,Ht)};q(Ot,Ye=>{u(_)>0&&Ye(Me)})}var Mt=x(Ot,2),je=C(Mt);let ot;var _t=x(ft,2),pi=C(_t),Rt=x(_t,2),Dt=C(Rt);{var kt=Ye=>{var Ht=pX();T(Ye,Ht)},qi=Ye=>{var Ht=mX();T(Ye,Ht)},Ki=Ye=>{var Ht=Ds(),oi=wt(Ht);_i(oi,17,()=>u(v),Ut=>Ut.name,(Ut,mi)=>{var An=yX();let un;var ji=C(An),sn=C(ji),Wn=C(sn),Ni=x(sn,2),on=C(Ni),Bn=x(Ni,2);{var Jn=at=>{var It=_X(),$t=C(It);X(()=>G($t,`→ v${u(n)[u(mi).name].latest??""}`)),T(at,It)};q(Bn,at=>{u(n)[u(mi).name]&&at(Jn)})}var kn=x(ji,2),Xi=C(kn);let On;var rn=C(Xi);{var Se=at=>{var It=vX();T(at,It)},Z=at=>{var It=bX();T(at,It)};q(rn,at=>{p[u(mi).name]?at(Se):at(Z,-1)})}var Pe=x(Xi,2);X(()=>{un=Kt(An,1,"dep-row svelte-twakcj",null,un,{"dep-busy":!!p[u(mi).name]}),Hn(sn,"href",u(mi).url??`https://www.npmjs.com/package/${u(mi).name}`),G(Wn,u(mi).name),G(on,u(mi).installedVersion??u(mi).version),On=Kt(Xi,1,"icon-btn svelte-twakcj",null,On,{"icon-btn--update":!!u(n)[u(mi).name]}),Xi.disabled=!!p[u(mi).name],Hn(Xi,"title",u(n)[u(mi).name]?`Update to v${u(n)[u(mi).name].latest}`:"Update to latest"),Pe.disabled=!!p[u(mi).name]}),oe("click",Xi,()=>ie(u(mi).name)),oe("click",Pe,()=>F(u(mi).name)),T(Ut,An)}),T(Ye,Ht)};q(Dt,Ye=>{u(t).length===0?Ye(kt):u(v).length===0?Ye(qi,1):Ye(Ki,-1)})}var Mn=x(Tt,2),cn=x(C(Mn),2),Vi=C(cn),dn=x(Vi,2),hn=C(dn),Nn=x(cn,2);{var jn=Ye=>{var Ht=LX();_i(Ht,21,()=>u(a),oi=>oi.name,(oi,Ut)=>{var mi=xX(),An=C(mi),un=C(An),ji=C(un),sn=x(un,2),Wn=C(sn),Ni=x(sn,2);{var on=Se=>{var Z=wX(),Pe=C(Z);X(()=>G(Pe,u(Ut).author)),T(Se,Z)};q(Ni,Se=>{u(Ut).author&&Se(on)})}var Bn=x(Ni,2);{var Jn=Se=>{var Z=SX(),Pe=C(Z);X(at=>{Hn(Z,"title",u(Ut).date),G(Pe,at)},[()=>N(u(Ut).date)]),T(Se,Z)};q(Bn,Se=>{u(Ut).date&&Se(Jn)})}var kn=x(Bn,2);{var Xi=Se=>{var Z=CX(),Pe=C(Z);X(()=>G(Pe,u(Ut).description)),T(Se,Z)};q(kn,Se=>{u(Ut).description&&Se(Xi)})}var On=x(An,2),rn=C(On);X(()=>{Hn(un,"href",u(Ut).url??`https://www.npmjs.com/package/${u(Ut).name}`),G(ji,u(Ut).name),G(Wn,u(Ut).version),On.disabled=!!p[u(Ut).name],G(rn,p[u(Ut).name]?"Installing…":"Install")}),oe("click",On,()=>z(u(Ut).name)),T(oi,mi)}),T(Ye,Ht)};q(Nn,Ye=>{u(a).length>0&&Ye(jn)})}var xn=x(Nn,2);{var Rn=Ye=>{var Ht=kX(),oi=C(Ht);X(()=>G(oi,u(f))),T(Ye,Ht)};q(xn,Ye=>{u(f)&&Ye(Rn)})}var _n=x(xn,2);{var Un=Ye=>{var Ht=IX();T(Ye,Ht)};q(_n,Ye=>{!u(a).length&&!u(f)&&Ye(Un)})}X(()=>{G(ct,u(t).length),Mt.disabled=u(s),ot=Kt(je,0,"svelte-twakcj",null,ot,{spinning:u(s)}),dn.disabled=u(h),G(hn,u(h)?"Searching…":"Search")}),oe("click",Mt,D),Ei(pi,()=>u(i),Ye=>I(i,Ye)),oe("keydown",Vi,Ye=>Ye.key==="Enter"&&P()),Ei(Vi,()=>u(r),Ye=>I(r,Ye)),oe("click",dn,P),T(o,Y),Do()}mr(["click","keydown"]);var PX=R('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),TX=R('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),MX=R('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),NX=R('<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"><polyline points="4 4 4 10 10 10"></polyline><path d="M4 10A9 9 0 1 0 6.5 5"></path></svg> </button>'),RX=R('<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"></polyline><path d="M4 10A9 9 0 1 0 6.5 5"></path></svg> </button></div></div>'),AX=R('<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),OX=R('<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),FX=R('<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>'),HX=R('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),WX=R('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><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"><path d="M18.36 6.64a9 9 0 1 1-12.73 0"></path><line x1="12" y1="2" x2="12" y2="12"></line></svg> Restart daemon</button></div></div>'),BX=R('<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"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1="21" y1="12" x2="9" y2="12"></line></svg></button>'),zX=R('<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"><polyline points="5,3 1,8 5,13"></polyline><polyline points="11,3 15,8 11,13"></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"><rect x="0.75" y="0.75" width="14.5" height="14.5" rx="1"></rect><path d="M2,11 V5 H5 V11"></path><path d="M6,12 V5 H9 V8 H6"></path><path d="M10,11 V5 H15 V11"></path><line x1="12.5" y1="5" x2="12.5" y2="11"></line></svg> Packages</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" stroke="none" style="vertical-align: middle"><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"></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"><path d="M8,2 L8,7"></path><path d="M6,5 L8,7.5 L10,5"></path><path d="M2.5,14 L6,10"></path><path d="M6.2,12.8 L6,10 L3.2,10.2"></path><path d="M13.5,14 L10,10"></path><path d="M9.8,12.8 L10,10 L12.8,10.2"></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"><ellipse cx="8" cy="4.5" rx="5" ry="1.8"></ellipse><path d="M3,4.5 v7 a5,1.8 0,0,0 10,0 v-7"></path><path d="M3,8 a5,1.8 0,0,0 10,0"></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"><line x1="2" y1="5" x2="14" y2="5"></line><line x1="2" y1="8" x2="14" y2="8"></line><line x1="2" y1="11" x2="9" y2="11"></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"><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"></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"><line x1="18" y1="20" x2="18" y2="10"></line><line x1="12" y1="20" x2="12" y2="4"></line><line x1="6" y1="20" x2="6" y2="14"></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"><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"></path><circle cx="12" cy="12" r="3"></circle></svg></button> <!></div></nav> <main class="svelte-1n46o8q"><!> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div></main></div>'),VX=R('<div class="login-error svelte-1n46o8q"> </div>'),jX=R('<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>'),UX=R('<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"></polyline><path d="M4 10A9 9 0 1 0 6.5 5"></path></svg> Updating smart-home-engine…</div></div>'),$X=R("<!> <!> <!>",1);function qX(o,e){Io(e,!0);const t=["scripts","mqtt","matter","db","logs","config","packages"];function i(){const mt=location.hash.slice(1);return t.includes(mt)?mt:"scripts"}let n=V(wi(i())),s=V(null),r=V(!1),a=V(!1),c=V(!1),h=V(!1),g=V("none"),f=V(""),p=V(!1),v=V(""),_=V(""),w=V(!1),S=V(!1);W7(()=>{I(p,!0)});async function D(){I(_,""),I(w,!0);try{await V7(u(v)),I(v,""),I(p,!1)}catch(mt){I(_,mt.message??"Login failed",!0)}finally{I(w,!1)}}async function P(){if(u(g)==="proxy"&&u(f)){window.location.href=u(f);return}await j7(),I(p,!0)}let N=V(null);async function z(){if(await u(N).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))try{await G7(),setTimeout(()=>location.reload(),2500)}catch{}}async function F(){I(c,!0);try{const mt=await X7();u(s)&&I(s,{...u(s),latestVersion:mt.latestVersion??void 0},!0)}catch{}finally{I(c,!1)}}async function ie(){var Ot;if(!await u(N).show(`Update to v${(Ot=u(s))==null?void 0:Ot.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;I(a,!1),I(h,!0);try{await Z7()}catch{}let mt=!1;const ct=Date.now()+18e4;for(;Date.now()<ct;){await new Promise(Me=>setTimeout(Me,2e3));try{if(await Qx(),mt){location.reload();return}}catch{mt=!0}}location.reload()}function Y(mt){I(n,mt,!0),location.hash=mt}Vr(async()=>{location.hash||(location.hash=u(n));const mt=()=>{I(n,i(),!0)};window.addEventListener("hashchange",mt);try{const Me=await z7();I(g,Me.mode,!0),I(f,Me.proxyLogoutUrl??"",!0),u(g)==="password"&&(await fetch("/she/scripts")).status===401&&I(p,!0)}catch{}I(S,!0);async function ct(){try{I(s,await Qx(),!0)}catch{}}ct();const Ot=setInterval(ct,5e3);return()=>{window.removeEventListener("hashchange",mt),clearInterval(Ot)}});var ge=$X();es("click",zP,()=>{u(r)&&I(r,!1),u(a)&&I(a,!1)});var _e=wt(ge);{var Ae=mt=>{var ct=zX(),Ot=C(ct),Me=x(C(Ot),2);let Mt;var je=x(Me,2);let ot;var _t=x(je,2);let pi;var Rt=x(_t,2);let Dt;var kt=x(Rt,2);let qi;var Ki=x(kt,2);let Mn;var cn=x(Ki,4),Vi=x(C(cn),2),dn=C(Vi),hn=C(dn);hn.nodeValue="v0.24.1 ";var Nn=x(hn);{var jn=Ge=>{var fe=PX();T(Ge,fe)};q(Nn,Ge=>{var fe;(fe=u(s))!=null&&fe.latestVersion&&Ge(jn)})}var xn=x(dn,2);{var Rn=Ge=>{var fe=RX(),Ie=C(fe),et=x(C(Ie));et.textContent="v0.24.1";var Zt=x(et,2);{var bt=Ce=>{var Ue=TX(),pt=x(wt(Ue)),Xe=C(pt);X(()=>G(Xe,`v${u(s).latestVersion??""}`)),T(Ce,Ue)},Oe=Ce=>{var Ue=MX();T(Ce,Ue)};q(Zt,Ce=>{var Ue;(Ue=u(s))!=null&&Ue.latestVersion?Ce(bt):Ce(Oe,-1)})}var yt=x(Ie,2),Xt=C(yt);{var Yt=Ce=>{var Ue=NX(),pt=x(C(Ue));X(()=>G(pt,` Update to v${u(s).latestVersion??""}`)),oe("click",Ue,ie),T(Ce,Ue)};q(Xt,Ce=>{var Ue;(Ue=u(s))!=null&&Ue.latestVersion&&Ce(Yt)})}var ti=x(Xt,2),ii=C(ti);let te;var he=x(ii);X(()=>{ti.disabled=u(c),te=Kt(ii,0,"svelte-1n46o8q",null,te,{spinning:u(c)}),G(he,` ${u(c)?"Checking…":"Check for updates"}`)}),oe("click",fe,Ce=>Ce.stopPropagation()),oe("click",ti,F),T(Ge,fe)};q(xn,Ge=>{u(a)&&Ge(Rn)})}var _n=x(Vi,2),Un=C(_n),Ye=x(Un,2);{var Ht=Ge=>{var fe=WX(),Ie=C(fe);{var et=yt=>{var Xt=FX(),Yt=x(C(Xt)),ti=C(Yt),ii=x(Yt,3),te=C(ii),he=x(ii,3),Ce=C(he),Ue=x(he,2);{var pt=qt=>{var $=AX(),j=x(wt($)),K=C(j),ue=x(j,3),le=C(ue);X(()=>{G(K,u(s).matterNodes??0),G(le,u(s).matterEndpoints??0)}),T(qt,$)};q(Ue,qt=>{u(s).matterEnabled&&qt(pt)})}var Xe=x(Ue,2);{var Et=qt=>{var $=OX(),j=x(wt($)),K=C(j),ue=x(j,3),le=C(ue);X(()=>{G(K,u(s).dbDocs??"—"),G(le,u(s).dbViews??"—")}),T(qt,$)};q(Xe,qt=>{u(s).dbEnabled&&qt(Et)})}var li=x(Xe,3),hi=C(li),ni=x(li,3),Gi=C(ni),vn=x(ni,3),Ri=C(vn);X(()=>{G(ti,u(s).scripts),G(te,u(s).topics),G(Ce,u(s).mqttMsgPerSec??"—"),G(hi,u(s).handlers??"—"),G(Gi,u(s).memMb!=null?u(s).memMb+" MB":"—"),G(Ri,u(s).cpuPercent!=null?u(s).cpuPercent+" %":"—")}),T(yt,Xt)},Zt=yt=>{var Xt=HX();T(yt,Xt)};q(Ie,yt=>{u(s)?yt(et):yt(Zt,-1)})}var bt=x(Ie,2),Oe=C(bt);oe("click",fe,yt=>yt.stopPropagation()),oe("click",Oe,()=>{I(r,!1),z()}),T(Ge,fe)};q(Ye,Ge=>{u(r)&&Ge(Ht)})}var oi=x(_n,2);let Ut;var mi=x(oi,2);{var An=Ge=>{var fe=BX();oe("click",fe,P),T(Ge,fe)};q(mi,Ge=>{u(g)==="password"&&Ge(An)})}var un=x(Ot,2),ji=C(un);Ss(tm(ji,{}),Ge=>I(N,Ge,!0),()=>u(N));var sn=x(ji,2);let Wn;var Ni=C(sn);{let Ge=st(()=>u(n)==="scripts");nG(Ni,{get active(){return u(Ge)}})}var on=x(sn,2);let Bn;var Jn=C(on);EX(Jn,{});var kn=x(on,2);let Xi;var On=C(kn);hX(On,{});var rn=x(kn,2);let Se;var Z=C(rn);B9(Z,{});var Pe=x(rn,2);let at;var It=C(Pe);XZ(It,{});var $t=x(Pe,2);let H;var O=C($t);VG(O,{});var ee=x($t,2);let ke;var Je=C(ee);qG(Je,{}),X(()=>{Mt=Kt(Me,1,"svelte-1n46o8q",null,Mt,{active:u(n)==="scripts"}),ot=Kt(je,1,"svelte-1n46o8q",null,ot,{active:u(n)==="packages"}),pi=Kt(_t,1,"svelte-1n46o8q",null,pi,{active:u(n)==="mqtt"}),Dt=Kt(Rt,1,"svelte-1n46o8q",null,Dt,{active:u(n)==="matter"}),qi=Kt(kt,1,"svelte-1n46o8q",null,qi,{active:u(n)==="db"}),Mn=Kt(Ki,1,"svelte-1n46o8q",null,Mn,{active:u(n)==="logs"}),Ut=Kt(oi,1,"nav-settings svelte-1n46o8q",null,Ut,{active:u(n)==="config"}),Wn=Kt(sn,1,"page-wrap svelte-1n46o8q",null,Wn,{hidden:u(n)!=="scripts"}),Bn=Kt(on,1,"page-wrap svelte-1n46o8q",null,Bn,{hidden:u(n)!=="packages"}),Xi=Kt(kn,1,"page-wrap svelte-1n46o8q",null,Xi,{hidden:u(n)!=="mqtt"}),Se=Kt(rn,1,"page-wrap svelte-1n46o8q",null,Se,{hidden:u(n)!=="matter"}),at=Kt(Pe,1,"page-wrap svelte-1n46o8q",null,at,{hidden:u(n)!=="db"}),H=Kt($t,1,"page-wrap svelte-1n46o8q",null,H,{hidden:u(n)!=="config"}),ke=Kt(ee,1,"page-wrap svelte-1n46o8q",null,ke,{hidden:u(n)!=="logs"})}),oe("click",Me,()=>Y("scripts")),oe("click",je,()=>Y("packages")),oe("click",_t,()=>Y("mqtt")),oe("click",Rt,()=>Y("matter")),oe("click",kt,()=>Y("db")),oe("click",Ki,()=>Y("logs")),oe("click",dn,Ge=>{Ge.stopPropagation(),I(a,!u(a)),I(r,!1)}),oe("click",Un,Ge=>{Ge.stopPropagation(),I(r,!u(r)),I(a,!1)}),oe("click",oi,()=>Y("config")),T(mt,ct)};q(_e,mt=>{u(S)&&!u(p)&&mt(Ae)})}var Le=x(_e,2);{var gt=mt=>{var ct=jX(),Ot=C(ct),Me=x(C(Ot),4),Mt=x(C(Me),2),je=x(Me,2);{var ot=Rt=>{var Dt=VX(),kt=C(Dt);X(()=>G(kt,u(_))),T(Rt,Dt)};q(je,Rt=>{u(_)&&Rt(ot)})}var _t=x(je,2),pi=C(_t);X(()=>{Mt.disabled=u(w),_t.disabled=u(w)||!u(v),G(pi,u(w)?"Signing in…":"Sign in")}),es("submit",Ot,Rt=>{Rt.preventDefault(),D()}),Ei(Mt,()=>u(v),Rt=>I(v,Rt)),T(mt,ct)};q(Le,mt=>{u(p)&&mt(gt)})}var Tt=x(Le,2);{var ft=mt=>{var ct=UX();T(mt,ct)};q(Tt,mt=>{u(h)&&mt(ft)})}T(o,ge),Do()}mr(["click"]);rW(qX,{target:document.getElementById("app")});export{wT as t};