smart-home-engine 0.27.8 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,225 +0,0 @@
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-CbFYImR_.js"])))=>i.map(i=>d[i]);
2
- var rA=Object.defineProperty;var BL=o=>{throw TypeError(o)};var aA=(o,e,t)=>e in o?rA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Bi=(o,e,t)=>aA(o,typeof e!="symbol"?e+"":e,t),ew=(o,e,t)=>e.has(o)||BL("Cannot "+t);var ee=(o,e,t)=>(ew(o,e,"read from private field"),t?t.call(o):e.get(o)),Mi=(o,e,t)=>e.has(o)?BL("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),Ni=(o,e,t,i)=>(ew(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),Ln=(o,e,t)=>(ew(o,e,"access private method"),t);import{_ as eE,m as tE,l as xt,A as ro,C as le,I as Dn,D as zp,a as ns,g as iE,M as ct,b as Qt,E as Kr,c as M,r as Qi,d as mr,e as y,f as lA,h as wn,R as Ai,S as Kt,i as Vs,j as _r,k as Vi,n as vi,o as ne,p as Se,K as as,q as mt,s as Be,t as gs,u as z,v as Pi,O as ka,w as hs,P as Dt,x as tw,y as Vp,z as nE,B as nl,F as Gr,G as tS,H as xs,U as ln,J as Uu,L as Et,N as cl,Q as cA,T as to,V as iS,W as dA,X as sE,$ as pt,Y as $i,Z as zi,a0 as jn,a1 as di,a2 as Ro,a3 as Kf,a4 as He,a5 as l_,a6 as hA,a7 as uA,a8 as us,a9 as gA,aa as Zr,ab as ao,ac as Nt,ad as oE,ae as kn,af as fA,ag as pA,ah as no,ai as wg,aj as ls,ak as Xb,al as Xs,am as kc,an as k0,ao as Yb,ap as ws,aq as $u,ar as Ss,as as Jb,at as Qb,au as mA,av as jp,aw as Sg,ax as bl,ay as _A,az as Cg,aA as vA,aB as I0,aC as bA,aD as yA,aE as zL,aF as is,aG as sl,aH as Ys,aI as fi,aJ as Ja,aK as wA,aL as Pa,aM as To,aN as _s,aO as Xr,aP as D0,aQ as fs,aR as Jn,aS as A_,aT as gi,aU as rE,aV as SA,aW as E0,aX as ey,aY as P0,aZ as T0,a_ as sd,a$ as CA,b0 as M0,b1 as xA,b2 as N0,b3 as yl,b4 as wl,b5 as qu,b6 as Gf,b7 as bo,b8 as Up,b9 as O_,ba as iw,bb as gn,bc as R0,bd as $p,be as ty,bf as LA,bg as aE,bh as Zf,bi as Ku,bj as Xf,bk as qp,bl as iy,bm as Ui,bn as Ic,bo as Kp,bp as kA,bq as IA,br as A0,bs as DA,bt as F_,bu as Go,bv as O0,bw as Gu,bx as Sl,by as xg,bz as Ii,bA as Zu,bB as lE,bC as Gp,bD as EA,bE as od,bF as dt,bG as VL,bH as c_,bI as cE,bJ as yr,bK as Vr,bL as vn,bM as Xu,bN as dr,bO as Yu,bP as Vn,bQ as Yf,bR as wh,bS as nS,bT as dE,bU as hE,bV as uE,bW as F0,bX as go,bY as Yi,bZ as Zp,b_ as gE,b$ as ol,c0 as ny,c1 as PA,c2 as nu,c3 as jL,c4 as Xp,c5 as fE,c6 as su,c7 as TA,c8 as nr,c9 as sy,ca as MA,cb as lo,cc as Yr,cd as Yp,ce as Jf,cf as pE,cg as $o,ch as Jp,ci as oy,cj as NA,ck as RA,cl as AA,cm as Lg,cn as Ta,co as vs,cp as OA,cq as H0,cr as FA,cs as HA,ct as UL,cu as WA,cv as Qp,cw as dl,cx as sS,cy as ih,cz as hl,cA as BA,cB as Ia,cC as hr,cD as Io,cE as $L,cF as Us,cG as em,cH as _c,cI as Ma,cJ as zA,cK as Jr,cL as Qf,cM as ry,cN as mE,cO as VA,cP as jA,cQ as W0,cR as UA,cS as ep,cT as $A,cU as Ul,cV as tp,cW as qL,cX as qA,cY as KA,cZ as Aa,c_ as GA,c$ as B0,d0 as _E,d1 as vE,d2 as bE,d3 as yE,d4 as ZA,d5 as XA,d6 as wE,d7 as SE,d8 as YA,d9 as z0,da as JA,db as QA,dc as qn,dd as eO,de as V0,df as tO,dg as ou,dh as KL,di as iO,dj as nO,dk as sO,dl as oO,dm as rO,dn as aO,dp as Ju,dq as ay,dr as oS,ds as lO,dt as cO,du as GL,dv as rS,dw as dO,dx as ZL,dy as nw,dz as hO,dA as CE,dB as uO,dC as xE,dD as aS,dE as gO,dF as fO,dG as pO,dH as LE,dI as kE,dJ as mO,dK as H_,dL as IE,dM as ly,dN as _O,dO as vO,dP as vc,dQ as j0,dR as bO,dS as XL,dT as YL,dU as yO,dV as ru,dW as DE,dX as wO,dY as SO,dZ as CO,d_ as xO,d$ as EE,e0 as PE,e1 as TE,e2 as ME,e3 as LO,e4 as Da,e5 as JL,e6 as kO,e7 as tm,e8 as IO,e9 as cf,ea as NE,eb as QL,ec as ip,ed as RE,ee as W_,ef as DO,eg as AE,eh as EO,ei as OE,ej as PO,ek as TO,el as FE,em as HE,en as ul,eo as cy,ep as MO,eq as WE,er as Mo,es as rd,et as BE,eu as NO,ev as RO,ew as zE,ex as VE,ey as AO,ez as jE,eA as UE,eB as np,eC as OO,eD as FO,eE as HO,eF as WO,eG as Yg,eH as ek,eI as BO,eJ as zO,eK as VO,eL as B_,eM as Ds,eN as jO,eO as lS,eP as Sh,eQ as UO,eR as Ya,eS as $O,eT as qO,eU as $E,eV as KO,eW as If,eX as GO,eY as ZO,eZ as XO,e_ as YO,e$ as tk,f0 as ik,f1 as nk,f2 as Ch,f3 as U0,f4 as qE,f5 as cS,f6 as d_,f7 as KE,f8 as z_,f9 as JO,fa as QO,fb as e2,fc as t2,fd as $0,fe as GE,ff as i2,fg as V_,fh as ZE,fi as XE,fj as n2,fk as s2,fl as o2,fm as r2,fn as a2,fo as l2,fp as c2,fq as d2,fr as YE,fs as h2,ft as j_,fu as JE,fv as u2,fw as QE,fx as g2,fy as eP,fz as tP,fA as f2,fB as sk,fC as iP,fD as ok,fE as p2,fF as sw,fG as rk,fH as m2,fI as _2,fJ as v2,fK as va,fL as bc,fM as b2,fN as ak,fO as h_,fP as y2,fQ as Qa,fR as dy,fS as dS,fT as w2,fU as nP,fV as sP,fW as $s,fX as lk,fY as Mm,fZ as q0,f_ as S2,f$ as C2,g0 as x2,g1 as L2,g2 as k2,g3 as I2,g4 as D2,g5 as E2,g6 as ck,g7 as P2,g8 as T2,g9 as M2,ga as Qu,gb as Df,gc as oP,gd as N2,ge as K0,gf as u_,gg as Nm,gh as ow,gi as R2,gj as A2,gk as rP,gl as O2,gm as G0,gn as F2,go as H2,gp as aP,gq as hy,gr as W2,gs as U_,gt as Z0,gu as X0,gv as Y0,gw as lP,gx as cP,gy as dP,gz as hP,gA as uP,gB as gP,gC as fP,gD as dk,gE as pP,gF as Ah,gG as B2,gH as z2,gI as V2,gJ as j2,gK as mP,gL as U2,gM as $2,gN as hk,gO as hS,gP as Yl,gQ as q2,gR as K2,gS as G2,gT as Z2,gU as X2,gV as Y2,gW as uk,gX as J0,gY as uS,gZ as J2,g_ as gS,g$ as Q2,h0 as eF,h1 as tF,h2 as iF,h3 as Q0,h4 as _P,h5 as gk,h6 as fk,h7 as nF,h8 as sF,h9 as oF,ha as pk,hb as rw,hc as rF,hd as aF,he as lF,hf as aw,hg as vP,hh as bP,hi as yP,hj as wP,hk as gl,hl as SP,hm as e1,hn as mk,ho as cF,hp as CP,hq as dF,hr as hF,hs as uy,ht as gy,hu as xh,hv as fy,hw as im,hx as uF,hy as py,hz as gF,hA as fF,hB as pF,hC as xP,hD as Jg,hE as mF,hF as _F,hG as vF,hH as bF,hI as nm,hJ as yF,hK as LP,hL as kP,hM as IP,hN as fS,hO as wF,hP as SF,hQ as CF,hR as xF,hS as LF,hT as pS,hU as kF,hV as IF,hW as DF,hX as EF,hY as PF,hZ as TF,h_ as MF,h$ as NF,i0 as DP,i1 as RF,i2 as AF,i3 as OF,i4 as _k,i5 as FF,i6 as HF,i7 as Uc,i8 as Qo,i9 as WF,ia as BF}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 EP=!1;var t1=Array.isArray,zF=Array.prototype.indexOf,$_=Array.prototype.includes,my=Array.from,VF=Object.defineProperty,wu=Object.getOwnPropertyDescriptor,jF=Object.getOwnPropertyDescriptors,UF=Object.prototype,$F=Array.prototype,PP=Object.getPrototypeOf,vk=Object.isExtensible;const _y=()=>{};function qF(o){for(var e=0;e<o.length;e++)o[e]()}function TP(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function KF(o,e,t=!1){return o===void 0?t?e():e:o}function bk(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 Gs=2,eg=4,vy=8,MP=1<<24,jr=16,qr=32,yc=64,mS=128,fr=512,Es=1024,Os=2048,Na=4096,po=8192,pr=16384,kg=32768,_S=1<<25,tg=65536,q_=1<<17,GF=1<<18,Ig=1<<19,ZF=1<<20,Ca=1<<25,nh=65536,K_=1<<21,Su=1<<22,Jl=1<<23,ad=Symbol("$state"),XF=Symbol("legacy props"),YF=Symbol(""),g_=Symbol("attributes"),vS=Symbol("class"),bS=Symbol("style"),df=Symbol("text"),f_=Symbol("form reset"),by=new class extends Error{constructor(){super(...arguments);Bi(this,"name","StaleReactionError");Bi(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function NP(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function JF(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function QF(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function eH(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function tH(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function iH(o){throw new Error("https://svelte.dev/e/effect_orphan")}function nH(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function sH(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function oH(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function rH(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function aH(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function lH(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const cH=1,dH=2,RP=4,hH=8,uH=16,gH=1,fH=4,pH=8,mH=16,_H=1,vH=2,Is=Symbol("uninitialized"),AP="http://www.w3.org/1999/xhtml",bH="http://www.w3.org/2000/svg",yH="http://www.w3.org/1998/Math/MathML";function wH(){console.warn("https://svelte.dev/e/derived_inert")}function SH(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function CH(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function OP(o){return o===this.v}function xH(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function FP(o){return!xH(o,this.v)}let LH=!1,Ks=null;function ig(o){Ks=o}function Oo(o,e=!1,t){Ks={p:Ks,i:!1,c:null,e:null,s:o,x:null,r:Ji,l:null}}function Fo(o){var e=Ks,t=e.e;if(t!==null){e.e=null;for(var i of t)oT(i)}return o!==void 0&&(e.x=o),e.i=!0,Ks=e.p,o??{}}function HP(){return!0}let Zc=[];function WP(){var o=Zc;Zc=[],qF(o)}function Ql(o){if(Zc.length===0&&!Pf){var e=Zc;queueMicrotask(()=>{e===Zc&&WP()})}Zc.push(o)}function kH(){for(;Zc.length>0;)WP()}function BP(o){var e=Ji;if(e===null)return Xi.f|=Jl,o;if((e.f&kg)===0&&(e.f&eg)===0)throw o;$l(o,e)}function $l(o,e){for(;e!==null;){if((e.f&mS)!==0){if((e.f&kg)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const IH=-7169;function ps(o,e){o.f=o.f&IH|e}function i1(o){(o.f&fr)!==0||o.deps===null?ps(o,Es):ps(o,Na)}function zP(o){if(o!==null)for(const e of o)(e.f&Gs)===0||(e.f&nh)===0||(e.f^=nh,zP(e.deps))}function VP(o,e,t){(o.f&Os)!==0?e.add(o):(o.f&Na)!==0&&t.add(o),zP(o.deps),ps(o,Es)}let Rm=!1;function DH(o){var e=Rm;try{return Rm=!1,[o(),Rm]}finally{Rm=e}}let lw=null,Oh=null,ui=null,Ef=null,js=null,yS=null,Pf=!1,cw=!1,au=null,p_=null;var yk=0;let EH=1;var ku,zl,Qc,Iu,Du,Eu,Ka,Pu,xo,Ap,Ga,Nr,fa,Tu,ed,Kn,wS,hf,SS,jP,UP,Yh,PH,uf;const nb=class nb{constructor(){Mi(this,Kn);Bi(this,"id",EH++);Mi(this,ku,!1);Bi(this,"linked",!0);Mi(this,zl,null);Mi(this,Qc,null);Bi(this,"async_deriveds",new Map);Bi(this,"current",new Map);Bi(this,"previous",new Map);Mi(this,Iu,new Set);Mi(this,Du,new Set);Mi(this,Eu,0);Mi(this,Ka,new Map);Mi(this,Pu,null);Mi(this,xo,[]);Mi(this,Ap,[]);Mi(this,Ga,new Set);Mi(this,Nr,new Set);Mi(this,fa,new Map);Mi(this,Tu,new Set);Bi(this,"is_fork",!1);Mi(this,ed,!1);Oh===null?lw=Oh=this:(Ni(Oh,Qc,this),Ni(this,zl,Oh)),Oh=this}skip_effect(e){ee(this,fa).has(e)||ee(this,fa).set(e,{d:[],m:[]}),ee(this,Tu).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=ee(this,fa).get(e);if(i){ee(this,fa).delete(e);for(var n of i.d)ps(n,Os),t(n);for(n of i.m)ps(n,Na),t(n)}ee(this,Tu).add(e)}capture(e,t,i=!1){e.v!==Is&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&Jl)===0&&(this.current.set(e,[t,i]),js==null||js.set(e,t)),this.is_fork||(e.v=t)}activate(){ui=this}deactivate(){ui=null,js=null}flush(){try{cw=!0,ui=this,Ln(this,Kn,hf).call(this)}finally{yk=0,yS=null,au=null,p_=null,cw=!1,ui=null,js=null,ld.clear()}}discard(){var e;for(const t of ee(this,Du))t(this);ee(this,Du).clear(),Ln(this,Kn,uf).call(this),(e=ee(this,Pu))==null||e.resolve()}register_created_effect(e){ee(this,Ap).push(e)}increment(e,t){if(Ni(this,Eu,ee(this,Eu)+1),e){let i=ee(this,Ka).get(t)??0;ee(this,Ka).set(t,i+1)}}decrement(e,t){if(Ni(this,Eu,ee(this,Eu)-1),e){let i=ee(this,Ka).get(t)??0;i===1?ee(this,Ka).delete(t):ee(this,Ka).set(t,i-1)}ee(this,ed)||(Ni(this,ed,!0),Ql(()=>{Ni(this,ed,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)ee(this,Ga).add(i);for(const i of t)ee(this,Nr).add(i);e.clear(),t.clear()}oncommit(e){ee(this,Iu).add(e)}ondiscard(e){ee(this,Du).add(e)}settled(){return(ee(this,Pu)??Ni(this,Pu,TP())).promise}static ensure(){if(ui===null){const e=ui=new nb;!cw&&!Pf&&Ql(()=>{ee(e,ku)||e.flush()})}return ui}apply(){{js=null;return}}schedule(e){var n;if(yS=e,(n=e.b)!=null&&n.is_pending&&(e.f&(eg|vy|MP))!==0&&(e.f&kg)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(au!==null&&t===Ji&&(Xi===null||(Xi.f&Gs)===0))return;if((i&(yc|qr))!==0){if((i&Es)===0)return;t.f^=Es}}ee(this,xo).push(t)}};ku=new WeakMap,zl=new WeakMap,Qc=new WeakMap,Iu=new WeakMap,Du=new WeakMap,Eu=new WeakMap,Ka=new WeakMap,Pu=new WeakMap,xo=new WeakMap,Ap=new WeakMap,Ga=new WeakMap,Nr=new WeakMap,fa=new WeakMap,Tu=new WeakMap,ed=new WeakMap,Kn=new WeakSet,wS=function(){if(this.is_fork)return!0;for(const i of ee(this,Ka).keys()){for(var e=i,t=!1;e.parent!==null;){if(ee(this,fa).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},hf=function(){var c,h,g,f;Ni(this,ku,!0),yk++>1e3&&(Ln(this,Kn,uf).call(this),MH());for(const p of ee(this,Ga))ee(this,Nr).delete(p),ps(p,Os),this.schedule(p);for(const p of ee(this,Nr))ps(p,Na),this.schedule(p);const e=ee(this,xo);Ni(this,xo,[]),this.apply();var t=au=[],i=[],n=p_=[];for(const p of e)try{Ln(this,Kn,SS).call(this,p,t,i)}catch(v){throw KP(p),Ln(this,Kn,wS).call(this)||this.discard(),v}if(ui=null,n.length>0){var s=nb.ensure();for(const p of n)s.schedule(p)}if(au=null,p_=null,Ln(this,Kn,wS).call(this)){Ln(this,Kn,Yh).call(this,i),Ln(this,Kn,Yh).call(this,t);for(const[p,v]of ee(this,fa))qP(p,v);n.length>0&&Ln(c=ui,Kn,hf).call(c);return}const r=Ln(this,Kn,jP).call(this);if(r){Ln(this,Kn,Yh).call(this,i),Ln(this,Kn,Yh).call(this,t),Ln(h=r,Kn,UP).call(h,this);return}ee(this,Ga).clear(),ee(this,Nr).clear();for(const p of ee(this,Iu))p(this);ee(this,Iu).clear(),Ef=this,wk(i),wk(t),Ef=null,(g=ee(this,Pu))==null||g.resolve();var a=ui;if(ee(this,Eu)===0&&(ee(this,xo).length===0||a!==null)&&Ln(this,Kn,uf).call(this),ee(this,xo).length>0)if(a!==null){const p=a;ee(p,xo).push(...ee(this,xo).filter(v=>!ee(p,xo).includes(v)))}else a=this;a!==null&&Ln(f=a,Kn,hf).call(f)},SS=function(e,t,i){e.f^=Es;for(var n=e.first;n!==null;){var s=n.f,r=(s&(qr|yc))!==0,a=r&&(s&Es)!==0,c=a||(s&po)!==0||ee(this,fa).has(n);if(!c&&n.fn!==null){r?n.f^=Es:(s&eg)!==0?t.push(n):om(n)&&((s&jr)!==0&&ee(this,Nr).add(n),sg(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}}},jP=function(){for(var e=ee(this,zl);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=ee(e,zl)}return null},UP=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(ee(e,Ga),ee(e,Nr));const t=n=>{var s=n.reactions;if(s!==null)for(const c of s){var r=c.f;if((r&Gs)!==0)t(c);else{var a=c;r&(Su|jr)&&!this.async_deriveds.has(a)&&(ee(this,Nr).delete(a),ps(a,Os),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),Ln(i=e,Kn,uf).call(i),ui=this,Ln(this,Kn,hf).call(this)},Yh=function(e){for(var t=0;t<e.length;t+=1)VP(e[t],ee(this,Ga),ee(this,Nr))},PH=function(){var g;for(let f=lw;f!==null;f=ee(f,Qc)){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(ee(f,ku)){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 ee(this,Tu))f.unskip_effect(p,v=>{var _;(v.f&(jr|Su))!==0?f.schedule(v):Ln(_=f,Kn,Yh).call(_,[v])});f.activate();var s=new Set,r=new Map;for(var a of t)$P(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 ee(this,Ap))(p.f&(pr|po|q_))===0&&n1(p,c,r)&&((p.f&(Su|jr))!==0?(ps(p,Os),f.schedule(p)):ee(f,Ga).add(p));if(ee(f,xo).length>0&&!ee(f,ed)){f.apply();for(var h of ee(f,xo))Ln(g=f,Kn,SS).call(g,h,[],[]);Ni(f,xo,[])}f.deactivate()}}}},uf=function(){if(this.linked){var e=ee(this,zl),t=ee(this,Qc);e===null?lw=t:Ni(e,Qc,t),t===null?Oh=e:Ni(t,zl,e),this.linked=!1}};let sh=nb;function TH(o){var e=Pf;Pf=!0;try{for(var t;;){if(kH(),ui===null)return t;ui.flush()}}finally{Pf=e}}function MH(){try{nH()}catch(o){$l(o,yS)}}let Pr=null;function wk(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(pr|po))===0&&om(i)&&(Pr=new Set,sg(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&lT(i),(Pr==null?void 0:Pr.size)>0)){ld.clear();for(const n of Pr){if((n.f&(pr|po))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)Pr.has(r)&&(Pr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const c=s[a];(c.f&(pr|po))===0&&sg(c)}}Pr.clear()}}Pr=null}}function $P(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&Gs)!==0?$P(n,e,t,i):(s&(Su|jr))!==0&&(s&Os)===0&&n1(n,e,i)&&(ps(n,Os),s1(n))}}function n1(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($_.call(e,n))return!0;if((n.f&Gs)!==0&&n1(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function s1(o){ui.schedule(o)}function qP(o,e){if(!((o.f&qr)!==0&&(o.f&Es)!==0)){(o.f&Os)!==0?e.d.push(o):(o.f&Na)!==0&&e.m.push(o),ps(o,Es);for(var t=o.first;t!==null;)qP(t,e),t=t.next}}function KP(o){ps(o,Es);for(var e=o.first;e!==null;)KP(e),e=e.next}function NH(o){let e=0,t=oh(0),i;return()=>{l1()&&(u(t),wy(()=>(e===0&&(i=xl(()=>o(()=>Tf(t)))),e+=1,()=>{Ql(()=>{e-=1,e===0&&(i==null||i(),i=void 0,Tf(t))})})))}}var RH=tg|Ig;function AH(o,e,t,i){new OH(o,e,t,i)}var or,L0,rr,td,Lo,ar,ho,zo,Za,id,Vl,Mu,Op,Fp,Xa,sb,ms,FH,HH,WH,CS,m_,__,xS,LS;class OH{constructor(e,t,i,n){Mi(this,ms);Bi(this,"parent");Bi(this,"is_pending",!1);Bi(this,"transform_error");Mi(this,or);Mi(this,L0,null);Mi(this,rr);Mi(this,td);Mi(this,Lo);Mi(this,ar,null);Mi(this,ho,null);Mi(this,zo,null);Mi(this,Za,null);Mi(this,id,0);Mi(this,Vl,0);Mi(this,Mu,!1);Mi(this,Op,new Set);Mi(this,Fp,new Set);Mi(this,Xa,null);Mi(this,sb,NH(()=>(Ni(this,Xa,oh(ee(this,id))),()=>{Ni(this,Xa,null)})));var s;Ni(this,or,e),Ni(this,rr,t),Ni(this,td,r=>{var a=Ji;a.b=this,a.f|=mS,i(r)}),this.parent=Ji.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),Ni(this,Lo,h1(()=>{Ln(this,ms,CS).call(this)},RH))}defer_effect(e){VP(e,ee(this,Op),ee(this,Fp))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!ee(this,rr).pending}update_pending_count(e,t){Ln(this,ms,xS).call(this,e,t),Ni(this,id,ee(this,id)+e),!(!ee(this,Xa)||ee(this,Mu))&&(Ni(this,Mu,!0),Ql(()=>{Ni(this,Mu,!1),ee(this,Xa)&&ng(ee(this,Xa),ee(this,id))}))}get_effect_pending(){return ee(this,sb).call(this),u(ee(this,Xa))}error(e){if(!ee(this,rr).onerror&&!ee(this,rr).failed)throw e;ui!=null&&ui.is_fork?(ee(this,ar)&&ui.skip_effect(ee(this,ar)),ee(this,ho)&&ui.skip_effect(ee(this,ho)),ee(this,zo)&&ui.skip_effect(ee(this,zo)),ui.oncommit(()=>{Ln(this,ms,LS).call(this,e)})):Ln(this,ms,LS).call(this,e)}}or=new WeakMap,L0=new WeakMap,rr=new WeakMap,td=new WeakMap,Lo=new WeakMap,ar=new WeakMap,ho=new WeakMap,zo=new WeakMap,Za=new WeakMap,id=new WeakMap,Vl=new WeakMap,Mu=new WeakMap,Op=new WeakMap,Fp=new WeakMap,Xa=new WeakMap,sb=new WeakMap,ms=new WeakSet,FH=function(){try{Ni(this,ar,lr(()=>ee(this,td).call(this,ee(this,or))))}catch(e){this.error(e)}},HH=function(e){const t=ee(this,rr).failed;t&&Ni(this,zo,lr(()=>{t(ee(this,or),()=>e,()=>()=>{})}))},WH=function(){const e=ee(this,rr).pending;e&&(this.is_pending=!0,Ni(this,ho,lr(()=>e(ee(this,or)))),Ql(()=>{var t=Ni(this,Za,document.createDocumentFragment()),i=rl();t.append(i),Ni(this,ar,Ln(this,ms,__).call(this,()=>lr(()=>ee(this,td).call(this,i)))),ee(this,Vl)===0&&(ee(this,or).before(t),Ni(this,Za,null),dd(ee(this,ho),()=>{Ni(this,ho,null)}),Ln(this,ms,m_).call(this,ui))}))},CS=function(){try{if(this.is_pending=this.has_pending_snippet(),Ni(this,Vl,0),Ni(this,id,0),Ni(this,ar,lr(()=>{ee(this,td).call(this,ee(this,or))})),ee(this,Vl)>0){var e=Ni(this,Za,document.createDocumentFragment());g1(ee(this,ar),e);const t=ee(this,rr).pending;Ni(this,ho,lr(()=>t(ee(this,or))))}else Ln(this,ms,m_).call(this,ui)}catch(t){this.error(t)}},m_=function(e){this.is_pending=!1,e.transfer_effects(ee(this,Op),ee(this,Fp))},__=function(e){var t=Ji,i=Xi,n=Ks;Ra(ee(this,Lo)),vr(ee(this,Lo)),ig(ee(this,Lo).ctx);try{return sh.ensure(),e()}catch(s){return BP(s),null}finally{Ra(t),vr(i),ig(n)}},xS=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&Ln(i=this.parent,ms,xS).call(i,e,t);return}Ni(this,Vl,ee(this,Vl)+e),ee(this,Vl)===0&&(Ln(this,ms,m_).call(this,t),ee(this,ho)&&dd(ee(this,ho),()=>{Ni(this,ho,null)}),ee(this,Za)&&(ee(this,or).before(ee(this,Za)),Ni(this,Za,null)))},LS=function(e){ee(this,ar)&&(No(ee(this,ar)),Ni(this,ar,null)),ee(this,ho)&&(No(ee(this,ho)),Ni(this,ho,null)),ee(this,zo)&&(No(ee(this,zo)),Ni(this,zo,null));var t=ee(this,rr).onerror;let i=ee(this,rr).failed;var n=!1,s=!1;const r=()=>{if(n){CH();return}n=!0,s&&lH(),ee(this,zo)!==null&&dd(ee(this,zo),()=>{Ni(this,zo,null)}),Ln(this,ms,__).call(this,()=>{Ln(this,ms,CS).call(this)})},a=c=>{try{s=!0,t==null||t(c,r),s=!1}catch(h){$l(h,ee(this,Lo)&&ee(this,Lo).parent)}i&&Ni(this,zo,Ln(this,ms,__).call(this,()=>{try{return lr(()=>{var h=Ji;h.b=this,h.f|=mS,i(ee(this,or),()=>c,()=>r)})}catch(h){return $l(h,ee(this,Lo).parent),null}}))};Ql(()=>{var c;try{c=this.transform_error(e)}catch(h){$l(h,ee(this,Lo)&&ee(this,Lo).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(a,h=>$l(h,ee(this,Lo)&&ee(this,Lo).parent)):a(c)})};function BH(o,e,t,i){const n=sp;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=Ji,a=zH(),c=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function h(p){if((r.f&pr)===0){a();try{i(p)}catch(v){$l(v,r)}G_()}}var g=GP();if(t.length===0){c.then(()=>h(e.map(n))).finally(g);return}function f(){Promise.all(t.map(p=>VH(p))).then(p=>h([...e.map(n),...p])).catch(p=>$l(p,r)).finally(g)}c?c.then(()=>{a(),f(),G_()}):f()}function zH(){var o=Ji,e=Xi,t=Ks,i=ui;return function(s=!0){Ra(o),vr(e),ig(t),s&&(o.f&pr)===0&&(i==null||i.activate(),i==null||i.apply())}}function G_(o=!0){Ra(null),vr(null),ig(null),o&&(ui==null||ui.deactivate())}function GP(){var o=Ji,e=o.b,t=ui,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 sp(o){var e=Gs|Os;return Ji!==null&&(Ji.f|=Ig),{ctx:Ks,deps:null,effects:null,equals:OP,f:e,fn:o,reactions:null,rv:0,v:Is,wv:0,parent:Ji,ac:null}}const Am=Symbol("obsolete");function VH(o,e,t){let i=Ji;i===null&&JF();var n=void 0,s=oh(Is),r=!Xi,a=new Set;return eW(()=>{var v,_;var c=Ji,h=TP();n=h.promise;try{Promise.resolve(o()).then(h.resolve,w=>{w!==by&&h.reject(w)}).finally(G_)}catch(w){h.reject(w),G_()}var g=ui;if(r){if((c.f&kg)!==0)var f=GP();if((v=i.b)!=null&&v.is_rendered())(_=g.async_deriveds.get(c))==null||_.reject(Am);else for(const w of a.values())w.reject(Am);a.add(h),g.async_deriveds.set(c,h)}const p=(w,S=void 0)=>{f==null||f(),a.delete(h),S!==Am&&(g.activate(),S?(s.f|=Jl,ng(s,S)):((s.f&Jl)!==0&&(s.f^=Jl),ng(s,w)),g.deactivate())};h.promise.then(p,w=>p(null,w||"unknown"))}),c1(()=>{for(const c of a)c.reject(Am)}),new Promise(c=>{function h(g){function f(){g===n?c(s):h(n)}g.then(f,f)}h(n)})}function rt(o){const e=sp(o);return hT(e),e}function o1(o){const e=sp(o);return e.equals=FP,e}function jH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)No(e[t])}}function r1(o){var e,t=Ji,i=o.parent;if(!fl&&i!==null&&o.v!==Is&&(i.f&(pr|po))!==0)return wH(),o.v;Ra(i);try{o.f&=~nh,jH(o),e=pT(o)}finally{Ra(t)}return e}function ZP(o){var e=r1(o);if(!o.equals(e)&&(o.wv=gT(),(!(ui!=null&&ui.is_fork)||o.deps===null)&&(ui!==null?(ui.capture(o,e,!0),Ef==null||Ef.capture(o,e,!0)):o.v=e,o.deps===null))){ps(o,Es);return}fl||(js!==null?(l1()||ui!=null&&ui.is_fork)&&js.set(o,e):i1(o))}function UH(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(by),i.fn!==null&&(i.teardown=_y),i.ac=null,op(i,0),u1(i))}function XP(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&sg(e)}let Z_=new Set;const ld=new Map;let YP=!1;function oh(o,e){var t={f:0,v:o,reactions:null,equals:OP,rv:0,wv:0};return t}function B(o,e){const t=oh(o);return hT(t),t}function $H(o,e=!1,t=!0){const i=oh(o);return e||(i.equals=FP),i}function k(o,e,t=!1){Xi!==null&&(!Ur||(Xi.f&q_)!==0)&&HP()&&(Xi.f&(Gs|jr|Su|q_))!==0&&(Ea===null||!Ea.has(o))&&aH();let i=t?_i(e):e;return ng(o,i,p_)}function ng(o,e,t=null){if(!o.equals(e)){ld.set(o,fl?e:o.v);var i=sh.ensure();if(i.capture(o,e),(o.f&Gs)!==0){const n=o;(o.f&Os)!==0&&r1(n),js===null&&i1(n)}o.wv=gT(),JP(o,Os,t),Ji!==null&&(Ji.f&Es)!==0&&(Ji.f&(qr|yc))===0&&(sr===null?iW([o]):sr.push(o)),!i.is_fork&&Z_.size>0&&!YP&&qH()}return e}function qH(){YP=!1;for(const o of Z_){(o.f&Es)!==0&&ps(o,Na);let e;try{e=om(o)}catch{e=!0}e&&sg(o)}Z_.clear()}function Sk(o,e=1){var t=u(o),i=e===1?t++:t--;return k(o,t),i}function Tf(o){k(o,o.v+1)}function JP(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&Os)===0;if(c&&ps(r,e),(a&q_)!==0)Z_.add(r);else if((a&Gs)!==0){var h=r;js==null||js.delete(h),(a&nh)===0&&(a&fr&&(Ji===null||(Ji.f&K_)===0)&&(r.f|=nh),JP(h,Na,t))}else if(c){var g=r;(a&jr)!==0&&Pr!==null&&Pr.add(g),t!==null?t.push(g):s1(g)}}}function _i(o){if(typeof o!="object"||o===null||ad in o)return o;const e=PP(o);if(e!==UF&&e!==$F)return o;var t=new Map,i=t1(o),n=B(0),s=hd,r=a=>{if(hd===s)return a();var c=Xi,h=hd;vr(null),kk(s);var g=a();return vr(c),kk(h),g};return i&&t.set("length",B(o.length)),new Proxy(o,{defineProperty(a,c,h){(!("value"in h)||h.configurable===!1||h.enumerable===!1||h.writable===!1)&&oH();var g=t.get(c);return g===void 0?r(()=>{var f=B(h.value);return t.set(c,f),f}):k(g,h.value,!0),!0},deleteProperty(a,c){var h=t.get(c);if(h===void 0){if(c in a){const g=r(()=>B(Is));t.set(c,g),Tf(n)}}else k(h,Is),Tf(n);return!0},get(a,c,h){var v;if(c===ad)return o;var g=t.get(c),f=c in a;if(g===void 0&&(!f||(v=wu(a,c))!=null&&v.writable)&&(g=r(()=>{var _=_i(f?a[c]:Is),w=B(_);return w}),t.set(c,g)),g!==void 0){var p=u(g);return p===Is?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!==Is)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return h},has(a,c){var p;if(c===ad)return!0;var h=t.get(c),g=h!==void 0&&h.v!==Is||Reflect.has(a,c);if(h!==void 0||Ji!==null&&(!g||(p=wu(a,c))!=null&&p.writable)){h===void 0&&(h=r(()=>{var v=g?_i(a[c]):Is,_=B(v);return _}),t.set(c,h));var f=u(h);if(f===Is)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?k(_,Is):v in a&&(_=r(()=>B(Is)),t.set(v+"",_))}if(f===void 0)(!p||(N=wu(a,c))!=null&&N.writable)&&(f=r(()=>B(void 0)),k(f,_i(h)),t.set(c,f));else{p=f.v!==Is;var w=r(()=>_i(h));k(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&&k(D,P+1)}Tf(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!==Is});for(var[h,g]of t)g.v!==Is&&!(h in a)&&c.push(h);return c},setPrototypeOf(){rH()}})}function Ck(o){try{if(o!==null&&typeof o=="object"&&ad in o)return o[ad]}catch{}return o}function KH(o,e){return Object.is(Ck(o),Ck(e))}var cd,QP,eT,tT,iT;function GH(){if(cd===void 0){cd=window,QP=document,eT=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;tT=wu(e,"firstChild").get,iT=wu(e,"nextSibling").get,vk(o)&&(o[vS]=void 0,o[g_]=null,o[bS]=void 0,o.__e=void 0),vk(t)&&(t[df]=void 0)}}function rl(o=""){return document.createTextNode(o)}function xa(o){return tT.call(o)}function sm(o){return iT.call(o)}function C(o,e){return xa(o)}function yt(o,e=!1){{var t=xa(o);return t instanceof Comment&&t.data===""?sm(t):t}}function x(o,e=1,t=!1){let i=o;for(;e--;)i=sm(i);return i}function ZH(o){o.textContent=""}function nT(){return!1}function sT(o,e,t){return e==null||e===AP?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let xk=!1;function XH(){xk||(xk=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[f_])==null||e.call(t)})},{capture:!0}))}function yy(o){var e=Xi,t=Ji;vr(null),Ra(null);try{return o()}finally{vr(e),Ra(t)}}function a1(o,e,t,i=t){o.addEventListener(e,()=>yy(t));const n=o[f_];n?o[f_]=()=>{n(),i(!0)}:o[f_]=()=>i(!0),XH()}function YH(o){Ji===null&&(Xi===null&&iH(),tH()),fl&&eH()}function JH(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function Cl(o,e){var t=Ji;t!==null&&(t.f&po)!==0&&(o|=po);var i={ctx:Ks,deps:null,nodes:null,f:o|Os|fr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};ui==null||ui.register_created_effect(i);var n=i;if((o&eg)!==0)au!==null?au.push(i):sh.ensure().schedule(i);else if(e!==null){try{sg(i)}catch(r){throw No(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&Ig)===0&&(n=n.first,(o&jr)!==0&&(o&tg)!==0&&n!==null&&(n.f|=tg))}if(n!==null&&(n.parent=t,t!==null&&JH(n,t),Xi!==null&&(Xi.f&Gs)!==0&&(o&yc)===0)){var s=Xi;(s.effects??(s.effects=[])).push(n)}return i}function l1(){return Xi!==null&&!Ur}function c1(o){const e=Cl(vy,null);return ps(e,Es),e.teardown=o,e}function Bn(o){YH();var e=Ji.f,t=!Xi&&(e&qr)!==0&&Ks!==null&&!Ks.i;if(t){var i=Ks;(i.e??(i.e=[])).push(o)}else return oT(o)}function oT(o){return Cl(eg|ZF,o)}function QH(o){sh.ensure();const e=Cl(yc|Ig,o);return(t={})=>new Promise(i=>{t.outro?dd(e,()=>{No(e),i(void 0)}):(No(e),i(void 0))})}function d1(o){return Cl(eg,o)}function eW(o){return Cl(Su|Ig,o)}function wy(o,e=0){return Cl(vy|e,o)}function G(o,e=[],t=[],i=[]){BH(i,e,t,n=>{Cl(vy,()=>o(...n.map(u)))})}function h1(o,e=0){var t=Cl(jr|e,o);return t}function lr(o){return Cl(qr|Ig,o)}function rT(o){var e=o.teardown;if(e!==null){const t=fl,i=Xi;Lk(!0),vr(null);try{e.call(null)}finally{Lk(t),vr(i)}}}function u1(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&yy(()=>{n.abort(by)});var i=t.next;(t.f&yc)!==0?t.parent=null:No(t,e),t=i}}function tW(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&qr)===0&&No(e),e=t}}function No(o,e=!0){var t=!1;(e||(o.f&GF)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(aT(o.nodes.start,o.nodes.end),t=!0),ps(o,_S),u1(o,e&&!t),op(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();rT(o),o.f^=_S,o.f|=pr;var n=o.parent;n!==null&&n.first!==null&&lT(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function aT(o,e){for(;o!==null;){var t=o===e?null:sm(o);o.remove(),o=t}}function lT(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 dd(o,e,t=!0){var i=[];cT(o,i,!0);var n=()=>{t&&No(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function cT(o,e,t){if((o.f&po)===0){o.f^=po;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&yc)===0){var r=(n.f&tg)!==0||(n.f&qr)!==0&&(o.f&jr)!==0;cT(n,e,r?t:!1)}n=s}}}function X_(o){dT(o,!0)}function dT(o,e){if((o.f&po)!==0){o.f^=po,(o.f&Es)===0&&(ps(o,Os),sh.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&tg)!==0||(t.f&qr)!==0;dT(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 g1(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:sm(t);e.append(t),t=n}}let v_=!1,fl=!1;function Lk(o){fl=o}let Xi=null,Ur=!1;function vr(o){Xi=o}let Ji=null;function Ra(o){Ji=o}let Ea=null;function hT(o){Xi!==null&&(Ea??(Ea=new Set)).add(o)}let ko=null,Wo=0,sr=null;function iW(o){sr=o}let uT=1,Xc=0,hd=Xc;function kk(o){hd=o}function gT(){return++uT}function om(o){var e=o.f;if((e&Os)!==0)return!0;if(e&Gs&&(o.f&=~nh),(e&Na)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(om(s)&&ZP(s),s.wv>o.wv)return!0}(e&fr)!==0&&js===null&&ps(o,Es)}return!1}function fT(o,e,t=!0){var i=o.reactions;if(i!==null&&!(Ea!==null&&Ea.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&Gs)!==0?fT(s,e,!1):e===s&&(t?ps(s,Os):(s.f&Es)!==0&&ps(s,Na),s1(s))}}function pT(o){var w;var e=ko,t=Wo,i=sr,n=Xi,s=Ea,r=Ks,a=Ur,c=hd,h=o.f;ko=null,Wo=0,sr=null,Xi=(h&(qr|yc))===0?o:null,Ea=null,ig(o.ctx),Ur=!1,hd=++Xc,o.ac!==null&&(yy(()=>{o.ac.abort(by)}),o.ac=null);try{o.f|=K_;var g=o.fn,f=g();o.f|=kg;var p=o.deps,v=ui==null?void 0:ui.is_fork;if(ko!==null){var _;if(v||op(o,Wo),p!==null&&Wo>0)for(p.length=Wo+ko.length,_=0;_<ko.length;_++)p[Wo+_]=ko[_];else o.deps=p=ko;if(l1()&&(o.f&fr)!==0)for(_=Wo;_<p.length;_++)((w=p[_]).reactions??(w.reactions=[])).push(o)}else!v&&p!==null&&Wo<p.length&&(op(o,Wo),p.length=Wo);if(HP()&&sr!==null&&!Ur&&p!==null&&(o.f&(Gs|Na|Os))===0)for(_=0;_<sr.length;_++)fT(sr[_],o);if(n!==null&&n!==o){if(Xc++,n.deps!==null)for(let S=0;S<t;S+=1)n.deps[S].rv=Xc;if(e!==null)for(const S of e)S.rv=Xc;sr!==null&&(i===null?i=sr:i.push(...sr))}return(o.f&Jl)!==0&&(o.f^=Jl),f}catch(S){return BP(S)}finally{o.f^=K_,ko=e,Wo=t,sr=i,Xi=n,Ea=s,ig(r),Ur=a,hd=c}}function nW(o,e){let t=e.reactions;if(t!==null){var i=zF.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&Gs)!==0&&(ko===null||!$_.call(ko,e))){var s=e;(s.f&fr)!==0&&(s.f^=fr,s.f&=~nh),s.v!==Is&&i1(s),UH(s),op(s,0)}}function op(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)nW(o,t[i])}function sg(o){var e=o.f;if((e&pr)===0){ps(o,Es);var t=Ji,i=v_;Ji=o,v_=!0;try{(e&(jr|MP))!==0?tW(o):u1(o),rT(o);var n=pT(o);o.teardown=typeof n=="function"?n:null,o.wv=uT;var s;EP&&LH&&(o.f&Os)!==0&&o.deps}finally{v_=i,Ji=t}}}async function b_(){await Promise.resolve(),TH()}function u(o){var e=o.f,t=(e&Gs)!==0;if(Xi!==null&&!Ur){var i=Ji!==null&&(Ji.f&pr)!==0;if(!i&&(Ea===null||!Ea.has(o))){var n=Xi.deps;if((Xi.f&K_)!==0)o.rv<Xc&&(o.rv=Xc,ko===null&&n!==null&&n[Wo]===o?Wo++:ko===null?ko=[o]:ko.push(o));else{Xi.deps??(Xi.deps=[]),$_.call(Xi.deps,o)||Xi.deps.push(o);var s=o.reactions;s===null?o.reactions=[Xi]:$_.call(s,Xi)||s.push(Xi)}}}if(fl&&ld.has(o))return ld.get(o);if(t){var r=o;if(fl){var a=r.v;return((r.f&Es)===0&&r.reactions!==null||_T(r))&&(a=r1(r)),ld.set(r,a),a}var c=(r.f&fr)===0&&!Ur&&Xi!==null&&(v_||(Xi.f&fr)!==0),h=(r.f&kg)===0;om(r)&&(c&&(r.f|=fr),ZP(r)),c&&!h&&(XP(r),mT(r))}if(js!=null&&js.has(o))return js.get(o);if((o.f&Jl)!==0)throw o.v;return o.v}function mT(o){if(o.f|=fr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&Gs)!==0&&(e.f&fr)===0&&(XP(e),mT(e))}function _T(o){if(o.v===Is)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(ld.has(e)||(e.f&Gs)!==0&&_T(e))return!0;return!1}function xl(o){var e=Ur;try{return Ur=!0,o()}finally{Ur=e}}const sW=["touchstart","touchmove"];function oW(o){return sW.includes(o)}const Yc=Symbol("events"),vT=new Set,kS=new Set;function rW(o,e,t,i={}){function n(s){if(i.capture||IS.call(e,s),!s.cancelBubble)return yy(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?Ql(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function rs(o,e,t,i,n){var s={capture:i,passive:n},r=rW(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&c1(()=>{e.removeEventListener(o,r,s)})}function te(o,e,t){(e[Yc]??(e[Yc]={}))[o]=t}function wr(o){for(var e=0;e<o.length;e++)vT.add(o[e]);for(var t of kS)t(o)}let Ik=null;function IS(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;Ik=o;var r=0,a=Ik===o&&o[Yc];if(a){var c=n.indexOf(a);if(c!==-1&&(e===document||e===window)){o[Yc]=e;return}var h=n.indexOf(e);if(h===-1)return;c<=h&&(r=c)}if(s=n[r]||o.target,s!==e){VF(o,"currentTarget",{configurable:!0,get(){return s||t}});var g=Xi,f=Ji;vr(null),Ra(null);try{for(var p,v=[];s!==null&&s!==e;){try{var _=(S=s[Yc])==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[Yc]=e,delete o.currentTarget,vr(g),Ra(f)}}}var JD;const dw=((JD=globalThis==null?void 0:globalThis.window)==null?void 0:JD.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function aW(o){return(dw==null?void 0:dw.createHTML(o))??o}function bT(o){var e=sT("template");return e.innerHTML=aW(o.replaceAll("<!>","<!---->")),e.content}function rh(o,e){var t=Ji;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function R(o,e){var t=(e&_H)!==0,i=(e&vH)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=bT(s?o:"<!>"+o),t||(n=xa(n)));var r=i||eT?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=xa(r),c=r.lastChild;rh(a,c)}else rh(r,r);return r}}function lW(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=bT(n),a=xa(r);s=xa(a)}var c=s.cloneNode(!0);return rh(c,c),c}}function yT(o,e){return lW(o,e,"svg")}function $r(o=""){{var e=rl(o+"");return rh(e,e),e}}function Fs(){var o=document.createDocumentFragment(),e=document.createComment(""),t=rl();return o.append(e,t),rh(e,t),o}function T(o,e){o!==null&&o.before(e)}function q(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[df]??(o[df]=o.nodeValue))&&(o[df]=t,o.nodeValue=`${t}`)}function cW(o,e){return dW(o,e)}const Om=new Map;function dW(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){GH();var c=void 0,h=QH(()=>{var g=t??e.appendChild(rl());AH(g,{pending:()=>{}},v=>{Oo({});var _=Ks;s&&(_.c=s),n&&(i.$$events=n),c=o(v,i)||{},Fo()},a);var f=new Set,p=v=>{for(var _=0;_<v.length;_++){var w=v[_];if(!f.has(w)){f.add(w);var S=oW(w);for(const N of[e,document]){var D=Om.get(N);D===void 0&&(D=new Map,Om.set(N,D));var P=D.get(w);P===void 0?(N.addEventListener(w,IS,{passive:S}),D.set(w,1)):D.set(w,P+1)}}}};return p(my(vT)),kS.add(p),()=>{var S;for(var v of f)for(const D of[e,document]){var _=Om.get(D),w=_.get(v);--w==0?(D.removeEventListener(v,IS),_.delete(v),_.size===0&&Om.delete(D)):_.set(v,w)}kS.delete(p),g!==t&&((S=g.parentNode)==null||S.removeChild(g))}});return hW.set(c,h),c}let hW=new WeakMap;var Rr,pa,Vo,nd,Hp,Wp,ob;class uW{constructor(e,t=!0){Bi(this,"anchor");Mi(this,Rr,new Map);Mi(this,pa,new Map);Mi(this,Vo,new Map);Mi(this,nd,new Set);Mi(this,Hp,!0);Mi(this,Wp,e=>{if(ee(this,Rr).has(e)){var t=ee(this,Rr).get(e),i=ee(this,pa).get(t);if(i)X_(i),ee(this,nd).delete(t);else{var n=ee(this,Vo).get(t);n&&(X_(n.effect),ee(this,pa).set(t,n.effect),ee(this,Vo).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of ee(this,Rr)){if(ee(this,Rr).delete(s),s===e)break;const a=ee(this,Vo).get(r);a&&(No(a.effect),ee(this,Vo).delete(r))}for(const[s,r]of ee(this,pa)){if(s===t||ee(this,nd).has(s))continue;const a=()=>{if(Array.from(ee(this,Rr).values()).includes(s)){var h=document.createDocumentFragment();g1(r,h),h.append(rl()),ee(this,Vo).set(s,{effect:r,fragment:h})}else No(r);ee(this,nd).delete(s),ee(this,pa).delete(s)};ee(this,Hp)||!i?(ee(this,nd).add(s),dd(r,a,!1)):a()}}});Mi(this,ob,e=>{ee(this,Rr).delete(e);const t=Array.from(ee(this,Rr).values());for(const[i,n]of ee(this,Vo))t.includes(i)||(No(n.effect),ee(this,Vo).delete(i))});this.anchor=e,Ni(this,Hp,t)}ensure(e,t){var i=ui,n=nT();if(t&&!ee(this,pa).has(e)&&!ee(this,Vo).has(e))if(n){var s=document.createDocumentFragment(),r=rl();s.append(r),ee(this,Vo).set(e,{effect:lr(()=>t(r)),fragment:s})}else ee(this,pa).set(e,lr(()=>t(this.anchor)));if(ee(this,Rr).set(i,e),n){for(const[a,c]of ee(this,pa))a===e?i.unskip_effect(c):i.skip_effect(c);for(const[a,c]of ee(this,Vo))a===e?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(ee(this,Wp)),i.ondiscard(ee(this,ob))}else ee(this,Wp).call(this,i)}}Rr=new WeakMap,pa=new WeakMap,Vo=new WeakMap,nd=new WeakMap,Hp=new WeakMap,Wp=new WeakMap,ob=new WeakMap;function $(o,e,t=!1){var i=new uW(o),n=t?tg:0;function s(r,a){i.ensure(r,a)}h1(()=>{var r=!1;e((a,c=0)=>{r=!0,s(c,a)}),r||s(-1,null)},n)}function zn(o,e){return e}function gW(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let f=e[a];dd(f,()=>{if(s){if(s.pending.delete(f),s.done.add(f),s.pending.size===0){var p=o.outrogroups;DS(o,my(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;ZH(g),g.append(h),o.items.clear()}DS(o,e,!c)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function DS(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|=Ca;const r=document.createDocumentFragment();g1(s,r)}else No(e[n],t)}}var Dk;function pi(o,e,t,i,n,s=null){var r=o,a=new Map,c=(e&RP)!==0;if(c){var h=o;r=h.appendChild(rl())}var g=null,f=o1(()=>{var N=t();return t1(N)?N:N==null?[]:my(N)}),p,v=new Map,_=!0;function w(N){(P.effect.f&pr)===0&&(P.pending.delete(N),P.fallback=g,fW(P,p,r,e,i),g!==null&&(p.length===0?(g.f&Ca)===0?X_(g):(g.f^=Ca,gf(g,null,r)):dd(g,()=>{g=null})))}function S(N){P.pending.delete(N)}var D=h1(()=>{p=u(f);for(var N=p.length,V=new Set,W=ui,J=nT(),X=0;X<N;X+=1){var pe=p[X],Ce=i(pe,X),ze=_?null:a.get(Ce);ze?(ze.v&&ng(ze.v,pe),ze.i&&ng(ze.i,X),J&&W.unskip_effect(ze.e)):(ze=pW(a,_?r:Dk??(Dk=rl()),pe,Ce,X,n,e,t),_||(ze.e.f|=Ca),a.set(Ce,ze)),V.add(Ce)}if(N===0&&s&&!g&&(_?g=lr(()=>s(r)):(g=lr(()=>s(Dk??(Dk=rl()))),g.f|=Ca)),N>V.size&&QF(),!_)if(v.set(W,V),J){for(const[ve,nt]of a)V.has(ve)||W.skip_effect(nt.e);W.oncommit(w),W.ondiscard(S)}else w(W);u(f)}),P={effect:D,items:a,pending:v,outrogroups:null,fallback:g};_=!1}function Qg(o){for(;o!==null&&(o.f&qr)===0;)o=o.next;return o}function fW(o,e,t,i,n){var ze,ve,nt,Ft,wt,ai,zt,ti,Ae;var s=(i&hH)!==0,r=e.length,a=o.items,c=Qg(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&Ca)===0&&((ve=(ze=S.nodes)==null?void 0:ze.a)==null||ve.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 Ze of o.outrogroups)Ze.pending.delete(S),Ze.done.delete(S);if((S.f&po)!==0&&(X_(S),s&&((Ft=(nt=S.nodes)==null?void 0:nt.a)==null||Ft.unfix(),(f??(f=new Set)).delete(S))),(S.f&Ca)!==0)if(S.f^=Ca,S===c)gf(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),El(o,g,S),El(o,S,P),gf(S,P,t),g=S,p=[],v=[],c=Qg(g.next);continue}if(S!==c){if(h!==void 0&&h.has(S)){if(p.length<v.length){var N=v[0],V;g=N.prev;var W=p[0],J=p[p.length-1];for(V=0;V<p.length;V+=1)gf(p[V],N,t);for(V=0;V<v.length;V+=1)h.delete(v[V]);El(o,W.prev,J.next),El(o,g,W),El(o,J,N),c=N,g=J,D-=1,p=[],v=[]}else h.delete(S),gf(S,c,t),El(o,S.prev,S.next),El(o,S,g===null?o.effect.first:g.next),El(o,g,S),g=S;continue}for(p=[],v=[];c!==null&&c!==S;)(h??(h=new Set)).add(c),v.push(c),c=Qg(c.next);if(c===null)continue}(S.f&Ca)===0&&p.push(S),g=S,c=Qg(S.next)}if(o.outrogroups!==null){for(const Ze of o.outrogroups)Ze.pending.size===0&&(DS(o,my(Ze.done)),(wt=o.outrogroups)==null||wt.delete(Ze));o.outrogroups.size===0&&(o.outrogroups=null)}if(c!==null||h!==void 0){var X=[];if(h!==void 0)for(S of h)(S.f&po)===0&&X.push(S);for(;c!==null;)(c.f&po)===0&&c!==o.fallback&&X.push(c),c=Qg(c.next);var pe=X.length;if(pe>0){var Ce=(i&RP)!==0&&r===0?t:null;if(s){for(D=0;D<pe;D+=1)(zt=(ai=X[D].nodes)==null?void 0:ai.a)==null||zt.measure();for(D=0;D<pe;D+=1)(Ae=(ti=X[D].nodes)==null?void 0:ti.a)==null||Ae.fix()}gW(o,X,Ce)}}s&&Ql(()=>{var Ze,Oe;if(f!==void 0)for(S of f)(Oe=(Ze=S.nodes)==null?void 0:Ze.a)==null||Oe.apply()})}function pW(o,e,t,i,n,s,r,a){var c=(r&cH)!==0?(r&uH)===0?$H(t,!1,!1):oh(t):null,h=(r&dH)!==0?oh(n):null;return{v:c,i:h,e:lr(()=>(s(e,c??t,h??n,a),()=>{o.delete(i)}))}}function gf(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Ca)===0?e.nodes.start:t;i!==null;){var r=sm(i);if(s.before(i),i===n)return;i=r}}function El(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function ql(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var c=o;G(()=>{var h=Ji;if(a!==(a=e()??"")){if(t){h.nodes=null,c.innerHTML=a,a!==""&&rh(xa(c),c.lastChild);return}if(h.nodes!==null&&(aT(h.nodes.start,h.nodes.end),h.nodes=null),a!==""){var g=i?bH:n?yH:void 0,f=sT(i?"svg":n?"math":"template",g);f.innerHTML=a;var p=i||n?f:f.content;if(rh(xa(p),p.lastChild),i||n)for(;xa(p);)r.before(xa(p));else r.before(p)}}})}const Ek=[...`
3
- \r\f \v\uFEFF`];function mW(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||Ek.includes(i[r-1]))&&(a===i.length||Ek.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function Pk(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 hw(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function _W(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(hw)),n&&c.push(...Object.keys(n).map(hw));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=hw(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+=Pk(i)),n&&(t+=Pk(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function qt(o,e,t,i,n,s){var r=o[vS];if(r!==t||r===void 0){var a=mW(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[vS]=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 uw(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 Do(o,e,t,i){var n=o[bS];if(n!==e){var s=_W(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[bS]=e}else i&&(Array.isArray(i)?(uw(o,t==null?void 0:t[0],i[0]),uw(o,t==null?void 0:t[1],i[1],"important")):uw(o,t,i));return i}function wT(o,e,t=!1){if(o.multiple){if(e==null)return;if(!t1(e))return SH();for(var i of o.options)i.selected=e.includes(Mf(i));return}for(i of o.options){var n=Mf(i);if(KH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function vW(o){var e=new MutationObserver(()=>{wT(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),c1(()=>{e.disconnect()})}function ba(o,e,t=e){var i=new WeakSet,n=!0;a1(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,ui!==null&&i.add(ui)}),d1(()=>{var s=e();if(o===document.activeElement){var r=ui;if(i.has(r))return}if(wT(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=Mf(a),t(s))}o.__value=s,n=!1}),vW(o)}function Mf(o){return"__value"in o?o.__value:o.value}const bW=Symbol("is custom element"),yW=Symbol("is html");function gw(o,e){var t=ST(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function On(o,e,t,i){var n=ST(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[YF]=t),t==null?o.removeAttribute(e):typeof t!="string"&&wW(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function ST(o){return o[g_]??(o[g_]={[bW]:o.nodeName.includes("-"),[yW]:o.namespaceURI===AP})}var Tk=new Map;function wW(o){var e=o.getAttribute("is")||o.nodeName,t=Tk.get(e);if(t)return t;Tk.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=jF(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=PP(n)}return t}function Ri(o,e,t=e){var i=new WeakSet;a1(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=fw(o)?pw(s):s,t(s),ui!==null&&i.add(ui),await b_(),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))}}}),xl(e)==null&&o.value&&(t(fw(o)?pw(o.value):o.value),ui!==null&&i.add(ui)),wy(()=>{var n=e();if(o===document.activeElement){var s=ui;if(i.has(s))return}fw(o)&&n===pw(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function As(o,e,t=e){a1(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),xl(e)==null&&t(o.checked),wy(()=>{var i=e();o.checked=!!i})}function fw(o){var e=o.type;return e==="number"||e==="range"}function pw(o){return o===""?null:+o}var jl,Nu,Bp,rb,CT;const ab=class ab{constructor(e){Mi(this,rb);Mi(this,jl,new WeakMap);Mi(this,Nu);Mi(this,Bp);Ni(this,Bp,e)}observe(e,t){var i=ee(this,jl).get(e)||new Set;return i.add(t),ee(this,jl).set(e,i),Ln(this,rb,CT).call(this).observe(e,ee(this,Bp)),()=>{var n=ee(this,jl).get(e);n.delete(t),n.size===0&&(ee(this,jl).delete(e),ee(this,Nu).unobserve(e))}}};jl=new WeakMap,Nu=new WeakMap,Bp=new WeakMap,rb=new WeakSet,CT=function(){return ee(this,Nu)??Ni(this,Nu,new ResizeObserver(e=>{for(var t of e){ab.entries.set(t.target,t);for(var i of ee(this,jl).get(t.target)||[])i(t)}}))},Bi(ab,"entries",new WeakMap);let ES=ab;var SW=new ES({box:"border-box"});function CW(o,e,t){var i=SW.observe(o,()=>t(o[e]));d1(()=>(xl(()=>t(o[e])),i))}function mw(o,e){return o===e||(o==null?void 0:o[ad])===e}function ys(o={},e,t,i){var n=Ks.r,s=Ji;return d1(()=>{var r,a;return wy(()=>{r=a,a=[],xl(()=>{mw(t(...a),o)||(e(o,...a),r&&mw(t(...r),o)&&e(null,...r))})}),()=>{let c=s;for(;c!==n&&c.parent!==null&&c.parent.f&_S;)c=c.parent;const h=()=>{a&&mw(t(...a),o)&&e(null,...a)},g=c.teardown;c.teardown=()=>{h(),g==null||g()}}}),o}function og(o,e,t,i){var V;var n=!0,s=(t&pH)!==0,r=(t&mH)!==0,a=i,c=!0,h=void 0,g=()=>r&&n?(h??(h=sp(i)),u(h)):(c&&(c=!1,a=r?xl(i):i),a);let f;if(s){var p=ad in o||XF in o;f=((V=wu(o,e))==null?void 0:V.set)??(p&&e in o?W=>o[e]=W:void 0)}var v,_=!1;s?[v,_]=DH(()=>o[e]):v=o[e],v===void 0&&i!==void 0&&(v=g(),f&&(sH(),f(v)));var w;if(w=()=>{var W=o[e];return W===void 0?g():(c=!0,W)},(t&fH)===0)return w;if(f){var S=o.$$legacy;return(function(W,J){return arguments.length>0?((!J||S||_)&&f(J?w():W),W):w()})}var D=!1,P=((t&gH)!==0?sp:o1)(()=>(D=!1,w()));s&&u(P);var N=Ji;return(function(W,J){if(arguments.length>0){const X=J?u(P):s?_i(W):W;return k(P,X),D=!0,a!==void 0&&(a=X),W}return fl&&D||(N.f&pr)!==0?P.v:u(P)})}function Sr(o){Ks===null&&NP(),Bn(()=>{const e=xl(o);if(typeof e=="function")return e})}function Sy(o){Ks===null&&NP(),Sr(()=>()=>xl(o))}const xW="5";var QD;typeof window<"u"&&((QD=window.__svelte??(window.__svelte={})).v??(QD.v=new Set)).add(xW);/*!-----------------------------------------------------------------------------
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 LW=Object.defineProperty,kW=Object.getOwnPropertyDescriptor,IW=Object.getOwnPropertyNames,DW=Object.prototype.hasOwnProperty,EW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of IW(e))!DW.call(o,n)&&n!==t&&LW(o,n,{get:()=>e[n],enumerable:!(i=kW(e,n))||i.enumerable});return o},PW=(o,e,t)=>(EW(o,e,"default"),t),rm={};PW(rm,tE);var TW=class{constructor(e,t,i){this._onDidChange=new rm.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)}},MW={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},NW={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},xT=new TW("json",MW,NW),RW=()=>LT().then(o=>o.getWorker());rm.languages.json={jsonDefaults:xT,getWorker:RW};function LT(){return eE(()=>import("./jsonMode-CXWNuhmR.js"),__vite__mapDeps([0,1,2]))}rm.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});rm.languages.onLanguage("json",()=>{LT().then(o=>o.setupMode(xT))});/*!-----------------------------------------------------------------------------
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 AW=Object.defineProperty,OW=Object.getOwnPropertyDescriptor,FW=Object.getOwnPropertyNames,HW=Object.prototype.hasOwnProperty,WW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of FW(e))!HW.call(o,n)&&n!==t&&AW(o,n,{get:()=>e[n],enumerable:!(i=OW(e,n))||i.enumerable});return o},BW=(o,e,t)=>(WW(o,e,"default"),t),zW="5.4.5",rg={};BW(rg,tE);var kT=(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))(kT||{}),IT=(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))(IT||{}),DT=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(DT||{}),ET=(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))(ET||{}),PT=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(PT||{}),TT=class{constructor(o,e,t,i,n){this._onDidChange=new rg.Emitter,this._onDidExtraLibsChange=new rg.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)}},VW=zW,MT={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},NT=new TT({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},MT),RT=new TT({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},MT),jW=()=>Cy().then(o=>o.getTypeScriptWorker()),UW=()=>Cy().then(o=>o.getJavaScriptWorker());rg.languages.typescript={ModuleKind:kT,JsxEmit:IT,NewLineKind:DT,ScriptTarget:ET,ModuleResolutionKind:PT,typescriptVersion:VW,typescriptDefaults:NT,javascriptDefaults:RT,getTypeScriptWorker:jW,getJavaScriptWorker:UW};function Cy(){return eE(()=>import("./tsMode-CbFYImR_.js"),__vite__mapDeps([3,1,2]))}rg.languages.onLanguage("typescript",()=>Cy().then(o=>o.setupTypeScript(NT)));rg.languages.onLanguage("javascript",()=>Cy().then(o=>o.setupJavaScript(RT)));class $W extends ro{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:xt("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Qt.map,toggled:le.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:le.has("isInDiffEditor"),menu:{when:le.has("isInDiffEditor"),id:ct.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(Dn),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class AT extends ro{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:xt("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:le.has("isInDiffEditor")})}run(e,...t){const i=e.get(Dn),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class OT extends ro{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:xt("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:le.has("isInDiffEditor")})}run(e,...t){const i=e.get(Dn),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const am=xt("diffEditor","Diff Editor");class qW extends Kr{constructor(){super({id:"diffEditor.switchSide",title:xt("switchSide","Switch Side"),icon:Qt.arrowSwap,precondition:le.has("isInDiffEditor"),f1:!0,category:am})}runEditorCommand(e,t,i){const n=Dg(e);if(n instanceof zp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class KW extends Kr{constructor(){super({id:"diffEditor.exitCompareMove",title:xt("exitCompareMove","Exit Compare Move"),icon:Qt.close,precondition:M.comparingMovedCode,f1:!1,category:am,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=Dg(e);n instanceof zp&&n.exitCompareMove()}}class GW extends Kr{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:xt("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Qt.fold,precondition:le.has("isInDiffEditor"),f1:!0,category:am})}runEditorCommand(e,t,...i){const n=Dg(e);n instanceof zp&&n.collapseAllUnchangedRegions()}}class ZW extends Kr{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:xt("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Qt.unfold,precondition:le.has("isInDiffEditor"),f1:!0,category:am})}runEditorCommand(e,t,...i){const n=Dg(e);n instanceof zp&&n.showAllUnchangedRegions()}}class PS extends ro{constructor(){super({id:"diffEditor.revert",title:xt("revert","Revert"),f1:!1,category:am})}run(e,t){const i=XW(e,t.originalUri,t.modifiedUri);i instanceof zp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const FT=xt("accessibleDiffViewer","Accessible Diff Viewer"),lb=class lb extends ro{constructor(){super({id:lb.id,title:xt("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:FT,precondition:le.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=Dg(e);t==null||t.accessibleDiffViewerNext()}};lb.id="editor.action.accessibleDiffViewer.next";let rp=lb;const cb=class cb extends ro{constructor(){super({id:cb.id,title:xt("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:FT,precondition:le.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=Dg(e);t==null||t.accessibleDiffViewerPrev()}};cb.id="editor.action.accessibleDiffViewer.prev";let Y_=cb;function XW(o,e,t){return o.get(ns).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 Dg(o){const t=o.get(ns).listDiffEditors(),i=iE();if(i)for(const n of t){const s=n.getContainerDomNode();if(YW(s,i))return n}return null}function YW(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Qi($W);Qi(AT);Qi(OT);mr.appendMenuItem(ct.EditorTitle,{command:{id:new OT().desc.id,title:y("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:le.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:le.has("isInDiffEditor")},order:11,group:"1_diff",when:le.and(M.diffEditorRenderSideBySideInlineBreakpointReached,le.has("isInDiffEditor"))});mr.appendMenuItem(ct.EditorTitle,{command:{id:new AT().desc.id,title:y("showMoves","Show Moved Code Blocks"),icon:Qt.move,toggled:lA.create("config.diffEditor.experimental.showMoves",!0),precondition:le.has("isInDiffEditor")},order:10,group:"1_diff",when:le.has("isInDiffEditor")});Qi(PS);for(const o of[{icon:Qt.arrowRight,key:M.diffEditorInlineMode.toNegated()},{icon:Qt.discard,key:M.diffEditorInlineMode}])mr.appendMenuItem(ct.DiffEditorHunkToolbar,{command:{id:new PS().desc.id,title:y("revertHunk","Revert Block"),icon:o.icon},when:le.and(M.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),mr.appendMenuItem(ct.DiffEditorSelectionToolbar,{command:{id:new PS().desc.id,title:y("revertSelection","Revert Selection"),icon:o.icon},when:le.and(M.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Qi(qW);Qi(KW);Qi(GW);Qi(ZW);mr.appendMenuItem(ct.EditorTitle,{command:{id:rp.id,title:y("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:le.has("isInDiffEditor")},order:10,group:"2_diff",when:le.and(M.accessibleDiffViewerVisible.negate(),le.has("isInDiffEditor"))});wn.registerCommandAlias("editor.action.diffReview.next",rp.id);Qi(rp);wn.registerCommandAlias("editor.action.diffReview.prev",Y_.id);Qi(Y_);var JW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},QW=function(o,e){return function(t,i){e(t,i,o)}},TS;const xy=new Ai("selectionAnchorSet",!1);var pd;let wc=(pd=class{static get(e){return e.getContribution(TS.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=xy.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(Kt.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Vs().appendText(y("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),_r(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(Kt.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()}},TS=pd,pd.ID="editor.contrib.selectionAnchorController",pd);wc=TS=JW([QW(1,Vi)],wc);class e3 extends Se{constructor(){super({id:"editor.action.setSelectionAnchor",label:y("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,2080),weight:100}})}async run(e,t){var i;(i=wc.get(t))==null||i.setSelectionAnchor()}}class t3 extends Se{constructor(){super({id:"editor.action.goToSelectionAnchor",label:y("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:xy})}async run(e,t){var i;(i=wc.get(t))==null||i.goToSelectionAnchor()}}class i3 extends Se{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:y("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:xy,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,2089),weight:100}})}async run(e,t){var i;(i=wc.get(t))==null||i.selectFromAnchorToCursor()}}class n3 extends Se{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:y("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:xy,kbOpts:{kbExpr:M.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=wc.get(t))==null||i.cancelSelectionAnchor()}}vi(wc.ID,wc,4);ne(e3);ne(t3);ne(i3);ne(n3);const s3=mt("editorOverviewRuler.bracketMatchForeground","#A0A0A0",y("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class o3 extends Se{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=ah.get(t))==null||i.jumpToBracket()}}class r3 extends Se{constructor(){super({id:"editor.action.selectToBracket",label:y("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:xt("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=ah.get(t))==null||s.selectToBracket(n)}}class a3 extends Se{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=ah.get(t))==null||i.removeBrackets(this.id)}}class l3{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const Ol=class Ol extends Be{static get(e){return e.getContribution(Ol.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new gs(()=>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 Kt(r.lineNumber,r.column,r.lineNumber,r.column):new Kt(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(z.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 Kt(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(Dt.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=Ol._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!_&&this._matchBrackets==="always"&&(_=t.bracketPairs.findEnclosingBrackets(v,20),w=Ol._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[c++]=new l3(v,_,w)}}this._lastBracketsData=a,this._lastVersionId=i}};Ol.ID="editor.contrib.bracketMatchingController",Ol._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=Pi.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:hs(s3),position:ka.Center}}),Ol._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=Pi.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let ah=Ol;vi(ah.ID,ah,1);ne(r3);ne(o3);ne(a3);mr.appendMenuItem(ct.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:y({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class c3{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 z(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new z(i,s,i,s),a)}else{const r=new z(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new z(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new Kt(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new Kt(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class HT extends Se{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 c3(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class d3 extends HT{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:y("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:M.writable})}}class h3 extends HT{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:y("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:M.writable})}}ne(d3);ne(h3);class u3 extends Se{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():tw.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),f=tw.leftPosition(i,g),p=tw.leftPosition(i,f),v=i.getValueInRange(z.fromPositions(p,f)),_=i.getValueInRange(z.fromPositions(f,g)),w=z.fromPositions(p,g);n.push(new Vp(w,_+v))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}ne(u3);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 f1(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function g3(o,e,t){const i={id:Ly(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class WT{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 nl.some(this,([i,n])=>n.asFile())&&t.push("files"),zT(J_(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 J_(e)}}function J_(o){return o.toLowerCase()}function BT(o,e){return zT(J_(o),e.map(J_))}function zT(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 ky=Object.freeze({create:o=>nE(o.map(e=>e.toString())).join(`\r
14
- `),split:o=>o.split(`\r
15
- `),parse:o=>ky.split(o).filter(e=>!e.startsWith("#"))}),da=class da{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+da.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new da((this.value?[this.value,...e]:e).join(da.sep))}};da.sep=".",da.None=new da("@@none@@"),da.Empty=new da("");let In=da;const Mk={EDITORS:"CodeEditors",FILES:"CodeFiles"};class f3{}const p3={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Gr.add(p3.DragAndDropContribution,new f3);const jf=class jf{constructor(){}static getInstance(){return jf.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};jf.INSTANCE=new jf;let MS=jf;function VT(o){const e=new WT;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,f1(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,m3(n))}}return e}function m3(o){const e=o.path?ln.parse(o.path):void 0;return g3(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const _3=Object.freeze([Mk.EDITORS,Mk.FILES,tS.RESOURCES,tS.INTERNAL_URI_LIST]);function jT(o,e=!1){const t=VT(o),i=t.get(tS.INTERNAL_URI_LIST);if(i)t.replace(xs.uriList,i);else if(e||!t.has(xs.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(ln.file(a).toString()):n.push(ln.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(xs.uriList,f1(ky.create(n)))}for(const n of _3)t.delete(n);return t}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},ap=function(o,e){return function(t,i){e(t,i,o)}};class m1{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 Uf=class Uf extends m1{constructor(){super(...arguments),this.kind=Uf.kind,this.dropMimeTypes=[xs.text],this.pasteMimeTypes=[xs.text]}async getEdit(e,t){const i=e.get(xs.text);if(!i||e.has(xs.uriList))return;const n=await i.asString();return{handledMimeType:xs.text,title:y("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};Uf.id="text",Uf.kind=new In("text.plain");let lh=Uf;class UT extends m1{constructor(){super(...arguments),this.kind=new In("uri.absolute"),this.dropMimeTypes=[xs.uriList],this.pasteMimeTypes=[xs.uriList]}async getEdit(e,t){const i=await $T(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:c})=>a.scheme===to.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:xs.uriList,insertText:s,title:r,kind:this.kind}}}let Q_=class extends m1{constructor(e){super(),this._workspaceContextService=e,this.kind=new In("uri.relative"),this.dropMimeTypes=[xs.uriList],this.pasteMimeTypes=[xs.uriList]}async getEdit(e,t){const i=await $T(e);if(!i.length||t.isCancellationRequested)return;const n=cl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?cA(r.uri,s):void 0}));if(n.length)return{handledMimeType:xs.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}}};Q_=p1([ap(0,Uu)],Q_);class v3{constructor(){this.kind=new In("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:xs.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var c;if(n.triggerKind!==iS.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 $T(o){const e=o.get(xs.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of ky.parse(t))try{i.push({uri:ln.parse(n),originalText:n})}catch{}return i}let NS=class extends Be{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new lh)),this._register(e.documentDropEditProvider.register("*",new UT)),this._register(e.documentDropEditProvider.register("*",new Q_(t)))}};NS=p1([ap(0,Et),ap(1,Uu)],NS);let RS=class extends Be{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new lh)),this._register(e.documentPasteEditProvider.register("*",new UT)),this._register(e.documentPasteEditProvider.register("*",new Q_(t))),this._register(e.documentPasteEditProvider.register("*",new v3))}};RS=p1([ap(0,Et),ap(1,Uu)],RS);const er=class er{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=er._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(er.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(er.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(er.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(er.isVariableCharacter(i)||er.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 er._table[i]>"u"&&!er.isDigitCharacter(i)&&!er.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};er._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let AS=er;class Eg{constructor(){this._children=[]}appendChild(e){return e instanceof fo&&this._children[this._children.length-1]instanceof fo?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 lm)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let fo=class qT extends Eg{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new qT(this.value)}};class KT extends Eg{}class qo extends KT{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 Pg?this._children[0]:void 0}clone(){const e=new qo(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class Pg extends Eg{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof fo&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new Pg;return this.options.forEach(e.appendChild,e),e}}class _1 extends Eg{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 Ar&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Ar){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new _1;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 Ar extends Eg{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 Ar(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class lp extends KT{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 fo(t)],!0):!1}clone(){const e=new lp(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function Nk(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class lm extends Eg{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof qo&&(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 Nk([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof qo&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof lp&&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 lm;return this._children=this.children.map(t=>t.clone()),e}walk(e){Nk(this.children,e)}}class ch{constructor(){this._scanner=new AS,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 lm;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 qo&&(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 qo(c.index);f.transform=c.transform;for(const p of g){const v=p.clone();f.appendChild(v),v instanceof qo&&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 qo(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 fo(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 qo(Number(t)):new lp(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 qo(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new fo("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new Pg;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 fo(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 lp(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new fo("${"+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 _1;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 fo(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 Ar(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Ar(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 Ar(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Ar(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Ar(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 Ar(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Ar(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new fo(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function GT(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 dA(o,{range:s,text:typeof t.insertText=="string"?ch.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function ZT(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 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},y3=function(o,e){return function(t,i){e(t,i,o)}};const w3=Pi.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:sE,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),db=class db extends Be{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=pt(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=pt("span.icon");this.domNode.append(t),t.classList.add(...$i.asClassNameArray(Qt.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(zi(this.domNode,jn.CLICK,n=>{this.delegate.cancel()}))}getId(){return db.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)}};db.baseId="editor.widget.inlineProgressWidget";let OS=db,ev=class extends Be{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Ro),this._currentWidget=this._register(new Ro),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=Kf(()=>{const a=z.fromPositions(e);this._currentDecorations.set([{range:a,options:w3}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(OS,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()}};ev=b3([y3(2,di)],ev);var S3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Rk=function(o,e){return function(t,i){e(t,i,o)}},y_,tc;let mo=(tc=class{static get(e){return e.getContribution(y_.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Ro,this._messageListeners=new He,this._mouseOverMessage=!1,this._editor=e,this._visible=y_.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){_r(l_(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=l_(e)?hA(e,{actionHandler:{callback:n=>{this.closeMessage(),uA(this._openerService,n,l_(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new Ak(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(us.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&gA(iE(),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(zi(this._messageWidget.value.getDomNode(),jn.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(zi(this._messageWidget.value.getDomNode(),jn.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 z(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(Ak.fadeOut(this._messageWidget.value))}},y_=tc,tc.ID="editor.contrib.messageController",tc.MESSAGE_VISIBLE=new Ai("messageVisible",!1,y("messageVisible","Whether the editor is currently showing an inline message")),tc);mo=y_=S3([Rk(1,Vi),Rk(2,Zr)],mo);const C3=ao.bindToContribution(mo.get);Nt(new C3({id:"leaveEditorMessage",precondition:mo.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let Ak=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(mo.ID,mo,4);function _w(o,e){return e&&(o.stack||o.stacktrace)?y("stackTrace.format","{0}: {1}",Fk(o),Ok(o.stack)||Ok(o.stacktrace)):Fk(o)}function Ok(o){return Array.isArray(o)?o.join(`
16
- `):o}function Fk(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 tv(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=cl(o),i=tv(t[0],e);return t.length>1?y("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(oE(o))return o;if(o.detail){const t=o.detail;if(t.error)return _w(t.error,e);if(t.exception)return _w(t.exception,e)}return o.stack?_w(o,e):o.message?o.message:y("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var XT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Cu=function(o,e){return function(t,i){e(t,i,o)}},FS,md;let HS=(md=class extends Be{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(kn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(kn((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(f=>{s.containsPosition(f.position)||this.dispose()})),this._register(us.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=pt(".post-edit-widget"),this.button=this._register(new fA(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(zi(this.domNode,jn.CLICK,()=>this.showSelector()))}getId(){return FS.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=no(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>pA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},FS=md,md.baseId="editor.widget.postEditWidget",md);HS=FS=XT([Cu(7,wg),Cu(8,Vi),Cu(9,ls)],HS);let iv=class extends Be{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 Ro),this._register(us.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)=>{kc(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,tv(S)))}if(s.isCancellationRequested)return;const f=GT(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,tv(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(HS,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()}};iv=XT([Cu(4,di),Cu(5,Xb),Cu(6,Xs)],iv);var x3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fh=function(o,e){return function(t,i){e(t,i,o)}},zc;const YT="editor.changePasteType",v1=new Ai("pasteWidgetVisible",!1,y("pasteWidgetVisible","Whether the paste widget is showing")),vw="application/vnd.code.copyMetadata";var _d;let pl=(_d=class extends Be{static get(e){return e.getContribution(zc.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(zi(c,"copy",h=>this.handleCopy(h))),this._register(zi(c,"cut",h=>this.handleCopy(h))),this._register(zi(c,"paste",h=>this.handlePaste(h),!0)),this._pasteProgressManager=this._register(new ev("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(iv,"pasteIntoEditor",e,v1,{id:YT,label:y("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},k0().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 z(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,Yb),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=VT(e.clipboardData),p=g.flatMap(N=>N.copyMimeTypes??[]),v=Ly();this.setCopyMetadata(e.clipboardData,{id:v,providerCopyMimeTypes:p,defaultPastePayload:h});const _=ws(async N=>{const V=cl(await Promise.all(g.map(async W=>{try{return await W.prepareDocumentPaste(t,s,f,N)}catch(J){console.error(J);return}})));V.reverse();for(const W of V)for(const[J,X]of W)f.replace(J,X);return f});(P=zc._currentCopyOperation)==null||P.dataTransferPromise.cancel(),zc._currentCopyOperation={handle:v,dataTransferPromise:_}}async handlePaste(e){var c,h,g;if(!e.clipboardData||!this._editor.hasTextFocus())return;(c=mo.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=jT(e.clipboardData);s.delete(vw);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],xs.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=>BT(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=mo.get(this._editor))==null||i.showMessage(y("pasteAsError","No paste edits for '{0}' found",t instanceof In?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new $u(r,3,void 0),c=ws(async h=>{const g=this._editor;if(!g.hasModel())return;const f=g.getModel(),p=new He,v=p.add(new Ss(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 lh)return this.applyDefaultPasteHandler(i,n,_,s);const S={triggerKind:iS.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 lh)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,V)=>new Promise((W,J)=>{(async()=>{var X,pe;try{const Ce=(pe=(X=N.provider).resolveDocumentPasteEdit)==null?void 0:pe.call(X,N,V),ze=new Jb,ve=Ce&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),y("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([ze.p,Ce]),{cancel:()=>(ze.cancel(),J(new Qb))},0);return ve&&(N.additionalEdit=ve.additionalEdit),W(N)}catch(Ce){return J(Ce)}})()}),_)}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=ws(async a=>{const c=this._editor;if(!c.hasModel())return;const h=c.getModel(),g=new He,f=g.add(new $u(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:iS.PasteAs,only:e&&e instanceof In?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 In?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=GT(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(vw,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(vw);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=mA.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=zc._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await zc._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(xs.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(xs.uriList,f1(ky.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new He,c=await jp(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){kc(v)||console.error(v);return}})),r),h=cl(c??[]).flat().filter(g=>!s.only||s.only.contains(g.kind));return{edits:ZT(h),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(xs.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 In?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},zc=_d,_d.ID="editor.contrib.copyPasteActionController",_d);pl=zc=x3([Fh(1,di),Fh(2,Xb),Fh(3,Sg),Fh(4,Et),Fh(5,bl),Fh(6,_A)],pl);const dh="9_cutcopypaste",L3=Cg||document.queryCommandSupported("cut"),JT=Cg||document.queryCommandSupported("copy"),k3=typeof navigator.clipboard>"u"||vA?document.queryCommandSupported("paste"):!0;function b1(o){return o.register(),o}const I3=L3?b1(new I0({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Cg?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:ct.MenubarEditMenu,group:"2_ccp",title:y({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:ct.EditorContext,group:dh,title:y("actions.clipboard.cutLabel","Cut"),when:M.writable,order:1},{menuId:ct.CommandPalette,group:"",title:y("actions.clipboard.cutLabel","Cut"),order:1},{menuId:ct.SimpleEditorContext,group:dh,title:y("actions.clipboard.cutLabel","Cut"),when:M.writable,order:1}]})):void 0,D3=JT?b1(new I0({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Cg?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:ct.MenubarEditMenu,group:"2_ccp",title:y({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:ct.EditorContext,group:dh,title:y("actions.clipboard.copyLabel","Copy"),order:2},{menuId:ct.CommandPalette,group:"",title:y("actions.clipboard.copyLabel","Copy"),order:1},{menuId:ct.SimpleEditorContext,group:dh,title:y("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;mr.appendMenuItem(ct.MenubarEditMenu,{submenu:ct.MenubarCopy,title:xt("copy as","Copy As"),group:"2_ccp",order:3});mr.appendMenuItem(ct.EditorContext,{submenu:ct.EditorContextCopy,title:xt("copy as","Copy As"),group:dh,order:3});mr.appendMenuItem(ct.EditorContext,{submenu:ct.EditorContextShare,title:xt("share","Share"),group:"11_share",order:-1,when:le.and(le.notEquals("resourceScheme","output"),M.editorTextFocus)});mr.appendMenuItem(ct.ExplorerContext,{submenu:ct.ExplorerContextShare,title:xt("share","Share"),group:"11_share",order:-1});const bw=k3?b1(new I0({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Cg?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:ct.MenubarEditMenu,group:"2_ccp",title:y({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:ct.EditorContext,group:dh,title:y("actions.clipboard.pasteLabel","Paste"),when:M.writable,order:4},{menuId:ct.CommandPalette,group:"",title:y("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:ct.SimpleEditorContext,group:dh,title:y("actions.clipboard.pasteLabel","Paste"),when:M.writable,order:4}]})):void 0;class E3 extends Se{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()||(zL.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),zL.forceCopyWithSyntaxHighlighting=!1)}}function QT(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(ns).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)=>(k0().execCommand(e),!0)))}QT(I3,"cut");QT(D3,"copy");bw&&(bw.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(ns),i=o.get(Sg),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=pl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():bA?(async()=>{const a=await i.readText();if(a!==""){const c=yA.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}),bw.addImplementation(0,"generic-dom",(o,e)=>(k0().execCommand("paste"),!0)));JT&&ne(E3);const bn=new class{constructor(){this.QuickFix=new In("quickfix"),this.Refactor=new In("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 In("notebook"),this.Source=new In("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var yo;(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"})(yo||(yo={}));function P3(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>eM(e,t,o.include))||!o.includeSourceActions&&bn.Source.contains(e))}function T3(o,e){const t=e.kind?new In(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>eM(t,i,o.include))||!o.includeSourceActions&&t&&bn.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function eM(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class ya{static fromUser(e,t){return!e||typeof e!="object"?new ya(t.kind,t.apply,!1):new ya(ya.getKindFromUser(e,t.kind),ya.getApplyFromUser(e,t.apply),ya.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 In(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 M3{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){is(n)}i&&(this.action.edit=i.edit)}return this}}const tM="editor.action.codeAction",y1="editor.action.quickFix",iM="editor.action.autoFix",nM="editor.action.refactor",sM="editor.action.sourceAction",WS="editor.action.organizeImports",BS="editor.action.fixAll";class Nf extends Be{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:To(e.diagnostics)?To(t.diagnostics)?Nf.codeActionsPreferredComparator(e,t):-1:To(t.diagnostics)?1:Nf.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(Nf.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&bn.QuickFix.contains(new In(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 Hk={actions:[],documentation:void 0};async function lu(o,e,t,i,n,s){var w;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],bn.Notebook]},c={only:(w=r.include)==null?void 0:w.value,trigger:i.type},h=new wA(e,s),g=i.type===2,f=N3(o,e,g?a:r),p=new He,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 Hk;const P=((D==null?void 0:D.actions)||[]).filter(V=>V&&T3(r,V)),N=A3(S,P,r.include);return{actions:P.map(V=>new M3(V,S)),documentation:N}}catch(D){if(kc(D))throw D;return is(D),Hk}}),_=o.onDidChange(()=>{const S=o.all(e);Pa(S,f)||h.cancel()});try{const S=await Promise.all(v),D=S.map(N=>N.actions).flat(),P=[...cl(S.map(N=>N.documentation)),...R3(o,e,i,D)];return new Nf(D,P,p)}finally{_.dispose(),h.dispose()}}function N3(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>P3(t,new In(n))):!0)}function*R3(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 A3(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new In(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 In(n.kind)))return s.command}}var Jc;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(Jc||(Jc={}));async function O3(o,e,t,i,n=fi.None){var h;const s=o.get(Xb),r=o.get(_s),a=o.get(Xr),c=o.get(Xs);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!==Jc.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=F3(g);c.error(typeof f=="string"?f:y("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function F3(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}wn.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof ln))throw sl();const{codeActionProvider:s}=o.get(Et),r=o.get(Ys).getModel(e);if(!r)throw sl();const a=Kt.isISelection(t)?Kt.liftSelection(t):z.isIRange(t)?r.validateRange(t):void 0;if(!a)throw sl();const c=typeof i=="string"?new In(i):void 0,h=await lu(s,r,a,{type:1,triggerAction:yo.Default,filter:{includeSourceActions:!0,include:c}},Ja.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 H3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},W3=function(o,e){return function(t,i){e(t,i,o)}},zS,vd;let VS=(vd=class{constructor(e){this.keybindingService=e}getResolver(){const e=new D0(()=>this.keybindingService.getKeybindings().filter(t=>zS.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===WS?i={kind:bn.SourceOrganizeImports.value}:t.command===BS&&(i={kind:bn.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...ya.fromUser(i,{kind:In.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 In(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)}},zS=vd,vd.codeActionCommands=[nM,tM,sM,WS,BS],vd);VS=zS=H3([W3(0,ls)],VS);mt("symbolIcon.arrayForeground",fs,y("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.booleanForeground",fs,y("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("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."));mt("symbolIcon.colorForeground",fs,y("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.constantForeground",fs,y("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("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."));mt("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."));mt("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."));mt("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."));mt("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."));mt("symbolIcon.fileForeground",fs,y("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.folderForeground",fs,y("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("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."));mt("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."));mt("symbolIcon.keyForeground",fs,y("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.keywordForeground",fs,y("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("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."));mt("symbolIcon.moduleForeground",fs,y("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.namespaceForeground",fs,y("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.nullForeground",fs,y("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.numberForeground",fs,y("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.objectForeground",fs,y("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.operatorForeground",fs,y("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.packageForeground",fs,y("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.propertyForeground",fs,y("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.referenceForeground",fs,y("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.snippetForeground",fs,y("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.stringForeground",fs,y("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.structForeground",fs,y("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.textForeground",fs,y("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.typeParameterForeground",fs,y("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.unitForeground",fs,y("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("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 oM=Object.freeze({kind:In.Empty,title:y("codeAction.widget.id.more","More Actions...")}),B3=Object.freeze([{kind:bn.QuickFix,title:y("codeAction.widget.id.quickfix","Quick Fix")},{kind:bn.RefactorExtract,title:y("codeAction.widget.id.extract","Extract"),icon:Qt.wrench},{kind:bn.RefactorInline,title:y("codeAction.widget.id.inline","Inline"),icon:Qt.wrench},{kind:bn.RefactorRewrite,title:y("codeAction.widget.id.convert","Rewrite"),icon:Qt.wrench},{kind:bn.RefactorMove,title:y("codeAction.widget.id.move","Move"),icon:Qt.wrench},{kind:bn.SurroundWith,title:y("codeAction.widget.id.surround","Surround With"),icon:Qt.surroundWith},{kind:bn.Source,title:y("codeAction.widget.id.source","Source Action"),icon:Qt.symbolFile},oM]);function z3(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:oM,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=B3.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new In(s.action.kind):In.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:Qt.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var V3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},j3=function(o,e){return function(t,i){e(t,i,o)}},Jh;const Wk=Jn("gutter-lightbulb",Qt.lightBulb,y("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),Bk=Jn("gutter-lightbulb-auto-fix",Qt.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.")),zk=Jn("gutter-lightbulb-sparkle",Qt.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.")),Vk=Jn("gutter-lightbulb-aifix-auto-fix",Qt.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.")),jk=Jn("gutter-lightbulb-sparkle-filled",Qt.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 Tr;(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})(Tr||(Tr={}));var tl;let cp=(tl=class extends Be{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new gi),this.onClick=this._onClick.event,this._state=Tr.Hidden,this._gutterState=Tr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+Wk.id,"codicon-"+Vk.id,"codicon-"+Bk.id,"codicon-"+zk.id,"codicon-"+jk.id],this.gutterDecoration=Jh.GUTTER_DECORATION,this._domNode=pt("div.lightBulbWidget"),this._domNode.role="listbox",this._register(rE.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(SA(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=no(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(zi(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(us.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(iM))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(y1))==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}=no(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=E0(f,h),v=g.spaceWidth*p>22,_=W=>W>2&&this._editor.getTopForLineNumber(W)===this._editor.getTopForLineNumber(W-1),w=this._editor.getLineDecorations(a);let S=!1;if(w)for(const W of w){const J=W.options.glyphMarginClassName;if(J&&!this.lightbulbClasses.some(X=>J.includes(X))){S=!0;break}}let D=a,P=1;if(!v){const W=J=>{const X=r.getLineContent(J);return/^\s*$|^\s+/.test(X)||X.length<=P};if(a>1&&!_(a-1)){const J=r.getLineCount(),X=a===J,pe=a>1&&W(a-1),Ce=!X&&W(a+1),ze=W(a),ve=!Ce&&!pe;if(!Ce&&!pe&&!S)return this.gutterState=new Tr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:Jh._posPref}),this.renderGutterLightbub(),this.hide();pe||X||pe&&!ze?D-=1:(Ce||ve&&ze)&&(D+=1)}else if(a===1&&(a===r.getLineCount()||!W(a+1)&&!W(a)))if(this.gutterState=new Tr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:Jh._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 Tr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:Jh._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const N=e.validActions,V=e.validActions[0].action.kind;if(N.length!==1||!V){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==Tr.Hidden&&(this.state=Tr.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==Tr.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=Tr.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=Qt.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=Qt.lightbulbSparkleAutofix:e=Qt.lightbulbAutofix:this.state.actions.hasAIFix?e=Qt.lightbulbSparkle:e=Qt.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=jk,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=Vk:e=Bk:this.gutterState.actions.hasAIFix?e=zk:e=Wk,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=Pi.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:$i.asClassName(e),glyphMargin:{position:A_.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 z(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 z(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}},Jh=tl,tl.GUTTER_DECORATION=Pi.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:$i.asClassName(Qt.lightBulb),glyphMargin:{position:A_.Left},stickiness:1}),tl.ID="editor.contrib.lightbulbWidget",tl._posPref=[0],tl);cp=Jh=V3([j3(1,ls)],cp);var rM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jS=function(o,e){return function(t,i){e(t,i,o)}};const aM="acceptSelectedCodeAction",lM="previewSelectedCodeAction";class U3{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 US=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 P0(e,T0);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=sd(e.group.icon.color.id))):(i.icon.className=$i.asClassName(Qt.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=cM(e.label),i.keybinding.set(e.keybinding),CA(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(aM))==null?void 0:a.getLabel(),s=(c=this._keybindingService.lookupKeybinding(lM))==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()}};US=rM([jS(1,ls)],US);class $3 extends UIEvent{constructor(){super("acceptSelectedAction")}}class Uk extends UIEvent{constructor(){super("previewSelectedAction")}}function q3(o){if(o.kind==="action")return o.label}let $S=class extends Be{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 Ss),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 US(t,this._keybindingService),new U3],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:q3},accessibilityProvider:{getAriaLabel:c=>{if(c.kind==="action"){let h=c.label?cM(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(xA),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 Uk:new $3;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 Uk):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([])}};$S=rM([jS(4,ey),jS(5,ls)],$S);function cM(o){return o.replace(/\r\n|\r|\n/g," ")}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},yw=function(o,e){return function(t,i){e(t,i,o)}};mt("actionBar.toggledBackground",N0,y("actionBar.toggledBackground","Background color for toggled action items in action bar."));const hh={Visible:new Ai("codeActionMenuVisible",!1,y("codeActionMenuVisible","Whether the action widget list is visible"))},Lh=yl("actionWidgetService");let uh=class extends Be{get isVisible(){return hh.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Ro)}show(e,t,i,n,s,r,a){const c=hh.Visible.bindTo(this._contextKeyService),h=this._instantiationService.createInstance($S,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 He,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(zi(a,jn.MOUSE_DOWN,_=>_.stopPropagation()));const c=document.createElement("div"),h=e.appendChild(c);h.classList.add("context-view-pointerBlock"),s.add(zi(h,jn.POINTER_MOVE,()=>h.remove())),s.add(zi(h,jn.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(qu(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=pt(e),n=new Gf(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};uh=K3([yw(0,ey),yw(1,Vi),yw(2,di)],uh);wl(Lh,uh,1);const cm=1100;Qi(class extends ro{constructor(){super({id:"hideCodeActionWidget",title:xt("hideCodeActionWidget.title","Hide action widget"),precondition:hh.Visible,keybinding:{weight:cm,primary:9,secondary:[1033]}})}run(o){o.get(Lh).hide(!0)}});Qi(class extends ro{constructor(){super({id:"selectPrevCodeAction",title:xt("selectPrevCodeAction.title","Select previous action"),precondition:hh.Visible,keybinding:{weight:cm,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(Lh);e instanceof uh&&e.focusPrevious()}});Qi(class extends ro{constructor(){super({id:"selectNextCodeAction",title:xt("selectNextCodeAction.title","Select next action"),precondition:hh.Visible,keybinding:{weight:cm,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(Lh);e instanceof uh&&e.focusNext()}});Qi(class extends ro{constructor(){super({id:aM,title:xt("acceptSelected.title","Accept selected action"),precondition:hh.Visible,keybinding:{weight:cm,primary:3,secondary:[2137]}})}run(o){const e=o.get(Lh);e instanceof uh&&e.acceptSelected()}});Qi(class extends ro{constructor(){super({id:lM,title:xt("previewSelected.title","Preview selected action"),precondition:hh.Visible,keybinding:{weight:cm,primary:2051}})}run(o){const e=o.get(Lh);e instanceof uh&&e.acceptSelected(!0)}});const dM=new Ai("supportedCodeAction",""),$k="_typescript.applyFixAllCodeAction";class G3 extends Be{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new Up),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=>O_(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:yo.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!==iw.Off){{if(i===iw.On)return t;if(i===iw.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 $c;(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(kc(r))return hM;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})($c||($c={}));const hM=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class Z3 extends Be{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 Ro),this._state=$c.Empty,this._onDidChangeState=this._register(new gi),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=dM.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($c.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($c.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 G3(this._editor,this._markerService,i=>{var c;if(!i){this.setState($c.Empty);return}const n=i.selection.getStartPosition(),s=ws(async h=>{var g,f,p,v,_,w,S,D,P,N;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===yo.QuickFix||(f=(g=i.trigger.filter)==null?void 0:g.include)!=null&&f.contains(bn.QuickFix))){const V=await lu(this._registry,e,i.selection,i.trigger,Ja.None,h),W=[...V.allActions];if(h.isCancellationRequested)return hM;const J=(p=V.validActions)==null?void 0:p.some(pe=>pe.action.kind?bn.QuickFix.contains(new In(pe.action.kind)):!1),X=this._markerService.read({resource:e.uri});if(J){for(const pe of V.validActions)(_=(v=pe.action.command)==null?void 0:v.arguments)!=null&&_.some(Ce=>typeof Ce=="string"&&Ce.includes($k))&&(pe.action.diagnostics=[...X.filter(Ce=>Ce.relatedInformation)]);return{validActions:V.validActions,allActions:W,documentation:V.documentation,hasAutoFix:V.hasAutoFix,hasAIFix:V.hasAIFix,allAIFixes:V.allAIFixes,dispose:()=>{V.dispose()}}}else if(!J&&X.length>0){const pe=i.selection.getPosition();let Ce=pe,ze=Number.MAX_VALUE;const ve=[...V.validActions];for(const Ft of X){const wt=Ft.endColumn,ai=Ft.endLineNumber,zt=Ft.startLineNumber;if(ai===pe.lineNumber||zt===pe.lineNumber){Ce=new Dt(ai,wt);const ti={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:bn.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((D=i.trigger.context)==null?void 0:D.notAvailableMessage)||"",position:Ce}},Ae=new Kt(Ce.lineNumber,Ce.column,Ce.lineNumber,Ce.column),Ze=await lu(this._registry,e,Ae,ti,Ja.None,h);if(Ze.validActions.length!==0){for(const Oe of Ze.validActions)(N=(P=Oe.action.command)==null?void 0:P.arguments)!=null&&N.some(st=>typeof st=="string"&&st.includes($k))&&(Oe.action.diagnostics=[...X.filter(st=>st.relatedInformation)]);V.allActions.length===0&&W.push(...Ze.allActions),Math.abs(pe.column-wt)<ze?ve.unshift(...Ze.validActions):ve.push(...Ze.validActions)}ze=Math.abs(pe.column-wt)}}const nt=ve.filter((Ft,wt,ai)=>ai.findIndex(zt=>zt.action.title===Ft.action.title)===wt);return nt.sort((Ft,wt)=>Ft.action.isPreferred&&!wt.action.isPreferred?-1:!Ft.action.isPreferred&&wt.action.isPreferred||Ft.action.isAI&&!wt.action.isAI?1:!Ft.action.isAI&&wt.action.isAI?-1:0),{validActions:nt,allActions:W,documentation:V.documentation,hasAutoFix:V.hasAutoFix,hasAIFix:V.hasAIFix,allAIFixes:V.allAIFixes,dispose:()=>{V.dispose()}}}}if(i.trigger.type===1){const V=new bo,W=await lu(this._registry,e,i.selection,i.trigger,Ja.None,h);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:W.validActions.length,duration:V.elapsed()}),W}return lu(this._registry,e,i.selection,i.trigger,Ja.None,h)});i.trigger.type===1&&((c=this._progressService)==null||c.showWhile(s,250));const r=new $c.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:yo.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 X3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Qh;const Y3="quickfix-edit-highlight";var ic;let ag=(ic=class extends Be{static get(e){return e.getContribution(Qh.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 Ro),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new Z3(this._editor,s.codeActionProvider,t,i,r,c,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new D0(()=>{const p=this._editor.getContribution(cp.ID);return p&&this._register(p.onClick(v=>this.showCodeActionsFromLightbulb(v.actions,v))),p}),this._resolver=n.createInstance(VS),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,Jc.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=mo.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(O3,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:yo.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){gn(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,Jc.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const f=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(f&&f.action.disabled){(r=mo.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=mo.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=Dt.isIPosition(t)?this.toCoords(t):t,c={onSelect:async(h,g)=>{this._applyCodeAction(h,!0,!!g,i.fromLightbulb?Jc.FromAILightbulb:Jc.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 In(p);f=[bn.RefactorExtract,bn.RefactorInline,bn.RefactorRewrite,bn.RefactorMove,bn.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:Qh.DECORATION})):p.map(w=>({range:w,options:Qh.DECORATION}));n.set(_)}else if(v&&v.length>0){const _=v.map(S=>({range:S,options:Qh.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;Ku(y("editingNewSelection","Context: {0} at line {1} and column {2}.",S,w.startLineNumber,w.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,z3(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=no(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}},Qh=ic,ic.ID="editor.contrib.codeActionController",ic.DECORATION=Pi.register({description:"quickfix-highlight",className:Y3}),ic);ag=Qh=X3([oa(1,R0),oa(2,Vi),oa(3,di),oa(4,Et),oa(5,$p),oa(6,_s),oa(7,Dn),oa(8,Lh),oa(9,di),oa(10,Xr)],ag);ty((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(LA));const i=o.getColor(aE);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Zf(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function dm(o){return le.regex(dM.keys()[0],new RegExp("(\\s|^)"+Xf(o.value)+"\\b"))}const w1={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 kh(o,e,t,i,n=yo.Default){if(o.hasModel()){const s=ag.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class J3 extends Se{constructor(){super({id:y1,label:y("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:le.and(M.writable,M.hasCodeActionsProvider),kbOpts:{kbExpr:M.textInputFocus,primary:2137,weight:100}})}run(e,t){return kh(t,y("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,yo.QuickFix)}}class Q3 extends ao{constructor(){super({id:tM,precondition:le.and(M.writable,M.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:w1}]}})}runEditorCommand(e,t,i){const n=ya.fromUser(i,{kind:In.Empty,apply:"ifSingle"});return kh(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 eB extends Se{constructor(){super({id:nM,label:y("refactor.label","Refactor..."),alias:"Refactor...",precondition:le.and(M.writable,M.hasCodeActionsProvider),kbOpts:{kbExpr:M.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:le.and(M.writable,dm(bn.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:w1}]}})}run(e,t,i){const n=ya.fromUser(i,{kind:bn.Refactor,apply:"never"});return kh(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:bn.Refactor.contains(n.kind)?n.kind:In.None,onlyIncludePreferredActions:n.preferred},n.apply,yo.Refactor)}}class tB extends Se{constructor(){super({id:sM,label:y("source.label","Source Action..."),alias:"Source Action...",precondition:le.and(M.writable,M.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:le.and(M.writable,dm(bn.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:w1}]}})}run(e,t,i){const n=ya.fromUser(i,{kind:bn.Source,apply:"never"});return kh(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:bn.Source.contains(n.kind)?n.kind:In.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,yo.SourceAction)}}class iB extends Se{constructor(){super({id:WS,label:y("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:le.and(M.writable,dm(bn.SourceOrganizeImports)),kbOpts:{kbExpr:M.textInputFocus,primary:1581,weight:100}})}run(e,t){return kh(t,y("editor.action.organize.noneMessage","No organize imports action available"),{include:bn.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",yo.OrganizeImports)}}class nB extends Se{constructor(){super({id:BS,label:y("fixAll.label","Fix All"),alias:"Fix All",precondition:le.and(M.writable,dm(bn.SourceFixAll))})}run(e,t){return kh(t,y("fixAll.noneMessage","No fix all action available"),{include:bn.SourceFixAll,includeSourceActions:!0},"ifSingle",yo.FixAll)}}class sB extends Se{constructor(){super({id:iM,label:y("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:le.and(M.writable,dm(bn.QuickFix)),kbOpts:{kbExpr:M.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return kh(t,y("editor.action.autoFix.noneMessage","No auto fixes available"),{include:bn.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",yo.AutoFix)}}vi(ag.ID,ag,3);vi(cp.ID,cp,4);ne(J3);ne(eB);ne(tB);ne(iB);ne(sB);ne(nB);Nt(new Q3);Gr.as(qp.Configuration).registerConfiguration({...iy,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:y("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});Gr.as(qp.Configuration).registerConfiguration({...iy,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}}});Gr.as(qp.Configuration).registerConfiguration({...iy,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 qS{constructor(){this.lenses=[],this._disposables=new He}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 uM(o,e,t){const i=o.ordered(e),n=new Map,s=new qS,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){is(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}wn.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;Ui(ln.isUri(t)),Ui(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(Et),s=o.get(Ys).getModel(t);if(!s)throw sl();const r=[],a=new He;return uM(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 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},rB=function(o,e){return function(t,i){e(t,i,o)}};const gM=yl("ICodeLensCache");class qk{constructor(e,t){this.lineCount=e,this.data=t}}let KS=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Kp(20,.75);const t="codelens/cache";kA(IA,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=us.filter(e.onWillSaveState,r=>r.reason===A0.SHUTDOWN);us.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 qS;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new qk(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 z(a,1,a,11)});const r=new qS;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new qk(n.lineCount,r))}}catch{}}};KS=oB([rB(0,Ic)],KS);wl(gM,KS,1);class aB{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 $f=class $f{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${$f._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=DA(r.command.title.trim());if(r.command.id){const c=`c${$f._idPool++}`;i.push(pt("a",{id:c,title:r.command.tooltip,role:"button"},...a)),this._commands.set(c,r.command)}else i.push(pt("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(pt("span",void 0," | "))}}n?(F_(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):F_(this._domNode,pt("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}};$f._idPool=0;let GS=$f;class ww{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 Kk=Pi.register({collapseOnReplaceEdit:!0,description:"codelens"});class Gk{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:Kk},f=>this._decorationIds[g]=f),a?a=z.plusRange(a,h.symbol.range):a=z.lift(h.symbol.range)}),this._viewZone=new aB(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 GS(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&&z.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:Kk},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 lB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ef=function(o,e){return function(t,i){e(t,i,o)}},Ru;let dp=(Ru=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 He,this._localToDispose=new He,this._lenses=[],this._oldCodeLensModels=new He,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new gs(()=>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",O0.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&&Kf(()=>{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 gs(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=ws(r=>uM(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()},gn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(kn(()=>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 ww;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(kn(()=>{if(this._editor.getModel()){const n=Gu.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 ww;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=Gu.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(c=>{const h=new ww;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 Gk(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 Gk(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=ws(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},is):(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=>{gn(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}},Ru.ID="css.editor.codeLens",Ru);dp=lB([ef(1,Et),ef(2,Go),ef(3,_s),ef(4,Xs),ef(5,gM)],dp);vi(dp.ID,dp,1);ne(class extends Se{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(bl),n=e.get(_s),s=e.get(Xs),r=t.getSelection().positionLineNumber,a=t.getContribution(dp.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 fM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ZS=function(o,e){return function(t,i){e(t,i,o)}};let hp=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 Ii(new Zu(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),c=r?Ii.Format.CSS.formatRGB(a):Ii.Format.CSS.formatRGBA(a),h=r?Ii.Format.CSS.formatHSL(a):Ii.Format.CSS.formatHSLA(a),g=r?Ii.Format.CSS.formatHex(a):Ii.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}};hp=fM([ZS(0,Sl)],hp);let XS=class extends Be{constructor(e,t){super(),this._register(e.colorProvider.register("*",new hp(t)))}};XS=fM([ZS(0,Et),ZS(1,Sl)],XS);xg(XS);async function pM(o,e,t,i=!0){return S1(new cB,o,e,t,i)}function mM(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class cB{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 dB{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 hB{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 S1(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 hp)r=g;else try{await o.compute(g,t,i,a)&&(s=!0)}catch(f){is(f)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function _M(o,e){const{colorProvider:t}=o.get(Et),i=o.get(Ys).getModel(e);if(!i)throw sl();const n=o.get(Dn).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}wn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof ln))throw sl();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=_M(o,t);return S1(new dB,n,i,fi.None,s)});wn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof ln)||!Array.isArray(t)||t.length!==4||!z.isIRange(s))throw sl();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:c}=_M(o,n),[h,g,f,p]=t;return S1(new hB({range:s,color:{red:h,green:g,blue:f,alpha:p}}),a,r,fi.None,c)});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},Sw=function(o,e){return function(t,i){e(t,i,o)}},YS;const vM=Object.create({});var nc;let lg=(nc=class extends Be{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new He),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new lE(this._editor),this._decoratorLimitReporter=new gB,this._colorDecorationClassRefs=this._register(new He),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:YS.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 Up,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=ws(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new bo(!1),n=await pM(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){gn(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:Pi.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 Zu(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:sE,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:vM}}})}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(z.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)}},YS=nc,nc.ID="editor.contrib.colorDetector",nc.RECOMPUTE_TIME=1e3,nc);lg=YS=uB([Sw(1,Dn),Sw(2,Et),Sw(3,Go)],lg);class gB{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(lg.ID,lg,1);class fB{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 Po=pt;class pB extends Be{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Po(".colorpicker-header"),dt(e,this._domNode),this._pickedColorNode=dt(this._domNode,Po(".picked-color")),dt(this._pickedColorNode,Po("span.codicon.codicon-color-mode")),this._pickedColorPresentation=dt(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=dt(this._domNode,Po(".original-color")),this._originalColorNode.style.backgroundColor=Ii.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(VL)||Ii.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(VL)||Ii.white})),this._register(zi(this._pickedColorNode,jn.CLICK,()=>this.model.selectNextColorPresentation())),this._register(zi(this._originalColorNode,jn.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=Ii.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 mB(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Ii.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 mB extends Be{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"),dt(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),dt(this._button,t),dt(t,Po(".button"+$i.asCSSSelector(Jn("color-picker-close",Qt.close,y("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(zi(this._button,jn.CLICK,()=>{this._onClicked.fire()}))}}class _B extends Be{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Po(".colorpicker-body"),dt(e,this._domNode),this._saturationBox=new vB(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 bB(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 yB(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 wB(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 Ii(new c_(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Ii(new c_(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new Ii(new c_(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 vB extends Be{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=Po(".saturation-wrap"),dt(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",dt(this._domNode,this._canvas),this.selection=Po(".saturation-selection"),dt(this._domNode,this.selection),this.layout(),this._register(zi(this._domNode,jn.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 cE);const t=no(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=zi(e.target.ownerDocument,jn.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 Ii(new c_(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=Ii.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 bM extends Be{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=dt(e,Po(".standalone-strip")),this.overlay=dt(this.domNode,Po(".standalone-overlay"))):(this.domNode=dt(e,Po(".strip")),this.overlay=dt(this.domNode,Po(".overlay"))),this.slider=dt(this.domNode,Po(".slider")),this.slider.style.top="0px",this._register(zi(this.domNode,jn.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 cE),i=no(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=zi(e.target.ownerDocument,jn.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 bB extends bM{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 Ii(new Zu(t,i,n,1)),r=new Ii(new Zu(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class yB extends bM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class wB extends Be{constructor(e){super(),this._onClicked=this._register(new gi),this.onClicked=this._onClicked.event,this._button=dt(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(zi(this._button,jn.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class SB extends Gp{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(EA.getInstance(od(e)).onDidChange(()=>this.layout())),this._domNode=Po(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new pB(this._domNode,this.model,n,s)),this.body=this._register(new _B(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class Cw{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 w_{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 gh{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const Ih=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var yM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};class CB{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 up=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return Vr.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=lg.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 SM(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=CM(this,this._editor,this._themeService,t,e);if(!i)return new gh([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new gh([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};up=yM([wM(1,yr)],up);class xB{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let gp=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!lg.get(this._editor))return null;const s=await pM(i,this._editor.getModel(),fi.None);let r=null,a=null;for(const f of s){const p=f.colorInfo;z.containsRange(p.range,e.range)&&(r=p,a=f.provider)}const c=r??e,h=a??t,g=!!r;return{colorHover:await SM(this,this._editor.getModel(),c,h),foundInEditor:g}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new z(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await S_(this._editor.getModel(),t,this._color,i,e),i=xM(this._editor,i,t))}renderHoverParts(e,t){return CM(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};gp=yM([wM(1,yr)],gp);async function SM(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:c}=t.color,h=new Zu(Math.round(s*255),Math.round(r*255),Math.round(a*255),c),g=new Ii(h),f=await mM(e,t,i,fi.None),p=new fB(g,[],0);return p.colorPresentations=f||[],p.guessColorPresentation(g,n),o instanceof up?new CB(o,z.lift(t.range),p,i):new xB(o,z.lift(t.range),p,i)}function CM(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new vn(302,p))}const s=new He,r=i[0],a=e.getModel(),c=r.model,h=s.add(new SB(n.fragment,c,e.getOption(144),t,o instanceof gp));let g=!1,f=new z(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof gp){const p=r.model.color;o.color=p,S_(a,c,p,f,r),s.add(c.onColorFlushed(v=>{o.color=v}))}else s.add(c.onColorFlushed(async p=>{await S_(a,c,p,f,r),g=!0,f=xM(e,f,c)}));return s.add(c.onDidChangeColor(p=>{S_(a,c,p,f,r)})),s.add(e.onDidChangeModelContent(p=>{g?g=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:h,disposables:s}}function xM(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=z.lift(n.range),r=o.getModel()._setTrackedRange(null,s,3);return o.executeEdits("colorpicker",i),o.pushUndoStop(),o.getModel()._getTrackedRange(r)??s}async function S_(o,e,t,i,n){const s=await mM(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 LM="editor.action.showHover",LB="editor.action.showDefinitionPreviewHover",kB="editor.action.scrollUpHover",IB="editor.action.scrollDownHover",DB="editor.action.scrollLeftHover",EB="editor.action.scrollRightHover",PB="editor.action.pageUpHover",TB="editor.action.pageDownHover",MB="editor.action.goToTopHover",NB="editor.action.goToBottomHover",Iy="editor.action.increaseHoverVerbosityLevel",RB=y({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),Dy="editor.action.decreaseHoverVerbosityLevel",AB=y({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),kM="editor.action.inlineSuggest.commit",IM="editor.action.inlineSuggest.showPrevious",DM="editor.action.inlineSuggest.showNext";var C1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},cr=function(o,e){return function(t,i){e(t,i,o)}},C_;let JS=class extends Be{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=go(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=Yi(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 Dt(s.lineNumber,Math.min(r,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Zp((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=gE((h,g)=>{const f=g.add(this.instantiationService.createInstance(cg,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(f),g.add(kn(()=>e.removeContentWidget(f))),g.add(Vn(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==ol.Explicit&&r.triggerExplicitly()})),f}),c=ny(this,(h,g)=>!!this.position.read(h)||!!g);s.add(Vn(h=>{c.read(h)&&a.read(h)}))}))}};JS=C1([cr(2,di)],JS);const OB=Jn("inline-suggestion-hints-next",Qt.chevronRight,y("parameterHintsNextIcon","Icon for show next parameter hint.")),FB=Jn("inline-suggestion-hints-previous",Qt.chevronLeft,y("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var sc;let cg=(sc=class extends Be{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new Xu(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${C_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=dr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[dr("div@toolBar")]),this.previousAction=this.createCommandAction(IM,y("previous","Previous"),$i.asClassName(FB)),this.availableSuggestionCountAction=new Xu("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(DM,y("next","Next"),$i.asClassName(OB)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(ct.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new gs(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new gs(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(c.createInstance(QS,this.nodes.toolBar,ct.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,v)=>{if(p instanceof Yu)return c.createInstance(WB,p,void 0);if(p===this.availableSuggestionCountAction){const _=new HB(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=>{C_._dropDownVisible=p})),this._register(Vn(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(Vn(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(Vn(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 Yu&&_.push(D);_.length>0&&_.unshift(new Yf),this.toolBar.setAdditionalSecondaryActions(_)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},C_=sc,sc._dropDownVisible=!1,sc.id=0,sc);cg=C_=C1([cr(6,_s),cr(7,di),cr(8,ls),cr(9,Vi),cr(10,wh)],cg);class HB extends nS{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 WB=class extends dE{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=dr("div.keybinding").root;this._register(new P0(t,T0,{disableTitle:!0,...hE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},QS=class extends uE{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=[];F0(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){Pa(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Pa(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};QS=C1([cr(3,wh),cr(4,Vi),cr(5,wg),cr(6,ls),cr(7,_s),cr(8,Xr)],QS);function Ey(o,e,t){const i=no(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let BB=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class EM extends Be{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 gs(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new gs(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new gs(()=>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=PA(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){gn(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 BB(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 x1{constructor(){this._onDidWillResize=new gi,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new gi,this.onDidResize=this._onDidResize.event,this._sashListener=new He,this._size=new vn(0,0),this._minSize=new vn(0,0),this._maxSize=new vn(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new nu(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new nu(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new nu(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:jL.North}),this._southSash=new nu(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:jL.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(us.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(us.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(us.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(us.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 vn(t,e);vn.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 zB=30,VB=24;class jB extends Be{constructor(e,t=new vn(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new x1),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=vn.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 vn(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?Dt.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:no(t).top+i.top-zB}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=no(t),s=Xp(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-VB}_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 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},Fm=function(o,e){return function(t,i){e(t,i,o)}},la;const Zk=30,$B=6;var oc;let eC=(oc=class extends jB{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 vn(a,r);super(e,c),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new fE),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),dt(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(qu(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 la.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 la._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return la._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){la._applyMaxDimensions(this._hover.contentsDomNode,e,t),la._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 vn(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){la._lastDimensions=new vn(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=$B;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?Xp(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=no(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=Xk(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=Xk(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,la._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,la._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=su(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&&TA(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 vn(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 vn(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 vn(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=su(e),i=nr(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=su(e),i=nr(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=su(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-Zk})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+Zk})}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})}},la=oc,oc.ID="editor.contrib.resizableContentHoverWidget",oc._lastDimensions=new vn(0,0),oc);eC=la=UB([Fm(1,Vi),Fm(2,Dn),Fm(3,sy),Fm(4,ls)],eC);function Xk(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 nv{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 Vr.EMPTY;const i=nv._getLineDecorations(this._editor,t);return Vr.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):Vr.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=nv._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return cl(t)}}class PM{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 qB(this,this.anchor,t,this.isComplete)}}class qB extends PM{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var KB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},GB=function(o,e){return function(t,i){e(t,i,o)}};const Yk=pt;let sv=class extends Be{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=Yk("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=dt(this.hoverElement,Yk("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(MA.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=dt(this.actionsElement,e);return this._hasContent=!0,t}};sv=KB([GB(0,ls)],sv);class ZB{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function XB(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(is);if(!(!s||!YB(s)))return new ZB(o,s,e)}function L1(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,c)=>XB(a,c,e,t,i));return Vr.fromPromises(r).coalesce()}function TM(o,e,t,i,n=!1){return L1(o,e,t,i,n).map(s=>s.hover).toPromise()}lo("_executeHoverProvider",(o,e,t)=>{const i=o.get(Et);return TM(i.hoverProvider,e,t,fi.None)});lo("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(Et);return TM(i.hoverProvider,e,t,fi.None,!0)});function YB(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var JB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Oc=function(o,e){return function(t,i){e(t,i,o)}};const cu=pt,QB=Jn("hover-increase-verbosity",Qt.add,y("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),e4=Jn("hover-decrease-verbosity",Qt.remove,y("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class ur{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 MM{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case $o.Increase:return this.hover.canIncreaseVerbosity??!1;case $o.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let fp=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 ur(this,e.range,[new Vs().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 ur(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 ur(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||Jf(D))continue;_.options.beforeContentClassName&&(v=!0);const P=new z(e.range.startLineNumber,w,e.range.startLineNumber,S);r.push(new ur(this,P,pE(D),v,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return Vr.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):Vr.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return L1(e,t,s,n).filter(c=>!Jf(c.hover.contents)).map(c=>{const h=c.hover.range?z.lift(c.hover.range):i.range,g=new MM(c.hover,c.provider,s);return new ur(this,h,c.hover.contents,!1,c.ordinal,g)})}renderHoverParts(e,t){return this._renderedHoverParts=new t4(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))}};fp=JB([Oc(1,Yr),Oc(2,Zr),Oc(3,Dn),Oc(4,Et),Oc(5,ls),Oc(6,Yp),Oc(7,_s)],fp);class Hm{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class t4{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 He,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(kn(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(Jp(n=>n.ordinal,oy)),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 He;if(r.add(i),!s)return new Hm(e,n,r);const a=s.supportsVerbosityAction($o.Increase),c=s.supportsVerbosityAction($o.Decrease);if(!a&&!c)return new Hm(e,n,r);const h=cu("div.verbosity-actions");return n.prepend(h),r.add(this._renderHoverExpansionAction(h,$o.Increase,a)),r.add(this._renderHoverExpansionAction(h,$o.Decrease,c)),new Hm(e,n,r)}_renderMarkdownHover(e,t){return NM(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new He,s=t===$o.Increase,r=dt(e,cu($i.asCSSSelector(s?QB:e4)));r.tabIndex=0;const a=new NA("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,n4(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const c=()=>this._commandService.executeCommand(t===$o.Increase?Iy:Dy);return n.add(new RA(r,c)),n.add(new AA(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 MM(a,r.hoverProvider,r.hoverPosition),h=s.hoverPart,g=new ur(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===$o.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new Ss;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){is(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 Hm(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 i4(o,e,t,i,n){e.sort(Jp(r=>r.ordinal,oy));const s=[];for(const r of e)s.push(NM(t,r,i,n,o.onContentsChanged));return new gh(s)}function NM(o,e,t,i,n){const s=new He,r=cu("div.hover-row"),a=cu("div.hover-row-contents");r.appendChild(a);const c=e.contents;for(const g of c){if(Jf(g))continue;const f=cu("div.markdown-hover"),p=dt(f,cu("div.hover-contents")),v=s.add(new Lg({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 n4(o,e){switch(e){case $o.Increase:{const t=o.lookupKeybinding(Iy);return t?y("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):y("increaseVerbosity","Increase Hover Verbosity")}case $o.Decrease:{const t=o.lookupKeybinding(Dy);return t?y("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):y("decreaseVerbosity","Decrease Hover Verbosity")}}}function tC(o,e){return!!o[e]}class xw{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=tC(e.event,t.triggerModifier),this.hasSideBySideModifier=tC(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class Jk{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=tC(e,t.triggerModifier)}}class Wm{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 Qk(o){return o==="altKey"?Ta?new Wm(57,"metaKey",6,"altKey"):new Wm(5,"ctrlKey",6,"altKey"):Ta?new Wm(6,"altKey",57,"metaKey"):new Wm(6,"altKey",5,"ctrlKey")}class Py extends Be{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=Qk(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=Qk(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 xw(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new xw(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new xw(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new Jk(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new Jk(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 RM{constructor(e,t){this.range=e,this.direction=t}}class k1{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new k1(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){is(t),this._isResolved=!1}}}const mu=class mu{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??mu._emptyInlayHintList,a])}catch(h){is(h)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new Qb;return new mu(i,s,t)}constructor(e,t,i){this._disposables=new He,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=mu._getRangeAtPosition(i,c);let f;g.getStartPosition().isBefore(c)?(f=z.fromPositions(g.getStartPosition(),c),h="after"):(f=z.fromPositions(c,g.getEndPosition()),h="before"),n.push(new k1(a,new RM(f,h),r))}}this.items=n.sort((s,r)=>Dt.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 z(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 z(i,c+1,i,h+1)}};mu._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let ov=mu;function s4(o){return ln.from({scheme:to.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var o4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Va=function(o,e){return function(t,i){e(t,i,o)}};let br=class extends OA{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){H0(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};br=o4([Va(4,di),Va(5,ns),Va(6,_s),Va(7,Vi),Va(8,yr),Va(9,Xs),Va(10,sy),Va(11,vs),Va(12,Et)],br);const eI=new Ii(new Zu(0,122,204)),r4={showArrow:!0,showFrame:!0,className:"",frameColor:eI,arrowColor:eI,keepEditorSelection:!1},a4="vs.editor.contrib.zoneWidget";class l4{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 c4{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const hb=class hb{constructor(e){this._editor=e,this._ruleName=hb._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),UL(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(){UL(this._ruleName),WA(`.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:z.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};hb._IdGenerator=new HA(".arrow-decoration-");let iC=hb;class d4{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new He,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=FA(t),H0(this.options,r4,!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 iC(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=z.isIRange(e)?z.lift(e):z.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:Pi.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 l4(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 c4(a4+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 z(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 nu(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 AM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};const FM=yl("IPeekViewService");wl(FM,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 so;(function(o){o.inPeekEditor=new Ai("inReferenceSearchEditor",!0,y("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(so||(so={}));var Au;let rv=(Au=class{constructor(e,t){e instanceof br&&so.inPeekEditor.bindTo(t)}dispose(){}},Au.ID="editor.contrib.referenceController",Au);rv=AM([OM(1,Vi)],rv);vi(rv.ID,rv,0);function h4(o){const e=o.get(ns).getFocusedCodeEditor();return e instanceof br?e.getParentEditor():e}const u4={headerBackgroundColor:Ii.white,primaryHeadingColor:Ii.fromHex("#333333"),secondaryHeadingColor:Ii.fromHex("#6c6c6cb3")};let av=class extends d4{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new gi,this.onDidClose=this._onDidClose.event,H0(this.options,u4,!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=pt(".head"),this._bodyElement=pt(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=pt(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),hl(this._titleElement,"click",s=>this._onTitleClick(s))),dt(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=pt("span.filename"),this._secondaryHeading=pt("span.dirname"),this._metaHeading=pt("span.meta"),dt(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=pt(".peekview-actions");dt(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new Gf(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new Xu("peekview.close",y("label.close","Close"),$i.asClassName(Qt.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:BA.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:Ia(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,hr(this._metaHeading)):Io(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`)}};av=AM([OM(2,di)],av);const g4=mt("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Ii.black,hcLight:Ii.white},y("peekViewTitleBackground","Background color of the peek view title area.")),HM=mt("peekViewTitleLabel.foreground",{dark:Ii.white,light:Ii.black,hcDark:Ii.white,hcLight:Qp},y("peekViewTitleForeground","Color of the peek view title.")),WM=mt("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},y("peekViewTitleInfoForeground","Color of the peek view title info.")),f4=mt("peekView.border",{dark:sS,light:sS,hcDark:dl,hcLight:dl},y("peekViewBorder","Color of the peek view borders and arrow.")),p4=mt("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Ii.black,hcLight:Ii.white},y("peekViewResultsBackground","Background color of the peek view result list."));mt("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Ii.white,hcLight:Qp},y("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));mt("peekViewResult.fileForeground",{dark:Ii.white,light:"#1E1E1E",hcDark:Ii.white,hcLight:Qp},y("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));mt("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},y("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));mt("peekViewResult.selectionForeground",{dark:Ii.white,light:"#6C6C6C",hcDark:Ii.white,hcLight:Qp},y("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const BM=mt("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Ii.black,hcLight:Ii.white},y("peekViewEditorBackground","Background color of the peek view editor."));mt("peekViewEditorGutter.background",BM,y("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));mt("peekViewEditorStickyScroll.background",BM,y("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));mt("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},y("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));mt("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},y("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));mt("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:ih,hcLight:ih},y("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class Sc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=zA.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,Ma(this.uri),this.range.startLineNumber,this.range.startColumn):y("aria.oneReference","in {0} on line {1} at column {2}",Ma(this.uri),this.range.startLineNumber,this.range.startColumn)}}class m4{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 z(n,c.startColumn,n,s),g=new z(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 pp{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new _c}dispose(){Us(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}",Ma(this.uri),this.uri.fsPath):y("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Ma(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 m4(i))}catch(i){gn(i)}return this}}class _o{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(_o._compareReferences);let n;for(const s of e)if((!n||!$L.isEqual(n.uri,s.uri,!0))&&(n=new pp(this,s.uri),this.groups.push(n)),n.children.length===0||_o._compareReferences(s,n.children[n.children.length-1])!==0){const r=new Sc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){Us(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new _o(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:em(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()&&z.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 $L.compare(e.uri,t.uri)||z.compareRangesUsingStarts(e.range,t.range)}}var Ty=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},My=function(o,e){return function(t,i){e(t,i,o)}},nC;let sC=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof _o||e instanceof pp}getChildren(e){if(e instanceof _o)return e.groups;if(e instanceof pp)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};sC=Ty([My(0,Jr)],sC);class _4{getHeight(){return 23}getTemplateId(e){return e instanceof pp?lv.id:cv.id}}let oC=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof Sc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return Ma(e.uri)}};oC=Ty([My(0,ls)],oC);class v4{getId(e){return e instanceof Sc?e.id:e.uri}}let rC=class extends Be{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new mE(i,{supportHighlights:!0})),this.badge=new VA(dt(i,pt(".count")),{},jA),e.appendChild(i)}set(e,t){const i=W0(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))}};rC=Ty([My(1,Qf)],rC);var bd;let lv=(bd=class{constructor(e){this._instantiationService=e,this.templateId=nC.id}renderTemplate(e){return this._instantiationService.createInstance(rC,e)}renderElement(e,t,i){i.set(e.element,ry(e.filterData))}disposeTemplate(e){e.dispose()}},nC=bd,bd.id="FileReferencesRenderer",bd);lv=nC=Ty([My(0,di)],lv);class b4 extends Be{constructor(e){super(),this.label=this._register(new UA(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(`${Ma(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!ep.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,ry(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const ub=class ub{constructor(){this.templateId=ub.id}renderTemplate(e){return new b4(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};ub.id="OneReferenceRenderer";let cv=ub;class y4{getWidgetAriaLabel(){return y("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var w4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Hh=function(o,e){return function(t,i){e(t,i,o)}};const gb=class gb{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new He,this._callOnModelChange=new He,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:gb.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(!z.equalsRange(s,n.range)){if(z.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()}};gb.DecorationOptions=Pi.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let aC=gb;class S4{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 C4 extends KA{}let lC=class extends av{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 He,this._callOnDispose=new He,this._onDidSelectReference=new gi,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new vn(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(),Us(this._preview),Us(this._previewNotAvailableMessage),Us(this._tree),Us(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(f4)||Ii.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(g4)||Ii.transparent,primaryHeadingColor:e.getColor(HM),secondaryHeadingColor:e.getColor(WM)})}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=dt(e,pt("div.messages")),Io(this._messageContainer),this._splitView=new $A(e,{orientation:1}),this._previewContainer=dt(e,pt("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(br,this._previewContainer,t,{},this.editor),Io(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(Ul,y("missingPreviewMessage","no preview available"),tp,Ul.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=dt(e,pt("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new y4,keyboardNavigationLabelProvider:this._instantiationService.createInstance(oC),identityProvider:new v4,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:p4}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(hl(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(C4,"ReferencesWidget",this._treeContainer,new _4,[this._instantiationService.createInstance(lv),this._instantiationService.createInstance(cv)],this._instantiationService.createInstance(sC),i),this._splitView.addView({onDidChange:us.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},qL.Distribute),this._splitView.addView({onDidChange:us.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)}},qL.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 Sc&&(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")})),Io(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new vn(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"),hr(this._messageContainer),Promise.resolve(void 0)):(Io(this._messageContainer),this._decorationsManager=new aC(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"),hr(this._treeContainer),hr(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 Sc)return e;if(e instanceof pp&&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!==to.inMemory?this.setTitle(qA(e.uri),this._uriLabel.getUriLabel(W0(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}Us(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=z.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()}};lC=w4([Hh(3,yr),Hh(4,Jr),Hh(5,di),Hh(6,FM),Hh(7,Qf),Hh(8,ls)],lC);var x4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Wh=function(o,e){return function(t,i){e(t,i,o)}},x_;const Dh=new Ai("referenceSearchVisible",!1,y("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var yd;let fh=(yd=class{static get(e){return e.getContribution(x_.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 He,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=Dh.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=S4.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(lC,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 Dt(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=z.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=x_.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,ws(c=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,gn(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)}},x_=yd,yd.ID="editor.contrib.referencesController",yd);fh=x_=x4([Wh(2,Vi),Wh(3,ns),Wh(4,Xs),Wh(5,di),Wh(6,Ic),Wh(7,Dn)],fh);function Eh(o,e){const t=h4(o);if(!t)return;const i=fh.get(t);i&&e(i)}Aa.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:as(2089,60),when:le.or(Dh,so.inPeekEditor),handler(o){Eh(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Aa.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:le.or(Dh,so.inPeekEditor),handler(o){Eh(o,e=>{e.goToNextOrPreviousReference(!0)})}});Aa.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:le.or(Dh,so.inPeekEditor),handler(o){Eh(o,e=>{e.goToNextOrPreviousReference(!1)})}});wn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");wn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");wn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");wn.registerCommand("closeReferenceSearch",o=>Eh(o,e=>e.closeWidget()));Aa.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:le.and(so.inPeekEditor,le.not("config.editor.stablePeek"))});Aa.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:le.and(Dh,le.not("config.editor.stablePeek"),le.or(M.editorTextFocus,GA.negate()))});Aa.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:le.and(Dh,_E,vE.negate(),bE.negate()),handler(o){var i;const t=(i=o.get(B0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Sc&&Eh(o,n=>n.revealReference(t[0]))}});Aa.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:le.and(Dh,_E,vE.negate(),bE.negate()),handler(o){var i;const t=(i=o.get(B0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Sc&&Eh(o,n=>n.openReference(t[0],!0,!0))}});wn.registerCommand("openReference",o=>{var i;const t=(i=o.get(B0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Sc&&Eh(o,n=>n.openReference(t[0],!1,!0))});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},ff=function(o,e){return function(t,i){e(t,i,o)}};const I1=new Ai("hasSymbols",!1,y("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),Ny=yl("ISymbolNavigationService");let cC=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=I1.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 dC(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(O_(f.uri,a.uri))h=!0,g=g||z.containsPosition(f.range,c);else if(h)break;(!h||!g)&&this.reset()});this._currentState=yE(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:z.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)}};cC=zM([ff(0,Vi),ff(1,ns),ff(2,Xs),ff(3,ls)],cC);wl(Ny,cC,1);Nt(new class extends ao{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:I1,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(Ny).revealNext(e)}});Aa.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:I1,primary:9,handler(o){o.get(Ny).reset()}});let dC=class{constructor(e){this._listener=new Map,this._disposables=new He,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(),Us(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,yE(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)}};dC=zM([ff(0,ns)],dC);function hC(o,e){return e.uri.scheme===o.uri.scheme?!0:!ZA(e.uri,to.walkThroughSnippet,to.vscodeChatCodeBlock,to.vscodeChatCodeCompareBlock)}async function hm(o,e,t,i,n){const r=t.ordered(o,i).map(c=>Promise.resolve(n(c,o,e)).then(void 0,h=>{is(h)})),a=await Promise.all(r);return cl(a.flat()).filter(c=>hC(o,c))}function um(o,e,t,i,n){return hm(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function D1(o,e,t,i,n){return hm(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function E1(o,e,t,i,n){return hm(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function P1(o,e,t,i,n){return hm(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function gm(o,e,t,i,n,s){return hm(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=>hC(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=>hC(a,v));return g&&g.length===1?g:h})}async function Oa(o){const e=await o(),t=new _o(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}lo("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(Et),n=um(i.definitionProvider,e,t,!1,fi.None);return Oa(()=>n)});lo("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Et),n=um(i.definitionProvider,e,t,!0,fi.None);return Oa(()=>n)});lo("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(Et),n=P1(i.typeDefinitionProvider,e,t,!1,fi.None);return Oa(()=>n)});lo("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Et),n=P1(i.typeDefinitionProvider,e,t,!0,fi.None);return Oa(()=>n)});lo("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(Et),n=D1(i.declarationProvider,e,t,!1,fi.None);return Oa(()=>n)});lo("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(Et),n=D1(i.declarationProvider,e,t,!0,fi.None);return Oa(()=>n)});lo("_executeReferenceProvider",(o,e,t)=>{const i=o.get(Et),n=gm(i.referenceProvider,e,t,!1,!1,fi.None);return Oa(()=>n)});lo("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(Et),n=gm(i.referenceProvider,e,t,!1,!0,fi.None);return Oa(()=>n)});lo("_executeImplementationProvider",(o,e,t)=>{const i=o.get(Et),n=E1(i.implementationProvider,e,t,!1,fi.None);return Oa(()=>n)});lo("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(Et),n=E1(i.implementationProvider,e,t,!0,fi.None);return Oa(()=>n)});mr.appendMenuItem(ct.EditorContext,{submenu:ct.EditorContextPeek,title:y("peek.submenu","Peek"),group:"navigation",order:100});class dg{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof dg||Dt.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const tr=class tr extends Kr{static all(){return tr._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of nl.wrap(t.menu))(i.id===ct.EditorContext||i.id===ct.EditorContextPeek)&&(i.when=le.and(e.precondition,i.when));return t}constructor(e,t){super(tr._patchConfig(t)),this.configuration=e,tr._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(Xs),r=e.get(ns),a=e.get($p),c=e.get(Ny),h=e.get(Et),g=e.get(di),f=t.getModel(),p=t.getPosition(),v=dg.is(i)?i:new dg(f,p),_=new $u(t,5),w=jp(this._getLocationModel(h,v.model,v.position,_.token),_.token).then(async S=>{var N;if(!S||_.token.isCancellationRequested)return;_r(S.ariaMessage);let D;if(S.referenceAt(f.uri,p)){const V=this._getAlternativeCommand(t);!tr._activeAlternativeCommands.has(V)&&tr._allSymbolNavigationCommands.has(V)&&(D=tr._allSymbolNavigationCommands.get(V))}const P=S.references.length;if(P===0){if(!this.configuration.muteMessage){const V=f.getWordAtPosition(p);(N=mo.get(t))==null||N.showMessage(this._getNoResultFoundMessage(V),p)}}else if(P===1&&D)tr._activeAlternativeCommands.add(this.desc.id),g.invokeFunction(V=>D.runEditorCommand(V,t,i,n).finally(()=>{tr._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 br)&&(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(XA(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:z.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=fh.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),ws(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};tr._allSymbolNavigationCommands=new Map,tr._activeAlternativeCommands=new Set;let ml=tr;class fm extends ml{async _getLocationModel(e,t,i,n){return new _o(await um(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 rc;Qi((rc=class extends fm{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:rc.id,title:{...xt("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:le.and(M.editorTextFocus,wE),primary:2118,weight:100}],menu:[{id:ct.EditorContext,group:"navigation",order:1.1},{id:ct.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),wn.registerCommandAlias("editor.action.goToDeclaration",rc.id)}},rc.id="editor.action.revealDefinition",rc));var ac;Qi((ac=class extends fm{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:ac.id,title:xt("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:le.and(M.hasDefinitionProvider,M.isInEmbeddedEditor.toNegated()),keybinding:[{when:M.editorTextFocus,primary:as(2089,70),weight:100},{when:le.and(M.editorTextFocus,wE),primary:as(2089,2118),weight:100}]}),wn.registerCommandAlias("editor.action.openDeclarationToTheSide",ac.id)}},ac.id="editor.action.revealDefinitionAside",ac));var lc;Qi((lc=class extends fm{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:lc.id,title:xt("actions.previewDecl.label","Peek Definition"),precondition:le.and(M.hasDefinitionProvider,so.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:ct.EditorContextPeek,group:"peek",order:2}}),wn.registerCommandAlias("editor.action.previewDeclaration",lc.id)}},lc.id="editor.action.peekDefinition",lc));class VM extends ml{async _getLocationModel(e,t,i,n){return new _o(await D1(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 wd;Qi((wd=class extends VM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:wd.id,title:{...xt("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:y({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:le.and(M.hasDeclarationProvider,M.isInEmbeddedEditor.toNegated()),menu:[{id:ct.EditorContext,group:"navigation",order:1.3},{id:ct.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")}},wd.id="editor.action.revealDeclaration",wd));Qi(class extends VM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:xt("actions.peekDecl.label","Peek Declaration"),precondition:le.and(M.hasDeclarationProvider,so.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:ct.EditorContextPeek,group:"peek",order:3}})}});class jM extends ml{async _getLocationModel(e,t,i,n){return new _o(await P1(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 Sd;Qi((Sd=class extends jM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Sd.ID,title:{...xt("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:ct.EditorContext,group:"navigation",order:1.4},{id:ct.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Sd.ID="editor.action.goToTypeDefinition",Sd));var Cd;Qi((Cd=class extends jM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Cd.ID,title:xt("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:le.and(M.hasTypeDefinitionProvider,so.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:ct.EditorContextPeek,group:"peek",order:4}})}},Cd.ID="editor.action.peekTypeDefinition",Cd));class UM extends ml{async _getLocationModel(e,t,i,n){return new _o(await E1(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 xd;Qi((xd=class extends UM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:xd.ID,title:{...xt("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:ct.EditorContext,group:"navigation",order:1.45},{id:ct.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},xd.ID="editor.action.goToImplementation",xd));var Ld;Qi((Ld=class extends UM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Ld.ID,title:xt("actions.peekImplementation.label","Peek Implementations"),precondition:le.and(M.hasImplementationProvider,so.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:3142,weight:100},menu:{id:ct.EditorContextPeek,group:"peek",order:5}})}},Ld.ID="editor.action.peekImplementation",Ld));class $M extends ml{_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}}Qi(class extends $M{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...xt("goToReferences.label","Go to References"),mnemonicTitle:y({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:le.and(M.hasReferenceProvider,so.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:1094,weight:100},menu:[{id:ct.EditorContext,group:"navigation",order:1.45},{id:ct.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new _o(await gm(e.referenceProvider,t,i,!0,!1,n),y("ref.title","References"))}});Qi(class extends $M{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:xt("references.action.label","Peek References"),precondition:le.and(M.hasReferenceProvider,so.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:ct.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new _o(await gm(e.referenceProvider,t,i,!1,!1,n),y("ref.title","References"))}});class L4 extends ml{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:xt("label.generic","Go to Any Symbol"),precondition:le.and(so.notInPeekEditor,M.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new _o(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""}}wn.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:ln},{name:"position",description:"The position at which to start",constraint:Dt.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)=>{Ui(ln.isUri(e)),Ui(Dt.isIPosition(t)),Ui(Array.isArray(i)),Ui(typeof n>"u"||typeof n=="string"),Ui(typeof r>"u"||typeof r=="boolean");const a=o.get(ns),c=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(SE(c))return c.setPosition(t),c.revealPositionInCenterIfOutsideViewport(t,0),c.invokeWithinContext(h=>{const g=new class extends L4{_getNoResultFoundMessage(f){return s||super._getNoResultFoundMessage(f)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);h.get(di).invokeFunction(g.run.bind(g),c)})}});wn.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:ln},{name:"position",description:"The position at which to start",constraint:Dt.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(_s).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});wn.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{Ui(ln.isUri(e)),Ui(Dt.isIPosition(t));const i=o.get(Et),n=o.get(ns);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!SE(s)||!s.hasModel())return;const r=fh.get(s);if(!r)return;const a=ws(h=>gm(i.referenceProvider,s.getModel(),Dt.lift(t),!1,!1,h).then(g=>new _o(g,y("ref.title","References")))),c=new z(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(c,a,!1))})}});wn.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function k4(o,e,t,i){const n=o.get(Jr),s=o.get(wg),r=o.get(_s),a=o.get(di),c=o.get(Xs);if(await i.item.resolve(fi.None),!i.part.location)return;const h=i.part.location,g=[],f=new Set(mr.getMenuItems(ct.EditorContext).map(v=>YA(v)?v.command.id:Ly()));for(const v of ml.all())f.has(v.desc.id)&&g.push(new Xu(v.desc.id,Yu.label(v.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const _=await n.createModelReference(h.uri);try{const w=new dg(_.object.textEditorModel,z.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 Yf),g.push(new Xu(v.id,v.title,void 0,!0,async()=>{try{await r.executeCommand(v.id,...v.arguments??[])}catch(_){c.notify({severity:z0.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=no(t);return{x:v.left,y:v.top+v.height+8}},getActions:()=>g,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function qM(o,e,t,i){const s=await o.get(Jr).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,c=r.get(Vi),h=so.inPeekEditor.getValue(c),g=!a&&t.getOption(89)&&!h;return new fm({openToSide:a,openInPeek:g,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new dg(s.object.textEditorModel,z.getStartPosition(i.range)),z.lift(i.range))}),s.dispose()}var I4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},eu;class dv{constructor(){this._entries=new Kp(50)}get(e){const t=dv._key(e);return this._entries.get(t)}set(e,t){const i=dv._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const KM=yl("IInlayHintsCache");wl(KM,dv,1);class uC{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 D4{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var il;let mp=(il=class{static get(e){return e.getContribution(eu.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 He,this._sessionDisposables=new He,this._decorationsMetadata=new Map,this._ruleFactory=new lE(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(JA.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(kn(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new gs(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new Ss;const c=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const h=n.token,g=await ov.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){gn(h)}finally{n.dispose(),c.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(kn(()=>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 He,t=e.add(new Py(this._editor)),i=new He;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 Ss;i.add(kn(()=>c.dispose(!0))),r.item.resolve(c.token),this._activeInlayHintPart=r.part.command||r.part.location?new D4(r,s.hasTriggerModifier):void 0;const h=a.validatePosition(r.item.hint.position).lineNumber,g=new z(h,1,h,a.getLineMaxColumn(h)),f=this._getInlineHintsForRange(g);this._updateHintsDecorators([g],f),i.add(kn(()=>{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(qM,n,this._editor,r.location):QA.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),To(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>qn.replace(z.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!eO(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(k4,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 V0&&(t==null?void 0:t.attachedData)instanceof uC)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:z0.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 RM(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(z.compareRangesUsingStarts)){const r=t.validateRange(new z(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!z.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=z.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var _,w;const i=[],n=(S,D,P,N,V)=>{const W={content:P,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:D.className,cursorStops:N,attachedData:V};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?W:void 0}}})},s=(S,D)=>{const P=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(S,P," ",D?ou.Right:ou.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>eu._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],V=P===0,W=P===D.length-1,J={fontSize:`${r}px`,fontFamily:`var(${g}), ${O0.fontFamily}`,verticalAlign:h?"baseline":"middle",unicodeBidi:"isolate"};To(S.hint.textEdits)&&(J.cursor="default"),this._fillInColors(J,S.hint),(N.command||N.location)&&((_=this._activeInlayHintPart)==null?void 0:_.part.item)===S&&this._activeInlayHintPart.part.index===P&&(J.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(J.color=hs(tO),J.cursor="pointer")),c&&(V&&W?(J.padding=`1px ${Math.max(1,r/4)|0}px`,J.borderRadius=`${r/4|0}px`):V?(J.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,J.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):W?(J.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,J.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):J.padding="1px 0 1px 0");let X=N.label;f.totalLen+=X.length;let pe=!1;const Ce=f.totalLen-eu._MAX_LABEL_LEN;if(Ce>0&&(X=X.slice(0,-Ce)+"…",pe=!0),n(S,this._ruleFactory.createClassNameRef(J),E4(X),W&&!S.hint.paddingRight?ou.Right:ou.None,new uC(S,P)),pe)break}if(S.hint.paddingRight&&s(S,!0),i.length>eu._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=Gu.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===KL.Parameter?(e.backgroundColor=hs(iO),e.color=hs(nO)):t.kind===KL.Type?(e.backgroundColor=hs(sO),e.color=hs(oO)):(e.backgroundColor=hs(rO),e.color=hs(aO))}_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()}},eu=il,il.ID="editor.contrib.InlayHints",il._MAX_DECORATORS=1500,il._MAX_LABEL_LEN=43,il);mp=eu=I4([Bh(1,Et),Bh(2,Go),Bh(3,KM),Bh(4,_s),Bh(5,Xs),Bh(6,di)],mp);function E4(o){return o.replace(/[ \t]/g," ")}wn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;Ui(ln.isUri(t)),Ui(z.isIRange(i));const{inlayHintsProvider:n}=o.get(Et),s=await o.get(Jr).createModelReference(t);try{const r=await ov.create(n,s.object.textEditorModel,[z.lift(i)],fi.None),a=r.items.map(c=>c.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var P4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Pl=function(o,e){return function(t,i){e(t,i,o)}};class tI extends w_{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let hv=class extends fp{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(!mp.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof V0&&i.attachedData instanceof uC?new tI(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof tI?new Vr(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 Vs().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new ur(this,e.range,[r],!1,0)),To(s.item.hint.textEdits)&&n.emitOne(new ur(this,e.range,[new Vs().appendText(y("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new Vs().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new ur(this,e.range,[a],!1,1)),s.part.location||s.part.command){let h;const f=this._editor.getOption(78)==="altKey"?Ta?y("links.navigate.kb.meta.mac","cmd + click"):y("links.navigate.kb.meta","ctrl + click"):Ta?y("links.navigate.kb.alt.mac","option + click"):y("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?h=new Vs().appendText(y("hint.defAndCommand","Go to Definition ({0}), right click for more",f)):s.part.location?h=new Vs().appendText(y("hint.def","Go to Definition ({0})",f)):s.part.command&&(h=new Vs(`[${y("hint.cmd","Execute Command")}](${s4(s.part.command)} "${s.part.command.title}") (${f})`,{isTrusted:!0})),h&&n.emitOne(new ur(this,e.range,[h],!1,1e4))}const c=await this._resolveInlayHintLabelPartHover(s,i);for await(const h of c)n.emitOne(h)}):Vr.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return Vr.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 Dt(n.startLineNumber,n.startColumn),t).filter(a=>!Jf(a.hover.contents)).map(a=>new ur(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):Vr.EMPTY}finally{s.dispose()}}};hv=P4([Pl(1,Yr),Pl(2,Zr),Pl(3,ls),Pl(4,Yp),Pl(5,Dn),Pl(6,Jr),Pl(7,Et),Pl(8,_s)],hv);class T1 extends Be{constructor(e,t,i,n,s,r){super();const a=t.anchor,c=t.hoverParts;this._renderedHoverParts=this._register(new gC(e,i,c,r,s));const{showAtPosition:h,showAtSecondaryPosition:g}=T1.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 Dt(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 Dt(s,r);return{showAtPosition:c,showAtSecondaryPosition:h}}}class T4{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 fb=class fb extends Be{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 Be.None;let i=t[0].range;for(const s of t){const r=s.range;i=z.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:fb._DECORATION_OPTIONS}]),kn(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new sv(n),r={fragment:this._fragment,statusBar:s,...i},a=new He;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})),kn(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new gh([])}_renderStatusBar(e,t){if(t.hasContent)return new T4(e,t)}_registerListenersOnRenderedParts(){const e=new He;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(zi(n,jn.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(zi(n,jn.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof fp&&!(i instanceof hv));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof up)}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 Ju;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};fb._DECORATION_OPTIONS=Pi.register({description:"content-hover-highlight",className:"hoverHighlight"});let gC=fb;var M4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},iI=function(o,e){return function(t,i){e(t,i,o)}};let fC=class extends Be{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(eC,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new nv(this._editor,this._participants),this._hoverOperation=this._register(new EM(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of Ih.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 PM(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(hl(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(hl(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(ay.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 T1(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 Cw(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 Cw(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||!Ey(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new Cw(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}};fC=M4([iI(1,di),iI(2,ls)],fC);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},nI=function(o,e){return function(t,i){e(t,i,o)}},pC,kd;let Hs=(kd=class extends Be{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 He,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new gs(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(pC.ID)}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0,!this._shouldNotHideCurrentHoverWidget(e)&&this._hideWidgets()}_shouldNotHideCurrentHoverWidget(e){return this._isMouseOnContentHoverWidget(e)||this._isContentWidgetResizing()}_isMouseOnContentHoverWidget(e){var i;const t=(i=this._contentWidget)==null?void 0:i.getDomNode();return t?Ey(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===LM||t.commandId===Iy||t.commandId===Dy)&&((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)||cg.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(fC,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}showContentHover(e,t,i,n,s=!1){this._hoverState.activatedByDecoratorClick=s,this._getOrCreateContentWidget().startShowingAtRange(e,t,i,n)}_isContentWidgetResizing(){var e;return((e=this._contentWidget)==null?void 0:e.widget.isResizing)||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(e,t,i){this._getOrCreateContentWidget().updateHoverVerbosityLevel(e,t,i)}focus(){var e;(e=this._contentWidget)==null||e.focus()}scrollUp(){var e;(e=this._contentWidget)==null||e.scrollUp()}scrollDown(){var e;(e=this._contentWidget)==null||e.scrollDown()}scrollLeft(){var e;(e=this._contentWidget)==null||e.scrollLeft()}scrollRight(){var e;(e=this._contentWidget)==null||e.scrollRight()}pageUp(){var e;(e=this._contentWidget)==null||e.pageUp()}pageDown(){var e;(e=this._contentWidget)==null||e.pageDown()}goToTop(){var e;(e=this._contentWidget)==null||e.goToTop()}goToBottom(){var e;(e=this._contentWidget)==null||e.goToBottom()}get isColorPickerVisible(){var e;return(e=this._contentWidget)==null?void 0:e.isColorPickerVisible}get isHoverVisible(){var e;return(e=this._contentWidget)==null?void 0:e.isVisible}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._contentWidget)==null||e.dispose()}},pC=kd,kd.ID="editor.contrib.contentHover",kd);Hs=pC=N4([nI(1,di),nI(2,ls)],Hs);const _L=class _L extends Be{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!==vM||!i.range)return;const n=this._editor.getContribution(Hs.ID);if(n&&!n.isColorPickerVisible){const s=new z(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};_L.ID="editor.contrib.colorContribution";let uv=_L;vi(uv.ID,uv,2);Ih.register(up);var GM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},du=function(o,e){return function(t,i){e(t,i,o)}},mC,_C,Id;let ph=(Id=class extends Be{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(vC,this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused))}hide(){var e;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),(e=this._standaloneColorPickerWidget)==null||e.hide(),this._editor.focus()}insertColor(){var e;(e=this._standaloneColorPickerWidget)==null||e.updateEditor(),this.hide()}static get(e){return e.getContribution(mC.ID)}},mC=Id,Id.ID="editor.contrib.standaloneColorPickerController",Id);ph=mC=GM([du(1,Vi),du(2,di)],ph);vi(ph.ID,ph,1);const sI=8,R4=22;var Dd;let vC=(Dd=class extends Be{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(gp,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(qu(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 _C.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 A4(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 hp(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 sv(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-R4-sI,f=a.body.enterButton;f==null||f.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,v=p.pickedColorNode;v.style.width=h+sI+"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)}},_C=Dd,Dd.ID="editor.contrib.standaloneColorPickerWidget",Dd);vC=_C=GM([du(3,di),du(4,ls),du(5,Et),du(6,Sl)],vC);class A4{constructor(e,t){this.value=e,this.foundInEditor=t}}class O4 extends Kr{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...xt("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:ct.CommandPalette}],metadata:{description:xt("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=ph.get(t))==null||i.showOrFocus()}}class F4 extends Se{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:xt("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=ph.get(t))==null||i.hide()}}class H4 extends Se{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:xt("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=ph.get(t))==null||i.insertColor()}}ne(F4);ne(H4);Qi(O4);class Kl{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=Kl._createRemoveBlockCommentOperations(new z(a,v+t.length+1,h,_+1),t,i)):(w=Kl._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 z.isEmpty(e)?n.push(qn.delete(new z(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(qn.delete(new z(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(qn.delete(new z(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return z.isEmpty(e)?s.push(qn.replace(new z(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(qn.insert(new Dt(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(qn.insert(new Dt(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 Kt(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 Kt(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class Ua{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=oS(w);if(S===-1){v.ignore=r,v.commentStrOffset=w.length;continue}if(h=!1,v.ignore=!1,v.commentStrOffset=S,g&&!Kl._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=Ua._gatherPreflightCommentStrings(i,n,s,c);return h===null?{supported:!1}:Ua._analyzeLines(e,t,i,h,n,r,a,c)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=Ua._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(Ua._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new Dt(n.positionLineNumber,n.positionColumn);for(let a=0,c=s.length;a<c;a++)t.addEditOperation(s[a].range,s[a].text),z.isEmpty(s[a].range)&&z.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?Kl._createRemoveBlockCommentOperations(new z(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=oS(h);g===-1&&(g=h.length),c=Kl._createAddBlockCommentOperations(new z(i.startLineNumber,g+1,i.startLineNumber,h.length+1),r,a,this._insertSpace)}else c=Kl._createAddBlockCommentOperations(new z(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 z(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=Ua._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 Kt(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(qn.delete(new z(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(qn.insert(new Dt(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=Ua.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=Ua.nextVisibleColumn(f,n,g.charCodeAt(r)===9,1);f>s?t[c].commentStrOffset=r-1:t[c].commentStrOffset=r}}}class M1 extends Se{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(vs);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)=>z.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 Ua(i,g.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,g.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class W4 extends M1{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:ct.MenubarEditMenu,group:"5_insert",title:y({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class B4 extends M1{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:as(2089,2081),weight:100}})}}class z4 extends M1{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:as(2089,2099),weight:100}})}}class V4 extends Se{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:ct.MenubarEditMenu,group:"5_insert",title:y({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(vs);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new Kl(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}ne(W4);ne(B4);ne(z4);ne(V4);var j4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fc=function(o,e){return function(t,i){e(t,i,o)}},bC,Ed;let hg=(Ed=class{static get(e){return e.getContribution(bC.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 He,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&&lO(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 cO){const h=this._getMenuActions(e,c.item.submenu);h.length>0&&(i.push(new GL(c.id,c.label,h)),a++)}else i.push(c),a++;a&&i.push(new Yf)}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=no(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)&&!rS;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 nS(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const c=r;return typeof c.getActionViewItem=="function"?c.getActionViewItem():new nS(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()||dO(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 GL(`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 Yf),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)&&!rS;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()}},bC=Ed,Ed.ID="editor.contrib.contextmenu",Ed);hg=bC=j4([Fc(1,wg),Fc(2,ey),Fc(3,Vi),Fc(4,ls),Fc(5,wh),Fc(6,Dn),Fc(7,Uu)],hg);class U4 extends Se{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=hg.get(t))==null||i.showContextMenu()}}vi(hg.ID,hg,2);ne(U4);class Lw{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 kw{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const pb=class pb extends Be{static get(e){return e.getContribution(pb.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 Lw(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new kw(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 kw(new Lw(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 kw(new Lw(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}};pb.ID="editor.contrib.cursorUndoRedoController";let ug=pb;class $4 extends Se{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=ug.get(t))==null||n.cursorUndo()}}class q4 extends Se{constructor(){super({id:"cursorRedo",label:y("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=ug.get(t))==null||n.cursorRedo()}}vi(ug.ID,ug,0);ne($4);ne(q4);class K4{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 z(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 Kt(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 Kt(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 Kt(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 Kt(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 Kt(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 zh(o){return Ta?o.altKey:o.ctrlKey}const Fl=class Fl extends Be{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)||(zh(e)&&(this._modifierPressed=!0),this._mouseDown&&zh(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(zh(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Fl.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}zh(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 Dt(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 Kt(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new Kt(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(zh(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Fl.ID,new K4(this._dragSelection,t,zh(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 z(e.lineNumber,e.column,e.lineNumber,e.column),options:Fl._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()}};Fl.ID="editor.contrib.dragAndDrop",Fl.TRIGGER_KEY_VALUE=Ta?6:5,Fl._DECORATION_OPTIONS=Pi.register({description:"dnd-target",className:"dnd-target"});let gv=Fl;vi(gv.ID,gv,2);vi(pl.ID,pl,0);xg(RS);Nt(new class extends ao{constructor(){super({id:YT,precondition:v1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=pl.get(e))==null?void 0:t.changePasteType()}});Nt(new class extends ao{constructor(){super({id:"editor.hidePasteWidget",precondition:v1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=pl.get(e))==null||t.clearWidgets()}});var Pd;ne((Pd=class extends Se{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:Pd.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=pl.get(t))==null?void 0:s.pasteAs(n?new In(n):void 0)}},Pd.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.")}}},Pd));ne(class extends Se{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=pl.get(e))==null?void 0:t.pasteAs({providerId:lh.id})}});class G4{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 oI{constructor(e){this.identifier=e}}const ZM=yl("treeViewsDndService");wl(ZM,G4,1);var Z4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Bm=function(o,e){return function(t,i){e(t,i,o)}},yC;const XM="editor.experimental.dropIntoEditor.defaultProvider",YM="editor.changeDropType",N1=new Ai("dropWidgetVisible",!1,y("dropWidgetVisible","Whether the drop widget is showing"));var Td;let gg=(Td=class extends Be{static get(e){return e.getContribution(yC.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=MS.getInstance(),this._dropProgressManager=this._register(t.createInstance(ev,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(iv,"dropIntoEditor",e,N1,{id:YM,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=ws(async r=>{const a=new He,c=a.add(new $u(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([z.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 He,a=await jp(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=cl(a??[]).flat();return{edits:ZT(c),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(XM,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new In(s),a=t.findIndex(c=>r.value===c.providerId&&c.handledMimeType&&BT(n,[c.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new WT;const t=jT(e.dataTransfer);if(this.treeItemsTransfer.hasData(oI.prototype)){const i=this.treeItemsTransfer.getData(oI.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}},yC=Td,Td.ID="editor.contrib.dropIntoEditorController",Td);gg=yC=Z4([Bm(1,di),Bm(2,Dn),Bm(3,Et),Bm(4,ZM)],gg);vi(gg.ID,gg,2);xg(NS);Nt(new class extends ao{constructor(){super({id:YM,precondition:N1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=gg.get(e))==null||i.changeDropType()}});Nt(new class extends ao{constructor(){super({id:"editor.hideDropWidget",precondition:N1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=gg.get(e))==null||i.clearWidgets()}});Gr.as(qp.Configuration).registerConfiguration({...iy,properties:{[XM]:{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 Rs=class Rs{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===Rs._FIND_MATCH_DECORATION||n===Rs._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,Rs._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,Rs._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 z(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,Rs._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=Rs._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=Rs._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 z(f,1,p,1),options:Rs._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),f=w.startLineNumber,p=w.endLineNumber)}s.push({range:new z(f,1,p,1),options:Rs._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,Rs._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}};Rs._CURRENT_FIND_MATCH_DECORATION=Pi.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:hs(nw),position:ka.Center},minimap:{color:hs(ZL),position:1}}),Rs._FIND_MATCH_DECORATION=Pi.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:hs(nw),position:ka.Center},minimap:{color:hs(ZL),position:1}}),Rs._FIND_MATCH_NO_OVERVIEW_DECORATION=Pi.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),Rs._FIND_MATCH_ONLY_OVERVIEW_DECORATION=Pi.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:hs(nw),position:ka.Center}}),Rs._RANGE_HIGHLIGHT_DECORATION=Pi.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),Rs._FIND_SCOPE_DECORATION=Pi.register({description:"find-scope",className:"findScope",isWholeLine:!0});let wC=Rs;class X4{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)=>z.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 JM(o,e){if(o&&o[0]!==""){const t=rI(o,e,"-"),i=rI(o,e,"_");return t&&!i?aI(o,e,"-"):!t&&i?aI(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():hO(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 rI(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function aI(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=JM([n[a]],r)+t}),s.slice(0,-1)}class lI{constructor(e){this.staticValue=e,this.kind=0}}class Y4{constructor(e){this.pieces=e,this.kind=1}}class fg{static fromStaticValue(e){return new fg([ud.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new lI(""):e.length===1&&e[0].staticValue!==null?this._state=new lI(e[0].staticValue):this._state=new Y4(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?JM(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=fg._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 ud{static staticValue(e){return new ud(e,-1,null)}static caseOps(e,t){return new ud(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 J4{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++]=ud.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=ud.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=ud.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new fg(this._result)}}function Q4(o){if(!o||o.length===0)return new fg(null);const e=[],t=new J4(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 Ll=new Ai("findWidgetVisible",!1);Ll.toNegated();const Ry=new Ai("findInputFocussed",!1),R1=new Ai("replaceInputFocussed",!1),zm={primary:545,mac:{primary:2593}},Vm={primary:565,mac:{primary:2613}},jm={primary:560,mac:{primary:2608}},Um={primary:554,mac:{primary:2602}},$m={primary:558,mac:{primary:2606}},un={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"},Gl=19999,ez=240;class Rf{constructor(e,t){this._toDispose=new He,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new Up,this._decorations=new wC(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new gs(()=>{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,Us(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)},ez)):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 z(a.startLineNumber,1,c,this._editor.getModel().getLineMaxColumn(c))}return a}));const n=this._findMatches(i,!1,Gl);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=CE(n.map(c=>c.range),c=>z.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 Dt(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()<Gl){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=Rf._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 Dt(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 Dt(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<Gl){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=Rf._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 Dt(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?Q4(this._state.replaceString):fg.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 Vp(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new Dt(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=>Rf._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>=Gl?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new uO(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 xE(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 X4(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 Kt(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 mb=class mb extends Gp{constructor(e,t,i){super(),this._hideSoon=this._register(new gs(()=>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:sd(kE),inputActiveOptionForeground:sd(LE),inputActiveOptionBackground:sd(N0)},s=this._register(aS());this.caseSensitive=this._register(new gO({appendTitle:this._keybindingLabelFor(un.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 fO({appendTitle:this._keybindingLabelFor(un.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 pO({appendTitle:this._keybindingLabelFor(un.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(zi(this._domNode,jn.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(zi(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 mb.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")}};mb.ID="editor.contrib.findOptionsWidget";let SC=mb;function qm(o,e){return o===1?!0:o===2?!1:e}class tz extends Be{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return qm(this._isRegexOverride,this._isRegex)}get wholeWord(){return qm(this._wholeWordOverride,this._wholeWord)}get matchCase(){return qm(this._matchCaseOverride,this._matchCase)}get preserveCase(){return qm(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"&&(z.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=>!z.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>=Gl}}const iz=y("defaultLabel","input"),nz=y("label.preserveCaseToggle","Preserve Case");class sz extends IE{constructor(e){super({icon:Qt.preserveCase,title:nz+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ly("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class oz extends Gp{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||iz;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 mO(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 sz({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(),H_.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 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},eN=function(o,e){return function(t,i){e(t,i,o)}};const A1=new Ai("suggestWidgetVisible",!1,y("suggestWidgetVisible","Whether suggestion are visible")),O1="historyNavigationWidgetFocus",tN="historyNavigationForwardsEnabled",iN="historyNavigationBackwardsEnabled";let al;const Km=[];function nN(o,e){if(Km.includes(e))throw new Error("Cannot register the same widget multiple times");Km.push(e);const t=new He,i=new Ai(O1,!1).bindTo(o),n=new Ai(tN,!0).bindTo(o),s=new Ai(iN,!0).bindTo(o),r=()=>{i.set(!0),al=e},a=()=>{i.set(!1),al===e&&(al=void 0)};return vO(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(kn(()=>{Km.splice(Km.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let CC=class extends _O{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(nN(s,this.inputBox))}};CC=QM([eN(3,Vi)],CC);let xC=class extends oz{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(nN(r,this.inputBox))}};xC=QM([eN(3,Vi)],xC);Aa.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:le.and(le.has(O1),le.equals(iN,!0),le.not("isComposing"),A1.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{al==null||al.showPreviousValue()}});Aa.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:le.and(le.has(O1),le.equals(tN,!0),le.not("isComposing"),A1.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{al==null||al.showNextValue()}});function cI(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 dI=Jn("find-collapsed",Qt.chevronRight,y("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),hI=Jn("find-expanded",Qt.chevronDown,y("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),rz=Jn("find-selection",Qt.selection,y("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),az=Jn("find-replace",Qt.replace,y("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),lz=Jn("find-replace-all",Qt.replaceAll,y("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),cz=Jn("find-previous-match",Qt.arrowUp,y("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),dz=Jn("find-next-match",Qt.arrowDown,y("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),hz=y("label.findDialog","Find / Replace"),uz=y("label.find","Find"),gz=y("placeholder.find","Find"),fz=y("label.previousMatchButton","Previous Match"),pz=y("label.nextMatchButton","Next Match"),mz=y("label.toggleSelectionFind","Find in Selection"),_z=y("label.closeButton","Close"),vz=y("label.replace","Replace"),bz=y("placeholder.replace","Replace"),yz=y("label.replaceButton","Replace"),wz=y("label.replaceAllButton","Replace All"),Sz=y("label.toggleReplaceButton","Toggle Replace"),Cz=y("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",Gl),xz=y("label.matchesLocation","{0} of {1}"),uI=y("label.noResults","No results"),ra=419,Lz=275,kz=Lz-54;let tf=69;const Iz=33,gI="ctrlEnterReplaceAll.windows.donotask",fI=Ta?256:2048;class Iw{constructor(e){this.afterLineNumber=e,this.heightInPx=Iz,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function pI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function mI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const _b=class _b extends Gp{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(gI,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new vc(500),this._register(kn(()=>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 Iw(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=Ry.bindTo(r),this._findFocusTracker=this._register(qu(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=R1.bindTo(r),this._replaceFocusTracker=this._register(qu(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 Iw(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 _b.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=nr(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,gn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=tf+"px",this._state.matchesCount>=Gl?this._matchesCount.title=Cz: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>=Gl&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=j0(xz,n,i)}else e=uI;this._matchesCount.appendChild(document.createTextNode(e)),_r(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),tf=Math.max(tf,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===uI)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=no(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=bO(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 Iw(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&&nr(this._domNode)>ra){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=nr(this._findInput.domNode);return}if(ra+28+n>=i&&(r=!0),ra+28+n-tf>=i&&(a=!0),ra+28+n-tf>=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=nr(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&&!z.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(fI|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 pI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return mI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(fI|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{Yb&&Cg&&!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(gI,!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 pI(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return mI(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 CC(null,this._contextViewProvider,{width:kz,label:uz,placeholder:gz,appendCaseSensitiveLabel:this._keybindingLabelFor(un.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(un.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(un.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:()=>cI(this._keybindingService),inputBoxStyles:YL,toggleStyles:XL},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()})),yO&&this._register(this._findInput.onMouseDown(g=>this._onFindInputMouseDown(g))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(aS());this._prevBtn=this._register(new Vh({label:fz+this._keybindingLabelFor(un.PreviousMatchFindAction),icon:cz,hoverDelegate:i,onTrigger:()=>{ru(this._codeEditor.getAction(un.PreviousMatchFindAction)).run().then(void 0,gn)}},this._hoverService)),this._nextBtn=this._register(new Vh({label:pz+this._keybindingLabelFor(un.NextMatchFindAction),icon:dz,hoverDelegate:i,onTrigger:()=>{ru(this._codeEditor.getAction(un.NextMatchFindAction)).run().then(void 0,gn)}},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 IE({icon:rz,title:mz+this._keybindingLabelFor(un.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:sd(N0),inputActiveOptionBorder:sd(kE),inputActiveOptionForeground:sd(LE)})),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 Vh({label:_z+this._keybindingLabelFor(un.CloseFindWidgetCommand),icon:DE,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 xC(null,void 0,{label:vz,placeholder:bz,appendPreserveCaseLabel:this._keybindingLabelFor(un.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>cI(this._keybindingService),inputBoxStyles:YL,toggleStyles:XL},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(aS());this._replaceBtn=this._register(new Vh({label:yz+this._keybindingLabelFor(un.ReplaceOneAction),icon:az,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:g=>{g.equals(1026)&&(this._closeBtn.focus(),g.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new Vh({label:wz+this._keybindingLabelFor(un.ReplaceAllAction),icon:lz,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 Vh({label:Sz,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=nr(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=hz,this._domNode.role="dialog",this._domNode.style.width=`${ra}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 nu(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let h=ra;this._register(this._resizeSash.onDidStart(()=>{h=nr(this._domNode)})),this._register(this._resizeSash.onDidChange(g=>{this._resized=!0;const f=h+g.startX-g.currentX;if(f<ra)return;const p=parseFloat(wO(this._domNode).maxWidth)||0;f>p||(this._domNode.style.width=`${f}px`,this._isReplaceVisible&&(this._replaceInput.width=nr(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const g=nr(this._domNode);if(g<ra)return;let f=ra;if(!this._resized||g===ra){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=nr(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};_b.ID="editor.contrib.findWidget";let LC=_b;class Vh extends Gp{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??ly("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(dI)),this._domNode.classList.add(...$i.asClassNameArray(hI))):(this._domNode.classList.remove(...$i.asClassNameArray(hI)),this._domNode.classList.add(...$i.asClassNameArray(dI)))}}ty((o,e)=>{const t=o.getColor(aE);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${Zf(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(SO);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${Zf(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(dl);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(CO);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(xO);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});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},jo=function(o,e){return function(t,i){e(t,i,o)}},kC;const Dz=524288;function IC(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)<Dz)return o.getModel().getValueInRange(i)}return null}var Md;let oo=(Md=class extends Be{get editor(){return this._editor}static get(e){return e.getContribution(kC.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=Ll.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new vc(500),this._state=this._register(new tz),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!!Ry.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=Xf(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=IC(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=Xf(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=IC(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 Rf(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)}},kC=Md,Md.ID="editor.contrib.findController",Md);oo=kC=sN([jo(1,Vi),jo(2,Ic),jo(3,Sg),jo(4,Xs),jo(5,Yp)],oo);let DC=class extends oo{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 SC(this._editor,this._state,this._keybindingService))}};DC=sN([jo(1,ey),jo(2,Vi),jo(3,ls),jo(4,yr),jo(5,Xs),jo(6,Ic),jo(7,Sg),jo(8,Yp)],DC);const Ez=EE(new PE({id:un.StartFindAction,label:y("startFindAction","Find"),alias:"Find",precondition:le.or(M.focus,le.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:ct.MenubarEditMenu,group:"3_find",title:y({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));Ez.addImplementation(0,(o,e,t)=>{const i=oo.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 Pz={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 Tz extends Se{constructor(){super({id:un.StartFindWithArgs,label:y("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:Pz})}async run(e,t,i){const n=oo.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 Mz extends Se{constructor(){super({id:un.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=oo.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 oN extends Se{async run(e,t){const i=oo.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 Nz extends oN{constructor(){super({id:un.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:le.and(M.focus,Ry),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class Rz extends oN{constructor(){super({id:un.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:le.and(M.focus,Ry),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class Az extends Se{constructor(){super({id:un.GoToMatchFindAction,label:y("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Ll}),this._highlightDecorations=[]}run(e,t,i){const n=oo.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(Xs).notify({severity:z0.Warning,message:y("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(bl),a=new He,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:hs(TE),position:ka.Full}}}])})}}class rN extends Se{async run(e,t){const i=oo.get(t);if(!i)return;const n=IC(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 Oz extends rN{constructor(){super({id:un.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 Fz extends rN{constructor(){super({id:un.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 Hz=EE(new PE({id:un.StartFindReplaceAction,label:y("startReplace","Replace"),alias:"Replace",precondition:le.or(M.focus,le.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:ct.MenubarEditMenu,group:"3_find",title:y({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));Hz.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=oo.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(oo.ID,DC,0);ne(Tz);ne(Mz);ne(Nz);ne(Rz);ne(Az);ne(Oz);ne(Fz);const Qr=ao.bindToContribution(oo.get);Nt(new Qr({id:un.CloseFindWidgetCommand,precondition:Ll,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:le.and(M.focus,le.not("isComposing")),primary:9,secondary:[1033]}}));Nt(new Qr({id:un.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:M.focus,primary:zm.primary,mac:zm.mac,win:zm.win,linux:zm.linux}}));Nt(new Qr({id:un.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:M.focus,primary:Vm.primary,mac:Vm.mac,win:Vm.win,linux:Vm.linux}}));Nt(new Qr({id:un.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:M.focus,primary:jm.primary,mac:jm.mac,win:jm.win,linux:jm.linux}}));Nt(new Qr({id:un.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:M.focus,primary:Um.primary,mac:Um.mac,win:Um.win,linux:Um.linux}}));Nt(new Qr({id:un.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:M.focus,primary:$m.primary,mac:$m.mac,win:$m.win,linux:$m.linux}}));Nt(new Qr({id:un.ReplaceOneAction,precondition:Ll,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:M.focus,primary:3094}}));Nt(new Qr({id:un.ReplaceOneAction,precondition:Ll,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:le.and(M.focus,R1),primary:3}}));Nt(new Qr({id:un.ReplaceAllAction,precondition:Ll,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:M.focus,primary:2563}}));Nt(new Qr({id:un.ReplaceAllAction,precondition:Ll,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:le.and(M.focus,R1),primary:void 0,mac:{primary:2051}}}));Nt(new Qr({id:un.SelectAllMatchesAction,precondition:Ll,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:M.focus,primary:515}}));const Wz={0:" ",1:"u",2:"r"},_I=65535,Or=16777215,vI=4278190080;class Dw{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 Eo{constructor(e,t,i){if(e.length!==t.length||e.length>_I)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Dw(e.length),this._userDefinedStates=new Dw(e.length),this._recoveredStates=new Dw(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>Or||r>Or)throw new Error("startLineNumber or endLineNumber must not exceed "+Or);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]&Or}getEndLineNumber(e){return this._endIndexes[e]&Or}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 Bz(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&vI)>>>24)+((this._endIndexes[e]&vI)>>>16);return t===_I?-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]=`[${Wz[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Or,endLineNumber:this._endIndexes[e]&Or,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 Eo(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 Bz{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 zz{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 Eo(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(Eo.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=Eo.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(Eo.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=Eo.sanitizeAndMerge(this._regions,t,i);this.updatePost(Eo.fromFoldRanges(n))}_getLinesChecksum(e,t){return ME(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 F1(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 Tg(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 aN(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 Vz(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 jz(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 lN(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 H1(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 W1(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 Uz(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 $z(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 qz(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 Kz{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||LO(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 z(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 bI(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!Gz(r,n))&&(n=bI(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 Gz(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function bI(o,e){const t=CE(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const Zz=5e3,Xz="indent";class B1{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=Xz}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(Qz(this.editorModel,i,n,this.foldingRangesLimit))}}let Yz=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Or||t>Or)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 Eo(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=E0(f,s);(p<n||p===n&&i++<t)&&(r[h]=g,a[h]=this._endIndexes[c],h++)}return new Eo(r,a)}}};const Jz={limit:Zz,update:()=>{}};function Qz(o,e,t,i=Jz){const n=o.getOptions().tabSize,s=new Yz(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=E0(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 eV=mt("editor.foldBackground",{light:Da(JL,.3),dark:Da(JL,.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);mt("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."));mt("editorGutter.foldingControlForeground",kO,y("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const fv=Jn("folding-expanded",Qt.chevronDown,y("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),pv=Jn("folding-collapsed",Qt.chevronRight,y("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),yI=Jn("folding-manual-collapsed",pv,y("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),wI=Jn("folding-manual-expanded",fv,y("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),Ew={color:hs(eV),position:1},jh=y("linesCollapsed","Click to expand the range."),Gm=y("linesExpanded","Click to collapse the range."),ts=class ts{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?ts.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?ts.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:ts.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:ts.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?ts.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ts.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?ts.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ts.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?ts.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:ts.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?ts.MANUALLY_EXPANDED_VISUAL_DECORATION:ts.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};ts.COLLAPSED_VISUAL_DECORATION=Pi.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:jh,firstLineDecorationClassName:$i.asClassName(pv)}),ts.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Pi.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Ew,isWholeLine:!0,linesDecorationsTooltip:jh,firstLineDecorationClassName:$i.asClassName(pv)}),ts.MANUALLY_COLLAPSED_VISUAL_DECORATION=Pi.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:jh,firstLineDecorationClassName:$i.asClassName(yI)}),ts.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Pi.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Ew,isWholeLine:!0,linesDecorationsTooltip:jh,firstLineDecorationClassName:$i.asClassName(yI)}),ts.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=Pi.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:jh}),ts.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=Pi.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Ew,isWholeLine:!0,linesDecorationsTooltip:jh}),ts.EXPANDED_VISUAL_DECORATION=Pi.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+$i.asClassName(fv),linesDecorationsTooltip:Gm}),ts.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Pi.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:$i.asClassName(fv),linesDecorationsTooltip:Gm}),ts.MANUALLY_EXPANDED_VISUAL_DECORATION=Pi.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+$i.asClassName(wI),linesDecorationsTooltip:Gm}),ts.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Pi.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:$i.asClassName(wI),linesDecorationsTooltip:Gm}),ts.NO_CONTROLS_EXPANDED_RANGE_DECORATION=Pi.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),ts.HIDDEN_RANGE_DECORATION=Pi.register({description:"folding-hidden-range-decoration",stickiness:1});let EC=ts;const tV={},iV="syntax";class z1{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=iV,this.disposables=new He,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return nV(this.providers,this.editorModel,e).then(t=>{var i;return t?oV(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function nV(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,tV,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})}},is));return Promise.all(n).then(s=>i)}class sV{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>Or||t>Or)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 Eo(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 Eo(n,s,r)}}}function oV(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 sV(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 rV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nf=function(o,e){return function(t,i){e(t,i,o)}},Vc;const Ls=new Ai("foldingEnabled",!1);var Nd;let Cc=(Nd=class extends Be{static get(e){return e.getContribution(Vc.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=Vc._foldingRangeSelector)==null?void 0:n.call(Vc,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 He),this.editor=e,this._foldingLimitReporter=new cN(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 EC(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=Ls.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 zz(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new Kz(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new vc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new gs(()=>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 B1(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=Vc.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new z1(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 bo,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=ws(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const h=s.setCollapsedAllOfType(tm.Imports.value,!0);h&&(r=Gu.capture(this.editor),this._currentModelHasFoldedImports=h)}const a=this.editor.getSelections();e.update(s,aV(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=>(gn(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,gn)}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)}},Vc=Nd,Nd.ID="editor.contrib.folding",Nd);Cc=Vc=rV([nf(1,Vi),nf(2,vs),nf(3,Xs),nf(4,Go),nf(5,Et)],Cc);class cN{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 Ps extends Se{runEditorCommand(e,t,i){const n=e.get(vs),s=Cc.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 aV(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 dN(o){if(!cf(o)){if(!NE(o))return!1;const e=o;if(!cf(e.levels)&&!QL(e.levels)||!cf(e.direction)&&!oE(e.direction)||!cf(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(QL)))return!1}return!0}class lV extends Ps{constructor(){super({id:"editor.unfold",label:y("unfoldAction.label","Unfold"),alias:"Unfold",precondition:Ls,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:dN,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"?aN(t,!1,s,r):Tg(t,!1,s,r)}}class cV extends Ps{constructor(){super({id:"editor.unfoldRecursively",label:y("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,2142),weight:100}})}invoke(e,t,i,n){Tg(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class dV extends Ps{constructor(){super({id:"editor.fold",label:y("foldAction.label","Fold"),alias:"Fold",precondition:Ls,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:dN,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"?Vz(t,!0,s):a==="up"?aN(t,!0,r||1,s):Tg(t,!0,r||1,s)}}class hV extends Ps{constructor(){super({id:"editor.toggleFold",label:y("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);F1(t,1,n)}}class uV extends Ps{constructor(){super({id:"editor.foldRecursively",label:y("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Tg(t,!0,Number.MAX_VALUE,n)}}class gV extends Ps{constructor(){super({id:"editor.toggleFoldRecursively",label:y("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);F1(t,Number.MAX_VALUE,n)}}class fV extends Ps{constructor(){super({id:"editor.foldAllBlockComments",label:y("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())W1(t,tm.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*"+Xf(a.blockCommentStartToken));H1(t,c,!0)}}}}class pV extends Ps{constructor(){super({id:"editor.foldAllMarkerRegions",label:y("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())W1(t,tm.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);H1(t,c,!0)}}}}class mV extends Ps{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:y("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())W1(t,tm.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);H1(t,c,!1)}}}}class _V extends Ps{constructor(){super({id:"editor.foldAllExcept",label:y("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);lN(t,!0,n)}}class vV extends Ps{constructor(){super({id:"editor.unfoldAllExcept",label:y("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);lN(t,!1,n)}}class bV extends Ps{constructor(){super({id:"editor.foldAll",label:y("foldAllAction.label","Fold All"),alias:"Fold All",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,2069),weight:100}})}invoke(e,t,i){Tg(t,!0)}}class yV extends Ps{constructor(){super({id:"editor.unfoldAll",label:y("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,2088),weight:100}})}invoke(e,t,i){Tg(t,!1)}}const _u=class _u extends Ps{getFoldingLevel(){return parseInt(this.id.substr(_u.ID_PREFIX.length))}invoke(e,t,i){jz(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};_u.ID_PREFIX="editor.foldLevel",_u.ID=e=>_u.ID_PREFIX+e;let mv=_u;class wV extends Ps{constructor(){super({id:"editor.gotoParentFold",label:y("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=Uz(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class SV extends Ps{constructor(){super({id:"editor.gotoPreviousFold",label:y("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=$z(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class CV extends Ps{constructor(){super({id:"editor.gotoNextFold",label:y("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=qz(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class xV extends Ps{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:y("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,primary:as(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=Eo.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(Eo.fromFoldRanges(a))}}}}class LV extends Ps{constructor(){super({id:"editor.removeManualFoldingRanges",label:y("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,primary:as(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(Cc.ID,Cc,0);ne(lV);ne(cV);ne(dV);ne(uV);ne(gV);ne(bV);ne(yV);ne(fV);ne(pV);ne(mV);ne(_V);ne(vV);ne(hV);ne(wV);ne(SV);ne(CV);ne(xV);ne(LV);for(let o=1;o<=7;o++)IO(new mv({id:mv.ID(o),label:y("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:Ls,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,2048|21+o),weight:100}}));wn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof ln))throw sl();const i=o.get(Et),n=o.get(Ys).getModel(t);if(!n)throw sl();const s=o.get(Dn);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(vs),a=s.getValue("editor.foldingStrategy",{resource:t}),c={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(v,_)=>{}},h=new B1(n,r,c);let g=h;if(a!=="indentation"){const v=Cc.getFoldingRangeProviders(i,n);v.length&&(g=new z1(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:_?tm.fromValue(_):void 0})}return p}finally{g.dispose()}});class kV extends Se{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){ip.setZoomLevel(ip.getZoomLevel()+1)}}class IV extends Se{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){ip.setZoomLevel(ip.getZoomLevel()-1)}}class DV extends Se{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){ip.setZoomLevel(0)}}ne(kV);ne(IV);ne(DV);var hN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Ou;let _v=(Ou=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new He,this._sessionDisposables=new He,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 W_;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 Ss,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}});DO(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||To(r)&&(this._accessibilitySignalService.playSignal(AE.format,{userGesture:!1}),EO.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},Ou.ID="editor.contrib.autoFormat",Ou);_v=hN([Af(1,Et),Af(2,Sl),Af(3,RE)],_v);var Fu;let vv=(Fu=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new He,this._callOnModel=new He,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(OE,this.editor,e,2,Ja.None,fi.None,!1).catch(gn))}},Fu.ID="editor.contrib.formatOnPaste",Fu);vv=hN([Af(1,Et),Af(2,di)],vv);class EV extends Se{constructor(){super({id:"editor.action.formatDocument",label:y("formatDocument.label","Format Document"),alias:"Format Document",precondition:le.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(di);await e.get($p).showWhile(i.invokeFunction(PO,t,1,Ja.None,fi.None,!0),250)}}}class PV extends Se{constructor(){super({id:"editor.action.formatSelection",label:y("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:le.and(M.writable,M.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:M.editorTextFocus,primary:as(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(di),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new z(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get($p).showWhile(i.invokeFunction(OE,t,s,1,Ja.None,fi.None,!0),250)}}vi(_v.ID,_v,2);vi(vv.ID,vv,2);ne(EV);ne(PV);wn.registerCommand("editor.action.format",async o=>{const e=o.get(ns).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(_s);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var TV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Pw=function(o,e){return function(t,i){e(t,i,o)}};class hu{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 PC extends hu{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class uN extends hu{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class qa extends hu{static create(e,t,i){const n=new Ss(i),s=new qa(t.uri),r=e.ordered(t),a=r.map((h,g)=>{const f=hu.findId(`provider_${g}`,s),p=new uN(f,s,h.displayName??"Unknown Outline Provider",g);return Promise.resolve(h.provideDocumentSymbols(t,n.token)).then(v=>{for(const _ of v||[])qa._makeOutlineElement(_,p);return p},v=>(is(v),p)).then(v=>{hu.empty(v)?v.remove():s._groups.set(f,v)})}),c=e.onDidChange(()=>{const h=e.ordered(t);Pa(h,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?qa.create(e,t,i):s._compact()).finally(()=>{n.dispose(),c.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=hu.findId(e,t),n=new PC(i,t,e);if(e.children)for(const s of e.children)qa._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=nl.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 PC?e.push(t.symbol):e.push(...nl.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>z.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return qa._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>Dt.compare(z.getStartPosition(i.range),z.getStartPosition(n.range))||Dt.compare(z.getEndPosition(n.range),z.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&&qa._flattenDocumentSymbols(e,n.children,n.name)}}const pm=yl("IOutlineModelService");let TC=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new He,this._cache=new Kp(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()||!Pa(s.provider,n)){const a=new Ss;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:qa.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()}}};TC=TV([Pw(0,Et),Pw(1,Go),Pw(2,Ys)],TC);wl(pm,TC,1);wn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;Ui(ln.isUri(t));const i=o.get(pm),s=await o.get(Jr).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,fi.None)).getTopLevelSymbols()}finally{s.dispose()}});const ha=class ha extends Be{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=ha.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=ha.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=ha.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=ha.suppressSuggestions.bindTo(this.contextKeyService),this._register(Vn(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(Vn(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=oS(g);v===-1&&(v=g.length-1),s=v>0;const _=n.textModel.getOptions().tabSize;r=TO.visibleColumnFromColumn(g,v+1,_)<_}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};ha.inlineSuggestionVisible=new Ai("inlineSuggestionVisible",!1,y("inlineSuggestionVisible","Whether an inline suggestion is visible")),ha.inlineSuggestionHasIndentation=new Ai("inlineSuggestionHasIndentation",!1,y("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),ha.inlineSuggestionHasIndentationLessThanTabSize=new Ai("inlineSuggestionHasIndentationLessThanTabSize",!0,y("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),ha.suppressSuggestions=new Ai("inlineSuggestionSuppressSuggestions",void 0,y("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let vo=ha;function MV(o){const e=new He,t=e.add(FE());return e.add(Vn(i=>{t.setStyle(o.read(i))})),e}class _p{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 HE([...this.parts.map(s=>new ul(z.fromPositions(new Dt(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 bv{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=cy(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 MC{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new bv(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=cy(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 SI(o,e){return Pa(o,e,gN)}function gN(o,e){return o===e?!0:!o||!e?!1:o instanceof _p&&e instanceof _p||o instanceof MC&&e instanceof MC?o.equals(e):!1}const NV=[];function RV(){return NV}class fN{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new Ju(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new z(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function pN(o,e){const t=new He,i=o.createDecorationsCollection();return t.add(MO({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function AV(o,e){return new Dt(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function CI(o,e){return new Dt(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var OV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},FV=function(o,e){return function(t,i){e(t,i,o)}};const xI="ghost-text";let NC=class extends Be{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Mo(this,!1),this.currentTextModel=go(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Yi(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 MC?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 np(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 np(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,xI),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 fN(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=Yi(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:z.fromPositions(new Dt(s.lineNumber,a.column)),options:{description:xI,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:ou.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new HV(this.editor,this.languageService.languageIdCodec,Yi(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(kn(()=>{this.isDisposed.set(!0,void 0)})),this._register(pN(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};NC=OV([FV(2,Yr)],NC);class HV extends Be{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=rd("editorOptionChanged",us.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(Vn(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");WV(c,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:c,afterColumnAffinity:1})}})}}function WV(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 BE(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=UE(P),V=NO(P),W=RO.createEmpty(P,n);zE(new VE(g.isMonospace&&!s,g.canUseHalfwidthRightwardsArrow,P,!1,N,V,0,W,D.decorations,e,0,g.spaceWidth,g.middotWidth,g.wsmiddotWidth,r,a,c,h!==AO.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),jE(o,g);const v=p.build(),_=LI?LI.createHTML(v):v;o.innerHTML=_}const LI=WE("editorGhostText",{createHTML:o=>o});function BV(o,e){const t=new WO,i=new FO(t,h=>e.getLanguageConfiguration(h)),n=new OO(new zV([o]),i),s=HO(n,[],void 0,!0);let r="";const a=o.getLineContent();function c(h,g){if(h.kind===2)if(c(h.openingBracket,g),g=Yg(g,h.openingBracket.length),h.child&&(c(h.child,g),g=Yg(g,h.child.length)),h.closingBracket)c(h.closingBracket,g),g=Yg(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(ek(g),ek(Yg(g,h.length)));else if(h.kind===4)for(const f of h.children)c(f,g),g=Yg(g,f.length)}}return c(s,BO),r}class zV{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 mN(o,e,t,i,n=fi.None,s){const r=e instanceof Dt?UV(e,t):e,a=o.all(t),c=new zO;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 V=c.get(N);for(const W of V)P.push(W)}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 V of N){const W=p(V,P);if(W)return W}}finally{f.delete(D)}}function v(D){const P=g.get(D);if(P)return P;const N=p(D,[]);N&&is(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${N.map(W=>W.toString?W.toString():""+W).join(" -> ")}`));const V=new Jb;return g.set(D,V.p),(async()=>{var W;if(!N){const J=h(D);for(const X of J){const pe=await v(X);if(pe&&pe.items.length>0)return}}try{return e instanceof Dt?await D.provideInlineCompletions(t,e,i,n):await((W=D.provideInlineEdits)==null?void 0:W.call(D,t,e,i,n))}catch(J){is(J);return}})().then(W=>V.complete(W),W=>V.error(W)),V.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 jV(P,D.provider);S.push(N);for(const V of P.items){const W=yv.from(V,N,r,t,s);w.set(W.hash(),W)}}return new VV(Array.from(w.values()),new Set(w.keys()),S)}class VV{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 jV{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 yv{static from(e,t,i,n,s){let r,a,c=e.range?z.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=kI(r,c.getStartPosition(),n,s);const h=r.length-e.insertText.length;h!==0&&(c=new z(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=kI(e.insertText.snippet,c.getStartPosition(),n,s);const f=e.insertText.snippet.length-h;f!==0&&(c=new z(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+f))}const g=new ch().parse(e.insertText.snippet);g.children.length===1&&g.children[0]instanceof fo?(r=g.children[0].value,a=void 0):(r=g.toString(),a={snippet:e.insertText.snippet,range:c})}else VO(e.insertText);return new yv(r,e.command,c,r,a,e.additionalTextEdits||RV(),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 yv(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 ul(this.range,this.insertText)}}function UV(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new z(o.lineNumber,t.startColumn,o.lineNumber,i):z.fromPositions(o,o.with(void 0,i))}function kI(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?BV(a,i):o}function gd(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=em(n,o.text),r=B_.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),c=z.fromPositions(r,o.range.getEndPosition());return new ul(c,a)}function _N(o,e){return o.text.startsWith(e.text)&&$V(o.range,e.range)}function II(o,e,t,i,n=0){let s=gd(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=Ds(r).length;if(s.range.startColumn-1<=a){const _=Ds(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=z.fromPositions(P,D),V=s.text.startsWith(w)?s.text.substring(w.length):s.text.substring(_);s=new ul(N,V)}const h=e.getValueInRange(s.range),g=qV(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 bv(w,P,!1)),N.length>0&&p.push(new bv(w,N,!0))}return new _p(f,p)}function $V(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let aa;function qV(o,e){if((aa==null?void 0:aa.originalValue)===o&&(aa==null?void 0:aa.newValue)===e)return aa==null?void 0:aa.changes;{let t=EI(o,e,!0);if(t){const i=DI(t);if(i>0){const n=EI(o,e,!1);n&&DI(n)<i&&(t=n)}}return aa={originalValue:o,newValue:e,changes:t},t}}function DI(o){let e=0;for(const t of o)e+=t.originalLength;return e}function EI(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 jO({getElements:()=>a},{getElements:()=>c}).ComputeDiff(!1).changes}var KV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},PI=function(o,e){return function(t,i){e(t,i,o)}};let RC=class extends Be{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 Ro),this.inlineCompletions=lS("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=lS("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var g,f;const n=new ZV(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 Ss,c=(async()=>{if((r||t.triggerKind===ol.Automatic)&&await GV(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 mN(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 YV(_,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(),Sh(D=>{s.set(S,D)}),!0})(),h=new XV(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()}};RC=KV([PI(3,Et),PI(4,vs)],RC);function GV(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 ZV{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&UO(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,qO())&&(e.context.triggerKind===ol.Automatic||this.context.triggerKind===ol.Explicit)&&this.versionId===e.versionId}}class XV{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class YV{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 TI(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 TI(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class TI{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=Ya({owner:this,equalsFn:z.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??Tw)}toSingleTextEdit(e){return new ul(this._updatedRange.read(e)??Tw,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=gd(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)&&!!$O(p,g)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&B_.ofRange(i).isGreaterThanOrEqualTo(B_.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new ul(this._updatedRange.read(e)??Tw,this.inlineCompletion.filterText)}}const Tw=new z(1,1,1,1),Zt={Visible:A1,HasFocusedSuggestion:new Ai("suggestWidgetHasFocusedSuggestion",!1,y("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new Ai("suggestWidgetDetailsVisible",!1,y("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new Ai("suggestWidgetMultipleSuggestions",!1,y("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new Ai("suggestionMakesTextEdit",!0,y("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new Ai("acceptSuggestionOnEnter",!0,y("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new Ai("suggestionHasInsertAndReplaceRange",!1,y("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new Ai("suggestionInsertMode",void 0,{type:"string",description:y("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new Ai("suggestionCanResolve",!1,y("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},ec=new ct("suggestWidgetStatusBar");class JV{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=ep.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,z.isIRange(t.range)?(this.editStart=new Dt(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Dt(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Dt(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||z.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Dt(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Dt(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Dt(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||z.spansMultipleLines(t.range.insert)||z.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 bo(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{kc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const vb=class vb{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}};vb.default=new vb;let vp=vb;class QV{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function V1(o,e,t,i=vp.default,n={triggerKind:0},s=fi.None){const r=new bo;t=t.clone();const a=e.getWordAtPosition(t),c=a?new z(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):z.fromPositions(t),h={replace:c,insert:c.setEndPosition(t.lineNumber,t.column)},g=[],f=new He,p=[];let v=!1;const _=(S,D,P)=>{var V;let N=!1;if(!D)return N;for(const W of D.suggestions)if(!i.kindFilter.has(W.kind)){if(!i.showDeprecated&&((V=W==null?void 0:W.tags)!=null&&V.includes(1)))continue;W.range||(W.range=h),W.sortText||(W.sortText=typeof W.label=="string"?W.label:W.label.label),!v&&W.insertTextRules&&W.insertTextRules&4&&(v=ch.guessNeedsClipboard(W.insertText)),g.push(new JV(t,W,D,S)),N=!0}return $E(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(V=>g.push(V)),D=D||N.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(P)))try{const N=new bo,V=await P.provideCompletionItems(e,t,n,s);D=_(P,V,N)||D}catch(N){is(N)}})),D||s.isCancellationRequested)break}return await w,s.isCancellationRequested?(f.dispose(),Promise.reject(new Qb)):new QV(g.sort(ij(i.snippetSortOrder)),v,{entries:p,elapsed:r.elapsed()},f)}function j1(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 ej(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return j1(o,e)}function tj(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return j1(o,e)}const Ay=new Map;Ay.set(0,ej);Ay.set(2,tj);Ay.set(1,j1);function ij(o){return Ay.get(o)}wn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;Ui(ln.isUri(t)),Ui(Dt.isIPosition(i)),Ui(typeof n=="string"||!n),Ui(typeof s=="number"||!s);const{completionProvider:r}=o.get(Et),a=await o.get(Jr).createModelReference(t);try{const c={incomplete:!1,suggestions:[]},h=[],g=a.object.textEditorModel.validatePosition(i),f=await V1(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 nj(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class uu{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 MI(o,e=Yb){return KO(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var sj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},oj=function(o,e){return function(t,i){e(t,i,o)}};class NI{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 RI{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=Ds(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(h=>h===e?!1:(h instanceof fo&&(a=Ds(cy(h.value).pop())),!0));const c=em(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 AI{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return If(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=If(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return GO(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(W0(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 OI{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=>!ZO(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let wv=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}}};wv=sj([oj(2,vs)],wv);const ua=class ua{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 ua.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return ua.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return ua.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return ua.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}}};ua.dayNames=[y("Sunday","Sunday"),y("Monday","Monday"),y("Tuesday","Tuesday"),y("Wednesday","Wednesday"),y("Thursday","Thursday"),y("Friday","Friday"),y("Saturday","Saturday")],ua.dayNamesShort=[y("SundayShort","Sun"),y("MondayShort","Mon"),y("TuesdayShort","Tue"),y("WednesdayShort","Wed"),y("ThursdayShort","Thu"),y("FridayShort","Fri"),y("SaturdayShort","Sat")],ua.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")],ua.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 Sv=ua;class FI{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=XO(this._workspaceService.getWorkspace());if(!YO(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(tk(e))return If(e.uri.path);let t=If(e.configPath.path);return t.endsWith(ik)&&(t=t.substr(0,t.length-ik.length-1)),t}_resoveWorkspacePath(e){if(tk(e))return MI(e.uri.fsPath);const t=If(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?MI(i):"/"}}class HI{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 rj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},aj=function(o,e){return function(t,i){e(t,i,o)}},Er;const ir=class ir{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=nk(t.placeholders,qo.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=z.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?ir._decor.inactiveFinal:ir._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(qn.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 Kt(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(c,a.isFinalTabstop?ir._decor.activeFinal:ir._decor.active),s.add(a);for(const g of this._snippet.enclosingPlaceholders(a)){const f=this._placeholderDecorations.get(g);n.changeDecorationOptions(f,g.isFinalTabstop?ir._decor.activeFinal:ir._decor.active),s.add(g)}}for(const[a,c]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(c,a.isFinalTabstop?ir._decor.inactiveFinal:ir._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof qo){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 Pg,!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=z.fromPositions(t.getPositionAt(s._offset+h),t.getPositionAt(s._offset+h+g)),p=i.addDecoration(f,ir._decor.inactive);this._placeholderDecorations.set(c,p)}}this._placeholderGroups=nk(this._snippet.placeholders,qo.compareByIndex)})}};ir._decor={active:Pi.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:Pi.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:Pi.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:Pi.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let Cv=ir;const WI={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let xv=Er=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=Ds(r,0,t.column-1);let c;return n.walk(h=>{if(!(h instanceof fo)||h.parent instanceof Pg||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 fo(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=Kt.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(V=>V.get(Uu)),_=e.invokeWithinContext(V=>new AI(V.get(Qf),p)),w=()=>a,S=p.getValueInRange(Er.adjustSelection(p,e.getSelection(),i,0)),D=p.getValueInRange(Er.adjustSelection(p,e.getSelection(),0,n)),P=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),N=e.getSelections().map((V,W)=>({selection:V,idx:W})).sort((V,W)=>z.compareRangesUsingStarts(V.selection,W.selection));for(const{selection:V,idx:W}of N){let J=Er.adjustSelection(p,V,i,0),X=Er.adjustSelection(p,V,0,n);S!==p.getValueInRange(J)&&(J=V),D!==p.getValueInRange(X)&&(X=V);const pe=V.setStartPosition(J.startLineNumber,J.startColumn).setEndPosition(X.endLineNumber,X.endColumn),Ce=new ch().parse(t,!0,s),ze=pe.getStartPosition(),ve=Er.adjustWhitespace(p,ze,r||W>0&&P!==p.getLineFirstNonWhitespaceColumn(V.positionLineNumber),Ce);Ce.resolveVariables(new NI([_,new OI(w,W,N.length,e.getOption(79)==="spread"),new RI(p,V,W,c),new wv(p,V,h),new Sv,new FI(v),new HI])),g[W]=qn.replace(pe,Ce.toString()),g[W].identifier={major:W,minor:0},g[W]._isTracked=!0,f[W]=new Cv(e,Ce,ve)}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 ch,f=new lm,p=new NI([e.invokeWithinContext(_=>new AI(_.get(Qf),h)),new OI(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new RI(h,e.getSelection(),0,r),new wv(h,e.getSelection(),a),new Sv,new FI(e.invokeWithinContext(_=>_.get(Uu))),new HI]);t=t.sort((_,w)=>z.compareRangesUsingStarts(_.range,w.range));let v=0;for(let _=0;_<t.length;_++){const{range:w,template:S}=t[_];if(_>0){const W=t[_-1].range,J=z.fromPositions(W.getEndPosition(),w.getStartPosition()),X=new fo(h.getValueInRange(J));f.appendChild(X),v+=X.value.length}const D=g.parseFragment(S,f);Er.adjustWhitespace(h,w.getStartPosition(),!0,f,new Set(D)),f.resolveVariables(p);const P=f.toString(),N=P.slice(v);v=P.length;const V=qn.replace(w,N);V.identifier={major:_,minor:0},V._isTracked=!0,c.push(V)}return g.ensureFinalTabstop(f,i,!0),{edits:c,snippets:[new Cv(e,f,"")]}}constructor(e,t,i=WI,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){Us(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"?Er.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):Er.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=>Kt.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=WI){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=Er.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=>Kt.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(z.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(z.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(z.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};xv=Er=rj([aj(3,vs)],xv);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},Zm=function(o,e){return function(t,i){e(t,i,o)}},tu;const BI={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var wa;let Zs=(wa=class{static get(e){return e.getContribution(tu.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new He,this._modelVersionId=-1,this._inSnippet=tu.InSnippetMode.bindTo(n),this._hasNextTabstop=tu.HasNextTabstop.bindTo(n),this._hasPrevTabstop=tu.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"?BI:{...BI,...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?(Ui(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new xv(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()||!Dt.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(()=>{nj(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()}},tu=wa,wa.ID="snippetController2",wa.InSnippetMode=new Ai("inSnippetMode",!1,y("inSnippetMode","Whether the editor in current in snippet mode")),wa.HasNextTabstop=new Ai("hasNextTabstop",!1,y("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),wa.HasPrevTabstop=new Ai("hasPrevTabstop",!1,y("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),wa);Zs=tu=lj([Zm(1,Ch),Zm(2,Et),Zm(3,Vi),Zm(4,vs)],Zs);vi(Zs.ID,Zs,4);const Oy=ao.bindToContribution(Zs.get);Nt(new Oy({id:"jumpToNextSnippetPlaceholder",precondition:le.and(Zs.InSnippetMode,Zs.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:2}}));Nt(new Oy({id:"jumpToPrevSnippetPlaceholder",precondition:le.and(Zs.InSnippetMode,Zs.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:1026}}));Nt(new Oy({id:"leaveSnippet",precondition:Zs.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:9,secondary:[1033]}}));Nt(new Oy({id:"acceptSnippet",precondition:Zs.InSnippetMode,handler:o=>o.finish()}));var cj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Mw=function(o,e){return function(t,i){e(t,i,o)}};let AC=class extends Be{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(RC,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=Mo(this,!1),this._forceUpdateExplicitlySignal=U0(this),this._selectedInlineCompletionId=Mo(this,void 0),this._primaryPosition=Yi(this,_=>this._positions.read(_)[0]??new Dt(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([$a.Redo,$a.Undo,$a.AcceptWord]),this._fetchInlineCompletionsPromise=qE({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:ol.Automatic}),handleChange:(_,w)=>(_.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(_.change))?w.preserveCurrentCompletion=!0:_.didChange(this._forceUpdateExplicitlySignal)&&(w.inlineCompletionTriggerKind=ol.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 X=this._source.inlineCompletions.get();Sh(pe=>{(!X||D.request.versionId>X.request.versionId)&&this._source.inlineCompletions.set(D.clone(),pe),this._source.clearSuggestWidgetInlineCompletions(pe)})}const N=this._primaryPosition.read(_),V={triggerKind:w.inlineCompletionTriggerKind,selectedSuggestionInfo:P==null?void 0:P.toSelectedSuggestionInfo()},W=this.selectedInlineCompletion.get(),J=w.preserveCurrentCompletion||W!=null&&W.forwardStable?W:void 0;return this._source.fetch(N,V,J)}),this._filteredInlineCompletionItems=Ya({owner:this,equalsFn:cS()},_=>{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=Yi(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=Yi(this,_=>{const w=this._filteredInlineCompletionItems.read(_),S=this.selectedInlineCompletionIndex.read(_);return w[S]}),this.activeCommands=Ya({owner:this,equalsFn:cS()},_=>{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=Yi(this,_=>{if(this.lastTriggerKind.read(_)===ol.Explicit)return this._filteredInlineCompletionItems.read(_).length}),this.state=Ya({owner:this,equalsFn:(_,w)=>!_||!w?_===w:SI(_.ghostTexts,w.ghostTexts)&&_.inlineCompletion===w.inlineCompletion&&_.suggestItem===w.suggestItem},_=>{const w=this.textModel,S=this.selectedSuggestItem.read(_);if(S){const D=gd(S.toSingleTextEdit(),w),P=this._computeAugmentation(D,_);if(!this._suggestPreviewEnabled.read(_)&&!P)return;const V=(P==null?void 0:P.edit)??D,W=P?P.edit.text.length-D.text.length:0,J=this._suggestPreviewMode.read(_),X=this._positions.read(_),pe=[V,...Nw(this.textModel,X,V)],Ce=pe.map((ve,nt)=>II(ve,w,J,X[nt],W)).filter(d_),ze=Ce[0]??new _p(V.range.endLineNumber,[]);return{edits:pe,primaryGhostText:ze,ghostTexts:Ce,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(_),V=this._positions.read(_),W=[P,...Nw(this.textModel,V,P)],J=W.map((X,pe)=>II(X,w,N,V[pe],0)).filter(d_);return J[0]?{edits:W,primaryGhostText:J[0],ghostTexts:J,inlineCompletion:D,suggestItem:void 0}:void 0}}),this.ghostTexts=Ya({owner:this,equalsFn:SI},_=>{const w=this.state.read(_);if(w)return w.ghostTexts}),this.primaryGhostText=Ya({owner:this,equalsFn:gN},_=>{const w=this.state.read(_);if(w)return w==null?void 0:w.primaryGhostText}),this._register(KE(this._fetchInlineCompletionsPromise));let v;this._register(Vn(_=>{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,V=N.source;(P=(D=V.provider).handleItemDidShow)==null||P.call(D,V.inlineCompletions,N.sourceInlineCompletion,N.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?$a.Undo:e!=null&&e.isRedoing?$a.Redo:this.isAcceptingPartially?$a.AcceptWord:$a.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){z_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){z_(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(d_);return JO(s,a=>{let c=a.toSingleTextEdit(t);return c=gd(c,i,z.fromPositions(c.range.getStartPosition(),e.range.getEndPosition())),_N(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 Ju;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",[qn.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=Zs.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=zI(s).map(a=>Kt.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>qn.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,is),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 Ju;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 Dt(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 _=z.fromPositions(v,c),w=e.getModel().getValueInRange(_)+f,S=new ul(_,w),D=[S,...Nw(this.textModel,p,S)],P=zI(D).map(N=>Kt.fromPositions(N));e.executeEdits("inlineSuggestion.accept",D.map(N=>qn.replace(N.range,N.text))),e.setSelections(P,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const _=z.fromPositions(r.range.getStartPosition(),B_.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=gd(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})}};AC=cj([Mw(9,di),Mw(10,_s),Mw(11,vs)],AC);var $a;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})($a||($a={}));function Nw(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(z.fromPositions(i,r)),c=CI(i,s);if(c.lineNumber<1)return gn(new Ju(`positionWithinTextEdit line number should be bigger than 0.
36
- Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const h=dj(t.text,c);return n.map(g=>{const f=AV(CI(g,s),r),p=o.getValueInRange(z.fromPositions(g,f)),v=em(a,p),_=z.fromPositions(g,g.delta(0,v));return new ul(_,h)})}function dj(o,e){let t="";const i=e2(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 zI(o){const e=QO.createSortPermutation(o,Jp(s=>s.range,z.compareRangesUsingStarts)),i=new HE(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}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},VI=function(o,e){return function(t,i){e(t,i,o)}},pf;class U1{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 jI extends U1{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class uj extends U1{constructor(){super("recentlyUsed"),this._cache=new Kp(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:$0.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class gj extends U1{constructor(){super("recentlyUsedByPrefix"),this._trie=t2.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:$0.fromString(i.type),this._trie.set(t,i)}}}var cc;let OC=(cc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new He,this._persistSoon=new gs(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===A0.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=pf._strategyCtors.get(i)||jI;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,c=this._storageService.get(`${pf._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(`${pf._storagePrefix}/${this._strategy.name}`,i,t,1)}}},pf=cc,cc._strategyCtors=new Map([["recentlyUsedByPrefix",gj],["recentlyUsed",uj],["first",jI]]),cc._storagePrefix="suggest/memories",cc);OC=pf=hj([VI(0,Ic),VI(1,Dn)],OC);const Fy=yl("ISuggestMemories");wl(Fy,OC,1);var fj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},pj=function(o,e){return function(t,i){e(t,i,o)}},FC,Rd;let Lv=(Rd=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=FC.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)}},FC=Rd,Rd.AtEnd=new Ai("atEndOfWord",!1),Rd);Lv=FC=fj([pj(1,Vi)],Lv);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},_j=function(o,e){return function(t,i){e(t,i,o)}},mf,Ad;let pg=(Ad=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=mf.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(mf._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=mf._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},mf=Ad,Ad.OtherSuggestions=new Ai("hasOtherSuggestions",!1),Ad);pg=mf=mj([_j(1,Vi)],pg);class vj{constructor(e,t,i,n){this._disposables=new He,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||!To(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new W_;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 Bo=class Bo{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>Bo._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>Bo._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>=Bo._maxRounds){e();break}if(!n){e();break}const c=i.bracketPairs.findNextBracket(n);if(!c){e();break}if(Date.now()-a>Bo._maxDuration){setTimeout(()=>Bo._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 GE,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>=Bo._maxRounds&&s.size===0){e();break}if(!n){e();break}const h=i.bracketPairs.findPrevBracket(n);if(!h){e();break}if(Date.now()-c>Bo._maxDuration){setTimeout(()=>Bo._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=z.fromPositions(h.range.getEndPosition(),_.getStartPosition()),S=z.fromPositions(h.range.getStartPosition(),_.getEndPosition());r.push({range:w}),r.push({range:S}),Bo._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:z.fromPositions(new Dt(n,s),t.getEndPosition())}),i.push({range:z.fromPositions(new Dt(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:z.fromPositions(new Dt(r,a),t.getEndPosition())}),i.push({range:z.fromPositions(new Dt(r,1),t.getEndPosition())}))}}};Bo._maxDuration=30,Bo._maxRounds=2;let kv=Bo;const ga=class ga{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return ga.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return ga.None;const[s]=await new kv().provideSelectionRanges(i,[n]);if(s.length===0)return ga.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return ga.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends ga{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(i2(f))return 2<<20;const p=V_(f,z.fromPositions(c),z.compareRangesUsingStarts),v=p>=0?f[p]:f[Math.max(0,~p-1)];let _=s.length;for(const w of s){if(!z.containsRange(w.range,v))break;_-=1}return _}}}};ga.None=new class extends ga{distance(){return 0}};let Iv=ga,UI=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Wl{constructor(e,t,i,n,s,r,a=ZE.default,c=void 0){this.clipboardText=c,this._snippetCompareFn=Wl._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=Wl._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=Wl._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?XE:n2;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=ep.Default;else{let _=0;for(;_<p;){const w=n.charCodeAt(_);if(w===32||w===9)_+=1;else break}if(_>=v)g.score=ep.Default;else if(typeof g.completion.filterText=="string"){const w=c(n,s,_,g.completion.filterText,g.filterTextLow,0,this._fuzzyScoreOptions);if(!w)continue;s2(g.completion.filterText,g.textLabel)===0?g.score=w:(g.score=o2(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?r2(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 Wl._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 Wl._compareCompletionItems(e,t)}}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},Tl=function(o,e){return function(t,i){e(t,i,o)}},HC;class Hc{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 yj(o,e,t){if(!e.getContextKeyValue(vo.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(vo.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function wj(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(vo.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let Dv=HC=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 He,this._triggerCharacterListener=new He,this._triggerQuickSuggest=new Up,this._triggerState=void 0,this._completionDisposables=new He,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 Kt(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(){Us(this._triggerCharacterListener),Us([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(!wj(this._editor,this._contextKeyService,this._configurationService)||Hc.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="";l2(i.charCodeAt(i.length-1))?c2(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;uu.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=Zs.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!Hc.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(!uu.isAllOff(n)){if(!uu.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(uu.valueFor(n,r)!=="on")return}yj(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){Ui(this._editor.hasModel()),Ui(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new Hc(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 Hc(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 Ss;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}=HC.createSuggestFilter(this._editor),h=new vp(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=Iv.create(this._editorWorkerService,this._editor),f=V1(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),h,n,this._requestToken.token);Promise.all([f,g]).then(async([w,S])=>{var W;if((W=this._requestToken)==null||W.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 Hc(P,this._editor.getPosition(),e),V={...ZE.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new Wl(w.items,this._context.column,{leadingLineContent:N.leadingLineContent,characterCountDelta:N.column-this._context.column},S,this._editor.getOption(119),this._editor.getOption(113),V,D),this._completionDisposables.add(w.disposable),this._onNewContext(N),this._reportDurationsTelemetry(w.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const J of w.items)J.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${J.provider._debugDisplayName}`,J.completion)}).catch(gn)}_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(Ds(e.leadingLineContent)!==Ds(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(Hc.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=Hc.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})}}}}};Dv=HC=bj([Tl(1,Sl),Tl(2,Sg),Tl(3,Xr),Tl(4,Ch),Tl(5,Vi),Tl(6,Dn),Tl(7,Et),Tl(8,a2)],Dv);const bb=class bb{constructor(e,t){this._disposables=new He,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)>bb._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()}};bb._maxSelectionLength=51200;let WC=bb;var Sj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};let BC=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new He,this.element=dt(e,pt(".suggest-status-bar"));const r=(a=>a instanceof Yu?i.createInstance(d2,a,{useComma:!0}):void 0);this._leftActions=new Gf(this.element,{actionViewItemProvider:r}),this._rightActions=new Gf(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()}};BC=Sj([Rw(2,di),Rw(3,wh),Rw(4,Vi)],BC);var Cj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},xj=function(o,e){return function(t,i){e(t,i,o)}};function $1(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let zC=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 He,this._renderDisposeable=new He,this._borderWidth=1,this._size=new vn(330,0),this.domNode=pt(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(Lg,{editor:e}),this._body=pt(".body"),this._scrollbar=new YE(this._body,{alwaysConsumeMouseWheel:!0}),dt(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=dt(this._body,pt(".header")),this._close=dt(this._header,pt("span"+$i.asCSSSelector(Qt.close))),this._close.title=y("details.close","Close"),this._type=dt(this._header,pt("p.type")),this._docs=dt(this._body,pt("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 Vs().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!$1(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,hr(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else Ia(this._type),this._type.title="",Io(this._type),this.domNode.classList.add("no-type");if(Ia(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),Ia(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 vn(e,t);vn.equals(i,this._size)||(this._size=i,h2(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}};zC=Cj([xj(1,di)],zC);class Lj{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new He,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new x1,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=Xp(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new vn(220,2*s.lineHeight),a=e.top,c=(function(){const W=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),J=-s.borderWidth+e.left+e.width,X=new vn(W,n.height-e.top-s.borderHeight-s.verticalPadding),pe=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:J,fit:W-t.width,maxSizeTop:X,maxSizeBottom:pe,minSize:r.with(Math.min(W,r.width))}})(),h=(function(){const W=e.left-s.borderWidth-s.horizontalPadding,J=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),X=new vn(W,n.height-e.top-s.borderHeight-s.verticalPadding),pe=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:J,fit:W-t.width,maxSizeTop:X,maxSizeBottom:pe,minSize:r.with(Math.min(W,r.width))}})(),g=(function(){const W=e.left,J=-s.borderWidth+e.top+e.height,X=new vn(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:J,left:W,fit:X.height-t.height,maxSizeBottom:X,maxSizeTop:X,minSize:r.with(X.width)}})(),f=[c,h,g],p=f.find(W=>W.fit>=0)??f.sort((W,J)=>J.fit-W.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 V=this._editor.getDomNode();if(V){const W=V.getBoundingClientRect();P-=W.top,N-=W.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 La;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(La||(La={}));const kj=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Xm(o,e,t,i,n){if($i.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(ln.isUri(n))return[];const s=i===La.ROOT_FOLDER?["rootfolder-icon"]:i===La.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===to.data)r=j_.parseMetaData(t).get(j_.META_DATA_LABEL);else{const a=t.path.match(kj);a?(r=Ym(a[2].toLowerCase()),a[1]&&s.push(`${Ym(a[1].toLowerCase())}-name-dir-icon`)):r=Ym(t.authority.toLowerCase())}if(i===La.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===La.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=Ij(o,e,t);a&&s.push(`${Ym(a)}-lang-file-icon`)}}return s}function Ij(o,e,t){if(!t)return null;let i=null;if(t.scheme===to.data){const s=j_.parseMetaData(t).get(j_.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==tp?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function Ym(o){return o.replace(/[\s]/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},Aw=function(o,e){return function(t,i){e(t,i,o)}};function vN(o){return`suggest-aria-id:${o}`}const Ej=Jn("suggest-more-info",Qt.chevronRight,y("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var Wr;const Pj=new(Wr=class{extract(e,t){if(e.textLabel.match(Wr._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(Wr._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=Wr._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},Wr._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*\))/,Wr._regexStrict=new RegExp(`^${Wr._regexRelaxed.source}$`,"i"),Wr);let VC=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 He,i=e;i.classList.add("show-file-icons");const n=dt(e,pt(".icon")),s=dt(n,pt("span.colorspan")),r=dt(e,pt(".contents")),a=dt(r,pt(".main")),c=dt(a,pt(".icon-label.codicon")),h=dt(a,pt("span.left")),g=dt(a,pt("span.right")),f=new mE(h,{supportHighlights:!0,supportIcons:!0});t.add(f);const p=dt(h,pt("span.signature-label")),v=dt(h,pt("span.qualifier-label")),_=dt(g,pt("span.details-label")),w=dt(g,pt("span.readMore"+$i.asCSSSelector(Ej)));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(),V=P.fontFeatureSettings,W=D.get(120)||P.fontSize,J=D.get(121)||P.lineHeight,X=P.fontWeight,pe=P.letterSpacing,Ce=`${W}px`,ze=`${J}px`,ve=`${pe}px`;i.style.fontSize=Ce,i.style.fontWeight=X,i.style.letterSpacing=ve,a.style.fontFamily=N,a.style.fontFeatureSettings=V,a.style.lineHeight=ze,n.style.height=ze,n.style.width=ze,w.style.height=ze,w.style.width=ze}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=vN(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:ry(e.score)},r=[];if(n.kind===19&&Pj.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=Xm(this._modelService,this._languageService,ln.from({scheme:"fake",path:e.textLabel}),La.FILE),c=Xm(this._modelService,this._languageService,ln.from({scheme:"fake",path:n.detail}),La.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=[Xm(this._modelService,this._languageService,ln.from({scheme:"fake",path:e.textLabel}),La.FOLDER),Xm(this._modelService,this._languageService,ln.from({scheme:"fake",path:n.detail}),La.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...$i.asClassNameArray($0.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=Ow(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=Ow(n.label.detail||""),i.detailsLabel.textContent=Ow(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?hr(i.detailsLabel):Io(i.detailsLabel),$1(e)?(i.right.classList.add("can-expand-details"),hr(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"),Io(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};VC=Dj([Aw(1,Ys),Aw(2,Yr),Aw(3,yr)],VC);function Ow(o){return o.replace(/\r\n|\r|\n/g,"")}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},Jm=function(o,e){return function(t,i){e(t,i,o)}},iu;mt("editorSuggestWidget.background",JE,y("editorSuggestWidgetBackground","Background color of the suggest widget."));mt("editorSuggestWidget.border",u2,y("editorSuggestWidgetBorder","Border color of the suggest widget."));const Mj=mt("editorSuggestWidget.foreground",Qp,y("editorSuggestWidgetForeground","Foreground color of the suggest widget."));mt("editorSuggestWidget.selectedForeground",QE,y("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));mt("editorSuggestWidget.selectedIconForeground",g2,y("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const Nj=mt("editorSuggestWidget.selectedBackground",eP,y("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));mt("editorSuggestWidget.highlightForeground",tP,y("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));mt("editorSuggestWidget.focusHighlightForeground",f2,y("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));mt("editorSuggestWidgetStatus.foreground",Da(Mj,.5),y("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class Rj{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof br}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(vn.is(t))return vn.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}var dc;let jC=(dc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Ro,this._pendingShowDetails=new Ro,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Up,this._disposables=new He,this._onDidSelect=new sk,this._onDidFocus=new sk,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 x1,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new Aj(this,e),this._persistedSize=new Rj(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 vn(P,N))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=dt(this.element.domNode,pt(".message")),this._listElement=dt(this.element.domNode,pt(".tree"));const c=this._disposables.add(s.createInstance(zC,this.editor));c.onDidClose(this.toggleDetails,this,this._disposables),this._details=new Lj(c,this.editor);const h=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);h();const g=s.createInstance(VC,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=j0("{0}{1}",w||"",_?typeof _=="string"?_:_.value:"");return y("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",v,S)}}}),this._list.style(iP({listInactiveFocusBackground:Nj,listInactiveFocusOutline:ih})),this._status=s.createInstance(BC,this.element.domNode,ec);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=Zt.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Zt.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Zt.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Zt.HasFocusedSuggestion.bindTo(i),this._disposables.add(hl(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=Zf(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=ws(async s=>{const r=Kf(()=>{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:vN(i)}))}).catch(gn)),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:Io(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=iu.LOADING_MESSAGE,Io(this._listElement,this._status.element),hr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Ku(iu.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=iu.NO_SUGGESTIONS_MESSAGE,Io(this._listElement,this._status.element),hr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Ku(iu.NO_SUGGESTIONS_MESSAGE);break;case 3:Io(this._messageElement),hr(this._listElement,this._status.element),this._show();break;case 4:Io(this._messageElement),hr(this._listElement,this._status.element),this._show();break;case 5:Io(this._messageElement),hr(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=Kf(()=>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=ok(od(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")):($1(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=ok(od(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=Xp(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 vn(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=no(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 vn(h,i.defaultSize.height),this.element.maxSize=new vn(c,P),this.element.minSize=new vn(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=p2(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 vn(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}},iu=dc,dc.LOADING_MESSAGE=y("suggestWidget.loading","Loading..."),dc.NO_SUGGESTIONS_MESSAGE=y("suggestWidget.noSuggestions","No suggestions."),dc);jC=iu=Tj([Jm(1,Ic),Jm(2,Vi),Jm(3,yr),Jm(4,di)],jC);class Aj{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 vn(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 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},Uh=function(o,e){return function(t,i){e(t,i,o)}},UC;class Fj{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=Pi.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(z.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 Od;let gr=(Od=class{static get(e){return e.getContribution(UC.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 Ro,this._toDispose=new He,this._selectors=new Hj(f=>f.priority),this._onWillInsertSuggestItem=new gi,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(Dv,this.editor),this._selectors.register({priority:0,select:(f,p,v)=>this._memoryService.select(f,p,v)});const c=Zt.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 sw(od(e.getDomNode()),()=>{const f=this._instantiationService.createInstance(jC,this.editor);this._toDispose.add(f),this._toDispose.add(f.onDidSelect(S=>this._insertSuggestion(S,0),this));const p=new vj(this.editor,f,this.model,S=>this._insertSuggestion(S,2));this._toDispose.add(p);const v=Zt.MakesTextEdit.bindTo(this._contextKeyService),_=Zt.HasInsertAndReplaceRange.bindTo(this._contextKeyService),w=Zt.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(kn(()=>{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 V=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!S.completion.additionalTextEdits&&!(S.completion.insertTextRules&4)&&N-P===S.completion.insertText.length&&(V=this.editor.getModel().getValueInRange({startLineNumber:D.lineNumber,startColumn:P,endLineNumber:D.lineNumber,endColumn:N})!==S.completion.insertText),v.set(V),_.set(!Dt.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 rk(!0,!1,!1,!1,33))||Ta&&S.toKeyCodeChord().equals(new rk(!1,!1,!1,!0,33))){S.stopPropagation();return}S.toKeyCodeChord().isModifierKey()||this.editor.focus()})),f})),this._overtypingCapturer=this._toDispose.add(new sw(od(e.getDomNode()),()=>this._toDispose.add(new WC(this.editor,this.model)))),this._alternatives=this._toDispose.add(new sw(od(e.getDomNode()),()=>this._toDispose.add(new pg(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 Fj(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=Zt.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=Zs.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 Ss;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 _=Gu.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(w=>{let S=z.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=z.spansMultipleLines(S)?0:D;S=new z(S.startLineNumber,S.startColumn+P,S.endLineNumber,S.endColumn+N)}return qn.replaceMove(S,w.text)})),_.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!g){const _=new bo;let w;const S=n.onDidChangeContent(V=>{if(V.isFlush){c.cancel(),S.dispose();return}for(const W of V.changes){const J=z.getEndPosition(W.range);(!w||Dt.isBefore(J,w))&&(w=J)}}),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(W=>Dt.isBefore(w,z.getStartPosition(W.range))))return!1;P&&this.editor.pushUndoStop();const V=Gu.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(W=>qn.replaceMove(z.lift(W.range),W.text))),V.restoreRelativeVerticalPositionOfCursor(this.editor),(P||!(D&2))&&this.editor.pushUndoStop(),!0}).then(V=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",_.elapsed(),V),p=V===!0?1:V===!1?0:-2}).finally(()=>{S.dispose(),N.dispose()}))}let{insertText:v}=r.completion;if(r.completion.insertTextRules&4||(v=ch.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===Ev.id)this.model.trigger({auto:!0,retrigger:!0});else{const _=new bo;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(w=>{r.completion.extensionId?is(w):gn(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:ME(Ma(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:m2(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:f})}getOverwriteInfo(e,t){Ui(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(To(e.completion.additionalTextEdits)){const t=y("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);_r(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};us.once(this.model.onDidTrigger)(s=>{const r=[];us.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{Us(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(Us(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)}},UC=Od,Od.ID="editor.contrib.suggestController",Od);gr=UC=Oj([Uh(1,Fy),Uh(2,_s),Uh(3,Vi),Uh(4,di),Uh(5,Ch),Uh(6,Xr)],gr);class Hj{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 yb=class yb extends Se{constructor(){super({id:yb.id,label:y("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:le.and(M.writable,M.hasCompletionItemProvider,Zt.Visible.toNegated()),kbOpts:{kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=gr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};yb.id="editor.action.triggerSuggest";let Ev=yb;vi(gr.ID,gr,2);ne(Ev);const Ao=190,Js=ao.bindToContribution(gr.get);Nt(new Js({id:"acceptSelectedSuggestion",precondition:le.and(Zt.Visible,Zt.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:le.and(Zt.Visible,M.textInputFocus),weight:Ao},{primary:3,kbExpr:le.and(Zt.Visible,M.textInputFocus,Zt.AcceptSuggestionsOnEnter,Zt.MakesTextEdit),weight:Ao}],menuOpts:[{menuId:ec,title:y("accept.insert","Insert"),group:"left",order:1,when:Zt.HasInsertAndReplaceRange.toNegated()},{menuId:ec,title:y("accept.insert","Insert"),group:"left",order:1,when:le.and(Zt.HasInsertAndReplaceRange,Zt.InsertMode.isEqualTo("insert"))},{menuId:ec,title:y("accept.replace","Replace"),group:"left",order:1,when:le.and(Zt.HasInsertAndReplaceRange,Zt.InsertMode.isEqualTo("replace"))}]}));Nt(new Js({id:"acceptAlternativeSelectedSuggestion",precondition:le.and(Zt.Visible,M.textInputFocus,Zt.HasFocusedSuggestion),kbOpts:{weight:Ao,kbExpr:M.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:ec,group:"left",order:2,when:le.and(Zt.HasInsertAndReplaceRange,Zt.InsertMode.isEqualTo("insert")),title:y("accept.replace","Replace")},{menuId:ec,group:"left",order:2,when:le.and(Zt.HasInsertAndReplaceRange,Zt.InsertMode.isEqualTo("replace")),title:y("accept.insert","Insert")}]}));wn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");Nt(new Js({id:"hideSuggestWidget",precondition:Zt.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:Ao,kbExpr:M.textInputFocus,primary:9,secondary:[1033]}}));Nt(new Js({id:"selectNextSuggestion",precondition:le.and(Zt.Visible,le.or(Zt.MultipleSuggestions,Zt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:Ao,kbExpr:M.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Nt(new Js({id:"selectNextPageSuggestion",precondition:le.and(Zt.Visible,le.or(Zt.MultipleSuggestions,Zt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:Ao,kbExpr:M.textInputFocus,primary:12,secondary:[2060]}}));Nt(new Js({id:"selectLastSuggestion",precondition:le.and(Zt.Visible,le.or(Zt.MultipleSuggestions,Zt.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Nt(new Js({id:"selectPrevSuggestion",precondition:le.and(Zt.Visible,le.or(Zt.MultipleSuggestions,Zt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:Ao,kbExpr:M.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Nt(new Js({id:"selectPrevPageSuggestion",precondition:le.and(Zt.Visible,le.or(Zt.MultipleSuggestions,Zt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:Ao,kbExpr:M.textInputFocus,primary:11,secondary:[2059]}}));Nt(new Js({id:"selectFirstSuggestion",precondition:le.and(Zt.Visible,le.or(Zt.MultipleSuggestions,Zt.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Nt(new Js({id:"focusSuggestion",precondition:le.and(Zt.Visible,Zt.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:Ao,kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Nt(new Js({id:"focusAndAcceptSuggestion",precondition:le.and(Zt.Visible,Zt.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Nt(new Js({id:"toggleSuggestionDetails",precondition:le.and(Zt.Visible,Zt.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:Ao,kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:ec,group:"right",order:1,when:le.and(Zt.DetailsVisible,Zt.CanResolve),title:y("detail.more","Show Less")},{menuId:ec,group:"right",order:1,when:le.and(Zt.DetailsVisible.toNegated(),Zt.CanResolve),title:y("detail.less","Show More")}]}));Nt(new Js({id:"toggleExplainMode",precondition:Zt.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Nt(new Js({id:"toggleSuggestionFocus",precondition:Zt.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:Ao,kbExpr:M.textInputFocus,primary:2570,mac:{primary:778}}}));Nt(new Js({id:"insertBestCompletion",precondition:le.and(M.textInputFocus,le.equals("config.editor.tabCompletion","on"),Lv.AtEnd,Zt.Visible.toNegated(),pg.OtherSuggestions.toNegated(),Zs.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(NE(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:Ao,primary:2}}));Nt(new Js({id:"insertNextSuggestion",precondition:le.and(M.textInputFocus,le.equals("config.editor.tabCompletion","on"),pg.OtherSuggestions,Zt.Visible.toNegated(),Zs.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:Ao,kbExpr:M.textInputFocus,primary:2}}));Nt(new Js({id:"insertPrevSuggestion",precondition:le.and(M.textInputFocus,le.equals("config.editor.tabCompletion","on"),pg.OtherSuggestions,Zt.Visible.toNegated(),Zs.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:Ao,kbExpr:M.textInputFocus,primary:1026}}));ne(class extends Se{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=gr.get(e))==null||t.resetWidgetSize()}});class Wj extends Be{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=gr.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?gd(f,g):void 0;if(!p)return-1;const v=Dt.lift(c),_=h.map((S,D)=>{const P=Of.fromSuggestion(n,g,v,S,this.isShiftKeyPressed),N=gd(P.toSingleTextEdit(),g),V=_N(p,N);return{index:D,valid:V,prefixLength:N.text.length,suggestItem:S}}).filter(S=>S&&S.valid&&S.prefixLength>0),w=_2(_,Jp(S=>S.prefixLength,oy));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(us.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=Of.fromSuggestion(n,h,c,a.item,this.isShiftKeyPressed);this.onWillAccept(g)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!Bj(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=gr.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 Of.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=gr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=gr.get(this.editor);e==null||e.forceRenderingAbove()}}class Of{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const h=new ch().parse(r);h.children.length<100&&xv.adjustWhitespace(t,i,!0,h),r=h.toString(),a=!0}const c=e.getOverwriteInfo(n,s);return new Of(z.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 v2(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new ul(this.range,this.insertText)}}function Bj(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var zj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ja=function(o,e){return function(t,i){e(t,i,o)}},$C,Fd;let Ko=(Fd=class extends Be{static get(e){return e.getContribution($C.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=va(this.editor),this._positions=Yi(this,p=>{var v;return((v=this._editorObs.selections.read(p))==null?void 0:v.map(_=>_.getEndPosition()))??[new Dt(1,1)]}),this._suggestWidgetAdaptor=this._register(new Wj(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=go(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(v=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=go(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=go(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=go(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=Yi(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=bc(this,p=>{if(this._editorObs.isReadonly.read(p))return;const v=this._editorObs.model.read(p);return v?this._instantiationService.createInstance(AC,v,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,go(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),go(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),go(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=Yi(this,p=>{const v=this.model.read(p);return(v==null?void 0:v.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=Vj(this._ghostTexts,this._store),this._ghostTextWidgets=b2(this,this._stablizedGhostTexts,(p,v)=>v.add(this._instantiationService.createInstance(NC,this.editor,{ghostText:p,minReservedLineCount:Qa(0),targetTextModel:this.model.map(_=>_==null?void 0:_.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=U0(this),this._fontFamily=go(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new vo(this._contextKeyService,this.model)),this._register(ak(this._editorObs.onDidType,(p,v)=>{var _;this._enabled.get()&&((_=this.model.get())==null||_.trigger())})),this._register(this._commandService.onDidExecuteCommand(p=>{new Set([h_.Tab.id,h_.DeleteLeft.id,h_.DeleteRight.id,kM,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(_=>{var w;(w=this.model.get())==null||w.trigger(_)})})),this._register(ak(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||cg.dropDownVisible||Sh(p=>{var v;(v=this.model.get())==null||v.stop(p)})})),this._register(Vn(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(kn(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const f=ny(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(y2(Yi(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 dy(50,dS(_)),await w2(this._suggestWidgetSelectedItem,cf,()=>!1,dS(_)),await this._accessibilitySignalService.playSignal(AE.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(S.primaryGhostText.renderForScreenReader(D))})),this._register(new JS(this.editor,this.model,this._instantiationService)),this._register(MV(Yi(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())),_r(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 Dt(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},$C=Fd,Fd.ID="editor.contrib.inlineCompletionsController",Fd);Ko=$C=zj([ja(1,di),ja(2,Vi),ja(3,Dn),ja(4,_s),ja(5,Go),ja(6,Et),ja(7,RE),ja(8,ls),ja(9,sy)],Ko);function Vj(o,e){const t=Mo("result",[]),i=[];return e.add(Vn(n=>{const s=o.read(n);Sh(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=Mo("item",s[a]));t.set([...i],r)}i.forEach((a,c)=>a.set(s[c],r))})})),t}const wb=class wb extends Se{constructor(){super({id:wb.ID,label:y("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:le.and(M.writable,vo.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Ko.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};wb.ID=DM;let qC=wb;const Sb=class Sb extends Se{constructor(){super({id:Sb.ID,label:y("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:le.and(M.writable,vo.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Ko.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Sb.ID=IM;let KC=Sb;class jj extends Se{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=Ko.get(t);await nP(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 Uj extends Se{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:le.and(M.writable,vo.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:le.and(M.writable,vo.inlineSuggestionVisible)},menuOpts:[{menuId:ct.InlineSuggestionToolbar,title:y("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=Ko.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class $j extends Se{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:le.and(M.writable,vo.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:ct.InlineSuggestionToolbar,title:y("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=Ko.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class qj extends Se{constructor(){super({id:kM,label:y("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:vo.inlineSuggestionVisible,menuOpts:[{menuId:ct.InlineSuggestionToolbar,title:y("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:le.and(vo.inlineSuggestionVisible,M.tabMovesFocus.toNegated(),vo.inlineSuggestionHasIndentationLessThanTabSize,Zt.Visible.toNegated(),M.hoverFocused.toNegated())}})}async run(e,t){var n;const i=Ko.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const Cb=class Cb extends Se{constructor(){super({id:Cb.ID,label:y("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:vo.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Ko.get(t);Sh(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};Cb.ID="editor.action.inlineSuggest.hide";let GC=Cb;const xb=class xb extends ro{constructor(){super({id:xb.ID,title:y("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:ct.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:le.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(Dn),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};xb.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let ZC=xb;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},sf=function(o,e){return function(t,i){e(t,i,o)}};class Gj{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 XC=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=Ko.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 w_(1e3,this,z.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 w_(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new w_(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=Ko.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new Gj(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new He,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(cg,this._editor,!1,Qa(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 gh([c])}renderScreenReaderText(e,t){const i=new He,n=pt,s=n("div.hover-row.markdown-hover"),r=dt(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new Lg({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 Vs().appendText(g).appendCodeblock("text",h)));r.replaceChildren(f.element)};return i.add(Vn(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 F_(r)})),e.fragment.appendChild(s),i}};XC=Kj([sf(1,Yr),sf(2,Zr),sf(3,sy),sf(4,di),sf(5,Xr)],XC);class Zj{}const Hy=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(Ko.ID,Ko,3);ne(jj);ne(qC);ne(KC);ne(Uj);ne($j);ne(qj);ne(GC);Qi(ZC);Ih.register(XC);Hy.register(new Zj);var Xj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fw=function(o,e){return function(t,i){e(t,i,o)}},_f,hc;let bp=(hc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new He,this.toUnhookForKeyboard=new He,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new Py(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=>{gn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(_f.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 sP(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=ws(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){gn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?z.lift(n[0].originSelectionRange):new z(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:c}of n)c&&(a=z.plusRange(a,c));this.addDecoration(a,new Vs().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 Vs().appendCodeblock(p||"",f):void 0),c.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=_f.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+_f.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new z(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 V0)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?um(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 fm({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(Vi);return so.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},_f=hc,hc.ID="editor.contrib.gotodefinitionatposition",hc.MAX_SOURCE_PREVIEW_LINES=8,hc);bp=_f=Xj([Fw(1,Jr),Fw(2,Yr),Fw(3,Et)],bp);vi(bp.ID,bp,2);var bN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Pv=function(o,e){return function(t,i){e(t,i,o)}};class $I{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let YC=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new gi,this.onDidChange=this._onDidChange.event,this._dispoables=new He,this._markers=[],this._nextIdx=-1,ln.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=lk(a.resource.toString(),c.resource.toString());return h===0&&(n==="position"?h=z.compareRangesUsingStarts(a,c)||$s.compare(a.severity,c.severity):h=$s.compare(a.severity,c.severity)||z.compareRangesUsingStarts(a,c)),h},r=()=>{this._markers=this._markerService.read({resource:ln.isUri(e)?e:void 0,severities:$s.Error|$s.Warning|$s.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 $I(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=V_(this._markers,{resource:e.uri},(r,a)=>lk(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=z.lift(this._markers[r]);if(a.isEmpty()){const c=e.getWordAtPosition(a.getStartPosition());c&&(a=new z(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(z.containsPosition(this._markers[i],t))return new $I(this._markers[i],i+1,this._markers.length)}}};YC=bN([Pv(1,R0),Pv(2,Dn)],YC);const yN=yl("IMarkerNavigationService");let JC=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new GE}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new YC(e,this._markerService,this._configService)}};JC=bN([Pv(0,R0),Pv(1,Dn)],JC);wl(yN,JC,1);var QC;(function(o){function e(t){switch(t){case Mm.Ignore:return"severity-ignore "+$i.asClassName(Qt.info);case Mm.Info:return $i.asClassName(Qt.info);case Mm.Warning:return $i.asClassName(Qt.warning);case Mm.Error:return $i.asClassName(Qt.error);default:return""}}o.className=e})(QC||(QC={}));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},$h=function(o,e){return function(t,i){e(t,i,o)}},ex;class Jj{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 He,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(hl(this._relatedBlock,"click",a=>{a.preventDefault();const c=this._relatedDiagnostics.get(a.target);c&&i(c)})),this._scrollable=new D2(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(){Us(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=cy(i);this._lines=a.length,this._longestLineLength=0;for(const p of a)this._longestLineLength=Math.max(p.length+r,this._longestLineLength);Ia(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=pt("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=_=>{this._openerService.open(s.target,{allowCommands:!0}),_.preventDefault(),_.stopPropagation()};const v=dt(this._codeLink,pt("span"));v.innerText=s.value,p.appendChild(this._codeLink)}}if(Ia(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),To(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 $s.Error:t=y("Error","Error");break;case $s.Warning:t=y("Warning","Warning");break;case $s.Info:t=y("Info","Info");break;case $s.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 Hd;let yp=(Hd=class extends av{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 He,this._onDidSelectRelatedInformation=new gi,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=$s.Warning,this._backgroundColor=Ii.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(iU);let t=tx,i=Qj;this._severity===$s.Warning?(t=L_,i=eU):this._severity===$s.Info&&(t=ix,i=tU);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(HM),secondaryHeadingColor:e.getColor(WM)})}_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(ex.TitleMenu,this._contextKeyService);F0(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=dt(e,pt(""))}_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 Jj(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=z.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(Ma(a.uri),c)}this._icon.className=`codicon ${QC.className($s.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()}},ex=Hd,Hd.TitleMenu=new ct("gotoErrorTitleMenu"),Hd);yp=ex=Yj([$h(1,yr),$h(2,Zr),$h(3,wh),$h(4,di),$h(5,Vi),$h(6,Qf)],yp);const qI=q0(C2,S2),KI=q0(L2,x2),GI=q0(sS,k2),tx=mt("editorMarkerNavigationError.background",{dark:qI,light:qI,hcDark:dl,hcLight:dl},y("editorMarkerNavigationError","Editor marker navigation widget error color.")),Qj=mt("editorMarkerNavigationError.headerBackground",{dark:Da(tx,.1),light:Da(tx,.1),hcDark:null,hcLight:null},y("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),L_=mt("editorMarkerNavigationWarning.background",{dark:KI,light:KI,hcDark:dl,hcLight:dl},y("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),eU=mt("editorMarkerNavigationWarning.headerBackground",{dark:Da(L_,.1),light:Da(L_,.1),hcDark:"#0C141F",hcLight:Da(L_,.2)},y("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),ix=mt("editorMarkerNavigationInfo.background",{dark:GI,light:GI,hcDark:dl,hcLight:dl},y("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),tU=mt("editorMarkerNavigationInfo.headerBackground",{dark:Da(ix,.1),light:Da(ix,.1),hcDark:null,hcLight:null},y("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),iU=mt("editorMarkerNavigation.background",I2,y("editorMarkerNavigationBackground","Editor marker navigation widget background."));var nU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Qm=function(o,e){return function(t,i){e(t,i,o)}},vf,Wd;let mh=(Wd=class{static get(e){return e.getContribution(vf.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new He,this._editor=e,this._widgetVisible=wN.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(yp,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)||!z.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:z.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 Dt(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=vf.get(r))==null||i.close(),(n=vf.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},vf=Wd,Wd.ID="editor.contrib.markerController",Wd);mh=vf=nU([Qm(1,yN),Qm(2,Vi),Qm(3,ns),Qm(4,di)],mh);class Wy extends Se{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=mh.get(t))==null||i.nagivate(this._next,this._multiFile))}}const Kc=class Kc extends Wy{constructor(){super(!0,!1,{id:Kc.ID,label:Kc.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:578,weight:100},menuOpts:{menuId:yp.TitleMenu,title:Kc.LABEL,icon:Jn("marker-navigation-next",Qt.arrowDown,y("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};Kc.ID="editor.action.marker.next",Kc.LABEL=y("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let Tv=Kc;const Gc=class Gc extends Wy{constructor(){super(!1,!1,{id:Gc.ID,label:Gc.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:1602,weight:100},menuOpts:{menuId:yp.TitleMenu,title:Gc.LABEL,icon:Jn("marker-navigation-previous",Qt.arrowUp,y("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};Gc.ID="editor.action.marker.prev",Gc.LABEL=y("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let nx=Gc;class sU extends Wy{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:ct.MenubarGoMenu,title:y({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class oU extends Wy{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:ct.MenubarGoMenu,title:y({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}vi(mh.ID,mh,4);ne(Tv);ne(nx);ne(sU);ne(oU);const wN=new Ai("markersNavigationVisible",!1),rU=ao.bindToContribution(mh.get);Nt(new rU({id:"closeMarkersNavigation",precondition:wN,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:M.focus,primary:9,secondary:[1033]}}));var Mr;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(Mr||(Mr={}));class aU extends Se{constructor(){super({id:LM,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:xt("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:[Mr.NoAutoFocus,Mr.FocusIfVisible,Mr.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:Mr.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=Hs.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=Mr.FocusIfVisible;Object.values(Mr).includes(s)?r=s:typeof s=="boolean"&&s&&(r=Mr.AutoFocusImmediately);const a=h=>{const g=t.getPosition(),f=new z(g.lineNumber,g.column,g.lineNumber,g.column);n.showContentHover(f,1,1,h)},c=t.getOption(2)===2;n.isHoverVisible?r!==Mr.NoAutoFocus?n.focus():a(c):a(c||r===Mr.AutoFocusImmediately)}}class lU extends Se{constructor(){super({id:LB,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:xt("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=Hs.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new z(n.lineNumber,n.column,n.lineNumber,n.column),r=bp.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class cU extends Se{constructor(){super({id:kB,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:xt("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.scrollUp()}}class dU extends Se{constructor(){super({id:IB,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:xt("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.scrollDown()}}class hU extends Se{constructor(){super({id:DB,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:xt("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.scrollLeft()}}class uU extends Se{constructor(){super({id:EB,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:xt("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.scrollRight()}}class gU extends Se{constructor(){super({id:PB,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:xt("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.pageUp()}}class fU extends Se{constructor(){super({id:TB,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:xt("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.pageDown()}}class pU extends Se{constructor(){super({id:MB,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:xt("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.goToTop()}}class mU extends Se{constructor(){super({id:NB,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:xt("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.goToBottom()}}class _U extends Se{constructor(){super({id:Iy,label:RB,alias:"Increase Hover Verbosity Level",precondition:M.hoverVisible})}run(e,t,i){const n=Hs.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel($o.Increase,s,i==null?void 0:i.focus)}}class vU extends Se{constructor(){super({id:Dy,label:AB,alias:"Decrease Hover Verbosity Level",precondition:M.hoverVisible})}run(e,t,i){var r;const n=Hs.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=Hs.get(t))==null||r.updateHoverVerbosityLevel($o.Decrease,s,i==null?void 0:i.focus)}}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},Hw=function(o,e){return function(t,i){e(t,i,o)}};const Jo=pt;class yU{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 ZI={type:1,filter:{include:bn.QuickFix},triggerAction:yo.QuickFixHover};let sx=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 z(e.range.startLineNumber,c,e.range.startLineNumber,h);r.push(new yU(this,f,g))}return r}renderHoverParts(e,t){if(!t.length)return new gh([]);const i=new He,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)=>$s.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new gh(n)}_renderMarkerHover(e){const t=new He,i=Jo("div.hover-row"),n=dt(i,Jo("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:c}=e.marker;this._editor.applyFontInfo(n);const h=dt(n,Jo("span"));if(h.style.whiteSpace="pre-wrap",h.innerText=r,s||a)if(a&&typeof a!="string"){const f=Jo("span");if(s){const w=dt(f,Jo("span"));w.innerText=s}const p=dt(f,Jo("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(zi(p,"click",w=>{this._openerService.open(a.target,{allowCommands:!0}),w.preventDefault(),w.stopPropagation()}));const v=dt(p,Jo("span"));v.innerText=a.value;const _=dt(n,f);_.style.opacity="0.6",_.style.paddingLeft="6px"}else{const f=dt(n,Jo("span"));f.style.opacity="0.6",f.style.paddingLeft="6px",f.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(To(c))for(const{message:f,resource:p,startLineNumber:v,startColumn:_}of c){const w=dt(n,Jo("div"));w.style.marginTop="8px";const S=dt(w,Jo("a"));S.innerText=`${Ma(p)}(${v}, ${_}): `,S.style.cursor="pointer",t.add(zi(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(gn)}}));const D=dt(w,Jo("span"));D.innerText=f,this._editor.applyFontInfo(D)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===$s.Error||t.marker.severity===$s.Warning||t.marker.severity===$s.Info){const n=mh.get(this._editor);n&&e.statusBar.addAction({label:y("view problem","View Problem"),commandId:Tv.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(Jo("div"));this.recentMarkerCodeActionsInfo&&(ck.makeKey(this.recentMarkerCodeActionsInfo.marker)===ck.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?Be.None:Kf(()=>n.textContent=y("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(kn(()=>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(kn(()=>{c||a.dispose()})),e.statusBar.addAction({label:y("quick fixes","Quick Fix..."),commandId:y1,run:h=>{c=!0;const g=ag.get(this._editor),f=no(h);e.hide(),g==null||g.showCodeActions(ZI,a,{x:f.left,y:f.top,width:f.width,height:f.height})}})},gn)}}getCodeActions(e){return ws(t=>lu(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new z(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),ZI,Ja.None,t))}};sx=bU([Hw(1,E2),Hw(2,Zr),Hw(3,Et)],sx);class wU{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=A_.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)??A_.Center;if(!n&&a!==this._laneOrLine)continue;const c=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!c||Jf(c)||i.push(...pE(c).map(e))}return i}}var SU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},ox;const YI=pt;var Bd;let rx=(Bd=class extends Be{constructor(e,t,i){super(),this._renderDisposeables=this._register(new He),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new fE),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new Lg({editor:this._editor},t,i)),this._computer=new wU(this._editor),this._hoverOperation=this._register(new EM(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(hl(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return ox.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=YI("div.hover-row.markdown-hover"),r=dt(s,YI("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||!Ey(t,e.x,e.y))&&this.hide()}},ox=Bd,Bd.ID="editor.contrib.modesGlyphHoverWidget",Bd);rx=ox=SU([XI(1,Yr),XI(2,Zr)],rx);var CU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},xU=function(o,e){return function(t,i){e(t,i,o)}},Hu;let Mv=(Hu=class extends Be{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new He,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new gs(()=>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?Ey(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(rx,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},Hu.ID="editor.contrib.marginHover",Hu);Mv=CU([xU(1,di)],Mv);class LU{}class kU{}class IU{}vi(Hs.ID,Hs,2);vi(Mv.ID,Mv,2);ne(aU);ne(lU);ne(cU);ne(dU);ne(hU);ne(uU);ne(gU);ne(fU);ne(pU);ne(mU);ne(_U);ne(vU);Ih.register(fp);Ih.register(sx);ty((o,e)=>{const t=o.getColor(P2);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)}; }`))});Hy.register(new LU);Hy.register(new kU);Hy.register(new IU);function uo(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function Ff(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 SN(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 T2(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,Qu.shiftIndent(w,w.length+S,r,a,c)),g=(w,S)=>(S=S||1,Qu.unshiftIndent(w,w.length+S,r,a,c)),f=[],p=o.getLineContent(t);let v=Ds(p),_=v;s.shouldIncrease(t)?(_=h(_),v=h(v)):s.shouldIndentNextLine(t)&&(_=h(_)),t++;for(let w=t;w<=i;w++){if(DU(o,w))continue;const S=o.getLineContent(w),D=Ds(S),P=_;s.shouldDecrease(w,P)&&(_=g(_),v=g(v)),D!==_&&f.push(qn.replaceMove(new Kt(w,1,w,D.length+1),M2(_,a,c))),!s.shouldIgnore(w)&&(s.shouldIncrease(w,P)?(v=h(v),_=v):s.shouldIndentNextLine(w,P)?_=h(_):_=v)}return f}function DU(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}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},PU=function(o,e){return function(t,i){e(t,i,o)}};const Lb=class Lb extends Se{constructor(){super({id:Lb.ID,label:y("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:M.writable,metadata:{description:xt("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 AU(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};Lb.ID="editor.action.indentationToSpaces";let ax=Lb;const kb=class kb extends Se{constructor(){super({id:kb.ID,label:y("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:M.writable,metadata:{description:xt("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 OU(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};kb.ID="editor.action.indentationToTabs";let lx=kb;class q1 extends Se{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(bl),n=e.get(Ys),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 Ib=class Ib extends q1{constructor(){super(!1,!1,{id:Ib.ID,label:y("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:xt("indentUsingTabsDescription","Use indentation with tabs.")}})}};Ib.ID="editor.action.indentUsingTabs";let cx=Ib;const Db=class Db extends q1{constructor(){super(!0,!1,{id:Db.ID,label:y("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:xt("indentUsingSpacesDescription","Use indentation with spaces.")}})}};Db.ID="editor.action.indentUsingSpaces";let dx=Db;const Eb=class Eb extends q1{constructor(){super(!0,!0,{id:Eb.ID,label:y("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:xt("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};Eb.ID="editor.action.changeTabDisplaySize";let hx=Eb;const Pb=class Pb extends Se{constructor(){super({id:Pb.ID,label:y("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:xt("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(Ys),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};Pb.ID="editor.action.detectIndentation";let ux=Pb;class TU extends Se{constructor(){super({id:"editor.action.reindentlines",label:y("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:M.writable,metadata:{description:xt("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(vs),n=t.getModel();if(!n)return;const s=SN(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class MU extends Se{constructor(){super({id:"editor.action.reindentselectedlines",label:y("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:M.writable,metadata:{description:xt("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(vs),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=SN(n,i,c,h);r.push(...g)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class NU{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(z.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 Wu;let Nv=(Wu=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new He,this.callOnModel=new He,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)||RU(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:_=>Qu.shiftIndent(_,_.length+1,r,a,c),unshiftIndent:_=>Qu.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 _=Df(s,i,i.getLanguageId(),f,g,this._languageConfigurationService);if(_!==null){const w=Ds(p),S=uo(_,r),D=uo(w,r);if(S!==D){const P=Ff(S,r,c);h.push({range:new z(f,1,f,w.length+1),text:P}),p=P+p.substring(w.length)}else{const P=oP(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=Df(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=uo(w,r),D=uo(Ds(i.getLineContent(f+1)),r);if(S!==D){const P=S-D;for(let N=f+1;N<=e.endLineNumber;N++){const V=i.getLineContent(N),W=Ds(V),X=uo(W,r)+P,pe=Ff(X,r,c);pe!==W&&h.push({range:new z(N,1,N,W.length+1),text:pe})}}}}if(h.length>0){this.editor.pushUndoStop();const _=new NU(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()}},Wu.ID="editor.contrib.autoIndentOnPaste",Wu);Nv=EU([PU(1,vs)],Nv);function RU(o,e){const t=i=>N2(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function CN(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 z(r,1,r,c),g=o.getValueInRange(h),f=i?g.replace(/\t/ig,n):g.replace(s," ");e.addEditOperation(h,f)}}class AU{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),CN(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class OU{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),CN(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}vi(Nv.ID,Nv,2);ne(ax);ne(lx);ne(cx);ne(dx);ne(hx);ne(ux);ne(TU);ne(MU);vi(mp.ID,mp,1);Ih.register(hv);class FU{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 Kt(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new Kt(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var HU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},k_,uc;let mg=(uc=class{static get(e){return e.getContribution(k_.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 sP(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=ws(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=z.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 Kt(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const v=new FU(g,s,h.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,v),this.editor.pushUndoStop(),this.decorations.set([{range:f,options:k_.DECORATION}]),(_=this.decorationRemover)==null||_.cancel(),this.decorationRemover=dy(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(gn)}).catch(gn)):Promise.resolve(void 0)}},k_=uc,uc.ID="editor.contrib.inPlaceReplaceController",uc.DECORATION=Pi.register({description:"in-place-replace",className:"valueSetReplacement"}),uc);mg=k_=HU([WU(1,Sl)],mg);class BU extends Se{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=mg.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class zU extends Se{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=mg.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}vi(mg.ID,mg,4);ne(BU);ne(zU);class VU extends Se{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,K0.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}ne(VU);class jU{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=UU(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 UU(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=u_(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++]=qn.delete(new z(a,v,a,g))}return i}class xN{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 z(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
49
- `):this._isCopyingDown?t.addEditOperation(new z(i.startLineNumber,1,i.startLineNumber,1),s+`
50
- `):t.addEditOperation(new z(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=Kt.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var $U=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qU=function(o,e){return function(t,i){e(t,i,o)}};let gx=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 z(1,1,1,1),null):(t.addEditOperation(new z(f,1,f,1),e.getLineContent(p)),t.addEditOperation(new z(p,1,p,e.getLineMaxColumn(p)),null)),r=new Kt(p,1,p,1)}else{let f,p;if(this._isMovingDown){f=r.endLineNumber+1,p=e.getLineContent(f),t.addEditOperation(new z(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=Ds(e.getLineContent(f)),D=_+uo(S,a);v=Ff(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=Df(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber,g,this._languageConfigurationService);if(D!==null){const P=Ds(e.getLineContent(f)),N=uo(D,a),V=uo(P,a);N!==V&&(v=Ff(N,a,h)+this.trimStart(p))}}t.addEditOperation(new z(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=Df(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber+1,g,this._languageConfigurationService);if(D!==null){const P=Ds(e.getLineContent(r.startLineNumber)),N=uo(D,a),V=uo(P,a);if(N!==V){const W=N-V;this.getIndentEditsOfMovingBlock(e,t,r,a,h,W)}}}}else t.addEditOperation(new z(r.startLineNumber,1,r.startLineNumber,1),v+`
53
- `)}else if(f=r.startLineNumber-1,p=e.getLineContent(f),t.addEditOperation(new z(f,1,f+1,1),null),t.addEditOperation(new z(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=Df(this._autoIndent,v,e.getLanguageIdAtPosition(r.startLineNumber,1),f,g,this._languageConfigurationService);if(w!==null){const S=Ds(e.getLineContent(r.startLineNumber)),D=uo(w,a),P=uo(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=>Qu.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>Qu.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===Nm.None||s.indentAction===Nm.Indent?r=s.indentation+s.appendText:s.indentAction===Nm.IndentOutdent?r=s.indentation:s.indentAction===Nm.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const c=Ds(e.getLineContent(n));let h=Ds(r);const g=oP(e,n,this._languageConfigurationService);g!==null&&g&2&&(h=t.unshiftIndent(h));const f=uo(h,i),p=uo(c,i);return f-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(u_(r)>=0){const a=e.getLineMaxColumn(s),c=ow(this._autoIndent,e,new z(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(u_(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=ow(this._autoIndent,e,new z(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),u_(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=ow(this._autoIndent,e,new z(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=Ds(c),f=uo(h,n)+r,p=Ff(f,n,s);p!==h&&(t.addEditOperation(new z(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}};gx=$U([qU(3,vs)],gx);const vu=class vu{static getCollator(){return vu._COLLATOR||(vu._COLLATOR=new Intl.Collator),vu._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=KU(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=LN(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}};vu._COLLATOR=null;let wp=vu;function LN(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(wp.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function KU(o,e,t){const i=LN(o,e,t);return i?qn.replace(new z(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
55
- `)):null}class kN extends Se{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)=>z.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 xN(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class GU extends kN{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:ct.MenubarSelectionMenu,group:"2_line",title:y({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class ZU extends kN{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:ct.MenubarSelectionMenu,group:"2_line",title:y({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class XU extends Se{constructor(){super({id:"editor.action.duplicateSelection",label:y("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:M.writable,menuOpts:{menuId:ct.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 xN(a,!0));else{const c=new Kt(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new R2(c,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class IN extends Se{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(vs),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new gx(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class YU extends IN{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:ct.MenubarSelectionMenu,group:"2_line",title:y({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class JU extends IN{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:ct.MenubarSelectionMenu,group:"2_line",title:y({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class DN extends Se{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 Kt(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!wp.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new wp(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class QU extends DN{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:y("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:M.writable})}}class e6 extends DN{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:y("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:M.writable})}}class t6 extends Se{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 Kt(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 Kt(h.startLineNumber,1,h.endLineNumber,i.getLineMaxColumn(h.endLineNumber)),v=h.startLineNumber-r,_=new Kt(v,1,v+f.length-1,f[f.length-1].length);n.push(qn.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 Tb=class Tb extends Se{constructor(){super({id:Tb.ID,label:y("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:as(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(g=>new Dt(g.positionLineNumber,g.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(Dn),a=t.getModel(),c=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),h=new jU(s,n,c);t.pushUndoStop(),t.executeCommands(this.id,[h]),t.pushUndoStop()}};Tb.ID="editor.action.trimTrailingWhitespace";let fx=Tb;class i6 extends Se{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(qn.replace(new Kt(f,v,p,_),"")),a.push(new Kt(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 n6 extends Se{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,A2.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class s6 extends Se{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){h_.Outdent.runEditorCommand(e,t,null)}}class o6 extends Se{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,rP.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class r6 extends Se{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,rP.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class EN extends Se{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];z.intersectRanges(g,f)===null?s.push(g):n[c+1]=z.plusRange(g,f)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(c=>qn.replace(c,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class a6 extends EN{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 Kt(c,r.startColumn,c,r.startColumn)}else a=new Kt(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(z.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 z(r,a,s.startLineNumber,1)}else return new z(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new z(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class l6 extends EN{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 Kt(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 z(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new z(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(z.compareRangesUsingStarts),n}}class c6 extends Se{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(z.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 Kt(p.startLineNumber,p.startColumn,v.endLineNumber,v.endColumn):v.startLineNumber>p.endLineNumber?(s.push(p),v):new Kt(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 V=a.getLineLength(_.endLineNumber)-_.endColumn;if(_.isEmpty()||_.startLineNumber===_.endLineNumber){const X=_.getStartPosition();X.lineNumber<a.getLineCount()?(P=w+1,N=a.getLineMaxColumn(P)):(P=X.lineNumber,N=a.getLineMaxColumn(X.lineNumber))}else P=_.endLineNumber,N=a.getLineMaxColumn(P);let W=a.getLineContent(w);for(let X=w+1;X<=P;X++){const pe=a.getLineContent(X),Ce=a.getLineFirstNonWhitespaceColumn(X);if(Ce>=1){let ze=!0;W===""&&(ze=!1),ze&&(W.charAt(W.length-1)===" "||W.charAt(W.length-1)===" ")&&(ze=!1,W=W.replace(/[\s\uFEFF\xA0]+$/g," "));const ve=pe.substr(Ce-1);W+=(ze?" ":"")+ve,ze?D=ve.length+1:D=ve.length}else D=0}const J=new z(w,S,P,N);if(!J.isEmpty()){let X;_.isEmpty()?(c.push(qn.replace(J,W)),X=new Kt(J.startLineNumber-f,W.length-D+1,w-f,W.length-D+1)):_.startLineNumber===_.endLineNumber?(c.push(qn.replace(J,W)),X=new Kt(_.startLineNumber-f,_.startColumn,_.endLineNumber-f,_.endColumn)):(c.push(qn.replace(J,W)),X=new Kt(_.startLineNumber-f,_.startColumn,_.startLineNumber-f,W.length-V)),z.intersectRanges(J,n)!==null?g=X:h.push(X)}f+=J.endLineNumber-J.startLineNumber}h.unshift(g),t.pushUndoStop(),t.executeEdits(this.id,c,h),t.pushUndoStop()}}class d6 extends Se{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 z(h.lineNumber,Math.max(1,h.column-1),h.lineNumber+1,1),p=n.getValueInRange(f).split("").reverse().join("");s.push(new Vp(new Kt(h.lineNumber,Math.max(1,h.column-1),h.lineNumber+1,1),p))}else{const f=new z(h.lineNumber,Math.max(1,h.column-1),h.lineNumber,h.column+1),p=n.getValueInRange(f).split("").reverse().join("");s.push(new xE(f,p,new Kt(h.lineNumber,h.column+1,h.lineNumber,h.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Ph extends Se{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 z(c.lineNumber,h.startColumn,c.lineNumber,h.endColumn),f=n.getValueInRange(g);r.push(qn.replace(g,this._modifyText(f,s)))}else{const c=n.getValueInRange(a);r.push(qn.replace(a,this._modifyText(c,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class h6 extends Ph{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 u6 extends Ph{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 ll{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 Mb=class Mb extends Ph{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=Mb.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};Mb.titleBoundary=new ll("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let Rv=Mb;const bu=class bu extends Ph{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=bu.caseBoundary.get(),n=bu.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};bu.caseBoundary=new ll("(\\p{Ll})(\\p{Lu})","gmu"),bu.singleLetters=new ll("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let Hf=bu;const Nb=class Nb extends Ph{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=Nb.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("")}};Nb.wordBoundary=new ll("[_\\s-]","gm");let Av=Nb;const yu=class yu extends Ph{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=yu.wordBoundary.get(),n=yu.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("")}};yu.wordBoundary=new ll("[_\\s-]","gm"),yu.wordBoundaryToMaintain=new ll("(?<=\\.)","gm");let Ov=yu;const Hl=class Hl extends Ph{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=Hl.caseBoundary.get(),n=Hl.singleLetters.get(),s=Hl.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};Hl.caseBoundary=new ll("(\\p{Ll})(\\p{Lu})","gmu"),Hl.singleLetters=new ll("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Hl.underscoreBoundary=new ll("(\\S)(_)(\\S)","gm");let Fv=Hl;ne(GU);ne(ZU);ne(XU);ne(YU);ne(JU);ne(QU);ne(e6);ne(t6);ne(fx);ne(i6);ne(n6);ne(s6);ne(o6);ne(r6);ne(a6);ne(l6);ne(c6);ne(d6);ne(h6);ne(u6);Hf.caseBoundary.isSupported()&&Hf.singleLetters.isSupported()&&ne(Hf);Av.wordBoundary.isSupported()&&ne(Av);Ov.wordBoundary.isSupported()&&ne(Ov);Rv.titleBoundary.isSupported()&&ne(Rv);Fv.isSupported()&&ne(Fv);var g6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},e_=function(o,e){return function(t,i){e(t,i,o)}},I_;const PN=new Ai("LinkedEditingInputVisible",!1),f6="linked-editing-decoration";var gc;let _g=(gc=class extends Be{static get(e){return e.getContribution(I_.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new He),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=PN.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 He),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(us.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new vc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new vc(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=em(h,g);f+=v,h=h.substr(v),g=g.substr(v);const _=O2(h,g);p-=_,h=h.substr(0,h.length-_),g=g.substr(0,g.length-_),(f!==p||g.length!==0)&&s.push({range:new z(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 Ss;try{const r=new bo(!1),a=await TN(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(z.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:I_.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(g),this._syncRangesToken++}catch(r){kc(r)||gn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},I_=gc,gc.ID="editor.contrib.linkedEditing",gc.DECORATION=Pi.register({description:"linked-editing",stickiness:0,className:f6}),gc);_g=I_=g6([e_(1,Vi),e_(2,Et),e_(3,vs),e_(4,Go)],_g);class p6 extends Se{constructor(){super({id:"editor.action.linkedEditing",label:y("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:le.and(M.writable,M.hasRenameProvider),kbOpts:{kbExpr:M.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(ns),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return ln.isUri(n)&&Dt.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))))},gn):super.runCommand(e,t)}run(e,t){const i=_g.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const m6=ao.bindToContribution(_g.get);Nt(new m6({id:"cancelLinkedEditingInput",precondition:PN,handler:o=>o.clearRanges(),kbOpts:{kbExpr:M.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function TN(o,e,t,i){const n=o.ordered(e);return G0(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){is(r);return}}),s=>!!s&&To(s==null?void 0:s.ranges))}mt("editor.linkedEditingBackground",{dark:Ii.fromHex("#f00").transparent(.3),light:Ii.fromHex("#f00").transparent(.3),hcDark:Ii.fromHex("#f00").transparent(.3),hcLight:Ii.white},y("editorLinkedEditingBackground","Background color when the editor auto renames on type."));lo("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(Et);return TN(i,e,t,fi.None)});vi(_g.ID,_g,1);ne(p6);let _6=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 Hv{constructor(e){this._disposables=new He;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new _6(r,n));t=Hv._union(t,s),$E(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(z.areIntersectingOrTouching(c.range,h.range)){n++;continue}z.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 MN(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])},is));return Promise.all(n).then(()=>{const s=new Hv(cl(i));return t.isCancellationRequested?(s.dispose(),new Hv([])):s})}wn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;Ui(t instanceof ln),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(Et),s=o.get(Ys).getModel(t);if(!s)return[];const r=await MN(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 v6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},t_=function(o,e){return function(t,i){e(t,i,o)}},px,zd;let Sp=(zd=class extends Be{static get(e){return e.getContribution(px.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 gs(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new Py(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=ws(t=>MN(this.providers,e,t));try{const t=new bo(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){gn(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(xu.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 xu(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===to.file&&s.startsWith(`${to.file}:`)){const a=ln.parse(s);if(a.scheme===to.file){const c=F2(a);let h=null;c.startsWith("/./")||c.startsWith("\\.\\")?h=`.${c.substr(1)}`:(c.startsWith("//./")||c.startsWith("\\\\.\\"))&&(h=`.${c.substr(2)}`),h&&(s=H2(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.")):gn(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()}},px=zd,zd.ID="editor.linkDetector",zd);Sp=px=v6([t_(1,Zr),t_(2,Xs),t_(3,Et),t_(4,Go)],Sp);const JI={general:Pi.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:Pi.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class xu{static decoration(e,t){return{range:e.range,options:xu._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?JI.active:JI.general};return n.hoverMessage=b6(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,xu._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,xu._getOptions(this.link,t,!1))}}function b6(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?Ta?y("links.navigate.kb.meta.mac","cmd + click"):y("links.navigate.kb.meta","ctrl + click"):Ta?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 Vs("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new Vs().appendText(`${i} (${n})`)}class y6 extends Se{constructor(){super({id:"editor.action.openLink",label:y("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=Sp.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(Sp.ID,Sp,1);ne(y6);const vL=class vL extends Be{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})}))}};vL.ID="editor.contrib.longLinesHelper";let Wv=vL;vi(Wv.ID,Wv,2);const w6=mt("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);mt("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);mt("editor.wordHighlightTextBackground",w6,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 S6=mt("editor.wordHighlightBorder",{light:null,dark:null,hcDark:ih,hcLight:ih},y("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));mt("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:ih,hcLight:ih},y("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));mt("editor.wordHighlightTextBorder",S6,y("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const C6=mt("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),x6=mt("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),L6=mt("editorOverviewRuler.wordHighlightTextForeground",aP,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),k6=Pi.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:hs(x6),position:ka.Center},minimap:{color:hs(hy),position:1}}),I6=Pi.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:hs(L6),position:ka.Center},minimap:{color:hs(hy),position:1}}),D6=Pi.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:hs(aP),position:ka.Center},minimap:{color:hs(hy),position:1}}),E6=Pi.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),P6=Pi.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:hs(C6),position:ka.Center},minimap:{color:hs(hy),position:1}});function T6(o){return o===U_.Write?k6:o===U_.Text?I6:P6}function M6(o){return o?E6:D6}ty((o,e)=>{const t=o.getColor(W2);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var N6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},R6=function(o,e){return function(t,i){e(t,i,o)}},mx;function Dc(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);Ku(n)}}class A6 extends Se{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:ct.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,K0.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Dc(r,s.getCursorStates())}}class O6 extends Se{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:ct.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,K0.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Dc(r,s.getCursorStates())}}class F6 extends Se{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:ct.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 Kt(n,s,n,s))}e.endColumn>1&&i.push(new Kt(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),Dc(r,s.getCursorStates())}}class H6 extends Se{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 Kt(c,i[0].startColumn,c,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),Dc(a,r.getCursorStates())}}class W6 extends Se{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 Kt(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),Dc(r,s.getCursorStates())}}class i_{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class Cp{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new Cp(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 Kt(c.startLineNumber,f.startColumn,c.startLineNumber,f.endColumn)}else h=e.getModel().getValueInRange(c).replace(/\r\n/g,`
57
- `);return new Cp(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 i_(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 i_(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 Kt(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 i_(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 i_(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 Kt(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 Rb=class Rb extends Be{static get(e){return e.getContribution(Rb.ID)}constructor(e){super(),this._sessionDispose=this._register(new He),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=Cp.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 Kt(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(!NN(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 Kt(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};Rb.ID="editor.contrib.multiCursorController";let vg=Rb;class Mg extends Se{run(e,t){const i=vg.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=oo.get(t);if(r)this._run(i,r);else{const a=e.get(di).createInstance(oo,t);this._run(i,a),a.dispose()}Dc(s,n.getCursorStates())}}}class B6 extends Mg{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:ct.MenubarSelectionMenu,group:"3_multi",title:y({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class z6 extends Mg{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:ct.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 V6 extends Mg{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:as(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class j6 extends Mg{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 U6 extends Mg{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:ct.MenubarSelectionMenu,group:"3_multi",title:y({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class $6 extends Mg{constructor(){super({id:"editor.action.changeAll",label:y("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:le.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 q6{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(z.compareRangesUsingStarts)),this._cachedFindMatches}}var Vd;let Bv=(Vd=class extends Be{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new gs(()=>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=oo.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(mx._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=vg.get(i);if(!s)return null;const r=oo.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(!NN(i.getModel(),g,p))return null}a=Cp.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 q6(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(z.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 _=z.compareRangesUsingStarts(v,n[g]);_<0?((n[g].isEmpty()||!z.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:M6(a)}));this._decorations.set(c)}dispose(){this._setState(null),super.dispose()}},mx=Vd,Vd.ID="editor.contrib.selectionHighlighter",Vd);Bv=mx=N6([R6(1,Et)],Bv);function NN(o,e,t){const i=QI(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=QI(o,r,!t);if(i!==a)return!1}return!0}function QI(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class K6 extends Se{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),Dc(s,n.getCursorStates()))}}class G6 extends Se{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),Dc(s,n.getCursorStates()))}}vi(vg.ID,vg,4);vi(Bv.ID,Bv,1);ne(A6);ne(O6);ne(F6);ne(B6);ne(z6);ne(V6);ne(j6);ne(U6);ne($6);ne(H6);ne(W6);ne(K6);ne(G6);const Z6="editor.action.inlineEdit.accept",X6="editor.action.inlineEdit.reject",Y6="editor.action.inlineEdit.jumpTo",J6="editor.action.inlineEdit.jumpBack";var Q6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},e$=function(o,e){return function(t,i){e(t,i,o)}};const Ww="inline-edit";let _x=class extends Be{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Mo(this,!1),this.currentTextModel=go(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Yi(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,V){if(f.length>0){const W=f[f.length-1];V&&W.decorations.push(new np(W.content.length+1,W.content.length+1+N[0].length,V,0)),W.content+=N[0],N=N.slice(1)}for(const W of N)f.push({content:W,decorations:V?[new np(1,W.length+1,V,0)]:[]})}const v=s.getLineContent(r.lineNumber);let _,w=0;if(!h&&(c||!a)){for(const N of r.parts){let V=N.lines;a&&!c&&(p(V,Ww),V=[]),_===void 0?(g.push({column:N.column,text:V[0],preview:N.preview}),V=V.slice(1)):p([v.substring(w,N.column-1)],void 0),V.length>0&&(p(V,Ww),_===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 fN(_,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=Yi(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 z(g,f,g,p);a.push(v)}}for(const c of a)r.push({range:c,options:Z0})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new z(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:X0})}for(const a of s.inlineTexts)r.push({range:z.fromPositions(new Dt(s.lineNumber,a.column)),options:{description:Ww,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:ou.Left},showIfCollapsed:!0}});return r}),this._register(kn(()=>{this.isDisposed.set(!0,void 0)})),this._register(pN(this.editor,this.decorations))}};_x=Q6([e$(2,Yr)],_x);var K1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ma=function(o,e){return function(t,i){e(t,i,o)}},D_;let vx=class extends Be{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=go(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=Yi(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 Dt(s.lineNumber,Math.min(r,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Zp((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(bx,this.editor,!0,this.position));e.addContentWidget(a),s.add(kn(()=>e.removeContentWidget(a)))}))}};vx=K1([ma(2,di)],vx);var fc;let bx=(fc=class extends Be{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${D_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=dr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[dr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(ct.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(yx,this.nodes.toolBar,this.editor,ct.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,c)=>{if(a instanceof Yu)return n.createInstance(t$,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{D_._dropDownVisible=a})),this._register(Vn(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(Vn(a=>{const c=[];for(const[h,g]of this.inlineCompletionsActionsMenus.getActions())for(const f of g)f instanceof Yu&&c.push(f);c.length>0&&c.unshift(new Yf),this.toolBar.setAdditionalSecondaryActions(c)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},D_=fc,fc._dropDownVisible=!1,fc.id=0,fc);bx=D_=K1([ma(3,di),ma(4,Vi),ma(5,wh)],bx);class t$ extends dE{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=dr("div.keybinding").root;this._register(new P0(t,T0,{disableTitle:!0,...hE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let yx=class extends uE{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=[];F0(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){Pa(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};yx=K1([ma(4,wh),ma(5,Vi),ma(6,wg),ma(7,ls),ma(8,_s),ma(9,Xr)],yx);var RN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},E_=function(o,e){return function(t,i){e(t,i,o)}},bf,wx;function*i$(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function Bw(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 jd;let Sx=(jd=class extends Be{static _createUniqueUri(){return ln.from({scheme:"inline-edit-widget",path:new Date().toString()+String(bf._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=Yi(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(i$(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 Dt(p,f);return{top:a.range.startLineNumber,left:v}}),this._text=Yi(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const c=Bw(a.text.split(`
58
- `));return{text:c.text.join(`
59
- `),shift:c.shift}}),this._originalModel=bc(()=>this._modelService.createModel("",null,bf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=bc(()=>this._modelService.createModel("",null,bf._createUniqueUri())).keepObserved(this._store),this._diff=Yi(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=Yi(this,r=>{const a=this._model.read(r);if(!a)return;const c=this._editor.getModel();if(!c)return;const h=Bw(c.getValueInRange(a.range).split(`
60
- `)).text.join(`
61
- `),g=Bw(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 lP.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(Zp((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const h=a.add(this._instantiationService.createInstance(Cx,this._editor,this._position,this._text.map(g=>g.text),this._text.map(g=>g.shift),this._diff));e.addOverlayWidget(h),a.add(kn(()=>e.removeOverlayWidget(h)))}))}},bf=jd,jd._modelId=0,jd);Sx=bf=RN([E_(2,di),E_(3,Y0),E_(4,Ys)],Sx);var Ud;let Cx=(Ud=class extends Be{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${wx.id++}`,this.allowEditorOverflow=!1,this._nodes=pt("div.inlineEditSideBySide",void 0),this._scrollChanged=rd("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(br,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=va(this._previewEditor),this._editorObs=va(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(Ul,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??tp,Ul.DEFAULT_CREATION_OPTIONS,null)),this._setText=Yi(c=>{const h=this._text.read(c);h&&this._previewTextModel.setValue(h)}).recomputeInitiallyAndOnChange(this._store),this._decorations=Yi(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 z(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:X0}),w.modified.isEmpty||p.push({range:w.modified.toInclusiveRange(),options:cP}),w.modified.isEmpty||w.original.isEmpty)w.original.isEmpty||f.push({range:_(w.original.toInclusiveRange()),options:dP}),w.modified.isEmpty||p.push({range:w.modified.toInclusiveRange(),options:hP});else for(const S of w.innerChanges||[])w.original.contains(S.originalRange.startLineNumber)&&f.push({range:_(S.originalRange),options:S.originalRange.isEmpty()?uP:Z0}),w.modified.contains(S.modifiedRange.startLineNumber)&&p.push({range:S.modifiedRange,options:S.modifiedRange.isEmpty()?gP:fP});return{org:f,mod:p}}),this._originalDecorations=Yi(this,c=>this._decorations.read(c).org),this._modifiedDecorations=Yi(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(Vn(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(Vn(c=>{this._position.read(c),this._editor.layoutOverlayWidget(this)})),this._register(Vn(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 Dt(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}}}},wx=Ud,Ud.id=0,Ud);Cx=wx=RN([E_(5,di)],Cx);var n$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Wc=function(o,e){return function(t,i){e(t,i,o)}},yf,Uo;let qs=(Uo=class extends Be{static get(e){return e.getContribution(yf.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=yf.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=yf.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=Mo(this,void 0),this._currentWidget=bc(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 _p(S,[new bv(D,P,!1)]),V=w.range.startLineNumber===w.range.endLineNumber&&N.parts.length===1&&N.parts[0].lines.length===1,W=w.text==="";return!V&&!W?void 0:this.instantiationService.createInstance(_x,this.editor,{ghostText:Qa(N),minReservedLineCount:Qa(0),targetTextModel:Qa(this.editor.getModel()??void 0),range:Qa(w.range)})}),this._isAccepting=Mo(this,!1),this._enabled=go(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=go(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const h=rd("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(Vn(_=>{this._enabled.read(_)&&(h.read(_),!this._isAccepting.read(_)&&this.getInlineEdit(e,!0))}));const g=go(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(Vn(_=>{if(!this._enabled.read(_))return;const w=g.read(_);w&&this.checkCursorPosition(w)})),this._register(Vn(_=>{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=rd("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(Vn(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=rd("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(Vn(_=>{this._enabled.read(_)&&(p.read(_),this.getInlineEdit(e,!0))}));const v=this._register(FE());this._register(Vn(_=>{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 vx(this.editor,this._currentWidget,this.instantiationService)),this._register(new Sx(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(z.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 Ss;const a=this._currentRequestCts.token,c=t?dk.Automatic:dk.Invoke;if(t&&await s$(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",[qn.replace(z.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,is),this.freeEdit(e),Sh(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=Dt.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,is),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)}},yf=Uo,Uo.ID="editor.contrib.inlineEditController",Uo.inlineEditVisibleKey="inlineEditVisible",Uo.inlineEditVisibleContext=new Ai(Uo.inlineEditVisibleKey,!1),Uo.cursorAtInlineEditKey="cursorAtInlineEdit",Uo.cursorAtInlineEditContext=new Ai(Uo.cursorAtInlineEditKey,!1),Uo);qs=yf=n$([Wc(1,di),Wc(2,Vi),Wc(3,Et),Wc(4,_s),Wc(5,Dn),Wc(6,Y0),Wc(7,Ys)],qs);function s$(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 o$=class extends Se{constructor(){super({id:Z6,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:le.and(M.writable,qs.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:le.and(M.writable,qs.inlineEditVisibleContext,qs.cursorAtInlineEditContext)}],menuOpts:[{menuId:ct.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=qs.get(t);await(i==null?void 0:i.accept())}};class r$ extends Se{constructor(){const e=le.and(M.writable,le.not(qs.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=qs.get(t);i==null||i.trigger()}}class a$ extends Se{constructor(){const e=le.and(M.writable,qs.inlineEditVisibleContext,le.not(qs.cursorAtInlineEditKey));super({id:Y6,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:ct.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=qs.get(t);i==null||i.jumpToCurrent()}}class l$ extends Se{constructor(){const e=le.and(M.writable,qs.cursorAtInlineEditContext);super({id:J6,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:ct.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=qs.get(t);i==null||i.jumpBack()}}class c$ extends Se{constructor(){const e=le.and(M.writable,qs.inlineEditVisibleContext);super({id:X6,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:ct.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=qs.get(t);await(i==null?void 0:i.clear())}}ne(o$);ne(c$);ne(a$);ne(l$);ne(r$);vi(qs.ID,qs,3);const d$="editor.action.inlineEdits.accept",h$="editor.action.inlineEdits.showPrevious",u$="editor.action.inlineEdits.showNext",bg=new Ai("inlineEditsVisible",!1,y("inlineEditsVisible","Whether an inline edit is visible")),g$=new Ai("inlineEditsIsPinned",!1,y("isPinned","Whether an inline edit is visible")),bL=class bL extends Be{constructor(e){super(),this._editor=e,this._editorObs=va(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=Ya({owner:this,equalsFn:pP},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=f$(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=gE((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=dr("div.editorPlaceholder");i.add(Vn(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(Vn(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(Vn(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:Qa(0),position:Qa(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};bL.ID="editor.contrib.placeholderText";let xp=bL;function f$(o,e){return ny(o,(t,i)=>i===!0?!0:e(t))}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},m$=function(o,e){return function(t,i){e(t,i,o)}};class _${constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let xx=class extends Be{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=va(this._editor),this._elements=dr("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[dr("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[dr("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),dr("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),dr("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),Ah("svg",{style:{overflow:"visible",pointerEvents:"none"}},[Ah("defs",[Ah("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[Ah("stop",{offset:"0%",class:"gradient-stop"}),Ah("stop",{offset:"100%",class:"gradient-stop"})])]),Ah("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(Ul,"",tp,Ul.DEFAULT_CREATION_OPTIONS,null)),this._setText=Yi(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(Ul,"",tp,Ul.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(br,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:B2},{contributions:z2.getSomeEditorContributions([gr.ID,xp.ID,hg.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(br,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=va(this._previewEditor),this._decorations=Yi(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:X0}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:cP}),f.modified.isEmpty||f.original.isEmpty)f.original.isEmpty||c.push({range:f.original.toInclusiveRange(),options:dP}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:hP});else for(const p of f.innerChanges||[])f.original.contains(p.originalRange.startLineNumber)&&c.push({range:p.originalRange,options:p.originalRange.isEmpty()?uP:Z0}),f.modified.contains(p.modifiedRange.startLineNumber)&&h.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?gP:fP});return h}),this._layout1=Yi(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=Yi(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 gu(g,f),_=new gu(g,p),w=p-f,S=50,D=this._editor.getOption(67)*a.newLines.length,P=w-D,N=new gu(g+S,f+P/2),V=new gu(g+S,p-P/2);return{topCode:v,bottomCode:_,codeHeight:w,topEdit:N,bottomEdit:V,editHeight:D}});const s=Yi(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(V2(this._elements.root,{display:Yi(this,r=>s.read(r)?"block":"none")})),this._register(j2(this._editor.getDomNode(),this._elements.root)),this._register(va(e).createOverlayWidget({domNode:this._elements.root,position:Qa(null),allowEditorOverflow:!1,minContentWidthInPx:Yi(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(Vn(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 b$().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(y$(v$(this._userPrompt,r=>r??"",r=>r),va(this._promptEditor).value)),this._register(Vn(r=>{const a=va(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};xx=p$([m$(3,di)],xx);function v$(o,e,t){return mP(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class gu{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new gu(this.x+e,this.y)}}class b${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 y$(o,e){const t=new He;return t.add(Vn(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(Vn(i=>{const n=e.read(i);o.set(n,void 0)})),t}var w$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zw=function(o,e){return function(t,i){e(t,i,o)}},wf,$d;let Lx=($d=class extends Be{static _createUniqueUri(){return ln.from({scheme:"inline-edits",path:new Date().toString()+String(wf._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=U0(this),this._selectedInlineCompletionId=Mo(this,void 0),this._isActive=Mo(this,!1),this._originalModel=bc(()=>this._modelService.createModel("",null,wf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=bc(()=>this._modelService.createModel("",null,wf._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new C$(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(c=>!!c),this.userPrompt=Mo(this,void 0),this.inlineEdit=Yi(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=Yi(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 lP.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 _$(U2.fromRangeInclusive(g),p(f),S.changes)})}),this._fetchStore=this._register(new He),this._inlineEditsFetchResult=lS(this,void 0),this._inlineEdits=Ya({owner:this,equalsFn:pP},c=>{var h;return((h=this._inlineEditsFetchResult.read(c))==null?void 0:h.completions.map(g=>new S$(g)))??[]}),this._fetchInlineEditsPromise=qE({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:ol.Automatic}),handleChange:(c,h)=>(c.didChange(this._forceUpdateExplicitlySignal)&&(h.inlineCompletionTriggerKind=ol.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=dS(this._fetchStore);await dy(200,v);const _=await mN(this.languageFeaturesService.inlineCompletionsProvider,f,this.textModel,p,v);v.isCancellationRequested||this._inlineEditsFetchResult.set(_,void 0)}),this._filteredInlineEditItems=Ya({owner:this,equalsFn:cS()},c=>this._inlineEdits.read(c)),this.selectedInlineCompletionIndex=Yi(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=Yi(this,c=>{const h=this._filteredInlineEditItems.read(c),g=this.selectedInlineCompletionIndex.read(c);return h[g]}),this._register(KE(this._fetchInlineEditsPromise))}async triggerExplicitly(e){z_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){z_(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 Ju;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},wf=$d,$d._modelId=0,$d);Lx=wf=w$([zw(4,Et),zw(5,Y0),zw(6,Ys)],Lx);class S${constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class C$ extends Be{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Mo(this,[]),this.range=Yi(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(kn(()=>{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 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},of=function(o,e){return function(t,i){e(t,i,o)}},kx,qd;let _l=(qd=class extends Be{static get(e){return e.getContribution(kx.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=$2("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=va(this.editor),this._selection=Yi(this,a=>this._editorObs.cursorSelection.read(a)??new Kt(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=bc(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(hS(Lx,a),c,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=ny(this,(a,c)=>{var h;return c||((h=this.model.read(a))==null?void 0:h.inlineEdit.read(a))!==void 0}),this._widget=bc(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(hS(xx,a),this.editor,this.model.map((c,h)=>c==null?void 0:c.inlineEdit.read(h)),L$(c=>{var h;return((h=this.model.read(c))==null?void 0:h.userPrompt)??Mo("empty","")}))}),this._register(hk(bg,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.inlineEdit.read(a))})),this._register(hk(g$,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)}},kx=qd,qd.ID="editor.contrib.inlineEditsController",qd);_l=kx=x$([of(1,di),of(2,Vi),of(3,Go),of(4,Et),of(5,Dn)],_l);function L$(o){return mP(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function mm(o){return{label:o.value,alias:o.original}}const Ab=class Ab extends Se{constructor(){super({id:Ab.ID,...mm(xt("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:le.and(M.writable,bg),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=_l.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};Ab.ID=u$;let Ix=Ab;const Ob=class Ob extends Se{constructor(){super({id:Ob.ID,...mm(xt("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:le.and(M.writable,bg),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=_l.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Ob.ID=h$;let Dx=Ob;class k$ extends Se{constructor(){super({id:"editor.action.inlineEdits.trigger",...mm(xt("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:M.writable})}async run(e,t){const i=_l.get(t);await nP(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class I$ extends Se{constructor(){super({id:d$,...mm(xt("action.inlineEdits.accept","Accept Inline Edit")),precondition:bg,menuOpts:{menuId:ct.InlineEditsActions,title:y("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Qt.check},kbOpts:{primary:2058,weight:2e4,kbExpr:bg}})}async run(e,t){var n;t instanceof br&&(t=t.getParentEditor());const i=_l.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const Fb=class Fb extends Se{constructor(){super({id:Fb.ID,...mm(xt("action.inlineEdits.hide","Hide Inline Edit")),precondition:bg,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=_l.get(t);Sh(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};Fb.ID="editor.action.inlineEdits.hide";let Ex=Fb;vi(_l.ID,_l,3);ne(k$);ne(Ix);ne(Dx);ne(I$);ne(Ex);const _h={Visible:new Ai("parameterHintsVisible",!1),MultipleSignatures:new Ai("parameterHintsMultipleSignatures",!1)};async function AN(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){is(a)}}wn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;Ui(ln.isUri(t)),Ui(Dt.isIPosition(i)),Ui(typeof n=="string"||!n);const s=o.get(Et),r=await o.get(Jr).createModelReference(t);try{const a=await AN(s.signatureHelpProvider,r.object.textEditorModel,Dt.lift(i),{triggerKind:Yl.Invoke,isRetrigger:!1,triggerCharacter:n},fi.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var Al;(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})(Al||(Al={}));const Hb=class Hb extends Be{constructor(e,t,i=Hb.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new gi),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Al.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Ro),this.triggerChars=new W_,this.retriggerChars=new W_,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new vc(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=Al.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(gn)}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 Al.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(D$);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 Al.Pending(ws(c=>AN(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 Al.Active(c.value),this._lastSignatureHelpResult.value=c,this._onChangedHints.fire(this.state.hints),!0)}catch(c){return e===this.triggerId&&(this.state=Al.Default),gn(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:Yl.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:Yl.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:Yl.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};Hb.DEFAULT_DELAY=120;let Px=Hb;function D$(o,e){switch(e.triggerKind){case Yl.Invoke:return e;case Yl.ContentChange:return o;case Yl.TriggerCharacter:default:return e}}var E$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},n_=function(o,e){return function(t,i){e(t,i,o)}},Tx;const Co=pt,P$=Jn("parameter-hints-next",Qt.chevronDown,y("parameterHintsNextIcon","Icon for show next parameter hint.")),T$=Jn("parameter-hints-previous",Qt.chevronUp,y("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var Kd;let Mx=(Kd=class extends Be{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new He),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new Lg({editor:e},s,n)),this.keyVisible=_h.Visible.bindTo(i),this.keyMultipleSignatures=_h.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=Co(".editor-widget.parameter-hints-widget"),t=dt(e,Co(".phwrapper"));t.tabIndex=-1;const i=dt(t,Co(".controls")),n=dt(i,Co(".button"+$i.asCSSSelector(T$))),s=dt(i,Co(".overloads")),r=dt(i,Co(".button"+$i.asCSSSelector(P$)));this._register(zi(n,"click",p=>{H_.stop(p),this.previous()})),this._register(zi(r,"click",p=>{H_.stop(p),this.next()}));const a=Co(".body"),c=new YE(a,{alwaysConsumeMouseWheel:!0});this._register(c),t.appendChild(c.getDomNode());const h=dt(a,Co(".signature")),g=dt(a,Co(".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",O0.fontFamily)};f(),this._register(us.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=dt(this.domNodes.signature,Co(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const h=dt(n,Co("span"));h.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const h=Co("span.documentation");if(typeof a.documentation=="string")h.textContent=a.documentation;else{const g=this.renderMarkdownDocs(a.documentation);h.appendChild(g.element)}dt(this.domNodes.docs,Co("p",{},h))}if(i.documentation!==void 0)if(typeof i.documentation=="string")dt(this.domNodes.docs,Co("p",{},i.documentation));else{const h=this.renderMarkdownDocs(i.documentation);dt(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&&(_r(y("hint","{0}, hint",h)),this.announcedLabel=h)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new bo,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"&&ru(t.documentation).length>0||t&&typeof t.documentation=="object"&&ru(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&ru(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&ru(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),dt(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|^)${Xf(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 Tx.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)}},Tx=Kd,Kd.ID="editor.widget.parameterHintsWidget",Kd);Mx=Tx=E$([n_(2,Vi),n_(3,Zr),n_(4,Yr),n_(5,Xr)],Mx);mt("editorHoverWidget.highlightForeground",tP,y("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var M$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},eD=function(o,e){return function(t,i){e(t,i,o)}},Nx,Gd;let yg=(Gd=class extends Be{static get(e){return e.getContribution(Nx.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new Px(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 D0(()=>this._register(t.createInstance(Mx,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)}},Nx=Gd,Gd.ID="editor.controller.parameterHints",Gd);yg=Nx=M$([eD(1,di),eD(2,Et)],yg);class N$ extends Se{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=yg.get(t);i==null||i.trigger({triggerKind:Yl.Invoke})}}vi(yg.ID,yg,2);ne(N$);const G1=175,Z1=ao.bindToContribution(yg.get);Nt(new Z1({id:"closeParameterHints",precondition:_h.Visible,handler:o=>o.cancel(),kbOpts:{weight:G1,kbExpr:M.focus,primary:9,secondary:[1033]}}));Nt(new Z1({id:"showPrevParameterHint",precondition:le.and(_h.Visible,_h.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:G1,kbExpr:M.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));Nt(new Z1({id:"showNextParameterHint",precondition:le.and(_h.Visible,_h.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:G1,kbExpr:M.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var R$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},A$=function(o,e){return function(t,i){e(t,i,o)}};class O${constructor(e){this.instantiationService=e}init(...e){}}function F$(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=Zp((n,s)=>{const r=hS(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function H$(o){return q2()?F$(o,Rx):o()}let Rx=class extends O${constructor(e,t){super(t),this.init(e)}};Rx=R$([A$(1,di)],Rx);vi(xp.ID,H$(()=>xp),0);mt("editor.placeholder.foreground",K2,y("placeholderForeground","Foreground color of the placeholder text in the editor."));var W$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},s_=function(o,e){return function(t,i){e(t,i,o)}};const Ng=new Ai("renameInputVisible",!1,y("renameInputVisible","Whether the rename input widget is visible"));new Ai("renameInputFocused",!1,y("renameInputFocused","Whether the rename input widget is focused"));let Ax=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 He,this._visibleContextKey=Ng.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new bo,this._inputWithButton=new B$,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 X1(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(G2),i=e.getColor(Z2);this._domNode.style.backgroundColor=String(e.getColor(JE)??""),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(X2)??"");const n=e.getColor(Y2);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(uk)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(uk)??""),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;Ui(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=Xp(this.getDomNode().ownerDocument.body),t=no(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}=Lp.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;Ui(this._renameCandidateListView),Ui(this._nPxAvailableAbove!==void 0),Ui(this._nPxAvailableBelow!==void 0);const t=su(this._inputWithButton.domNode),i=su(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:nr(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 He;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(zi(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),c.add(zi(this._inputWithButton.button,jn.KEY_DOWN,g=>{const f=new J0(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 Dt(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(kn(()=>{this._renameCts=void 0,s.dispose(!0)})),c.add(kn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),c.add(kn(()=>this._candidates.clear()));const h=new Jb;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"),Ui(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),Ui(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new Ss;const i=t?uS.Invoke:uS.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){Ui(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!z.isEmpty(i)&&!z.spansMultipleLines(i)&&z.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 jp(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"&&d_(h.value)?h.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=nE(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)}};Ax=W$([s_(2,yr),s_(3,ls),s_(4,Vi),s_(5,Ch)],Ax);class X1{constructor(e,t){this._disposables=new He,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=X1._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(iP({listInactiveFocusForeground:QE,listInactiveFocusBackground:eP}))}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`,Ku(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}=Lp.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 Lp(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 B${constructor(){this._onDidInputChange=new gi,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new He}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=J2().setupManagedHover(ly("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(zi(this.input,jn.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(zi(this.input,jn.KEY_DOWN,e=>{const t=new J0(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(zi(this.input,jn.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(zi(this.input,jn.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(zi(this.input,jn.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return Ui(this._inputNode),this._inputNode}get button(){return Ui(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=gS(Qt.sparkle)),Ia(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=gS(Qt.primitiveSquare)),Ia(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 qf=class qf{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=`${qf._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=gS(Qt.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),jE(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(Q2.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+qf._PADDING*2}}dispose(){}};qf._PADDING=2;let Lp=qf;var z$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ml=function(o,e){return function(t,i){e(t,i,o)}},Ox;class Y1{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 z(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
76
- `):void 0}:{range:z.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 V$(o,e,t,i){const n=new Y1(e,t,o),s=await n.resolveRenameLocation(fi.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,fi.None)}var Zd;let xc=(Zd=class{static get(e){return e.getContribution(Ox.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 He,this._cts=new Ss,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Ax,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 Ss,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new Y1(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new $u(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 Qb?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"||l_(S))&&((_=mo.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=mo.get(this.editor))==null||w.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new $u(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===uS.Automatic&&(P=P.filter(([N,V])=>V)),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=jp(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(z.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&&_r(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)}},Ox=Zd,Zd.ID="editor.contrib.renameController",Zd);xc=Ox=z$([Ml(1,di),Ml(2,Xs),Ml(3,Xb),Ml(4,$p),Ml(5,Ch),Ml(6,eF),Ml(7,Et),Ml(8,Xr)],xc);class j$ extends Se{constructor(){super({id:"editor.action.rename",label:y("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:le.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(ns),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return ln.isUri(n)&&Dt.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))))},gn):super.runCommand(e,t)}run(e,t){const i=e.get(Ch),n=xc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}vi(xc.ID,xc,4);ne(j$);const J1=ao.bindToContribution(xc.get);Nt(new J1({id:"acceptRenameInput",precondition:Ng,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:le.and(M.focus,le.not("isComposing")),primary:3}}));Nt(new J1({id:"acceptRenameInputWithPreview",precondition:le.and(Ng,le.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:le.and(M.focus,le.not("isComposing")),primary:2051}}));Nt(new J1({id:"cancelRenameInput",precondition:Ng,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:M.focus,primary:9,secondary:[1033]}}));Qi(class extends ro{constructor(){super({id:"focusNextRenameSuggestion",title:{...xt("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Ng,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(ns).getFocusedCodeEditor();if(!t)return;const i=xc.get(t);i&&i.focusNextRenameSuggestion()}});Qi(class extends ro{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...xt("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Ng,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(ns).getFocusedCodeEditor();if(!t)return;const i=xc.get(t);i&&i.focusPreviousRenameSuggestion()}});lo("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;Ui(typeof n=="string");const{renameProvider:s}=o.get(Et);return V$(s,e,t,n)});lo("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(Et),s=await new Y1(e,t,i).resolveRenameLocation(fi.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});Gr.as(qp.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 U$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Bu;let zv=(Bu=class extends Be{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 gs(()=>{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=>$$(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()}},Bu.ID="editor.sectionHeaderDetector",Bu);zv=U$([tD(1,vs),tD(2,Sl)],zv);function $$(o){return{range:o.range,options:Pi.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}vi(zv.ID,zv,1);function q$(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 K$(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return tF()||q$(e),iF.wrap(e)}function ON(o){const e=new Uint32Array(G$(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 K$(e)}function G$(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 By(o){return o&&!!o.data}function FN(o){return o&&Array.isArray(o.edits)}class Z${constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function HN(o,e){return o.has(e)}function X$(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function WN(o,e,t,i,n){const s=X$(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||!By(c)&&!FN(c))&&(c=null),new Z$(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 Y$(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class J${constructor(e,t){this.provider=e,this.tokens=t}}function Q$(o,e){return o.has(e)}function BN(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function Q1(o,e,t,i){const n=BN(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(c){is(c),a=null}return(!a||!By(a))&&(a=null),new J$(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}wn.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;Ui(t instanceof ln);const i=o.get(Ys).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Et),s=Y$(n,i);return s?s[0].getLegend():o.get(_s).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});wn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;Ui(t instanceof ln);const i=o.get(Ys).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Et);if(!HN(n,i))return o.get(_s).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await WN(n,i,null,null,fi.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!By(a))return;const c=ON({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),c});wn.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;Ui(t instanceof ln);const n=o.get(Ys).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Et),r=BN(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!z.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 Q1(s,n,z.lift(i),fi.None);if(a)return a.provider.getLegend()});wn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;Ui(t instanceof ln),Ui(z.isIRange(i));const n=o.get(Ys).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Et),r=await Q1(s,n,z.lift(i),fi.None);if(!(!r||!r.tokens))return ON({id:0,type:"full",data:r.tokens.data})});const eL="editor.semanticHighlighting";function P_(o,e,t){var n;const i=(n=t.getValue(eL,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}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},_a=function(o,e){return function(t,i){e(t,i,o)}},Rl;let Fx=class extends Be{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=g=>{this._watchers[g.uri.toString()]=new Hx(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()];P_(g,i,n)?f||a(g):f&&c(g,f)}};t.getModels().forEach(g=>{P_(g,i,n)&&a(g)}),this._register(t.onModelAdded(g=>{P_(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(eL)&&h()})),this._register(i.onDidColorThemeChange(h))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};Fx=zN([_a(0,Q0),_a(1,Ys),_a(2,yr),_a(3,Dn),_a(4,Go),_a(5,Et)],Fx);var pc;let Hx=(pc=class extends Be{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:Rl.REQUEST_MIN_DELAY,max:Rl.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new gs(()=>this._fetchDocumentSemanticTokensNow(),Rl.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=()=>{Us(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),Us(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!HN(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new Ss,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=WN(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 bo(!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&&(kc(c)||typeof c.message=="string"&&c.message.indexOf("busy")!==-1)||gn(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(FN(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&&(Rl._copy(c,g-_,h,f-_,_),f-=_),v.data&&(Rl._copy(v.data,0,h,f-v.data.length,v.data.length),f-=v.data.length),g=v.start}g>0&&Rl._copy(c,0,h,0,g),t={resultId:t.resultId,data:h}}}if(By(t)){this._currentDocumentResponse=new e5(e,t.resultId,t.data);const a=_P(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()}},Rl=pc,pc.REQUEST_MIN_DELAY=300,pc.REQUEST_MAX_DELAY=2e3,pc);Hx=Rl=zN([_a(1,Q0),_a(2,yr),_a(3,Go),_a(4,Et)],Hx);class e5{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}xg(Fx);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},rf=function(o,e){return function(t,i){e(t,i,o)}},zu;let Vv=(zu=class extends Be{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 gs(()=>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(eL)&&(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(!P_(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!Q$(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=ws(r=>Promise.resolve(Q1(this._provider,e,t,r))),s=new bo(!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,_P(c,h,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},zu.ID="editor.contrib.viewportSemanticTokens",zu);Vv=t5([rf(1,Q0),rf(2,yr),rf(3,Dn),rf(4,Go),rf(5,Et)],Vv);vi(Vv.ID,Vv,1);class i5{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(gk(f)&&fk(g))break;g=f}for(c+=1;h<s.length;h++){const f=s.charCodeAt(h);if(fk(f)&&gk(g))break;if(f===95||f===45)break;g=f}c<h&&e.push({range:new z(i.lineNumber,r+c,i.lineNumber,r+h)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new z(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 z(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var n5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},s5=function(o,e){return function(t,i){e(t,i,o)}},Wx;class tL{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 tL(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var Xd;let kp=(Xd=class{static get(e){return e.getContribution(Wx.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 jN(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),fi.None).then(s=>{var r;if(!(!To(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!Pa(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 tL(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=>Kt.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},Wx=Xd,Xd.ID="editor.contrib.smartSelectController",Xd);kp=Wx=n5([s5(1,Et)],kp);class VN extends Se{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=kp.get(t);i&&await i.run(this._forward)}}class o5 extends VN{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:ct.MenubarSelectionMenu,group:"1_basic",title:y({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}wn.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class r5 extends VN{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:ct.MenubarSelectionMenu,group:"1_basic",title:y({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}vi(kp.ID,kp,4);ne(o5);ne(r5);async function jN(o,e,t,i,n){const s=o.all(e).concat(new i5(i.selectSubwords));s.length===1&&s.unshift(new kv);const r=[],a=[];for(const c of s)r.push(Promise.resolve(c.provideSelectionRanges(e,t,n)).then(h=>{if(To(h)&&h.length===t.length)for(let g=0;g<t.length;g++){a[g]||(a[g]=[]);for(const f of h[g])z.isIRange(f.range)&&z.containsPosition(f.range,t[g])&&a[g].push(z.lift(f.range))}},is));return await Promise.all(r),a.map(c=>{if(c.length===0)return[];c.sort((p,v)=>Dt.isBefore(p.getStartPosition(),v.getStartPosition())?1:Dt.isBefore(v.getStartPosition(),p.getStartPosition())||Dt.isBefore(p.getEndPosition(),v.getEndPosition())?-1:Dt.isBefore(v.getEndPosition(),p.getEndPosition())?1:0);const h=[];let g;for(const p of c)(!g||z.containsRange(p,g)&&!z.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 z(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 z(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})}wn.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;Ui(ln.isUri(t));const n=o.get(Et).selectionRangeProvider,s=await o.get(Jr).createModelReference(t);try{return jN(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},fi.None)}finally{s.dispose()}});const a5=Object.freeze({View:xt("view","View"),Help:xt("help","Help"),Test:xt("test","Test"),File:xt("file","File"),Preferences:xt("preferences","Preferences"),Developer:xt({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class Wf{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&&Pa(this.startLineNumbers,e.startLineNumbers)&&Pa(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new Wf([],[],0)}}const iD=WE("stickyScrollViewLayer",{createHTML:o=>o}),Vw="data-sticky-line-index",nD="data-sticky-is-line",l5="data-sticky-is-line-number",sD="data-sticky-is-folding-icon";class c5 extends Be{constructor(e){super(),this._editor=e,this._foldingIconStore=new He,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 br),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(zi(this._lineNumbersDomNode,jn.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(zi(this._lineNumbersDomNode,jn.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 Dt(t,1)).lineNumber,a=s.getViewLineRenderingData(r),c=this._editor.getOption(68);let h;try{h=np.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{h=[]}const g=new VE(!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 BE(2e3),p=zE(g,f);let v;iD?v=iD.createHTML(f.build()):v=f.build();const _=document.createElement("span");_.setAttribute(Vw,String(e)),_.setAttribute(nD,""),_.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(Vw,String(e)),w.setAttribute(l5,""),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 d5(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 h5(c,r,n.getEndLineNumber(s),this._lineHeight);return h.setVisible(this._isOnGlyphMargin?!0:c||i==="always"),h.domNode.setAttribute(sD,""),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=nF(t.characterMapping,e,0);return new Dt(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,Vw);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,nD)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,sD)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class d5{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 h5{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?pv:fv)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class Bf{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class jv{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class UN{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var zy=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ip=function(o,e){return function(t,i){e(t,i,o)}},zf;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(zf||(zf={}));var Zl;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(Zl||(Zl={}));let Bx=class extends Be{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new vc(300)),this._updateOperation=this._register(new He),this._editor.getOption(116).defaultModel){case zf.OUTLINE_MODEL:this._modelProviders.push(new zx(this._editor,n));case zf.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new jx(this._editor,t,n));case zf.INDENTATION_MODEL:this._modelProviders.push(new Vx(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 Zl.CANCELED:return this._updateOperation.clear(),null;case Zl.VALID:return t.stickyModel}}return null}).catch(t=>(gn(t),null))}};Bx=zy([Ip(2,di),Ip(3,Et)],Bx);class $N extends Be{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,Zl.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=ws(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?Zl.CANCELED:(this._stickyModel=this.createStickyModel(e,i),Zl.VALID):this._invalid()).then(void 0,i=>(gn(i),Zl.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let zx=class extends $N{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return qa.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 UN(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(nl.first(e.children.values())instanceof uN){const a=nl.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 Bf(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),g=new Bf(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 jv(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 Bf(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new jv(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 PC?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};zx=zy([Ip(1,Et)],zx);class qN extends $N{constructor(e){super(e),this._foldingLimitReporter=new cN(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new UN(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new jv(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 jv(new Bf(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(c),i.push(c)}return n}}let Vx=class extends qN{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new B1(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};Vx=zy([Ip(1,vs)],Vx);let jx=class extends qN{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=Cc.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new z1(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}};jx=zy([Ip(2,Et)],jx);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},oD=function(o,e){return function(t,i){e(t,i,o)}};class g5{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let Ux=class extends Be{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 He),this._updateSoon=this._register(new gs(()=>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(kn(()=>{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 Bx(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new Ss,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(V_(a,e.startLineNumber,(g,f)=>g-f)),h=this.updateIndex(V_(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 g5(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}};Ux=u5([oD(1,Et),oD(2,vs)],Ux);var f5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qh=function(o,e){return function(t,i){e(t,i,o)}},$x,Yd;let vl=(Yd=class extends Be{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 He,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 c5(this._editor),this._stickyLineCandidateProvider=new Ux(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=Wf.Empty,this._onDidResize(),this._readConfiguration();const c=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(g=>{this._readConfigurationChange(g)})),this._register(zi(c,jn.CONTEXT_MENU,async g=>{this._onContextMenu(od(c),g)})),this._stickyScrollFocusedContextKey=M.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=M.stickyScrollVisible.bindTo(this._contextKeyService);const h=this._register(qu(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(zi(c,jn.MOUSE_DOWN,g=>{this._onMouseDown=!0}))}static get(e){return e.getContribution($x.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 He,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(z.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new He),t=this._register(new Py(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 z(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(hl(n,jn.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 Dt(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 Dt(h,1)}this._revealPosition(c)})),this._register(hl(n,jn.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(zi(n,jn.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 Ss;e.add(kn(()=>g.dispose(!0)));let f;um(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Dt(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(kn(()=>{f.style.textDecoration="none"}))):f||(f=v,f.style.textDecoration="underline",e.add(kn(()=>{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(qM,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new sF(e,t);this._contextMenuService.showContextMenu({menuId:ct.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;F1(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=Cc.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=Wf.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 Bf(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 Wf(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},$x=Yd,Yd.ID="store.contrib.stickyScrollController",Yd);vl=$x=f5([qh(1,wg),qh(2,Et),qh(3,di),qh(4,vs),qh(5,Go),qh(6,Vi)],vl);class p5 extends ro{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...xt("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:y({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:xt("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:a5.View,toggled:{condition:le.equals("config.editor.stickyScroll.enabled",!0),title:y("stickyScroll","Sticky Scroll"),mnemonicTitle:y({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:ct.CommandPalette},{id:ct.MenubarAppearanceMenu,group:"4_editor",order:3},{id:ct.StickyScrollContext}]})}async run(e){const t=e.get(Dn),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const Vy=100;class m5 extends Kr{constructor(){super({id:"editor.action.focusStickyScroll",title:{...xt("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:y({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:le.and(le.has("config.editor.stickyScroll.enabled"),M.stickyScrollVisible),menu:[{id:ct.CommandPalette}]})}runEditorCommand(e,t){var i;(i=vl.get(t))==null||i.focus()}}class _5 extends Kr{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:xt("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Vy,primary:18}})}runEditorCommand(e,t){var i;(i=vl.get(t))==null||i.focusNext()}}class v5 extends Kr{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:xt("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Vy,primary:16}})}runEditorCommand(e,t){var i;(i=vl.get(t))==null||i.focusPrevious()}}class b5 extends Kr{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:xt("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Vy,primary:3}})}runEditorCommand(e,t){var i;(i=vl.get(t))==null||i.goToFocused()}}class y5 extends Kr{constructor(){super({id:"editor.action.selectEditor",title:xt("selectEditor.title","Select Editor"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Vy,primary:9}})}runEditorCommand(e,t){var i;(i=vl.get(t))==null||i.selectEditor()}}vi(vl.ID,vl,1);Qi(p5);Qi(m5);Qi(v5);Qi(_5);Qi(b5);Qi(y5);var KN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Sf=function(o,e){return function(t,i){e(t,i,o)}};class w5{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 qx=class extends oF{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=nl.slice(t,i),s=nl.slice(t,0,i);let r=5;for(const a of nl.concat(n,s)){if(a.score===ep.Default)continue;const c=new z(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 w5(c,h,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(fi.None)}return e}};qx=KN([Sf(5,Fy)],qx);let Kx=class extends Be{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(uu.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(uu.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 z(t.lineNumber,1,t.lineNumber,t.column));if(!g&&((v=this._lastResult)!=null&&v.canBeReused(e,t.lineNumber,h))){const _=new UI(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=_,this._lastResult.acquire(),f=this._lastResult}else{const _=await V1(this._languageFeatureService.completionProvider,e,t,new vp(void 0,Dv.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 Wl(_.items,t.column,new UI(p,0),Iv.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},w);f=new qx(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(z.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}}};Kx=KN([Sf(0,Et),Sf(1,Sg),Sf(2,Fy),Sf(3,ns)],Kx);xg(Kx);class S5 extends Se{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 bo;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}ne(S5);const Wb=class Wb extends ro{constructor(){super({id:Wb.ID,title:xt({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:xt("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=!pk.getTabFocusMode();pk.setTabFocusMode(t),t?_r(y("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):_r(y("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};Wb.ID="editor.action.toggleTabFocusMode";let Gx=Wb;Qi(Gx);var C5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},rD=function(o,e){return function(t,i){e(t,i,o)}};let Zx=class extends Be{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=dt(e,pt("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??ly("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new rw(this.el,"click")),a=this._register(new rw(this.el,"keypress")),c=us.chain(a.event,f=>f.map(p=>new J0(p)).filter(p=>p.keyCode===3)),h=this._register(new rw(this.el,rF.Tap)).event;this._register(rE.addTarget(this.el));const g=us.any(r.event,c,h);this._register(g(f=>{this.enabled&&(H_.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)}};Zx=C5([rD(3,Yp),rD(4,Zr)],Zx);var GN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ZN=function(o,e){return function(t,i){e(t,i,o)}};const x5=26;let Xx=class extends Be{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Yx))}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,x5)}};Xx=GN([ZN(1,di)],Xx);let Yx=class extends Be{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(Lg,{}),this.element=pt("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=pt("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Ia(this.element)}show(e){Ia(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=dt(this.element,pt("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(pt(`div${$i.asCSSSelector(e.icon)}`));const n=dt(this.element,pt("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=dt(this.element,pt("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(Zx,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=dt(this.element,pt("div.action-container"));this.actionBar=this._register(new Gf(s)),this.actionBar.push(this._register(new Xu("banner.close","Close Banner",$i.asClassName(DE),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Yx=GN([ZN(0,di)],Yx);var iL=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Lu=function(o,e){return function(t,i){e(t,i,o)}};const L5=Jn("extensions-warning-message",Qt.warning,y("warningIcon","Icon shown with a warning message in the extensions editor."));var Vu;let Dp=(Vu=class extends Be{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 Pp};else if(s.ambiguousCharacterCount>=r)a={message:y("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new vh};else if(s.invisibleCharacterCount>=r)a={message:y("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new Ep};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:L5,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(Xx,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=k5(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"?aF:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new Jx(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new I5(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},Vu.ID="editor.contrib.unicodeHighlighter",Vu);Dp=iL([Lu(1,Sl),Lu(2,lF),Lu(3,di)],Dp);function k5(o,e){return{nonBasicASCII:e.nonBasicASCII===aw?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===aw?!o:e.includeComments,includeStrings:e.includeStrings===aw?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let Jx=class extends Be{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 gs(()=>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:Uv.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!vP(t,e))return null;const i=t.getValueInRange(e.range);return{reason:YN(i,this._options),inComment:yP(t,e),inString:bP(t,e)}}};Jx=iL([Lu(3,Sl)],Jx);class I5 extends Be{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 gs(()=>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=wP.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:Uv.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 vP(t,e)?{reason:YN(i,this._options),inComment:yP(t,e),inString:bP(t,e)}:null}}const XN=y("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let Qx=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(Dp.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=jw(f);let v;switch(h.reason.kind){case 0:{UE(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,jw(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,jw(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:${$v.ID}?${encodeURIComponent(JSON.stringify(_))}`,D=new Vs("",!0).appendMarkdown(v).appendText(" ").appendLink(S,w,XN);s.push(new ur(this,c.range,[D],!1,a++))}return s}renderHoverParts(e,t){return i4(e,t,this._editor,this._languageService,this._openerService)}};Qx=iL([Lu(1,Yr),Lu(2,Zr)],Qx);function e0(o){return`U+${o.toString(16).padStart(4,"0")}`}function jw(o){let e=`\`${e0(o)}\``;return SP.isInvisibleCharacter(o)||(e+=` "${`${D5(o)}`}"`),e}function D5(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function YN(o,e){return wP.computeUnicodeHighlightReason(o,e)}const Bb=class Bb{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=Pi.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}};Bb.instance=new Bb;let Uv=Bb;class E5 extends Se{constructor(){super({id:vh.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(Dn);n&&this.runAction(n)}async runAction(e){await e.updateValue(gl.includeComments,!1,2)}}class P5 extends Se{constructor(){super({id:vh.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(Dn);n&&this.runAction(n)}async runAction(e){await e.updateValue(gl.includeStrings,!1,2)}}const zb=class zb extends Se{constructor(){super({id:zb.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(Dn);n&&this.runAction(n)}async runAction(e){await e.updateValue(gl.ambiguousCharacters,!1,2)}};zb.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let vh=zb;const Vb=class Vb extends Se{constructor(){super({id:Vb.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(Dn);n&&this.runAction(n)}async runAction(e){await e.updateValue(gl.invisibleCharacters,!1,2)}};Vb.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let Ep=Vb;const jb=class jb extends Se{constructor(){super({id:jb.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(Dn);n&&this.runAction(n)}async runAction(e){await e.updateValue(gl.nonBasicASCII,!1,2)}};jb.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let Pp=jb;const Ub=class Ub extends Se{constructor(){super({id:Ub.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(bl),g=e.get(Dn);function f(_){return SP.isInvisibleCharacter(_)?y("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",e0(_)):y("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${e0(_)} "${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()=>{M5(g,[_])}});if(p.push({label:f(n),run:()=>T5(g,[n])}),a){const _=new E5;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(r){const _=new P5;p.push({label:_.label,run:async()=>_.runAction(g)})}if(s.kind===0){const _=new vh;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===1){const _=new Ep;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===2){const _=new Pp;p.push({label:_.label,run:async()=>_.runAction(g)})}else N5(s);const v=await h.pick(p,{title:XN});v&&await v.run()}};Ub.ID="editor.action.unicodeHighlight.showExcludeOptions";let $v=Ub;async function T5(o,e){const t=o.getValue(gl.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(gl.allowedCharacters,i,2)}async function M5(o,e){var n;const t=(n=o.inspect(gl.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(gl.allowedLocales,i,2)}function N5(o){throw new Error(`Unexpected value: ${o}`)}ne(vh);ne(Ep);ne(Pp);ne($v);vi(Dp.ID,Dp,1);Ih.register(Qx);var R5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},aD=function(o,e){return function(t,i){e(t,i,o)}};const JN="ignoreUnusualLineTerminators";function A5(o,e,t){o.setModelProperty(e.uri,JN,t)}function O5(o,e){return o.getModelProperty(e.uri,JN)}var ju;let qv=(ju=class extends Be{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()||O5(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`.",Ma(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){A5(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},ju.ID="editor.contrib.unusualLineTerminatorsDetector",ju);qv=R5([aD(1,e1),aD(2,ns)],qv);vi(qv.ID,qv,1);var F5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},H5=function(o,e){return function(t,i){e(t,i,o)}};class lD{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,mk,!1).map(a=>({range:a.range,kind:U_.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new _c,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,mk,!1).map(g=>({range:g.range,kind:U_.Text}));h&&s.set(a.uri,h)}return s}}let t0=class extends Be{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new lD)),this._register(e.multiDocumentHighlightProvider.register("*",new lD))}};t0=F5([H5(0,Et)],t0);var QN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Zn,i0;const nL=new Ai("hasWordHighlights",!1);function eR(o,e,t,i){const n=o.ordered(e);return G0(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,is)),s=>s!=null).then(s=>{if(s){const r=new _c;return r.set(e.uri,s),r}return new _c})}function W5(o,e,t,i,n,s){const r=o.ordered(e);return G0(r.map(a=>()=>{const c=s.filter(h=>dF(h)).filter(h=>hF(a.selector,h.uri,h.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,c,n)).then(void 0,is)}),a=>a!=null)}class tR{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=ws(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new z(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 B5 extends tR{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return eR(this._providers,e,t.getPosition(),n).then(s=>s||new _c)}}class z5 extends tR{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return W5(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new _c)}}function V5(o,e,t,i,n){return new B5(e,t,n,o)}function j5(o,e,t,i,n,s){return new z5(e,t,n,o,s)}lo("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(Et),n=await eR(i.documentHighlightProvider,e,t,fi.None);return n==null?void 0:n.get(e.uri)});var mc;let n0=(mc=class{constructor(e,t,i,n,s){this.toUnhook=new He,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new _c,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new vc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=nL.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=>{cF(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():Zn.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=Zn.query)==null?void 0:c.modelInfo)==null?void 0:h.model);break;case"multiFile":Zn.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,Zn.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(z.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);_r(`${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);_r(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=Zn.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),Zn.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()||O_(n.getModel().uri,e==null?void 0:e.uri))continue;const s=Zn.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=Lc.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)Zn.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==to.vscodeNotebookCell&&((i=(t=Zn.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==to.vscodeNotebookCell?(Zn.query=null,this._run()):(n=Zn.query)!=null&&n.modelInfo&&(Zn.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)!==to.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===to.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const c=a.getModel();c&&c!==e&&c.uri.scheme===to.vscodeNotebookCell&&s.push(c)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!CP(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){Zn.query=null,this._stopAll();return}const a=r.startColumn,c=r.endColumn,h=this._getWord();if(!h||h.startColumn>a||h.endColumn<c){Zn.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),Zn.query={modelInfo:{model:this.model,selection:r},word:h}}else if(!Zn.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(O_(this.editor.getModel().uri,(n=Zn.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(!Zn.query||!Zn.query.modelInfo||Zn.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(Zn.query.modelInfo.model,Zn.query.modelInfo.selection,Zn.query.word,a),(s=this.workerRequest)==null||s.result.then(c=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=c||[],this._beginRenderDecorations())},gn)}}computeWithModel(e,t,i,n){return n.length?j5(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):V5(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=Lc.get(s);if(!r)continue;const a=[],c=(t=s.getModel())==null?void 0:t.uri;if(c&&this.workerRequestValue.has(c)){const h=Zn.storedDecorationIDs.get(c),g=this.workerRequestValue.get(c);if(g)for(const p of g)p.range&&a.push({range:p.range,options:T6(p.kind)});let f=[];s.changeDecorations(p=>{f=p.deltaDecorations(h??[],a)}),Zn.storedDecorationIDs=Zn.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()}},Zn=mc,mc.storedDecorationIDs=new _c,mc.query=null,mc);n0=Zn=QN([T_(4,ns)],n0);var Jd;let Lc=(Jd=class extends Be{static get(e){return e.getContribution(i0.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new n0(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()}},i0=Jd,Jd.ID="editor.contrib.wordHighlighter",Jd);Lc=i0=QN([T_(1,Vi),T_(2,Et),T_(3,ns)],Lc);class iR extends Se{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Lc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class U5 extends iR{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:nL,kbOpts:{kbExpr:M.editorTextFocus,primary:65,weight:100}})}}class $5 extends iR{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:nL,kbOpts:{kbExpr:M.editorTextFocus,primary:1089,weight:100}})}}class q5 extends Se{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=Lc.get(t);n&&n.restoreViewState(!0)}}vi(Lc.ID,Lc,0);ne(U5);ne($5);ne(q5);xg(t0);class jy extends ao{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=xh(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,c=r.map(h=>{const g=new Dt(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=>uF.fromModelSelection(h))),c.length===1){const h=new Dt(c[0].positionLineNumber,c[0].positionColumn);t.revealPosition(h,0)}}_moveTo(e,t,i){return i?new Kt(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Kt(t.lineNumber,t.column,t.lineNumber,t.column)}}class Ec extends jy{_move(e,t,i,n,s){return im.moveWordLeft(e,t,i,n,s)}}class Pc extends jy{_move(e,t,i,n,s){return im.moveWordRight(e,t,i,n)}}class K5 extends Ec{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class G5 extends Ec{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class Z5 extends Ec{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:le.and(M.textInputFocus,(e=le.and(uy,gy))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class X5 extends Ec{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class Y5 extends Ec{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class J5 extends Ec{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:le.and(M.textInputFocus,(e=le.and(uy,gy))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class Q5 extends Ec{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(xh(fy.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class e8 extends Ec{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(xh(fy.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class t8 extends Pc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class i8 extends Pc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:le.and(M.textInputFocus,(e=le.and(uy,gy))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class n8 extends Pc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class s8 extends Pc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class o8 extends Pc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:le.and(M.textInputFocus,(e=le.and(uy,gy))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class r8 extends Pc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class a8 extends Pc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(xh(fy.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class l8 extends Pc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(xh(fy.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Uy extends ao{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(vs);if(!t.hasModel())return;const s=xh(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 Vp(_,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class sL extends Uy{_delete(e,t){const i=im.deleteWordLeft(e,t);return i||new z(1,1,1,1)}}class oL extends Uy{_delete(e,t){const i=im.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new z(n,s,n,s)}}class c8 extends sL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:M.writable})}}class d8 extends sL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:M.writable})}}class h8 extends sL{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class u8 extends oL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:M.writable})}}class g8 extends oL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:M.writable})}}class f8 extends oL{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class p8 extends Se{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=xh(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(c=>{const h=im.deleteInsideWord(n,s,c);return new Vp(h,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}Nt(new K5);Nt(new G5);Nt(new Z5);Nt(new X5);Nt(new Y5);Nt(new J5);Nt(new t8);Nt(new i8);Nt(new n8);Nt(new s8);Nt(new o8);Nt(new r8);Nt(new Q5);Nt(new e8);Nt(new a8);Nt(new l8);Nt(new c8);Nt(new d8);Nt(new h8);Nt(new u8);Nt(new g8);Nt(new f8);ne(p8);class m8 extends Uy{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=py.deleteWordPartLeft(e);return i||new z(1,1,1,1)}}class _8 extends Uy{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=py.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new z(n,s,n,s)}}class nR extends jy{_move(e,t,i,n,s){return py.moveWordPartLeft(e,t,i,s)}}class v8 extends nR{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}wn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class b8 extends nR{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}wn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class sR extends jy{_move(e,t,i,n,s){return py.moveWordPartRight(e,t,i)}}class y8 extends sR{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class w8 extends sR{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}Nt(new m8);Nt(new _8);Nt(new v8);Nt(new b8);Nt(new y8);Nt(new w8);const yL=class yL extends Be{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=mo.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new Vs(y("editor.simple.readonly","Cannot edit in read-only input")):t=new Vs(y("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};yL.ID="editor.contrib.readOnlyMessageController";let Kv=yL;vi(Kv.ID,Kv,2);var S8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},cD=function(o,e){return function(t,i){e(t,i,o)}};let s0=class extends Be{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Mo(this,void 0);const n=rd("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=rd("_textModel.onDidChangeContent",us.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(Zp(async(r,a)=>{n.read(r),s.read(r);const c=a.add(new pF),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(fF(Jp(s=>s.range.endLineNumber-s.range.startLineNumber,oy))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};s0=S8([cD(1,Et),cD(2,pm)],s0);gF.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(s0,o));const wL=class wL extends Be{constructor(e){super(),this.editor=e,this.widget=null,rS&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new o0(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};wL.ID="editor.contrib.iPadShowKeyboard";let Gv=wL;const $b=class $b extends Be{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(zi(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(zi(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return $b.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};$b.ID="editor.contrib.ShowKeyboardWidget";let o0=$b;vi(Gv.ID,Gv,3);var C8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dD=function(o,e){return function(t,i){e(t,i,o)}},r0,Qd;let Tp=(Qd=class extends Be{static get(e){return e.getContribution(r0.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(ay.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 a0(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},r0=Qd,Qd.ID="editor.contrib.inspectTokens",Qd);Tp=r0=C8([dD(1,xP),dD(2,Yr)],Tp);class x8 extends Se{constructor(){super({id:"editor.action.inspectTokens",label:bF.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=Tp.get(t);i==null||i.launch()}}function L8(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 k8(o,e){const t=ay.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>mF,tokenize:(n,s,r)=>vF(e,r),tokenizeEncoded:(n,s,r)=>_F(i,r)}}const qb=class qb extends Be{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=k8(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 qb._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)}F_(this._domNode,pt("h2.tm-token",void 0,L8(r),pt("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),dt(this._domNode,pt("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;dt(this._domNode,pt("table.tm-metadata-table",void 0,pt("tbody",void 0,pt("tr",void 0,pt("td.tm-metadata-key",void 0,"language"),pt("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),pt("tr",void 0,pt("td.tm-metadata-key",void 0,"token type"),pt("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),pt("tr",void 0,pt("td.tm-metadata-key",void 0,"font style"),pt("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),pt("tr",void 0,pt("td.tm-metadata-key",void 0,"foreground"),pt("td.tm-metadata-value",void 0,`${a?Ii.Format.CSS.formatHex(a.foreground):"-?-"}`)),pt("tr",void 0,pt("td.tm-metadata-key",void 0,"background"),pt("td.tm-metadata-value",void 0,`${a?Ii.Format.CSS.formatHex(a.background):"-?-"}`))))),dt(this._domNode,pt("hr.tokens-inspect-separator")),i<t.tokens1.length&&dt(this._domNode,pt("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=ay.getColorMap(),i=Jg.getLanguageId(e),n=Jg.getTokenType(e),s=Jg.getFontStyle(e),r=Jg.getForeground(e),a=Jg.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]}}};qb._ID="editor.contrib.inspectTokensWidget";let a0=qb;vi(Tp.ID,Tp,4);ne(x8);var I8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},hD=function(o,e){return function(t,i){e(t,i,o)}},Cf,eh;let l0=(eh=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=Gr.as(nm.Quickaccess)}provide(e){const t=new He;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(Cf.PREFIX.length));n&&n.prefix&&n.prefix!==Cf.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==Cf.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}})}},Cf=eh,eh.PREFIX="?",eh);l0=Cf=I8([hD(0,bl),hD(1,ls)],l0);Gr.as(nm.Quickaccess).registerQuickAccessProvider({ctor:l0,prefix:"",helpEntries:[{description:yF.helpQuickAccessActionLabel}]});class oR{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new He;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new Ro);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 He,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=LP(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(kP(t.onCancellationRequested)(()=>{var h;return(h=r.restoreViewState)==null?void 0:h.call(r)}))}n.add(kn(()=>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&&Ku(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return CP(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:hs(TE),position:ka.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 Kb=class Kb extends oR{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,Be.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new He;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(Kb.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=LP(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(kn(()=>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}};Kb.PREFIX=":";let c0=Kb;var D8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},E8=function(o,e){return function(t,i){e(t,i,o)}};let Mp=class extends c0{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=us.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Mp=D8([E8(0,ns)],Mp);var th;let rR=(th=class extends Se{constructor(){super({id:th.ID,label:IP.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(bl).quickAccess.show(Mp.PREFIX)}},th.ID="editor.action.gotoLine",th);ne(rR);Gr.as(nm.Quickaccess).registerQuickAccessProvider({ctor:Mp,prefix:Mp.PREFIX,helpEntries:[{description:IP.gotoLineActionLabel,commandId:rR.ID}]});const aR=[void 0,[]];function Uw(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?P8(o,n.values,t,i):lR(o,e,t,i)}function P8(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,c]=lR(o,r,t,i);if(typeof a!="number")return aR;n+=a,s.push(...c)}return[n,T8(s)]}function lR(o,e,t,i){const n=XE(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],ry(n)]:aR}function T8(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!M8(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 M8(o,e){return!(o.end<e.start||e.end<o.start)}function uD(o){return o.startsWith('"')&&o.endsWith('"')}const cR=" ";function d0(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=gD(o),s=t.indexOf(fS)>=0,r=uD(o);let a;const c=o.split(cR);if(c.length>1)for(const h of c){const g=uD(h),{pathNormalized:f,normalized:p,normalizedLowercase:v}=gD(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 gD(o){let e;Yb?e=o.replace(/\//g,fS):e=o.replace(/\\/g,fS);const t=wF(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function fD(o){return Array.isArray(o)?d0(o.map(e=>e.original).join(cR)):d0(o.original)}var N8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},pD=function(o,e){return function(t,i){e(t,i,o)}},M_,Br;let fd=(Br=class extends oR{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.")),Be.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):Be.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new He;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 Jb,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(kn(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var f;const r=e.editor,a=new He;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 Ss(n),i.busy=!0;try{const v=d0(i.value.substr(M_.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=LF(_,S=>!!(S.type!=="separator"&&S.range&&z.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(M_.SCOPE_PREFIX)===0,c=a?1:0;let h,g;t.values&&t.values.length>1?(h=fD(t.values[0]),g=fD(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(Qt.splitHorizontal):$i.asClassName(Qt.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],V=SF(N.name),W=`$(${CF.toIcon(N.kind).id}) ${V}`,J=W.length-V.length;let X=N.containerName;i!=null&&i.extraContainerLabel&&(X?X=`${i.extraContainerLabel} • ${X}`:X=i.extraContainerLabel);let pe,Ce,ze,ve;if(t.original.length>c){let Ft=!1;if(h!==t&&([pe,Ce]=Uw(W,{...t,values:void 0},c,J),typeof pe=="number"&&(Ft=!0)),typeof pe!="number"&&([pe,Ce]=Uw(W,h,c,J),typeof pe!="number"))continue;if(!Ft&&g){if(X&&g.original.length>0&&([ze,ve]=Uw(X,g)),typeof ze!="number")continue;typeof pe=="number"&&(pe+=ze)}}const nt=N.tags&&N.tags.indexOf(1)>=0;v.push({index:P,kind:N.kind,score:pe,label:W,ariaLabel:xF(N.name,N.kind),description:X,highlights:nt?void 0:{label:Ce,description:ve},range:{selection:z.collapseToStart(N.selectionRange),decoration:N.range},uri:s.uri,symbolName:V,strikethrough:nt,buttons:f})}const _=v.sort((P,N)=>a?this.compareByKindAndScore(P,N):this.compareByScore(P,N));let w=[];if(a){let W=function(){N&&typeof P=="number"&&V>0&&(N.label=j0(qw[P]||$w,V))},P,N,V=0;for(const J of _)P!==J.kind?(W(),P=J.kind,V=1,N={type:"separator"},w.push(N)):V++,w.push(J);W()}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=qw[e.kind]||$w,n=qw[t.kind]||$w,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()}},M_=Br,Br.PREFIX="@",Br.SCOPE_PREFIX=":",Br.PREFIX_BY_CATEGORY=`${Br.PREFIX}${Br.SCOPE_PREFIX}`,Br);fd=M_=N8([pD(0,Et),pD(1,pm)],fd);const $w=y("property","properties ({0})"),qw={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 R8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Kw=function(o,e){return function(t,i){e(t,i,o)}};let h0=class extends fd{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=us.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};h0=R8([Kw(0,ns),Kw(1,Et),Kw(2,pm)],h0);const Gb=class Gb extends Se{constructor(){super({id:Gb.ID,label:pS.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(bl).quickAccess.show(fd.PREFIX,{itemActivation:kF.NONE})}};Gb.ID="editor.action.quickOutline";let Zv=Gb;ne(Zv);Gr.as(nm.Quickaccess).registerQuickAccessProvider({ctor:h0,prefix:fd.PREFIX,helpEntries:[{description:pS.quickOutlineActionLabel,prefix:fd.PREFIX,commandId:Zv.ID},{description:pS.quickOutlineByCategoryActionLabel,prefix:fd.PREFIX_BY_CATEGORY}]});function A8(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class Vf{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 A8(Vf.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=Vf.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=Vf.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 O8(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 fu;(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"})(fu||(fu={}));function Gw(o){return Array.isArray(o.items)}function mD(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class F8 extends Be{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var h;const n=new He;e.canAcceptInBackground=!!((h=this.options)!=null&&h.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new Ro),a=async()=>{var S;const g=r.value=new He;s==null||s.dispose(!0),e.busy=!1,s=new Ss(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 W;let N,V;if(Gw(D)?(N=D.items,V=D.active):N=D,N.length===0){if(P)return!1;(p.length>0||e.hideInput)&&((W=this.options)!=null&&W.noResultsPick)&&(IF(this.options.noResultsPick)?N=[this.options.noResultsPick(p)]:N=[this.options.noResultsPick])}return e.items=N,V&&(e.activeItems=[V]),!0},w=async D=>{let P=!1,N=!1;await Promise.all([(async()=>{typeof D.mergeDelay=="number"&&(await dy(D.mergeDelay),f.isCancellationRequested)||N||(P=_(D.picks,!0))})(),(async()=>{e.busy=!0;try{const V=await D.additionalPicks;if(f.isCancellationRequested)return;let W,J;Gw(D.picks)?(W=D.picks.items,J=D.picks.active):W=D.picks;let X,pe;if(Gw(V)?(X=V.items,pe=V.active):X=V,X.length>0||!P){let Ce;if(!J&&!pe){const ze=e.activeItems[0];ze&&W.indexOf(ze)!==-1&&(Ce=ze)}_({items:[...W,...X],active:J||pe||Ce})}}finally{f.isCancellationRequested||(e.busy=!1),N=!0}})()])};if(v!==null)if(mD(v))await w(v);else if(!(v instanceof Promise))_(v);else{e.busy=!0;try{const D=await v;if(f.isCancellationRequested)return;mD(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 fu.NO_ACTION:break;case fu.CLOSE_PICKER:e.hide();break;case fu.REFRESH_PICKER:a();break;case fu.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(W=>W!==P[0]),V=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=D,N&&(e.activeItems=N),e.keepScrollPosition=V}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 dR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Bl=function(o,e){return function(t,i){e(t,i,o)}},jc,os,Sa;let u0=(Sa=class extends F8{constructor(e,t,i,n,s,r){super(jc.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(g0)),this.options=e}async _getPicks(e,t,i,n){var v,_;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=kP(()=>{const w=new Vf;w.updateDocuments(s.map(D=>({key:D.commandId,textChunks:[this.getTfIdfChunk(D)]})));const S=w.calculateScores(e,i);return O8(S).filter(D=>D.score>jc.TFIDF_THRESHOLD).slice(0,jc.TFIDF_MAX_RESULTS)}),a=[];for(const w of s){const S=jc.WORD_FILTER(e,w.label)??void 0,D=w.commandAlias?jc.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(V=>V.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),V=this.options.suggestedCommandIds.has(S.commandId);if(N&&V)return 0;if(N)return-1;if(V)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){kc(r)||this.dialogService.error(y("canNotRun","Command '{0}' resulted in an error",e.label),tv(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}},jc=Sa,Sa.PREFIX=">",Sa.TFIDF_THRESHOLD=.5,Sa.TFIDF_MAX_RESULTS=5,Sa.WORD_FILTER=DF(TF,PF,EF),Sa);u0=jc=dR([Bl(1,di),Bl(2,ls),Bl(3,_s),Bl(4,Xr),Bl(5,e1)],u0);var zr;let g0=(zr=class extends Be{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===A0.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=os.getConfiguredCommandHistoryLength(this.configurationService),os.cache&&os.cache.limit!==this.configuredCommandsHistoryLength&&(os.cache.limit=this.configuredCommandsHistoryLength,os.hasChanges=!0))}load(){const e=this.storageService.get(os.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=os.cache=new Kp(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))}os.counter=this.storageService.getNumber(os.PREF_KEY_COUNTER,0,os.counter)}push(e){os.cache&&(os.cache.set(e,os.counter++),os.hasChanges=!0)}peek(e){var t;return(t=os.cache)==null?void 0:t.peek(e)}saveState(){if(!os.cache||!os.hasChanges)return;const e={usesLRU:!0,entries:[]};os.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(os.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(os.PREF_KEY_COUNTER,os.counter,0,0),os.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:os.DEFAULT_COMMANDS_HISTORY_LENGTH}},os=zr,zr.DEFAULT_COMMANDS_HISTORY_LENGTH=50,zr.PREF_KEY_CACHE="commandPalette.mru.cache",zr.PREF_KEY_COUNTER="commandPalette.mru.counter",zr.counter=1,zr.hasChanges=!1,zr);g0=os=dR([Bl(0,Ic),Bl(1,Dn),Bl(2,Ch)],g0);class H8 extends u0{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&&(MF(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:NF(n.label)||n.id})}return t}}var W8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Kh=function(o,e){return function(t,i){e(t,i,o)}};let Np=class extends H8{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[]}};Np=W8([Kh(0,di),Kh(1,ns),Kh(2,ls),Kh(3,_s),Kh(4,Xr),Kh(5,e1)],Np);const Zb=class Zb extends Se{constructor(){super({id:Zb.ID,label:DP.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(bl).quickAccess.show(Np.PREFIX)}};Zb.ID="editor.action.quickCommand";let Xv=Zb;ne(Xv);Gr.as(nm.Quickaccess).registerQuickAccessProvider({ctor:Np,prefix:Np.PREFIX,helpEntries:[{description:DP.quickCommandHelp,commandId:Xv.ID}]});var B8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Gh=function(o,e){return function(t,i){e(t,i,o)}};let f0=class extends fh{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};f0=B8([Gh(1,Vi),Gh(2,ns),Gh(3,Xs),Gh(4,di),Gh(5,Ic),Gh(6,Dn)],f0);vi(fh.ID,f0,4);class z8 extends Se{constructor(){super({id:"editor.action.toggleHighContrast",label:RF.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(xP),n=i.getColorTheme();Zf(n.type)?(i.setTheme(this._originalThemeName||(_k(n.type)?AF:OF)),this._originalThemeName=null):(i.setTheme(_k(n.type)?FF:HF),this._originalThemeName=n.themeName)}}ne(z8);let p0=null;function V8(o){p0=o}function j8(o={}){return{"Content-Type":"application/json",...o}}async function bi(o,e,t){const i=await fetch(e,{method:o,headers:j8(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw p0&&p0(),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 U8(){return await(await fetch("/she/auth/mode")).json()}async function $8(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 q8(){await fetch("/she/auth/logout",{method:"POST"})}async function K8(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 G8(){return bi("GET","/she/scripts/tree")}function Zw(o){return bi("GET",`/she/scripts/${o}`)}function Bc(o,e){return bi("PUT",`/she/scripts/${o}`,{content:e})}function o_(o){return bi("DELETE",`/she/scripts/${o}`)}function _D(o,e){return bi("POST",`/she/scripts/${o}/rename`,{newPath:e})}function Z8(o){return bi("POST","/she/scripts/mkdir",{path:o})}function X8(){return bi("GET","/she/git/status")}function xf(){return bi("GET","/she/status")}function hR(){return bi("POST","/she/restart")}function Y8(){return bi("POST","/she/update")}function J8(){return bi("POST","/she/check-update")}function Q8(o,e){return bi("POST","/she/git/commit",{path:o,message:e})}function e7(o,e){return bi("POST","/she/git/commit",{files:o,message:e})}function t7(o){return bi("POST","/she/git/commit",{message:o})}function Xw(o){return bi("POST","/she/git/push",{remote:o})}function i7(o,e){return bi("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function n7(o,e){return bi("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function rL(){return bi("GET","/she/config")}function s7(o){return bi("PUT","/she/config",o)}function uR(){return bi("GET","/she/db/docs")}function o7(o){return bi("GET",`/she/db/docs/${o}`)}function vD(o,e){return bi("PUT",`/she/db/docs/${o}`,e)}function r7(o){return bi("DELETE",`/she/db/docs/${o}`)}function gR(){return bi("GET","/she/db/views")}function a7(o){return bi("GET",`/she/db/views/${o}`)}function bD(o,e){return bi("PUT",`/she/db/views/${o}`,e)}function l7(o){return bi("DELETE",`/she/db/views/${o}`)}function c7(){return bi("GET","/she/deps")}function d7(o){return bi("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function h7(o,e){return bi("POST","/she/deps/install",{name:o,version:null})}function u7(o){return bi("POST","/she/deps/remove",{name:o})}function g7(o){return bi("POST","/she/deps/update",{name:o})}function f7(){return bi("GET","/she/deps/outdated")}function p7(){return bi("POST","/she/deps/check-outdated")}function m7(){return bi("GET","/she/ai/conversations")}function yD(o){return bi("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function _7(o,e,t){return bi("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function v7(o){return bi("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function Yw(o){return bi("GET",`/she/db/views/${o}/result`)}function fR(){return bi("GET","/she/matter/devices")}function N_(o){return bi("GET",`/she/matter/devices/${o}`)}function b7(o){return bi("POST","/she/matter/commission",o)}function y7(o){return bi("DELETE",`/she/matter/devices/${o}`)}function w7(o,e,t,i,n){return bi("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function pR(){return bi("GET","/she/mqtt/state")}function wD(o,e,t=!1,i=0){return bi("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function mR(){return bi("GET","/she/ai/config")}function _R(){return bi("GET","/she/ai/models")}function vR(o){return bi("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function bR(o){return bi("POST","/she/ai/prompt",o)}async function yR(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 S7=2e3,R_=[];function C7(){return R_.slice()}let Xl=null;const Yv=new Set,pu=new Map;let m0=null;function Rp(){let o=Yv.size;for(const e of pu.values())o+=e.size;return o}function x7(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function aL(){if(Xl)return;const o=x7(),e=new WebSocket(o);Xl=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};R_.length>=S7&&R_.shift(),R_.push(s),Yv.forEach(r=>r(s))}const n=pu.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{Xl===e&&(Xl=null),Rp()>0&&(m0=setTimeout(aL,3e3))},e.onerror=()=>{e.close()}}function wR(){m0&&clearTimeout(m0),Xl==null||Xl.close(),Xl=null}function SR(o){return Yv.add(o),Rp()===1&&aL(),()=>{Yv.delete(o),Rp()===0&&wR()}}function el(o,e){return pu.has(o)||pu.set(o,new Set),pu.get(o).add(e),Rp()===1&&aL(),()=>{var t;(t=pu.get(o))==null||t.delete(e),Rp()===0&&wR()}}var L7=R('<button class="cancel svelte-1eh8v5n">Cancel</button>'),k7=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 Rg(o,e){Oo(e,!0);let t=B(!1),i=B(""),n=B("Confirm"),s=B(!1),r=B(!1),a=null;function c(w,S){return k(i,w,!0),k(n,(S==null?void 0:S.confirm)??(S!=null&&S.alert?"OK":"Confirm"),!0),k(s,(S==null?void 0:S.danger)??!1,!0),k(r,(S==null?void 0:S.alert)??!1,!0),k(t,!0),new Promise(D=>a=D)}function h(w){k(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=Fs();rs("keydown",cd,g);var v=yt(p);{var _=w=>{var S=k7(),D=yt(S),P=x(D,2),N=C(P),V=C(N),W=x(N,2),J=C(W);{var X=ve=>{var nt=L7();te("click",nt,()=>h(!1)),T(ve,nt)};$(J,ve=>{u(r)||ve(X)})}var pe=x(J,2);let Ce;var ze=C(pe);G(()=>{q(V,u(i)),Ce=qt(pe,1,"svelte-1eh8v5n",null,Ce,{danger:u(s)}),q(ze,u(n))}),te("click",D,()=>h(!1)),te("click",pe,()=>h(!0)),T(w,S)};$(v,w=>{u(t)&&w(_)})}return T(o,p),Fo(f)}wr(["click"]);var I7=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 D7(o,e){Oo(e,!0);let t=B(!1),i=B(""),n=B(""),s=B("OK"),r=B(""),a=null,c=B(void 0);function h(D,P){return k(i,D,!0),k(n,(P==null?void 0:P.placeholder)??"",!0),k(s,(P==null?void 0:P.confirm)??"OK",!0),k(r,(P==null?void 0:P.initial)??"",!0),k(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&&(k(t,!1),a==null||a(D),a=null,k(r,""))}function f(){k(t,!1),a==null||a(null),a=null,k(r,"")}function p(D){u(t)&&D.key==="Escape"&&(D.stopPropagation(),f())}var v={show:h},_=Fs();rs("keydown",cd,p);var w=yt(_);{var S=D=>{var P=I7(),N=yt(P),V=x(N,2),W=C(V),J=C(W),X=x(W,2);ys(X,nt=>k(c,nt),()=>u(c));var pe=x(X,2),Ce=C(pe),ze=x(Ce,2),ve=C(ze);G(nt=>{q(J,u(i)),On(X,"placeholder",u(n)),ze.disabled=nt,q(ve,u(s))},[()=>!u(r).trim()]),te("click",N,f),te("keydown",X,nt=>{nt.key==="Enter"&&(nt.preventDefault(),g())}),Ri(X,()=>u(r),nt=>k(r,nt)),te("click",Ce,f),te("click",ze,g),T(D,P)};$(w,D=>{u(t)&&D(S)})}return T(o,_),Fo(v)}wr(["click","keydown"]);function CR(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var Jw,SD;function E7(){if(SD)return Jw;SD=1;function o(O){return O instanceof Map?O.clear=O.delete=O.set=function(){throw new Error("map is read-only")}:O instanceof Set&&(O.add=O.clear=O.delete=function(){throw new Error("set is read-only")}),Object.freeze(O),Object.getOwnPropertyNames(O).forEach(se=>{const be=O[se],j=typeof be;(j==="object"||j==="function")&&!Object.isFrozen(be)&&o(be)}),O}class e{constructor(se){se.data===void 0&&(se.data={}),this.data=se.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(O){return O.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function i(O,...se){const be=Object.create(null);for(const j in O)be[j]=O[j];return se.forEach(function(j){for(const me in j)be[me]=j[me]}),be}const n="</span>",s=O=>!!O.scope,r=(O,{prefix:se})=>{if(O.startsWith("language:"))return O.replace("language:","language-");if(O.includes(".")){const be=O.split(".");return[`${se}${be.shift()}`,...be.map((j,me)=>`${j}${"_".repeat(me+1)}`)].join(" ")}return`${se}${O}`};class a{constructor(se,be){this.buffer="",this.classPrefix=be.classPrefix,se.walk(this)}addText(se){this.buffer+=t(se)}openNode(se){if(!s(se))return;const be=r(se.scope,{prefix:this.classPrefix});this.span(be)}closeNode(se){s(se)&&(this.buffer+=n)}value(){return this.buffer}span(se){this.buffer+=`<span class="${se}">`}}const c=(O={})=>{const se={children:[]};return Object.assign(se,O),se};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(se){this.top.children.push(se)}openNode(se){const be=c({scope:se});this.add(be),this.stack.push(be)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(se){return this.constructor._walk(se,this.rootNode)}static _walk(se,be){return typeof be=="string"?se.addText(be):be.children&&(se.openNode(be),be.children.forEach(j=>this._walk(se,j)),se.closeNode(be)),se}static _collapse(se){typeof se!="string"&&se.children&&(se.children.every(be=>typeof be=="string")?se.children=[se.children.join("")]:se.children.forEach(be=>{h._collapse(be)}))}}class g extends h{constructor(se){super(),this.options=se}addText(se){se!==""&&this.add(se)}startScope(se){this.openNode(se)}endScope(){this.closeNode()}__addSublanguage(se,be){const j=se.root;be&&(j.scope=`language:${be}`),this.add(j)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function f(O){return O?typeof O=="string"?O:O.source:null}function p(O){return w("(?=",O,")")}function v(O){return w("(?:",O,")*")}function _(O){return w("(?:",O,")?")}function w(...O){return O.map(be=>f(be)).join("")}function S(O){const se=O[O.length-1];return typeof se=="object"&&se.constructor===Object?(O.splice(O.length-1,1),se):{}}function D(...O){return"("+(S(O).capture?"":"?:")+O.map(j=>f(j)).join("|")+")"}function P(O){return new RegExp(O.toString()+"|").exec("").length-1}function N(O,se){const be=O&&O.exec(se);return be&&be.index===0}const V=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function W(O,{joinWith:se}){let be=0;return O.map(j=>{be+=1;const me=be;let Ue=f(j),Ie="";for(;Ue.length>0;){const De=V.exec(Ue);if(!De){Ie+=Ue;break}Ie+=Ue.substring(0,De.index),Ue=Ue.substring(De.index+De[0].length),De[0][0]==="\\"&&De[1]?Ie+="\\"+String(Number(De[1])+me):(Ie+=De[0],De[0]==="("&&be++)}return Ie}).map(j=>`(${j})`).join(se)}const J=/\b\B/,X="[a-zA-Z]\\w*",pe="[a-zA-Z_]\\w*",Ce="\\b\\d+(\\.\\d+)?",ze="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ve="\\b(0b[01]+)",nt="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Ft=(O={})=>{const se=/^#![ ]*\//;return O.binary&&(O.begin=w(se,/.*\b/,O.binary,/\b.*/)),i({scope:"meta",begin:se,end:/$/,relevance:0,"on:begin":(be,j)=>{be.index!==0&&j.ignoreMatch()}},O)},wt={begin:"\\\\[\\s\\S]",relevance:0},ai={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[wt]},zt={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[wt]},ti={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/},Ae=function(O,se,be={}){const j=i({scope:"comment",begin:O,end:se,contains:[]},be);j.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 me=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 j.contains.push({begin:w(/[ ]+/,"(",me,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),j},Ze=Ae("//","$"),Oe=Ae("/\\*","\\*/"),st=Ae("#","$"),At={scope:"number",begin:Ce,relevance:0},ni={scope:"number",begin:ze,relevance:0},Xt={scope:"number",begin:ve,relevance:0},Wt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[wt,{begin:/\[/,end:/\]/,relevance:0,contains:[wt]}]},_t={scope:"title",begin:X,relevance:0},xi={scope:"title",begin:pe,relevance:0},mi={begin:"\\.\\s*"+pe,relevance:0};var qi=Object.freeze({__proto__:null,APOS_STRING_MODE:ai,BACKSLASH_ESCAPE:wt,BINARY_NUMBER_MODE:Xt,BINARY_NUMBER_RE:ve,COMMENT:Ae,C_BLOCK_COMMENT_MODE:Oe,C_LINE_COMMENT_MODE:Ze,C_NUMBER_MODE:ni,C_NUMBER_RE:ze,END_SAME_AS_BEGIN:function(O){return Object.assign(O,{"on:begin":(se,be)=>{be.data._beginMatch=se[1]},"on:end":(se,be)=>{be.data._beginMatch!==se[1]&&be.ignoreMatch()}})},HASH_COMMENT_MODE:st,IDENT_RE:X,MATCH_NOTHING_RE:J,METHOD_GUARD:mi,NUMBER_MODE:At,NUMBER_RE:Ce,PHRASAL_WORDS_MODE:ti,QUOTE_STRING_MODE:zt,REGEXP_MODE:Wt,RE_STARTERS_RE:nt,SHEBANG:Ft,TITLE_MODE:_t,UNDERSCORE_IDENT_RE:pe,UNDERSCORE_TITLE_MODE:xi});function Hn(O,se){O.input[O.index-1]==="."&&se.ignoreMatch()}function en(O,se){O.className!==void 0&&(O.scope=O.className,delete O.className)}function Di(O,se){se&&O.beginKeywords&&(O.begin="\\b("+O.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",O.__beforeBegin=Hn,O.keywords=O.keywords||O.beginKeywords,delete O.beginKeywords,O.relevance===void 0&&(O.relevance=0))}function Pn(O,se){Array.isArray(O.illegal)&&(O.illegal=D(...O.illegal))}function tn(O,se){if(O.match){if(O.begin||O.end)throw new Error("begin & end are not supported with match");O.begin=O.match,delete O.match}}function Sn(O,se){O.relevance===void 0&&(O.relevance=1)}const Zi=(O,se)=>{if(!O.beforeMatch)return;if(O.starts)throw new Error("beforeMatch cannot be used with starts");const be=Object.assign({},O);Object.keys(O).forEach(j=>{delete O[j]}),O.keywords=be.keywords,O.begin=w(be.beforeMatch,p(be.begin)),O.starts={relevance:0,contains:[Object.assign(be,{endsParent:!0})]},O.relevance=0,delete be.beforeMatch},Fi=["of","and","for","in","not","or","if","then","parent","list","value"],cn="keyword";function Tn(O,se,be=cn){const j=Object.create(null);return typeof O=="string"?me(be,O.split(" ")):Array.isArray(O)?me(be,O):Object.keys(O).forEach(function(Ue){Object.assign(j,Tn(O[Ue],se,Ue))}),j;function me(Ue,Ie){se&&(Ie=Ie.map(De=>De.toLowerCase())),Ie.forEach(function(De){const tt=De.split("|");j[tt[0]]=[Ue,Mn(tt[0],tt[1])]})}}function Mn(O,se){return se?Number(se):Un(O)?0:1}function Un(O){return Fi.includes(O.toLowerCase())}const Cn={},nn=O=>{console.error(O)},sn=(O,...se)=>{console.log(`WARN: ${O}`,...se)},Ke=(O,se)=>{Cn[`${O}/${se}`]||(console.log(`Deprecated as of ${O}. ${se}`),Cn[`${O}/${se}`]=!0)},Ot=new Error;function li(O,se,{key:be}){let j=0;const me=O[be],Ue={},Ie={};for(let De=1;De<=se.length;De++)Ie[De+j]=me[De],Ue[De+j]=!0,j+=P(se[De-1]);O[be]=Ie,O[be]._emit=Ue,O[be]._multi=!0}function Ei(O){if(Array.isArray(O.begin)){if(O.skip||O.excludeBegin||O.returnBegin)throw nn("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Ot;if(typeof O.beginScope!="object"||O.beginScope===null)throw nn("beginScope must be object"),Ot;li(O,O.begin,{key:"beginScope"}),O.begin=W(O.begin,{joinWith:""})}}function Ci(O){if(Array.isArray(O.end)){if(O.skip||O.excludeEnd||O.returnEnd)throw nn("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Ot;if(typeof O.endScope!="object"||O.endScope===null)throw nn("endScope must be object"),Ot;li(O,O.end,{key:"endScope"}),O.end=W(O.end,{joinWith:""})}}function fn(O){O.scope&&typeof O.scope=="object"&&O.scope!==null&&(O.beginScope=O.scope,delete O.scope)}function pn(O){fn(O),typeof O.beginScope=="string"&&(O.beginScope={_wrap:O.beginScope}),typeof O.endScope=="string"&&(O.endScope={_wrap:O.endScope}),Ei(O),Ci(O)}function Nn(O){function se(Ie,De){return new RegExp(f(Ie),"m"+(O.case_insensitive?"i":"")+(O.unicodeRegex?"u":"")+(De?"g":""))}class be{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(De,tt){tt.position=this.position++,this.matchIndexes[this.matchAt]=tt,this.regexes.push([tt,De]),this.matchAt+=P(De)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const De=this.regexes.map(tt=>tt[1]);this.matcherRe=se(W(De,{joinWith:"|"}),!0),this.lastIndex=0}exec(De){this.matcherRe.lastIndex=this.lastIndex;const tt=this.matcherRe.exec(De);if(!tt)return null;const Yt=tt.findIndex((he,at)=>at>0&&he!==void 0),ht=this.matchIndexes[Yt];return tt.splice(0,Yt),Object.assign(tt,ht)}}class j{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(De){if(this.multiRegexes[De])return this.multiRegexes[De];const tt=new be;return this.rules.slice(De).forEach(([Yt,ht])=>tt.addRule(Yt,ht)),tt.compile(),this.multiRegexes[De]=tt,tt}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(De,tt){this.rules.push([De,tt]),tt.type==="begin"&&this.count++}exec(De){const tt=this.getMatcher(this.regexIndex);tt.lastIndex=this.lastIndex;let Yt=tt.exec(De);if(this.resumingScanAtSamePosition()&&!(Yt&&Yt.index===this.lastIndex)){const ht=this.getMatcher(0);ht.lastIndex=this.lastIndex+1,Yt=ht.exec(De)}return Yt&&(this.regexIndex+=Yt.position+1,this.regexIndex===this.count&&this.considerAll()),Yt}}function me(Ie){const De=new j;return Ie.contains.forEach(tt=>De.addRule(tt.begin,{rule:tt,type:"begin"})),Ie.terminatorEnd&&De.addRule(Ie.terminatorEnd,{type:"end"}),Ie.illegal&&De.addRule(Ie.illegal,{type:"illegal"}),De}function Ue(Ie,De){const tt=Ie;if(Ie.isCompiled)return tt;[en,tn,pn,Zi].forEach(ht=>ht(Ie,De)),O.compilerExtensions.forEach(ht=>ht(Ie,De)),Ie.__beforeBegin=null,[Di,Pn,Sn].forEach(ht=>ht(Ie,De)),Ie.isCompiled=!0;let Yt=null;return typeof Ie.keywords=="object"&&Ie.keywords.$pattern&&(Ie.keywords=Object.assign({},Ie.keywords),Yt=Ie.keywords.$pattern,delete Ie.keywords.$pattern),Yt=Yt||/\w+/,Ie.keywords&&(Ie.keywords=Tn(Ie.keywords,O.case_insensitive)),tt.keywordPatternRe=se(Yt,!0),De&&(Ie.begin||(Ie.begin=/\B|\b/),tt.beginRe=se(tt.begin),!Ie.end&&!Ie.endsWithParent&&(Ie.end=/\B|\b/),Ie.end&&(tt.endRe=se(tt.end)),tt.terminatorEnd=f(tt.end)||"",Ie.endsWithParent&&De.terminatorEnd&&(tt.terminatorEnd+=(Ie.end?"|":"")+De.terminatorEnd)),Ie.illegal&&(tt.illegalRe=se(Ie.illegal)),Ie.contains||(Ie.contains=[]),Ie.contains=[].concat(...Ie.contains.map(function(ht){return Xn(ht==="self"?Ie:ht)})),Ie.contains.forEach(function(ht){Ue(ht,tt)}),Ie.starts&&Ue(Ie.starts,De),tt.matcher=me(tt),tt}if(O.compilerExtensions||(O.compilerExtensions=[]),O.contains&&O.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return O.classNameAliases=i(O.classNameAliases||{}),Ue(O)}function Rn(O){return O?O.endsWithParent||Rn(O.starts):!1}function Xn(O){return O.variants&&!O.cachedVariants&&(O.cachedVariants=O.variants.map(function(se){return i(O,{variants:null},se)})),O.cachedVariants?O.cachedVariants:Rn(O)?i(O,{starts:O.starts?i(O.starts):null}):Object.isFrozen(O)?i(O):O}var Gn="11.11.1";class xn extends Error{constructor(se,be){super(se),this.name="HTMLInjectionError",this.html=be}}const Re=t,Z=i,Ee=Symbol("nomatch"),vt=7,Ct=function(O){const se=Object.create(null),be=Object.create(null),j=[];let me=!0;const Ue="Could not find the language '{}', did you forget to load/include a language module?",Ie={disableAutodetect:!0,name:"Plain text",contains:[]};let De={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:g};function tt(A){return De.noHighlightRe.test(A)}function Yt(A){let K=A.className+" ";K+=A.parentNode?A.parentNode.className:"";const Pe=De.languageDetectRe.exec(K);if(Pe){const Te=ei(Pe[1]);return Te||(sn(Ue.replace("{}",Pe[1])),sn("Falling back to no-highlight mode for this block.",A)),Te?Pe[1]:"no-highlight"}return K.split(/\s+/).find(Te=>tt(Te)||ei(Te))}function ht(A,K,Pe){let Te="",Fe="";typeof K=="object"?(Te=A,Pe=K.ignoreIllegals,Fe=K.language):(Ke("10.7.0","highlight(lang, code, ...args) has been deprecated."),Ke("10.7.0",`Please use highlight(code, options) instead.
80
- https://github.com/highlightjs/highlight.js/issues/2277`),Fe=A,Te=K),Pe===void 0&&(Pe=!0);const Ne={code:Te,language:Fe};ii("before:highlight",Ne);const re=Ne.result?Ne.result:he(Ne.language,Ne.code,Pe);return re.code=Ne.code,ii("after:highlight",re),re}function he(A,K,Pe,Te){const Fe=Object.create(null);function Ne(fe,$e){return fe.keywords[$e]}function re(){if(!ue.keywords){Xe.addText(ke);return}let fe=0;ue.keywordPatternRe.lastIndex=0;let $e=ue.keywordPatternRe.exec(ke),ft="";for(;$e;){ft+=ke.substring(fe,$e.index);const Tt=ye.case_insensitive?$e[0].toLowerCase():$e[0],Ye=Ne(ue,Tt);if(Ye){const[ci,Jt]=Ye;if(Xe.addText(ft),ft="",Fe[Tt]=(Fe[Tt]||0)+1,Fe[Tt]<=vt&&(ce+=Jt),ci.startsWith("_"))ft+=$e[0];else{const $n=ye.classNameAliases[ci]||ci;xe($e[0],$n)}}else ft+=$e[0];fe=ue.keywordPatternRe.lastIndex,$e=ue.keywordPatternRe.exec(ke)}ft+=ke.substring(fe),Xe.addText(ft)}function Qe(){if(ke==="")return;let fe=null;if(typeof ue.subLanguage=="string"){if(!se[ue.subLanguage]){Xe.addText(ke);return}fe=he(ue.subLanguage,ke,!0,bt[ue.subLanguage]),bt[ue.subLanguage]=fe._top}else fe=Vt(ke,ue.subLanguage.length?ue.subLanguage:null);ue.relevance>0&&(ce+=fe.relevance),Xe.__addSublanguage(fe._emitter,fe.language)}function je(){ue.subLanguage!=null?Qe():re(),ke=""}function xe(fe,$e){fe!==""&&(Xe.startScope($e),Xe.addText(fe),Xe.endScope())}function St(fe,$e){let ft=1;const Tt=$e.length-1;for(;ft<=Tt;){if(!fe._emit[ft]){ft++;continue}const Ye=ye.classNameAliases[fe[ft]]||fe[ft],ci=$e[ft];Ye?xe(ci,Ye):(ke=ci,re(),ke=""),ft++}}function Me(fe,$e){return fe.scope&&typeof fe.scope=="string"&&Xe.openNode(ye.classNameAliases[fe.scope]||fe.scope),fe.beginScope&&(fe.beginScope._wrap?(xe(ke,ye.classNameAliases[fe.beginScope._wrap]||fe.beginScope._wrap),ke=""):fe.beginScope._multi&&(St(fe.beginScope,$e),ke="")),ue=Object.create(fe,{parent:{value:ue}}),ue}function F(fe,$e,ft){let Tt=N(fe.endRe,ft);if(Tt){if(fe["on:end"]){const Ye=new e(fe);fe["on:end"]($e,Ye),Ye.isMatchIgnored&&(Tt=!1)}if(Tt){for(;fe.endsParent&&fe.parent;)fe=fe.parent;return fe}}if(fe.endsWithParent)return F(fe.parent,$e,ft)}function Y(fe){return ue.matcher.regexIndex===0?(ke+=fe[0],1):(Bt=!0,0)}function Le(fe){const $e=fe[0],ft=fe.rule,Tt=new e(ft),Ye=[ft.__beforeBegin,ft["on:begin"]];for(const ci of Ye)if(ci&&(ci(fe,Tt),Tt.isMatchIgnored))return Y($e);return ft.skip?ke+=$e:(ft.excludeBegin&&(ke+=$e),je(),!ft.returnBegin&&!ft.excludeBegin&&(ke=$e)),Me(ft,fe),ft.returnBegin?0:$e.length}function Ge(fe){const $e=fe[0],ft=K.substring(fe.index),Tt=F(ue,fe,ft);if(!Tt)return Ee;const Ye=ue;ue.endScope&&ue.endScope._wrap?(je(),xe($e,ue.endScope._wrap)):ue.endScope&&ue.endScope._multi?(je(),St(ue.endScope,fe)):Ye.skip?ke+=$e:(Ye.returnEnd||Ye.excludeEnd||(ke+=$e),je(),Ye.excludeEnd&&(ke=$e));do ue.scope&&Xe.closeNode(),!ue.skip&&!ue.subLanguage&&(ce+=ue.relevance),ue=ue.parent;while(ue!==Tt.parent);return Tt.starts&&Me(Tt.starts,fe),Ye.returnEnd?0:$e.length}function it(){const fe=[];for(let $e=ue;$e!==ye;$e=$e.parent)$e.scope&&fe.unshift($e.scope);fe.forEach($e=>Xe.openNode($e))}let lt={};function gt(fe,$e){const ft=$e&&$e[0];if(ke+=fe,ft==null)return je(),0;if(lt.type==="begin"&&$e.type==="end"&&lt.index===$e.index&&ft===""){if(ke+=K.slice($e.index,$e.index+1),!me){const Tt=new Error(`0 width match regex (${A})`);throw Tt.languageName=A,Tt.badRule=lt.rule,Tt}return 1}if(lt=$e,$e.type==="begin")return Le($e);if($e.type==="illegal"&&!Pe){const Tt=new Error('Illegal lexeme "'+ft+'" for mode "'+(ue.scope||"<unnamed>")+'"');throw Tt.mode=ue,Tt}else if($e.type==="end"){const Tt=Ge($e);if(Tt!==Ee)return Tt}if($e.type==="illegal"&&ft==="")return ke+=`
81
- `,1;if(et>1e5&&et>$e.index*3)throw new Error("potential infinite loop, way more iterations than matches");return ke+=ft,ft.length}const ye=ei(A);if(!ye)throw nn(Ue.replace("{}",A)),new Error('Unknown language: "'+A+'"');const Pt=Nn(ye);let ut="",ue=Te||Pt;const bt={},Xe=new De.__emitter(De);it();let ke="",ce=0,_e=0,et=0,Bt=!1;try{if(ye.__emitTokens)ye.__emitTokens(K,Xe);else{for(ue.matcher.considerAll();;){et++,Bt?Bt=!1:ue.matcher.considerAll(),ue.matcher.lastIndex=_e;const fe=ue.matcher.exec(K);if(!fe)break;const $e=K.substring(_e,fe.index),ft=gt($e,fe);_e=fe.index+ft}gt(K.substring(_e))}return Xe.finalize(),ut=Xe.toHTML(),{language:A,value:ut,relevance:ce,illegal:!1,_emitter:Xe,_top:ue}}catch(fe){if(fe.message&&fe.message.includes("Illegal"))return{language:A,value:Re(K),illegal:!0,relevance:0,_illegalBy:{message:fe.message,index:_e,context:K.slice(_e-100,_e+100),mode:fe.mode,resultSoFar:ut},_emitter:Xe};if(me)return{language:A,value:Re(K),illegal:!1,relevance:0,errorRaised:fe,_emitter:Xe,_top:ue};throw fe}}function at(A){const K={value:Re(A),illegal:!1,relevance:0,_top:Ie,_emitter:new De.__emitter(De)};return K._emitter.addText(A),K}function Vt(A,K){K=K||De.languages||Object.keys(se);const Pe=at(A),Te=K.filter(ei).filter(Rt).map(je=>he(je,A,!1));Te.unshift(Pe);const Fe=Te.sort((je,xe)=>{if(je.relevance!==xe.relevance)return xe.relevance-je.relevance;if(je.language&&xe.language){if(ei(je.language).supersetOf===xe.language)return 1;if(ei(xe.language).supersetOf===je.language)return-1}return 0}),[Ne,re]=Fe,Qe=Ne;return Qe.secondBest=re,Qe}function jt(A,K,Pe){const Te=K&&be[K]||Pe;A.classList.add("hljs"),A.classList.add(`language-${Te}`)}function si(A){let K=null;const Pe=Yt(A);if(tt(Pe))return;if(ii("before:highlightElement",{el:A,language:Pe}),A.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",A);return}if(A.children.length>0&&(De.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(A)),De.throwUnescapedHTML))throw new xn("One of your code blocks includes unescaped HTML.",A.innerHTML);K=A;const Te=K.textContent,Fe=Pe?ht(Te,{language:Pe,ignoreIllegals:!0}):Vt(Te);A.innerHTML=Fe.value,A.dataset.highlighted="yes",jt(A,Pe,Fe.language),A.result={language:Fe.language,re:Fe.relevance,relevance:Fe.relevance},Fe.secondBest&&(A.secondBest={language:Fe.secondBest.language,relevance:Fe.secondBest.relevance}),ii("after:highlightElement",{el:A,result:Fe,text:Te})}function hi(A){De=Z(De,A)}const Q=()=>{ot(),Ke("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function ge(){ot(),Ke("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Ve=!1;function ot(){function A(){ot()}if(document.readyState==="loading"){Ve||window.addEventListener("DOMContentLoaded",A,!1),Ve=!0;return}document.querySelectorAll(De.cssSelector).forEach(si)}function Lt(A,K){let Pe=null;try{Pe=K(O)}catch(Te){if(nn("Language definition for '{}' could not be registered.".replace("{}",A)),me)nn(Te);else throw Te;Pe=Ie}Pe.name||(Pe.name=A),se[A]=Pe,Pe.rawDefinition=K.bind(null,O),Pe.aliases&&Ut(Pe.aliases,{languageName:A})}function Je(A){delete se[A];for(const K of Object.keys(be))be[K]===A&&delete be[K]}function kt(){return Object.keys(se)}function ei(A){return A=(A||"").toLowerCase(),se[A]||se[be[A]]}function Ut(A,{languageName:K}){typeof A=="string"&&(A=[A]),A.forEach(Pe=>{be[Pe.toLowerCase()]=K})}function Rt(A){const K=ei(A);return K&&!K.disableAutodetect}function yi(A){A["before:highlightBlock"]&&!A["before:highlightElement"]&&(A["before:highlightElement"]=K=>{A["before:highlightBlock"](Object.assign({block:K.el},K))}),A["after:highlightBlock"]&&!A["after:highlightElement"]&&(A["after:highlightElement"]=K=>{A["after:highlightBlock"](Object.assign({block:K.el},K))})}function dn(A){yi(A),j.push(A)}function Hi(A){const K=j.indexOf(A);K!==-1&&j.splice(K,1)}function ii(A,K){const Pe=A;j.forEach(function(Te){Te[Pe]&&Te[Pe](K)})}function ji(A){return Ke("10.7.0","highlightBlock will be removed entirely in v12.0"),Ke("10.7.0","Please use highlightElement now."),si(A)}Object.assign(O,{highlight:ht,highlightAuto:Vt,highlightAll:ot,highlightElement:si,highlightBlock:ji,configure:hi,initHighlighting:Q,initHighlightingOnLoad:ge,registerLanguage:Lt,unregisterLanguage:Je,listLanguages:kt,getLanguage:ei,registerAliases:Ut,autoDetection:Rt,inherit:Z,addPlugin:dn,removePlugin:Hi}),O.debugMode=function(){me=!1},O.safeMode=function(){me=!0},O.versionString=Gn,O.regex={concat:w,lookahead:p,either:D,optional:_,anyNumberOfTimes:v};for(const A in qi)typeof qi[A]=="object"&&o(qi[A]);return Object.assign(O,qi),O},$t=Ct({});return $t.newInstance=()=>Ct({}),Jw=$t,$t.HighlightJS=$t,$t.default=$t,Jw}var P7=E7();const Jv=CR(P7),CD="[A-Za-z$_][0-9A-Za-z$_]*",T7=["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"],M7=["true","false","null","undefined","NaN","Infinity"],xR=["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"],LR=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],kR=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],N7=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],R7=[].concat(kR,xR,LR);function IR(o){const e=o.regex,t=(Ae,{after:Ze})=>{const Oe="</"+Ae[0].slice(1);return Ae.input.indexOf(Oe,Ze)!==-1},i=CD,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Ae,Ze)=>{const Oe=Ae[0].length+Ae.index,st=Ae.input[Oe];if(st==="<"||st===","){Ze.ignoreMatch();return}st===">"&&(t(Ae,{after:Oe})||Ze.ignoreMatch());let At;const ni=Ae.input.substring(Oe);if(At=ni.match(/^\s*=/)){Ze.ignoreMatch();return}if((At=ni.match(/^\s+extends\s+/))&&At.index===0){Ze.ignoreMatch();return}}},a={$pattern:CD,keyword:T7,literal:M7,built_in:R7,"variable.language":N7},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 V=[].concat(P,p.contains),W=V.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(V)}]),J={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:W},X={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"}}]},pe={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:{_:[...xR,...LR]}},Ce={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},ze={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[J],illegal:/%/},ve={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function nt(Ae){return e.concat("(?!",Ae.join("|"),")")}const Ft={match:e.concat(/\b/,nt([...kR,"super","import"].map(Ae=>`${Ae}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},wt={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ai={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},J]},zt="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",ti={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(zt)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[J]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:W,CLASS_REFERENCE:pe},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),Ce,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,w,S,P,{match:/\$\d+/},f,pe,{scope:"attr",match:i+e.lookahead(":"),relevance:0},ti,{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:zt,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:W}]}]},{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"]}]}]},ze,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[J,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},wt,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[J]},Ft,ve,X,ai,{match:/\$[(.]/}]}}function lL(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Th=lL();function DR(o){Th=o}var qc={exec:()=>null};function Zh(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 yn(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(io.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var A7=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),io={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:Zh(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Zh(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:Zh(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:Zh(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:Zh(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:Zh(o=>new RegExp(`^ {0,${o}}>`))},O7=/^(?:[ \t]*(?:\n|$))+/,F7=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,H7=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,_m=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,W7=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,cL=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,ER=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,PR=yn(ER).replace(/bull/g,cL).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(),B7=yn(ER).replace(/bull/g,cL).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(),dL=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,z7=/^[^\n]+/,hL=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,V7=yn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",hL).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),j7=yn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,cL).getRegex(),$y="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",uL=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,U7=yn("^ {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",uL).replace("tag",$y).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),TR=yn(dL).replace("hr",_m).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",$y).getRegex(),$7=yn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",TR).getRegex(),gL={blockquote:$7,code:F7,def:V7,fences:H7,heading:W7,hr:_m,html:U7,lheading:PR,list:j7,newline:O7,paragraph:TR,table:qc,text:z7},xD=yn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",_m).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",$y).getRegex(),q7={...gL,lheading:B7,table:xD,paragraph:yn(dL).replace("hr",_m).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",xD).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",$y).getRegex()},K7={...gL,html:yn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",uL).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:qc,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:yn(dL).replace("hr",_m).replace("heading",` *#{1,6} *[^
82
- ]`).replace("lheading",PR).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},G7=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Z7=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,MR=/^( {2,}|\\)\n(?!\s*$)/,X7=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Ag=/[\p{P}\p{S}]/u,qy=/[\s\p{P}\p{S}]/u,fL=/[^\s\p{P}\p{S}]/u,Y7=yn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,qy).getRegex(),NR=/(?!~)[\p{P}\p{S}]/u,J7=/(?!~)[\s\p{P}\p{S}]/u,Q7=/(?:[^\s\p{P}\p{S}]|~)/u,eq=yn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",A7?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),RR=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,tq=yn(RR,"u").replace(/punct/g,Ag).getRegex(),iq=yn(RR,"u").replace(/punct/g,NR).getRegex(),AR="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",nq=yn(AR,"gu").replace(/notPunctSpace/g,fL).replace(/punctSpace/g,qy).replace(/punct/g,Ag).getRegex(),sq=yn(AR,"gu").replace(/notPunctSpace/g,Q7).replace(/punctSpace/g,J7).replace(/punct/g,NR).getRegex(),oq=yn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,fL).replace(/punctSpace/g,qy).replace(/punct/g,Ag).getRegex(),rq=yn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Ag).getRegex(),aq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",lq=yn(aq,"gu").replace(/notPunctSpace/g,fL).replace(/punctSpace/g,qy).replace(/punct/g,Ag).getRegex(),cq=yn(/\\(punct)/,"gu").replace(/punct/g,Ag).getRegex(),dq=yn(/^<(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(),hq=yn(uL).replace("(?:-->|$)","-->").getRegex(),uq=yn("^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",hq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Qv=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,gq=yn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Qv).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),OR=yn(/^!?\[(label)\]\[(ref)\]/).replace("label",Qv).replace("ref",hL).getRegex(),FR=yn(/^!?\[(ref)\](?:\[\])?/).replace("ref",hL).getRegex(),fq=yn("reflink|nolink(?!\\()","g").replace("reflink",OR).replace("nolink",FR).getRegex(),LD=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,pL={_backpedal:qc,anyPunctuation:cq,autolink:dq,blockSkip:eq,br:MR,code:Z7,del:qc,delLDelim:qc,delRDelim:qc,emStrongLDelim:tq,emStrongRDelimAst:nq,emStrongRDelimUnd:oq,escape:G7,link:gq,nolink:FR,punctuation:Y7,reflink:OR,reflinkSearch:fq,tag:uq,text:X7,url:qc},pq={...pL,link:yn(/^!?\[(label)\]\((.*?)\)/).replace("label",Qv).getRegex(),reflink:yn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Qv).getRegex()},_0={...pL,emStrongRDelimAst:sq,emStrongLDelim:iq,delLDelim:rq,delRDelim:lq,url:yn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",LD).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:yn(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",LD).getRegex()},mq={..._0,br:yn(MR).replace("{2,}","*").getRegex(),text:yn(_0.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},r_={normal:gL,gfm:q7,pedantic:K7},af={normal:pL,gfm:_0,breaks:mq,pedantic:pq},_q={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},kD=o=>_q[o];function ca(o,e){if(e){if(io.escapeTest.test(o))return o.replace(io.escapeReplace,kD)}else if(io.escapeTestNoEncode.test(o))return o.replace(io.escapeReplaceNoEncode,kD);return o}function ID(o){try{o=encodeURI(o).replace(io.percentDecode,"%")}catch{return null}return o}function DD(o,e){var s;let t=o.replace(io.findPipe,(r,a,c)=>{let h=!1,g=a;for(;--g>=0&&c[g]==="\\";)h=!h;return h?"|":" |"}),i=t.split(io.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(io.slashPipe,"|");return i}function Nl(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 ED(o){let e=o.split(`
83
- `),t=e.length-1;for(;t>=0&&io.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
84
- `)}function vq(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 bq(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 PD(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 yq(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 eb=class{constructor(o){Bi(this,"options");Bi(this,"rules");Bi(this,"lexer");this.options=o||Th}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]:ED(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=yq(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=Nl(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:Nl(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:Nl(e[0],`
88
- `)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=Nl(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=bq(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(_),V=this.rules.other.blockquoteBeginRegex(_);for(;o;){let W=o.split(`
103
- `,1)[0],J;if(p=W,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),J=p):J=p.replace(this.rules.other.tabCharGlobal," "),D.test(p)||P.test(p)||N.test(p)||V.test(p)||w.test(p)||S.test(p))break;if(J.search(this.rules.other.nonSpaceChar)>=_||!p.trim())g+=`
104
- `+J.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+=W+`
106
- `,o=o.substring(W.length+1),f=J.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=ED(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:Nl(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=DD(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:Nl(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(DD(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:Nl(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=Nl(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=vq(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)),PD(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 PD(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}}}},Fr=class v0{constructor(e){Bi(this,"tokens");Bi(this,"options");Bi(this,"state");Bi(this,"inlineQueue");Bi(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Th,this.options.tokenizer=this.options.tokenizer||new eb,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:io,block:r_.normal,inline:af.normal};this.options.pedantic?(t.block=r_.pedantic,t.inline=af.pedantic):this.options.gfm&&(t.block=r_.gfm,this.options.breaks?t.inline=af.breaks:t.inline=af.gfm),this.tokenizer.rules=t}static get rules(){return{block:r_,inline:af}}static lex(e,t){return new v0(t).lex(e)}static lexInline(e,t){return new v0(t).inlineTokens(e)}lex(e){e=e.replace(io.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(io.tabCharGlobal," ").replace(io.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)}},tb=class{constructor(o){Bi(this,"options");Bi(this,"parser");this.options=o||Th}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(io.notSpaceStart))==null?void 0:s[0],n=o.replace(io.endingNewline,"")+`
126
- `;return i?'<pre><code class="language-'+ca(i)+'">'+(t?n:ca(n,!0))+`</code></pre>
127
- `:"<pre><code>"+(t?n:ca(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>${ca(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=ID(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+ca(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=ID(o);if(n===null)return ca(t);o=n;let s=`<img src="${o}" alt="${ca(t)}"`;return e&&(s+=` title="${ca(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:ca(o.text)}},mL=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}},Hr=class b0{constructor(e){Bi(this,"options");Bi(this,"renderer");Bi(this,"textRenderer");this.options=e||Th,this.options.renderer=this.options.renderer||new tb,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new mL}static parse(e,t){return new b0(t).parse(e)}static parseInline(e,t){return new b0(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}},a_,Lf=(a_=class{constructor(o){Bi(this,"options");Bi(this,"block");this.options=o||Th}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?Fr.lex:Fr.lexInline}provideParser(o=this.block){return o?Hr.parse:Hr.parseInline}},Bi(a_,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),Bi(a_,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),a_),wq=class{constructor(...o){Bi(this,"defaults",lL());Bi(this,"options",this.setOptions);Bi(this,"parse",this.parseMarkdown(!0));Bi(this,"parseInline",this.parseMarkdown(!1));Bi(this,"Parser",Hr);Bi(this,"Renderer",tb);Bi(this,"TextRenderer",mL);Bi(this,"Lexer",Fr);Bi(this,"Tokenizer",eb);Bi(this,"Hooks",Lf);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 tb(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 eb(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 Lf;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];Lf.passThroughHooks.has(s)?n[r]=h=>{if(this.defaults.async&&Lf.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 Fr.lex(o,e??this.defaults)}parser(o,e){return Hr.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?Fr.lex:Fr.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?Hr.parse:Hr.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?Fr.lex:Fr.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?Hr.parse:Hr.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>"+ca(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},bh=new wq;function Fn(o,e){return bh.parse(o,e)}Fn.options=Fn.setOptions=function(o){return bh.setOptions(o),Fn.defaults=bh.defaults,DR(Fn.defaults),Fn};Fn.getDefaults=lL;Fn.defaults=Th;Fn.use=function(...o){return bh.use(...o),Fn.defaults=bh.defaults,DR(Fn.defaults),Fn};Fn.walkTokens=function(o,e){return bh.walkTokens(o,e)};Fn.parseInline=bh.parseInline;Fn.Parser=Hr;Fn.parser=Hr.parse;Fn.Renderer=tb;Fn.TextRenderer=mL;Fn.Lexer=Fr;Fn.lexer=Fr.lex;Fn.Tokenizer=eb;Fn.Hooks=Lf;Fn.parse=Fn;Fn.options;Fn.setOptions;Fn.use;Fn.walkTokens;Fn.parseInline;Hr.parse;Fr.lex;var Sq=R('<span class="chat-model svelte-10ayso4"><!></span>'),Cq=R('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),xq=R('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),Lq=R('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),kq=R('<ul class="history-list svelte-10ayso4"></ul>'),Iq=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>'),Dq=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>'),Eq=R('Chatting in context of <code class="svelte-10ayso4"> </code>',1),Pq=R('<button class="chip svelte-10ayso4"> </button>'),Tq=R('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),Mq=R('<div class="msg-content user-text svelte-10ayso4"> </div>'),TD=R('<span class="tool-args svelte-10ayso4"> </span>'),MD=R('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),ND=R('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),RD=R('<div class="tool-events svelte-10ayso4"></div>'),AD=R('<div class="text-block svelte-10ayso4"></div>'),Nq=R('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),Rq=R('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),Aq=R('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),Oq=R('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),Fq=R('<button class="expand-btn svelte-10ayso4"> </button>'),Hq=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>'),Wq=R('<!> <div class="msg-content svelte-10ayso4"></div>',1),Bq=R("<div><!></div>"),zq=R('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),Vq=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>'),jq=R('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),Uq=R('<div class="chat-error svelte-10ayso4"> </div>'),$q=R('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),qq=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>'),Kq=R('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),Gq=R('<button class="send-btn svelte-10ayso4">↑</button>'),Zq=R('<option class="svelte-10ayso4"> </option>'),Xq=R('<select class="model-select svelte-10ayso4"></select>'),Yq=R('<span class="model-name svelte-10ayso4"> </span>'),Jq=R('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),Qq=R('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),eK=R('<p class="info-status svelte-10ayso4">Loading…</p>'),tK=R('<p class="info-status info-err svelte-10ayso4"> </p>'),iK=R('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),nK=R('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),sK=R('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),oK=R('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),rK=R('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),aK=R('<div class="running-model svelte-10ayso4"> </div>'),lK=R('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),cK=R('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),dK=R('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),hK=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>'),uK=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 gK(o,e){Oo(e,!0),Jv.registerLanguage("javascript",IR),Fn.use({breaks:!0,gfm:!0});let t=og(e,"currentScript",3,null),i=og(e,"extraFiles",31,()=>_i([])),n=B(_i([])),s=B(null),r=B(""),a=B(!1),c=B(""),h=B(null);const g="she:conversationId";function f(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=B(_i(localStorage.getItem(g)??f())),v=B(_i([])),_=B(!1);Bn(()=>{localStorage.setItem(g,u(p))});let w=B(_i([])),S=B(_i(localStorage.getItem("she:selectedModel")??"")),D=B(null);const P=rt(()=>{var F;return u(D)!==null&&((F=t())==null?void 0:F.path)===u(D)});let N=B(_i(new Set)),V=B(!1),W=B(null),J=B(!1),X=B(""),pe=B(0),Ce=null,ze=B(0);const ve=["[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 nt=B(!0),Ft=B(!0),wt=B(!0),ai=B(!1),zt,ti=B(_i([])),Ae,Ze;const Oe=rt(()=>({apiref:u(nt),tools:u(Ft)})),st=rt(()=>{var F;return((F=u(h))==null?void 0:F.configured)??!1}),At=rt(()=>{var F;return u(st)||!!((F=u(h))!=null&&F.provider)&&!!u(S)}),ni=rt(()=>u(pe)+new TextEncoder().encode(u(r)).length),Xt=rt(()=>u(wt)?t():null);Bn(()=>{var Y;const F=(Y=t())==null?void 0:Y.path;k(wt,!0),u(D)!==null&&F!==u(D)&&k(D,null)}),Bn(()=>{var Ge;if(!u(P))return;const F=u(n).at(-1);if(!F||F.role!=="assistant")return;const Le=_t(F.content).find(it=>it.type==="code"&&tn(it.lang));if(Le){const it=Sn(Le.text);(Ge=e.onApply)==null||Ge.call(e,it?it.code:Le.text)}});async function Wt(){try{const F=await mR();k(h,F,!0),F.configured&&!u(S)&&k(S,F.model,!0)}catch{}}Bn(()=>(window.addEventListener("she:config-changed",Wt),()=>window.removeEventListener("she:config-changed",Wt))),Bn(()=>{u(S)&&localStorage.setItem("she:selectedModel",u(S))}),Bn(()=>{var F;(F=u(h))!=null&&F.provider&&_R().then(Y=>{k(w,Y.models,!0),!u(S)&&Y.models.length>0&&k(S,Y.models[0],!0)}).catch(()=>{})}),Bn(()=>{u(S),k(W,null),k(X,"")}),Bn(()=>{if(!u(a))return;k(ze,Math.floor(Math.random()*ve.length),!0);const F=setInterval(()=>{k(ze,(u(ze)+1)%ve.length)},1e4);return()=>clearInterval(F)}),Bn(()=>{var F;Ze&&(u(n).length+(((F=u(s))==null?void 0:F.length)??0),requestAnimationFrame(()=>{Ze&&(Ze.scrollTop=Ze.scrollHeight)}))}),Bn(()=>{const F=u(Oe),Y=u(Xt),Le=i();u(At)&&bR({context:F,currentScript:Y??null,extraFiles:Le.length>0?Le:void 0}).then(Ge=>{k(pe,new TextEncoder().encode(Ge.prompt).length,!0)}).catch(()=>{})});function _t(F){const Y=F.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
145
- $2
146
- `),Le=[],Ge=/```(\w*)\n([\s\S]*?)```/g;let it=0,lt;for(;(lt=Ge.exec(Y))!==null;)lt.index>it&&Le.push({type:"text",text:Y.slice(it,lt.index)}),Le.push({type:"code",lang:lt[1]||"text",text:lt[2].trimEnd()}),it=lt.index+lt[0].length;return it<Y.length&&Le.push({type:"text",text:Y.slice(it)}),Le}const xi=15;function mi(F){return F.split(`
147
- `).length>xi}function En(F){const Y=new Set(u(N));Y.has(F)?Y.delete(F):Y.add(F),k(N,Y,!0)}function qi(F,Y){if(tn(Y))try{return Jv.highlight(F,{language:"javascript"}).value}catch{}return F.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Hn(F){return Fn.parse(F)}function en(F){const Y=F.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
148
- $2
149
- `),Le=[],Ge=/```(\w*)\n([\s\S]*?)```/g;let it=0,lt;for(;(lt=Ge.exec(Y))!==null;)lt.index>it&&Le.push({type:"text",text:Y.slice(it,lt.index)}),Le.push({type:"code",lang:lt[1]||"text",text:lt[2].trimEnd()}),it=lt.index+lt[0].length;const gt=Y.slice(it),ye=gt.match(/```(\w*)\n([\s\S]*)$/);return ye?(ye.index>0&&Le.push({type:"text",text:gt.slice(0,ye.index)}),Le.push({type:"code",lang:ye[1]||"text",text:ye[2]})):gt&&Le.push({type:"text",text:gt}),Le}function Di(F){navigator.clipboard.writeText(F).catch(()=>{})}function Pn(F,Y=!1){var Le;Y&&t()&&k(D,t().path,!0),(Le=e.onApply)==null||Le.call(e,F)}function tn(F){return!F||F==="js"||F==="javascript"}function Sn(F){const Y=F.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return Y?{filename:Y[1],code:F.slice(Y[0].length)}:null}function Zi(F){return F>=1e9?`${(F/1e9).toFixed(1)} GB`:F>=1e6?`${(F/1e6).toFixed(0)} MB`:F>=1024?`${(F/1024).toFixed(1)} kB`:`${F} B`}async function Fi(){if(k(V,!0),!(u(W)||u(J))){k(J,!0),k(X,"");try{k(W,await vR(u(S)||u(h).model),!0)}catch(F){k(X,F.message,!0)}k(J,!1)}}function cn(F){const Y=F.match(/\.([^.]+)$/);return Y?Y[1].toUpperCase():"?"}function Tn(F){switch(F){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return F}}function Mn(F){i(i().filter((Y,Le)=>Le!==F))}function Un(){zt.click()}async function Cn(F){if(!(!F||F.length===0))for(const Y of Array.from(F)){const Le=await Y.text();i([...i(),{name:Y.name,content:Le}])}}function nn(F){const Y=F.target;Cn(Y.files),Y.value=""}function sn(F){var Y;F.preventDefault(),k(ai,!1),Cn(((Y=F.dataTransfer)==null?void 0:Y.files)??null)}function Ke(F){var Y;(Y=F.dataTransfer)!=null&&Y.types.includes("Files")&&(F.preventDefault(),k(ai,!0))}function Ot(){k(ai,!1)}async function li(){try{k(v,await m7(),!0)}catch{}}async function Ei(){var Y;if(u(n).length===0)return;const F=((Y=u(n).find(Le=>Le.role==="user"))==null?void 0:Y.content.slice(0,80))??u(p);try{await _7(u(p),F,u(n)),await li()}catch{}}async function Ci(F){try{const Y=await yD(F);k(n,Y.messages,!0),k(p,F,!0),k(_,!1),k(c,"")}catch{}}async function fn(F){try{await v7(F),await li(),F===u(p)&&pn()}catch{}}function pn(){k(n,[],!0),k(c,""),k(p,f(),!0),k(_,!1)}Sr(async()=>{Wt();try{const F=await yD(u(p));k(n,F.messages,!0)}catch{}await li()});async function Nn(){const F=u(r).trim();if(!F||u(a))return;k(r,""),k(c,""),k(a,!0);const Y={role:"user",content:F};k(n,[...u(n),Y],!0),Ce=new AbortController,k(ti,[],!0);try{await yR({messages:u(n),currentScript:u(Xt),context:u(Oe),modelOverride:u(S)||void 0,extraFiles:i().length>0?i():void 0},Le=>{k(s,(u(s)??"")+Le)},Ce.signal,Le=>{k(ti,[...u(ti),Le],!0)}),k(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(ti).length>0?[...u(ti)]:void 0}],!0),k(ti,[],!0)}catch(Le){if(Le.name==="AbortError"){const Ge=u(s);Ge&&Ge.trim()&&k(n,[...u(n),{role:"assistant",content:Ge+`
150
-
151
- *[stopped]*`,toolEvents:u(ti).length>0?[...u(ti)]:void 0}],!0)}else k(c,Le.message,!0)}finally{Ce=null,k(s,null),k(ti,[],!0),k(a,!1),Ei()}}function Rn(){Ce==null||Ce.abort()}function Xn(F){F.key==="Enter"&&!F.shiftKey&&(F.preventDefault(),Nn())}function Gn(){pn()}const xn=["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 Re(F){k(r,F,!0),Ae==null||Ae.focus()}var Z=uK(),Ee=yt(Z),vt=C(Ee),Ct=x(C(vt),2);{var $t=F=>{var Y=Sq(),Le=C(Y);{var Ge=gt=>{var ye=$r();G(()=>q(ye,`${u(h).provider??""} · ${(u(S)||u(h).model)??""}`)),T(gt,ye)},it=gt=>{var ye=$r();G(()=>q(ye,`${u(h).provider??""} · pick a model below`)),T(gt,ye)},lt=gt=>{var ye=$r("Not configured");T(gt,ye)};$(Le,gt=>{u(At)?gt(Ge):u(h).provider?gt(it,1):gt(lt,-1)})}G(()=>On(Y,"title",`Provider: ${u(h).provider??""}`)),T(F,Y)};$(Ct,F=>{u(h)&&F($t)})}var O=x(Ct,2);let se;var be=x(O,2);{var j=F=>{var Y=Cq();te("click",Y,Gn),T(F,Y)};$(be,F=>{u(n).length>0&&F(j)})}var me=x(vt,2);{var Ue=F=>{var Y=Iq(),Le=C(Y),Ge=x(C(Le),2),it=x(Le,2);{var lt=ye=>{var Pt=xq();T(ye,Pt)},gt=ye=>{var Pt=kq();pi(Pt,21,()=>u(v),ut=>ut.id,(ut,ue)=>{var bt=Lq();let Xe;var ke=C(bt),ce=C(ke),_e=x(ke,2);G(()=>{Xe=qt(bt,1,"history-item svelte-10ayso4",null,Xe,{"history-active":u(ue).id===u(p)}),On(ke,"title",u(ue).id),q(ce,u(ue).title||u(ue).id)}),te("click",ke,()=>Ci(u(ue).id)),te("click",_e,()=>fn(u(ue).id)),T(ut,bt)}),T(ye,Pt)};$(it,ye=>{u(v).length===0?ye(lt):ye(gt,-1)})}te("click",Ge,pn),T(F,Y)};$(me,F=>{u(_)&&F(Ue)})}var Ie=x(me,2),De=C(Ie);{var tt=F=>{var Y=Dq();T(F,Y)},Yt=F=>{var Y=Tq(),Le=C(Y),Ge=C(Le);{var it=ye=>{var Pt=Eq(),ut=x(yt(Pt)),ue=C(ut);G(bt=>q(ue,bt),[()=>t().path.split("/").pop()]),T(ye,Pt)},lt=ye=>{var Pt=$r("No script open. Ask a general she scripting question.");T(ye,Pt)};$(Ge,ye=>{t()?ye(it):ye(lt,-1)})}var gt=x(Le,2);pi(gt,17,()=>xn,zn,(ye,Pt)=>{var ut=Pq(),ue=C(ut);G(()=>q(ue,u(Pt))),te("click",ut,()=>Re(u(Pt))),T(ye,ut)}),T(F,Y)};$(De,F=>{u(st)?u(n).length===0&&u(s)===null&&F(Yt,1):F(tt)})}var ht=x(De,2);pi(ht,17,()=>u(n),zn,(F,Y,Le)=>{var Ge=Bq(),it=C(Ge);{var lt=ye=>{var Pt=Mq(),ut=C(Pt);G(()=>q(ut,u(Y).content)),T(ye,Pt)},gt=ye=>{const Pt=rt(()=>_t(u(Y).content));var ut=Wq(),ue=yt(ut);{var bt=ke=>{var ce=RD();pi(ce,21,()=>u(Y).toolEvents,zn,(_e,et)=>{var Bt=Fs(),fe=yt(Bt);{var $e=Tt=>{var Ye=MD(),ci=x(C(Ye),2),Jt=C(ci),$n=x(ci,2);{var on=Gt=>{var mn=TD(),ri=C(mn);G(rn=>q(ri,rn),[()=>Object.entries(u(et).args).map(([rn,an])=>`${rn}=${JSON.stringify(an)}`).join(", ")]),T(Gt,mn)},oi=rt(()=>u(et).args&&Object.keys(u(et).args).length>0);$($n,Gt=>{u(oi)&&Gt(on)})}G(Gt=>q(Jt,Gt),[()=>u(et).name.replace(/_/g," ")]),T(Tt,Ye)},ft=Tt=>{var Ye=ND(),ci=x(C(Ye),2),Jt=C(ci);G($n=>q(Jt,$n),[()=>u(et).name.replace(/_/g," ")]),T(Tt,Ye)};$(fe,Tt=>{u(et).type==="tool_call"?Tt($e):Tt(ft,-1)})}T(_e,Bt)}),T(ke,ce)};$(ue,ke=>{var ce;(ce=u(Y).toolEvents)!=null&&ce.length&&ke(bt)})}var Xe=x(ue,2);pi(Xe,21,()=>u(Pt),zn,(ke,ce,_e)=>{var et=Fs(),Bt=yt(et);{var fe=ft=>{var Tt=AD();ql(Tt,()=>Hn(u(ce).text),!0),T(ft,Tt)},$e=ft=>{const Tt=rt(()=>tn(u(ce).lang)?Sn(u(ce).text):null),Ye=rt(()=>u(Tt)?u(Tt).code:u(ce).text),ci=rt(()=>`${Le}:${_e}`),Jt=rt(()=>mi(u(Ye))),$n=rt(()=>u(N).has(u(ci)));var on=Hq(),oi=C(on),Gt=C(oi),mn=C(Gt),ri=x(Gt,2),rn=C(ri),an=x(rn,2);{var Ts=Ws=>{var ss=Nq();te("click",ss,()=>e.onCreateFile(u(Tt).filename,u(Tt).code)),T(Ws,ss)},Zo=Ws=>{var ss=Oq(),ks=yt(ss),Tc=x(ks,2);{var Il=Lr=>{var Wa=Rq();T(Lr,Wa)},Mc=Lr=>{var Wa=Aq();te("click",Wa,()=>Pn(u(ce).text,!0)),T(Lr,Wa)};$(Tc,Lr=>{u(P)?Lr(Il):Lr(Mc,-1)})}te("click",ks,()=>Pn(u(ce).text)),T(Ws,ss)},Cr=rt(()=>tn(u(ce).lang)&&t());$(an,Ws=>{u(Tt)&&e.onCreateFile?Ws(Ts):u(Cr)&&Ws(Zo,1)})}var Fa=x(oi,2);let xr;var ea=C(Fa),kl=C(ea);ql(kl,()=>qi(u(Ye),u(ce).lang??""),!0);var Ha=x(ea,2);{var Wi=Ws=>{var ss=Fq(),ks=C(ss);G(()=>q(ks,u($n)?"▲ collapse":"▼ expand")),te("click",ss,()=>En(u(ci))),T(Ws,ss)};$(Ha,Ws=>{u(Jt)&&Ws(Wi)})}G(()=>{q(mn,u(Tt)?`new: ${u(Tt).filename}`:u(ce).lang),xr=qt(Fa,1,"code-body svelte-10ayso4",null,xr,{collapsed:u(Jt)&&!u($n)})}),te("click",rn,()=>Di(u(Ye))),T(ft,on)};$(Bt,ft=>{u(ce).type==="text"?ft(fe):ft($e,-1)})}T(ke,et)}),T(ye,ut)};$(it,ye=>{u(Y).role==="user"?ye(lt):ye(gt,-1)})}G(()=>qt(Ge,1,`message ${u(Y).role??""}`,"svelte-10ayso4")),T(F,Ge)});var he=x(ht,2);{var at=F=>{var Y=RD();pi(Y,21,()=>u(ti),zn,(Le,Ge)=>{var it=Fs(),lt=yt(it);{var gt=Pt=>{var ut=MD(),ue=x(C(ut),2),bt=C(ue),Xe=x(ue,2);{var ke=_e=>{var et=TD(),Bt=C(et);G(fe=>q(Bt,fe),[()=>Object.entries(u(Ge).args).map(([fe,$e])=>`${fe}=${JSON.stringify($e)}`).join(", ")]),T(_e,et)},ce=rt(()=>u(Ge).args&&Object.keys(u(Ge).args).length>0);$(Xe,_e=>{u(ce)&&_e(ke)})}G(_e=>q(bt,_e),[()=>u(Ge).name.replace(/_/g," ")]),T(Pt,ut)},ye=Pt=>{var ut=ND(),ue=x(C(ut),2),bt=C(ue);G(Xe=>q(bt,Xe),[()=>u(Ge).name.replace(/_/g," ")]),T(Pt,ut)};$(lt,Pt=>{u(Ge).type==="tool_call"?Pt(gt):Pt(ye,-1)})}T(Le,it)}),T(F,Y)};$(he,F=>{u(ti).length>0&&F(at)})}var Vt=x(he,2);{var jt=F=>{var Y=zq(),Le=C(Y),Ge=C(Le),it=C(Ge);G(()=>q(it,ve[u(ze)])),T(F,Y)};$(Vt,F=>{u(a)&&u(s)===null&&u(ti).length===0&&F(jt)})}var si=x(Vt,2);{var hi=F=>{var Y=jq(),Le=C(Y);pi(Le,21,()=>en(u(s)),zn,(Ge,it)=>{var lt=Fs(),gt=yt(lt);{var ye=ut=>{var ue=AD();ql(ue,()=>Hn(u(it).text),!0),T(ut,ue)},Pt=ut=>{var ue=Vq(),bt=C(ue),Xe=C(bt),ke=C(Xe),ce=x(bt,2),_e=C(ce);ql(_e,()=>qi(u(it).text,u(it).lang??""),!0),G(()=>q(ke,u(it).lang)),T(ut,ue)};$(gt,ut=>{u(it).type==="text"?ut(ye):ut(Pt,-1)})}T(Ge,lt)}),T(F,Y)};$(si,F=>{u(s)!==null&&F(hi)})}ys(Ie,F=>Ze=F,()=>Ze);var Q=x(Ie,2);{var ge=F=>{var Y=Uq(),Le=C(Y);G(()=>q(Le,u(c))),T(F,Y)};$(Q,F=>{u(c)&&F(ge)})}var Ve=x(Q,2),ot=C(Ve),Lt=C(ot),Je=x(ot,2),kt=C(Je),ei=x(Je,2),Ut=C(ei),Rt=x(Ve,2),yi=C(Rt);{var dn=F=>{const Y=rt(()=>cn(t().path.split("/").pop()??t().path));var Le=$q();let Ge;var it=C(Le),lt=C(it),gt=x(it,2),ye=C(gt),Pt=x(gt,2),ut=C(Pt);G((ue,bt)=>{Ge=qt(Le,1,"file-chip svelte-10ayso4",null,Ge,{inactive:!u(wt)}),qt(it,1,`badge badge-${ue??""}`,"svelte-10ayso4"),q(lt,bt),q(ye,t().path),On(Pt,"title",u(wt)?"Remove from context":"Re-add to context"),q(ut,u(wt)?"×":"+")},[()=>u(Y).toLowerCase(),()=>Tn(u(Y))]),te("click",Pt,()=>k(wt,!u(wt))),T(F,Le)};$(yi,F=>{t()&&F(dn)})}var Hi=x(yi,2);pi(Hi,17,i,zn,(F,Y,Le)=>{const Ge=rt(()=>cn(u(Y).name));var it=qq(),lt=C(it),gt=C(lt),ye=x(lt,2),Pt=C(ye),ut=x(ye,2);G((ue,bt)=>{qt(lt,1,`badge badge-${ue??""}`,"svelte-10ayso4"),q(gt,bt),q(Pt,u(Y).name)},[()=>u(Ge).toLowerCase(),()=>Tn(u(Ge))]),te("click",ut,()=>Mn(Le)),T(F,it)});var ii=x(Hi,2),ji=x(ii,2);ys(ji,F=>zt=F,()=>zt);var A=x(Rt,2);let K;var Pe=C(A);let Te;var Fe=C(Pe);ys(Fe,F=>Ae=F,()=>Ae);var Ne=x(Pe,2);{var re=F=>{var Y=Kq();te("click",Y,Rn),T(F,Y)},Qe=F=>{var Y=Gq();G(Le=>Y.disabled=Le,[()=>!u(r).trim()||!u(At)]),te("click",Y,Nn),T(F,Y)};$(Ne,F=>{u(a)?F(re):F(Qe,-1)})}var je=x(A,2);{var xe=F=>{var Y=Qq(),Le=C(Y),Ge=C(Le),it=x(Le,2);{var lt=ut=>{var ue=Xq();pi(ue,21,()=>u(w),zn,(bt,Xe)=>{var ke=Zq(),ce=C(ke),_e={};G(()=>{q(ce,u(Xe)),_e!==(_e=u(Xe))&&(ke.value=(ke.__value=u(Xe))??"")}),T(bt,ke)}),G(()=>ue.disabled=u(a)),ba(ue,()=>u(S),bt=>k(S,bt)),T(ut,ue)},gt=ut=>{var ue=Yq(),bt=C(ue);G(()=>q(bt,u(S)||u(h).model)),T(ut,ue)};$(it,ut=>{u(w).length>0?ut(lt):ut(gt,-1)})}var ye=x(it,2);{var Pt=ut=>{var ue=Jq();te("click",ue,Fi),T(ut,ue)};$(ye,ut=>{u(h).provider==="ollama"&&ut(Pt)})}G(()=>q(Ge,u(h).provider)),T(F,Y)};$(je,F=>{var Y;(Y=u(h))!=null&&Y.provider&&(u(st)||u(w).length>0)&&F(xe)})}var St=x(Ee,2);{var Me=F=>{var Y=hK(),Le=C(Y),Ge=C(Le),it=C(Ge),lt=C(it),gt=x(it,2),ye=x(Ge,2),Pt=C(ye);{var ut=Xe=>{var ke=eK();T(Xe,ke)},ue=Xe=>{var ke=tK(),ce=C(ke);G(()=>q(ce,u(X))),T(Xe,ke)},bt=Xe=>{var ke=dK(),ce=C(ke);{var _e=oi=>{var Gt=iK(),mn=x(yt(Gt)),ri=C(mn);G(()=>q(ri,u(W).version)),T(oi,Gt)};$(ce,oi=>{u(W).version&&oi(_e)})}var et=x(ce,2);{var Bt=oi=>{var Gt=nK(),mn=x(yt(Gt)),ri=C(mn);G(()=>q(ri,u(W).details.family)),T(oi,Gt)};$(et,oi=>{var Gt;(Gt=u(W).details)!=null&&Gt.family&&oi(Bt)})}var fe=x(et,2);{var $e=oi=>{var Gt=sK(),mn=x(yt(Gt)),ri=C(mn);G(()=>q(ri,u(W).details.parameter_size)),T(oi,Gt)};$(fe,oi=>{var Gt;(Gt=u(W).details)!=null&&Gt.parameter_size&&oi($e)})}var ft=x(fe,2);{var Tt=oi=>{var Gt=oK(),mn=x(yt(Gt)),ri=C(mn);G(()=>q(ri,u(W).details.quantization_level)),T(oi,Gt)};$(ft,oi=>{var Gt;(Gt=u(W).details)!=null&&Gt.quantization_level&&oi(Tt)})}var Ye=x(ft,2);{var ci=oi=>{var Gt=rK(),mn=x(yt(Gt)),ri=C(mn);G(()=>q(ri,u(W).details.format)),T(oi,Gt)};$(Ye,oi=>{var Gt;(Gt=u(W).details)!=null&&Gt.format&&oi(ci)})}var Jt=x(Ye,2);{var $n=oi=>{var Gt=lK(),mn=x(yt(Gt),2);pi(mn,21,()=>u(W).running,zn,(ri,rn)=>{var an=aK(),Ts=C(an);G(Zo=>q(Ts,`${u(rn).name??""} · ${Zo??""} VRAM`),[()=>Zi(u(rn).size_vram)]),T(ri,an)}),T(oi,Gt)},on=oi=>{var Gt=cK();T(oi,Gt)};$(Jt,oi=>{u(W).running&&u(W).running.length>0?oi($n):u(W).running!==null&&oi(on,1)})}T(Xe,ke)};$(Pt,Xe=>{u(J)?Xe(ut):u(X)?Xe(ue,1):u(W)&&Xe(bt,2)})}G(()=>{var Xe;return q(lt,`Ollama · ${(u(S)||((Xe=u(h))==null?void 0:Xe.model))??""}`)}),te("click",Y,()=>k(V,!1)),te("click",Le,Xe=>Xe.stopPropagation()),te("click",gt,()=>k(V,!1)),T(F,Y)};$(St,F=>{u(V)&&F(Me)})}G(F=>{se=qt(O,1,"icon-hdr-btn svelte-10ayso4",null,se,{active:u(_)}),q(Ut,F),K=qt(A,1,"input-row svelte-10ayso4",null,K,{"drag-over":u(ai)}),Te=qt(Pe,1,"textarea-wrap svelte-10ayso4",null,Te,{loading:u(a)}),On(Fe,"placeholder",u(At)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":u(st)?"Select a model above to start chatting":"AI not configured"),Fe.disabled=u(a)||!u(At)},[()=>Zi(u(ni))]),te("click",O,()=>k(_,!u(_))),As(Lt,()=>u(nt),F=>k(nt,F)),As(kt,()=>u(Ft),F=>k(Ft,F)),te("click",ii,Un),te("change",ji,nn),rs("dragover",A,Ke),rs("dragleave",A,Ot),rs("drop",A,sn),te("keydown",Fe,Xn),Ri(Fe,()=>u(r),F=>k(r,F)),T(o,Z),Fo()}wr(["click","change","keydown"]);const fK={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"]},pK={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 y0=[],w0=[],S0=[];const ib=new Map;let HR=[];const C0=new Map,x0=new Map;async function OD(){try{y0=(await pR()).map(e=>e.topic)}catch{}}async function FD(){try{const[o,e]=await Promise.all([uR(),gR()]);w0=o,S0=e}catch{}}async function HD(){try{const o=await fR();HR=o.map(e=>e.nodeId),C0.clear(),x0.clear();for(const e of o)e.name&&(C0.set(e.nodeId,e.name),x0.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!ib.has(e.nodeId))try{ib.set(e.nodeId,await N_(e.nodeId))}catch{}}))}catch{}}function mK(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=_K(h),f=vK(h);if(g===0)return{type:"matter-nodeId",prefix:f};if(g===1){const p=Xh(h,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(g===2){const p=Xh(h,0),v=WD(h,1)??Xh(h,1);if(p&&v!==null)return{type:"matter-cluster",nodeId:p,endpointId:v}}if(g>=3){const p=Xh(h,0),v=WD(h,1)??Xh(h,1),_=Xh(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 _K(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 vK(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function Xh(o,e){var s;const i=(s=WR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function WD(o,e){var s;const i=(s=WR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function WR(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 yh=Uc.CompletionItemKind;function bK(o,e){return(e?y0.filter(i=>i.startsWith(e)):y0).map(i=>({label:i,kind:yh.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function yK(o,e,t){const i=t?[...w0,...S0]:w0;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:yh.Value,insertText:s,range:o,detail:S0.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function wK(o,e){return HR.map(t=>{const i=C0.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:yh.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function BR(o){return x0.get(o)??o}function SK(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 CK(o,e){const t=ib.get(BR(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:yh.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function xK(o,e,t){const i=ib.get(BR(e));if(!i)return[];const n=SK(i,t);return n?n.clusters.map(s=>({label:s.name,kind:yh.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function LK(o,e,t){return(t?pK[e]??[]:fK[e]??[]).map(n=>({label:n,kind:t?yh.Function:yh.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let BD=!1;function kK(){BD||(BD=!0,OD(),FD(),HD(),setInterval(OD,15e3),setInterval(FD,1e4),setInterval(HD,6e4),Uc.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=mK(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:bK(a,i.prefix)};case"db":return{suggestions:yK(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:wK(a,i.prefix)};case"matter-endpointId":return{suggestions:CK(a,i.nodeId)};case"matter-cluster":return{suggestions:xK(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:LK(a,i.cluster,i.isSend)};default:return null}}}))}var IK=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),DK=R('<button class="svelte-1pyfjii">Show git history</button>'),EK=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),PK=R('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),TK=R('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),zD=R('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),MK=R('<ul class="tree-children svelte-1pyfjii"></ul>'),NK=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>'),RK=R('<span class="dirty-dot svelte-1pyfjii">●</span>'),AK=R('<span class="err-dot svelte-1pyfjii">●</span>'),OK=R('<label><input type="checkbox" class="svelte-1pyfjii"/> <span class="dis-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="6"></circle><line x1="3.8" y1="12.2" x2="12.2" y2="3.8"></line></svg></label>'),FK=R('<span class="dis-spacer svelte-1pyfjii"></span>'),HK=R('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!></button> <!></div></li>'),WK=R('<div class="err svelte-1pyfjii"> </div>'),BK=R('<div class="history-empty svelte-1pyfjii">Loading…</div>'),zK=R('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),VK=R('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),jK=R('<button class="history-load-more svelte-1pyfjii"> </button>'),UK=R("<!> <!>",1),$K=R('<div class="history-panel svelte-1pyfjii"><div class="history-resize-handle svelte-1pyfjii" role="separator"></div> <div class="history-hdr svelte-1pyfjii"><span class="history-title svelte-1pyfjii"> </span> <button class="history-close svelte-1pyfjii">✕</button></div> <div class="history-body svelte-1pyfjii"><!></div></div>'),qK=R('<span class="tab-dirty svelte-1pyfjii">●</span>'),KK=R('<div role="button" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),GK=R('<div class="tab-bar svelte-1pyfjii"></div>'),ZK=R('<span class="git-changes svelte-1pyfjii"> </span>'),XK=R('<span class="git-ahead svelte-1pyfjii"> </span>'),YK=R('<span class="git-behind svelte-1pyfjii"> </span>'),JK=R('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),QK=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),eG=R('<button class="danger svelte-1pyfjii">Delete</button>'),tG=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>`),iG=R('<button class="svelte-1pyfjii">Always accept in this session</button>'),nG=R('<button class="svelte-1pyfjii">Disable auto-accept</button>'),sG=R('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),oG=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>'),rG=R('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),aG=R('<div class="diff-container svelte-1pyfjii"></div>'),lG=R('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Commit <code> </code> → current — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><button class="discard-btn svelte-1pyfjii">Close</button></div></div> <!></div>'),cG=R('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),dG=R('<span class="log-file svelte-1pyfjii"> </span>'),hG=R("<option> </option>"),uG=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),gG=R('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),fG=R('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),pG=R('<div class="log-body svelte-1pyfjii"><!> <!></div>'),mG=R('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),_G=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 vG(o,e){Oo(e,!0);let t=B(_i([])),i=B(_i({})),n=B(null),s=B(null),r=B(null),a=B(null),c=B(_i([])),h=B(null),g=B(!1),f=B(""),p=B(!1),v=B(!0),_=B(null),w=B(!1),S=B(!1),D=B(null),P=B(_i([])),N=B(!1),V=B(30),W=B(void 0),J=null,X=null,pe=null,Ce=B(!1),ze=B(""),ve=B(!1),nt=B(void 0),Ft=B(_i(new Set));const wt=new Set;let ai=B(_i([])),zt=B("all"),ti=B(""),Ae=B(!1);const Ze=["all","debug","info","warn","error"],Oe={debug:0,info:1,warn:2,error:3};function st(H){if(u(zt)!=="all"&&Oe[H.level]<Oe[u(zt)])return!1;if(!u(ti))return!0;if(u(Ae))try{return new RegExp(u(ti),"i").test(H.msg)}catch{}return H.msg.toLowerCase().includes(u(ti).toLowerCase())}let At=B(null);function ni(H){const oe=H.currentTarget.getBoundingClientRect();k(At,{x:oe.left,y:oe.top},!0)}function Xt(){k(At,null)}let Wt,_t,xi,mi=!1,En=null,qi=!1,Hn=!1,en=B(!1),Di=B(null),Pn=B(!1),tn=B(!1),Sn=B(void 0),Zi=null,Fi=null,cn=null,Tn=B(_i(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),Mn=B(_i(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),Un=B(_i(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),Cn=B(_i(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),nn=!1,sn=0,Ke=0,Ot=!1,li=0,Ei=0,Ci=!1,fn=0,pn=0,Nn=!1,Rn=0,Xn=0;const Gn=rt(()=>{var H;return u(h)&&u(Ee)?{path:u(h),content:((H=u(Ee).model)==null?void 0:H.getValue())??u(Ee).savedContent}:null}),xn=rt(()=>{var H;return new Set(((H=u(_))==null?void 0:H.changes.map(oe=>oe.file))??[])});let Re,Z,Ee=rt(()=>u(c).find(H=>H.path===u(h))??null);const vt="she-tabs",Ct="she-active-tab",$t="she-log-open",O="she-chat-open";let se=og(e,"active",3,!0);Bn(()=>{Hn&&(localStorage.setItem(vt,JSON.stringify(u(c).map(H=>H.path))),u(h)?localStorage.setItem(Ct,u(h)):localStorage.removeItem(Ct))}),Bn(()=>{Hn&&localStorage.setItem(O,String(u(en)))}),Bn(()=>{se()&&_t&&_t.layout()});const be=`
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
- `;Sr(async()=>{var ae;k(v,localStorage.getItem($t)!=="false"),k(en,localStorage.getItem(O)==="true"),Uc.typescript.javascriptDefaults.addExtraLib(be,"she-api.d.ts"),Uc.typescript.javascriptDefaults.setCompilerOptions({target:Uc.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),Uc.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),kK(),xi=Qo.createModel("","javascript"),_t=Qo.create(Wt,{model:xi,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),_t.onDidChangeModelContent(()=>{if(mi)return;const qe=u(c).find(Mt=>Mt.path===u(h));qe&&(qe.dirty=_t.getValue()!==qe.savedContent),F&&clearTimeout(F),F=setTimeout(Y,600)}),En=SR(qe=>{const Mt=qe.msg.match(/^([^:\n]+\.js):\s/);if(!Mt)return;const It=Mt[1];if(qe.level==="error")wt.add(It),u(Ft).has(It)||k(Ft,new Set([...u(Ft),It]),!0);else if(wt.has(It)){wt.delete(It);const Li=new Set(u(Ft));Li.delete(It),k(Ft,Li,!0)}const Ti=u(c).find(Li=>Li.path===It);Ti&&(Ti.logEntries=[...Ti.logEntries.slice(-199),qe],Ti.path===u(h)&&u(v)&&u(nt)&&b_().then(()=>{u(nt)&&(u(nt).scrollTop=u(nt).scrollHeight)}))}),await j(),at();try{const qe=await rL();typeof qe.gitAutoCommit=="boolean"&&k(w,qe.gitAutoCommit,!0),typeof qe.gitAutoPush=="boolean"&&k(S,qe.gitAutoPush,!0)}catch{}const H=JSON.parse(localStorage.getItem(vt)??"[]"),oe=localStorage.getItem(Ct);for(const qe of H)await tt(qe,!1);const we=oe&&u(c).some(qe=>qe.path===oe)?oe:((ae=u(c)[0])==null?void 0:ae.path)??null;we&&await ht(we),Hn=!0}),Sy(()=>{var H;F&&clearTimeout(F),En==null||En();for(const oe of u(c))(H=oe.model)==null||H.dispose();xi==null||xi.dispose(),_t==null||_t.dispose()});async function j(){try{if(k(t,await G8(),!0),!qi){let oe=function(we){for(const ae of we)ae.type==="dir"&&(H[ae.path]=!0,ae.children&&oe(ae.children))};qi=!0;const H={};oe(u(t)),k(i,H,!0)}k(f,"")}catch(H){k(f,H.message,!0)}}function me(H){u(i)[H]=!u(i)[H]}function Ue(H){switch(H){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return H}}async function Ie(H,oe){try{oe?await Bc(`${H}/.shelib`,""):await o_(`${H}/.shelib`),await j(),await Vt("all",oe?`lib ${H}`:`unlib ${H}`)}catch(we){k(f,we.message,!0)}}async function De(H,oe){const we=H.split("/").pop(),ae=H.includes("/")?H.slice(0,H.lastIndexOf("/")):"",qe=ae?`${ae}/.shedisable-${we}`:`.shedisable-${we}`;try{oe?await Bc(qe,""):await o_(qe),await j(),await Vt("all",oe?`disable ${H}`:`enable ${H}`)}catch(Mt){k(f,Mt.message,!0)}}async function tt(H,oe=!0){var we;if(u(c).some(ae=>ae.path===H)){oe&&await ht(H);return}try{const{content:ae}=await Zw(H),qe=WF.parse(`file:///she-scripts/${encodeURIComponent(H)}`);(we=Qo.getModel(qe))==null||we.dispose();const Mt=Qo.createModel(ae,Me(H),qe);k(c,[...u(c),{path:H,dirty:!1,savedContent:ae,model:Mt,logEntries:[]}],!0),oe&&await ht(H)}catch(ae){k(f,ae.message,!0)}}async function Yt(H){await tt(H,!0)}async function ht(H){const oe=u(c).find(we=>we.path===H);oe!=null&&oe.model&&(kt(),k(Di,null),k(h,H,!0),mi=!0,_t.setModel(oe.model),mi=!1,Y())}async function he(H){var ae;const oe=u(c).find(qe=>qe.path===H);if(!oe||oe.dirty&&!await Re.show(`Discard unsaved changes to ${H}?`,{confirm:"Discard"}))return;const we=u(c).findIndex(qe=>qe.path===H);if((ae=oe.model)==null||ae.dispose(),k(c,u(c).filter(qe=>qe.path!==H),!0),u(h)===H){const qe=u(c)[we]??u(c)[we-1]??null;qe?await ht(qe.path):(k(h,null),_t.setModel(xi))}}async function at(){try{k(_,await X8(),!0)}catch{k(_,null)}}async function Vt(H,oe){if(u(_))try{if(H==="all"?await t7(oe):await e7(H,oe),u(S))try{await Xw()}catch{}await at()}catch{}}async function jt(){if(!u(h))return;const H=u(c).find(oe=>oe.path===u(h));if(H){k(g,!0);try{const oe=_t.getValue();await Bc(u(h),oe),H.savedContent=oe,H.dirty=!1,k(f,""),u(w)?await Vt([u(h)],`update ${u(h)}`):at()}catch(oe){k(f,oe.message,!0)}finally{k(g,!1)}}}async function si(){if(!u(h)||(await jt(),u(f)))return;const H=await Z.show("Commit message:",{initial:`update ${u(h)}`,placeholder:"Update script",confirm:"Commit"});if(H)try{if(await Q8(u(h),H),u(S))try{await Xw()}catch{}at()}catch(oe){k(f,"Git: "+oe.message)}}async function hi(){k(p,!1);try{await Xw(),await at(),k(f,"")}catch(H){k(f,"Git push: "+H.message)}}function Q(H){const oe=Date.now()-new Date(H).getTime(),we=Math.floor(oe/1e3);if(we<60)return"just now";const ae=Math.floor(we/60);if(ae<60)return`${ae}m ago`;const qe=Math.floor(ae/60);if(qe<24)return`${qe}h ago`;const Mt=Math.floor(qe/24);if(Mt<30)return`${Mt}d ago`;const It=Math.floor(Mt/30);return It<12?`${It}mo ago`:`${Math.floor(It/12)}y ago`}async function ge(H){yi(),k(D,H,!0),k(P,[],!0),k(V,30),await Ve()}async function Ve(){if(u(D)){k(N,!0);try{k(P,await i7(u(D).path,u(V)),!0)}catch{}finally{k(N,!1)}}}async function ot(){k(V,u(V)+30),await Ve()}function Lt(){k(D,null),k(P,[],!0),kt()}async function Je(H){if(!u(D))return;kt(),await Yt(u(D).path);let oe;try{oe=await n7(H.hash,u(D).path)}catch{return}if(k(ze,H.hash,!0),k(ve,oe.binary,!0),k(Ce,!0),oe.binary||oe.content===null)return;let we="";const ae=u(c).find(Mt=>Mt.path===u(D).path);if(ae!=null&&ae.model)we=ae.model.getValue();else try{we=(await Zw(u(D).path)).content}catch{}if(await b_(),!u(W))return;const qe=Me(u(D).path);X=Qo.createModel(oe.content,qe),pe=Qo.createModel(we,qe),J=Qo.createDiffEditor(u(W),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),J.setModel({original:X,modified:pe})}function kt(){k(Ce,!1),k(ve,!1),J==null||J.dispose(),J=null,X==null||X.dispose(),X=null,pe==null||pe.dispose(),pe=null}async function ei(){const H=u(n)?`${u(n)}/`:"",oe=await Z.show("New script name:",{placeholder:H?`${H}myscript.js`:"myscript.js",initial:H,confirm:"Create"});if(!oe)return;const we=oe.endsWith(".js")?`/* global she */
212
- 'use strict';
213
-
214
- `:"";await Bc(oe,we),await j(),await tt(oe,!0)}async function Ut(){const H=u(n)?`${u(n)}/`:"",oe=await Z.show("New folder name:",{placeholder:H?`${H}subfolder`:"myfolder",initial:H,confirm:"Create"});oe&&(await Z8(oe),u(i)[oe]=!0,await j())}function Rt(H,oe){H.preventDefault(),k(s,{x:H.clientX,y:H.clientY,entry:oe},!0)}function yi(){k(s,null)}async function dn(H){yi(),k(n,H,!0),u(i)[H]=!0,await ei()}async function Hi(H){yi(),k(n,H,!0),await Ut()}async function ii(H){yi();const oe=H.path.includes("/")?H.path.slice(0,H.path.lastIndexOf("/")+1):"",we=await Z.show(H.type==="dir"?"Rename folder:":"Rename script:",{initial:H.name,placeholder:H.name,confirm:"Rename"});if(!we||we===H.name)return;const ae=oe+we;try{await _D(H.path,ae);const qe=u(c).find(Mt=>Mt.path===H.path);qe&&(qe.path=ae,u(h)===H.path&&k(h,ae)),await j(),await Vt("all",`rename ${H.path} → ${ae}`)}catch(qe){k(f,qe.message,!0)}}function ji(H){if(!H.children)return 0;let oe=0;for(const we of H.children)oe++,we.type==="dir"&&(oe+=ji(we));return oe}async function A(H){yi();let oe=`Delete ${H.type==="dir"?"folder":"file"} "${H.path}"?`;if(H.type==="dir"){const we=ji(H);we>0&&(oe+=` This will also delete ${we} item${we===1?"":"s"} inside.`)}if(await Re.show(oe,{confirm:"Delete",danger:!0})){if(H.type==="dir")for(const we of[...u(c)])we.path.startsWith(H.path+"/")&&await he(we.path);else await he(H.path);await o_(H.path),await j(),await Vt("all",`delete ${H.path}`)}}async function K(H){yi();const{content:oe}=await Zw(H.path);u(ai).some(we=>we.name===H.path)||k(ai,[...u(ai),{name:H.path,content:oe}],!0),k(en,!0)}function Pe(H,oe){var we;k(r,oe,!0),(we=H.dataTransfer)==null||we.setData("text/plain",oe)}function Te(H,oe){if(H.preventDefault(),u(r)&&(u(r)===oe||oe.startsWith(u(r)+"/"))){H.dataTransfer&&(H.dataTransfer.dropEffect="none"),k(a,null);return}H.dataTransfer&&(H.dataTransfer.dropEffect="move"),k(a,oe,!0)}function Fe(){k(a,null)}async function Ne(H,oe){var It,Ti,Li;H.preventDefault(),k(a,null);const we=Array.from(((It=H.dataTransfer)==null?void 0:It.items)??[]).filter(Oi=>Oi.kind==="file");if(we.length>0&&!u(r)){for(const Oi of we){const wi=(Ti=Oi.webkitGetAsEntry)==null?void 0:Ti.call(Oi);wi&&await re(wi,oe,!0)}await j();return}const ae=u(r)??((Li=H.dataTransfer)==null?void 0:Li.getData("text/plain"));if(k(r,null),!ae||ae===oe||oe.startsWith(ae+"/"))return;const qe=ae.split("/").pop(),Mt=oe?`${oe}/${qe}`:qe;if(Mt!==ae)try{await _D(ae,Mt);for(const Oi of u(c))if(Oi.path===ae)u(h)===ae&&k(h,Mt,!0),Oi.path=Mt;else if(Oi.path.startsWith(ae+"/")){const wi=Mt+Oi.path.slice(ae.length);u(h)===Oi.path&&k(h,wi),Oi.path=wi}await j(),await Vt("all",`rename ${ae} → ${Mt}`)}catch(Oi){k(f,Oi.message,!0)}}async function re(H,oe,we){if(H.isFile){const qe=await(await new Promise((It,Ti)=>H.file(It,Ti))).text(),Mt=oe?`${oe}/${H.name}`:H.name;await Bc(Mt,qe),we&&H.name.endsWith(".js")&&await De(Mt,!0)}else if(H.isDirectory){const ae=H.createReader();let qe=[],Mt;do Mt=await new Promise((It,Ti)=>ae.readEntries(It,Ti)),qe=[...qe,...Mt];while(Mt.length>0);for(const It of qe)await re(It,oe?`${oe}/${H.name}`:H.name,!1);if(we){const It=oe?`${oe}/${H.name}`:H.name;await De(It,!0)}}}async function Qe(){if(!u(h)||!await Re.show(`Delete ${u(h)}?`,{confirm:"Delete",danger:!0}))return;const H=u(h);await he(H),await o_(H),await j(),await Vt("all",`delete ${H}`)}function je(){u(Ee)&&(u(Ee).logEntries=[])}function xe(){k(v,!u(v)),localStorage.setItem($t,String(u(v)))}function St(H){return new Date(H).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Me(H){var ae;const oe=((ae=H.split(".").pop())==null?void 0:ae.toLowerCase())??"";return{js:"javascript",mjs:"javascript",cjs:"javascript",ts:"typescript",tsx:"typescript",json:"json",jsonc:"json",md:"markdown",markdown:"markdown",yaml:"yaml",yml:"yaml",sh:"shell",bash:"shell",css:"css",html:"html",xml:"xml",ini:"ini",toml:"ini"}[oe]??"plaintext"}let F=null;async function Y(){const H=u(c).find(we=>we.path===u(h));if(!(H!=null&&H.model))return;const oe=H.model;try{const Mt=(await(await(await Uc.typescript.getJavaScriptWorker())(oe.uri)).getSyntacticDiagnostics(oe.uri.toString())).map(It=>{const Ti=oe.getPositionAt(It.start??0),Li=oe.getPositionAt((It.start??0)+(It.length??0));return{severity:BF.Error,startLineNumber:Ti.lineNumber,startColumn:Ti.column,endLineNumber:Li.lineNumber,endColumn:Li.column,message:typeof It.messageText=="string"?It.messageText:JSON.stringify(It.messageText),source:"she-syntax"}});if(Qo.setModelMarkers(oe,"she-syntax",Mt),u(h)){if(Mt.length>0)wt.add(u(h)),u(Ft).has(u(h))||k(Ft,new Set([...u(Ft),u(h)]),!0);else if(wt.has(u(h))){wt.delete(u(h));const It=new Set(u(Ft));It.delete(u(h)),k(Ft,It,!0)}}}catch{}}function Le(H){nn=!0,sn=H.clientX,Ke=u(Tn),H.preventDefault()}function Ge(H){Ot=!0,li=H.clientY,Ei=u(Mn),H.preventDefault()}function it(H){Ci=!0,fn=H.clientX,pn=u(Un),H.preventDefault()}function lt(H){Nn=!0,Rn=H.clientY,Xn=u(Cn),H.preventDefault()}function gt(H){nn&&k(Tn,Math.max(140,Math.min(500,Ke+H.clientX-sn)),!0),Ot&&k(Mn,Math.max(60,Math.min(500,Ei-(H.clientY-li))),!0),Ci&&k(Un,Math.max(200,Math.min(700,pn-(H.clientX-fn))),!0),Nn&&k(Cn,Math.max(80,Math.min(600,Xn-(H.clientY-Rn))),!0)}function ye(){nn&&(nn=!1,localStorage.setItem("she-scripts-sidebar-width",String(u(Tn)))),Ot&&(Ot=!1,localStorage.setItem("she-scripts-log-height",String(u(Mn)))),Ci&&(Ci=!1,localStorage.setItem("she-scripts-chat-width",String(u(Un)))),Nn&&(Nn=!1,localStorage.setItem("she-scripts-history-height",String(u(Cn))))}function Pt(H){(H.ctrlKey||H.metaKey)&&H.key==="s"&&(H.preventDefault(),jt()),H.key==="Escape"&&(k(p,!1),k(s,null))}async function ut(H,oe){const we=await Z.show("Save new script as:",{placeholder:"myscript.js",initial:H,confirm:"Create"});if(we)try{await Bc(we,oe),await j(),await tt(we,!0)}catch(ae){k(f,ae.message,!0)}}async function ue(H){var we,ae;if(u(Pn)&&u(h)){k(Di,H,!0),await bt();return}if(k(Di,H,!0),await b_(),!u(Sn))return;Fi==null||Fi.dispose(),cn==null||cn.dispose(),Zi==null||Zi.dispose();const oe=((ae=(we=u(Ee))==null?void 0:we.model)==null?void 0:ae.getValue())??"";Fi=Qo.createModel(oe,"javascript"),cn=Qo.createModel(H,"javascript"),Zi=Qo.createDiffEditor(u(Sn),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),Zi.setModel({original:Fi,modified:cn})}Bn(()=>{u(h),k(Pn,!1),k(tn,!1)});async function bt(){if(u(Di)===null||!u(h))return;const H=u(Di);k(Di,null);const oe=u(c).find(we=>we.path===u(h));oe!=null&&oe.model&&(mi=!0,oe.model.setValue(H),mi=!1,oe.dirty=!1,oe.savedContent=H);try{await Bc(u(h),H),k(f,""),u(w)?await Vt([u(h)],`update ${u(h)}`):at()}catch(we){k(f,we.message,!0)}ke()}function Xe(){k(Di,null),ke()}function ke(){Zi==null||Zi.dispose(),Zi=null,Fi==null||Fi.dispose(),Fi=null,cn==null||cn.dispose(),cn=null}var ce=_G();rs("keydown",cd,Pt),rs("mousemove",cd,gt),rs("mouseup",cd,ye);var _e=yt(ce);ys(Rg(_e,{}),H=>Re=H,()=>Re);var et=x(_e,2);ys(D7(et,{}),H=>Z=H,()=>Z);var Bt=x(et,2);{var fe=H=>{var oe=PK(),we=yt(oe),ae=x(we,2);let qe;var Mt=C(ae);{var It=Li=>{var Oi=IK(),wi=yt(Oi),ki=x(wi,2),Ki=x(ki,4),Qn=x(Ki,2);te("click",wi,()=>dn(u(s).entry.path)),te("click",ki,()=>Hi(u(s).entry.path)),te("click",Ki,()=>ii(u(s).entry)),te("click",Qn,()=>A(u(s).entry)),T(Li,Oi)},Ti=Li=>{var Oi=EK(),wi=yt(Oi),ki=x(wi,2),Ki=x(ki,2),Qn=x(Ki,2);{var Wn=hn=>{var Ms=DK();te("click",Ms,()=>ge(u(s).entry)),T(hn,Ms)};$(Qn,hn=>{u(_)&&hn(Wn)})}var Yn=x(Qn,4);te("click",wi,()=>Yt(u(s).entry.path)),te("click",ki,()=>ii(u(s).entry)),te("click",Ki,()=>K(u(s).entry)),te("click",Yn,()=>A(u(s).entry)),T(Li,Oi)};$(Mt,Li=>{u(s).entry.type==="dir"?Li(It):Li(Ti,-1)})}G(()=>qe=Do(ae,"",qe,{left:`${u(s).x??""}px`,top:`${u(s).y??""}px`})),te("click",we,yi),te("contextmenu",we,Li=>{Li.preventDefault(),yi()}),T(H,oe)};$(Bt,H=>{u(s)&&H(fe)})}var $e=x(Bt,2);{var ft=H=>{var oe=TK();let we;G(()=>we=Do(oe,"",we,{left:`${u(At).x??""}px`,top:`${u(At).y-4}px`})),T(H,oe)};$($e,H=>{u(At)&&H(ft)})}var Tt=x($e,2),Ye=C(Tt);let ci;{const H=(we,ae=_y,qe)=>{let Mt=o1(()=>KF(qe==null?void 0:qe(),!1));var It=Fs(),Ti=yt(It);{var Li=wi=>{var ki=NK(),Ki=C(ki);let Qn;var Wn=C(Ki);let Yn;var hn=x(Wn,2);let Ms;var ta=C(hn),bs=x(hn,2);{var Qs=es=>{var Dr=zD();T(es,Dr)},cs=rt(()=>u(xn).has(ae().path));$(bs,es=>{u(cs)&&es(Qs)})}var Bs=x(bs,2),ds=C(Bs),zs=x(Bs,2),Ba=C(zs),ia=x(Ki,2);{var na=es=>{var Dr=MK();pi(Dr,21,()=>ae().children,Xo=>Xo.path,(Xo,Dl)=>{H(Xo,()=>u(Dl),()=>ae().disabled||u(Mt))}),T(es,Dr)};$(ia,es=>{u(i)[ae().path]&&ae().children&&es(na)})}G(()=>{Qn=qt(Ki,1,"dir-row svelte-1pyfjii",null,Qn,{"dir-selected":u(n)===ae().path,"drag-target":u(a)===ae().path}),On(Ki,"aria-selected",u(n)===ae().path),Yn=qt(Wn,1,"chevron svelte-1pyfjii",null,Yn,{open:u(i)[ae().path]}),Ms=qt(hn,1,"dir-name svelte-1pyfjii",null,Ms,{lib:ae().lib}),q(ta,ae().name),gw(ds,ae().lib),gw(Ba,ae().disabled)}),rs("dragstart",Ki,es=>Pe(es,ae().path)),rs("dragover",Ki,es=>Te(es,ae().path)),rs("dragleave",Ki,Fe),rs("drop",Ki,es=>Ne(es,ae().path)),te("contextmenu",Ki,es=>Rt(es,ae())),te("click",Wn,()=>me(ae().path)),te("click",hn,()=>{k(n,ae().path,!0),u(i)[ae().path]=!0}),te("keydown",hn,es=>es.key==="Enter"&&k(n,ae().path,!0)),rs("mouseenter",Bs,ni),rs("mouseleave",Bs,Xt),te("change",ds,()=>Ie(ae().path,!ae().lib)),te("change",Ba,()=>De(ae().path,!ae().disabled)),T(wi,ki)},Oi=wi=>{const ki=rt(()=>u(Ft).has(ae().path)),Ki=rt(()=>u(xn).has(ae().path)),Qn=rt(()=>u(c).some(_n=>_n.path===ae().path&&_n.dirty)),Wn=rt(()=>(ae().name.split(".").pop()??"txt").toUpperCase()),Yn=rt(()=>ae().name.endsWith(".js"));var hn=HK();let Ms;var ta=C(hn),bs=C(ta);let Qs;var cs=C(bs);let Bs;var ds=C(cs),zs=x(cs,2),Ba=C(zs),ia=x(zs,2);{var na=_n=>{var eo=zD();T(_n,eo)};$(ia,_n=>{u(Ki)&&_n(na)})}var es=x(ia);{var Dr=_n=>{var eo=RK();T(_n,eo)};$(es,_n=>{u(Qn)&&_n(Dr)})}var Xo=x(es,2);{var Dl=_n=>{var eo=AK();T(_n,eo)};$(Xo,_n=>{u(ki)&&_n(Dl)})}var qg=x(bs,2);{var Im=_n=>{var eo=OK();let Ac;var Kg=C(eo);G(()=>{Ac=qt(eo,1,"dis-label svelte-1pyfjii",null,Ac,{"dis-locked":u(Mt)}),On(eo,"title",u(Mt)?"Disabled by parent directory":"Disable — this script will not be executed"),gw(Kg,ae().disabled),Kg.disabled=u(Mt)}),te("change",Kg,()=>De(ae().path,!ae().disabled)),T(_n,eo)},Jy=_n=>{var eo=FK();T(_n,eo)};$(qg,_n=>{u(Yn)?_n(Im):_n(Jy,-1)})}G((_n,eo,Ac)=>{Ms=qt(hn,1,"tree-file svelte-1pyfjii",null,Ms,_n),Qs=qt(bs,1,"svelte-1pyfjii",null,Qs,{lib:ae().lib,dis:ae().disabled,err:u(ki)}),Bs=qt(cs,1,`badge badge-${eo??""}`,"svelte-1pyfjii",Bs,{"badge-shelib":ae().lib}),q(ds,Ac),q(Ba,ae().name)},[()=>({active:u(c).some(_n=>_n.path===ae().path),"active-tab":ae().path===u(h)}),()=>u(Wn).toLowerCase(),()=>Ue(u(Wn))]),rs("dragstart",hn,_n=>Pe(_n,ae().path)),te("contextmenu",hn,_n=>Rt(_n,ae())),te("click",bs,()=>Yt(ae().path)),T(wi,hn)};$(Ti,wi=>{ae().type==="dir"?wi(Li):wi(Oi,-1)})}T(we,It)};var Jt=C(Ye),$n=C(Jt),on=x($n,2),oi=x(on,2),Gt=x(Jt,2);{var mn=we=>{var ae=WK(),qe=C(ae);G(()=>q(qe,u(f))),T(we,ae)};$(Gt,we=>{u(f)&&we(mn)})}var ri=x(Gt,2),rn=C(ri);let oe;var an=x(rn,2);pi(an,17,()=>u(t),we=>we.path,(we,ae)=>{H(we,()=>u(ae))});var Ts=x(ri,2);{var Zo=we=>{var ae=$K();let qe;var Mt=C(ae),It=x(Mt,2),Ti=C(It),Li=C(Ti),Oi=x(Ti,2),wi=x(It,2),ki=C(wi);{var Ki=Yn=>{var hn=BK();T(Yn,hn)},Qn=Yn=>{var hn=zK();T(Yn,hn)},Wn=Yn=>{var hn=UK(),Ms=yt(hn);pi(Ms,17,()=>u(P),Qs=>Qs.hash,(Qs,cs)=>{var Bs=VK(),ds=C(Bs),zs=C(ds),Ba=x(ds,2),ia=C(Ba);G((na,es)=>{q(zs,u(cs).subject),q(ia,`${na??""} · ${es??""}`)},[()=>u(cs).hash.slice(0,7),()=>Q(u(cs).date)]),te("click",Bs,()=>Je(u(cs))),T(Qs,Bs)});var ta=x(Ms,2);{var bs=Qs=>{var cs=jK(),Bs=C(cs);G(()=>{cs.disabled=u(N),q(Bs,u(N)?"Loading…":"Load more")}),te("click",cs,ot),T(Qs,cs)};$(ta,Qs=>{u(P).length>=u(V)&&Qs(bs)})}T(Yn,hn)};$(ki,Yn=>{u(N)&&u(P).length===0?Yn(Ki):u(P).length===0?Yn(Qn,1):Yn(Wn,-1)})}G(()=>{qe=Do(ae,"",qe,{height:`${u(Cn)??""}px`}),On(Ti,"title",u(D).path),q(Li,`History: ${u(D).name??""}`)}),te("mousedown",Mt,lt),te("click",Oi,Lt),T(we,ae)};$(Ts,we=>{u(D)&&we(Zo)})}G(()=>oe=qt(rn,1,"tree-root-drop svelte-1pyfjii",null,oe,{"drag-target":u(a)===""})),te("click",$n,ei),te("click",on,Ut),te("click",oi,j),rs("dragover",rn,we=>Te(we,"")),rs("dragleave",rn,Fe),rs("drop",rn,we=>Ne(we,""))}var Cr=x(Ye,2),Fa=x(Cr,2),xr=C(Fa);{var ea=H=>{var oe=GK();pi(oe,21,()=>u(c),we=>we.path,(we,ae)=>{var qe=KK();let Mt;var It=C(qe),Ti=C(It),Li=x(It,2);{var Oi=ki=>{var Ki=qK();T(ki,Ki)};$(Li,ki=>{u(ae).dirty&&ki(Oi)})}var wi=x(Li,2);G(ki=>{Mt=qt(qe,1,"tab svelte-1pyfjii",null,Mt,{active:u(ae).path===u(h)}),q(Ti,ki)},[()=>u(ae).path.split("/").pop()]),te("click",qe,()=>ht(u(ae).path)),te("keydown",qe,ki=>ki.key==="Enter"&&ht(u(ae).path)),te("click",wi,ki=>{ki.stopPropagation(),he(u(ae).path)}),T(we,qe)}),T(H,oe)};$(xr,H=>{u(c).length>0&&H(ea)})}var kl=x(xr,2),Ha=C(kl),Wi=C(Ha),Ws=x(Ha,2);{var ss=H=>{var oe=JK(),we=C(oe),ae=C(we),qe=x(we,2);{var Mt=wi=>{var ki=ZK(),Ki=C(ki);G(()=>{On(ki,"title",`${u(_).changes.length??""} uncommitted change(s)`),q(Ki,`✎${u(_).changes.length??""}`)}),T(wi,ki)};$(qe,wi=>{u(_).changes.length>0&&wi(Mt)})}var It=x(qe,2);{var Ti=wi=>{var ki=XK(),Ki=C(ki);G(()=>{On(ki,"title",`${u(_).ahead??""} commit(s) ahead of upstream`),q(Ki,`↑${u(_).ahead??""}`)}),T(wi,ki)};$(It,wi=>{u(_).ahead>0&&wi(Ti)})}var Li=x(It,2);{var Oi=wi=>{var ki=YK(),Ki=C(ki);G(()=>{On(ki,"title",`${u(_).behind??""} commit(s) behind upstream`),q(Ki,`↓${u(_).behind??""}`)}),T(wi,ki)};$(Li,wi=>{u(_).behind>0&&wi(Oi)})}G(()=>{On(we,"title",`Branch: ${u(_).branch??""}`),q(ae,`⎇ ${u(_).branch??""}`)}),T(H,oe)};$(Ws,H=>{u(_)&&H(ss)})}var ks=x(Ws,2),Tc=C(ks),Il=C(Tc),Mc=C(Il),Lr=x(Il,2),Wa=x(Tc,2);{var Ky=H=>{var oe=QK(),we=yt(oe),ae=x(we,2),qe=C(ae),Mt=x(qe,2),It=x(Mt,2);G(()=>It.disabled=!u(_)),te("click",we,()=>k(p,!1)),te("click",qe,()=>{k(p,!1),jt()}),te("click",Mt,()=>{k(p,!1),si()}),te("click",It,hi),T(H,oe)};$(Wa,H=>{u(p)&&H(Ky)})}var vm=x(ks,2);{var Og=H=>{var oe=eG();te("click",oe,Qe),T(H,oe)};$(vm,H=>{u(h)&&H(Og)})}var Fg=x(vm,2);let Ho;var Gy=x(kl,2),Hg=C(Gy),kr=C(Hg),Wg=C(kr);ys(Wg,H=>Wt=H,()=>Wt);var Bg=x(Wg,2);{var zg=H=>{var oe=tG();T(H,oe)};$(Bg,H=>{u(h)||H(zg)})}var bm=x(Bg,2);{var ym=H=>{var oe=oG(),we=C(oe),ae=C(we),qe=x(C(ae)),Mt=C(qe),It=x(ae,2),Ti=C(It),Li=C(Ti),Oi=C(Li),wi=C(Oi),ki=x(Oi,2),Ki=x(Li,2);{var Qn=hn=>{var Ms=sG(),ta=yt(Ms),bs=x(ta,2),Qs=C(bs);{var cs=ds=>{var zs=iG();te("click",zs,()=>{k(tn,!1),k(Pn,!0),bt()}),T(ds,zs)},Bs=ds=>{var zs=nG();te("click",zs,()=>{k(tn,!1),k(Pn,!1)}),T(ds,zs)};$(Qs,ds=>{u(Pn)?ds(Bs,-1):ds(cs)})}te("click",ta,()=>k(tn,!1)),T(hn,Ms)};$(Ki,hn=>{u(tn)&&hn(Qn)})}var Wn=x(Ti,2),Yn=x(we,2);ys(Yn,hn=>k(Sn,hn),()=>u(Sn)),G(hn=>{q(Mt,hn),q(wi,u(Pn)?"Auto-accept ✓":"Accept")},[()=>{var hn;return(hn=u(h))==null?void 0:hn.split("/").pop()}]),te("click",Oi,bt),te("click",ki,()=>k(tn,!u(tn))),te("click",Wn,Xe),T(H,oe)};$(bm,H=>{u(Di)!==null&&H(ym)})}var wm=x(bm,2);{var Zy=H=>{var oe=lG(),we=C(oe),ae=C(we),qe=x(C(ae)),Mt=C(qe),It=x(qe,2),Ti=C(It),Li=x(ae,2),Oi=C(Li),wi=x(we,2);{var ki=Qn=>{var Wn=rG();T(Qn,Wn)},Ki=Qn=>{var Wn=aG();ys(Wn,Yn=>k(W,Yn),()=>u(W)),T(Qn,Wn)};$(wi,Qn=>{u(ve)?Qn(ki):Qn(Ki,-1)})}G(Qn=>{var Wn;q(Mt,Qn),q(Ti,(Wn=u(D))==null?void 0:Wn.name)},[()=>u(ze).slice(0,7)]),te("click",Oi,kt),T(H,oe)};$(wm,H=>{u(Ce)&&H(Zy)})}var Vg=x(kr,2);let Mh,Sm;var jg=C(Vg);{var Cm=H=>{var oe=cG();te("mousedown",oe,Ge),T(H,oe)};$(jg,H=>{u(v)&&H(Cm)})}var Nc=x(jg,2),Ir=C(Nc),xm=C(Ir),Rc=x(xm);{var wo=H=>{var oe=dG(),we=C(oe);G(ae=>q(we,`— ${ae??""}`),[()=>u(h).split("/").pop()]),T(H,oe)};$(Rc,H=>{u(h)&&H(wo)})}var Lm=x(Ir,2);{var km=H=>{var oe=uG(),we=yt(oe);pi(we,21,()=>Ze,zn,(Ti,Li)=>{var Oi=hG(),wi=C(Oi),ki={};G(()=>{q(wi,u(Li)),ki!==(ki=u(Li))&&(Oi.value=(Oi.__value=u(Li))??"")}),T(Ti,Oi)});var ae=x(we,2),qe=x(ae,2),Mt=C(qe),It=x(qe,2);ba(we,()=>u(zt),Ti=>k(zt,Ti)),Ri(ae,()=>u(ti),Ti=>k(ti,Ti)),As(Mt,()=>u(Ae),Ti=>k(Ae,Ti)),te("click",It,je),T(H,oe)};$(Lm,H=>{u(v)&&H(km)})}var Xy=x(Nc,2);{var Ug=H=>{var oe=pG(),we=C(oe);pi(we,17,()=>{var Mt;return(((Mt=u(Ee))==null?void 0:Mt.logEntries)??[]).filter(st)},Mt=>Mt.ts+Mt.msg,(Mt,It)=>{var Ti=gG(),Li=C(Ti),Oi=C(Li),wi=x(Li,2),ki=C(wi),Ki=x(wi,2),Qn=C(Ki);G((Wn,Yn)=>{qt(Ti,1,`log-line ${u(It).level??""}`,"svelte-1pyfjii"),q(Oi,Wn),q(ki,Yn),q(Qn,u(It).msg)},[()=>St(u(It).ts),()=>u(It).level.toUpperCase()]),T(Mt,Ti)});var ae=x(we,2);{var qe=Mt=>{var It=fG();T(Mt,It)};$(ae,Mt=>{var It;(((It=u(Ee))==null?void 0:It.logEntries.length)??0)===0&&Mt(qe)})}ys(oe,Mt=>k(nt,Mt),()=>u(nt)),T(H,oe)};$(Xy,H=>{u(v)&&H(Ug)})}var $g=x(Hg,2);{var Yy=H=>{var oe=mG(),we=yt(oe),ae=x(we,2);let qe;var Mt=C(ae);gK(Mt,{get currentScript(){return u(Gn)},onApply:ue,onCreateFile:ut,get extraFiles(){return u(ai)},set extraFiles(It){k(ai,It,!0)}}),G(()=>qe=Do(ae,"",qe,{width:`${u(Un)??""}px`})),te("mousedown",we,it),T(H,oe)};$($g,H=>{u(en)&&H(Yy)})}G(()=>{var H;ci=Do(Ye,"",ci,{width:`${u(Tn)??""}px`}),q(Wi,u(h)??"No file selected"),Il.disabled=!((H=u(Ee))!=null&&H.dirty)||u(g),q(Mc,u(g)?"Saving…":"Save"),Lr.disabled=!u(h),Ho=qt(Fg,1,"ai-toggle svelte-1pyfjii",null,Ho,{"ai-open":u(en)}),On(Fg,"title",u(en)?"Close AI assistant":"Open AI assistant"),Mh=qt(Vg,1,"log-panel svelte-1pyfjii",null,Mh,{collapsed:!u(v)}),Sm=Do(Vg,"",Sm,{height:u(v)?`${u(Mn)}px`:"26px"}),q(xm,`${u(v)?"▾":"▸"} Script Log `)}),te("mousedown",Cr,Le),te("click",Il,jt),te("click",Lr,()=>k(p,!u(p))),te("click",Fg,()=>k(en,!u(en))),te("click",Ir,xe),T(o,ce),Fo()}wr(["click","contextmenu","keydown","change","mousedown"]);const zR="she-theme";function bG(){return localStorage.getItem(zR)??"dark"}function yG(o){localStorage.setItem(zR,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o)}var kf={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 wG=kf.exports,VD;function SG(){return VD||(VD=1,(function(o,e){(function(t,i){i(e)})(wG,(function(t){var i="1.9.4";function n(l){var d,m,b,I;for(m=1,b=arguments.length;m<b;m++){I=arguments[m];for(d in I)l[d]=I[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,I,E,U;return U=function(){b=!1,I&&(E.apply(m,I),I=!1)},E=function(){b?I=arguments:(l.apply(m,arguments),setTimeout(U,d),b=!0)},E}function g(l,d,m){var b=d[1],I=d[0],E=b-I;return l===b&&m?l:((l-I)%E+E)%E+I}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 I in l)b.push(encodeURIComponent(m?I.toUpperCase():I)+"="+encodeURIComponent(l[I]));return(!d||d.indexOf("?")===-1?"?":"&")+b.join("&")}var D=/\{ *([\w_ -]+) *\}/g;function P(l,d){return l.replace(D,function(m,b){var I=d[b];if(I===void 0)throw new Error("No value provided for variable "+m);return typeof I=="function"&&(I=I(d)),I})}var N=Array.isArray||function(l){return Object.prototype.toString.call(l)==="[object Array]"};function V(l,d){for(var m=0;m<l.length;m++)if(l[m]===d)return m;return-1}var W="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function J(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var X=0;function pe(l){var d=+new Date,m=Math.max(0,16-(d-X));return X=d+m,window.setTimeout(l,m)}var Ce=window.requestAnimationFrame||J("RequestAnimationFrame")||pe,ze=window.cancelAnimationFrame||J("CancelAnimationFrame")||J("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function ve(l,d,m){if(m&&Ce===pe)l.call(d);else return Ce.call(window,r(l,d))}function nt(l){l&&ze.call(window,l)}var Ft={__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:V,emptyImageUrl:W,requestFn:Ce,cancelFn:ze,requestAnimFrame:ve,cancelAnimFrame:nt};function wt(){}wt.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 I in this)Object.prototype.hasOwnProperty.call(this,I)&&I!=="prototype"&&I!=="__super__"&&(d[I]=this[I]);return l.statics&&n(d,l.statics),l.includes&&(ai(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},wt.include=function(l){var d=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=d,this.mergeOptions(l.options)),this},wt.mergeOptions=function(l){return n(this.prototype.options,l),this},wt.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 ai(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 zt={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 I=0,E=l.length;I<E;I++)this._on(l[I],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 I=arguments.length===1,E=0,U=l.length;E<U;E++)I?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 I={fn:d,ctx:m};b&&(I.once=!0),this._events=this._events||{},this._events[l]=this._events[l]||[],this._events[l].push(I)}},_off:function(l,d,m){var b,I,E;if(this._events&&(b=this._events[l],!!b)){if(arguments.length===1){if(this._firingCount)for(I=0,E=b.length;I<E;I++)b[I].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 ie=b[U];this._firingCount&&(ie.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 I=this._events[l];if(I){this._firingCount=this._firingCount+1||1;for(var E=0,U=I.length;E<U;E++){var ie=I[E],de=ie.fn;ie.once&&this.off(l,de,ie.ctx),de.call(ie.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 I=d;typeof d!="function"&&(b=!!d,I=void 0,m=void 0);var E=this._events&&this._events[l];if(E&&E.length&&this._listens(l,I,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 I=0,E=b.length;I<E;I++)if(b[I].fn===d&&b[I].ctx===m)return I;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 I=0,E=l.length;I<E;I++)this._on(l[I],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)}};zt.addEventListener=zt.on,zt.removeEventListener=zt.clearAllEventListeners=zt.off,zt.addOneTimeEventListener=zt.once,zt.fireEvent=zt.fire,zt.hasEventListeners=zt.listens;var ti=wt.extend(zt);function Ae(l,d,m){this.x=m?Math.round(l):l,this.y=m?Math.round(d):d}var Ze=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};Ae.prototype={clone:function(){return new Ae(this.x,this.y)},add:function(l){return this.clone()._add(Oe(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(Oe(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 Ae(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new Ae(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=Ze(this.x),this.y=Ze(this.y),this},distanceTo:function(l){l=Oe(l);var d=l.x-this.x,m=l.y-this.y;return Math.sqrt(d*d+m*m)},equals:function(l){return l=Oe(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=Oe(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 Oe(l,d,m){return l instanceof Ae?l:N(l)?new Ae(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new Ae(l.x,l.y):new Ae(l,d,m)}function st(l,d){if(l)for(var m=d?[l,d]:l,b=0,I=m.length;b<I;b++)this.extend(m[b])}st.prototype={extend:function(l){var d,m;if(!l)return this;if(l instanceof Ae||typeof l[0]=="number"||"x"in l)d=m=Oe(l);else if(l=At(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 Oe((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return Oe(this.min.x,this.max.y)},getTopRight:function(){return Oe(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 Ae?l=Oe(l):l=At(l),l instanceof st?(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=At(l);var d=this.min,m=this.max,b=l.min,I=l.max,E=I.x>=d.x&&b.x<=m.x,U=I.y>=d.y&&b.y<=m.y;return E&&U},overlaps:function(l){l=At(l);var d=this.min,m=this.max,b=l.min,I=l.max,E=I.x>d.x&&b.x<m.x,U=I.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,I=Math.abs(d.y-m.y)*l;return At(Oe(d.x-b,d.y-I),Oe(m.x+b,m.y+I))},equals:function(l){return l?(l=At(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function At(l,d){return!l||l instanceof st?l:new st(l,d)}function ni(l,d){if(l)for(var m=d?[l,d]:l,b=0,I=m.length;b<I;b++)this.extend(m[b])}ni.prototype={extend:function(l){var d=this._southWest,m=this._northEast,b,I;if(l instanceof Wt)b=l,I=l;else if(l instanceof ni){if(b=l._southWest,I=l._northEast,!b||!I)return this}else return l?this.extend(_t(l)||Xt(l)):this;return!d&&!m?(this._southWest=new Wt(b.lat,b.lng),this._northEast=new Wt(I.lat,I.lng)):(d.lat=Math.min(b.lat,d.lat),d.lng=Math.min(b.lng,d.lng),m.lat=Math.max(I.lat,m.lat),m.lng=Math.max(I.lng,m.lng)),this},pad:function(l){var d=this._southWest,m=this._northEast,b=Math.abs(d.lat-m.lat)*l,I=Math.abs(d.lng-m.lng)*l;return new ni(new Wt(d.lat-b,d.lng-I),new Wt(m.lat+b,m.lng+I))},getCenter:function(){return new Wt((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new Wt(this.getNorth(),this.getWest())},getSouthEast:function(){return new Wt(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(l){typeof l[0]=="number"||l instanceof Wt||"lat"in l?l=_t(l):l=Xt(l);var d=this._southWest,m=this._northEast,b,I;return l instanceof ni?(b=l.getSouthWest(),I=l.getNorthEast()):b=I=l,b.lat>=d.lat&&I.lat<=m.lat&&b.lng>=d.lng&&I.lng<=m.lng},intersects:function(l){l=Xt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),I=l.getNorthEast(),E=I.lat>=d.lat&&b.lat<=m.lat,U=I.lng>=d.lng&&b.lng<=m.lng;return E&&U},overlaps:function(l){l=Xt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),I=l.getNorthEast(),E=I.lat>d.lat&&b.lat<m.lat,U=I.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=Xt(l),this._southWest.equals(l.getSouthWest(),d)&&this._northEast.equals(l.getNorthEast(),d)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function Xt(l,d){return l instanceof ni?l:new ni(l,d)}function Wt(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)}Wt.prototype={equals:function(l,d){if(!l)return!1;l=_t(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 mi.distance(this,_t(l))},wrap:function(){return mi.wrapLatLng(this)},toBounds:function(l){var d=180*l/40075017,m=d/Math.cos(Math.PI/180*this.lat);return Xt([this.lat-d,this.lng-m],[this.lat+d,this.lng+m])},clone:function(){return new Wt(this.lat,this.lng,this.alt)}};function _t(l,d,m){return l instanceof Wt?l:N(l)&&typeof l[0]!="object"?l.length===3?new Wt(l[0],l[1],l[2]):l.length===2?new Wt(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new Wt(l.lat,"lng"in l?l.lng:l.lon,l.alt):d===void 0?null:new Wt(l,d,m)}var xi={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),I=this.transformation.transform(d.max,m);return new st(b,I)},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 Wt(m,d,b)},wrapLatLngBounds:function(l){var d=l.getCenter(),m=this.wrapLatLng(d),b=d.lat-m.lat,I=d.lng-m.lng;if(b===0&&I===0)return l;var E=l.getSouthWest(),U=l.getNorthEast(),ie=new Wt(E.lat-b,E.lng-I),de=new Wt(U.lat-b,U.lng-I);return new ni(ie,de)}},mi=n({},xi,{wrapLng:[-180,180],R:6371e3,distance:function(l,d){var m=Math.PI/180,b=l.lat*m,I=d.lat*m,E=Math.sin((d.lat-l.lat)*m/2),U=Math.sin((d.lng-l.lng)*m/2),ie=E*E+Math.cos(b)*Math.cos(I)*U*U,de=2*Math.atan2(Math.sqrt(ie),Math.sqrt(1-ie));return this.R*de}}),En=6378137,qi={R:En,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),I=Math.sin(b*d);return new Ae(this.R*l.lng*d,this.R*Math.log((1+I)/(1-I))/2)},unproject:function(l){var d=180/Math.PI;return new Wt((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*d,l.x*d/this.R)},bounds:(function(){var l=En*Math.PI;return new st([-l,-l],[l,l])})()};function Hn(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}Hn.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 Ae((l.x/d-this._b)/this._a,(l.y/d-this._d)/this._c)}};function en(l,d,m,b){return new Hn(l,d,m,b)}var Di=n({},mi,{code:"EPSG:3857",projection:qi,transformation:(function(){var l=.5/(Math.PI*qi.R);return en(l,.5,-l,.5)})()}),Pn=n({},Di,{code:"EPSG:900913"});function tn(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function Sn(l,d){var m="",b,I,E,U,ie,de;for(b=0,E=l.length;b<E;b++){for(ie=l[b],I=0,U=ie.length;I<U;I++)de=ie[I],m+=(I?"L":"M")+de.x+" "+de.y;m+=d?he.svg?"z":"x":""}return m||"M0 0"}var Zi=document.documentElement.style,Fi="ActiveXObject"in window,cn=Fi&&!document.addEventListener,Tn="msLaunchUri"in navigator&&!("documentMode"in document),Mn=ht("webkit"),Un=ht("android"),Cn=ht("android 2")||ht("android 3"),nn=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),sn=Un&&ht("Google")&&nn<537&&!("AudioNode"in window),Ke=!!window.opera,Ot=!Tn&&ht("chrome"),li=ht("gecko")&&!Mn&&!Ke&&!Fi,Ei=!Ot&&ht("safari"),Ci=ht("phantom"),fn="OTransition"in Zi,pn=navigator.platform.indexOf("Win")===0,Nn=Fi&&"transition"in Zi,Rn="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Cn,Xn="MozPerspective"in Zi,Gn=!window.L_DISABLE_3D&&(Nn||Rn||Xn)&&!fn&&!Ci,xn=typeof orientation<"u"||ht("mobile"),Re=xn&&Mn,Z=xn&&Rn,Ee=!window.PointerEvent&&window.MSPointerEvent,vt=!!(window.PointerEvent||Ee),Ct="ontouchstart"in window||!!window.TouchEvent,$t=!window.L_NO_TOUCH&&(Ct||vt),O=xn&&Ke,se=xn&&li,be=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,j=(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})(),me=(function(){return!!document.createElement("canvas").getContext})(),Ue=!!(document.createElementNS&&tn("svg").createSVGRect),Ie=!!Ue&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),De=!Ue&&(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}})(),tt=navigator.platform.indexOf("Mac")===0,Yt=navigator.platform.indexOf("Linux")===0;function ht(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var he={ie:Fi,ielt9:cn,edge:Tn,webkit:Mn,android:Un,android23:Cn,androidStock:sn,opera:Ke,chrome:Ot,gecko:li,safari:Ei,phantom:Ci,opera12:fn,win:pn,ie3d:Nn,webkit3d:Rn,gecko3d:Xn,any3d:Gn,mobile:xn,mobileWebkit:Re,mobileWebkit3d:Z,msPointer:Ee,pointer:vt,touch:$t,touchNative:Ct,mobileOpera:O,mobileGecko:se,retina:be,passiveEvents:j,canvas:me,svg:Ue,vml:De,inlineSvg:Ie,mac:tt,linux:Yt},at=he.msPointer?"MSPointerDown":"pointerdown",Vt=he.msPointer?"MSPointerMove":"pointermove",jt=he.msPointer?"MSPointerUp":"pointerup",si=he.msPointer?"MSPointerCancel":"pointercancel",hi={touchstart:at,touchmove:Vt,touchend:jt,touchcancel:si},Q={touchstart:yi,touchmove:Rt,touchend:Rt,touchcancel:Rt},ge={},Ve=!1;function ot(l,d,m){return d==="touchstart"&&Ut(),Q[d]?(m=Q[d].bind(this,m),l.addEventListener(hi[d],m,!1),m):(console.warn("wrong event specified:",d),f)}function Lt(l,d,m){if(!hi[d]){console.warn("wrong event specified:",d);return}l.removeEventListener(hi[d],m,!1)}function Je(l){ge[l.pointerId]=l}function kt(l){ge[l.pointerId]&&(ge[l.pointerId]=l)}function ei(l){delete ge[l.pointerId]}function Ut(){Ve||(document.addEventListener(at,Je,!0),document.addEventListener(Vt,kt,!0),document.addEventListener(jt,ei,!0),document.addEventListener(si,ei,!0),Ve=!0)}function Rt(l,d){if(d.pointerType!==(d.MSPOINTER_TYPE_MOUSE||"mouse")){d.touches=[];for(var m in ge)d.touches.push(ge[m]);d.changedTouches=[d],l(d)}}function yi(l,d){d.MSPOINTER_TYPE_TOUCH&&d.pointerType===d.MSPOINTER_TYPE_TOUCH&&an(d),Rt(l,d)}function dn(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 Hi=200;function ii(l,d){l.addEventListener("dblclick",d);var m=0,b;function I(E){if(E.detail!==1){b=E.detail;return}if(!(E.pointerType==="mouse"||E.sourceCapabilities&&!E.sourceCapabilities.firesTouchEvents)){var U=Zo(E);if(!(U.some(function(de){return de instanceof HTMLLabelElement&&de.attributes.for})&&!U.some(function(de){return de instanceof HTMLInputElement||de instanceof HTMLSelectElement}))){var ie=Date.now();ie-m<=Hi?(b++,b===2&&d(dn(E))):b=1,m=ie}}}return l.addEventListener("click",I),{dblclick:d,simDblclick:I}}function ji(l,d){l.removeEventListener("dblclick",d.dblclick),l.removeEventListener("click",d.simDblclick)}var A=lt(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),K=lt(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Pe=K==="webkitTransition"||K==="OTransition"?K+"End":"transitionend";function Te(l){return typeof l=="string"?document.getElementById(l):l}function Fe(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 Ne(l,d,m){var b=document.createElement(l);return b.className=d||"",m&&m.appendChild(b),b}function re(l){var d=l.parentNode;d&&d.removeChild(l)}function Qe(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function je(l){var d=l.parentNode;d&&d.lastChild!==l&&d.appendChild(l)}function xe(l){var d=l.parentNode;d&&d.firstChild!==l&&d.insertBefore(l,d.firstChild)}function St(l,d){if(l.classList!==void 0)return l.classList.contains(d);var m=Le(l);return m.length>0&&new RegExp("(^|\\s)"+d+"(\\s|$)").test(m)}function Me(l,d){if(l.classList!==void 0)for(var m=_(d),b=0,I=m.length;b<I;b++)l.classList.add(m[b]);else if(!St(l,d)){var E=Le(l);Y(l,(E?E+" ":"")+d)}}function F(l,d){l.classList!==void 0?l.classList.remove(d):Y(l,v((" "+Le(l)+" ").replace(" "+d+" "," ")))}function Y(l,d){l.className.baseVal===void 0?l.className=d:l.className.baseVal=d}function Le(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function Ge(l,d){"opacity"in l.style?l.style.opacity=d:"filter"in l.style&&it(l,d)}function it(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 lt(l){for(var d=document.documentElement.style,m=0;m<l.length;m++)if(l[m]in d)return l[m];return!1}function gt(l,d,m){var b=d||new Ae(0,0);l.style[A]=(he.ie3d?"translate("+b.x+"px,"+b.y+"px)":"translate3d("+b.x+"px,"+b.y+"px,0)")+(m?" scale("+m+")":"")}function ye(l,d){l._leaflet_pos=d,he.any3d?gt(l,d):(l.style.left=d.x+"px",l.style.top=d.y+"px")}function Pt(l){return l._leaflet_pos||new Ae(0,0)}var ut,ue,bt;if("onselectstart"in document)ut=function(){Ye(window,"selectstart",an)},ue=function(){Jt(window,"selectstart",an)};else{var Xe=lt(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);ut=function(){if(Xe){var l=document.documentElement.style;bt=l[Xe],l[Xe]="none"}},ue=function(){Xe&&(document.documentElement.style[Xe]=bt,bt=void 0)}}function ke(){Ye(window,"dragstart",an)}function ce(){Jt(window,"dragstart",an)}var _e,et;function Bt(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(fe(),_e=l,et=l.style.outlineStyle,l.style.outlineStyle="none",Ye(window,"keydown",fe))}function fe(){_e&&(_e.style.outlineStyle=et,_e=void 0,et=void 0,Jt(window,"keydown",fe))}function $e(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function ft(l){var d=l.getBoundingClientRect();return{x:d.width/l.offsetWidth||1,y:d.height/l.offsetHeight||1,boundingClientRect:d}}var Tt={__proto__:null,TRANSFORM:A,TRANSITION:K,TRANSITION_END:Pe,get:Te,getStyle:Fe,create:Ne,remove:re,empty:Qe,toFront:je,toBack:xe,hasClass:St,addClass:Me,removeClass:F,setClass:Y,getClass:Le,setOpacity:Ge,testProp:lt,setTransform:gt,setPosition:ye,getPosition:Pt,get disableTextSelection(){return ut},get enableTextSelection(){return ue},disableImageDrag:ke,enableImageDrag:ce,preventOutline:Bt,restoreOutline:fe,getSizedParentNode:$e,getScale:ft};function Ye(l,d,m,b){if(d&&typeof d=="object")for(var I in d)oi(l,I,d[I],m);else{d=_(d);for(var E=0,U=d.length;E<U;E++)oi(l,d[E],m,b)}return this}var ci="_leaflet_events";function Jt(l,d,m,b){if(arguments.length===1)$n(l),delete l[ci];else if(d&&typeof d=="object")for(var I in d)Gt(l,I,d[I],m);else if(d=_(d),arguments.length===2)$n(l,function(ie){return V(d,ie)!==-1});else for(var E=0,U=d.length;E<U;E++)Gt(l,d[E],m,b);return this}function $n(l,d){for(var m in l[ci]){var b=m.split(/\d/)[0];(!d||d(b))&&Gt(l,b,null,null,m)}}var on={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function oi(l,d,m,b){var I=d+c(m)+(b?"_"+c(b):"");if(l[ci]&&l[ci][I])return this;var E=function(ie){return m.call(b||l,ie||window.event)},U=E;!he.touchNative&&he.pointer&&d.indexOf("touch")===0?E=ot(l,d,E):he.touch&&d==="dblclick"?E=ii(l,E):"addEventListener"in l?d==="touchstart"||d==="touchmove"||d==="wheel"||d==="mousewheel"?l.addEventListener(on[d]||d,E,he.passiveEvents?{passive:!1}:!1):d==="mouseenter"||d==="mouseleave"?(E=function(ie){ie=ie||window.event,ea(l,ie)&&U(ie)},l.addEventListener(on[d],E,!1)):l.addEventListener(d,U,!1):l.attachEvent("on"+d,E),l[ci]=l[ci]||{},l[ci][I]=E}function Gt(l,d,m,b,I){I=I||d+c(m)+(b?"_"+c(b):"");var E=l[ci]&&l[ci][I];if(!E)return this;!he.touchNative&&he.pointer&&d.indexOf("touch")===0?Lt(l,d,E):he.touch&&d==="dblclick"?ji(l,E):"removeEventListener"in l?l.removeEventListener(on[d]||d,E,!1):l.detachEvent("on"+d,E),l[ci][I]=null}function mn(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function ri(l){return oi(l,"wheel",mn),this}function rn(l){return Ye(l,"mousedown touchstart dblclick contextmenu",mn),l._leaflet_disable_click=!0,this}function an(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function Ts(l){return an(l),mn(l),this}function Zo(l){if(l.composedPath)return l.composedPath();for(var d=[],m=l.target;m;)d.push(m),m=m.parentNode;return d}function Cr(l,d){if(!d)return new Ae(l.clientX,l.clientY);var m=ft(d),b=m.boundingClientRect;return new Ae((l.clientX-b.left)/m.x-d.clientLeft,(l.clientY-b.top)/m.y-d.clientTop)}var Fa=he.linux&&he.chrome?window.devicePixelRatio:he.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function xr(l){return he.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/Fa: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 ea(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 kl={__proto__:null,on:Ye,off:Jt,stopPropagation:mn,disableScrollPropagation:ri,disableClickPropagation:rn,preventDefault:an,stop:Ts,getPropagationPath:Zo,getMousePosition:Cr,getWheelDelta:xr,isExternalTarget:ea,addListener:Ye,removeListener:Jt},Ha=ti.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=Pt(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=ve(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(),ye(this._el,m),this.fire("step")},_complete:function(){nt(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),Wi=ti.extend({options:{crs:Di,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(_t(d.center),d.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=K&&he.any3d&&!he.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Ye(this._proxy,Pe,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(_t(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||(he.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,d)},zoomOut:function(l,d){return l=l||(he.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,d)},setZoomAround:function(l,d,m){var b=this.getZoomScale(d),I=this.getSize().divideBy(2),E=l instanceof Ae?l:this.latLngToContainerPoint(l),U=E.subtract(I).multiplyBy(1-1/b),ie=this.containerPointToLatLng(I.add(U));return this.setView(ie,d,{zoom:m})},_getBoundsCenterZoom:function(l,d){d=d||{},l=l.getBounds?l.getBounds():Xt(l);var m=Oe(d.paddingTopLeft||d.padding||[0,0]),b=Oe(d.paddingBottomRight||d.padding||[0,0]),I=this.getBoundsZoom(l,!1,m.add(b));if(I=typeof d.maxZoom=="number"?Math.min(d.maxZoom,I):I,I===1/0)return{center:l.getCenter(),zoom:I};var E=b.subtract(m).divideBy(2),U=this.project(l.getSouthWest(),I),ie=this.project(l.getNorthEast(),I),de=this.unproject(U.add(ie).divideBy(2).add(E),I);return{center:de,zoom:I}},fitBounds:function(l,d){if(l=Xt(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=Oe(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 Ha,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),d.noMoveStart||this.fire("movestart"),d.animate!==!1){Me(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||!he.any3d)return this.setView(l,d,m);this._stop();var b=this.project(this.getCenter()),I=this.project(l),E=this.getSize(),U=this._zoom;l=_t(l),d=d===void 0?U:d;var ie=Math.max(E.x,E.y),de=ie*this.getZoomScale(U,d),We=I.distanceTo(b)||1,Ht=1.42,Si=Ht*Ht;function Gi(Cs){var Tm=Cs?-1:1,iA=Cs?de:ie,nA=de*de-ie*ie+Tm*Si*Si*We*We,sA=2*iA*Si*We,Qy=nA/sA,WL=Math.sqrt(Qy*Qy+1)-Qy,oA=WL<1e-9?-18:Math.log(WL);return oA}function co(Cs){return(Math.exp(Cs)-Math.exp(-Cs))/2}function Ns(Cs){return(Math.exp(Cs)+Math.exp(-Cs))/2}function Yo(Cs){return co(Cs)/Ns(Cs)}var So=Gi(0);function Rh(Cs){return ie*(Ns(So)/Ns(So+Ht*Cs))}function JR(Cs){return ie*(Ns(So)*Yo(So+Ht*Cs)-co(So))/Si}function QR(Cs){return 1-Math.pow(1-Cs,1.5)}var eA=Date.now(),FL=(Gi(1)-So)/Ht,tA=m.duration?1e3*m.duration:1e3*FL*.8;function HL(){var Cs=(Date.now()-eA)/tA,Tm=QR(Cs)*FL;Cs<=1?(this._flyToFrame=ve(HL,this),this._move(this.unproject(b.add(I.subtract(b).multiplyBy(JR(Tm)/We)),U),this.getScaleZoom(ie/Rh(Tm),U),{flyTo:!0})):this._move(l,d)._moveEnd(!0)}return this._moveStart(!0,m.noMoveStart),HL.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=Xt(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,Xt(l));return m.equals(b)||this.panTo(b,d),this._enforcingBounds=!1,this},panInside:function(l,d){d=d||{};var m=Oe(d.paddingTopLeft||d.padding||[0,0]),b=Oe(d.paddingBottomRight||d.padding||[0,0]),I=this.project(this.getCenter()),E=this.project(l),U=this.getPixelBounds(),ie=At([U.min.add(m),U.max.subtract(b)]),de=ie.getSize();if(!ie.contains(E)){this._enforcingBounds=!0;var We=E.subtract(ie.getCenter()),Ht=ie.extend(E).getSize().subtract(de);I.x+=We.x<0?-Ht.x:Ht.x,I.y+=We.y<0?-Ht.y:Ht.y,this.panTo(this.unproject(I),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(),I=m.divideBy(2).round(),E=b.subtract(I);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 Wt(d,m),I=b.toBounds(l.coords.accuracy*2),E=this._locateOptions;if(E.setView){var U=this.getBoundsZoom(I);this.setView(b,E.maxZoom?Math.min(U,E.maxZoom):U)}var ie={latlng:b,bounds:I,timestamp:l.timestamp};for(var de in l.coords)typeof l.coords[de]=="number"&&(ie[de]=l.coords[de]);this.fire("locationfound",ie)}},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(),re(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(nt(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)re(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=Ne("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 ni(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=Xt(l),m=Oe(m||[0,0]);var b=this.getZoom()||0,I=this.getMinZoom(),E=this.getMaxZoom(),U=l.getNorthWest(),ie=l.getSouthEast(),de=this.getSize().subtract(m),We=At(this.project(ie,b),this.project(U,b)).getSize(),Ht=he.any3d?this.options.zoomSnap:1,Si=de.x/We.x,Gi=de.y/We.y,co=d?Math.max(Si,Gi):Math.min(Si,Gi);return b=this.getScaleZoom(co,b),Ht&&(b=Math.round(b/(Ht/100))*(Ht/100),b=d?Math.ceil(b/Ht)*Ht:Math.floor(b/Ht)*Ht),Math.max(I,Math.min(E,b))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new Ae(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 st(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(_t(l),d)},unproject:function(l,d){return d=d===void 0?this._zoom:d,this.options.crs.pointToLatLng(Oe(l),d)},layerPointToLatLng:function(l){var d=Oe(l).add(this.getPixelOrigin());return this.unproject(d)},latLngToLayerPoint:function(l){var d=this.project(_t(l))._round();return d._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(_t(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(Xt(l))},distance:function(l,d){return this.options.crs.distance(_t(l),_t(d))},containerPointToLayerPoint:function(l){return Oe(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return Oe(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var d=this.containerPointToLayerPoint(Oe(l));return this.layerPointToLatLng(d)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(_t(l)))},mouseEventToContainerPoint:function(l){return Cr(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=Te(l);if(d){if(d._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Ye(d,"scroll",this._onScroll,this),this._containerId=c(d)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&he.any3d,Me(l,"leaflet-container"+(he.touch?" leaflet-touch":"")+(he.retina?" leaflet-retina":"")+(he.ielt9?" leaflet-oldie":"")+(he.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var d=Fe(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),ye(this._mapPane,new Ae(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Me(l.markerPane,"leaflet-zoom-hide"),Me(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,d,m){ye(this._mapPane,new Ae(0,0));var b=!this._loaded;this._loaded=!0,d=this._limitZoom(d),this.fire("viewprereset");var I=this._zoom!==d;this._moveStart(I,m)._move(l,d)._moveEnd(I),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 I=this._zoom!==d;return this._zoom=d,this._lastCenter=l,this._pixelOrigin=this._getNewPixelOrigin(l),b?m&&m.pinch&&this.fire("zoom",m):((I||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 nt(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){ye(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?Jt:Ye;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),he.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){nt(this._resizeRequest),this._resizeRequest=ve(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,I=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)&&(I&&!ea(E,l)||(m.push(b),I))||E===this._container)break;E=E.parentNode}return!m.length&&!U&&!I&&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"&&Bt(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 I=this._findEventTargets(l,d);if(m){for(var E=[],U=0;U<m.length;U++)m[U].listens(d,!0)&&E.push(m[U]);I=E.concat(I)}if(I.length){d==="contextmenu"&&an(l);var ie=I[0],de={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var We=ie.getLatLng&&(!ie._radius||ie._radius<=10);de.containerPoint=We?this.latLngToContainerPoint(ie.getLatLng()):this.mouseEventToContainerPoint(l),de.layerPoint=this.containerPointToLayerPoint(de.containerPoint),de.latlng=We?ie.getLatLng():this.layerPointToLatLng(de.layerPoint)}for(U=0;U<I.length;U++)if(I[U].fire(d,de,!0),de.originalEvent._stopped||I[U].options.bubblingMouseEvents===!1&&V(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 Pt(this._mapPane)||new Ae(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 At([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),I=this.getSize().divideBy(2),E=new st(b.subtract(I),b.add(I)),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 st(m.min.add(l),m.max.add(l));return l.add(this._getBoundsOffset(b,d))},_getBoundsOffset:function(l,d,m){var b=At(this.project(d.getNorthEast(),m),this.project(d.getSouthWest(),m)),I=b.min.subtract(l.min),E=b.max.subtract(l.max),U=this._rebound(I.x,-E.x),ie=this._rebound(I.y,-E.y);return new Ae(U,ie)},_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=he.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(){F(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=Ne("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(d){var m=A,b=this._proxy.style[m];gt(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(){re(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),d=this.getZoom();gt(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),I=this._getCenterOffset(l)._divideBy(1-1/b);return m.animate!==!0&&!this.getSize().contains(I)?!1:(ve(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,Me(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&&F(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 Ws(l,d){return new Wi(l,d)}var ss=wt.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 Me(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?(re(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(l){this._map&&l&&l.screenX>0&&l.screenY>0&&this._map.getContainer().focus()}}),ks=function(l){return new ss(l)};Wi.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=Ne("div",d+"control-container",this._container);function b(I,E){var U=d+I+" "+d+E;l[I+E]=Ne("div",U,m)}b("top","left"),b("top","right"),b("bottom","left"),b("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)re(this._controlCorners[l]);re(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Tc=ss.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 ss.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(){Me(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var l=this._map.getSize().y-(this._container.offsetTop+50);return l<this._section.clientHeight?(Me(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):F(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return F(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",d=this._container=Ne("div",l),m=this.options.collapsed;d.setAttribute("aria-haspopup",!0),rn(d),ri(d);var b=this._section=Ne("section",l+"-list");m&&(this._map.on("click",this.collapse,this),Ye(d,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var I=this._layersLink=Ne("a",l+"-toggle",d);I.href="#",I.title="Layers",I.setAttribute("role","button"),Ye(I,{keydown:function(E){E.keyCode===13&&this._expandSafely()},click:function(E){an(E),this._expandSafely()}},this),m||this.expand(),this._baseLayersList=Ne("div",l+"-base",b),this._separator=Ne("div",l+"-separator",b),this._overlaysList=Ne("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,I){return this.options.sortFunction(b.layer,I.layer,b.name,I.name)},this)),this.options.autoZIndex&&l.setZIndex&&(this._lastZIndex++,l.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;Qe(this._baseLayersList),Qe(this._overlaysList),this._layerControlInputs=[];var l,d,m,b,I=0;for(m=0;m<this._layers.length;m++)b=this._layers[m],this._addItem(b),d=d||b.overlay,l=l||!b.overlay,I+=b.overlay?0:1;return this.options.hideSingleBase&&(l=l&&I>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),Ye(b,"click",this._onInputClick,this);var I=document.createElement("span");I.innerHTML=" "+l.name;var E=document.createElement("span");d.appendChild(E),E.appendChild(b),E.appendChild(I);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=[],I=[];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||I.push(m);for(E=0;E<I.length;E++)this._map.hasLayer(I[E])&&this._map.removeLayer(I[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(),I=l.length-1;I>=0;I--)d=l[I],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,Ye(l,"click",an),this.expand();var d=this;setTimeout(function(){Jt(l,"click",an),d._preventClick=!1})}}),Il=function(l,d,m){return new Tc(l,d,m)},Mc=ss.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=Ne("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,I){var E=Ne("a",m,b);return E.innerHTML=l,E.href="#",E.title=d,E.setAttribute("role","button"),E.setAttribute("aria-label",d),rn(E),Ye(E,"click",Ts),Ye(E,"click",I,this),Ye(E,"click",this._refocusOnMap,this),E},_updateDisabled:function(){var l=this._map,d="leaflet-disabled";F(this._zoomInButton,d),F(this._zoomOutButton,d),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(Me(this._zoomOutButton,d),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(Me(this._zoomInButton,d),this._zoomInButton.setAttribute("aria-disabled","true"))}});Wi.mergeOptions({zoomControl:!0}),Wi.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Mc,this.addControl(this.zoomControl))});var Lr=function(l){return new Mc(l)},Wa=ss.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var d="leaflet-control-scale",m=Ne("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=Ne("div",d,m)),l.imperial&&(this._iScale=Ne("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,I;d>5280?(m=d/5280,b=this._getRoundNum(m),this._updateScale(this._iScale,b+" mi",b/m)):(I=this._getRoundNum(d),this._updateScale(this._iScale,I+" ft",I/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}}),Ky=function(l){return new Wa(l)},vm='<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>',Og=ss.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(he.inlineSvg?vm+" ":"")+"Leaflet</a>"},initialize:function(l){w(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=Ne("div","leaflet-control-attribution"),rn(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> ')}}});Wi.mergeOptions({attributionControl:!0}),Wi.addInitHook(function(){this.options.attributionControl&&new Og().addTo(this)});var Fg=function(l){return new Og(l)};ss.Layers=Tc,ss.Zoom=Mc,ss.Scale=Wa,ss.Attribution=Og,ks.layers=Il,ks.zoom=Lr,ks.scale=Ky,ks.attribution=Fg;var Ho=wt.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}});Ho.addTo=function(l,d){return l.addHandler(d,this),this};var Gy={Events:zt},Hg=he.touch?"touchstart mousedown":"mousedown",kr=ti.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||(Ye(this._dragStartTarget,Hg,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(kr._dragging===this&&this.finishDrag(!0),Jt(this._dragStartTarget,Hg,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!St(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){kr._dragging===this&&this.finishDrag();return}if(!(kr._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(kr._dragging=this,this._preventOutline&&Bt(this._element),ke(),ut(),!this._moving)){this.fire("down");var d=l.touches?l.touches[0]:l,m=$e(this._element);this._startPoint=new Ae(d.clientX,d.clientY),this._startPos=Pt(this._element),this._parentScale=ft(m);var b=l.type==="mousedown";Ye(document,b?"mousemove":"touchmove",this._onMove,this),Ye(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 Ae(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,an(l),this._moved||(this.fire("dragstart"),this._moved=!0,Me(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),Me(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(m),this._moving=!0,this._lastEvent=l,this._updatePosition())}},_updatePosition:function(){var l={originalEvent:this._lastEvent};this.fire("predrag",l),ye(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){F(document.body,"leaflet-dragging"),this._lastTarget&&(F(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Jt(document,"mousemove touchmove",this._onMove,this),Jt(document,"mouseup touchend touchcancel",this._onUp,this),ce(),ue();var d=this._moved&&this._moving;this._moving=!1,kr._dragging=!1,d&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function Wg(l,d,m){var b,I=[1,4,2,8],E,U,ie,de,We,Ht,Si,Gi;for(E=0,Ht=l.length;E<Ht;E++)l[E]._code=Ir(l[E],d);for(ie=0;ie<4;ie++){for(Si=I[ie],b=[],E=0,Ht=l.length,U=Ht-1;E<Ht;U=E++)de=l[E],We=l[U],de._code&Si?We._code&Si||(Gi=Nc(We,de,Si,d,m),Gi._code=Ir(Gi,d),b.push(Gi)):(We._code&Si&&(Gi=Nc(We,de,Si,d,m),Gi._code=Ir(Gi,d),b.push(Gi)),b.push(de));l=b}return l}function Bg(l,d){var m,b,I,E,U,ie,de,We,Ht;if(!l||l.length===0)throw new Error("latlngs not passed");wo(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Si=_t([0,0]),Gi=Xt(l),co=Gi.getNorthWest().distanceTo(Gi.getSouthWest())*Gi.getNorthEast().distanceTo(Gi.getNorthWest());co<1700&&(Si=zg(l));var Ns=l.length,Yo=[];for(m=0;m<Ns;m++){var So=_t(l[m]);Yo.push(d.project(_t([So.lat-Si.lat,So.lng-Si.lng])))}for(ie=de=We=0,m=0,b=Ns-1;m<Ns;b=m++)I=Yo[m],E=Yo[b],U=I.y*E.x-E.y*I.x,de+=(I.x+E.x)*U,We+=(I.y+E.y)*U,ie+=U*3;ie===0?Ht=Yo[0]:Ht=[de/ie,We/ie];var Rh=d.unproject(Oe(Ht));return _t([Rh.lat+Si.lat,Rh.lng+Si.lng])}function zg(l){for(var d=0,m=0,b=0,I=0;I<l.length;I++){var E=_t(l[I]);d+=E.lat,m+=E.lng,b++}return _t([d/b,m/b])}var bm={__proto__:null,clipPolygon:Wg,polygonCenter:Bg,centroid:zg};function ym(l,d){if(!d||!l.length)return l.slice();var m=d*d;return l=Sm(l,m),l=Vg(l,m),l}function wm(l,d,m){return Math.sqrt(Rc(l,d,m,!0))}function Zy(l,d,m){return Rc(l,d,m)}function Vg(l,d){var m=l.length,b=typeof Uint8Array<"u"?Uint8Array:Array,I=new b(m);I[0]=I[m-1]=1,Mh(l,I,d,0,m-1);var E,U=[];for(E=0;E<m;E++)I[E]&&U.push(l[E]);return U}function Mh(l,d,m,b,I){var E=0,U,ie,de;for(ie=b+1;ie<=I-1;ie++)de=Rc(l[ie],l[b],l[I],!0),de>E&&(U=ie,E=de);E>m&&(d[U]=1,Mh(l,d,m,b,U),Mh(l,d,m,U,I))}function Sm(l,d){for(var m=[l[0]],b=1,I=0,E=l.length;b<E;b++)xm(l[b],l[I])>d&&(m.push(l[b]),I=b);return I<E-1&&m.push(l[E-1]),m}var jg;function Cm(l,d,m,b,I){var E=b?jg:Ir(l,m),U=Ir(d,m),ie,de,We;for(jg=U;;){if(!(E|U))return[l,d];if(E&U)return!1;ie=E||U,de=Nc(l,d,ie,m,I),We=Ir(de,m),ie===E?(l=de,E=We):(d=de,U=We)}}function Nc(l,d,m,b,I){var E=d.x-l.x,U=d.y-l.y,ie=b.min,de=b.max,We,Ht;return m&8?(We=l.x+E*(de.y-l.y)/U,Ht=de.y):m&4?(We=l.x+E*(ie.y-l.y)/U,Ht=ie.y):m&2?(We=de.x,Ht=l.y+U*(de.x-l.x)/E):m&1&&(We=ie.x,Ht=l.y+U*(ie.x-l.x)/E),new Ae(We,Ht,I)}function Ir(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 xm(l,d){var m=d.x-l.x,b=d.y-l.y;return m*m+b*b}function Rc(l,d,m,b){var I=d.x,E=d.y,U=m.x-I,ie=m.y-E,de=U*U+ie*ie,We;return de>0&&(We=((l.x-I)*U+(l.y-E)*ie)/de,We>1?(I=m.x,E=m.y):We>0&&(I+=U*We,E+=ie*We)),U=l.x-I,ie=l.y-E,b?U*U+ie*ie:new Ae(I,E)}function wo(l){return!N(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function Lm(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),wo(l)}function km(l,d){var m,b,I,E,U,ie,de,We;if(!l||l.length===0)throw new Error("latlngs not passed");wo(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Ht=_t([0,0]),Si=Xt(l),Gi=Si.getNorthWest().distanceTo(Si.getSouthWest())*Si.getNorthEast().distanceTo(Si.getNorthWest());Gi<1700&&(Ht=zg(l));var co=l.length,Ns=[];for(m=0;m<co;m++){var Yo=_t(l[m]);Ns.push(d.project(_t([Yo.lat-Ht.lat,Yo.lng-Ht.lng])))}for(m=0,b=0;m<co-1;m++)b+=Ns[m].distanceTo(Ns[m+1])/2;if(b===0)We=Ns[0];else for(m=0,E=0;m<co-1;m++)if(U=Ns[m],ie=Ns[m+1],I=U.distanceTo(ie),E+=I,E>b){de=(E-b)/I,We=[ie.x-de*(ie.x-U.x),ie.y-de*(ie.y-U.y)];break}var So=d.unproject(Oe(We));return _t([So.lat+Ht.lat,So.lng+Ht.lng])}var Xy={__proto__:null,simplify:ym,pointToSegmentDistance:wm,closestPointOnSegment:Zy,clipSegment:Cm,_getEdgeIntersection:Nc,_getBitCode:Ir,_sqClosestPointOnSegment:Rc,isFlat:wo,_flat:Lm,polylineCenter:km},Ug={project:function(l){return new Ae(l.lng,l.lat)},unproject:function(l){return new Wt(l.y,l.x)},bounds:new st([-180,-90],[180,90])},$g={R:6378137,R_MINOR:6356752314245179e-9,bounds:new st([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(l){var d=Math.PI/180,m=this.R,b=l.lat*d,I=this.R_MINOR/m,E=Math.sqrt(1-I*I),U=E*Math.sin(b),ie=Math.tan(Math.PI/4-b/2)/Math.pow((1-U)/(1+U),E/2);return b=-m*Math.log(Math.max(ie,1e-10)),new Ae(l.lng*d*m,b)},unproject:function(l){for(var d=180/Math.PI,m=this.R,b=this.R_MINOR/m,I=Math.sqrt(1-b*b),E=Math.exp(-l.y/m),U=Math.PI/2-2*Math.atan(E),ie=0,de=.1,We;ie<15&&Math.abs(de)>1e-7;ie++)We=I*Math.sin(U),We=Math.pow((1-We)/(1+We),I/2),de=Math.PI/2-2*Math.atan(E*We)-U,U+=de;return new Wt(U*d,l.x*d/m)}},Yy={__proto__:null,LonLat:Ug,Mercator:$g,SphericalMercator:qi},H=n({},mi,{code:"EPSG:3395",projection:$g,transformation:(function(){var l=.5/(Math.PI*$g.R);return en(l,.5,-l,.5)})()}),oe=n({},mi,{code:"EPSG:4326",projection:Ug,transformation:en(1/180,1,-1/180,.5)}),we=n({},xi,{projection:Ug,transformation:en(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});xi.Earth=mi,xi.EPSG3395=H,xi.EPSG3857=Di,xi.EPSG900913=Pn,xi.EPSG4326=oe,xi.Simple=we;var ae=ti.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})}}});Wi.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 I=this._zoomBoundLayers[b].options;l=I.minZoom===void 0?l:Math.min(l,I.minZoom),d=I.maxZoom===void 0?d:Math.max(d,I.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 qe=ae.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)}}),Mt=function(l,d){return new qe(l,d)},It=qe.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),qe.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),qe.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 ni;for(var d in this._layers){var m=this._layers[d];l.extend(m.getBounds?m.getBounds():m.getLatLng())}return l}}),Ti=function(l,d){return new It(l,d)},Li=wt.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 I=Oe(b),E=Oe(d==="shadow"&&m.shadowAnchor||m.iconAnchor||I&&I.divideBy(2,!0));l.className="leaflet-marker-"+d+" "+(m.className||""),E&&(l.style.marginLeft=-E.x+"px",l.style.marginTop=-E.y+"px"),I&&(l.style.width=I.x+"px",l.style.height=I.y+"px")},_createImg:function(l,d){return d=d||document.createElement("img"),d.src=l,d},_getIconUrl:function(l){return he.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function Oi(l){return new Li(l)}var wi=Li.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 wi.imagePath!="string"&&(wi.imagePath=this._detectIconPath()),(this.options.imagePath||wi.imagePath)+Li.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var d=function(m,b,I){var E=b.exec(m);return E&&E[I]};return l=d(l,/^url\((['"])?(.+)\1\)$/,2),l&&d(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=Ne("div","leaflet-default-icon-path",document.body),d=Fe(l,"background-image")||Fe(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):""}}),ki=Ho.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new kr(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),Me(l,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&F(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,I=this._marker.options.autoPanPadding,E=Pt(d._icon),U=m.getPixelBounds(),ie=m.getPixelOrigin(),de=At(U.min._subtract(ie).add(I),U.max._subtract(ie).subtract(I));if(!de.contains(E)){var We=Oe((Math.max(de.max.x,E.x)-de.max.x)/(U.max.x-de.max.x)-(Math.min(de.min.x,E.x)-de.min.x)/(U.min.x-de.min.x),(Math.max(de.max.y,E.y)-de.max.y)/(U.max.y-de.max.y)-(Math.min(de.min.y,E.y)-de.min.y)/(U.min.y-de.min.y)).multiplyBy(b);m.panBy(We,{animate:!1}),this._draggable._newPos._add(We),this._draggable._startPos._add(We),ye(d._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=ve(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&&(nt(this._panRequest),this._panRequest=ve(this._adjustPan.bind(this,l)))},_onDrag:function(l){var d=this._marker,m=d._shadow,b=Pt(d._icon),I=d._map.layerPointToLatLng(b);m&&ye(m,b),d._latlng=I,l.latlng=I,l.oldLatLng=this._oldLatLng,d.fire("move",l).fire("drag",l)},_onDragEnd:function(l){nt(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),Ki=ae.extend({options:{icon:new wi,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=_t(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=_t(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||"")),Me(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&&Ye(m,"focus",this._panOnFocus,this);var I=l.icon.createShadow(this._shadow),E=!1;I!==this._shadow&&(this._removeShadow(),E=!0),I&&(Me(I,d),I.alt=""),this._shadow=I,l.opacity<1&&this._updateOpacity(),b&&this.getPane().appendChild(this._icon),this._initInteraction(),I&&E&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Jt(this._icon,"focus",this._panOnFocus,this),re(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&re(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&ye(this._icon,l),this._shadow&&ye(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&&(Me(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),ki)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new ki(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&&Ge(this._icon,l),this._shadow&&Ge(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?Oe(d.iconSize):Oe(0,0),b=d.iconAnchor?Oe(d.iconAnchor):Oe(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 Qn(l,d){return new Ki(l,d)}var Wn=ae.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)}}),Yn=Wn.extend({options:{fill:!0,radius:10},initialize:function(l,d){w(this,d),this._latlng=_t(l),this._radius=this.options.radius},setLatLng:function(l){var d=this._latlng;return this._latlng=_t(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 Wn.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 st(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 hn(l,d){return new Yn(l,d)}var Ms=Yn.extend({initialize:function(l,d,m){if(typeof d=="number"&&(d=n({},m,{radius:d})),w(this,d),this._latlng=_t(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 ni(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:Wn.prototype.setStyle,_project:function(){var l=this._latlng.lng,d=this._latlng.lat,m=this._map,b=m.options.crs;if(b.distance===mi.distance){var I=Math.PI/180,E=this._mRadius/mi.R/I,U=m.project([d+E,l]),ie=m.project([d-E,l]),de=U.add(ie).divideBy(2),We=m.unproject(de).lat,Ht=Math.acos((Math.cos(E*I)-Math.sin(d*I)*Math.sin(We*I))/(Math.cos(d*I)*Math.cos(We*I)))/I;(isNaN(Ht)||Ht===0)&&(Ht=E/Math.cos(Math.PI/180*d)),this._point=de.subtract(m.getPixelOrigin()),this._radius=isNaN(Ht)?0:de.x-m.project([We,l-Ht]).x,this._radiusY=de.y-U.y}else{var Si=b.unproject(b.project(this._latlng).subtract([this._mRadius,0]));this._point=m.latLngToLayerPoint(this._latlng),this._radius=this._point.x-m.latLngToLayerPoint(Si).x}this._updateBounds()}});function ta(l,d,m){return new Ms(l,d,m)}var bs=Wn.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=Rc,I,E,U=0,ie=this._parts.length;U<ie;U++)for(var de=this._parts[U],We=1,Ht=de.length;We<Ht;We++){I=de[We-1],E=de[We];var Si=b(l,I,E,!0);Si<d&&(d=Si,m=b(l,I,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 km(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,d){return d=d||this._defaultShape(),l=_t(l),d.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new ni,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return wo(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var d=[],m=wo(l),b=0,I=l.length;b<I;b++)m?(d[b]=_t(l[b]),this._bounds.extend(d[b])):d[b]=this._convertLatLngs(l[b]);return d},_project:function(){var l=new st;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 Ae(l,l);this._rawPxBounds&&(this._pxBounds=new st([this._rawPxBounds.min.subtract(d),this._rawPxBounds.max.add(d)]))},_projectLatlngs:function(l,d,m){var b=l[0]instanceof Wt,I=l.length,E,U;if(b){for(U=[],E=0;E<I;E++)U[E]=this._map.latLngToLayerPoint(l[E]),m.extend(U[E]);d.push(U)}else for(E=0;E<I;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,I,E,U,ie,de;for(m=0,I=0,E=this._rings.length;m<E;m++)for(de=this._rings[m],b=0,U=de.length;b<U-1;b++)ie=Cm(de[b],de[b+1],l,b,!0),ie&&(d[I]=d[I]||[],d[I].push(ie[0]),(ie[1]!==de[b+1]||b===U-2)&&(d[I].push(ie[1]),I++))}},_simplifyPoints:function(){for(var l=this._parts,d=this.options.smoothFactor,m=0,b=l.length;m<b;m++)l[m]=ym(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,I,E,U,ie,de=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(m=0,E=this._parts.length;m<E;m++)for(ie=this._parts[m],b=0,U=ie.length,I=U-1;b<U;I=b++)if(!(!d&&b===0)&&wm(l,ie[I],ie[b])<=de)return!0;return!1}});function Qs(l,d){return new bs(l,d)}bs._flat=Lm;var cs=bs.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 Bg(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var d=bs.prototype._convertLatLngs.call(this,l),m=d.length;return m>=2&&d[0]instanceof Wt&&d[0].equals(d[m-1])&&d.pop(),d},_setLatLngs:function(l){bs.prototype._setLatLngs.call(this,l),wo(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return wo(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,d=this.options.weight,m=new Ae(d,d);if(l=new st(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,I=this._rings.length,E;b<I;b++)E=Wg(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,I,E,U,ie,de,We;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(E=0,de=this._parts.length;E<de;E++)for(m=this._parts[E],U=0,We=m.length,ie=We-1;U<We;ie=U++)b=m[U],I=m[ie],b.y>l.y!=I.y>l.y&&l.x<(I.x-b.x)*(l.y-b.y)/(I.y-b.y)+b.x&&(d=!d);return d||bs.prototype._containsPoint.call(this,l,!0)}});function Bs(l,d){return new cs(l,d)}var ds=It.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,I;if(d){for(m=0,b=d.length;m<b;m++)I=d[m],(I.geometries||I.geometry||I.features||I.coordinates)&&this.addData(I);return this}var E=this.options;if(E.filter&&!E.filter(l))return this;var U=zs(l,E);return U?(U.feature=Dl(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 zs(l,d){var m=l.type==="Feature"?l.geometry:l,b=m?m.coordinates:null,I=[],E=d&&d.pointToLayer,U=d&&d.coordsToLatLng||ia,ie,de,We,Ht;if(!b&&!m)return null;switch(m.type){case"Point":return ie=U(b),Ba(E,l,ie,d);case"MultiPoint":for(We=0,Ht=b.length;We<Ht;We++)ie=U(b[We]),I.push(Ba(E,l,ie,d));return new It(I);case"LineString":case"MultiLineString":return de=na(b,m.type==="LineString"?0:1,U),new bs(de,d);case"Polygon":case"MultiPolygon":return de=na(b,m.type==="Polygon"?1:2,U),new cs(de,d);case"GeometryCollection":for(We=0,Ht=m.geometries.length;We<Ht;We++){var Si=zs({geometry:m.geometries[We],type:"Feature",properties:l.properties},d);Si&&I.push(Si)}return new It(I);case"FeatureCollection":for(We=0,Ht=m.features.length;We<Ht;We++){var Gi=zs(m.features[We],d);Gi&&I.push(Gi)}return new It(I);default:throw new Error("Invalid GeoJSON object.")}}function Ba(l,d,m,b){return l?l(d,m):new Ki(m,b&&b.markersInheritOptions&&b)}function ia(l){return new Wt(l[1],l[0],l[2])}function na(l,d,m){for(var b=[],I=0,E=l.length,U;I<E;I++)U=d?na(l[I],d-1,m):(m||ia)(l[I]),b.push(U);return b}function es(l,d){return l=_t(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 Dr(l,d,m,b){for(var I=[],E=0,U=l.length;E<U;E++)I.push(d?Dr(l[E],wo(l[E])?0:d-1,m,b):es(l[E],b));return!d&&m&&I.length>0&&I.push(I[0].slice()),I}function Xo(l,d){return l.feature?n({},l.feature,{geometry:d}):Dl(d)}function Dl(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var qg={toGeoJSON:function(l){return Xo(this,{type:"Point",coordinates:es(this.getLatLng(),l)})}};Ki.include(qg),Ms.include(qg),Yn.include(qg),bs.include({toGeoJSON:function(l){var d=!wo(this._latlngs),m=Dr(this._latlngs,d?1:0,!1,l);return Xo(this,{type:(d?"Multi":"")+"LineString",coordinates:m})}}),cs.include({toGeoJSON:function(l){var d=!wo(this._latlngs),m=d&&!wo(this._latlngs[0]),b=Dr(this._latlngs,m?2:d?1:0,!0,l);return d||(b=[b]),Xo(this,{type:(m?"Multi":"")+"Polygon",coordinates:b})}}),qe.include({toMultiPoint:function(l){var d=[];return this.eachLayer(function(m){d.push(m.toGeoJSON(l).geometry.coordinates)}),Xo(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(I){if(I.toGeoJSON){var E=I.toGeoJSON(l);if(m)b.push(E.geometry);else{var U=Dl(E);U.type==="FeatureCollection"?b.push.apply(b,U.features):b.push(U)}}}),m?Xo(this,{geometries:b,type:"GeometryCollection"}):{type:"FeatureCollection",features:b}}});function Im(l,d){return new ds(l,d)}var Jy=Im,_n=ae.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,d,m){this._url=l,this._bounds=Xt(d),w(this,m)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Me(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){re(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&&je(this._image),this},bringToBack:function(){return this._map&&xe(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=Xt(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:Ne("img");if(Me(d,"leaflet-image-layer"),this._zoomAnimated&&Me(d,"leaflet-zoom-animated"),this.options.className&&Me(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;gt(this._image,m,d)},_reset:function(){var l=this._image,d=new st(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),m=d.getSize();ye(l,d.min),l.style.width=m.x+"px",l.style.height=m.y+"px"},_updateOpacity:function(){Ge(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()}}),eo=function(l,d,m){return new _n(l,d,m)},Ac=_n.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:Ne("video");if(Me(d,"leaflet-image-layer"),this._zoomAnimated&&Me(d,"leaflet-zoom-animated"),this.options.className&&Me(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=[],I=0;I<m.length;I++)b.push(m[I].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=Ne("source");U.src=this._url[E],d.appendChild(U)}}});function Kg(l,d,m){return new Ac(l,d,m)}var SL=_n.extend({_initImage:function(){var l=this._image=this._url;Me(l,"leaflet-image-layer"),this._zoomAnimated&&Me(l,"leaflet-zoom-animated"),this.options.className&&Me(l,this.options.className),l.onselectstart=f,l.onmousemove=f}});function VR(l,d,m){return new SL(l,d,m)}var sa=ae.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,d){l&&(l instanceof Wt||N(l))?(this._latlng=_t(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&&Ge(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&Ge(this._container,1),this.bringToFront(),this.options.interactive&&(Me(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(Ge(this._container,0),this._removeTimeout=setTimeout(r(re,void 0,this._container),200)):re(this._container),this.options.interactive&&(F(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=_t(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&&je(this._container),this},bringToBack:function(){return this._map&&xe(this._container),this},_prepareOpen:function(l){var d=this._source;if(!d._map)return!1;if(d instanceof It){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=Oe(this.options.offset),m=this._getAnchor();this._zoomAnimated?ye(this._container,l.add(m)):d=d.add(l).add(m);var b=this._containerBottom=-d.y,I=this._containerLeft=-Math.round(this._containerWidth/2)+d.x;this._container.style.bottom=b+"px",this._container.style.left=I+"px"}},_getAnchor:function(){return[0,0]}});Wi.include({_initOverlay:function(l,d,m,b){var I=d;return I instanceof l||(I=new l(b).setContent(d)),m&&I.setLatLng(m),I}}),ae.include({_initOverlay:function(l,d,m,b){var I=m;return I instanceof l?(w(I,b),I._source=this):(I=d&&!b?d:new l(b,this),I.setContent(m)),I}});var Dm=sa.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,sa.prototype.openOn.call(this,l)},onAdd:function(l){sa.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Wn||this._source.on("preclick",mn))},onRemove:function(l){sa.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Wn||this._source.off("preclick",mn))},getEvents:function(){var l=sa.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=Ne("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),m=this._wrapper=Ne("div",l+"-content-wrapper",d);if(this._contentNode=Ne("div",l+"-content",m),rn(d),ri(this._contentNode),Ye(d,"contextmenu",mn),this._tipContainer=Ne("div",l+"-tip-container",d),this._tip=Ne("div",l+"-tip",this._tipContainer),this.options.closeButton){var b=this._closeButton=Ne("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>',Ye(b,"click",function(I){an(I),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,I=this.options.maxHeight,E="leaflet-popup-scrolled";I&&b>I?(d.height=I+"px",Me(l,E)):F(l,E),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),m=this._getAnchor();ye(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(Fe(this._container,"marginBottom"),10)||0,m=this._container.offsetHeight+d,b=this._containerWidth,I=new Ae(this._containerLeft,-m-this._containerBottom);I._add(Pt(this._container));var E=l.layerPointToContainerPoint(I),U=Oe(this.options.autoPanPadding),ie=Oe(this.options.autoPanPaddingTopLeft||U),de=Oe(this.options.autoPanPaddingBottomRight||U),We=l.getSize(),Ht=0,Si=0;E.x+b+de.x>We.x&&(Ht=E.x+b-We.x+de.x),E.x-Ht-ie.x<0&&(Ht=E.x-ie.x),E.y+m+de.y>We.y&&(Si=E.y+m-We.y+de.y),E.y-Si-ie.y<0&&(Si=E.y-ie.y),(Ht||Si)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([Ht,Si]))}},_getAnchor:function(){return Oe(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),jR=function(l,d){return new Dm(l,d)};Wi.mergeOptions({closePopupOnClick:!0}),Wi.include({openPopup:function(l,d,m){return this._initOverlay(Dm,l,d,m).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),ae.include({bindPopup:function(l,d){return this._popup=this._initOverlay(Dm,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 It||(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)){Ts(l);var d=l.layer||l.target;if(this._popup._source===d&&!(d instanceof Wn)){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 Em=sa.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){sa.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){sa.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=sa.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=Ne("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,I=this._container,E=b.latLngToContainerPoint(b.getCenter()),U=b.layerPointToContainerPoint(l),ie=this.options.direction,de=I.offsetWidth,We=I.offsetHeight,Ht=Oe(this.options.offset),Si=this._getAnchor();ie==="top"?(d=de/2,m=We):ie==="bottom"?(d=de/2,m=0):ie==="center"?(d=de/2,m=We/2):ie==="right"?(d=0,m=We/2):ie==="left"?(d=de,m=We/2):U.x<E.x?(ie="right",d=0,m=We/2):(ie="left",d=de+(Ht.x+Si.x)*2,m=We/2),l=l.subtract(Oe(d,m,!0)).add(Ht).add(Si),F(I,"leaflet-tooltip-right"),F(I,"leaflet-tooltip-left"),F(I,"leaflet-tooltip-top"),F(I,"leaflet-tooltip-bottom"),Me(I,"leaflet-tooltip-"+ie),ye(I,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&Ge(this._container,l)},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(d)},_getAnchor:function(){return Oe(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),UR=function(l,d){return new Em(l,d)};Wi.include({openTooltip:function(l,d,m){return this._initOverlay(Em,l,d,m).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),ae.include({bindTooltip:function(l,d){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Em,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 It||(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&&(Ye(d,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),Ye(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=Li.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?(Qe(d),d.appendChild(m.html)):d.innerHTML=m.html!==!1?m.html:"",m.bgPos){var b=Oe(m.bgPos);d.style.backgroundPosition=-b.x+"px "+-b.y+"px"}return this._setIconStyles(d,"icon"),d},createShadow:function(){return null}});function $R(l){return new CL(l)}Li.Default=wi;var Gg=ae.extend({options:{tileSize:256,opacity:1,updateWhenIdle:he.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(),re(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(je(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(xe(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(l){return this.options.opacity=l,this._updateOpacity(),this},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var l=this._clampZoom(this._map.getZoom());l!==this._tileZoom&&(this._tileZoom=l,this._updateLevels()),this._update()}return this},getEvents:function(){var l={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=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 Ae?l:new Ae(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,I=d.length,E;b<I;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&&!he.ielt9){Ge(this._container,this.options.opacity);var l=+new Date,d=!1,m=!1;for(var b in this._tiles){var I=this._tiles[b];if(!(!I.current||!I.loaded)){var E=Math.min(1,(l-I.loaded)/200);Ge(I.el,E),E<1?d=!0:(I.active?m=!0:this._onOpaqueTile(I),I.active=!0)}}m&&!this._noPrune&&this._pruneTiles(),d&&(nt(this._fadeFrame),this._fadeFrame=ve(this._updateOpacity,this))}},_onOpaqueTile:f,_initContainer:function(){this._container||(this._container=Ne("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)):(re(this._levels[m].el),this._removeTilesAtZoom(m),this._onRemoveLevel(m),delete this._levels[m]);var b=this._levels[l],I=this._map;return b||(b=this._levels[l]={},b.el=Ne("div","leaflet-tile-container leaflet-zoom-animated",this._container),b.el.style.zIndex=d,b.origin=I.project(I.unproject(I.getPixelOrigin()),l).round(),b.zoom=l,this._setZoomTransform(b,I.getCenter(),I.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)re(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 I=Math.floor(l/2),E=Math.floor(d/2),U=m-1,ie=new Ae(+I,+E);ie.z=+U;var de=this._tileCoordsToKey(ie),We=this._tiles[de];return We&&We.active?(We.retain=!0,!0):(We&&We.loaded&&(We.retain=!0),U>b?this._retainParent(I,E,U,b):!1)},_retainChildren:function(l,d,m,b){for(var I=2*l;I<2*l+2;I++)for(var E=2*d;E<2*d+2;E++){var U=new Ae(I,E);U.z=m+1;var ie=this._tileCoordsToKey(U),de=this._tiles[ie];if(de&&de.active){de.retain=!0;continue}else de&&de.loaded&&(de.retain=!0);m+1<b&&this._retainChildren(I,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 I=Math.round(d);this.options.maxZoom!==void 0&&I>this.options.maxZoom||this.options.minZoom!==void 0&&I<this.options.minZoom?I=void 0:I=this._clampZoom(I);var E=this.options.updateWhenZooming&&I!==this._tileZoom;(!b||E)&&(this._tileZoom=I,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),I!==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),I=l.origin.multiplyBy(b).subtract(this._map._getNewPixelOrigin(d,m)).round();he.any3d?gt(l.el,I,b):ye(l.el,I)},_resetGrid:function(){var l=this._map,d=l.options.crs,m=this._tileSize=this.getTileSize(),b=this._tileZoom,I=this._map.getPixelWorldBounds(this._tileZoom);I&&(this._globalTileRange=this._pxBoundsToTileRange(I)),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),I=d.project(l,this._tileZoom).floor(),E=d.getSize().divideBy(b*2);return new st(I.subtract(E),I.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),I=this._pxBoundsToTileRange(b),E=I.getCenter(),U=[],ie=this.options.keepBuffer,de=new st(I.getBottomLeft().subtract([ie,-ie]),I.getTopRight().add([ie,-ie]));if(!(isFinite(I.min.x)&&isFinite(I.min.y)&&isFinite(I.max.x)&&isFinite(I.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var We in this._tiles){var Ht=this._tiles[We].coords;(Ht.z!==this._tileZoom||!de.contains(new Ae(Ht.x,Ht.y)))&&(this._tiles[We].current=!1)}if(Math.abs(m-this._tileZoom)>1){this._setView(l,m);return}for(var Si=I.min.y;Si<=I.max.y;Si++)for(var Gi=I.min.x;Gi<=I.max.x;Gi++){var co=new Ae(Gi,Si);if(co.z=this._tileZoom,!!this._isValidTile(co)){var Ns=this._tiles[this._tileCoordsToKey(co)];Ns?Ns.current=!0:U.push(co)}}if(U.sort(function(So,Rh){return So.distanceTo(E)-Rh.distanceTo(E)}),U.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Yo=document.createDocumentFragment();for(Gi=0;Gi<U.length;Gi++)this._addTile(U[Gi],Yo);this._level.el.appendChild(Yo)}}}},_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 Xt(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),I=b.add(m),E=d.unproject(b,l.z),U=d.unproject(I,l.z);return[E,U]},_tileCoordsToBounds:function(l){var d=this._tileCoordsToNwSe(l),m=new ni(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 Ae(+d[0],+d[1]);return m.z=+d[2],m},_removeTile:function(l){var d=this._tiles[l];d&&(re(d.el),delete this._tiles[l],this.fire("tileunload",{tile:d.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){Me(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,he.ielt9&&this.options.opacity<1&&Ge(l,this.options.opacity)},_addTile:function(l,d){var m=this._getTilePos(l),b=this._tileCoordsToKey(l),I=this.createTile(this._wrapCoords(l),r(this._tileReady,this,l));this._initTile(I),this.createTile.length<2&&ve(r(this._tileReady,this,l,null,I)),ye(I,m),this._tiles[b]={el:I,coords:l,current:!0},d.appendChild(I),this.fire("tileloadstart",{tile:I,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?(Ge(m.el,0),nt(this._fadeFrame),this._fadeFrame=ve(this._updateOpacity,this)):(m.active=!0,this._pruneTiles()),d||(Me(m.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:m.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),he.ielt9||!this._map._fadeAnimated?ve(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 Ae(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 st(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 qR(l){return new Gg(l)}var Nh=Gg.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&&he.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 Ye(m,"load",r(this._tileOnLoad,this,d,m)),Ye(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:he.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){he.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=W;var m=this._tiles[l].coords;re(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",W),Gg.prototype._removeTile.call(this,l)},_tileReady:function(l,d,m){if(!(!this._map||m&&m.getAttribute("src")===W))return Gg.prototype._tileReady.call(this,l,d,m)}});function xL(l,d){return new Nh(l,d)}var LL=Nh.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 I=d.detectRetina&&he.retina?2:1,E=this.getTileSize();m.width=E.x*I,m.height=E.y*I,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,Nh.prototype.onAdd.call(this,l)},getTileUrl:function(l){var d=this._tileCoordsToNwSe(l),m=this._crs,b=At(m.project(d[0]),m.project(d[1])),I=b.min,E=b.max,U=(this._wmsVersion>=1.3&&this._crs===oe?[I.y,I.x,E.y,E.x]:[I.x,I.y,E.x,E.y]).join(","),ie=Nh.prototype.getTileUrl.call(this,l);return ie+S(this.wmsParams,ie,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+U},setParams:function(l,d){return n(this.wmsParams,l),d||this.redraw(),this}});function KR(l,d){return new LL(l,d)}Nh.WMS=LL,xL.wms=KR;var za=ae.extend({options:{padding:.1},initialize:function(l){w(this,l),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Me(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var l={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(l.zoomanim=this._onAnimZoom),l},_onAnimZoom:function(l){this._updateTransform(l.center,l.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(l,d){var m=this._map.getZoomScale(d,this._zoom),b=this._map.getSize().multiplyBy(.5+this.options.padding),I=this._map.project(this._center,d),E=b.multiplyBy(-m).add(I).subtract(this._map._getNewPixelOrigin(l,d));he.any3d?gt(this._container,E,m):ye(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 st(m,m.add(d.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),kL=za.extend({options:{tolerance:0},getEvents:function(){var l=za.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){za.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");Ye(l,"mousemove",this._onMouseMove,this),Ye(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Ye(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){nt(this._redrawRequest),delete this._ctx,re(this._container),Jt(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)){za.prototype._update.call(this);var l=this._bounds,d=this._container,m=l.getSize(),b=he.retina?2:1;ye(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",he.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){za.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,I;for(I=0;I<d.length;I++){if(b=Number(d[I]),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||ve(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var d=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new st,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,I,E,U=l._parts,ie=U.length,de=this._ctx;if(ie){for(de.beginPath(),m=0;m<ie;m++){for(b=0,I=U[m].length;b<I;b++)E=U[m][b],de[b?"lineTo":"moveTo"](E.x,E.y);d&&de.closePath()}this._fillStroke(de,l)}}},_updateCircle:function(l){if(!(!this._drawing||l._empty())){var d=l._point,m=this._ctx,b=Math.max(Math.round(l._radius),1),I=(Math.max(Math.round(l._radiusY),1)||b)/b;I!==1&&(m.save(),m.scale(1,I)),m.beginPath(),m.arc(d.x,d.y/I,b,0,Math.PI*2,!1),I!==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,I=this._drawFirst;I;I=I.next)m=I.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&&(F(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,I=this._drawFirst;I;I=I.next)m=I.layer,m.options.interactive&&m._containsPoint(d)&&(b=m);b!==this._hoveredLayer&&(this._handleMouseOut(l),b&&(Me(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 IL(l){return he.canvas?new kL(l):null}var Zg=(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">')}})(),GR={_initContainer:function(){this._container=Ne("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(za.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var d=l._container=Zg("shape");Me(d,"leaflet-vml-shape "+(this.options.className||"")),d.coordsize="1 1",l._path=Zg("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;re(d),l.removeInteractiveTarget(d),delete this._layers[c(l)]},_updateStyle:function(l){var d=l._stroke,m=l._fill,b=l.options,I=l._container;I.stroked=!!b.stroke,I.filled=!!b.fill,b.stroke?(d||(d=l._stroke=Zg("stroke")),I.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&&(I.removeChild(d),l._stroke=null),b.fill?(m||(m=l._fill=Zg("fill")),I.appendChild(m),m.color=b.fillColor||b.color,m.opacity=b.fillOpacity):m&&(I.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){je(l._container)},_bringToBack:function(l){xe(l._container)}},Pm=he.vml?Zg:tn,Xg=za.extend({_initContainer:function(){this._container=Pm("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Pm("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){re(this._container),Jt(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){za.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)),ye(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=Pm("path");l.options.className&&Me(d,l.options.className),l.options.interactive&&Me(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){re(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,Sn(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,I="a"+m+","+b+" 0 1,0 ",E=l._empty()?"M0 0":"M"+(d.x-m)+","+d.y+I+m*2+",0 "+I+-m*2+",0 ";this._setPath(l,E)},_setPath:function(l,d){l._path.setAttribute("d",d)},_bringToFront:function(l){je(l._path)},_bringToBack:function(l){xe(l._path)}});he.vml&&Xg.include(GR);function DL(l){return he.svg||he.vml?new Xg(l):null}Wi.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&&IL(l)||DL(l)}});var EL=cs.extend({initialize:function(l,d){cs.prototype.initialize.call(this,this._boundsToLatLngs(l),d)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=Xt(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function ZR(l,d){return new EL(l,d)}Xg.create=Pm,Xg.pointsToPath=Sn,ds.geometryToLayer=zs,ds.coordsToLatLng=ia,ds.coordsToLatLngs=na,ds.latLngToCoords=es,ds.latLngsToCoords=Dr,ds.getFeature=Xo,ds.asFeature=Dl,Wi.mergeOptions({boxZoom:!0});var PL=Ho.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(){Ye(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Jt(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){re(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(),ut(),ke(),this._startPoint=this._map.mouseEventToContainerPoint(l),Ye(document,{contextmenu:Ts,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=Ne("div","leaflet-zoom-box",this._container),Me(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var d=new st(this._point,this._startPoint),m=d.getSize();ye(this._box,d.min),this._box.style.width=m.x+"px",this._box.style.height=m.y+"px"},_finish:function(){this._moved&&(re(this._box),F(this._container,"leaflet-crosshair")),ue(),ce(),Jt(document,{contextmenu:Ts,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 ni(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())}});Wi.addInitHook("addHandler","boxZoom",PL),Wi.mergeOptions({doubleClickZoom:!0});var TL=Ho.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,I=l.originalEvent.shiftKey?m-b:m+b;d.options.doubleClickZoom==="center"?d.setZoom(I):d.setZoomAround(l.containerPoint,I)}});Wi.addInitHook("addHandler","doubleClickZoom",TL),Wi.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var ML=Ho.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new kr(l._mapPane,l._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),l.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),l.on("zoomend",this._onZoomEnd,this),l.whenReady(this._onZoomEnd,this))}Me(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){F(this._map._container,"leaflet-grab"),F(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=Xt(this._map.options.maxBounds);this._offsetLimit=At(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,I=(b-d+m)%l+d-m,E=(b+d+m)%l-d-m,U=Math.abs(I+m)<Math.abs(E+m)?I: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 I=this._lastPos.subtract(this._positions[0]),E=(this._lastTime-this._times[0])/1e3,U=m.easeLinearity,ie=I.multiplyBy(U/E),de=ie.distanceTo([0,0]),We=Math.min(m.inertiaMaxSpeed,de),Ht=ie.multiplyBy(We/de),Si=We/(m.inertiaDeceleration*U),Gi=Ht.multiplyBy(-Si/2).round();!Gi.x&&!Gi.y?d.fire("moveend"):(Gi=d._limitOffset(Gi,d.options.maxBounds),ve(function(){d.panBy(Gi,{duration:Si,easeLinearity:U,noMoveStart:!0,animate:!0})}))}}});Wi.addInitHook("addHandler","dragging",ML),Wi.mergeOptions({keyboard:!0,keyboardPanDelta:80});var NL=Ho.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"),Ye(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(),Jt(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,I;for(b=0,I=m.left.length;b<I;b++)d[m.left[b]]=[-1*l,0];for(b=0,I=m.right.length;b<I;b++)d[m.right[b]]=[l,0];for(b=0,I=m.down.length;b<I;b++)d[m.down[b]]=[0,l];for(b=0,I=m.up.length;b<I;b++)d[m.up[b]]=[0,-1*l]},_setZoomDelta:function(l){var d=this._zoomKeys={},m=this.keyCodes,b,I;for(b=0,I=m.zoomIn.length;b<I;b++)d[m.zoomIn[b]]=l;for(b=0,I=m.zoomOut.length;b<I;b++)d[m.zoomOut[b]]=-l},_addHooks:function(){Ye(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Jt(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=Oe(b).multiplyBy(3)),m.options.maxBounds&&(b=m._limitOffset(Oe(b),m.options.maxBounds)),m.options.worldCopyJump){var I=m.wrapLatLng(m.unproject(m.project(m.getCenter()).add(b)));m.panTo(I)}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;Ts(l)}}});Wi.addInitHook("addHandler","keyboard",NL),Wi.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var RL=Ho.extend({addHooks:function(){Ye(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Jt(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var d=xr(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),Ts(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),I=4*Math.log(2/(1+Math.exp(-Math.abs(b))))/Math.LN2,E=m?Math.ceil(I/m)*m:I,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))}});Wi.addInitHook("addHandler","scrollWheelZoom",RL);var XR=600;Wi.mergeOptions({tapHold:he.touchNative&&he.safari&&he.mobile,tapTolerance:15});var AL=Ho.extend({addHooks:function(){Ye(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Jt(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 Ae(d.clientX,d.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(Ye(document,"touchend",an),Ye(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",d))},this),XR),Ye(document,"touchend touchcancel contextmenu",this._cancel,this),Ye(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){Jt(document,"touchend",an),Jt(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),Jt(document,"touchend touchcancel contextmenu",this._cancel,this),Jt(document,"touchmove",this._onMove,this)},_onMove:function(l){var d=l.touches[0];this._newPos=new Ae(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)}});Wi.addInitHook("addHandler","tapHold",AL),Wi.mergeOptions({touchZoom:he.touch,bounceAtZoomLimits:!0});var OL=Ho.extend({addHooks:function(){Me(this._map._container,"leaflet-touch-zoom"),Ye(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){F(this._map._container,"leaflet-touch-zoom"),Jt(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(),Ye(document,"touchmove",this._onTouchMove,this),Ye(document,"touchend touchcancel",this._onTouchEnd,this),an(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]),I=m.distanceTo(b)/this._startDist;if(this._zoom=d.getScaleZoom(I,this._startZoom),!d.options.bounceAtZoomLimits&&(this._zoom<d.getMinZoom()&&I<1||this._zoom>d.getMaxZoom()&&I>1)&&(this._zoom=d._limitZoom(this._zoom)),d.options.touchZoom==="center"){if(this._center=this._startLatLng,I===1)return}else{var E=m._add(b)._divideBy(2)._subtract(this._centerPoint);if(I===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),nt(this._animRequest);var U=r(d._move,d,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=ve(U,this,!0),an(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,nt(this._animRequest),Jt(document,"touchmove",this._onTouchMove,this),Jt(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))}});Wi.addInitHook("addHandler","touchZoom",OL),Wi.BoxZoom=PL,Wi.DoubleClickZoom=TL,Wi.Drag=ML,Wi.Keyboard=NL,Wi.ScrollWheelZoom=RL,Wi.TapHold=AL,Wi.TouchZoom=OL,t.Bounds=st,t.Browser=he,t.CRS=xi,t.Canvas=kL,t.Circle=Ms,t.CircleMarker=Yn,t.Class=wt,t.Control=ss,t.DivIcon=CL,t.DivOverlay=sa,t.DomEvent=kl,t.DomUtil=Tt,t.Draggable=kr,t.Evented=ti,t.FeatureGroup=It,t.GeoJSON=ds,t.GridLayer=Gg,t.Handler=Ho,t.Icon=Li,t.ImageOverlay=_n,t.LatLng=Wt,t.LatLngBounds=ni,t.Layer=ae,t.LayerGroup=qe,t.LineUtil=Xy,t.Map=Wi,t.Marker=Ki,t.Mixin=Gy,t.Path=Wn,t.Point=Ae,t.PolyUtil=bm,t.Polygon=cs,t.Polyline=bs,t.Popup=Dm,t.PosAnimation=Ha,t.Projection=Yy,t.Rectangle=EL,t.Renderer=za,t.SVG=Xg,t.SVGOverlay=SL,t.TileLayer=Nh,t.Tooltip=Em,t.Transformation=Hn,t.Util=Ft,t.VideoOverlay=Ac,t.bind=r,t.bounds=At,t.canvas=IL,t.circle=ta,t.circleMarker=hn,t.control=ks,t.divIcon=$R,t.extend=n,t.featureGroup=Ti,t.geoJSON=Im,t.geoJson=Jy,t.gridLayer=qR,t.icon=Oi,t.imageOverlay=eo,t.latLng=_t,t.latLngBounds=Xt,t.layerGroup=Mt,t.map=Ws,t.marker=Qn,t.point=Oe,t.polygon=Bs,t.polyline=Qs,t.popup=jR,t.rectangle=ZR,t.setOptions=w,t.stamp=c,t.svg=DL,t.svgOverlay=VR,t.tileLayer=xL,t.tooltip=UR,t.transformation=en,t.version=i,t.videoOverlay=Kg;var YR=window.L;t.noConflict=function(){return window.L=YR,this},window.L=t}))})(kf,kf.exports)),kf.exports}var CG=SG();const lf=CR(CG),xG="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=",LG="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==",kG="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",An=(o,e=_y)=>{var t=IG(),i=x(C(t),2),n=C(i);G(()=>q(n,e())),T(o,t)};var IG=R('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),DG=R("<button> </button>"),EG=R('<span class="err svelte-767znw"> </span>'),PG=R('<span class="ok svelte-767znw"> </span>'),TG=R('<div class="loading svelte-767znw">Loading…</div>'),MG=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>'),NG=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),RG=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>'),AG=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>'),OG=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),FG=R('<div class="field-error svelte-767znw"> </div>'),HG=R('<div class="field-ok svelte-767znw"> </div>'),WG=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>'),BG=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>'),zG=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>'),VG=R('<section id="sec-git" class="svelte-767znw"><h3 class="svelte-767znw">Git</h3> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-commit on save <!></label></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-push after commit <!></label></div></section>'),jG=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>'),UG=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>'),$G=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>'),qG=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>'),KG=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>'),GG=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>'),ZG=R("<option> </option>"),XG=R('<span class="free-badge svelte-767znw">FREE</span> ',1),YG=R('&nbsp;— <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),JG=R("<div><!> <!></div>"),QG=R('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),e9=R('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),t9=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>'),i9=R('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),n9=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 s9(o,e){Oo(e,!0),delete lf.Icon.Default.prototype._getIconUrl,lf.Icon.Default.mergeOptions({iconUrl:xG,iconRetinaUrl:LG,shadowUrl:kG});let t=B(_i(bG())),i=B("~/.she"),n=B("mqtt"),s=B(""),r=B(""),a=B(""),c=B(""),h=B(""),g=B(""),f=B("logic"),p=B("var"),v=B(!1),_=B(8080),w=B(""),S=B("none"),D=B(""),P=B("X-Remote-User"),N=B(""),V=B(!1),W=B(""),J=B(""),X=B(""),pe=B(!1),Ce=B(!1),ze=B(!1),ve=B(48.7408),nt=B(9.1778),Ft=B(!1),wt=B(void 0),ai=B(!1),zt=B(null),ti=B("info"),Ae=B(""),Ze=B(""),Oe=B(!1),st=B(!1),At=B("");const ni=[{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 Xt=B("ollama"),Wt=B("ollama"),_t=B(""),xi=B(""),mi=B("");const En={};let qi="ollama";function Hn(j,me){return j==="anthropic"?"anthropic":j==="ollama"?"ollama":me?me.includes("localhost:1234")?"lmstudio":me.includes("groq.com")?"groq":me.includes("googleapis.com")?"gemini":"openai":"openai"}function en(){En[qi]={baseUrl:u(_t),model:u(xi),apiKey:u(mi)};const j=ni.find(Ue=>Ue.id===u(Xt));if(!j)return;k(Wt,j.provider,!0);const me=En[u(Xt)];k(_t,(me==null?void 0:me.baseUrl)??j.baseUrl,!0),k(xi,(me==null?void 0:me.model)??j.defaultModel,!0),k(mi,(me==null?void 0:me.apiKey)??"",!0),qi=u(Xt)}const Di=rt(()=>ni.find(j=>j.id===u(Xt)));let Pn=B(_i({}));const tn=new Set(["url","name","variablePrefix","disableVariables","mqttUsername","mqttPassword","mqttCa","mqttCert","mqttKey","port","bindAddress","auth","password","proxyHeader","proxyLogoutUrl","dir","disableWatch","gitAutoCommit","gitAutoPush","latitude","longitude","verbosity","dbPath","dbPrefix","dbPublish","dbRetain","redis","ai"]);Bn(()=>{if(!u(wt))return;const j=typeof u(ve)=="number"?u(ve):48.7408,me=typeof u(nt)=="number"?u(nt):9.1778,Ue=lf.map(u(wt)).setView([j,me],10);lf.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(Ue);const Ie=lf.marker([j,me],{draggable:!0}).addTo(Ue);k(zt,Ie,!0);const De=tt=>{k(ve,+tt.lat.toFixed(6)),k(nt,+tt.lng.toFixed(6))};return Ie.on("dragend",()=>De(Ie.getLatLng())),Ue.on("click",tt=>{Ie.setLatLng(tt.latlng),De(tt.latlng)}),()=>{k(zt,null),Ue.remove()}}),Bn(()=>{!u(zt)||u(ve)===""||u(nt)===""||u(zt).setLatLng([Number(u(ve)),Number(u(nt))])});let Sn;function Zi(){if(!navigator.geolocation){Sn.show("Geolocation is not supported by this browser.",{alert:!0});return}k(ai,!0),navigator.geolocation.getCurrentPosition(j=>{k(ve,+j.coords.latitude.toFixed(6)),k(nt,+j.coords.longitude.toFixed(6)),k(ai,!1)},()=>{k(ai,!1)})}let Fi=B(!0),cn=B(!1),Tn=B(""),Mn=B(""),Un=B(""),Cn=B("appearance");const nn=[{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:"git",label:"Git",terms:["git","auto commit","auto push","commit","push","repository"]},{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 sn=rt(()=>nn.filter(j=>{const me=u(Un).trim().toLowerCase();return!me||j.label.toLowerCase().includes(me)||j.terms.some(Ue=>Ue.includes(me))}));function Ke(j){var me;k(Cn,j,!0),(me=document.getElementById("sec-"+j))==null||me.scrollIntoView({behavior:"smooth",block:"start"})}Sr(async()=>{try{const j=await xf();j.dataDir&&k(i,j.dataDir,!0)}catch{}try{const j=await rL();if(typeof j.url=="string"&&j.url)try{const Ie=new URL(j.url);k(n,Ie.protocol.replace(":",""),!0),k(s,Ie.host,!0)}catch{k(s,j.url,!0)}typeof j.mqttUsername=="string"&&k(r,j.mqttUsername,!0),typeof j.mqttPassword=="string"&&k(a,j.mqttPassword,!0),typeof j.mqttCa=="string"&&k(c,j.mqttCa,!0),typeof j.mqttCert=="string"&&k(h,j.mqttCert,!0),typeof j.mqttKey=="string"&&k(g,j.mqttKey,!0),typeof j.name=="string"&&k(f,j.name,!0),typeof j.variablePrefix=="string"&&k(p,j.variablePrefix,!0),typeof j.disableVariables=="boolean"&&k(v,j.disableVariables,!0),typeof j.port=="number"&&k(_,j.port,!0),typeof j.bindAddress=="string"&&k(w,j.bindAddress,!0),typeof j.auth=="string"&&k(S,j.auth,!0),typeof j.proxyHeader=="string"&&k(P,j.proxyHeader,!0),typeof j.proxyLogoutUrl=="string"&&k(N,j.proxyLogoutUrl,!0),typeof j.dir=="string"&&k(X,j.dir,!0),typeof j.disableWatch=="boolean"&&k(pe,j.disableWatch,!0),typeof j.gitAutoCommit=="boolean"&&k(Ce,j.gitAutoCommit,!0),typeof j.gitAutoPush=="boolean"&&k(ze,j.gitAutoPush,!0),typeof j.latitude=="number"&&k(ve,j.latitude,!0),typeof j.longitude=="number"&&k(nt,j.longitude,!0),typeof j.verbosity=="string"&&k(ti,j.verbosity,!0),typeof j.dbPath=="string"&&k(Ae,j.dbPath,!0),typeof j.dbPrefix=="string"&&k(Ze,j.dbPrefix,!0),typeof j.dbPublish=="boolean"&&k(Oe,j.dbPublish,!0),typeof j.dbRetain=="boolean"&&k(st,j.dbRetain,!0);const me=j.redis;me!=null&&me.url&&k(At,me.url,!0);const Ue=j.ai;Ue!=null&&Ue.provider&&k(Wt,Ue.provider,!0),Ue!=null&&Ue.baseUrl&&k(_t,Ue.baseUrl,!0),Ue!=null&&Ue.model&&k(xi,Ue.model,!0),Ue!=null&&Ue.apiKey&&k(mi,Ue.apiKey,!0),k(Xt,Hn(u(Wt),u(_t)),!0),qi=u(Xt),k(Pn,Object.fromEntries(Object.entries(j).filter(([Ie])=>!tn.has(Ie))),!0)}catch(j){k(Mn,j.message,!0)}finally{k(Fi,!1)}});async function Ot(){if(k(J,""),k(W,""),u(S)==="password"&&!u(D)){k(J,"A password is required to enable password authentication.");return}k(V,!0);try{await K8(u(S),u(S)==="password"?u(D):void 0,u(S)==="proxy"?u(P):void 0,u(S)==="proxy"?u(N):void 0),k(D,""),k(W,"Authentication settings saved.")}catch(j){k(J,j.message,!0)}finally{k(V,!1)}}async function li(){k(Mn,""),k(Tn,"");const j={...u(Pn)};u(s)&&(j.url=`${u(n)}://${u(s)}`),j.name=u(f),j.variablePrefix=u(p),u(v)&&(j.disableVariables=!0),u(r)&&(j.mqttUsername=u(r)),u(a)&&(j.mqttPassword=u(a)),u(c)&&(j.mqttCa=u(c)),u(h)&&(j.mqttCert=u(h)),u(g)&&(j.mqttKey=u(g)),u(_)!==""&&(j.port=Number(u(_))),u(w)&&(j.bindAddress=u(w)),u(X)&&(j.dir=u(X)),u(pe)&&(j.disableWatch=!0),u(Ce)&&(j.gitAutoCommit=!0),u(ze)&&(j.gitAutoPush=!0),u(ve)!==""&&(j.latitude=Number(u(ve))),u(nt)!==""&&(j.longitude=Number(u(nt))),j.verbosity=u(ti),u(Ae)&&(j.dbPath=u(Ae),u(Ze)&&(j.dbPrefix=u(Ze)),u(Oe)&&(j.dbPublish=!0,u(st)&&(j.dbRetain=!0))),u(At)&&(j.redis={url:u(At)}),u(Wt)&&(j.ai={provider:u(Wt),...u(_t)?{baseUrl:u(_t)}:{},...u(xi)?{model:u(xi)}:{},...u(mi)?{apiKey:u(mi)}:{}}),k(cn,!0);try{const me=await s7(j);window.dispatchEvent(new CustomEvent("she:config-changed")),k(Tn,me.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(me){k(Mn,me.message,!0)}finally{k(cn,!1)}}var Ei=n9(),Ci=yt(Ei);ys(Rg(Ci,{}),j=>Sn=j,()=>Sn);var fn=x(Ci,2),pn=C(fn),Nn=C(pn),Rn=x(C(Nn),2),Xn=x(Nn,2);pi(Xn,21,()=>nn,j=>j.id,(j,me)=>{var Ue=Fs(),Ie=yt(Ue);{var De=Yt=>{var ht=DG();let he;var at=C(ht);G(()=>{he=qt(ht,1,"section-link svelte-767znw",null,he,{active:u(Cn)===u(me).id}),q(at,u(me).label)}),te("click",ht,()=>Ke(u(me).id)),T(Yt,ht)},tt=rt(()=>u(sn).some(Yt=>Yt.id===u(me).id));$(Ie,Yt=>{u(tt)&&Yt(De)})}T(j,Ue)});var Gn=x(pn,2),xn=C(Gn),Re=x(C(xn),2);{var Z=j=>{var me=EG(),Ue=C(me);G(()=>q(Ue,u(Mn))),T(j,me)};$(Re,j=>{u(Mn)&&j(Z)})}var Ee=x(Re,2);{var vt=j=>{var me=PG(),Ue=C(me);G(()=>q(Ue,u(Tn))),T(j,me)};$(Ee,j=>{u(Tn)&&j(vt)})}var Ct=x(Ee,2),$t=C(Ct),O=x(xn,2);{var se=j=>{var me=TG();T(j,me)},be=j=>{var me=i9(),Ue=C(me);{var Ie=re=>{var Qe=MG(),je=x(C(Qe),2),xe=x(C(je),2),St=C(xe);St.value=St.__value="dark";var Me=x(St);Me.value=Me.__value="light";var F=x(Me);F.value=F.__value="system",te("change",xe,()=>yG(u(t))),ba(xe,()=>u(t),Y=>k(t,Y)),T(re,Qe)},De=rt(()=>u(sn).some(re=>re.id==="appearance"));$(Ue,re=>{u(De)&&re(Ie)})}var tt=x(Ue,2);{var Yt=re=>{var Qe=RG(),je=x(C(Qe),2),xe=C(je),St=x(C(xe));An(St,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var Me=x(xe,2),F=C(Me);F.value=F.__value="mqtt";var Y=x(F);Y.value=Y.__value="mqtts";var Le=x(Y);Le.value=Le.__value="ws";var Ge=x(Le);Ge.value=Ge.__value="wss";var it=x(je,2),lt=C(it),gt=x(C(lt));An(gt,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var ye=x(lt,2),Pt=x(it,2),ut=C(Pt),ue=x(C(ut));An(ue,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var bt=x(ut,2),Xe=x(Pt,2),ke=C(Xe),ce=x(C(ke));An(ce,()=>"MQTT broker password. Stored in plain text in config.json.");var _e=x(ke,2),et=x(Xe,2);{var Bt=ri=>{var rn=NG(),an=yt(rn),Ts=C(an),Zo=x(C(Ts));An(Zo,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var Cr=x(Ts,2),Fa=x(an,2),xr=C(Fa),ea=x(C(xr));An(ea,()=>"PEM-encoded client certificate for mutual TLS authentication.");var kl=x(xr,2),Ha=x(Fa,2),Wi=C(Ha),Ws=x(C(Wi));An(Ws,()=>"PEM-encoded private key matching the client certificate.");var ss=x(Wi,2);Ri(Cr,()=>u(c),ks=>k(c,ks)),Ri(kl,()=>u(h),ks=>k(h,ks)),Ri(ss,()=>u(g),ks=>k(g,ks)),T(ri,rn)};$(et,ri=>{(u(n)==="mqtts"||u(n)==="wss")&&ri(Bt)})}var fe=x(et,2),$e=C(fe),ft=x(C($e));An(ft,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var Tt=x($e,2),Ye=x(fe,2),ci=C(Ye),Jt=x(C(ci));An(Jt,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var $n=x(ci,2),on=x(Ye,2),oi=x(C(on),2),Gt=C(oi),mn=x(Gt,4);An(mn,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),ba(Me,()=>u(n),ri=>k(n,ri)),Ri(ye,()=>u(s),ri=>k(s,ri)),Ri(bt,()=>u(r),ri=>k(r,ri)),Ri(_e,()=>u(a),ri=>k(a,ri)),Ri(Tt,()=>u(f),ri=>k(f,ri)),Ri($n,()=>u(p),ri=>k(p,ri)),As(Gt,()=>u(v),ri=>k(v,ri)),T(re,Qe)},ht=rt(()=>u(sn).some(re=>re.id==="mqtt"));$(tt,re=>{u(ht)&&re(Yt)})}var he=x(tt,2);{var at=re=>{var Qe=WG(),je=x(C(Qe),2),xe=C(je),St=x(C(xe));An(St,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var Me=x(xe,2),F=C(Me);F.value=F.__value="none";var Y=x(F);Y.value=Y.__value="password";var Le=x(Y);Le.value=Le.__value="proxy";var Ge=x(je,2);{var it=ce=>{var _e=AG(),et=C(_e),Bt=C(et),fe=x(Bt);An(fe,()=>"Set a new password. Leave empty to keep the current password (if already set).");var $e=x(et,2);G(()=>q(Bt,`${u(D)?"New password":"Password"} `)),Ri($e,()=>u(D),ft=>k(D,ft)),T(ce,_e)};$(Ge,ce=>{u(S)==="password"&&ce(it)})}var lt=x(Ge,2);{var gt=ce=>{var _e=OG(),et=yt(_e),Bt=C(et),fe=x(C(Bt));An(fe,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var $e=x(Bt,2),ft=x(et,2),Tt=C(ft),Ye=x(C(Tt));An(Ye,()=>"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 ci=x(Tt,2);Ri($e,()=>u(P),Jt=>k(P,Jt)),Ri(ci,()=>u(N),Jt=>k(N,Jt)),T(ce,_e)};$(lt,ce=>{u(S)==="proxy"&&ce(gt)})}var ye=x(lt,2);{var Pt=ce=>{var _e=FG(),et=C(_e);G(()=>q(et,u(J))),T(ce,_e)};$(ye,ce=>{u(J)&&ce(Pt)})}var ut=x(ye,2);{var ue=ce=>{var _e=HG(),et=C(_e);G(()=>q(et,u(W))),T(ce,_e)};$(ut,ce=>{u(W)&&ce(ue)})}var bt=x(ut,2),Xe=x(C(bt),2),ke=C(Xe);G(()=>{Xe.disabled=u(V)||u(S)==="password"&&!u(D),q(ke,u(V)?"Saving…":"Apply authentication settings")}),ba(Me,()=>u(S),ce=>k(S,ce)),te("click",Xe,Ot),T(re,Qe)},Vt=rt(()=>u(sn).some(re=>re.id==="auth"));$(he,re=>{u(Vt)&&re(at)})}var jt=x(he,2);{var si=re=>{var Qe=BG(),je=x(C(Qe),2),xe=C(je),St=x(C(xe));An(St,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var Me=x(xe,2),F=x(je,2),Y=C(F),Le=x(C(Y));An(Le,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var Ge=x(Y,2);Ri(Me,()=>u(_),it=>k(_,it)),Ri(Ge,()=>u(w),it=>k(w,it)),T(re,Qe)},hi=rt(()=>u(sn).some(re=>re.id==="webserver"));$(jt,re=>{u(hi)&&re(si)})}var Q=x(jt,2);{var ge=re=>{var Qe=zG(),je=x(C(Qe),2),xe=C(je),St=x(C(xe));An(St,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var Me=x(xe,2),F=x(je,2),Y=x(C(F),2),Le=C(Y),Ge=x(Le,4);An(Ge,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),G(()=>On(Me,"placeholder",`${u(i)??""}/scripts (default)`)),Ri(Me,()=>u(X),it=>k(X,it)),As(Le,()=>u(pe),it=>k(pe,it)),T(re,Qe)},Ve=rt(()=>u(sn).some(re=>re.id==="scripts"));$(Q,re=>{u(Ve)&&re(ge)})}var ot=x(Q,2);{var Lt=re=>{var Qe=VG(),je=x(C(Qe),2),xe=x(C(je),2),St=C(xe),Me=x(St,4);An(Me,()=>"When enabled, saving or renaming/deleting a script automatically creates a git commit. Only effective when the scripts directory is inside a git repository.");var F=x(je,2),Y=x(C(F),2),Le=C(Y),Ge=x(Le,4);An(Ge,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),As(St,()=>u(Ce),it=>k(Ce,it)),As(Le,()=>u(ze),it=>k(ze,it)),T(re,Qe)},Je=rt(()=>u(sn).some(re=>re.id==="git"));$(ot,re=>{u(Je)&&re(Lt)})}var kt=x(ot,2);{var ei=re=>{var Qe=UG(),je=x(C(Qe),2),xe=C(je),St=x(C(xe));An(St,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Me=x(xe,2),F=x(je,2),Y=C(F),Le=x(C(Y));An(Le,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Ge=x(Y,2),it=x(F,2),lt=x(C(it),2),gt=C(lt),ye=C(gt);{var Pt=ce=>{var _e=$r("…");T(ce,_e)},ut=ce=>{var _e=$r("📍 Use my location");T(ce,_e)};$(ye,ce=>{u(ai)?ce(Pt):ce(ut,-1)})}var ue=x(gt,2),bt=C(ue),Xe=x(it,2);{var ke=ce=>{var _e=jG(),et=x(C(_e),2);ys(et,Bt=>k(wt,Bt),()=>u(wt)),T(ce,_e)};$(Xe,ce=>{u(Ft)&&ce(ke)})}G(()=>{gt.disabled=u(ai),q(bt,u(Ft)?"Hide map":"Pick on map")}),Ri(Me,()=>u(ve),ce=>k(ve,ce)),Ri(Ge,()=>u(nt),ce=>k(nt,ce)),te("click",gt,Zi),te("click",ue,()=>k(Ft,!u(Ft))),T(re,Qe)},Ut=rt(()=>u(sn).some(re=>re.id==="solar"));$(kt,re=>{u(Ut)&&re(ei)})}var Rt=x(kt,2);{var yi=re=>{var Qe=$G(),je=x(C(Qe),2),xe=C(je),St=x(C(xe));An(St,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var Me=x(xe,2),F=C(Me);F.value=F.__value="debug";var Y=x(F);Y.value=Y.__value="info";var Le=x(Y);Le.value=Le.__value="warn";var Ge=x(Le);Ge.value=Ge.__value="error",ba(Me,()=>u(ti),it=>k(ti,it)),T(re,Qe)},dn=rt(()=>u(sn).some(re=>re.id==="logging"));$(Rt,re=>{u(dn)&&re(yi)})}var Hi=x(Rt,2);{var ii=re=>{var Qe=KG(),je=x(C(Qe),2),xe=C(je),St=x(C(xe));An(St,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var Me=x(xe,2),F=x(je,2),Y=C(F),Le=x(C(Y));An(Le,()=>"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 Ge=x(Y,2),it=x(F,2),lt=x(C(it),2);let gt;var ye=C(lt),Pt=x(ye,4);An(Pt,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var ut=x(it,2);{var ue=bt=>{var Xe=qG(),ke=x(C(Xe),2);let ce;var _e=C(ke),et=x(_e,4);An(et,()=>"When enabled, MQTT messages for document changes are published as retained messages."),G(()=>{ce=qt(ke,1,"check-label svelte-767znw",null,ce,{muted:!u(Ae)}),_e.disabled=!u(Ae)}),As(_e,()=>u(st),Bt=>k(st,Bt)),T(bt,Xe)};$(ut,bt=>{u(Oe)&&bt(ue)})}G(()=>{On(Me,"placeholder",`defaults to ${u(i)??""}/db`),Ge.disabled=!u(Ae),gt=qt(lt,1,"check-label svelte-767znw",null,gt,{muted:!u(Ae)}),ye.disabled=!u(Ae)}),Ri(Me,()=>u(Ae),bt=>k(Ae,bt)),Ri(Ge,()=>u(Ze),bt=>k(Ze,bt)),As(ye,()=>u(Oe),bt=>k(Oe,bt)),T(re,Qe)},ji=rt(()=>u(sn).some(re=>re.id==="shedb"));$(Hi,re=>{u(ji)&&re(ii)})}var A=x(Hi,2);{var K=re=>{var Qe=GG(),je=x(C(Qe),2),xe=C(je),St=x(C(xe));An(St,()=>"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 Me=x(xe,2);Ri(Me,()=>u(At),F=>k(At,F)),T(re,Qe)},Pe=rt(()=>u(sn).some(re=>re.id==="redis"));$(A,re=>{u(Pe)&&re(K)})}var Te=x(A,2);{var Fe=re=>{var Qe=t9(),je=x(C(Qe),2),xe=C(je),St=x(C(xe));An(St,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var Me=x(xe,2);pi(Me,21,()=>ni,zn,(ue,bt)=>{var Xe=ZG(),ke=C(Xe),ce={};G(()=>{q(ke,u(bt).label),ce!==(ce=u(bt).id)&&(Xe.value=(Xe.__value=u(bt).id)??"")}),T(ue,Xe)});var F=x(je,2);{var Y=ue=>{var bt=JG();let Xe;var ke=C(bt);{var ce=Bt=>{var fe=XG(),$e=x(yt(fe));G(()=>q($e,` ${u(Di).freeNote??""}`)),T(Bt,fe)};$(ke,Bt=>{u(Di).freeNote&&Bt(ce)})}var _e=x(ke,2);{var et=Bt=>{var fe=YG(),$e=x(yt(fe));G(()=>On($e,"href",u(Di).apiKeyUrl)),T(Bt,fe)};$(_e,Bt=>{u(Di).apiKeyUrl&&Bt(et)})}G(()=>Xe=qt(bt,1,"preset-note svelte-767znw",null,Xe,{free:!!u(Di).freeNote})),T(ue,bt)};$(F,ue=>{var bt,Xe;((bt=u(Di))!=null&&bt.freeNote||(Xe=u(Di))!=null&&Xe.apiKeyUrl)&&ue(Y)})}var Le=x(F,2);{var Ge=ue=>{var bt=QG(),Xe=C(bt),ke=x(C(Xe));An(ke,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var ce=x(Xe,2);G(()=>{var _e;return On(ce,"placeholder",u(Xt)==="ollama"?"http://localhost:11434":u(Xt)==="lmstudio"?"http://localhost:1234":((_e=u(Di))==null?void 0:_e.baseUrl)??"")}),Ri(ce,()=>u(_t),_e=>k(_t,_e)),T(ue,bt)};$(Le,ue=>{u(Xt)!=="anthropic"&&ue(Ge)})}var it=x(Le,2),lt=C(it),gt=x(C(lt));An(gt,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var ye=x(lt,2),Pt=x(it,2);{var ut=ue=>{var bt=e9(),Xe=C(bt),ke=x(C(Xe));An(ke,()=>"Stored in config.json. Not needed for local providers.");var ce=x(Xe,2);Ri(ce,()=>u(mi),_e=>k(mi,_e)),T(ue,bt)};$(Pt,ue=>{u(Xt)!=="ollama"&&u(Xt)!=="lmstudio"&&ue(ut)})}G(()=>{var ue;return On(ye,"placeholder",((ue=u(Di))==null?void 0:ue.defaultModel)||"e.g. llama3.2")}),te("change",Me,en),ba(Me,()=>u(Xt),ue=>k(Xt,ue)),Ri(ye,()=>u(xi),ue=>k(xi,ue)),T(re,Qe)},Ne=rt(()=>u(sn).some(re=>re.id==="ai"));$(Te,re=>{u(Ne)&&re(Fe)})}T(j,me)};$(O,j=>{u(Fi)?j(se):j(be,-1)})}G(()=>{Ct.disabled=u(cn),q($t,u(cn)?"Saving…":"Save")}),Ri(Rn,()=>u(Un),j=>k(Un,j)),te("click",Ct,li),T(o,Ei),Fo()}wr(["click","change"]);var o9=R("<option> </option>"),r9=R('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),a9=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 l9(o,e){Oo(e,!0);let t=B(_i(C7())),i,n=B(!0),s=B("all"),r=B(""),a=B(!1);const c=["all","debug","info","warn","error"],h={debug:0,info:1,warn:2,error:3};SR(X=>{k(t,[...u(t).slice(-1999),X],!0)}),Sr(()=>{i&&(i.scrollTop=i.scrollHeight)}),Bn(()=>{u(t).length,u(n)&&i&&(i.scrollTop=i.scrollHeight)});function g(){k(t,[],!0)}function f(X){if(u(s)!=="all"&&h[X.level]<h[u(s)])return!1;if(!u(r))return!0;if(u(a))try{return new RegExp(u(r),"i").test(X.msg)}catch{}return X.msg.toLowerCase().includes(u(r).toLowerCase())}function p(X){return new Date(X).toLocaleTimeString()}var v=a9(),_=C(v),w=x(C(_),2);pi(w,21,()=>c,zn,(X,pe)=>{var Ce=o9(),ze=C(Ce),ve={};G(()=>{q(ze,u(pe)),ve!==(ve=u(pe))&&(Ce.value=(Ce.__value=u(pe))??"")}),T(X,Ce)});var S=x(w,2),D=x(S,2),P=C(D),N=x(D,2),V=C(N),W=x(N,2),J=x(_,2);pi(J,21,()=>u(t).filter(f),X=>X.ts+X.msg,(X,pe)=>{var Ce=r9(),ze=C(Ce),ve=C(ze),nt=x(ze,2),Ft=C(nt),wt=x(nt,2),ai=C(wt);G((zt,ti)=>{qt(Ce,1,`line ${u(pe).level??""}`,"svelte-18loop9"),q(ve,zt),q(Ft,ti),q(ai,u(pe).msg)},[()=>p(u(pe).ts),()=>u(pe).level.toUpperCase()]),T(X,Ce)}),ys(J,X=>i=X,()=>i),ba(w,()=>u(s),X=>k(s,X)),Ri(S,()=>u(r),X=>k(r,X)),As(P,()=>u(a),X=>k(a,X)),As(V,()=>u(n),X=>k(n,X)),te("click",W,g),T(o,v),Fo()}wr(["click"]);var c9=R('<span class="chat-model svelte-1twuiul"><!></span>'),d9=R('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),h9=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>'),u9=R('Working on view <code class="svelte-1twuiul"> </code>',1),g9=R('<button class="chip svelte-1twuiul"> </button>'),f9=R('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),p9=R('<div class="msg-content user-text svelte-1twuiul"> </div>'),jD=R('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),UD=R('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),$D=R('<div class="tool-events svelte-1twuiul"></div>'),qD=R('<div class="text-block svelte-1twuiul"></div>'),m9=R('<button class="expand-btn svelte-1twuiul"> </button>'),_9=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>'),v9=R('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),b9=R('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),y9=R("<div><!></div>"),w9=R('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),S9=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>'),C9=R('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),x9=R('<div class="chat-error svelte-1twuiul"> </div>'),L9=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>'),k9=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>'),I9=R('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),D9=R('<button class="send-btn svelte-1twuiul">↑</button>'),E9=R('<option class="svelte-1twuiul"> </option>'),P9=R('<select class="model-select svelte-1twuiul"></select>'),T9=R('<span class="model-name svelte-1twuiul"> </span>'),M9=R('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),N9=R('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),R9=R('<p class="info-status svelte-1twuiul">Loading…</p>'),A9=R('<p class="info-status info-err svelte-1twuiul"> </p>'),O9=R('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),F9=R('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),H9=R('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),W9=R('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),B9=R('<div class="running-model svelte-1twuiul"> </div>'),z9=R('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),V9=R('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),j9=R('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),U9=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>'),$9=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 q9(o,e){Oo(e,!0),Jv.registerLanguage("javascript",IR),Fn.use({breaks:!0,gfm:!0});let t=og(e,"currentView",3,null);const i="she:viewchat:messages";let n=B(_i(JSON.parse(localStorage.getItem(i)??"[]"))),s=B(null),r=B(""),a=B(!1),c=B(""),h=B(null),g=B(_i([])),f=B(_i(localStorage.getItem("she:selectedModel")??""));Bn(()=>{localStorage.setItem(i,JSON.stringify(u(n)))});let p=B(_i(new Set)),v=B(!1),_=B(null),w=B(!1),S=B(""),D=null,P=B(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 V=B(!0),W=B(!0),J=B(!0),X=B(_i([])),pe=B(!0),Ce=B(!1),ze,ve=B(_i([])),nt=B(0),Ft,wt;const ai=rt(()=>({apiref:!1,shedb:u(V),sampleDocs:u(W),tools:u(J)})),zt=rt(()=>{var A;return((A=u(h))==null?void 0:A.configured)??!1}),ti=rt(()=>u(nt)+new TextEncoder().encode(u(r)).length),Ae=rt(()=>u(pe)?t():null);async function Ze(){try{const A=await mR();k(h,A,!0),A.configured&&!u(f)&&k(f,A.model,!0)}catch{}}Bn(()=>(window.addEventListener("she:config-changed",Ze),()=>window.removeEventListener("she:config-changed",Ze))),Sr(()=>{Ze()}),Bn(()=>{u(f)&&localStorage.setItem("she:selectedModel",u(f))}),Bn(()=>{var A;(A=u(h))!=null&&A.provider&&_R().then(K=>{k(g,K.models,!0),!u(f)&&K.models.length>0&&k(f,K.models[0],!0)}).catch(()=>{})}),Bn(()=>{u(f),k(_,null),k(S,"")}),Bn(()=>{const A=u(ai),K=u(Ae),Pe=u(X);u(zt)&&bR({context:A,currentView:K??null,extraFiles:Pe.length>0?Pe:void 0}).then(Te=>{k(nt,new TextEncoder().encode(Te.prompt).length,!0)}).catch(()=>{})}),Bn(()=>{if(!u(a))return;k(P,Math.floor(Math.random()*N.length),!0);const A=setInterval(()=>{k(P,(u(P)+1)%N.length)},1e4);return()=>clearInterval(A)}),Bn(()=>{var A;wt&&(u(n).length+(((A=u(s))==null?void 0:A.length)??0),requestAnimationFrame(()=>{wt&&(wt.scrollTop=wt.scrollHeight)}))});function Oe(A){const K=[],Pe=/```(\w*)\n([\s\S]*?)```/g;let Te=0,Fe;for(;(Fe=Pe.exec(A))!==null;)Fe.index>Te&&K.push({type:"text",text:A.slice(Te,Fe.index)}),K.push({type:"code",lang:Fe[1]||"text",text:Fe[2].trimEnd()}),Te=Fe.index+Fe[0].length;return Te<A.length&&K.push({type:"text",text:A.slice(Te)}),K}function st(A){const K=[],Pe=/```(\w*)\n([\s\S]*?)```/g;let Te=0,Fe;for(;(Fe=Pe.exec(A))!==null;)Fe.index>Te&&K.push({type:"text",text:A.slice(Te,Fe.index)}),K.push({type:"code",lang:Fe[1]||"text",text:Fe[2].trimEnd()}),Te=Fe.index+Fe[0].length;const Ne=A.slice(Te),re=Ne.match(/```(\w*)\n([\s\S]*)$/);return re?(re.index>0&&K.push({type:"text",text:Ne.slice(0,re.index)}),K.push({type:"code",lang:re[1]||"text",text:re[2]})):Ne&&K.push({type:"text",text:Ne}),K}function At(A){const K={};for(const Pe of A)if(Pe.type==="code"){if(Pe.lang==="filter")K.filter=Pe.text.trim();else if(qi(Pe.lang)){const Te=Pe.text.split(`
218
- `)[0].trim();Te==="// @view-map"?K.map=Pe.text.split(`
219
- `).slice(1).join(`
220
- `).trim():Te==="// @view-reduce"&&(K.reduce=Pe.text.split(`
221
- `).slice(1).join(`
222
- `).trim())}}return K}function ni(A){return A.filter!==void 0||A.map!==void 0||A.reduce!==void 0}function Xt(A){const K=[];return A.filter!==void 0&&K.push("filter"),A.map!==void 0&&K.push("map"),A.reduce!==void 0&&K.push("reduce"),`Apply ${K.join(" + ")}`}const Wt=15;function _t(A){return A.split(`
223
- `).length>Wt}function xi(A){const K=new Set(u(p));K.has(A)?K.delete(A):K.add(A),k(p,K,!0)}function mi(A,K){if(qi(K))try{return Jv.highlight(A,{language:"javascript"}).value}catch{}return A.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function En(A){return Fn.parse(A)}function qi(A){return!A||A==="js"||A==="javascript"}function Hn(A){navigator.clipboard.writeText(A).catch(()=>{})}async function en(){if(k(v,!0),!(u(_)||u(w))){k(w,!0),k(S,"");try{k(_,await vR(u(f)||u(h).model),!0)}catch(A){k(S,A.message,!0)}k(w,!1)}}function Di(A){return A>=1e9?`${(A/1e9).toFixed(1)} GB`:A>=1e6?`${(A/1e6).toFixed(0)} MB`:`${A} B`}function Pn(A){const K=A.match(/\.([^.]+)$/);return K?K[1].toUpperCase():"?"}function tn(A){switch(A){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return A}}function Sn(A){k(X,u(X).filter((K,Pe)=>Pe!==A),!0)}function Zi(){ze.click()}async function Fi(A){if(!(!A||A.length===0))for(const K of Array.from(A)){const Pe=await K.text();k(X,[...u(X),{name:K.name,content:Pe}],!0)}}function cn(A){const K=A.target;Fi(K.files),K.value=""}function Tn(A){var K;A.preventDefault(),k(Ce,!1),Fi(((K=A.dataTransfer)==null?void 0:K.files)??null)}function Mn(A){var K;(K=A.dataTransfer)!=null&&K.types.includes("Files")&&(A.preventDefault(),k(Ce,!0))}function Un(){k(Ce,!1)}async function Cn(){const A=u(r).trim();if(!(!A||u(a))){k(r,""),k(c,""),k(a,!0),k(n,[...u(n),{role:"user",content:A}],!0),D=new AbortController,k(ve,[],!0);try{await yR({messages:u(n),currentView:u(Ae),context:u(ai),modelOverride:u(f)||void 0,extraFiles:u(X).length>0?u(X):void 0},K=>{k(s,(u(s)??"")+K)},D.signal,K=>{k(ve,[...u(ve),K],!0)}),k(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(ve).length>0?[...u(ve)]:void 0}],!0),k(ve,[],!0)}catch(K){if(K.name==="AbortError"){const Pe=u(s);Pe!=null&&Pe.trim()&&k(n,[...u(n),{role:"assistant",content:Pe+`
224
-
225
- *[stopped]*`,toolEvents:u(ve).length>0?[...u(ve)]:void 0}],!0)}else k(c,K.message,!0)}finally{D=null,k(s,null),k(ve,[],!0),k(a,!1)}}}function nn(){D==null||D.abort()}function sn(A){A.key==="Enter"&&!A.shiftKey&&(A.preventDefault(),Cn())}function Ke(){k(n,[],!0),k(c,"")}const Ot=["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 li(A){k(r,A,!0),Ft==null||Ft.focus()}var Ei=$9(),Ci=yt(Ei),fn=C(Ci),pn=x(C(fn),2);{var Nn=A=>{var K=c9(),Pe=C(K);{var Te=Ne=>{var re=$r();G(()=>q(re,`${u(h).provider??""} · ${(u(f)||u(h).model)??""}`)),T(Ne,re)},Fe=Ne=>{var re=$r("Not configured");T(Ne,re)};$(Pe,Ne=>{u(zt)?Ne(Te):Ne(Fe,-1)})}G(()=>On(K,"title",`Provider: ${u(h).provider??""}`)),T(A,K)};$(pn,A=>{u(h)&&A(Nn)})}var Rn=x(pn,2);{var Xn=A=>{var K=d9();te("click",K,Ke),T(A,K)};$(Rn,A=>{u(n).length>0&&A(Xn)})}var Gn=x(fn,2),xn=C(Gn);{var Re=A=>{var K=h9();T(A,K)},Z=A=>{var K=f9(),Pe=C(K),Te=C(Pe);{var Fe=Qe=>{var je=u9(),xe=x(yt(je)),St=C(xe);G(()=>q(St,t().id)),T(Qe,je)},Ne=Qe=>{var je=$r("No view selected. Ask a general sheDB view question.");T(Qe,je)};$(Te,Qe=>{t()?Qe(Fe):Qe(Ne,-1)})}var re=x(Pe,2);pi(re,17,()=>Ot,zn,(Qe,je)=>{var xe=g9(),St=C(xe);G(()=>q(St,u(je))),te("click",xe,()=>li(u(je))),T(Qe,xe)}),T(A,K)};$(xn,A=>{u(zt)?u(n).length===0&&u(s)===null&&A(Z,1):A(Re)})}var Ee=x(xn,2);pi(Ee,17,()=>u(n),zn,(A,K,Pe)=>{var Te=y9(),Fe=C(Te);{var Ne=Qe=>{var je=p9(),xe=C(je);G(()=>q(xe,u(K).content)),T(Qe,je)},re=Qe=>{const je=rt(()=>Oe(u(K).content)),xe=rt(()=>At(u(je)));var St=b9(),Me=yt(St);{var F=gt=>{var ye=$D();pi(ye,21,()=>u(K).toolEvents,zn,(Pt,ut)=>{var ue=Fs(),bt=yt(ue);{var Xe=ce=>{var _e=jD(),et=x(C(_e)),Bt=C(et);G(fe=>q(Bt,fe),[()=>u(ut).name.replace(/_/g," ")]),T(ce,_e)},ke=ce=>{var _e=UD(),et=x(C(_e)),Bt=C(et);G(fe=>q(Bt,fe),[()=>u(ut).name.replace(/_/g," ")]),T(ce,_e)};$(bt,ce=>{u(ut).type==="tool_call"?ce(Xe):ce(ke,-1)})}T(Pt,ue)}),T(gt,ye)};$(Me,gt=>{var ye;(ye=u(K).toolEvents)!=null&&ye.length&&gt(F)})}var Y=x(Me,2),Le=C(Y);pi(Le,17,()=>u(je),zn,(gt,ye,Pt)=>{var ut=Fs(),ue=yt(ut);{var bt=ke=>{var ce=qD();ql(ce,()=>En(u(ye).text),!0),T(ke,ce)},Xe=ke=>{const ce=rt(()=>`${Pe}:${Pt}`),_e=rt(()=>_t(u(ye).text)),et=rt(()=>u(p).has(u(ce))),Bt=rt(()=>u(ye).lang==="filter");var fe=_9(),$e=C(fe),ft=C($e),Tt=C(ft),Ye=x(ft,2),ci=C(Ye),Jt=x($e,2);let $n;var on=C(Jt),oi=C(on);ql(oi,()=>mi(u(ye).text,u(ye).lang??""),!0);var Gt=x(on,2);{var mn=ri=>{var rn=m9(),an=C(rn);G(()=>q(an,u(et)?"▲ collapse":"▼ expand")),te("click",rn,()=>xi(u(ce))),T(ri,rn)};$(Gt,ri=>{u(_e)&&ri(mn)})}G(()=>{q(Tt,u(Bt)?"filter":u(ye).lang),$n=qt(Jt,1,"code-body svelte-1twuiul",null,$n,{collapsed:u(_e)&&!u(et)})}),te("click",ci,()=>Hn(u(ye).text)),T(ke,fe)};$(ue,ke=>{u(ye).type==="text"?ke(bt):ke(Xe,-1)})}T(gt,ut)});var Ge=x(Le,2);{var it=gt=>{var ye=v9(),Pt=C(ye),ut=C(Pt);G(ue=>q(ut,ue),[()=>Xt(u(xe))]),te("click",Pt,()=>e.onApplyView(u(xe))),T(gt,ye)},lt=rt(()=>ni(u(xe))&&e.onApplyView);$(Ge,gt=>{u(lt)&&gt(it)})}T(Qe,St)};$(Fe,Qe=>{u(K).role==="user"?Qe(Ne):Qe(re,-1)})}G(()=>qt(Te,1,`message ${u(K).role??""}`,"svelte-1twuiul")),T(A,Te)});var vt=x(Ee,2);{var Ct=A=>{var K=$D();pi(K,21,()=>u(ve),zn,(Pe,Te)=>{var Fe=Fs(),Ne=yt(Fe);{var re=je=>{var xe=jD(),St=x(C(xe)),Me=C(St);G(F=>q(Me,F),[()=>u(Te).name.replace(/_/g," ")]),T(je,xe)},Qe=je=>{var xe=UD(),St=x(C(xe)),Me=C(St);G(F=>q(Me,F),[()=>u(Te).name.replace(/_/g," ")]),T(je,xe)};$(Ne,je=>{u(Te).type==="tool_call"?je(re):je(Qe,-1)})}T(Pe,Fe)}),T(A,K)};$(vt,A=>{u(ve).length>0&&A(Ct)})}var $t=x(vt,2);{var O=A=>{var K=w9(),Pe=C(K),Te=C(Pe),Fe=C(Te);G(()=>q(Fe,N[u(P)])),T(A,K)};$($t,A=>{u(a)&&u(s)===null&&u(ve).length===0&&A(O)})}var se=x($t,2);{var be=A=>{var K=C9(),Pe=C(K);pi(Pe,21,()=>st(u(s)),zn,(Te,Fe)=>{var Ne=Fs(),re=yt(Ne);{var Qe=xe=>{var St=qD();ql(St,()=>En(u(Fe).text),!0),T(xe,St)},je=xe=>{var St=S9(),Me=C(St),F=C(Me),Y=C(F),Le=x(Me,2),Ge=C(Le);ql(Ge,()=>mi(u(Fe).text,u(Fe).lang??""),!0),G(()=>q(Y,u(Fe).lang)),T(xe,St)};$(re,xe=>{u(Fe).type==="text"?xe(Qe):xe(je,-1)})}T(Te,Ne)}),T(A,K)};$(se,A=>{u(s)!==null&&A(be)})}ys(Gn,A=>wt=A,()=>wt);var j=x(Gn,2);{var me=A=>{var K=x9(),Pe=C(K);G(()=>q(Pe,u(c))),T(A,K)};$(j,A=>{u(c)&&A(me)})}var Ue=x(j,2),Ie=C(Ue),De=C(Ie),tt=x(Ie,2),Yt=C(tt),ht=x(tt,2),he=C(ht),at=x(ht,2),Vt=C(at),jt=x(Ue,2),si=C(jt);{var hi=A=>{var K=L9();let Pe;var Te=x(C(K),2),Fe=C(Te),Ne=x(Te,2),re=C(Ne);G(()=>{Pe=qt(K,1,"file-chip svelte-1twuiul",null,Pe,{inactive:!u(pe)}),q(Fe,t().id),On(Ne,"title",u(pe)?"Remove from context":"Re-add to context"),q(re,u(pe)?"×":"+")}),te("click",Ne,()=>k(pe,!u(pe))),T(A,K)};$(si,A=>{t()&&A(hi)})}var Q=x(si,2);pi(Q,17,()=>u(X),zn,(A,K,Pe)=>{const Te=rt(()=>Pn(u(K).name));var Fe=k9(),Ne=C(Fe),re=C(Ne),Qe=x(Ne,2),je=C(Qe),xe=x(Qe,2);G((St,Me)=>{qt(Ne,1,`badge badge-${St??""}`,"svelte-1twuiul"),q(re,Me),q(je,u(K).name)},[()=>u(Te).toLowerCase(),()=>tn(u(Te))]),te("click",xe,()=>Sn(Pe)),T(A,Fe)});var ge=x(Q,2),Ve=x(ge,2);ys(Ve,A=>ze=A,()=>ze);var ot=x(jt,2);let Lt;var Je=C(ot);let kt;var ei=C(Je);ys(ei,A=>Ft=A,()=>Ft);var Ut=x(Je,2);{var Rt=A=>{var K=I9();te("click",K,nn),T(A,K)},yi=A=>{var K=D9();G(Pe=>K.disabled=Pe,[()=>!u(r).trim()||!u(zt)]),te("click",K,Cn),T(A,K)};$(Ut,A=>{u(a)?A(Rt):A(yi,-1)})}var dn=x(ot,2);{var Hi=A=>{var K=N9(),Pe=C(K),Te=C(Pe),Fe=x(Pe,2);{var Ne=xe=>{var St=P9();pi(St,21,()=>u(g),zn,(Me,F)=>{var Y=E9(),Le=C(Y),Ge={};G(()=>{q(Le,u(F)),Ge!==(Ge=u(F))&&(Y.value=(Y.__value=u(F))??"")}),T(Me,Y)}),G(()=>St.disabled=u(a)),ba(St,()=>u(f),Me=>k(f,Me)),T(xe,St)},re=xe=>{var St=T9(),Me=C(St);G(()=>q(Me,u(f)||u(h).model)),T(xe,St)};$(Fe,xe=>{u(g).length>0?xe(Ne):xe(re,-1)})}var Qe=x(Fe,2);{var je=xe=>{var St=M9();te("click",St,en),T(xe,St)};$(Qe,xe=>{u(h).provider==="ollama"&&xe(je)})}G(()=>q(Te,u(h).provider)),T(A,K)};$(dn,A=>{u(zt)&&u(h)&&A(Hi)})}var ii=x(Ci,2);{var ji=A=>{var K=U9(),Pe=C(K),Te=C(Pe),Fe=C(Te),Ne=C(Fe),re=x(Fe,2),Qe=x(Te,2),je=C(Qe);{var xe=F=>{var Y=R9();T(F,Y)},St=F=>{var Y=A9(),Le=C(Y);G(()=>q(Le,u(S))),T(F,Y)},Me=F=>{var Y=j9(),Le=C(Y);{var Ge=ke=>{var ce=O9(),_e=x(yt(ce)),et=C(_e);G(()=>q(et,u(_).version)),T(ke,ce)};$(Le,ke=>{u(_).version&&ke(Ge)})}var it=x(Le,2);{var lt=ke=>{var ce=F9(),_e=x(yt(ce)),et=C(_e);G(()=>q(et,u(_).details.family)),T(ke,ce)};$(it,ke=>{var ce;(ce=u(_).details)!=null&&ce.family&&ke(lt)})}var gt=x(it,2);{var ye=ke=>{var ce=H9(),_e=x(yt(ce)),et=C(_e);G(()=>q(et,u(_).details.parameter_size)),T(ke,ce)};$(gt,ke=>{var ce;(ce=u(_).details)!=null&&ce.parameter_size&&ke(ye)})}var Pt=x(gt,2);{var ut=ke=>{var ce=W9(),_e=x(yt(ce)),et=C(_e);G(()=>q(et,u(_).details.quantization_level)),T(ke,ce)};$(Pt,ke=>{var ce;(ce=u(_).details)!=null&&ce.quantization_level&&ke(ut)})}var ue=x(Pt,2);{var bt=ke=>{var ce=z9(),_e=x(yt(ce),2);pi(_e,21,()=>u(_).running,zn,(et,Bt)=>{var fe=B9(),$e=C(fe);G(ft=>q($e,`${u(Bt).name??""} · ${ft??""} VRAM`),[()=>Di(u(Bt).size_vram)]),T(et,fe)}),T(ke,ce)},Xe=ke=>{var ce=V9();T(ke,ce)};$(ue,ke=>{u(_).running&&u(_).running.length>0?ke(bt):u(_).running!==null&&ke(Xe,1)})}T(F,Y)};$(je,F=>{u(w)?F(xe):u(S)?F(St,1):u(_)&&F(Me,2)})}G(()=>{var F;return q(Ne,`Ollama · ${(u(f)||((F=u(h))==null?void 0:F.model))??""}`)}),te("click",K,()=>k(v,!1)),te("click",Pe,F=>F.stopPropagation()),te("click",re,()=>k(v,!1)),T(A,K)};$(ii,A=>{u(v)&&A(ji)})}G(A=>{q(Vt,A),Lt=qt(ot,1,"input-row svelte-1twuiul",null,Lt,{"drag-over":u(Ce)}),kt=qt(Je,1,"textarea-wrap svelte-1twuiul",null,kt,{loading:u(a)}),On(ei,"placeholder",u(zt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),ei.disabled=u(a)||!u(zt)},[()=>Di(u(ti))]),As(De,()=>u(V),A=>k(V,A)),As(Yt,()=>u(W),A=>k(W,A)),As(he,()=>u(J),A=>k(J,A)),te("click",ge,Zi),te("change",Ve,cn),rs("dragover",ot,Mn),rs("dragleave",ot,Un),rs("drop",ot,Tn),te("keydown",ei,sn),Ri(ei,()=>u(r),A=>k(r,A)),T(o,Ei),Fo()}wr(["click","change","keydown"]);var K9=R('<div class="me svelte-1pxdb1"></div>');function Qw(o,e){Oo(e,!0);let t=og(e,"value",15,""),i=og(e,"language",3,"javascript"),n,s,r=!1;Sr(()=>{const c=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=Qo.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())})}),Sy(()=>s==null?void 0:s.dispose()),Bn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=K9();ys(a,c=>n=c,()=>n),T(o,a),Fo()}var G9=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),Z9=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>'),KD=R('<div class="form-error svelte-rrt0o"> </div>'),X9=R('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),GD=R("<li> </li>"),ZD=R('<div class="error-bar svelte-rrt0o"> </div>'),XD=R('<div class="loading svelte-rrt0o">Loading…</div>'),Y9=R('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),J9=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),Q9=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>'),eZ=R('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),tZ=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>'),iZ=R('<span class="badge-error svelte-rrt0o">error</span>'),nZ=R('<span class="badge-ok svelte-rrt0o"> </span>'),sZ=R('<pre class="result-error svelte-rrt0o"> </pre>'),oZ=R('<pre class="result-json svelte-rrt0o"> </pre>'),rZ=R('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),aZ=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>'),lZ=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),cZ=R('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),dZ=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>'),hZ=R('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function uZ(o,e){Oo(e,!0);const t=Re=>{var Z=G9(),Ee=yt(Z);ys(Rg(Ee,{}),vt=>tn=vt,()=>tn),T(Re,Z)};let i=B(_i([])),n=B(null),s=B("{}"),r=B(!1),a=B(null);const c="she-db-selected-view";let h=B(_i([])),g=B(_i(localStorage.getItem(c))),f=B("#"),p=B("// emit(this.someProperty)"),v=B(""),_=B(""),w=B(!1),S=B(!1),D=B(null),P=B(!1),N=B(null),V=B("she/db/view/");const W="she-db-panel";let J=B(_i(localStorage.getItem(W)??"docs")),X=B(""),pe=B(!1),Ce=B(null),ze=B(""),ve=B(!1),nt=B(null);const Ft="she-db-sidebar-width";let wt=B(_i(parseInt(localStorage.getItem(Ft)??"220",10))),ai=!1,zt=0,ti=0;const Ae="she-db-chat-width",Ze="she-db-chat-open";let Oe=B(localStorage.getItem(Ze)==="true"),st=B(_i(parseInt(localStorage.getItem(Ae)??"320",10))),At=!1,ni=0,Xt=0;const Wt=rt(()=>u(g)?{id:u(g),filter:u(f),map:u(p),reduce:u(v)}:null);function _t(Re){Re.filter!==void 0&&k(f,Re.filter,!0),Re.map!==void 0&&k(p,Re.map,!0),Re.reduce!==void 0&&k(v,Re.reduce,!0)}Bn(()=>{localStorage.setItem(Ze,String(u(Oe)))}),Bn(()=>{localStorage.setItem(W,u(J))}),Bn(()=>{u(g)?localStorage.setItem(c,u(g)):localStorage.removeItem(c)});function xi(Re){ai=!0,zt=Re.clientX,ti=u(wt),Re.preventDefault()}function mi(Re){ai&&k(wt,Math.max(140,Math.min(500,ti+Re.clientX-zt)),!0),At&&k(st,Math.max(240,Math.min(600,Xt-(Re.clientX-ni))),!0)}function En(){ai&&(ai=!1,localStorage.setItem(Ft,String(u(wt)))),At&&(At=!1,localStorage.setItem(Ae,String(u(st))))}function qi(Re){At=!0,ni=Re.clientX,Xt=u(st),Re.preventDefault()}async function Hn(){try{k(i,await uR(),!0)}catch{}}async function en(){try{k(h,await gR(),!0)}catch{}}async function Di(Re){k(n,Re,!0),k(a,null),k(r,!0);try{const Z=await o7(Re);k(s,JSON.stringify(Z,null,2),!0)}catch(Z){k(a,Z instanceof Error?Z.message:String(Z),!0)}finally{k(r,!1)}}async function Pn(){if(u(n)){k(a,null);try{const Re=JSON.parse(u(s));await vD(u(n),Re)}catch(Re){k(a,Re instanceof Error?Re.message:String(Re),!0)}}}let tn;async function Sn(){if(u(n)&&await tn.show(`Delete document "${u(n)}"?`,{confirm:"Delete",danger:!0}))try{await r7(u(n)),k(n,null),k(s,"{}")}catch(Re){k(a,Re instanceof Error?Re.message:String(Re),!0)}}async function Zi(){const Re=u(X).trim();if(Re){k(Ce,null);try{await vD(Re,{}),k(pe,!1),k(X,""),await Di(Re)}catch(Z){k(Ce,Z instanceof Error?Z.message:String(Z),!0)}}}async function Fi(Re){k(g,Re,!0),k(N,null),k(P,!0),k(D,null);try{const Z=await a7(Re);k(f,Z.filter??"",!0),k(p,Z.map,!0),k(v,Z.reduce??"",!0),k(_,Z.description??"",!0),k(w,Z.mqttpub??!1,!0),k(S,Z.retain??!1,!0),k(D,await Yw(Re).catch(()=>null),!0)}catch(Z){k(N,Z instanceof Error?Z.message:String(Z),!0)}finally{k(P,!1)}}async function cn(){if(u(g)){k(N,null);try{const Re={map:u(p)};u(f).trim()&&(Re.filter=u(f).trim()),u(v).trim()&&(Re.reduce=u(v).trim()),u(_).trim()&&(Re.description=u(_).trim()),u(w)&&(Re.mqttpub=!0),u(S)&&(Re.retain=!0),await bD(u(g),Re)}catch(Re){k(N,Re instanceof Error?Re.message:String(Re),!0)}}}async function Tn(){if(u(g))try{k(D,await Yw(u(g)),!0)}catch(Re){k(N,Re instanceof Error?Re.message:String(Re),!0)}}async function Mn(){if(u(g)&&await tn.show(`Delete view "${u(g)}"?`,{confirm:"Delete",danger:!0}))try{await l7(u(g)),k(g,null),k(f,""),k(p,"// emit(this.someProperty)"),k(v,""),k(_,""),k(w,!1),k(S,!1),k(D,null)}catch(Re){k(N,Re instanceof Error?Re.message:String(Re),!0)}}async function Un(){if(!u(ze).trim())return;const Re=u(ze).trim();k(nt,null);try{await bD(Re,{map:"// emit(this.someProperty)"}),k(ve,!1),k(ze,""),await en(),await Fi(Re)}catch(Z){k(nt,Z instanceof Error?Z.message:String(Z),!0)}}let Cn=B(""),nn=B(""),sn=rt(()=>[...u(i)].filter(Re=>!u(Cn)||Re.toLowerCase().includes(u(Cn).toLowerCase())).sort()),Ke=rt(()=>[...u(h)].filter(Re=>!u(nn)||Re.toLowerCase().includes(u(nn).toLowerCase())).sort());Sr(()=>{Hn(),en().then(()=>{u(g)&&u(h).includes(u(g))?Fi(u(g)):k(g,null)}),rL().then(Ct=>{const $t=Ct.dbPrefix||"she/db/",O=$t.endsWith("/")?$t:$t+"/";k(V,O+"view/")}).catch(()=>{});const Re=el("db:ids",Ct=>{k(i,Ct.ids??[],!0)}),Z=el("db:viewIds",Ct=>{k(h,Ct.ids??[],!0)}),Ee=el("db:change",async Ct=>{const $t=Ct.id;u(n)===$t&&(Ct.doc===null?(k(n,null),k(s,"{}")):k(s,JSON.stringify(Ct.doc,null,2),!0))}),vt=el("db:viewUpdate",async Ct=>{const $t=Ct.id;u(g)===$t&&k(D,await Yw($t).catch(()=>null),!0)});return()=>{Re(),Z(),Ee(),vt()}});var Ot=hZ(),li=C(Ot),Ei=C(li);let Ci;var fn=x(Ei,2);let pn;var Nn=x(fn,2);{var Rn=Re=>{var Z=Z9();let Ee;G(()=>{Ee=qt(Z,1,"ai-toggle svelte-rrt0o",null,Ee,{"ai-open":u(Oe)}),On(Z,"title",u(Oe)?"Close AI assistant":"Open AI assistant")}),te("click",Z,()=>k(Oe,!u(Oe))),T(Re,Z)};$(Nn,Re=>{u(J)==="views"&&Re(Rn)})}var Xn=x(li,2);{var Gn=Re=>{var Z=Q9(),Ee=C(Z);let vt;var Ct=C(Ee),$t=C(Ct),O=x(Ct,2);{var se=ht=>{var he=X9(),at=yt(he),Vt=C(at),jt=x(Vt,2),si=x(at,2);{var hi=Q=>{var ge=KD(),Ve=C(ge);G(()=>q(Ve,u(Ce))),T(Q,ge)};$(si,Q=>{u(Ce)&&Q(hi)})}te("keydown",Vt,Q=>Q.key==="Enter"&&Zi()),Ri(Vt,()=>u(X),Q=>k(X,Q)),te("click",jt,Zi),T(ht,he)};$(O,ht=>{u(pe)&&ht(se)})}var be=x(O,2),j=C(be),me=x(be,2);pi(me,20,()=>u(sn),ht=>ht,(ht,he)=>{var at=GD();let Vt;var jt=C(at);G(()=>{Vt=qt(at,1,"flat-item svelte-rrt0o",null,Vt,{"active-item":u(n)===he}),q(jt,he)}),te("click",at,()=>Di(he)),T(ht,at)});var Ue=x(Ee,2),Ie=x(Ue,2),De=C(Ie);{var tt=ht=>{var he=J9(),at=yt(he),Vt=C(at),jt=C(Vt),si=x(Vt,2),hi=x(si,2),Q=x(at,2);{var ge=Je=>{var kt=ZD(),ei=C(kt);G(()=>q(ei,u(a))),T(Je,kt)};$(Q,Je=>{u(a)&&Je(ge)})}var Ve=x(Q,2);{var ot=Je=>{var kt=XD();T(Je,kt)},Lt=Je=>{var kt=Y9(),ei=C(kt);Qw(ei,{language:"json",get value(){return u(s)},set value(Ut){k(s,Ut,!0)}}),T(Je,kt)};$(Ve,Je=>{u(r)?Je(ot):Je(Lt,-1)})}G(()=>q(jt,u(n))),te("click",si,Pn),te("click",hi,Sn),T(ht,he)},Yt=ht=>{t(ht)};$(De,ht=>{u(n)?ht(tt):ht(Yt,-1)})}G(()=>vt=Do(Ee,"",vt,{width:`${u(wt)??""}px`})),te("click",$t,()=>{k(pe,!u(pe)),k(Ce,null)}),Ri(j,()=>u(Cn),ht=>k(Cn,ht)),te("mousedown",Ue,xi),T(Re,Z)},xn=Re=>{var Z=dZ(),Ee=C(Z);let vt;var Ct=C(Ee),$t=C(Ct),O=x(Ct,2);{var se=at=>{var Vt=eZ(),jt=yt(Vt),si=C(jt),hi=x(si,2),Q=x(jt,2);{var ge=Ve=>{var ot=KD(),Lt=C(ot);G(()=>q(Lt,u(nt))),T(Ve,ot)};$(Q,Ve=>{u(nt)&&Ve(ge)})}te("keydown",si,Ve=>Ve.key==="Enter"&&Un()),Ri(si,()=>u(ze),Ve=>k(ze,Ve)),te("click",hi,Un),T(at,Vt)};$(O,at=>{u(ve)&&at(se)})}var be=x(O,2),j=C(be),me=x(be,2);pi(me,20,()=>u(Ke),at=>at,(at,Vt)=>{var jt=GD();let si;var hi=C(jt);G(()=>{si=qt(jt,1,"flat-item svelte-rrt0o",null,si,{"active-item":u(g)===Vt}),q(hi,Vt)}),te("click",jt,()=>Fi(Vt)),T(at,jt)});var Ue=x(Ee,2),Ie=x(Ue,2),De=C(Ie);{var tt=at=>{var Vt=lZ(),jt=yt(Vt),si=C(jt),hi=C(si),Q=x(si,2),ge=x(Q,2),Ve=x(ge,2),ot=x(jt,2);{var Lt=Ut=>{var Rt=ZD(),yi=C(Rt);G(()=>q(yi,u(N))),T(Ut,Rt)};$(ot,Ut=>{u(N)&&Ut(Lt)})}var Je=x(ot,2);{var kt=Ut=>{var Rt=XD();T(Ut,Rt)},ei=Ut=>{var Rt=aZ(),yi=C(Rt),dn=x(C(yi),2),Hi=C(dn),ii=x(yi,2),ji=x(C(ii),2),A=C(ji),K=x(ii,2),Pe=x(C(K),2),Te=C(Pe);Qw(Te,{language:"javascript",get value(){return u(p)},set value(lt){k(p,lt,!0)}});var Fe=x(K,2),Ne=x(C(Fe),2),re=C(Ne);Qw(re,{language:"javascript",get value(){return u(v)},set value(lt){k(v,lt,!0)}});var Qe=x(Fe,2),je=C(Qe),xe=C(je),St=x(xe,4),Me=x(C(St)),F=C(Me),Y=x(je,2);{var Le=lt=>{var gt=tZ(),ye=C(gt);As(ye,()=>u(S),Pt=>k(S,Pt)),T(lt,gt)};$(Y,lt=>{u(w)&&lt(Le)})}var Ge=x(Qe,2);{var it=lt=>{var gt=rZ(),ye=C(gt),Pt=x(C(ye));{var ut=ce=>{var _e=iZ();T(ce,_e)},ue=ce=>{var _e=nZ(),et=C(_e);G(()=>q(et,`${u(D).length??0??""} items · rev ${u(D)._rev??""}`)),T(ce,_e)};$(Pt,ce=>{u(D).error?ce(ut):ce(ue,-1)})}var bt=x(ye,2);{var Xe=ce=>{var _e=sZ(),et=C(_e);G(()=>q(et,u(D).error)),T(ce,_e)},ke=ce=>{var _e=oZ(),et=C(_e);G(Bt=>q(et,Bt),[()=>JSON.stringify(u(D).result,null,2)]),T(ce,_e)};$(bt,ce=>{u(D).error?ce(Xe):ce(ke,-1)})}T(lt,gt)};$(Ge,lt=>{u(D)&&lt(it)})}G(()=>q(F,`${u(V)??""}${u(g)??""} on every update`)),Ri(Hi,()=>u(_),lt=>k(_,lt)),Ri(A,()=>u(f),lt=>k(f,lt)),As(xe,()=>u(w),lt=>k(w,lt)),T(Ut,Rt)};$(Je,Ut=>{u(P)?Ut(kt):Ut(ei,-1)})}G(()=>q(hi,u(g))),te("click",Q,cn),te("click",ge,Tn),te("click",Ve,Mn),T(at,Vt)},Yt=at=>{t(at)};$(De,at=>{u(g)?at(tt):at(Yt,-1)})}var ht=x(Ie,2);{var he=at=>{var Vt=cZ(),jt=yt(Vt),si=x(jt,2);let hi;var Q=C(si);q9(Q,{get currentView(){return u(Wt)},onApplyView:_t}),G(()=>hi=Do(si,"",hi,{width:`${u(st)??""}px`})),te("mousedown",jt,qi),T(at,Vt)};$(ht,at=>{u(Oe)&&at(he)})}G(()=>vt=Do(Ee,"",vt,{width:`${u(wt)??""}px`})),te("click",$t,()=>{k(ve,!u(ve)),k(nt,null)}),Ri(j,()=>u(nn),at=>k(nn,at)),te("mousedown",Ue,xi),T(Re,Z)};$(Xn,Re=>{u(J)==="docs"?Re(Gn):Re(xn,-1)})}G(()=>{Ci=qt(Ei,1,"svelte-rrt0o",null,Ci,{active:u(J)==="docs"}),pn=qt(fn,1,"svelte-rrt0o",null,pn,{active:u(J)==="views"})}),te("mousemove",Ot,mi),te("mouseup",Ot,En),rs("mouseleave",Ot,En),te("click",Ei,()=>k(J,"docs")),te("click",fn,()=>k(J,"views")),T(o,Ot),Fo()}wr(["mousemove","mouseup","click","keydown","mousedown"]);var gZ=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),fZ=R('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),YD=R('<p class="err svelte-1ua3isv"> </p>'),pZ=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>'),mZ=R('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),_Z=R('<span class="device-name svelte-1ua3isv"> </span>'),vZ=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>'),bZ=R('<li class="empty svelte-1ua3isv">No paired devices</li>'),yZ=R('<p class="info svelte-1ua3isv">Loading…</p>'),wZ=R('<p class="device-subtitle svelte-1ua3isv"> </p>'),SZ=R('<span class="ep-chip svelte-1ua3isv"> </span>'),CZ=R('<span class="attr-id svelte-1ua3isv"> </span>'),xZ=R('<button class="attr-action-btn svelte-1ua3isv"> </button>'),LZ=R('<div class="attr-actions svelte-1ua3isv"></div>'),kZ=R('<span class="cmd-sep svelte-1ua3isv">,</span>'),IZ=R('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),DZ=R('<span class="cmd-id svelte-1ua3isv"> </span>'),EZ=R("<!> <!>",1),PZ=R('<span class="cmd-list svelte-1ua3isv"></span>'),TZ=R(' <span class="cmd-id svelte-1ua3isv"> </span>',1),MZ=R('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),NZ=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>'),RZ=R('<th class="svelte-1ua3isv"> </th>'),AZ=R('<td class="svelte-1ua3isv"> </td>'),OZ=R('<tr class="svelte-1ua3isv"></tr>'),FZ=R('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),HZ=R('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),WZ=R('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),BZ=R('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),zZ=R('<span class="attr-val svelte-1ua3isv"> </span>'),VZ=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>'),jZ=R('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),UZ=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>'),$Z=R('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),qZ=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>'),KZ=R('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),GZ=R('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),ZZ=R('<span class="stream-badge svelte-1ua3isv"> </span>'),XZ=R('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),eS=R('&nbsp;<span class="e-sub svelte-1ua3isv"> </span>',1),YZ=R('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),JZ=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),QZ=R('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),eX=R('<div class="stream-body svelte-1ua3isv"><!></div>'),tX=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 iX(o,e){Oo(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,Ee,vt,Ct,$t){try{await w7(Z,Ee,vt,Ct,$t)}catch(O){console.error("matter command failed",O)}}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,Ee){const vt=n[Z];return Ee.map(Ct=>{const $t=typeof Ct=="number"?Ct:Number(Ct);return{id:$t,name:(vt==null?void 0:vt[$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=B(_i([])),f=_i(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 Ee=JSON.stringify(Z);return Ee.length>60?Ee.slice(0,57)+"…":Ee}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,Ee){return!!(Ee==="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,V=32;let W=0,J=B(_i([])),X=B(!0),pe=B(180),Ce=rt(()=>{const Z=Math.max(1,Math.floor((u(pe)-V)/N)+1);return u(J).slice(0,Z)});function ze(Z){Z.preventDefault();const Ee=Z.clientY,vt=u(pe);function Ct(O){k(pe,Math.max(60,Math.min(600,vt+Ee-O.clientY)),!0)}function $t(){document.removeEventListener("mousemove",Ct),document.removeEventListener("mouseup",$t)}document.addEventListener("mousemove",Ct),document.addEventListener("mouseup",$t)}let ve=B(null),nt=B(!1),Ft=B(null),wt=B(!1),ai=B("passcode"),zt=B(""),ti=B(""),Ae=B(""),Ze=B(!1),Oe=B(null),st=B("");const At="she:matter:selectedNodeId";async function ni(){try{k(g,await fR(),!0);for(const Z of u(g))N_(Z.nodeId).then(Ee=>{f.set(Z.nodeId,Ee)}).catch(()=>{});if(u(g).length>0&&!u(ve)){const Z=localStorage.getItem(At),Ee=Z&&u(g).find(vt=>vt.nodeId===Z)?Z:u(g)[0].nodeId;Xt(Ee)}}catch{k(g,[],!0)}}async function Xt(Z){k(nt,!0),k(Ft,null);try{k(ve,await N_(Z),!0),f.set(Z,u(ve)),localStorage.setItem(At,Z)}catch(Ee){k(Ft,Ee instanceof Error?Ee.message:String(Ee),!0)}finally{k(nt,!1)}}let Wt;async function _t(Z){var Ee;if(await Wt.show(`Unpair device ${Z}?`,{confirm:"Unpair",danger:!0}))try{await y7(Z),((Ee=u(ve))==null?void 0:Ee.nodeId)===Z&&k(ve,null),await ni()}catch(vt){k(Ft,vt instanceof Error?vt.message:String(vt),!0)}}async function xi(){k(Ze,!0),k(Oe,null);try{let Z;u(ai)==="passcode"?(Z={passcode:Number(u(zt))},u(ti)&&(Z={...Z,discriminator:Number(u(ti))})):Z={pairingCode:u(Ae).trim()},u(st).trim()&&(Z={...Z,discoveryAddress:u(st).trim()}),await b7(Z),k(wt,!1),k(zt,""),k(ti,""),k(Ae,""),k(st,""),await ni()}catch(Z){k(Oe,Z instanceof Error?Z.message:String(Z),!0)}finally{k(Ze,!1)}}Sr(()=>{ni()});const mi=el("matter:deviceList",Z=>{if(!Array.isArray(Z.devices))return;const Ee=Z.devices;for(const vt of Ee)f.has(vt.nodeId)||N_(vt.nodeId).then(Ct=>{f.set(vt.nodeId,Ct)}).catch(()=>{});k(g,Ee,!0)}),En=el("matter:deviceStatus",Z=>{if(Z.nodeId===void 0)return;const Ee=String(Z.nodeId),vt=!!Z.online;k(g,u(g).map(Ct=>Ct.nodeId===Ee?{...Ct,online:vt}:Ct),!0),k(J,[{id:W++,kind:"status",nodeId:Ee,online:vt,ts:Date.now()},...u(J).slice(0,P-1)],!0)}),qi=el("matter:attr",Z=>{const Ee=String(Z.nodeId),vt=Z.endpointId,Ct=String(Z.clusterName),$t=String(Z.attrName),O=Z.value;if(u(ve)&&u(ve).nodeId===Ee){const be=u(ve).endpoints.find(me=>me.endpointId===vt),j=be==null?void 0:be.clusters.find(me=>me.name===Ct);j&&(j.attrs[$t]=O)}const se=f.get(Ee);if(se){const be=se.endpoints.find(me=>me.endpointId===vt),j=be==null?void 0:be.clusters.find(me=>me.name===Ct);j&&(j.attrs[$t]=O)}k(J,[{id:W++,kind:"attr",nodeId:Ee,endpointId:vt,clusterName:Ct,attrName:$t,value:O,ts:Z.ts??Date.now()},...u(J).slice(0,P-1)],!0)});Sy(()=>{mi(),En(),qi()});var Hn=tX(),en=yt(Hn);ys(Rg(en,{}),Z=>Wt=Z,()=>Wt);var Di=x(en,2),Pn=C(Di),tn=C(Pn),Sn=C(tn),Zi=x(C(Sn),2),Fi=x(Sn,2);{var cn=Z=>{var Ee=pZ(),vt=C(Ee),Ct=C(vt);let $t;var O=x(Ct,2);let se;var be=x(vt,2);{var j=he=>{var at=gZ(),Vt=yt(at),jt=x(C(Vt)),si=x(Vt,2),hi=x(C(si));Ri(jt,()=>u(zt),Q=>k(zt,Q)),Ri(hi,()=>u(ti),Q=>k(ti,Q)),T(he,at)},me=he=>{var at=fZ(),Vt=x(C(at));Ri(Vt,()=>u(Ae),jt=>k(Ae,jt)),T(he,at)};$(be,he=>{u(ai)==="passcode"?he(j):he(me,-1)})}var Ue=x(be,2),Ie=x(C(Ue)),De=x(Ue,2);{var tt=he=>{var at=YD(),Vt=C(at);G(()=>q(Vt,u(Oe))),T(he,at)};$(De,he=>{u(Oe)&&he(tt)})}var Yt=x(De,2),ht=C(Yt);G(()=>{$t=qt(Ct,1,"svelte-1ua3isv",null,$t,{active:u(ai)==="passcode"}),se=qt(O,1,"svelte-1ua3isv",null,se,{active:u(ai)==="pairingCode"}),Yt.disabled=u(Ze),q(ht,u(Ze)?"Commissioning…":"Commission")}),te("click",Ct,()=>k(ai,"passcode")),te("click",O,()=>k(ai,"pairingCode")),Ri(Ie,()=>u(st),he=>k(st,he)),te("click",Yt,xi),T(Z,Ee)};$(Fi,Z=>{u(wt)&&Z(cn)})}var Tn=x(Fi,2),Mn=C(Tn);pi(Mn,17,()=>u(g),Z=>Z.nodeId,(Z,Ee)=>{var vt=vZ();let Ct;var $t=C(vt),O=C($t);let se;var be=x(O,2),j=C(be);{var me=De=>{var tt=mZ(),Yt=yt(tt),ht=C(Yt),he=x(Yt,2),at=C(he);G(()=>{q(ht,u(Ee).name),q(at,`#${u(Ee).nodeId??""}`)}),T(De,tt)},Ue=De=>{var tt=_Z(),Yt=C(tt);G(()=>q(Yt,`Node ${u(Ee).nodeId??""}`)),T(De,tt)};$(j,De=>{u(Ee).name?De(me):De(Ue,-1)})}var Ie=x($t,2);G(()=>{var De;Ct=qt(vt,1,"svelte-1ua3isv",null,Ct,{selected:((De=u(ve))==null?void 0:De.nodeId)===u(Ee).nodeId}),se=qt(O,1,"status-dot svelte-1ua3isv",null,se,{online:u(Ee).online})}),te("click",$t,()=>Xt(u(Ee).nodeId)),te("click",Ie,()=>_t(u(Ee).nodeId)),T(Z,vt)});var Un=x(Mn,2);{var Cn=Z=>{var Ee=bZ();T(Z,Ee)};$(Un,Z=>{u(g).length===0&&Z(Cn)})}var nn=x(tn,2),sn=C(nn);{var Ke=Z=>{var Ee=yZ();T(Z,Ee)},Ot=Z=>{var Ee=YD(),vt=C(Ee);G(()=>q(vt,u(Ft))),T(Z,Ee)},li=Z=>{var Ee=KZ(),vt=yt(Ee),Ct=C(vt),$t=C(Ct),O=x(Ct,2);{var se=Ue=>{var Ie=wZ(),De=C(Ie);G(()=>q(De,u(ve).subtitle)),T(Ue,Ie)};$(O,Ue=>{u(ve).subtitle&&Ue(se)})}var be=x(O,2),j=C(be),me=x(vt,2);pi(me,17,()=>u(ve).endpoints,Ue=>Ue.endpointId,(Ue,Ie)=>{var De=qZ(),tt=C(De),Yt=C(tt),ht=x(Yt),he=C(ht),at=x(ht,2);pi(at,21,()=>u(Ie).clusters,zn,(hi,Q)=>{var ge=SZ(),Ve=C(ge);G(()=>q(Ve,u(Q).name)),T(hi,ge)});var Vt=x(tt,2);{var jt=hi=>{var Q=UZ(),ge=x(C(Q));pi(ge,21,()=>u(Ie).clusters,zn,(Ve,ot)=>{var Lt=jZ(),Je=yt(Lt),kt=C(Je),ei=C(kt),Ut=x(Je,2);pi(Ut,17,()=>Object.entries(u(ot).attrs),zn,(Rt,yi)=>{var dn=rt(()=>bk(u(yi),2));let Hi=()=>u(dn)[0],ii=()=>u(dn)[1];var ji=Fs(),A=yt(ji);{var K=Te=>{const Fe=rt(()=>{var _e;return(_e=t[u(ot).name])==null?void 0:_e[Hi()]}),Ne=rt(()=>(Hi()==="acceptedCommandList"||Hi()==="generatedCommandList")&&Array.isArray(ii())),re=rt(()=>{var _e;return((_e=c[u(ot).name])==null?void 0:_e[Hi()])??a[Hi()]});var Qe=VZ(),je=C(Qe),xe=C(je),St=C(xe),Me=x(xe);{var F=_e=>{var et=CZ(),Bt=C(et);G(fe=>q(Bt,`(${fe??""})`),[()=>h(u(re))]),T(_e,et)};$(Me,_e=>{u(re)!==void 0&&_e(F)})}var Y=x(je),Le=C(Y);{var Ge=_e=>{var et=LZ();pi(et,21,()=>u(Fe),zn,(Bt,fe)=>{var $e=xZ(),ft=C($e);G(()=>q(ft,u(fe).label)),te("click",$e,()=>i(u(ve).nodeId,u(Ie).endpointId,u(ot).name,u(fe).command,u(fe).args)),T(Bt,$e)}),T(_e,et)};$(Le,_e=>{u(Fe)&&_e(Ge)})}var it=x(Y),lt=C(it);{var gt=_e=>{var et=PZ();pi(et,21,()=>s(u(ot).name,ii()),zn,(Bt,fe,$e)=>{var ft=EZ(),Tt=yt(ft);{var Ye=on=>{var oi=kZ();T(on,oi)};$(Tt,on=>{$e>0&&on(Ye)})}var ci=x(Tt,2);{var Jt=on=>{var oi=IZ(),Gt=yt(oi),mn=C(Gt),ri=x(Gt),rn=C(ri);G(()=>{q(mn,u(fe).name),q(rn,`(${u(fe).id??""})`)}),T(on,oi)},$n=on=>{var oi=DZ(),Gt=C(oi);G(()=>q(Gt,u(fe).id)),T(on,oi)};$(ci,on=>{u(fe).name?on(Jt):on($n,-1)})}T(Bt,ft)}),T(_e,et)},ye=_e=>{var et=NZ(),Bt=x(C(et));pi(Bt,21,ii,zn,(fe,$e)=>{const ft=rt(()=>u($e)),Tt=rt(()=>u(ft).deviceType),Ye=rt(()=>r[u(Tt)]);var ci=MZ(),Jt=C(ci),$n=C(Jt);{var on=ri=>{var rn=TZ(),an=yt(rn),Ts=x(an),Zo=C(Ts);G(Cr=>{q(an,`${u(Ye)??""} `),q(Zo,`(${Cr??""})`)},[()=>h(u(Tt))]),T(ri,rn)},oi=ri=>{var rn=$r();G(an=>q(rn,an),[()=>h(u(Tt))]),T(ri,rn)};$($n,ri=>{u(Ye)?ri(on):ri(oi,-1)})}var Gt=x(Jt),mn=C(Gt);G(ri=>q(mn,ri),[()=>v(u(ft).revision)]),T(fe,ci)}),T(_e,et)},Pt=rt(()=>Hi()==="deviceTypeList"&&Array.isArray(ii())),ut=_e=>{const et=rt(()=>[...new Set(ii().flatMap(Tt=>Object.keys(Tt)))]);var Bt=FZ(),fe=C(Bt),$e=C(fe);pi($e,21,()=>u(et),zn,(Tt,Ye)=>{var ci=RZ(),Jt=C(ci);G(()=>q(Jt,u(Ye))),T(Tt,ci)});var ft=x(fe);pi(ft,21,ii,zn,(Tt,Ye)=>{var ci=OZ();pi(ci,21,()=>u(et),zn,(Jt,$n)=>{var on=AZ(),oi=C(on);G(Gt=>q(oi,Gt),[()=>v(u(Ye)[u($n)])]),T(Jt,on)}),T(Tt,ci)}),T(_e,Bt)},ue=rt(()=>w(ii())),bt=_e=>{var et=WZ(),Bt=C(et);pi(Bt,21,()=>Object.entries(ii()),zn,(fe,$e)=>{var ft=rt(()=>bk(u($e),2));let Tt=()=>u(ft)[0],Ye=()=>u(ft)[1];var ci=HZ(),Jt=C(ci),$n=C(Jt),on=x(Jt),oi=C(on);G(Gt=>{q($n,Tt()),q(oi,Gt)},[()=>v(Ye())]),T(fe,ci)}),T(_e,et)},Xe=rt(()=>_(ii())),ke=_e=>{var et=BZ(),Bt=C(et);G(()=>{On(et,"href",ii()),q(Bt,ii())}),T(_e,et)},ce=_e=>{var et=zZ(),Bt=C(et);G(fe=>q(Bt,fe),[()=>v(ii())]),T(_e,et)};$(lt,_e=>{u(Ne)?_e(gt):u(Pt)?_e(ye,1):u(ue)?_e(ut,2):u(Xe)?_e(bt,3):(Hi()==="productUrl"||Hi()==="productURL")&&typeof ii()=="string"?_e(ke,4):_e(ce,-1)})}G(()=>{On(je,"title",Hi()),q(St,Hi())}),T(Te,Qe)},Pe=rt(()=>!S(ii(),Hi()));$(A,Te=>{u(Pe)&&Te(K)})}T(Rt,ji)}),G(()=>q(ei,u(ot).name)),T(Ve,Lt)}),T(hi,Q)},si=hi=>{var Q=$Z();T(hi,Q)};$(Vt,hi=>{u(Ie).clusters.length>0?hi(jt):hi(si,-1)})}G(()=>{q(Yt,`${u(Ie).name??`Endpoint ${u(Ie).endpointId}`??""} `),q(he,`ep${u(Ie).endpointId??""}`)}),T(Ue,De)}),G(()=>{q($t,u(ve).name??`Node ${u(ve).nodeId}`),q(j,`Node ID: ${u(ve).nodeId??""}`)}),T(Z,Ee)},Ei=Z=>{var Ee=GZ();T(Z,Ee)};$(sn,Z=>{u(nt)?Z(Ke):u(Ft)?Z(Ot,1):u(ve)?Z(li,2):Z(Ei,-1)})}var Ci=x(Pn,2),fn=C(Ci),pn=x(fn,2),Nn=x(C(pn),2);{var Rn=Z=>{var Ee=ZZ(),vt=C(Ee);G(()=>q(vt,u(J).length)),T(Z,Ee)};$(Nn,Z=>{!u(X)&&u(J).length>0&&Z(Rn)})}var Xn=x(Nn,2),Gn=C(Xn),xn=x(pn,2);{var Re=Z=>{var Ee=eX(),vt=C(Ee);{var Ct=O=>{var se=XZ();T(O,se)},$t=O=>{var se=Fs(),be=yt(se);pi(be,17,()=>u(Ce),j=>j.id,(j,me)=>{const Ue=rt(()=>{var jt,si;return((jt=f.get(u(me).nodeId))==null?void 0:jt.name)??((si=u(g).find(hi=>hi.nodeId===u(me).nodeId))==null?void 0:si.name)??null}),Ie=rt(()=>{var jt,si;return u(me).endpointId!==void 0?((si=(jt=f.get(u(me).nodeId))==null?void 0:jt.endpoints.find(hi=>hi.endpointId===u(me).endpointId))==null?void 0:si.name)??null:null}),De=rt(()=>u(me).attrName??u(me).clusterName);var tt=QZ(),Yt=C(tt),ht=C(Yt),he=x(Yt,2);{var at=jt=>{var si=YZ(),hi=x(yt(si),2),Q=C(hi),ge=x(Q);{var Ve=kt=>{var ei=eS(),Ut=x(yt(ei)),Rt=C(Ut);G(()=>q(Rt,`(#${u(me).nodeId??""})`)),T(kt,ei)};$(ge,kt=>{u(Ue)&&kt(Ve)})}var ot=x(hi,2);let Lt;var Je=C(ot);G(()=>{q(Q,u(Ue)??`#${u(me).nodeId}`),Lt=qt(ot,1,"e-val svelte-1ua3isv",null,Lt,{"e-online":u(me).online,"e-offline":!u(me).online}),q(Je,u(me).online?"online":"offline")}),T(jt,si)},Vt=jt=>{var si=JZ(),hi=x(yt(si),2),Q=C(hi),ge=x(Q);{var Ve=ii=>{var ji=eS(),A=x(yt(ji)),K=C(A);G(()=>q(K,`(#${u(me).nodeId??""})`)),T(ii,ji)};$(ge,ii=>{u(Ue)&&ii(Ve)})}var ot=x(hi,2),Lt=C(ot),Je=x(Lt);{var kt=ii=>{var ji=eS(),A=x(yt(ji)),K=C(A);G(()=>q(K,`(ep ${u(me).endpointId??""})`)),T(ii,ji)};$(Je,ii=>{u(Ie)&&ii(kt)})}var ei=x(ot,2),Ut=C(ei),Rt=x(ei,2),yi=C(Rt),dn=x(Rt,2),Hi=C(dn);G(ii=>{q(Q,u(Ue)??`#${u(me).nodeId}`),q(Lt,u(Ie)??`ep${u(me).endpointId}`),q(Ut,u(me).clusterName),q(yi,u(De)),q(Hi,ii)},[()=>p(u(me).value)]),T(jt,si)};$(he,jt=>{u(me).kind==="status"?jt(at):jt(Vt,-1)})}G(jt=>q(ht,jt),[()=>D(u(me).ts)]),T(j,tt)}),T(O,se)};$(vt,O=>{u(Ce).length===0?O(Ct):O($t,-1)})}T(Z,Ee)};$(xn,Z=>{u(X)&&Z(Re)})}G(()=>{Do(Ci,u(X)?`height: ${u(pe)}px;`:""),q(Gn,u(X)?"▾":"▸")}),te("click",Zi,()=>k(wt,!u(wt))),te("mousedown",fn,ze),te("click",Xn,()=>{k(X,!u(X))}),T(o,Hn),Fo()}wr(["click","mousedown"]);var nX=R("<button>›</button>"),sX=R('<span class="chev-ph svelte-1vejtrc"></span>'),oX=R('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),rX=R('<div class="tc svelte-1vejtrc"></div>'),aX=R('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!></div> <!></div>'),lX=R("<option></option>"),cX=R('<span class="pub-ok svelte-1vejtrc">✓</span>'),dX=R('<span class="pub-err svelte-1vejtrc"> </span>'),hX=R('<div class="info svelte-1vejtrc">Loading…</div>'),uX=R('<div class="info err svelte-1vejtrc"> </div>'),gX=R('<div class="info svelte-1vejtrc">No topics match.</div>'),fX=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>'),pX=R('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),mX=R('<div class="info svelte-1vejtrc">No topics yet.</div>'),_X=R('<div class="tree-wrap svelte-1vejtrc"><!></div>'),vX=R('<span class="stream-badge"> </span>'),bX=R('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),yX=R('<span class="s-ret svelte-1vejtrc" title="retained snapshot">&#x229B;</span>'),wX=R('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),SX=R('<div class="stream-body svelte-1vejtrc"><!></div>'),CX=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),xX=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>'),LX=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),kX=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 IX(o,e){Oo(e,!0);const t=(Q,ge=_y)=>{const Ve=rt(()=>u(f).has(ge().path)),ot=rt(()=>u(a)>=0&&ge().children.size>0),Lt=rt(()=>u(a)>=0&&ge().isLeaf&&!n.has(ge().path));var Je=aX(),kt=C(Je);let ei;var Ut=C(kt);{var Rt=Te=>{var Fe=nX();let Ne;G(()=>{Ne=qt(Fe,1,"chev svelte-1vejtrc",null,Ne,{open:u(Ve)}),On(Fe,"aria-label",u(Ve)?"Collapse":"Expand")}),te("click",Fe,()=>p(ge().path)),T(Te,Fe)},yi=Te=>{var Fe=sX();T(Te,Fe)};$(Ut,Te=>{u(ot)?Te(Rt):Te(yi,-1)})}var dn=x(Ut,2),Hi=C(dn),ii=x(dn,2);{var ji=Te=>{var Fe=oX(),Ne=yt(Fe),re=C(Ne),Qe=x(Ne,2),je=C(Qe);G((xe,St,Me)=>{On(Ne,"title",xe),q(re,St),q(je,Me)},[()=>{var xe;return Di((xe=Sn(ge().path))==null?void 0:xe.val)},()=>{var xe;return Di((xe=Sn(ge().path))==null?void 0:xe.val)},()=>{var xe;return((xe=Sn(ge().path))==null?void 0:xe.ts)!=null?Pn(Sn(ge().path).ts):""}]),T(Te,Fe)},A=rt(()=>ge().isLeaf&&i.has(ge().path));$(ii,Te=>{u(A)&&Te(ji)})}var K=x(kt,2);{var Pe=Te=>{var Fe=rX();pi(Fe,21,()=>[...ge().children.values()].sort((Ne,re)=>Ne.seg.localeCompare(re.seg)),Ne=>Ne.path,(Ne,re)=>{t(Ne,()=>u(re))}),T(Te,Fe)};$(K,Te=>{u(ot)&&u(Ve)&&Te(Pe)})}G(()=>{ei=qt(kt,1,"tr svelte-1vejtrc",null,ei,{stale:u(Lt)}),q(Hi,ge().seg)}),te("click",kt,()=>{k(nt,ge().path+"/#")}),te("contextmenu",kt,Te=>{Te.preventDefault(),k(st,{x:Te.clientX,y:Te.clientY,topic:ge().path},!0)}),T(Q,Je)},i=new Map,n=new Set,s=new Set;let r=null,a=B(0);function c(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const Q of s)g(Q);s.clear(),Sk(a)}))}const h=new Map;function g(Q){const ge=Q.split("/");let Ve=h,ot="";for(let Lt=0;Lt<ge.length;Lt++){const Je=ge[Lt];ot=Lt===0?Je:`${ot}/${Je}`,Ve.has(Je)||Ve.set(Je,{seg:Je,path:ot,children:new Map,isLeaf:!1});const kt=Ve.get(Je);Lt===ge.length-1&&(kt.isLeaf=!0),Ve=kt.children}}let f=B(_i(new Set));function p(Q){const ge=new Set(u(f));ge.has(Q)?ge.delete(Q):ge.add(Q),k(f,ge,!0)}let v=B("");const _=24,w=5;let S=B(0),D=B(300),P=rt(()=>{if(u(a),!u(v))return[];const Q=u(v).toLowerCase().split(/\s+/).filter(Boolean),ge=[];for(const[Ve,ot]of i){const Lt=Ve.toLowerCase();Q.every(Je=>Lt.includes(Je))&&ge.push({topic:Ve,...ot})}return ge.sort((Ve,ot)=>Ve.topic.localeCompare(ot.topic))}),N=rt(()=>{const Q=u(P).length,ge=Math.max(0,Math.floor(u(S)/_)-w),Ve=Math.min(Q,Math.ceil((u(S)+u(D))/_)+w);return{start:ge,end:Ve,totalH:Q*_,top:ge*_}});const V=1e3,W=200,J=20,X=36;let pe=0,Ce=B(_i([])),ze=B(_i([])),ve=B(!0),nt=B("#"),Ft=B(200);Bn(()=>{const Q=u(nt).trim(),ge=xl(()=>u(Ce)),Ve=!Q||Q==="#"?ge.slice(0,W):ge.filter(ot=>wt(Q,ot.topic)).slice(0,W);if(Q&&Q!=="#"){const ot=new Set(Ve.map(Je=>Je.topic)),Lt=[];for(const[Je,kt]of i)ot.has(Je)||wt(Q,Je)&&Lt.push({id:-(Lt.length+1),topic:Je,val:kt.val,ts:kt.ts,retained:!0});Lt.sort((Je,kt)=>Je.topic.localeCompare(kt.topic)),k(ze,[...Ve,...Lt],!0)}else k(ze,Ve,!0)});function wt(Q,ge){if(Q==="#")return!0;const Ve=Q.split("/"),ot=ge.split("/");for(let Lt=0;Lt<Ve.length;Lt++){if(Ve[Lt]==="#")return!0;if(Lt>=ot.length||Ve[Lt]!=="+"&&Ve[Lt]!==ot[Lt])return!1}return Ve.length===ot.length}function ai(Q){Q.preventDefault();const ge=Q.clientY,Ve=u(Ft);function ot(Je){k(Ft,Math.max(60,Math.min(800,Ve+ge-Je.clientY)),!0)}function Lt(){document.removeEventListener("mousemove",ot),document.removeEventListener("mouseup",Lt)}document.addEventListener("mousemove",ot),document.addEventListener("mouseup",Lt)}let zt=rt(()=>{const Q=Math.max(1,Math.floor((u(Ft)-X)/J)+1);return u(ze).slice(0,Q)}),ti=B(!0),Ae=B(null);async function Ze(){k(ti,!0),k(Ae,null);try{const Q=await pR();for(const ge of Q)i.set(ge.topic,{val:ge.val,ts:ge.ts}),g(ge.topic)}catch(Q){k(Ae,Q instanceof Error?Q.message:String(Q),!0)}finally{k(ti,!1),Sk(a)}}const Oe=el("mqtt",Q=>{const{topic:ge,val:Ve,ts:ot}=Q;i.set(ge,{val:Ve,ts:ot}),n.add(ge),s.add(ge),c();const Lt={id:pe++,topic:ge,val:Ve,ts:ot};k(Ce,[Lt,...u(Ce).slice(0,V-1)],!0);const Je=u(nt).trim();(!Je||Je==="#"||wt(Je,ge))&&k(ze,[Lt,...u(ze).filter(kt=>!(kt.retained&&kt.topic===ge)).slice(0,W-1)],!0)});let st=B(null),At=B(null);async function ni(Q,ge){const Ve=[Q];if(ge){const ot=Q+"/";for(const Lt of i.keys())Lt.startsWith(ot)&&Ve.push(Lt)}for(const ot of Ve)await wD(ot,"",!0,0)}let Xt=rt(()=>(u(a),[...i.keys()].sort())),Wt=B(""),_t=B(""),xi=B(!1),mi=B(0),En=B(!1),qi=B(null),Hn=B(!1);async function en(){if(u(Wt)){k(En,!0),k(qi,null),k(Hn,!1);try{await wD(u(Wt),u(_t),u(xi),u(mi)),k(Hn,!0),setTimeout(()=>{k(Hn,!1)},2e3)}catch(Q){k(qi,Q instanceof Error?Q.message:String(Q),!0)}finally{k(En,!1)}}}function Di(Q){return Q==null?"":typeof Q=="object"?JSON.stringify(Q):String(Q)}function Pn(Q){return new Date(Q).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function tn(Q){return new Date(Q).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Sn(Q){return u(a),i.get(Q)}let Zi=rt(()=>(u(a),[...h.values()].sort((Q,ge)=>Q.seg.localeCompare(ge.seg)))),Fi=rt(()=>(u(a),i.size));Sr(Ze),Sy(()=>{Oe(),r!==null&&cancelAnimationFrame(r)});var cn=kX(),Tn=x(C(cn),2),Mn=C(Tn),Un=C(Mn),Cn=x(Un,2);pi(Cn,20,()=>u(Xt),Q=>Q,(Q,ge)=>{var Ve=lX(),ot={};G(()=>{ot!==(ot=ge)&&(Ve.value=(Ve.__value=ge)??"")}),T(Q,Ve)});var nn=x(Cn,2),sn=x(nn,2),Ke=C(sn),Ot=x(sn,2),li=C(Ot);li.value=li.__value=0;var Ei=x(li);Ei.value=Ei.__value=1;var Ci=x(Ei);Ci.value=Ci.__value=2;var fn=x(Ot,2),pn=x(fn,2);{var Nn=Q=>{var ge=cX();T(Q,ge)};$(pn,Q=>{u(Hn)&&Q(Nn)})}var Rn=x(pn,2);{var Xn=Q=>{var ge=dX(),Ve=C(ge);G(()=>q(Ve,u(qi))),T(Q,ge)};$(Rn,Q=>{u(qi)&&Q(Xn)})}var Gn=x(Mn,2),xn=C(Gn),Re=x(xn,2),Z=C(Re);{var Ee=Q=>{var ge=$r();G(()=>q(ge,`${u(P).length??""} /`)),T(Q,ge)};$(Z,Q=>{u(v)&&Q(Ee)})}var vt=x(Z),Ct=x(Gn,2);{var $t=Q=>{var ge=hX();T(Q,ge)},O=Q=>{var ge=uX(),Ve=C(ge);G(()=>q(Ve,u(Ae))),T(Q,ge)},se=Q=>{var ge=Fs(),Ve=yt(ge);{var ot=Je=>{var kt=gX();T(Je,kt)},Lt=Je=>{var kt=pX(),ei=C(kt),Ut=C(ei);pi(Ut,21,()=>u(P).slice(u(N).start,u(N).end),Rt=>Rt.topic,(Rt,yi)=>{var dn=fX(),Hi=C(dn),ii=C(Hi),ji=x(Hi,2),A=C(ji),K=x(ji,2),Pe=C(K);G((Te,Fe,Ne)=>{q(ii,u(yi).topic),On(ji,"title",Te),q(A,Fe),q(Pe,Ne)},[()=>Di(u(yi).val),()=>Di(u(yi).val),()=>Pn(u(yi).ts)]),T(Rt,dn)}),G(()=>{Do(ei,`height: ${u(N).totalH??""}px; position: relative;`),Do(Ut,`top: ${u(N).top??""}px;`)}),rs("scroll",kt,Rt=>{k(S,Rt.currentTarget.scrollTop,!0)}),CW(kt,"clientHeight",Rt=>k(D,Rt)),T(Je,kt)};$(Ve,Je=>{u(P).length===0?Je(ot):Je(Lt,-1)})}T(Q,ge)},be=Q=>{var ge=_X(),Ve=C(ge);{var ot=Je=>{var kt=mX();T(Je,kt)},Lt=Je=>{var kt=Fs(),ei=yt(kt);pi(ei,17,()=>u(Zi),Ut=>Ut.path,(Ut,Rt)=>{t(Ut,()=>u(Rt))}),T(Je,kt)};$(Ve,Je=>{u(Zi).length===0?Je(ot):Je(Lt,-1)})}T(Q,ge)};$(Ct,Q=>{u(ti)?Q($t):u(Ae)?Q(O,1):u(v)?Q(se,2):Q(be,-1)})}var j=x(Tn,2),me=C(j),Ue=x(me,2),Ie=C(Ue),De=x(Ie,2);{var tt=Q=>{var ge=vX(),Ve=C(ge);G(()=>q(Ve,u(ze).length)),T(Q,ge)};$(De,Q=>{!u(ve)&&u(ze).length>0&&Q(tt)})}var Yt=x(De,2),ht=C(Yt),he=x(Ue,2);{var at=Q=>{var ge=SX(),Ve=C(ge);{var ot=Je=>{var kt=bX();T(Je,kt)},Lt=Je=>{var kt=Fs(),ei=yt(kt);pi(ei,17,()=>u(zt),Ut=>Ut.id,(Ut,Rt)=>{var yi=wX();let dn;var Hi=C(yi),ii=C(Hi),ji=x(Hi,2);{var A=Ne=>{var re=yX();T(Ne,re)};$(ji,Ne=>{u(Rt).retained&&Ne(A)})}var K=x(ji,2),Pe=C(K),Te=x(K,2),Fe=C(Te);G((Ne,re,Qe)=>{dn=qt(yi,1,"sr svelte-1vejtrc",null,dn,{retained:u(Rt).retained}),q(ii,Ne),q(Pe,u(Rt).topic),On(Te,"title",re),q(Fe,Qe)},[()=>tn(u(Rt).ts),()=>Di(u(Rt).val),()=>Di(u(Rt).val)]),T(Ut,yi)}),T(Je,kt)};$(Ve,Je=>{u(zt).length===0?Je(ot):Je(Lt,-1)})}T(Q,ge)};$(he,Q=>{u(ve)&&Q(at)})}var Vt=x(j,2);{var jt=Q=>{var ge=CX(),Ve=yt(ge),ot=x(Ve,2);let Lt;var Je=C(ot),kt=x(Je,2);G(()=>Lt=Do(ot,"",Lt,{left:`${u(st).x??""}px`,top:`${u(st).y??""}px`})),te("click",Ve,()=>k(st,null)),te("contextmenu",Ve,ei=>{ei.preventDefault(),k(st,null)}),te("click",Je,()=>{navigator.clipboard.writeText(u(st).topic),k(st,null)}),te("click",kt,()=>{const ei=u(st).topic,Ut=ei+"/",Rt=[...i.keys()].some(yi=>yi.startsWith(Ut));k(At,{topic:ei,hasChildren:Rt,recursive:!1},!0),k(st,null)}),T(Q,ge)};$(Vt,Q=>{u(st)&&Q(jt)})}var si=x(Vt,2);{var hi=Q=>{var ge=LX(),Ve=yt(ge),ot=x(Ve,2),Lt=x(C(ot),2),Je=C(Lt),kt=x(C(Je)),ei=C(kt),Ut=x(Je,2);{var Rt=ii=>{var ji=xX(),A=C(ji);As(A,()=>u(At).recursive,K=>u(At).recursive=K),T(ii,ji)};$(Ut,ii=>{u(At).hasChildren&&ii(Rt)})}var yi=x(Lt,2),dn=C(yi),Hi=x(dn,2);G(()=>q(ei,u(At).topic)),te("click",Ve,()=>k(At,null)),te("click",dn,()=>k(At,null)),te("click",Hi,()=>{const{topic:ii,recursive:ji}=u(At);k(At,null),ni(ii,ji)}),T(Q,ge)};$(si,Q=>{u(At)&&Q(hi)})}G(()=>{fn.disabled=u(En)||!u(Wt),q(vt,` ${u(Fi)??""}`),Do(j,u(ve)?`height: ${u(Ft)}px;`:""),q(ht,u(ve)?"▾":"▸")}),Ri(Un,()=>u(Wt),Q=>k(Wt,Q)),Ri(nn,()=>u(_t),Q=>k(_t,Q)),As(Ke,()=>u(xi),Q=>k(xi,Q)),ba(Ot,()=>u(mi),Q=>k(mi,Q)),te("click",fn,en),Ri(xn,()=>u(v),Q=>k(v,Q)),te("mousedown",me,ai),Ri(Ie,()=>u(nt),Q=>k(nt,Q)),te("click",Yt,()=>{k(ve,!u(ve))}),T(o,cn),Fo()}wr(["click","contextmenu","mousedown"]);var DX=R('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),EX=R('<div class="restart-banner svelte-twakcj">⚠ Package changes require a daemon restart to take effect. <button class="restart-btn svelte-twakcj">Restart now</button></div>'),PX=R('<div class="err svelte-twakcj"> </div>'),TX=R('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),MX=R('<p class="empty svelte-twakcj">No packages installed.</p>'),NX=R('<p class="empty svelte-twakcj">No match.</p>'),RX=R('<span class="dep-latest svelte-twakcj"> </span>'),AX=yT('<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>'),OX=yT('<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>'),FX=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>'),HX=R('<span class="result-author svelte-twakcj"> </span>'),WX=R('<span class="result-date svelte-twakcj"> </span>'),BX=R('<span class="result-desc svelte-twakcj"> </span>'),zX=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>'),VX=R('<div class="results-list svelte-twakcj"></div>'),jX=R('<pre class="npm-output svelte-twakcj"> </pre>'),UX=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>`),$X=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>',1);function qX(o,e){Oo(e,!0);let t=B(_i([])),i=B(""),n=B(_i({})),s=B(!1),r=B(""),a=B(_i([])),c=B(!1),h=B(!1),g=B(!1),f=B(""),p=B(""),v=_i({});const _=rt(()=>u(i).trim()?u(t).filter(Ke=>Ke.name.toLowerCase().includes(u(i).toLowerCase())):u(t)),w=rt(()=>Object.keys(u(n)).length);Sr(async()=>{await Promise.all([S(),D()])});async function S(){try{k(t,await c7(),!0),k(f,"")}catch(Ke){k(f,Ke.message,!0)}}async function D(){try{k(n,await f7(),!0)}catch{}}async function P(){k(s,!0);try{k(n,await p7(),!0)}catch{}finally{k(s,!1)}}async function N(){const Ke=u(r).trim();if(!Ke){k(a,[],!0);return}k(g,!0),k(f,"");try{k(a,await d7(Ke),!0)}catch(Ot){k(f,Ot.message,!0)}finally{k(g,!1)}}function V(Ke){if(!Ke)return"";try{return new Date(Ke).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function W(Ke,Ot){v[Ke]=!0,k(f,""),k(p,"");try{const li=await h7(Ke,Ot);k(p,li.stdout||li.stderr||"Done.",!0),k(c,!0),await S()}catch(li){k(f,li.message,!0)}finally{v[Ke]=!1}}async function J(Ke){v[Ke]=!0,k(f,""),k(p,"");try{const Ot=await u7(Ke);k(p,Ot.stdout||Ot.stderr||"Done.",!0),k(c,!0);const li={...u(n)};delete li[Ke],k(n,li,!0),await S()}catch(Ot){k(f,Ot.message,!0)}finally{v[Ke]=!1}}async function X(Ke){v[Ke]=!0,k(f,""),k(p,"");try{const Ot=await g7(Ke);k(p,Ot.stdout||Ot.stderr||"Done.",!0),k(c,!0);const li={...u(n)};delete li[Ke],k(n,li,!0),await S()}catch(Ot){k(f,Ot.message,!0)}finally{v[Ke]=!1}}let pe;async function Ce(){if(await pe.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){k(h,!0);try{await hR()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var ze=$X(),ve=yt(ze);ys(Rg(ve,{}),Ke=>pe=Ke,()=>pe);var nt=x(ve,2),Ft=C(nt);{var wt=Ke=>{var Ot=DX();T(Ke,Ot)},ai=Ke=>{var Ot=EX(),li=x(C(Ot));te("click",li,Ce),T(Ke,Ot)};$(Ft,Ke=>{u(h)?Ke(wt):u(c)&&Ke(ai,1)})}var zt=x(Ft,2);{var ti=Ke=>{var Ot=PX(),li=C(Ot);G(()=>q(li,u(f))),T(Ke,Ot)};$(zt,Ke=>{u(f)&&Ke(ti)})}var Ae=x(zt,2),Ze=C(Ae),Oe=C(Ze),st=x(C(Oe),2),At=C(st),ni=x(st,2);{var Xt=Ke=>{var Ot=TX(),li=C(Ot);G(()=>q(li,`${u(w)??""} outdated`)),T(Ke,Ot)};$(ni,Ke=>{u(w)>0&&Ke(Xt)})}var Wt=x(ni,2),_t=C(Wt);let xi;var mi=x(Oe,2),En=C(mi),qi=x(mi,2),Hn=C(qi);{var en=Ke=>{var Ot=MX();T(Ke,Ot)},Di=Ke=>{var Ot=NX();T(Ke,Ot)},Pn=Ke=>{var Ot=Fs(),li=yt(Ot);pi(li,17,()=>u(_),Ei=>Ei.name,(Ei,Ci)=>{var fn=FX();let pn;var Nn=C(fn),Rn=C(Nn),Xn=C(Rn),Gn=x(Rn,2),xn=C(Gn),Re=x(Gn,2);{var Z=j=>{var me=RX(),Ue=C(me);G(()=>q(Ue,`→ v${u(n)[u(Ci).name].latest??""}`)),T(j,me)};$(Re,j=>{u(n)[u(Ci).name]&&j(Z)})}var Ee=x(Nn,2),vt=C(Ee);let Ct;var $t=C(vt);{var O=j=>{var me=AX();T(j,me)},se=j=>{var me=OX();T(j,me)};$($t,j=>{v[u(Ci).name]?j(O):j(se,-1)})}var be=x(vt,2);G(()=>{pn=qt(fn,1,"dep-row svelte-twakcj",null,pn,{"dep-busy":!!v[u(Ci).name]}),On(Rn,"href",u(Ci).url??`https://www.npmjs.com/package/${u(Ci).name}`),q(Xn,u(Ci).name),q(xn,u(Ci).installedVersion??u(Ci).version),Ct=qt(vt,1,"icon-btn svelte-twakcj",null,Ct,{"icon-btn--update":!!u(n)[u(Ci).name]}),vt.disabled=!!v[u(Ci).name],On(vt,"title",u(n)[u(Ci).name]?`Update to v${u(n)[u(Ci).name].latest}`:"Update to latest"),be.disabled=!!v[u(Ci).name]}),te("click",vt,()=>X(u(Ci).name)),te("click",be,()=>J(u(Ci).name)),T(Ei,fn)}),T(Ke,Ot)};$(Hn,Ke=>{u(t).length===0?Ke(en):u(_).length===0?Ke(Di,1):Ke(Pn,-1)})}var tn=x(Ze,2),Sn=x(C(tn),2),Zi=C(Sn),Fi=x(Zi,2),cn=C(Fi),Tn=x(Sn,2);{var Mn=Ke=>{var Ot=VX();pi(Ot,21,()=>u(a),li=>li.name,(li,Ei)=>{var Ci=zX(),fn=C(Ci),pn=C(fn),Nn=C(pn),Rn=x(pn,2),Xn=C(Rn),Gn=x(Rn,2);{var xn=O=>{var se=HX(),be=C(se);G(()=>q(be,u(Ei).author)),T(O,se)};$(Gn,O=>{u(Ei).author&&O(xn)})}var Re=x(Gn,2);{var Z=O=>{var se=WX(),be=C(se);G(j=>{On(se,"title",u(Ei).date),q(be,j)},[()=>V(u(Ei).date)]),T(O,se)};$(Re,O=>{u(Ei).date&&O(Z)})}var Ee=x(Re,2);{var vt=O=>{var se=BX(),be=C(se);G(()=>q(be,u(Ei).description)),T(O,se)};$(Ee,O=>{u(Ei).description&&O(vt)})}var Ct=x(fn,2),$t=C(Ct);G(()=>{On(pn,"href",u(Ei).url??`https://www.npmjs.com/package/${u(Ei).name}`),q(Nn,u(Ei).name),q(Xn,u(Ei).version),Ct.disabled=!!v[u(Ei).name],q($t,v[u(Ei).name]?"Installing…":"Install")}),te("click",Ct,()=>W(u(Ei).name)),T(li,Ci)}),T(Ke,Ot)};$(Tn,Ke=>{u(a).length>0&&Ke(Mn)})}var Un=x(Tn,2);{var Cn=Ke=>{var Ot=jX(),li=C(Ot);G(()=>q(li,u(p))),T(Ke,Ot)};$(Un,Ke=>{u(p)&&Ke(Cn)})}var nn=x(Un,2);{var sn=Ke=>{var Ot=UX();T(Ke,Ot)};$(nn,Ke=>{!u(a).length&&!u(p)&&Ke(sn)})}G(()=>{q(At,u(t).length),Wt.disabled=u(s),xi=qt(_t,0,"svelte-twakcj",null,xi,{spinning:u(s)}),Fi.disabled=u(g),q(cn,u(g)?"Searching…":"Search")}),te("click",Wt,P),Ri(En,()=>u(i),Ke=>k(i,Ke)),te("keydown",Zi,Ke=>Ke.key==="Enter"&&N()),Ri(Zi,()=>u(r),Ke=>k(r,Ke)),te("click",Fi,N),T(o,ze),Fo()}wr(["click","keydown"]);var KX=R('<span class="mqtt-dot svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),GX=R('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),ZX=R('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),XX=R('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),YX=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" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button>'),JX=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" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button></div></div>'),QX=R('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),eY=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),tY=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),iY=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>'),nY=R('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),sY=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" class="svelte-1n46o8q"><path d="M18.36 6.64a9 9 0 1 1-12.73 0" class="svelte-1n46o8q"></path><line x1="12" y1="2" x2="12" y2="12" class="svelte-1n46o8q"></line></svg> Restart daemon</button></div></div>'),oY=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" class="svelte-1n46o8q"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" class="svelte-1n46o8q"></path><polyline points="16 17 21 12 16 7" class="svelte-1n46o8q"></polyline><line x1="21" y1="12" x2="9" y2="12" class="svelte-1n46o8q"></line></svg></button>'),rY=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" class="svelte-1n46o8q"><polyline points="5,3 1,8 5,13" class="svelte-1n46o8q"></polyline><polyline points="11,3 15,8 11,13" class="svelte-1n46o8q"></polyline></svg> Scripts</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" class="svelte-1n46o8q"><rect x="0.75" y="0.75" width="14.5" height="14.5" rx="1" class="svelte-1n46o8q"></rect><path d="M2,11 V5 H5 V11" class="svelte-1n46o8q"></path><path d="M6,12 V5 H9 V8 H6" class="svelte-1n46o8q"></path><path d="M10,11 V5 H15 V11" class="svelte-1n46o8q"></path><line x1="12.5" y1="5" x2="12.5" y2="11" class="svelte-1n46o8q"></line></svg> Packages</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" stroke="none" style="vertical-align: middle" class="svelte-1n46o8q"><path fill-rule="evenodd" d="M2,0 H14 A2,2 0 0,1 16,2 V14 A2,2 0 0,1 14,16 H0 V2 A2,2 0 0,1 2,0 Z M0,16 L0,12 A4,4 0 0,1 4,16 Z M0,10.5 A5.5,5.5 0 0,1 5.5,16 L9,16 A9,9 0 0,0 0,7 Z M0,5.5 A10.5,10.5 0 0,1 10.5,16 L13.5,16 A13.5,13.5 0 0,0 0,2.5 Z" class="svelte-1n46o8q"></path></svg> MQTT <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M8,2 L8,7" class="svelte-1n46o8q"></path><path d="M6,5 L8,7.5 L10,5" class="svelte-1n46o8q"></path><path d="M2.5,14 L6,10" class="svelte-1n46o8q"></path><path d="M6.2,12.8 L6,10 L3.2,10.2" class="svelte-1n46o8q"></path><path d="M13.5,14 L10,10" class="svelte-1n46o8q"></path><path d="M9.8,12.8 L10,10 L12.8,10.2" class="svelte-1n46o8q"></path></svg> Matter</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><ellipse cx="8" cy="4.5" rx="5" ry="1.8" class="svelte-1n46o8q"></ellipse><path d="M3,4.5 v7 a5,1.8 0,0,0 10,0 v-7" class="svelte-1n46o8q"></path><path d="M3,8 a5,1.8 0,0,0 10,0" class="svelte-1n46o8q"></path></svg> DB</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-1n46o8q"><line x1="2" y1="5" x2="14" y2="5" class="svelte-1n46o8q"></line><line x1="2" y1="8" x2="14" y2="8" class="svelte-1n46o8q"></line><line x1="2" y1="11" x2="9" y2="11" class="svelte-1n46o8q"></line></svg> Logs</button> <div class="nav-spacer svelte-1n46o8q"></div> <div class="nav-right svelte-1n46o8q"><a class="nav-icon svelte-1n46o8q" href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" title="GitHub"><svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" class="svelte-1n46o8q"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" class="svelte-1n46o8q"></path></svg></a> <div class="version-wrap svelte-1n46o8q"><button class="version svelte-1n46o8q"> <!></button> <!></div> <div class="stats-wrap svelte-1n46o8q"><button class="nav-icon svelte-1n46o8q" title="Daemon status"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><line x1="18" y1="20" x2="18" y2="10" class="svelte-1n46o8q"></line><line x1="12" y1="20" x2="12" y2="4" class="svelte-1n46o8q"></line><line x1="6" y1="20" x2="6" y2="14" class="svelte-1n46o8q"></line></svg></button> <!></div> <button title="Settings"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z" class="svelte-1n46o8q"></path><circle cx="12" cy="12" r="3" class="svelte-1n46o8q"></circle></svg></button> <!></div></nav> <main class="svelte-1n46o8q"><!> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div></main></div>'),aY=R('<div class="login-error svelte-1n46o8q"> </div>'),lY=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>'),cY=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" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Restarting smart-home-engine…</div></div>'),dY=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" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Updating smart-home-engine…</div></div>'),hY=R("<!> <!> <!> <!>",1);function uY(o,e){Oo(e,!0);const t=["scripts","mqtt","matter","db","logs","config","packages"];function i(){const Ze=location.hash.slice(1);return t.includes(Ze)?Ze:"scripts"}let n=B(_i(i())),s=B(null),r=B(!1),a=B(!1),c=B(!1),h=B(!1),g=B("none"),f=B(""),p=B(!1),v=B(""),_=B(""),w=B(!1),S=B(!1);V8(()=>{k(p,!0)});async function D(){k(_,""),k(w,!0);try{await $8(u(v)),k(v,""),k(p,!1)}catch(Ze){k(_,Ze.message??"Login failed",!0)}finally{k(w,!1)}}async function P(){if(u(g)==="proxy"&&u(f)){window.location.href=u(f);return}await q8(),k(p,!0)}let N=B(null),V=B(!1),W=B(!1);async function J(){if(!await u(N).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;k(V,!0);let Ze;try{Ze=(await xf()).startedAt}catch{}try{await hR()}catch{}const Oe=Date.now()+6e4;for(;Date.now()<Oe;){await new Promise(st=>setTimeout(st,250));try{const st=await xf();if(Ze===void 0||st.startedAt!==Ze){location.reload();return}}catch{}}location.reload()}async function X(){k(c,!0);try{const Ze=await J8();u(s)&&k(s,{...u(s),latestVersion:Ze.latestVersion??void 0},!0)}catch{}finally{k(c,!1)}}async function pe(){var st,At;if(!await u(N).show(`Update to v${(st=u(s))==null?void 0:st.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;k(a,!1),k(h,!0);const Ze=(At=u(s))==null?void 0:At.startedAt;try{await Y8()}catch{}const Oe=Date.now()+18e4;for(;Date.now()<Oe;){await new Promise(ni=>setTimeout(ni,1e3));try{const ni=await xf();if(Ze===void 0||ni.startedAt!==Ze){location.reload();return}}catch{k(h,!1),k(V,!0)}}location.reload()}function Ce(Ze){k(n,Ze,!0),location.hash=Ze}Sr(async()=>{location.hash||(location.hash=u(n));const Ze=()=>{k(n,i(),!0)};window.addEventListener("hashchange",Ze);try{const ni=await U8();k(g,ni.mode,!0),k(f,ni.proxyLogoutUrl??"",!0),u(g)==="password"&&(await fetch("/she/scripts")).status===401&&k(p,!0)}catch{}k(S,!0);async function Oe(){try{k(s,await xf(),!0)}catch{}}Oe();const st=setInterval(Oe,5e3),At=el("mqtt:status",ni=>{k(W,ni.ready===!1)});return()=>{window.removeEventListener("hashchange",Ze),clearInterval(st),At()}});var ze=hY();rs("click",QP,()=>{u(r)&&k(r,!1),u(a)&&k(a,!1)});var ve=yt(ze);{var nt=Ze=>{var Oe=rY(),st=C(Oe),At=x(C(st),2);let ni;var Xt=x(At,2);let Wt;var _t=x(Xt,2);let xi;var mi=x(C(_t),2);{var En=he=>{var at=KX();T(he,at)};$(mi,he=>{u(W)&&he(En)})}var qi=x(_t,2);let Hn;var en=x(qi,2);let Di;var Pn=x(en,2);let tn;var Sn=x(Pn,4),Zi=x(C(Sn),2),Fi=C(Zi),cn=C(Fi);cn.nodeValue="v0.27.8 ";var Tn=x(cn);{var Mn=he=>{var at=GX();T(he,at)};$(Tn,he=>{var at;(at=u(s))!=null&&at.latestVersion&&he(Mn)})}var Un=x(Fi,2);{var Cn=he=>{var at=JX(),Vt=C(at),jt=x(C(Vt));jt.textContent="v0.27.8";var si=x(jt,2);{var hi=Ut=>{var Rt=ZX(),yi=x(yt(Rt)),dn=C(yi);G(()=>q(dn,`v${u(s).latestVersion??""}`)),T(Ut,Rt)},Q=Ut=>{var Rt=XX();T(Ut,Rt)};$(si,Ut=>{var Rt;(Rt=u(s))!=null&&Rt.latestVersion?Ut(hi):Ut(Q,-1)})}var ge=x(Vt,2),Ve=C(ge);{var ot=Ut=>{var Rt=YX(),yi=x(C(Rt));G(()=>q(yi,` Update to v${u(s).latestVersion??""}`)),te("click",Rt,pe),T(Ut,Rt)};$(Ve,Ut=>{var Rt;(Rt=u(s))!=null&&Rt.latestVersion&&Ut(ot)})}var Lt=x(Ve,2),Je=C(Lt);let kt;var ei=x(Je);G(()=>{Lt.disabled=u(c),kt=qt(Je,0,"svelte-1n46o8q",null,kt,{spinning:u(c)}),q(ei,` ${u(c)?"Checking…":"Check for updates"}`)}),te("click",at,Ut=>Ut.stopPropagation()),te("click",Lt,X),T(he,at)};$(Un,he=>{u(a)&&he(Cn)})}var nn=x(Zi,2),sn=C(nn),Ke=x(sn,2);{var Ot=he=>{var at=sY(),Vt=C(at);{var jt=ge=>{var Ve=iY(),ot=C(Ve);{var Lt=re=>{const Qe=rt(()=>Math.floor((Date.now()-u(s).startedAt)/1e3)),je=rt(()=>Math.floor(u(Qe)/86400)),xe=rt(()=>Math.floor(u(Qe)%86400/3600)),St=rt(()=>Math.floor(u(Qe)%3600/60));var Me=QX(),F=x(yt(Me)),Y=C(F);G(()=>q(Y,`${u(je)>0?u(je)+"d ":""}${u(xe)>0||u(je)>0?u(xe)+"h ":""}${u(St)??""}m`)),T(re,Me)};$(ot,re=>{u(s).startedAt&&re(Lt)})}var Je=x(ot,3),kt=C(Je),ei=x(Je,3),Ut=C(ei),Rt=x(ei,3),yi=C(Rt),dn=x(Rt,2);{var Hi=re=>{var Qe=eY(),je=x(yt(Qe)),xe=C(je),St=x(je,3),Me=C(St);G(()=>{q(xe,u(s).matterNodes??0),q(Me,u(s).matterEndpoints??0)}),T(re,Qe)};$(dn,re=>{u(s).matterEnabled&&re(Hi)})}var ii=x(dn,2);{var ji=re=>{var Qe=tY(),je=x(yt(Qe)),xe=C(je),St=x(je,3),Me=C(St);G(()=>{q(xe,u(s).dbDocs??"—"),q(Me,u(s).dbViews??"—")}),T(re,Qe)};$(ii,re=>{u(s).dbEnabled&&re(ji)})}var A=x(ii,3),K=C(A),Pe=x(A,3),Te=C(Pe),Fe=x(Pe,3),Ne=C(Fe);G(()=>{q(kt,u(s).scripts),q(Ut,u(s).topics),q(yi,u(s).mqttMsgPerSec??"—"),q(K,u(s).handlers??"—"),q(Te,u(s).memMb!=null?u(s).memMb+" MB":"—"),q(Ne,u(s).cpuPercent!=null?u(s).cpuPercent+" %":"—")}),T(ge,Ve)},si=ge=>{var Ve=nY();T(ge,Ve)};$(Vt,ge=>{u(s)?ge(jt):ge(si,-1)})}var hi=x(Vt,2),Q=C(hi);te("click",at,ge=>ge.stopPropagation()),te("click",Q,()=>{k(r,!1),J()}),T(he,at)};$(Ke,he=>{u(r)&&he(Ot)})}var li=x(nn,2);let Ei;var Ci=x(li,2);{var fn=he=>{var at=oY();te("click",at,P),T(he,at)};$(Ci,he=>{u(g)==="password"&&he(fn)})}var pn=x(st,2),Nn=C(pn);ys(Rg(Nn,{}),he=>k(N,he,!0),()=>u(N));var Rn=x(Nn,2);let Xn;var Gn=C(Rn);{let he=rt(()=>u(n)==="scripts");vG(Gn,{get active(){return u(he)}})}var xn=x(Rn,2);let Re;var Z=C(xn);qX(Z,{});var Ee=x(xn,2);let vt;var Ct=C(Ee);IX(Ct,{});var $t=x(Ee,2);let O;var se=C($t);iX(se,{});var be=x($t,2);let j;var me=C(be);uZ(me,{});var Ue=x(be,2);let Ie;var De=C(Ue);s9(De,{});var tt=x(Ue,2);let Yt;var ht=C(tt);l9(ht,{}),G(()=>{ni=qt(At,1,"svelte-1n46o8q",null,ni,{active:u(n)==="scripts"}),Wt=qt(Xt,1,"svelte-1n46o8q",null,Wt,{active:u(n)==="packages"}),xi=qt(_t,1,"svelte-1n46o8q",null,xi,{active:u(n)==="mqtt"}),Hn=qt(qi,1,"svelte-1n46o8q",null,Hn,{active:u(n)==="matter"}),Di=qt(en,1,"svelte-1n46o8q",null,Di,{active:u(n)==="db"}),tn=qt(Pn,1,"svelte-1n46o8q",null,tn,{active:u(n)==="logs"}),Ei=qt(li,1,"nav-settings svelte-1n46o8q",null,Ei,{active:u(n)==="config"}),Xn=qt(Rn,1,"page-wrap svelte-1n46o8q",null,Xn,{hidden:u(n)!=="scripts"}),Re=qt(xn,1,"page-wrap svelte-1n46o8q",null,Re,{hidden:u(n)!=="packages"}),vt=qt(Ee,1,"page-wrap svelte-1n46o8q",null,vt,{hidden:u(n)!=="mqtt"}),O=qt($t,1,"page-wrap svelte-1n46o8q",null,O,{hidden:u(n)!=="matter"}),j=qt(be,1,"page-wrap svelte-1n46o8q",null,j,{hidden:u(n)!=="db"}),Ie=qt(Ue,1,"page-wrap svelte-1n46o8q",null,Ie,{hidden:u(n)!=="config"}),Yt=qt(tt,1,"page-wrap svelte-1n46o8q",null,Yt,{hidden:u(n)!=="logs"})}),te("click",At,()=>Ce("scripts")),te("click",Xt,()=>Ce("packages")),te("click",_t,()=>Ce("mqtt")),te("click",qi,()=>Ce("matter")),te("click",en,()=>Ce("db")),te("click",Pn,()=>Ce("logs")),te("click",Fi,he=>{he.stopPropagation(),k(a,!u(a)),k(r,!1)}),te("click",sn,he=>{he.stopPropagation(),k(r,!u(r)),k(a,!1)}),te("click",li,()=>Ce("config")),T(Ze,Oe)};$(ve,Ze=>{u(S)&&!u(p)&&Ze(nt)})}var Ft=x(ve,2);{var wt=Ze=>{var Oe=lY(),st=C(Oe),At=x(C(st),4),ni=x(C(At),2),Xt=x(At,2);{var Wt=mi=>{var En=aY(),qi=C(En);G(()=>q(qi,u(_))),T(mi,En)};$(Xt,mi=>{u(_)&&mi(Wt)})}var _t=x(Xt,2),xi=C(_t);G(()=>{ni.disabled=u(w),_t.disabled=u(w)||!u(v),q(xi,u(w)?"Signing in…":"Sign in")}),rs("submit",st,mi=>{mi.preventDefault(),D()}),Ri(ni,()=>u(v),mi=>k(v,mi)),T(Ze,Oe)};$(Ft,Ze=>{u(p)&&Ze(wt)})}var ai=x(Ft,2);{var zt=Ze=>{var Oe=cY();T(Ze,Oe)};$(ai,Ze=>{u(V)&&Ze(zt)})}var ti=x(ai,2);{var Ae=Ze=>{var Oe=dY();T(Ze,Oe)};$(ti,Ze=>{u(h)&&Ze(Ae)})}T(o,ze),Fo()}wr(["click"]);cW(uY,{target:document.getElementById("app")});export{NT as t};