smart-home-engine 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,230 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-CXWNuhmR.js","assets/monaco-langs-BW2J83t5.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-YPVpJYLA.js"])))=>i.map(i=>d[i]);
2
+ var cA=Object.defineProperty;var qL=o=>{throw TypeError(o)};var dA=(o,e,t)=>e in o?cA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var $i=(o,e,t)=>dA(o,typeof e!="symbol"?e+"":e,t),hw=(o,e,t)=>e.has(o)||qL("Cannot "+t);var ie=(o,e,t)=>(hw(o,e,"read from private field"),t?t.call(o):e.get(o)),Ai=(o,e,t)=>e.has(o)?qL("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),Oi=(o,e,t,i)=>(hw(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),En=(o,e,t)=>(hw(o,e,"access private method"),t);import{_ as cE,m as dE,l as Lt,A as uo,C as le,I as Nn,D as Yp,a as os,g as hE,M as ut,b as Qt,E as oa,c as N,r as an,d as xr,e as y,f as hA,h as In,R as Fi,S as Kt,i as Gs,j as Lr,k as Ki,n as bi,o as oe,p as Se,K as ds,q as wt,s as $e,t as _s,u as B,v as Ti,O as Oa,w as fs,P as Dt,x as uw,y as Qp,z as uE,B as ul,F as ra,G as dS,H as Ts,U as fn,J as ng,L as Et,N as vl,Q as uA,T as ro,V as hS,W as gA,X as gE,$ as yt,Y as Yi,Z as qi,a0 as jn,a1 as li,a2 as Wo,a3 as np,a4 as ze,a5 as b_,a6 as fA,a7 as pA,a8 as ms,a9 as mA,aa,ab as go,ac as Tt,ad as fE,ae as Tn,af as _A,ag as vA,ah as lo,ai as Rg,aj as hs,ak as ay,al as io,am as Oc,an as O0,ao as ly,ap as Ds,aq as sg,ar as Es,as as cy,at as dy,au as bA,av as Jp,aw as Ag,ax as Dl,ay as yA,az as Og,aA as wA,aB as F0,aC as SA,aD as CA,aE as KL,aF as ss,aG as gl,aH as no,aI as mi,aJ as ll,aK as xA,aL as Ba,aM as Oo,aN as Cs,aO as la,aP as H0,aQ as vs,aR as ts,aS as q_,aT as pi,aU as pE,aV as LA,aW as W0,aX as hy,aY as B0,aZ as z0,a_ as fd,a$ as kA,b0 as V0,b1 as IA,b2 as j0,b3 as El,b4 as Pl,b5 as og,b6 as sp,b7 as xo,b8 as em,b9 as K_,ba as gw,bb as bn,bc as U0,bd as tm,be as uy,bf as DA,bg as mE,bh as op,bi as rg,bj as rp,bk as im,bl as gy,bm as Gi,bn as Fc,bo as nm,bp as EA,bq as PA,br as $0,bs as TA,bt as G_,bu as nr,bv as q0,bw as ag,bx as Tl,by as Fg,bz as Di,bA as lg,bB as _E,bC as sm,bD as MA,bE as pd,bF as pt,bG as GL,bH as y_,bI as vE,bJ as Dr,bK as ea,bL as xn,bM as cg,bN as vr,bO as dg,bP as Vn,bQ as ap,bR as Th,bS as uS,bT as bE,bU as yE,bV as wE,bW as K0,bX as vo,bY as on,bZ as om,b_ as SE,b$ as fl,c0 as fy,c1 as NA,c2 as mu,c3 as ZL,c4 as rm,c5 as CE,c6 as _u,c7 as RA,c8 as hr,c9 as py,ca as AA,cb as fo,cc as ca,cd as am,ce as lp,cf as xE,cg as er,ch as lm,ci as my,cj as OA,ck as FA,cl as HA,cm as Hg,cn as za,co as xs,cp as WA,cq as G0,cr as BA,cs as zA,ct as XL,cu as VA,cv as cm,cw as bl,cx as gS,cy as uh,cz as yl,cA as jA,cB as Fa,cC as br,cD as Mo,cE as YL,cF as Xs,cG as dm,cH as Ic,cI as Va,cJ as UA,cK as da,cL as cp,cM as _y,cN as LE,cO as $A,cP as qA,cQ as Z0,cR as KA,cS as dp,cT as GA,cU as ec,cV as hp,cW as QL,cX as ZA,cY as XA,cZ as $a,c_ as YA,c$ as X0,d0 as kE,d1 as IE,d2 as DE,d3 as EE,d4 as QA,d5 as JA,d6 as PE,d7 as TE,d8 as eO,d9 as Y0,da as tO,db as iO,dc as Gn,dd as nO,de as Q0,df as sO,dg as vu,dh as JL,di as oO,dj as rO,dk as aO,dl as lO,dm as cO,dn as dO,dp as hg,dq as vy,dr as fS,ds as hO,dt as uO,du as ek,dv as pS,dw as gO,dx as tk,dy as fw,dz as fO,dA as ME,dB as pO,dC as NE,dD as mS,dE as mO,dF as _O,dG as vO,dH as RE,dI as AE,dJ as bO,dK as Z_,dL as OE,dM as by,dN as yO,dO as wO,dP as Dc,dQ as J0,dR as SO,dS as ik,dT as nk,dU as CO,dV as bu,dW as FE,dX as xO,dY as LO,dZ as kO,d_ as IO,d$ as HE,e0 as WE,e1 as BE,e2 as zE,e3 as DO,e4 as Ha,e5 as sk,e6 as EO,e7 as hm,e8 as PO,e9 as bf,ea as VE,eb as ok,ec as up,ed as jE,ee as X_,ef as TO,eg as UE,eh as MO,ei as $E,ej as NO,ek as RO,el as qE,em as KE,en as wl,eo as yy,ep as AO,eq as GE,er as Fo,es as md,et as ZE,eu as OO,ev as FO,ew as XE,ex as YE,ey as HO,ez as QE,eA as JE,eB as gp,eC as WO,eD as BO,eE as zO,eF as VO,eG as lf,eH as rk,eI as jO,eJ as UO,eK as $O,eL as Y_,eM as Fs,eN as qO,eO as _S,eP as Mh,eQ as KO,eR as al,eS as GO,eT as ZO,eU as eP,eV as XO,eW as Ff,eX as YO,eY as QO,eZ as JO,e_ as e2,e$ as ak,f0 as lk,f1 as ck,f2 as Nh,f3 as e1,f4 as tP,f5 as vS,f6 as w_,f7 as iP,f8 as Q_,f9 as t2,fa as i2,fb as n2,fc as s2,fd as t1,fe as nP,ff as o2,fg as J_,fh as sP,fi as oP,fj as r2,fk as a2,fl as l2,fm as c2,fn as d2,fo as h2,fp as u2,fq as g2,fr as rP,fs as f2,ft as ev,fu as aP,fv as p2,fw as lP,fx as m2,fy as cP,fz as dP,fA as _2,fB as dk,fC as hP,fD as hk,fE as v2,fF as pw,fG as uk,fH as b2,fI as y2,fJ as w2,fK as Da,fL as Ec,fM as S2,fN as gk,fO as S_,fP as C2,fQ as cl,fR as wy,fS as bS,fT as x2,fU as uP,fV as gP,fW as Ys,fX as fk,fY as zm,fZ as i1,f_ as L2,f$ as k2,g0 as I2,g1 as D2,g2 as E2,g3 as P2,g4 as T2,g5 as M2,g6 as pk,g7 as N2,g8 as R2,g9 as A2,ga as ug,gb as Hf,gc as fP,gd as O2,ge as n1,gf as C_,gg as Vm,gh as mw,gi as F2,gj as H2,gk as pP,gl as W2,gm as s1,gn as B2,go as z2,gp as mP,gq as Sy,gr as V2,gs as tv,gt as o1,gu as r1,gv as a1,gw as _P,gx as vP,gy as bP,gz as yP,gA as wP,gB as SP,gC as CP,gD as mk,gE as xP,gF as Gh,gG as j2,gH as U2,gI as $2,gJ as q2,gK as LP,gL as K2,gM as G2,gN as _k,gO as yS,gP as ac,gQ as Z2,gR as X2,gS as Y2,gT as Q2,gU as J2,gV as eF,gW as vk,gX as l1,gY as wS,gZ as tF,g_ as SS,g$ as iF,h0 as nF,h1 as sF,h2 as oF,h3 as c1,h4 as kP,h5 as bk,h6 as yk,h7 as rF,h8 as aF,h9 as lF,ha as wk,hb as _w,hc as cF,hd as dF,he as hF,hf as vw,hg as IP,hh as DP,hi as EP,hj as PP,hk as Sl,hl as TP,hm as d1,hn as Sk,ho as uF,hp as MP,hq as gF,hr as fF,hs as Cy,ht as xy,hu as Rh,hv as Ly,hw as um,hx as pF,hy as ky,hz as mF,hA as _F,hB as vF,hC as NP,hD as cf,hE as bF,hF as yF,hG as wF,hH as SF,hI as gm,hJ as CF,hK as RP,hL as AP,hM as OP,hN as CS,hO as xF,hP as LF,hQ as kF,hR as IF,hS as DF,hT as xS,hU as EF,hV as PF,hW as TF,hX as MF,hY as NF,hZ as RF,h_ as AF,h$ as OF,i0 as FP,i1 as FF,i2 as HF,i3 as WF,i4 as Ck,i5 as BF,i6 as zF,i7 as ed,i8 as ar,i9 as VF,ia as jF}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 HP=!1;var h1=Array.isArray,UF=Array.prototype.indexOf,iv=Array.prototype.includes,Iy=Array.from,$F=Object.defineProperty,Ru=Object.getOwnPropertyDescriptor,qF=Object.getOwnPropertyDescriptors,KF=Object.prototype,GF=Array.prototype,WP=Object.getPrototypeOf,xk=Object.isExtensible;const Dy=()=>{};function ZF(o){for(var e=0;e<o.length;e++)o[e]()}function BP(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function XF(o,e,t=!1){return o===void 0?t?e():e:o}function Lk(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 eo=2,gg=4,Ey=8,zP=1<<24,ta=16,sa=32,Pc=64,LS=128,Sr=512,Hs=1024,js=2048,ja=4096,yo=8192,Cr=16384,Wg=32768,kS=1<<25,fg=65536,nv=1<<17,YF=1<<18,Bg=1<<19,QF=1<<20,Ma=1<<25,gh=65536,sv=1<<21,Au=1<<22,lc=1<<23,_d=Symbol("$state"),JF=Symbol("legacy props"),eH=Symbol(""),x_=Symbol("attributes"),IS=Symbol("class"),DS=Symbol("style"),yf=Symbol("text"),L_=Symbol("form reset"),Py=new class extends Error{constructor(){super(...arguments);$i(this,"name","StaleReactionError");$i(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function VP(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function tH(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function iH(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function nH(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function sH(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function oH(o){throw new Error("https://svelte.dev/e/effect_orphan")}function rH(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function aH(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function lH(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function cH(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function dH(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function hH(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const uH=1,gH=2,jP=4,fH=8,pH=16,mH=1,_H=4,vH=8,bH=16,yH=1,wH=2,Os=Symbol("uninitialized"),UP="http://www.w3.org/1999/xhtml",SH="http://www.w3.org/2000/svg",CH="http://www.w3.org/1998/Math/MathML";function xH(){console.warn("https://svelte.dev/e/derived_inert")}function LH(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function kH(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function $P(o){return o===this.v}function IH(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function qP(o){return!IH(o,this.v)}let DH=!1,Js=null;function pg(o){Js=o}function zo(o,e=!1,t){Js={p:Js,i:!1,c:null,e:null,s:o,x:null,r:rn,l:null}}function Vo(o){var e=Js,t=e.e;if(t!==null){e.e=null;for(var i of t)fT(i)}return o!==void 0&&(e.x=o),e.i=!0,Js=e.p,o??{}}function KP(){return!0}let od=[];function GP(){var o=od;od=[],ZF(o)}function cc(o){if(od.length===0&&!Bf){var e=od;queueMicrotask(()=>{e===od&&GP()})}od.push(o)}function EH(){for(;od.length>0;)GP()}function ZP(o){var e=rn;if(e===null)return sn.f|=lc,o;if((e.f&Wg)===0&&(e.f&gg)===0)throw o;tc(o,e)}function tc(o,e){for(;e!==null;){if((e.f&LS)!==0){if((e.f&Wg)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const PH=-7169;function ws(o,e){o.f=o.f&PH|e}function u1(o){(o.f&Sr)!==0||o.deps===null?ws(o,Hs):ws(o,ja)}function XP(o){if(o!==null)for(const e of o)(e.f&eo)===0||(e.f&gh)===0||(e.f^=gh,XP(e.deps))}function YP(o,e,t){(o.f&js)!==0?e.add(o):(o.f&ja)!==0&&t.add(o),XP(o.deps),ws(o,Hs)}let jm=!1;function TH(o){var e=jm;try{return jm=!1,[o(),jm]}finally{jm=e}}let bw=null,Zh=null,gi=null,Wf=null,Zs=null,ES=null,Bf=!1,yw=!1,yu=null,k_=null;var kk=0;let MH=1;var Wu,Yl,cd,Bu,zu,Vu,nl,ju,Eo,$p,sl,Ur,xa,Uu,dd,Zn,PS,wf,TS,QP,JP,du,NH,Sf;const fb=class fb{constructor(){Ai(this,Zn);$i(this,"id",MH++);Ai(this,Wu,!1);$i(this,"linked",!0);Ai(this,Yl,null);Ai(this,cd,null);$i(this,"async_deriveds",new Map);$i(this,"current",new Map);$i(this,"previous",new Map);Ai(this,Bu,new Set);Ai(this,zu,new Set);Ai(this,Vu,0);Ai(this,nl,new Map);Ai(this,ju,null);Ai(this,Eo,[]);Ai(this,$p,[]);Ai(this,sl,new Set);Ai(this,Ur,new Set);Ai(this,xa,new Map);Ai(this,Uu,new Set);$i(this,"is_fork",!1);Ai(this,dd,!1);Zh===null?bw=Zh=this:(Oi(Zh,cd,this),Oi(this,Yl,Zh)),Zh=this}skip_effect(e){ie(this,xa).has(e)||ie(this,xa).set(e,{d:[],m:[]}),ie(this,Uu).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=ie(this,xa).get(e);if(i){ie(this,xa).delete(e);for(var n of i.d)ws(n,js),t(n);for(n of i.m)ws(n,ja),t(n)}ie(this,Uu).add(e)}capture(e,t,i=!1){e.v!==Os&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&lc)===0&&(this.current.set(e,[t,i]),Zs==null||Zs.set(e,t)),this.is_fork||(e.v=t)}activate(){gi=this}deactivate(){gi=null,Zs=null}flush(){try{yw=!0,gi=this,En(this,Zn,wf).call(this)}finally{kk=0,ES=null,yu=null,k_=null,yw=!1,gi=null,Zs=null,vd.clear()}}discard(){var e;for(const t of ie(this,zu))t(this);ie(this,zu).clear(),En(this,Zn,Sf).call(this),(e=ie(this,ju))==null||e.resolve()}register_created_effect(e){ie(this,$p).push(e)}increment(e,t){if(Oi(this,Vu,ie(this,Vu)+1),e){let i=ie(this,nl).get(t)??0;ie(this,nl).set(t,i+1)}}decrement(e,t){if(Oi(this,Vu,ie(this,Vu)-1),e){let i=ie(this,nl).get(t)??0;i===1?ie(this,nl).delete(t):ie(this,nl).set(t,i-1)}ie(this,dd)||(Oi(this,dd,!0),cc(()=>{Oi(this,dd,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)ie(this,sl).add(i);for(const i of t)ie(this,Ur).add(i);e.clear(),t.clear()}oncommit(e){ie(this,Bu).add(e)}ondiscard(e){ie(this,zu).add(e)}settled(){return(ie(this,ju)??Oi(this,ju,BP())).promise}static ensure(){if(gi===null){const e=gi=new fb;!yw&&!Bf&&cc(()=>{ie(e,Wu)||e.flush()})}return gi}apply(){{Zs=null;return}}schedule(e){var n;if(ES=e,(n=e.b)!=null&&n.is_pending&&(e.f&(gg|Ey|zP))!==0&&(e.f&Wg)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(yu!==null&&t===rn&&(sn===null||(sn.f&eo)===0))return;if((i&(Pc|sa))!==0){if((i&Hs)===0)return;t.f^=Hs}}ie(this,Eo).push(t)}};Wu=new WeakMap,Yl=new WeakMap,cd=new WeakMap,Bu=new WeakMap,zu=new WeakMap,Vu=new WeakMap,nl=new WeakMap,ju=new WeakMap,Eo=new WeakMap,$p=new WeakMap,sl=new WeakMap,Ur=new WeakMap,xa=new WeakMap,Uu=new WeakMap,dd=new WeakMap,Zn=new WeakSet,PS=function(){if(this.is_fork)return!0;for(const i of ie(this,nl).keys()){for(var e=i,t=!1;e.parent!==null;){if(ie(this,xa).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},wf=function(){var c,h,g,f;Oi(this,Wu,!0),kk++>1e3&&(En(this,Zn,Sf).call(this),AH());for(const p of ie(this,sl))ie(this,Ur).delete(p),ws(p,js),this.schedule(p);for(const p of ie(this,Ur))ws(p,ja),this.schedule(p);const e=ie(this,Eo);Oi(this,Eo,[]),this.apply();var t=yu=[],i=[],n=k_=[];for(const p of e)try{En(this,Zn,TS).call(this,p,t,i)}catch(v){throw iT(p),En(this,Zn,PS).call(this)||this.discard(),v}if(gi=null,n.length>0){var s=fb.ensure();for(const p of n)s.schedule(p)}if(yu=null,k_=null,En(this,Zn,PS).call(this)){En(this,Zn,du).call(this,i),En(this,Zn,du).call(this,t);for(const[p,v]of ie(this,xa))tT(p,v);n.length>0&&En(c=gi,Zn,wf).call(c);return}const r=En(this,Zn,QP).call(this);if(r){En(this,Zn,du).call(this,i),En(this,Zn,du).call(this,t),En(h=r,Zn,JP).call(h,this);return}ie(this,sl).clear(),ie(this,Ur).clear();for(const p of ie(this,Bu))p(this);ie(this,Bu).clear(),Wf=this,Ik(i),Ik(t),Wf=null,(g=ie(this,ju))==null||g.resolve();var a=gi;if(ie(this,Vu)===0&&(ie(this,Eo).length===0||a!==null)&&En(this,Zn,Sf).call(this),ie(this,Eo).length>0)if(a!==null){const p=a;ie(p,Eo).push(...ie(this,Eo).filter(v=>!ie(p,Eo).includes(v)))}else a=this;a!==null&&En(f=a,Zn,wf).call(f)},TS=function(e,t,i){e.f^=Hs;for(var n=e.first;n!==null;){var s=n.f,r=(s&(sa|Pc))!==0,a=r&&(s&Hs)!==0,c=a||(s&yo)!==0||ie(this,xa).has(n);if(!c&&n.fn!==null){r?n.f^=Hs:(s&gg)!==0?t.push(n):pm(n)&&((s&ta)!==0&&ie(this,Ur).add(n),_g(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}}},QP=function(){for(var e=ie(this,Yl);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=ie(e,Yl)}return null},JP=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(ie(e,sl),ie(e,Ur));const t=n=>{var s=n.reactions;if(s!==null)for(const c of s){var r=c.f;if((r&eo)!==0)t(c);else{var a=c;r&(Au|ta)&&!this.async_deriveds.has(a)&&(ie(this,Ur).delete(a),ws(a,js),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),En(i=e,Zn,Sf).call(i),gi=this,En(this,Zn,wf).call(this)},du=function(e){for(var t=0;t<e.length;t+=1)YP(e[t],ie(this,sl),ie(this,Ur))},NH=function(){var g;for(let f=bw;f!==null;f=ie(f,cd)){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(ie(f,Wu)){var n=[...f.current.keys()].filter(p=>!f.current.get(p)[1]&&!this.current.has(p));if(n.length===0)e&&f.discard();else if(t.length>0){if(e)for(const p of ie(this,Uu))f.unskip_effect(p,v=>{var _;(v.f&(ta|Au))!==0?f.schedule(v):En(_=f,Zn,du).call(_,[v])});f.activate();var s=new Set,r=new Map;for(var a of t)eT(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 ie(this,$p))(p.f&(Cr|yo|nv))===0&&g1(p,c,r)&&((p.f&(Au|ta))!==0?(ws(p,js),f.schedule(p)):ie(f,sl).add(p));if(ie(f,Eo).length>0&&!ie(f,dd)){f.apply();for(var h of ie(f,Eo))En(g=f,Zn,TS).call(g,h,[],[]);Oi(f,Eo,[])}f.deactivate()}}}},Sf=function(){if(this.linked){var e=ie(this,Yl),t=ie(this,cd);e===null?bw=t:Oi(e,cd,t),t===null?Zh=e:Oi(t,Yl,e),this.linked=!1}};let fh=fb;function RH(o){var e=Bf;Bf=!0;try{for(var t;;){if(EH(),gi===null)return t;gi.flush()}}finally{Bf=e}}function AH(){try{rH()}catch(o){tc(o,ES)}}let zr=null;function Ik(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(Cr|yo))===0&&pm(i)&&(zr=new Set,_g(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&_T(i),(zr==null?void 0:zr.size)>0)){vd.clear();for(const n of zr){if((n.f&(Cr|yo))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)zr.has(r)&&(zr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const c=s[a];(c.f&(Cr|yo))===0&&_g(c)}}zr.clear()}}zr=null}}function eT(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&eo)!==0?eT(n,e,t,i):(s&(Au|ta))!==0&&(s&js)===0&&g1(n,e,i)&&(ws(n,js),f1(n))}}function g1(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(iv.call(e,n))return!0;if((n.f&eo)!==0&&g1(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function f1(o){gi.schedule(o)}function tT(o,e){if(!((o.f&sa)!==0&&(o.f&Hs)!==0)){(o.f&js)!==0?e.d.push(o):(o.f&ja)!==0&&e.m.push(o),ws(o,Hs);for(var t=o.first;t!==null;)tT(t,e),t=t.next}}function iT(o){ws(o,Hs);for(var e=o.first;e!==null;)iT(e),e=e.next}function OH(o){let e=0,t=ph(0),i;return()=>{v1()&&(u(t),My(()=>(e===0&&(i=Nl(()=>o(()=>zf(t)))),e+=1,()=>{cc(()=>{e-=1,e===0&&(i==null||i(),i=void 0,zf(t))})})))}}var FH=fg|Bg;function HH(o,e,t,i){new WH(o,e,t,i)}var gr,A0,fr,hd,Po,pr,mo,Xo,ol,ud,Ql,$u,qp,Kp,rl,pb,Ss,BH,zH,VH,MS,I_,D_,NS,RS;class WH{constructor(e,t,i,n){Ai(this,Ss);$i(this,"parent");$i(this,"is_pending",!1);$i(this,"transform_error");Ai(this,gr);Ai(this,A0,null);Ai(this,fr);Ai(this,hd);Ai(this,Po);Ai(this,pr,null);Ai(this,mo,null);Ai(this,Xo,null);Ai(this,ol,null);Ai(this,ud,0);Ai(this,Ql,0);Ai(this,$u,!1);Ai(this,qp,new Set);Ai(this,Kp,new Set);Ai(this,rl,null);Ai(this,pb,OH(()=>(Oi(this,rl,ph(ie(this,ud))),()=>{Oi(this,rl,null)})));var s;Oi(this,gr,e),Oi(this,fr,t),Oi(this,hd,r=>{var a=rn;a.b=this,a.f|=LS,i(r)}),this.parent=rn.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),Oi(this,Po,w1(()=>{En(this,Ss,MS).call(this)},FH))}defer_effect(e){YP(e,ie(this,qp),ie(this,Kp))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!ie(this,fr).pending}update_pending_count(e,t){En(this,Ss,NS).call(this,e,t),Oi(this,ud,ie(this,ud)+e),!(!ie(this,rl)||ie(this,$u))&&(Oi(this,$u,!0),cc(()=>{Oi(this,$u,!1),ie(this,rl)&&mg(ie(this,rl),ie(this,ud))}))}get_effect_pending(){return ie(this,pb).call(this),u(ie(this,rl))}error(e){if(!ie(this,fr).onerror&&!ie(this,fr).failed)throw e;gi!=null&&gi.is_fork?(ie(this,pr)&&gi.skip_effect(ie(this,pr)),ie(this,mo)&&gi.skip_effect(ie(this,mo)),ie(this,Xo)&&gi.skip_effect(ie(this,Xo)),gi.oncommit(()=>{En(this,Ss,RS).call(this,e)})):En(this,Ss,RS).call(this,e)}}gr=new WeakMap,A0=new WeakMap,fr=new WeakMap,hd=new WeakMap,Po=new WeakMap,pr=new WeakMap,mo=new WeakMap,Xo=new WeakMap,ol=new WeakMap,ud=new WeakMap,Ql=new WeakMap,$u=new WeakMap,qp=new WeakMap,Kp=new WeakMap,rl=new WeakMap,pb=new WeakMap,Ss=new WeakSet,BH=function(){try{Oi(this,pr,mr(()=>ie(this,hd).call(this,ie(this,gr))))}catch(e){this.error(e)}},zH=function(e){const t=ie(this,fr).failed;t&&Oi(this,Xo,mr(()=>{t(ie(this,gr),()=>e,()=>()=>{})}))},VH=function(){const e=ie(this,fr).pending;e&&(this.is_pending=!0,Oi(this,mo,mr(()=>e(ie(this,gr)))),cc(()=>{var t=Oi(this,ol,document.createDocumentFragment()),i=pl();t.append(i),Oi(this,pr,En(this,Ss,D_).call(this,()=>mr(()=>ie(this,hd).call(this,i)))),ie(this,Ql)===0&&(ie(this,gr).before(t),Oi(this,ol,null),yd(ie(this,mo),()=>{Oi(this,mo,null)}),En(this,Ss,I_).call(this,gi))}))},MS=function(){try{if(this.is_pending=this.has_pending_snippet(),Oi(this,Ql,0),Oi(this,ud,0),Oi(this,pr,mr(()=>{ie(this,hd).call(this,ie(this,gr))})),ie(this,Ql)>0){var e=Oi(this,ol,document.createDocumentFragment());C1(ie(this,pr),e);const t=ie(this,fr).pending;Oi(this,mo,mr(()=>t(ie(this,gr))))}else En(this,Ss,I_).call(this,gi)}catch(t){this.error(t)}},I_=function(e){this.is_pending=!1,e.transfer_effects(ie(this,qp),ie(this,Kp))},D_=function(e){var t=rn,i=sn,n=Js;Ua(ie(this,Po)),kr(ie(this,Po)),pg(ie(this,Po).ctx);try{return fh.ensure(),e()}catch(s){return ZP(s),null}finally{Ua(t),kr(i),pg(n)}},NS=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&En(i=this.parent,Ss,NS).call(i,e,t);return}Oi(this,Ql,ie(this,Ql)+e),ie(this,Ql)===0&&(En(this,Ss,I_).call(this,t),ie(this,mo)&&yd(ie(this,mo),()=>{Oi(this,mo,null)}),ie(this,ol)&&(ie(this,gr).before(ie(this,ol)),Oi(this,ol,null)))},RS=function(e){ie(this,pr)&&(Ho(ie(this,pr)),Oi(this,pr,null)),ie(this,mo)&&(Ho(ie(this,mo)),Oi(this,mo,null)),ie(this,Xo)&&(Ho(ie(this,Xo)),Oi(this,Xo,null));var t=ie(this,fr).onerror;let i=ie(this,fr).failed;var n=!1,s=!1;const r=()=>{if(n){kH();return}n=!0,s&&hH(),ie(this,Xo)!==null&&yd(ie(this,Xo),()=>{Oi(this,Xo,null)}),En(this,Ss,D_).call(this,()=>{En(this,Ss,MS).call(this)})},a=c=>{try{s=!0,t==null||t(c,r),s=!1}catch(h){tc(h,ie(this,Po)&&ie(this,Po).parent)}i&&Oi(this,Xo,En(this,Ss,D_).call(this,()=>{try{return mr(()=>{var h=rn;h.b=this,h.f|=LS,i(ie(this,gr),()=>c,()=>r)})}catch(h){return tc(h,ie(this,Po).parent),null}}))};cc(()=>{var c;try{c=this.transform_error(e)}catch(h){tc(h,ie(this,Po)&&ie(this,Po).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(a,h=>tc(h,ie(this,Po)&&ie(this,Po).parent)):a(c)})};function jH(o,e,t,i){const n=fp;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=rn,a=UH(),c=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function h(p){if((r.f&Cr)===0){a();try{i(p)}catch(v){tc(v,r)}ov()}}var g=nT();if(t.length===0){c.then(()=>h(e.map(n))).finally(g);return}function f(){Promise.all(t.map(p=>$H(p))).then(p=>h([...e.map(n),...p])).catch(p=>tc(p,r)).finally(g)}c?c.then(()=>{a(),f(),ov()}):f()}function UH(){var o=rn,e=sn,t=Js,i=gi;return function(s=!0){Ua(o),kr(e),pg(t),s&&(o.f&Cr)===0&&(i==null||i.activate(),i==null||i.apply())}}function ov(o=!0){Ua(null),kr(null),pg(null),o&&(gi==null||gi.deactivate())}function nT(){var o=rn,e=o.b,t=gi,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 fp(o){var e=eo|js;return rn!==null&&(rn.f|=Bg),{ctx:Js,deps:null,effects:null,equals:$P,f:e,fn:o,reactions:null,rv:0,v:Os,wv:0,parent:rn,ac:null}}const Um=Symbol("obsolete");function $H(o,e,t){let i=rn;i===null&&tH();var n=void 0,s=ph(Os),r=!sn,a=new Set;return nW(()=>{var v,_;var c=rn,h=BP();n=h.promise;try{Promise.resolve(o()).then(h.resolve,w=>{w!==Py&&h.reject(w)}).finally(ov)}catch(w){h.reject(w),ov()}var g=gi;if(r){if((c.f&Wg)!==0)var f=nT();if((v=i.b)!=null&&v.is_rendered())(_=g.async_deriveds.get(c))==null||_.reject(Um);else for(const w of a.values())w.reject(Um);a.add(h),g.async_deriveds.set(c,h)}const p=(w,S=void 0)=>{f==null||f(),a.delete(h),S!==Um&&(g.activate(),S?(s.f|=lc,mg(s,S)):((s.f&lc)!==0&&(s.f^=lc),mg(s,w)),g.deactivate())};h.promise.then(p,w=>p(null,w||"unknown"))}),b1(()=>{for(const c of a)c.reject(Um)}),new Promise(c=>{function h(g){function f(){g===n?c(s):h(n)}g.then(f,f)}h(n)})}function nt(o){const e=fp(o);return yT(e),e}function p1(o){const e=fp(o);return e.equals=qP,e}function qH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Ho(e[t])}}function m1(o){var e,t=rn,i=o.parent;if(!Cl&&i!==null&&o.v!==Os&&(i.f&(Cr|yo))!==0)return xH(),o.v;Ua(i);try{o.f&=~gh,qH(o),e=xT(o)}finally{Ua(t)}return e}function sT(o){var e=m1(o);if(!o.equals(e)&&(o.wv=ST(),(!(gi!=null&&gi.is_fork)||o.deps===null)&&(gi!==null?(gi.capture(o,e,!0),Wf==null||Wf.capture(o,e,!0)):o.v=e,o.deps===null))){ws(o,Hs);return}Cl||(Zs!==null?(v1()||gi!=null&&gi.is_fork)&&Zs.set(o,e):u1(o))}function KH(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(Py),i.fn!==null&&(i.teardown=Dy),i.ac=null,pp(i,0),S1(i))}function oT(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&_g(e)}let rv=new Set;const vd=new Map;let rT=!1;function ph(o,e){var t={f:0,v:o,reactions:null,equals:$P,rv:0,wv:0};return t}function W(o,e){const t=ph(o);return yT(t),t}function GH(o,e=!1,t=!0){const i=ph(o);return e||(i.equals=qP),i}function k(o,e,t=!1){sn!==null&&(!ia||(sn.f&nv)!==0)&&KP()&&(sn.f&(eo|ta|Au|nv))!==0&&(Wa===null||!Wa.has(o))&&dH();let i=t?fi(e):e;return mg(o,i,k_)}function mg(o,e,t=null){if(!o.equals(e)){vd.set(o,Cl?e:o.v);var i=fh.ensure();if(i.capture(o,e),(o.f&eo)!==0){const n=o;(o.f&js)!==0&&m1(n),Zs===null&&u1(n)}o.wv=ST(),aT(o,js,t),rn!==null&&(rn.f&Hs)!==0&&(rn.f&(sa|Pc))===0&&(ur===null?oW([o]):ur.push(o)),!i.is_fork&&rv.size>0&&!rT&&ZH()}return e}function ZH(){rT=!1;for(const o of rv){(o.f&Hs)!==0&&ws(o,ja);let e;try{e=pm(o)}catch{e=!0}e&&_g(o)}rv.clear()}function Dk(o,e=1){var t=u(o),i=e===1?t++:t--;return k(o,t),i}function zf(o){k(o,o.v+1)}function aT(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&js)===0;if(c&&ws(r,e),(a&nv)!==0)rv.add(r);else if((a&eo)!==0){var h=r;Zs==null||Zs.delete(h),(a&gh)===0&&(a&Sr&&(rn===null||(rn.f&sv)===0)&&(r.f|=gh),aT(h,ja,t))}else if(c){var g=r;(a&ta)!==0&&zr!==null&&zr.add(g),t!==null?t.push(g):f1(g)}}}function fi(o){if(typeof o!="object"||o===null||_d in o)return o;const e=WP(o);if(e!==KF&&e!==GF)return o;var t=new Map,i=h1(o),n=W(0),s=wd,r=a=>{if(wd===s)return a();var c=sn,h=wd;kr(null),Mk(s);var g=a();return kr(c),Mk(h),g};return i&&t.set("length",W(o.length)),new Proxy(o,{defineProperty(a,c,h){(!("value"in h)||h.configurable===!1||h.enumerable===!1||h.writable===!1)&&lH();var g=t.get(c);return g===void 0?r(()=>{var f=W(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(()=>W(Os));t.set(c,g),zf(n)}}else k(h,Os),zf(n);return!0},get(a,c,h){var v;if(c===_d)return o;var g=t.get(c),f=c in a;if(g===void 0&&(!f||(v=Ru(a,c))!=null&&v.writable)&&(g=r(()=>{var _=fi(f?a[c]:Os),w=W(_);return w}),t.set(c,g)),g!==void 0){var p=u(g);return p===Os?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!==Os)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return h},has(a,c){var p;if(c===_d)return!0;var h=t.get(c),g=h!==void 0&&h.v!==Os||Reflect.has(a,c);if(h!==void 0||rn!==null&&(!g||(p=Ru(a,c))!=null&&p.writable)){h===void 0&&(h=r(()=>{var v=g?fi(a[c]):Os,_=W(v);return _}),t.set(c,h));var f=u(h);if(f===Os)return!1}return g},set(a,c,h,g){var R;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(_,Os):v in a&&(_=r(()=>W(Os)),t.set(v+"",_))}if(f===void 0)(!p||(R=Ru(a,c))!=null&&R.writable)&&(f=r(()=>W(void 0)),k(f,fi(h)),t.set(c,f));else{p=f.v!==Os;var w=r(()=>fi(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"),E=Number(c);Number.isInteger(E)&&E>=D.v&&k(D,E+1)}zf(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!==Os});for(var[h,g]of t)g.v!==Os&&!(h in a)&&c.push(h);return c},setPrototypeOf(){cH()}})}function Ek(o){try{if(o!==null&&typeof o=="object"&&_d in o)return o[_d]}catch{}return o}function XH(o,e){return Object.is(Ek(o),Ek(e))}var bd,lT,cT,dT,hT;function YH(){if(bd===void 0){bd=window,lT=document,cT=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;dT=Ru(e,"firstChild").get,hT=Ru(e,"nextSibling").get,xk(o)&&(o[IS]=void 0,o[x_]=null,o[DS]=void 0,o.__e=void 0),xk(t)&&(t[yf]=void 0)}}function pl(o=""){return document.createTextNode(o)}function Na(o){return dT.call(o)}function fm(o){return hT.call(o)}function x(o,e){return Na(o)}function bt(o,e=!1){{var t=Na(o);return t instanceof Comment&&t.data===""?fm(t):t}}function C(o,e=1,t=!1){let i=o;for(;e--;)i=fm(i);return i}function QH(o){o.textContent=""}function uT(){return!1}function gT(o,e,t){return e==null||e===UP?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let Pk=!1;function JH(){Pk||(Pk=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[L_])==null||e.call(t)})},{capture:!0}))}function Ty(o){var e=sn,t=rn;kr(null),Ua(null);try{return o()}finally{kr(e),Ua(t)}}function _1(o,e,t,i=t){o.addEventListener(e,()=>Ty(t));const n=o[L_];n?o[L_]=()=>{n(),i(!0)}:o[L_]=()=>i(!0),JH()}function eW(o){rn===null&&(sn===null&&oH(),sH()),Cl&&nH()}function tW(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function Ml(o,e){var t=rn;t!==null&&(t.f&yo)!==0&&(o|=yo);var i={ctx:Js,deps:null,nodes:null,f:o|js|Sr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};gi==null||gi.register_created_effect(i);var n=i;if((o&gg)!==0)yu!==null?yu.push(i):fh.ensure().schedule(i);else if(e!==null){try{_g(i)}catch(r){throw Ho(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&Bg)===0&&(n=n.first,(o&ta)!==0&&(o&fg)!==0&&n!==null&&(n.f|=fg))}if(n!==null&&(n.parent=t,t!==null&&tW(n,t),sn!==null&&(sn.f&eo)!==0&&(o&Pc)===0)){var s=sn;(s.effects??(s.effects=[])).push(n)}return i}function v1(){return sn!==null&&!ia}function b1(o){const e=Ml(Ey,null);return ws(e,Hs),e.teardown=o,e}function Fn(o){eW();var e=rn.f,t=!sn&&(e&sa)!==0&&Js!==null&&!Js.i;if(t){var i=Js;(i.e??(i.e=[])).push(o)}else return fT(o)}function fT(o){return Ml(gg|QF,o)}function iW(o){fh.ensure();const e=Ml(Pc|Bg,o);return(t={})=>new Promise(i=>{t.outro?yd(e,()=>{Ho(e),i(void 0)}):(Ho(e),i(void 0))})}function y1(o){return Ml(gg,o)}function nW(o){return Ml(Au|Bg,o)}function My(o,e=0){return Ml(Ey|e,o)}function K(o,e=[],t=[],i=[]){jH(i,e,t,n=>{Ml(Ey,()=>o(...n.map(u)))})}function w1(o,e=0){var t=Ml(ta|e,o);return t}function mr(o){return Ml(sa|Bg,o)}function pT(o){var e=o.teardown;if(e!==null){const t=Cl,i=sn;Tk(!0),kr(null);try{e.call(null)}finally{Tk(t),kr(i)}}}function S1(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&Ty(()=>{n.abort(Py)});var i=t.next;(t.f&Pc)!==0?t.parent=null:Ho(t,e),t=i}}function sW(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&sa)===0&&Ho(e),e=t}}function Ho(o,e=!0){var t=!1;(e||(o.f&YF)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(mT(o.nodes.start,o.nodes.end),t=!0),ws(o,kS),S1(o,e&&!t),pp(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();pT(o),o.f^=kS,o.f|=Cr;var n=o.parent;n!==null&&n.first!==null&&_T(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function mT(o,e){for(;o!==null;){var t=o===e?null:fm(o);o.remove(),o=t}}function _T(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 yd(o,e,t=!0){var i=[];vT(o,i,!0);var n=()=>{t&&Ho(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function vT(o,e,t){if((o.f&yo)===0){o.f^=yo;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&Pc)===0){var r=(n.f&fg)!==0||(n.f&sa)!==0&&(o.f&ta)!==0;vT(n,e,r?t:!1)}n=s}}}function av(o){bT(o,!0)}function bT(o,e){if((o.f&yo)!==0){o.f^=yo,(o.f&Hs)===0&&(ws(o,js),fh.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&fg)!==0||(t.f&sa)!==0;bT(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 C1(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:fm(t);e.append(t),t=n}}let E_=!1,Cl=!1;function Tk(o){Cl=o}let sn=null,ia=!1;function kr(o){sn=o}let rn=null;function Ua(o){rn=o}let Wa=null;function yT(o){sn!==null&&(Wa??(Wa=new Set)).add(o)}let To=null,Go=0,ur=null;function oW(o){ur=o}let wT=1,rd=0,wd=rd;function Mk(o){wd=o}function ST(){return++wT}function pm(o){var e=o.f;if((e&js)!==0)return!0;if(e&eo&&(o.f&=~gh),(e&ja)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(pm(s)&&sT(s),s.wv>o.wv)return!0}(e&Sr)!==0&&Zs===null&&ws(o,Hs)}return!1}function CT(o,e,t=!0){var i=o.reactions;if(i!==null&&!(Wa!==null&&Wa.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&eo)!==0?CT(s,e,!1):e===s&&(t?ws(s,js):(s.f&Hs)!==0&&ws(s,ja),f1(s))}}function xT(o){var w;var e=To,t=Go,i=ur,n=sn,s=Wa,r=Js,a=ia,c=wd,h=o.f;To=null,Go=0,ur=null,sn=(h&(sa|Pc))===0?o:null,Wa=null,pg(o.ctx),ia=!1,wd=++rd,o.ac!==null&&(Ty(()=>{o.ac.abort(Py)}),o.ac=null);try{o.f|=sv;var g=o.fn,f=g();o.f|=Wg;var p=o.deps,v=gi==null?void 0:gi.is_fork;if(To!==null){var _;if(v||pp(o,Go),p!==null&&Go>0)for(p.length=Go+To.length,_=0;_<To.length;_++)p[Go+_]=To[_];else o.deps=p=To;if(v1()&&(o.f&Sr)!==0)for(_=Go;_<p.length;_++)((w=p[_]).reactions??(w.reactions=[])).push(o)}else!v&&p!==null&&Go<p.length&&(pp(o,Go),p.length=Go);if(KP()&&ur!==null&&!ia&&p!==null&&(o.f&(eo|ja|js))===0)for(_=0;_<ur.length;_++)CT(ur[_],o);if(n!==null&&n!==o){if(rd++,n.deps!==null)for(let S=0;S<t;S+=1)n.deps[S].rv=rd;if(e!==null)for(const S of e)S.rv=rd;ur!==null&&(i===null?i=ur:i.push(...ur))}return(o.f&lc)!==0&&(o.f^=lc),f}catch(S){return ZP(S)}finally{o.f^=sv,To=e,Go=t,ur=i,sn=n,Wa=s,pg(r),ia=a,wd=c}}function rW(o,e){let t=e.reactions;if(t!==null){var i=UF.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&eo)!==0&&(To===null||!iv.call(To,e))){var s=e;(s.f&Sr)!==0&&(s.f^=Sr,s.f&=~gh),s.v!==Os&&u1(s),KH(s),pp(s,0)}}function pp(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)rW(o,t[i])}function _g(o){var e=o.f;if((e&Cr)===0){ws(o,Hs);var t=rn,i=E_;rn=o,E_=!0;try{(e&(ta|zP))!==0?sW(o):S1(o),pT(o);var n=xT(o);o.teardown=typeof n=="function"?n:null,o.wv=wT;var s;HP&&DH&&(o.f&js)!==0&&o.deps}finally{E_=i,rn=t}}}async function P_(){await Promise.resolve(),RH()}function u(o){var e=o.f,t=(e&eo)!==0;if(sn!==null&&!ia){var i=rn!==null&&(rn.f&Cr)!==0;if(!i&&(Wa===null||!Wa.has(o))){var n=sn.deps;if((sn.f&sv)!==0)o.rv<rd&&(o.rv=rd,To===null&&n!==null&&n[Go]===o?Go++:To===null?To=[o]:To.push(o));else{sn.deps??(sn.deps=[]),iv.call(sn.deps,o)||sn.deps.push(o);var s=o.reactions;s===null?o.reactions=[sn]:iv.call(s,sn)||s.push(sn)}}}if(Cl&&vd.has(o))return vd.get(o);if(t){var r=o;if(Cl){var a=r.v;return((r.f&Hs)===0&&r.reactions!==null||kT(r))&&(a=m1(r)),vd.set(r,a),a}var c=(r.f&Sr)===0&&!ia&&sn!==null&&(E_||(sn.f&Sr)!==0),h=(r.f&Wg)===0;pm(r)&&(c&&(r.f|=Sr),sT(r)),c&&!h&&(oT(r),LT(r))}if(Zs!=null&&Zs.has(o))return Zs.get(o);if((o.f&lc)!==0)throw o.v;return o.v}function LT(o){if(o.f|=Sr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&eo)!==0&&(e.f&Sr)===0&&(oT(e),LT(e))}function kT(o){if(o.v===Os)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(vd.has(e)||(e.f&eo)!==0&&kT(e))return!0;return!1}function Nl(o){var e=ia;try{return ia=!0,o()}finally{ia=e}}const aW=["touchstart","touchmove"];function lW(o){return aW.includes(o)}const ad=Symbol("events"),IT=new Set,AS=new Set;function cW(o,e,t,i={}){function n(s){if(i.capture||OS.call(e,s),!s.cancelBubble)return Ty(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?cc(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function cs(o,e,t,i,n){var s={capture:i,passive:n},r=cW(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&b1(()=>{e.removeEventListener(o,r,s)})}function Q(o,e,t){(e[ad]??(e[ad]={}))[o]=t}function Er(o){for(var e=0;e<o.length;e++)IT.add(o[e]);for(var t of AS)t(o)}let Nk=null;function OS(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;Nk=o;var r=0,a=Nk===o&&o[ad];if(a){var c=n.indexOf(a);if(c!==-1&&(e===document||e===window)){o[ad]=e;return}var h=n.indexOf(e);if(h===-1)return;c<=h&&(r=c)}if(s=n[r]||o.target,s!==e){$F(o,"currentTarget",{configurable:!0,get(){return s||t}});var g=sn,f=rn;kr(null),Ua(null);try{for(var p,v=[];s!==null&&s!==e;){try{var _=(S=s[ad])==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[ad]=e,delete o.currentTarget,kr(g),Ua(f)}}}var aE;const ww=((aE=globalThis==null?void 0:globalThis.window)==null?void 0:aE.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function dW(o){return(ww==null?void 0:ww.createHTML(o))??o}function DT(o){var e=gT("template");return e.innerHTML=dW(o.replaceAll("<!>","<!---->")),e.content}function mh(o,e){var t=rn;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function M(o,e){var t=(e&yH)!==0,i=(e&wH)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=DT(s?o:"<!>"+o),t||(n=Na(n)));var r=i||cT?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Na(r),c=r.lastChild;mh(a,c)}else mh(r,r);return r}}function hW(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=DT(n),a=Na(r);s=Na(a)}var c=s.cloneNode(!0);return mh(c,c),c}}function ET(o,e){return hW(o,e,"svg")}function na(o=""){{var e=pl(o+"");return mh(e,e),e}}function Us(){var o=document.createDocumentFragment(),e=document.createComment(""),t=pl();return o.append(e,t),mh(e,t),o}function T(o,e){o!==null&&o.before(e)}function $(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[yf]??(o[yf]=o.nodeValue))&&(o[yf]=t,o.nodeValue=`${t}`)}function uW(o,e){return gW(o,e)}const $m=new Map;function gW(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){YH();var c=void 0,h=iW(()=>{var g=t??e.appendChild(pl());HH(g,{pending:()=>{}},v=>{zo({});var _=Js;s&&(_.c=s),n&&(i.$$events=n),c=o(v,i)||{},Vo()},a);var f=new Set,p=v=>{for(var _=0;_<v.length;_++){var w=v[_];if(!f.has(w)){f.add(w);var S=lW(w);for(const R of[e,document]){var D=$m.get(R);D===void 0&&(D=new Map,$m.set(R,D));var E=D.get(w);E===void 0?(R.addEventListener(w,OS,{passive:S}),D.set(w,1)):D.set(w,E+1)}}}};return p(Iy(IT)),AS.add(p),()=>{var S;for(var v of f)for(const D of[e,document]){var _=$m.get(D),w=_.get(v);--w==0?(D.removeEventListener(v,OS),_.delete(v),_.size===0&&$m.delete(D)):_.set(v,w)}AS.delete(p),g!==t&&((S=g.parentNode)==null||S.removeChild(g))}});return fW.set(c,h),c}let fW=new WeakMap;var $r,La,Yo,gd,Gp,Zp,mb;class pW{constructor(e,t=!0){$i(this,"anchor");Ai(this,$r,new Map);Ai(this,La,new Map);Ai(this,Yo,new Map);Ai(this,gd,new Set);Ai(this,Gp,!0);Ai(this,Zp,e=>{if(ie(this,$r).has(e)){var t=ie(this,$r).get(e),i=ie(this,La).get(t);if(i)av(i),ie(this,gd).delete(t);else{var n=ie(this,Yo).get(t);n&&(av(n.effect),ie(this,La).set(t,n.effect),ie(this,Yo).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of ie(this,$r)){if(ie(this,$r).delete(s),s===e)break;const a=ie(this,Yo).get(r);a&&(Ho(a.effect),ie(this,Yo).delete(r))}for(const[s,r]of ie(this,La)){if(s===t||ie(this,gd).has(s))continue;const a=()=>{if(Array.from(ie(this,$r).values()).includes(s)){var h=document.createDocumentFragment();C1(r,h),h.append(pl()),ie(this,Yo).set(s,{effect:r,fragment:h})}else Ho(r);ie(this,gd).delete(s),ie(this,La).delete(s)};ie(this,Gp)||!i?(ie(this,gd).add(s),yd(r,a,!1)):a()}}});Ai(this,mb,e=>{ie(this,$r).delete(e);const t=Array.from(ie(this,$r).values());for(const[i,n]of ie(this,Yo))t.includes(i)||(Ho(n.effect),ie(this,Yo).delete(i))});this.anchor=e,Oi(this,Gp,t)}ensure(e,t){var i=gi,n=uT();if(t&&!ie(this,La).has(e)&&!ie(this,Yo).has(e))if(n){var s=document.createDocumentFragment(),r=pl();s.append(r),ie(this,Yo).set(e,{effect:mr(()=>t(r)),fragment:s})}else ie(this,La).set(e,mr(()=>t(this.anchor)));if(ie(this,$r).set(i,e),n){for(const[a,c]of ie(this,La))a===e?i.unskip_effect(c):i.skip_effect(c);for(const[a,c]of ie(this,Yo))a===e?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(ie(this,Zp)),i.ondiscard(ie(this,mb))}else ie(this,Zp).call(this,i)}}$r=new WeakMap,La=new WeakMap,Yo=new WeakMap,gd=new WeakMap,Gp=new WeakMap,Zp=new WeakMap,mb=new WeakMap;function U(o,e,t=!1){var i=new pW(o),n=t?fg:0;function s(r,a){i.ensure(r,a)}w1(()=>{var r=!1;e((a,c=0)=>{r=!0,s(c,a)}),r||s(-1,null)},n)}function Pn(o,e){return e}function mW(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let f=e[a];yd(f,()=>{if(s){if(s.pending.delete(f),s.done.add(f),s.pending.size===0){var p=o.outrogroups;FS(o,Iy(s.done)),p.delete(s),p.size===0&&(o.outrogroups=null)}}else r-=1},!1)}if(r===0){var c=i.length===0&&t!==null;if(c){var h=t,g=h.parentNode;QH(g),g.append(h),o.items.clear()}FS(o,e,!c)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function FS(o,e,t=!0){var i;if(o.pending.size>0){i=new Set;for(const r of o.pending.values())for(const a of r)i.add(o.items.get(a).e)}for(var n=0;n<e.length;n++){var s=e[n];if(i!=null&&i.has(s)){s.f|=Ma;const r=document.createDocumentFragment();C1(s,r)}else Ho(e[n],t)}}var Rk;function ui(o,e,t,i,n,s=null){var r=o,a=new Map,c=(e&jP)!==0;if(c){var h=o;r=h.appendChild(pl())}var g=null,f=p1(()=>{var R=t();return h1(R)?R:R==null?[]:Iy(R)}),p,v=new Map,_=!0;function w(R){(E.effect.f&Cr)===0&&(E.pending.delete(R),E.fallback=g,_W(E,p,r,e,i),g!==null&&(p.length===0?(g.f&Ma)===0?av(g):(g.f^=Ma,Cf(g,null,r)):yd(g,()=>{g=null})))}function S(R){E.pending.delete(R)}var D=w1(()=>{p=u(f);for(var R=p.length,V=new Set,H=gi,J=uT(),Y=0;Y<R;Y+=1){var ue=p[Y],Te=i(ue,Y),Oe=_?null:a.get(Te);Oe?(Oe.v&&mg(Oe.v,ue),Oe.i&&mg(Oe.i,Y),J&&H.unskip_effect(Oe.e)):(Oe=vW(a,_?r:Rk??(Rk=pl()),ue,Te,Y,n,e,t),_||(Oe.e.f|=Ma),a.set(Te,Oe)),V.add(Te)}if(R===0&&s&&!g&&(_?g=mr(()=>s(r)):(g=mr(()=>s(Rk??(Rk=pl()))),g.f|=Ma)),R>V.size&&iH(),!_)if(v.set(H,V),J){for(const[Ce,ft]of a)V.has(Ce)||H.skip_effect(ft.e);H.oncommit(w),H.ondiscard(S)}else w(H);u(f)}),E={effect:D,items:a,pending:v,outrogroups:null,fallback:g};_=!1}function df(o){for(;o!==null&&(o.f&sa)===0;)o=o.next;return o}function _W(o,e,t,i,n){var Oe,Ce,ft,kt,ct,ci,jt,Jt,Ke;var s=(i&fH)!==0,r=e.length,a=o.items,c=df(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&Ma)===0&&((Ce=(Oe=S.nodes)==null?void 0:Oe.a)==null||Ce.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 Gt of o.outrogroups)Gt.pending.delete(S),Gt.done.delete(S);if((S.f&yo)!==0&&(av(S),s&&((kt=(ft=S.nodes)==null?void 0:ft.a)==null||kt.unfix(),(f??(f=new Set)).delete(S))),(S.f&Ma)!==0)if(S.f^=Ma,S===c)Cf(S,null,t);else{var E=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),Wl(o,g,S),Wl(o,S,E),Cf(S,E,t),g=S,p=[],v=[],c=df(g.next);continue}if(S!==c){if(h!==void 0&&h.has(S)){if(p.length<v.length){var R=v[0],V;g=R.prev;var H=p[0],J=p[p.length-1];for(V=0;V<p.length;V+=1)Cf(p[V],R,t);for(V=0;V<v.length;V+=1)h.delete(v[V]);Wl(o,H.prev,J.next),Wl(o,g,H),Wl(o,J,R),c=R,g=J,D-=1,p=[],v=[]}else h.delete(S),Cf(S,c,t),Wl(o,S.prev,S.next),Wl(o,S,g===null?o.effect.first:g.next),Wl(o,g,S),g=S;continue}for(p=[],v=[];c!==null&&c!==S;)(h??(h=new Set)).add(c),v.push(c),c=df(c.next);if(c===null)continue}(S.f&Ma)===0&&p.push(S),g=S,c=df(S.next)}if(o.outrogroups!==null){for(const Gt of o.outrogroups)Gt.pending.size===0&&(FS(o,Iy(Gt.done)),(ct=o.outrogroups)==null||ct.delete(Gt));o.outrogroups.size===0&&(o.outrogroups=null)}if(c!==null||h!==void 0){var Y=[];if(h!==void 0)for(S of h)(S.f&yo)===0&&Y.push(S);for(;c!==null;)(c.f&yo)===0&&c!==o.fallback&&Y.push(c),c=df(c.next);var ue=Y.length;if(ue>0){var Te=(i&jP)!==0&&r===0?t:null;if(s){for(D=0;D<ue;D+=1)(jt=(ci=Y[D].nodes)==null?void 0:ci.a)==null||jt.measure();for(D=0;D<ue;D+=1)(Ke=(Jt=Y[D].nodes)==null?void 0:Jt.a)==null||Ke.fix()}mW(o,Y,Te)}}s&&cc(()=>{var Gt,ve;if(f!==void 0)for(S of f)(ve=(Gt=S.nodes)==null?void 0:Gt.a)==null||ve.apply()})}function vW(o,e,t,i,n,s,r,a){var c=(r&uH)!==0?(r&pH)===0?GH(t,!1,!1):ph(t):null,h=(r&gH)!==0?ph(n):null;return{v:c,i:h,e:mr(()=>(s(e,c??t,h??n,a),()=>{o.delete(i)}))}}function Cf(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Ma)===0?e.nodes.start:t;i!==null;){var r=fm(i);if(s.before(i),i===n)return;i=r}}function Wl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function ic(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var c=o;K(()=>{var h=rn;if(a!==(a=e()??"")){if(t){h.nodes=null,c.innerHTML=a,a!==""&&mh(Na(c),c.lastChild);return}if(h.nodes!==null&&(mT(h.nodes.start,h.nodes.end),h.nodes=null),a!==""){var g=i?SH:n?CH:void 0,f=gT(i?"svg":n?"math":"template",g);f.innerHTML=a;var p=i||n?f:f.content;if(mh(Na(p),p.lastChild),i||n)for(;Na(p);)r.before(Na(p));else r.before(p)}}})}const Ak=[...`
3
+ \r\f \v\uFEFF`];function bW(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||Ak.includes(i[r-1]))&&(a===i.length||Ak.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function Ok(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 Sw(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function yW(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(Sw)),n&&c.push(...Object.keys(n).map(Sw));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=Sw(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+=Ok(i)),n&&(t+=Ok(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[IS];if(r!==t||r===void 0){var a=bW(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[IS]=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 Cw(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 No(o,e,t,i){var n=o[DS];if(n!==e){var s=yW(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[DS]=e}else i&&(Array.isArray(i)?(Cw(o,t==null?void 0:t[0],i[0]),Cw(o,t==null?void 0:t[1],i[1],"important")):Cw(o,t,i));return i}function PT(o,e,t=!1){if(o.multiple){if(e==null)return;if(!h1(e))return LH();for(var i of o.options)i.selected=e.includes(Vf(i));return}for(i of o.options){var n=Vf(i);if(XH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function wW(o){var e=new MutationObserver(()=>{PT(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),b1(()=>{e.disconnect()})}function Gr(o,e,t=e){var i=new WeakSet,n=!0;_1(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),Vf);else{var c=o.querySelector(r)??o.querySelector("option:not([disabled])");a=c&&Vf(c)}t(a),o.__value=a,gi!==null&&i.add(gi)}),y1(()=>{var s=e();if(o===document.activeElement){var r=gi;if(i.has(r))return}if(PT(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=Vf(a),t(s))}o.__value=s,n=!1}),wW(o)}function Vf(o){return"__value"in o?o.__value:o.value}const SW=Symbol("is custom element"),CW=Symbol("is html");function qm(o,e){var t=TT(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function vn(o,e,t,i){var n=TT(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[eH]=t),t==null?o.removeAttribute(e):typeof t!="string"&&xW(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function TT(o){return o[x_]??(o[x_]={[SW]:o.nodeName.includes("-"),[CW]:o.namespaceURI===UP})}var Fk=new Map;function xW(o){var e=o.getAttribute("is")||o.nodeName,t=Fk.get(e);if(t)return t;Fk.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=qF(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=WP(n)}return t}function Ii(o,e,t=e){var i=new WeakSet;_1(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=xw(o)?Lw(s):s,t(s),gi!==null&&i.add(gi),await P_(),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))}}}),Nl(e)==null&&o.value&&(t(xw(o)?Lw(o.value):o.value),gi!==null&&i.add(gi)),My(()=>{var n=e();if(o===document.activeElement){var s=gi;if(i.has(s))return}xw(o)&&n===Lw(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function Vs(o,e,t=e){_1(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),Nl(e)==null&&t(o.checked),My(()=>{var i=e();o.checked=!!i})}function xw(o){var e=o.type;return e==="number"||e==="range"}function Lw(o){return o===""?null:+o}var Jl,qu,Xp,_b,MT;const vb=class vb{constructor(e){Ai(this,_b);Ai(this,Jl,new WeakMap);Ai(this,qu);Ai(this,Xp);Oi(this,Xp,e)}observe(e,t){var i=ie(this,Jl).get(e)||new Set;return i.add(t),ie(this,Jl).set(e,i),En(this,_b,MT).call(this).observe(e,ie(this,Xp)),()=>{var n=ie(this,Jl).get(e);n.delete(t),n.size===0&&(ie(this,Jl).delete(e),ie(this,qu).unobserve(e))}}};Jl=new WeakMap,qu=new WeakMap,Xp=new WeakMap,_b=new WeakSet,MT=function(){return ie(this,qu)??Oi(this,qu,new ResizeObserver(e=>{for(var t of e){vb.entries.set(t.target,t);for(var i of ie(this,Jl).get(t.target)||[])i(t)}}))},$i(vb,"entries",new WeakMap);let HS=vb;var LW=new HS({box:"border-box"});function kW(o,e,t){var i=LW.observe(o,()=>t(o[e]));y1(()=>(Nl(()=>t(o[e])),i))}function kw(o,e){return o===e||(o==null?void 0:o[_d])===e}function Is(o={},e,t,i){var n=Js.r,s=rn;return y1(()=>{var r,a;return My(()=>{r=a,a=[],Nl(()=>{kw(t(...a),o)||(e(o,...a),r&&kw(t(...r),o)&&e(null,...r))})}),()=>{let c=s;for(;c!==n&&c.parent!==null&&c.parent.f&kS;)c=c.parent;const h=()=>{a&&kw(t(...a),o)&&e(null,...a)},g=c.teardown;c.teardown=()=>{h(),g==null||g()}}}),o}function vg(o,e,t,i){var V;var n=!0,s=(t&vH)!==0,r=(t&bH)!==0,a=i,c=!0,h=void 0,g=()=>r&&n?(h??(h=fp(i)),u(h)):(c&&(c=!1,a=r?Nl(i):i),a);let f;if(s){var p=_d in o||JF in o;f=((V=Ru(o,e))==null?void 0:V.set)??(p&&e in o?H=>o[e]=H:void 0)}var v,_=!1;s?[v,_]=TH(()=>o[e]):v=o[e],v===void 0&&i!==void 0&&(v=g(),f&&(aH(),f(v)));var w;if(w=()=>{var H=o[e];return H===void 0?g():(c=!0,H)},(t&_H)===0)return w;if(f){var S=o.$$legacy;return(function(H,J){return arguments.length>0?((!J||S||_)&&f(J?w():H),H):w()})}var D=!1,E=((t&mH)!==0?fp:p1)(()=>(D=!1,w()));s&&u(E);var R=rn;return(function(H,J){if(arguments.length>0){const Y=J?u(E):s?fi(H):H;return k(E,Y),D=!0,a!==void 0&&(a=Y),H}return Cl&&D||(R.f&Cr)!==0?E.v:u(E)})}function Pr(o){Js===null&&VP(),Fn(()=>{const e=Nl(o);if(typeof e=="function")return e})}function Ny(o){Js===null&&VP(),Pr(()=>()=>Nl(o))}const IW="5";var lE;typeof window<"u"&&((lE=window.__svelte??(window.__svelte={})).v??(lE.v=new Set)).add(IW);/*!-----------------------------------------------------------------------------
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 DW=Object.defineProperty,EW=Object.getOwnPropertyDescriptor,PW=Object.getOwnPropertyNames,TW=Object.prototype.hasOwnProperty,MW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of PW(e))!TW.call(o,n)&&n!==t&&DW(o,n,{get:()=>e[n],enumerable:!(i=EW(e,n))||i.enumerable});return o},NW=(o,e,t)=>(MW(o,e,"default"),t),mm={};NW(mm,dE);var RW=class{constructor(e,t,i){this._onDidChange=new mm.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)}},AW={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},OW={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},NT=new RW("json",AW,OW),FW=()=>RT().then(o=>o.getWorker());mm.languages.json={jsonDefaults:NT,getWorker:FW};function RT(){return cE(()=>import("./jsonMode-CXWNuhmR.js"),__vite__mapDeps([0,1,2]))}mm.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});mm.languages.onLanguage("json",()=>{RT().then(o=>o.setupMode(NT))});/*!-----------------------------------------------------------------------------
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 HW=Object.defineProperty,WW=Object.getOwnPropertyDescriptor,BW=Object.getOwnPropertyNames,zW=Object.prototype.hasOwnProperty,VW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of BW(e))!zW.call(o,n)&&n!==t&&HW(o,n,{get:()=>e[n],enumerable:!(i=WW(e,n))||i.enumerable});return o},jW=(o,e,t)=>(VW(o,e,"default"),t),UW="5.4.5",bg={};jW(bg,dE);var AT=(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))(AT||{}),OT=(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))(OT||{}),FT=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(FT||{}),HT=(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))(HT||{}),WT=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(WT||{}),BT=class{constructor(o,e,t,i,n){this._onDidChange=new bg.Emitter,this._onDidExtraLibsChange=new bg.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)}},$W=UW,zT={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},VT=new BT({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},zT),jT=new BT({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},zT),qW=()=>Ry().then(o=>o.getTypeScriptWorker()),KW=()=>Ry().then(o=>o.getJavaScriptWorker());bg.languages.typescript={ModuleKind:AT,JsxEmit:OT,NewLineKind:FT,ScriptTarget:HT,ModuleResolutionKind:WT,typescriptVersion:$W,typescriptDefaults:VT,javascriptDefaults:jT,getTypeScriptWorker:qW,getJavaScriptWorker:KW};function Ry(){return cE(()=>import("./tsMode-YPVpJYLA.js"),__vite__mapDeps([3,1,2]))}bg.languages.onLanguage("typescript",()=>Ry().then(o=>o.setupTypeScript(VT)));bg.languages.onLanguage("javascript",()=>Ry().then(o=>o.setupJavaScript(jT)));class GW extends uo{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Lt("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:ut.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(Nn),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class UT extends uo{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Lt("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:le.has("isInDiffEditor")})}run(e,...t){const i=e.get(Nn),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class $T extends uo{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Lt("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:le.has("isInDiffEditor")})}run(e,...t){const i=e.get(Nn),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const _m=Lt("diffEditor","Diff Editor");class ZW extends oa{constructor(){super({id:"diffEditor.switchSide",title:Lt("switchSide","Switch Side"),icon:Qt.arrowSwap,precondition:le.has("isInDiffEditor"),f1:!0,category:_m})}runEditorCommand(e,t,i){const n=zg(e);if(n instanceof Yp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class XW extends oa{constructor(){super({id:"diffEditor.exitCompareMove",title:Lt("exitCompareMove","Exit Compare Move"),icon:Qt.close,precondition:N.comparingMovedCode,f1:!1,category:_m,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=zg(e);n instanceof Yp&&n.exitCompareMove()}}class YW extends oa{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Lt("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Qt.fold,precondition:le.has("isInDiffEditor"),f1:!0,category:_m})}runEditorCommand(e,t,...i){const n=zg(e);n instanceof Yp&&n.collapseAllUnchangedRegions()}}class QW extends oa{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Lt("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Qt.unfold,precondition:le.has("isInDiffEditor"),f1:!0,category:_m})}runEditorCommand(e,t,...i){const n=zg(e);n instanceof Yp&&n.showAllUnchangedRegions()}}class WS extends uo{constructor(){super({id:"diffEditor.revert",title:Lt("revert","Revert"),f1:!1,category:_m})}run(e,t){const i=JW(e,t.originalUri,t.modifiedUri);i instanceof Yp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const qT=Lt("accessibleDiffViewer","Accessible Diff Viewer"),bb=class bb extends uo{constructor(){super({id:bb.id,title:Lt("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:qT,precondition:le.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=zg(e);t==null||t.accessibleDiffViewerNext()}};bb.id="editor.action.accessibleDiffViewer.next";let mp=bb;const yb=class yb extends uo{constructor(){super({id:yb.id,title:Lt("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:qT,precondition:le.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=zg(e);t==null||t.accessibleDiffViewerPrev()}};yb.id="editor.action.accessibleDiffViewer.prev";let lv=yb;function JW(o,e,t){return o.get(os).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 zg(o){const t=o.get(os).listDiffEditors(),i=hE();if(i)for(const n of t){const s=n.getContainerDomNode();if(e3(s,i))return n}return null}function e3(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}an(GW);an(UT);an($T);xr.appendMenuItem(ut.EditorTitle,{command:{id:new $T().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(N.diffEditorRenderSideBySideInlineBreakpointReached,le.has("isInDiffEditor"))});xr.appendMenuItem(ut.EditorTitle,{command:{id:new UT().desc.id,title:y("showMoves","Show Moved Code Blocks"),icon:Qt.move,toggled:hA.create("config.diffEditor.experimental.showMoves",!0),precondition:le.has("isInDiffEditor")},order:10,group:"1_diff",when:le.has("isInDiffEditor")});an(WS);for(const o of[{icon:Qt.arrowRight,key:N.diffEditorInlineMode.toNegated()},{icon:Qt.discard,key:N.diffEditorInlineMode}])xr.appendMenuItem(ut.DiffEditorHunkToolbar,{command:{id:new WS().desc.id,title:y("revertHunk","Revert Block"),icon:o.icon},when:le.and(N.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),xr.appendMenuItem(ut.DiffEditorSelectionToolbar,{command:{id:new WS().desc.id,title:y("revertSelection","Revert Selection"),icon:o.icon},when:le.and(N.diffEditorModifiedWritable,o.key),order:5,group:"primary"});an(ZW);an(XW);an(YW);an(QW);xr.appendMenuItem(ut.EditorTitle,{command:{id:mp.id,title:y("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:le.has("isInDiffEditor")},order:10,group:"2_diff",when:le.and(N.accessibleDiffViewerVisible.negate(),le.has("isInDiffEditor"))});In.registerCommandAlias("editor.action.diffReview.next",mp.id);an(mp);In.registerCommandAlias("editor.action.diffReview.prev",lv.id);an(lv);var t3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},i3=function(o,e){return function(t,i){e(t,i,o)}},BS;const Ay=new Fi("selectionAnchorSet",!1);var Ld;let Tc=(Ld=class{static get(e){return e.getContribution(BS.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=Ay.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(Kt.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Gs().appendText(y("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Lr(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()}},BS=Ld,Ld.ID="editor.contrib.selectionAnchorController",Ld);Tc=BS=t3([i3(1,Ki)],Tc);class n3 extends Se{constructor(){super({id:"editor.action.setSelectionAnchor",label:y("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2080),weight:100}})}async run(e,t){var i;(i=Tc.get(t))==null||i.setSelectionAnchor()}}class s3 extends Se{constructor(){super({id:"editor.action.goToSelectionAnchor",label:y("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:Ay})}async run(e,t){var i;(i=Tc.get(t))==null||i.goToSelectionAnchor()}}class o3 extends Se{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:y("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:Ay,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2089),weight:100}})}async run(e,t){var i;(i=Tc.get(t))==null||i.selectFromAnchorToCursor()}}class r3 extends Se{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:y("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:Ay,kbOpts:{kbExpr:N.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=Tc.get(t))==null||i.cancelSelectionAnchor()}}bi(Tc.ID,Tc,4);oe(n3);oe(s3);oe(o3);oe(r3);const a3=wt("editorOverviewRuler.bracketMatchForeground","#A0A0A0",y("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class l3 extends Se{constructor(){super({id:"editor.action.jumpToBracket",label:y("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=_h.get(t))==null||i.jumpToBracket()}}class c3 extends Se{constructor(){super({id:"editor.action.selectToBracket",label:y("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Lt("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=_h.get(t))==null||s.selectToBracket(n)}}class d3 extends Se{constructor(){super({id:"editor.action.removeBrackets",label:y("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=_h.get(t))==null||i.removeBrackets(this.id)}}class h3{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const ql=class ql extends $e{static get(e){return e.getContribution(ql.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new _s(()=>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(B.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=ql._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!_&&this._matchBrackets==="always"&&(_=t.bracketPairs.findEnclosingBrackets(v,20),w=ql._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[c++]=new h3(v,_,w)}}this._lastBracketsData=a,this._lastVersionId=i}};ql.ID="editor.contrib.bracketMatchingController",ql._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=Ti.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:fs(a3),position:Oa.Center}}),ql._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=Ti.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let _h=ql;bi(_h.ID,_h,1);oe(c3);oe(l3);oe(d3);xr.appendMenuItem(ut.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:y({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class u3{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 B(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new B(i,s,i,s),a)}else{const r=new B(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new B(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 KT 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 u3(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class g3 extends KT{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:y("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:N.writable})}}class f3 extends KT{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:y("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:N.writable})}}oe(g3);oe(f3);class p3 extends Se{constructor(){super({id:"editor.action.transposeLetters",label:y("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:N.writable,kbOpts:{kbExpr:N.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():uw.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),f=uw.leftPosition(i,g),p=uw.leftPosition(i,f),v=i.getValueInRange(B.fromPositions(p,f)),_=i.getValueInRange(B.fromPositions(f,g)),w=B.fromPositions(p,g);n.push(new Qp(w,_+v))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}oe(p3);const Oy=(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 x1(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function m3(o,e,t){const i={id:Oy(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class GT{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 ul.some(this,([i,n])=>n.asFile())&&t.push("files"),XT(cv(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 cv(e)}}function cv(o){return o.toLowerCase()}function ZT(o,e){return XT(cv(o),e.map(cv))}function XT(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 Fy=Object.freeze({create:o=>uE(o.map(e=>e.toString())).join(`\r
14
+ `),split:o=>o.split(`\r
15
+ `),parse:o=>Fy.split(o).filter(e=>!e.startsWith("#"))}),ya=class ya{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+ya.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new ya((this.value?[this.value,...e]:e).join(ya.sep))}};ya.sep=".",ya.None=new ya("@@none@@"),ya.Empty=new ya("");let Mn=ya;const Hk={EDITORS:"CodeEditors",FILES:"CodeFiles"};class _3{}const v3={DragAndDropContribution:"workbench.contributions.dragAndDrop"};ra.add(v3.DragAndDropContribution,new _3);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 zS=Jf;function YT(o){const e=new GT;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,x1(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,b3(n))}}return e}function b3(o){const e=o.path?fn.parse(o.path):void 0;return m3(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const y3=Object.freeze([Hk.EDITORS,Hk.FILES,dS.RESOURCES,dS.INTERNAL_URI_LIST]);function QT(o,e=!1){const t=YT(o),i=t.get(dS.INTERNAL_URI_LIST);if(i)t.replace(Ts.uriList,i);else if(e||!t.has(Ts.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(fn.file(a).toString()):n.push(fn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Ts.uriList,x1(Fy.create(n)))}for(const n of y3)t.delete(n);return t}var L1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_p=function(o,e){return function(t,i){e(t,i,o)}};class k1{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 ep=class ep extends k1{constructor(){super(...arguments),this.kind=ep.kind,this.dropMimeTypes=[Ts.text],this.pasteMimeTypes=[Ts.text]}async getEdit(e,t){const i=e.get(Ts.text);if(!i||e.has(Ts.uriList))return;const n=await i.asString();return{handledMimeType:Ts.text,title:y("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};ep.id="text",ep.kind=new Mn("text.plain");let vh=ep;class JT extends k1{constructor(){super(...arguments),this.kind=new Mn("uri.absolute"),this.dropMimeTypes=[Ts.uriList],this.pasteMimeTypes=[Ts.uriList]}async getEdit(e,t){const i=await eM(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:c})=>a.scheme===ro.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:Ts.uriList,insertText:s,title:r,kind:this.kind}}}let dv=class extends k1{constructor(e){super(),this._workspaceContextService=e,this.kind=new Mn("uri.relative"),this.dropMimeTypes=[Ts.uriList],this.pasteMimeTypes=[Ts.uriList]}async getEdit(e,t){const i=await eM(e);if(!i.length||t.isCancellationRequested)return;const n=vl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?uA(r.uri,s):void 0}));if(n.length)return{handledMimeType:Ts.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}}};dv=L1([_p(0,ng)],dv);class w3{constructor(){this.kind=new Mn("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Ts.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var c;if(n.triggerKind!==hS.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 eM(o){const e=o.get(Ts.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of Fy.parse(t))try{i.push({uri:fn.parse(n),originalText:n})}catch{}return i}let VS=class extends $e{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new vh)),this._register(e.documentDropEditProvider.register("*",new JT)),this._register(e.documentDropEditProvider.register("*",new dv(t)))}};VS=L1([_p(0,Et),_p(1,ng)],VS);let jS=class extends $e{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new vh)),this._register(e.documentPasteEditProvider.register("*",new JT)),this._register(e.documentPasteEditProvider.register("*",new dv(t))),this._register(e.documentPasteEditProvider.register("*",new w3))}};jS=L1([_p(0,Et),_p(1,ng)],jS);const lr=class lr{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=lr._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(lr.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(lr.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(lr.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(lr.isVariableCharacter(i)||lr.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 lr._table[i]>"u"&&!lr.isDigitCharacter(i)&&!lr.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};lr._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let US=lr;class Vg{constructor(){this._children=[]}appendChild(e){return e instanceof bo&&this._children[this._children.length-1]instanceof bo?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 vm)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let bo=class tM extends Vg{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new tM(this.value)}};class iM extends Vg{}class tr extends iM{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 jg?this._children[0]:void 0}clone(){const e=new tr(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class jg extends Vg{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof bo&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new jg;return this.options.forEach(e.appendChild,e),e}}class I1 extends Vg{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 qr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof qr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new I1;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 qr extends Vg{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 qr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class vp extends iM{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 bo(t)],!0):!1}clone(){const e=new vp(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function Wk(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class vm extends Vg{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof tr&&(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 Wk([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof tr&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof vp&&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 vm;return this._children=this.children.map(t=>t.clone()),e}walk(e){Wk(this.children,e)}}class bh{constructor(){this._scanner=new US,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 vm;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 tr&&(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 tr(c.index);f.transform=c.transform;for(const p of g){const v=p.clone();f.appendChild(v),v instanceof tr&&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 tr(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 bo(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 tr(Number(t)):new vp(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 tr(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new bo("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new jg;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 bo(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 vp(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new bo("${"+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 I1;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 bo(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 qr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new qr(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 qr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new qr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new qr(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 qr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new qr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new bo(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function nM(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 gA(o,{range:s,text:typeof t.insertText=="string"?bh.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function sM(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 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},C3=function(o,e){return function(t,i){e(t,i,o)}};const x3=Ti.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:gE,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),wb=class wb extends $e{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=yt(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=yt("span.icon");this.domNode.append(t),t.classList.add(...Yi.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(qi(this.domNode,jn.CLICK,n=>{this.delegate.cancel()}))}getId(){return wb.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)}};wb.baseId="editor.widget.inlineProgressWidget";let $S=wb,hv=class extends $e{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Wo),this._currentWidget=this._register(new Wo),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=np(()=>{const a=B.fromPositions(e);this._currentDecorations.set([{range:a,options:x3}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance($S,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()}};hv=S3([C3(2,li)],hv);var L3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Bk=function(o,e){return function(t,i){e(t,i,o)}},T_,hc;let wo=(hc=class{static get(e){return e.getContribution(T_.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Wo,this._messageListeners=new ze,this._mouseOverMessage=!1,this._editor=e,this._visible=T_.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){Lr(b_(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=b_(e)?fA(e,{actionHandler:{callback:n=>{this.closeMessage(),pA(this._openerService,n,b_(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new zk(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(ms.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&mA(hE(),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(qi(this._messageWidget.value.getDomNode(),jn.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(qi(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 B(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(zk.fadeOut(this._messageWidget.value))}},T_=hc,hc.ID="editor.contrib.messageController",hc.MESSAGE_VISIBLE=new Fi("messageVisible",!1,y("messageVisible","Whether the editor is currently showing an inline message")),hc);wo=T_=L3([Bk(1,Ki),Bk(2,aa)],wo);const k3=go.bindToContribution(wo.get);Tt(new k3({id:"leaveEditorMessage",precondition:wo.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let zk=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)}};bi(wo.ID,wo,4);function Iw(o,e){return e&&(o.stack||o.stacktrace)?y("stackTrace.format","{0}: {1}",jk(o),Vk(o.stack)||Vk(o.stacktrace)):jk(o)}function Vk(o){return Array.isArray(o)?o.join(`
16
+ `):o}function jk(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 uv(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=vl(o),i=uv(t[0],e);return t.length>1?y("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(fE(o))return o;if(o.detail){const t=o.detail;if(t.error)return Iw(t.error,e);if(t.exception)return Iw(t.exception,e)}return o.stack?Iw(o,e):o.message?o.message:y("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var oM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ou=function(o,e){return function(t,i){e(t,i,o)}},qS,kd;let KS=(kd=class extends $e{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(Tn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Tn((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(f=>{s.containsPosition(f.position)||this.dispose()})),this._register(ms.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=yt(".post-edit-widget"),this.button=this._register(new _A(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(qi(this.domNode,jn.CLICK,()=>this.showSelector()))}getId(){return qS.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=lo(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>vA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},qS=kd,kd.baseId="editor.widget.postEditWidget",kd);KS=qS=oM([Ou(7,Rg),Ou(8,Ki),Ou(9,hs)],KS);let gv=class extends $e{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 Wo),this._register(ms.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)=>{Oc(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,uv(S)))}if(s.isCancellationRequested)return;const f=nM(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,uv(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(KS,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()}};gv=oM([Ou(4,li),Ou(5,ay),Ou(6,io)],gv);var I3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Xh=function(o,e){return function(t,i){e(t,i,o)}},Yc;const rM="editor.changePasteType",D1=new Fi("pasteWidgetVisible",!1,y("pasteWidgetVisible","Whether the paste widget is showing")),Dw="application/vnd.code.copyMetadata";var Id;let xl=(Id=class extends $e{static get(e){return e.getContribution(Yc.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(qi(c,"copy",h=>this.handleCopy(h))),this._register(qi(c,"cut",h=>this.handleCopy(h))),this._register(qi(c,"paste",h=>this.handlePaste(h),!0)),this._pasteProgressManager=this._register(new hv("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(gv,"pasteIntoEditor",e,D1,{id:rM,label:y("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},O0().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,E;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 B(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,ly),h={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:r,mode:null},g=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(R=>!!R.prepareDocumentPaste);if(!g.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:h});return}const f=YT(e.clipboardData),p=g.flatMap(R=>R.copyMimeTypes??[]),v=Oy();this.setCopyMetadata(e.clipboardData,{id:v,providerCopyMimeTypes:p,defaultPastePayload:h});const _=Ds(async R=>{const V=vl(await Promise.all(g.map(async H=>{try{return await H.prepareDocumentPaste(t,s,f,R)}catch(J){console.error(J);return}})));V.reverse();for(const H of V)for(const[J,Y]of H)f.replace(J,Y);return f});(E=Yc._currentCopyOperation)==null||E.dataTransferPromise.cancel(),Yc._currentCopyOperation={handle:v,dataTransferPromise:_}}async handlePaste(e){var c,h,g;if(!e.clipboardData||!this._editor.hasTextFocus())return;(c=wo.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=QT(e.clipboardData);s.delete(Dw);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],Ts.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=>ZT(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=wo.get(this._editor))==null||i.showMessage(y("pasteAsError","No paste edits for '{0}' found",t instanceof Mn?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new sg(r,3,void 0),c=Ds(async h=>{const g=this._editor;if(!g.hasModel())return;const f=g.getModel(),p=new ze,v=p.add(new Es(h));p.add(a.token.onCancellationRequested(()=>v.cancel()));const _=v.token;try{if(await this.mergeInDataFromCopy(i,n,_),_.isCancellationRequested)return;const w=e.filter(E=>this.isSupportedPasteProvider(E,i));if(!w.length||w.length===1&&w[0]instanceof vh)return this.applyDefaultPasteHandler(i,n,_,s);const S={triggerKind:hS.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 vh)return this.applyDefaultPasteHandler(i,n,_,s);if(D.edits.length){const E=g.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:D.edits},E,(R,V)=>new Promise((H,J)=>{(async()=>{var Y,ue;try{const Te=(ue=(Y=R.provider).resolveDocumentPasteEdit)==null?void 0:ue.call(Y,R,V),Oe=new cy,Ce=Te&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),y("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([Oe.p,Te]),{cancel:()=>(Oe.cancel(),J(new dy))},0);return Ce&&(R.additionalEdit=Ce.additionalEdit),H(R)}catch(Te){return J(Te)}})()}),_)}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=Ds(async a=>{const c=this._editor;if(!c.hasModel())return;const h=c.getModel(),g=new ze,f=g.add(new sg(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:hS.PasteAs,only:e&&e instanceof Mn?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 Mn?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(E=>{var R;return{label:E.title,description:(R=E.kind)==null?void 0:R.value,edit:E}}),{placeHolder:y("pasteAsPickerPlaceholder","Select Paste Action")});w=D==null?void 0:D.edit}if(!w)return;const S=nM(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(Dw,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(Dw);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=bA.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=Yc._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await Yc._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(Ts.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(Ts.uriList,x1(Fy.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new ze,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){Oc(v)||console.error(v);return}})),r),h=vl(c??[]).flat().filter(g=>!s.only||s.only.contains(g.kind));return{edits:sM(h),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(Ts.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 Mn?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},Yc=Id,Id.ID="editor.contrib.copyPasteActionController",Id);xl=Yc=I3([Xh(1,li),Xh(2,ay),Xh(3,Ag),Xh(4,Et),Xh(5,Dl),Xh(6,yA)],xl);const yh="9_cutcopypaste",D3=Og||document.queryCommandSupported("cut"),aM=Og||document.queryCommandSupported("copy"),E3=typeof navigator.clipboard>"u"||wA?document.queryCommandSupported("paste"):!0;function E1(o){return o.register(),o}const P3=D3?E1(new F0({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Og?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:ut.MenubarEditMenu,group:"2_ccp",title:y({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:ut.EditorContext,group:yh,title:y("actions.clipboard.cutLabel","Cut"),when:N.writable,order:1},{menuId:ut.CommandPalette,group:"",title:y("actions.clipboard.cutLabel","Cut"),order:1},{menuId:ut.SimpleEditorContext,group:yh,title:y("actions.clipboard.cutLabel","Cut"),when:N.writable,order:1}]})):void 0,T3=aM?E1(new F0({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Og?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:ut.MenubarEditMenu,group:"2_ccp",title:y({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:ut.EditorContext,group:yh,title:y("actions.clipboard.copyLabel","Copy"),order:2},{menuId:ut.CommandPalette,group:"",title:y("actions.clipboard.copyLabel","Copy"),order:1},{menuId:ut.SimpleEditorContext,group:yh,title:y("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;xr.appendMenuItem(ut.MenubarEditMenu,{submenu:ut.MenubarCopy,title:Lt("copy as","Copy As"),group:"2_ccp",order:3});xr.appendMenuItem(ut.EditorContext,{submenu:ut.EditorContextCopy,title:Lt("copy as","Copy As"),group:yh,order:3});xr.appendMenuItem(ut.EditorContext,{submenu:ut.EditorContextShare,title:Lt("share","Share"),group:"11_share",order:-1,when:le.and(le.notEquals("resourceScheme","output"),N.editorTextFocus)});xr.appendMenuItem(ut.ExplorerContext,{submenu:ut.ExplorerContextShare,title:Lt("share","Share"),group:"11_share",order:-1});const Ew=E3?E1(new F0({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Og?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:ut.MenubarEditMenu,group:"2_ccp",title:y({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:ut.EditorContext,group:yh,title:y("actions.clipboard.pasteLabel","Paste"),when:N.writable,order:4},{menuId:ut.CommandPalette,group:"",title:y("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:ut.SimpleEditorContext,group:yh,title:y("actions.clipboard.pasteLabel","Paste"),when:N.writable,order:4}]})):void 0;class M3 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:N.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(KL.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),KL.forceCopyWithSyntaxHighlighting=!1)}}function lM(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(os).getFocusedCodeEditor();if(n&&n.hasTextFocus()){const s=n.getOption(37),r=n.getSelection();return r&&r.isEmpty()&&!s||n.getContainerDomNode().ownerDocument.execCommand(e),!0}return!1}),o.addImplementation(0,"generic-dom",(t,i)=>(O0().execCommand(e),!0)))}lM(P3,"cut");lM(T3,"copy");Ew&&(Ew.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(os),i=o.get(Ag),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=xl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():SA?(async()=>{const a=await i.readText();if(a!==""){const c=CA.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}),Ew.addImplementation(0,"generic-dom",(o,e)=>(O0().execCommand("paste"),!0)));aM&&oe(M3);const Ln=new class{constructor(){this.QuickFix=new Mn("quickfix"),this.Refactor=new Mn("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 Mn("notebook"),this.Source=new Mn("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var Lo;(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"})(Lo||(Lo={}));function N3(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>cM(e,t,o.include))||!o.includeSourceActions&&Ln.Source.contains(e))}function R3(o,e){const t=e.kind?new Mn(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>cM(t,i,o.include))||!o.includeSourceActions&&t&&Ln.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function cM(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class Ea{static fromUser(e,t){return!e||typeof e!="object"?new Ea(t.kind,t.apply,!1):new Ea(Ea.getKindFromUser(e,t.kind),Ea.getApplyFromUser(e,t.apply),Ea.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 Mn(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 A3{constructor(e,t,i){this.action=e,this.provider=t,this.highlightRange=i}async resolve(e){var t;if((t=this.provider)!=null&&t.resolveCodeAction&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,e)}catch(n){ss(n)}i&&(this.action.edit=i.edit)}return this}}const dM="editor.action.codeAction",P1="editor.action.quickFix",hM="editor.action.autoFix",uM="editor.action.refactor",gM="editor.action.sourceAction",GS="editor.action.organizeImports",ZS="editor.action.fixAll";class jf extends $e{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:Oo(e.diagnostics)?Oo(t.diagnostics)?jf.codeActionsPreferredComparator(e,t):-1:Oo(t.diagnostics)?1:jf.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(jf.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&Ln.QuickFix.contains(new Mn(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 Uk={actions:[],documentation:void 0};async function wu(o,e,t,i,n,s){var w;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],Ln.Notebook]},c={only:(w=r.include)==null?void 0:w.value,trigger:i.type},h=new xA(e,s),g=i.type===2,f=O3(o,e,g?a:r),p=new ze,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 Uk;const E=((D==null?void 0:D.actions)||[]).filter(V=>V&&R3(r,V)),R=H3(S,E,r.include);return{actions:E.map(V=>new A3(V,S)),documentation:R}}catch(D){if(Oc(D))throw D;return ss(D),Uk}}),_=o.onDidChange(()=>{const S=o.all(e);Ba(S,f)||h.cancel()});try{const S=await Promise.all(v),D=S.map(R=>R.actions).flat(),E=[...vl(S.map(R=>R.documentation)),...F3(o,e,i,D)];return new jf(D,E,p)}finally{_.dispose(),h.dispose()}}function O3(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>N3(t,new Mn(n))):!0)}function*F3(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 H3(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new Mn(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 Mn(n.kind)))return s.command}}var ld;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(ld||(ld={}));async function W3(o,e,t,i,n=mi.None){var h;const s=o.get(ay),r=o.get(Cs),a=o.get(la),c=o.get(io);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!==ld.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=B3(g);c.error(typeof f=="string"?f:y("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function B3(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}In.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof fn))throw gl();const{codeActionProvider:s}=o.get(Et),r=o.get(no).getModel(e);if(!r)throw gl();const a=Kt.isISelection(t)?Kt.liftSelection(t):B.isIRange(t)?r.validateRange(t):void 0;if(!a)throw gl();const c=typeof i=="string"?new Mn(i):void 0,h=await wu(s,r,a,{type:1,triggerAction:Lo.Default,filter:{includeSourceActions:!0,include:c}},ll.None,mi.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(mi.None));try{return await Promise.all(g),h.validActions.map(p=>p.action)}finally{setTimeout(()=>h.dispose(),100)}});var z3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},V3=function(o,e){return function(t,i){e(t,i,o)}},XS,Dd;let YS=(Dd=class{constructor(e){this.keybindingService=e}getResolver(){const e=new H0(()=>this.keybindingService.getKeybindings().filter(t=>XS.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===GS?i={kind:Ln.SourceOrganizeImports.value}:t.command===ZS&&(i={kind:Ln.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...Ea.fromUser(i,{kind:Mn.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 Mn(e.kind);return t.filter(n=>n.kind.contains(i)).filter(n=>n.preferred?e.isPreferred:!0).reduceRight((n,s)=>n?n.kind.contains(s.kind)?s:n:s,void 0)}},XS=Dd,Dd.codeActionCommands=[uM,dM,gM,GS,ZS],Dd);YS=XS=z3([V3(0,hs)],YS);wt("symbolIcon.arrayForeground",vs,y("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.booleanForeground",vs,y("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("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."));wt("symbolIcon.colorForeground",vs,y("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.constantForeground",vs,y("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("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."));wt("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."));wt("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."));wt("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."));wt("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."));wt("symbolIcon.fileForeground",vs,y("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.folderForeground",vs,y("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("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."));wt("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."));wt("symbolIcon.keyForeground",vs,y("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.keywordForeground",vs,y("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("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."));wt("symbolIcon.moduleForeground",vs,y("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.namespaceForeground",vs,y("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.nullForeground",vs,y("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.numberForeground",vs,y("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.objectForeground",vs,y("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.operatorForeground",vs,y("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.packageForeground",vs,y("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.propertyForeground",vs,y("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.referenceForeground",vs,y("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.snippetForeground",vs,y("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.stringForeground",vs,y("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.structForeground",vs,y("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.textForeground",vs,y("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.typeParameterForeground",vs,y("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("symbolIcon.unitForeground",vs,y("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));wt("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 fM=Object.freeze({kind:Mn.Empty,title:y("codeAction.widget.id.more","More Actions...")}),j3=Object.freeze([{kind:Ln.QuickFix,title:y("codeAction.widget.id.quickfix","Quick Fix")},{kind:Ln.RefactorExtract,title:y("codeAction.widget.id.extract","Extract"),icon:Qt.wrench},{kind:Ln.RefactorInline,title:y("codeAction.widget.id.inline","Inline"),icon:Qt.wrench},{kind:Ln.RefactorRewrite,title:y("codeAction.widget.id.convert","Rewrite"),icon:Qt.wrench},{kind:Ln.RefactorMove,title:y("codeAction.widget.id.move","Move"),icon:Qt.wrench},{kind:Ln.SurroundWith,title:y("codeAction.widget.id.surround","Surround With"),icon:Qt.surroundWith},{kind:Ln.Source,title:y("codeAction.widget.id.source","Source Action"),icon:Qt.symbolFile},fM]);function U3(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:fM,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=j3.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new Mn(s.action.kind):Mn.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 $3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},q3=function(o,e){return function(t,i){e(t,i,o)}},hu;const $k=ts("gutter-lightbulb",Qt.lightBulb,y("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),qk=ts("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.")),Kk=ts("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.")),Gk=ts("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.")),Zk=ts("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 Vr;(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})(Vr||(Vr={}));var dl;let bp=(dl=class extends $e{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new pi),this.onClick=this._onClick.event,this._state=Vr.Hidden,this._gutterState=Vr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+$k.id,"codicon-"+Gk.id,"codicon-"+qk.id,"codicon-"+Kk.id,"codicon-"+Zk.id],this.gutterDecoration=hu.GUTTER_DECORATION,this._domNode=yt("div.lightBulbWidget"),this._domNode.role="listbox",this._register(pE.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(LA(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=lo(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(qi(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(ms.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(hM))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(P1))==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}=lo(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=W0(f,h),v=g.spaceWidth*p>22,_=H=>H>2&&this._editor.getTopForLineNumber(H)===this._editor.getTopForLineNumber(H-1),w=this._editor.getLineDecorations(a);let S=!1;if(w)for(const H of w){const J=H.options.glyphMarginClassName;if(J&&!this.lightbulbClasses.some(Y=>J.includes(Y))){S=!0;break}}let D=a,E=1;if(!v){const H=J=>{const Y=r.getLineContent(J);return/^\s*$|^\s+/.test(Y)||Y.length<=E};if(a>1&&!_(a-1)){const J=r.getLineCount(),Y=a===J,ue=a>1&&H(a-1),Te=!Y&&H(a+1),Oe=H(a),Ce=!Te&&!ue;if(!Te&&!ue&&!S)return this.gutterState=new Vr.Showing(e,t,i,{position:{lineNumber:D,column:E},preference:hu._posPref}),this.renderGutterLightbub(),this.hide();ue||Y||ue&&!Oe?D-=1:(Te||Ce&&Oe)&&(D+=1)}else if(a===1&&(a===r.getLineCount()||!H(a+1)&&!H(a)))if(this.gutterState=new Vr.Showing(e,t,i,{position:{lineNumber:D,column:E},preference:hu._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();E=/^\S\s*$/.test(r.getLineContent(D))?2:1}this.state=new Vr.Showing(e,t,i,{position:{lineNumber:D,column:E},preference:hu._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const R=e.validActions,V=e.validActions[0].action.kind;if(R.length!==1||!V){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==Vr.Hidden&&(this.state=Vr.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==Vr.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=Vr.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=Yi.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=Zk,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=Gk:e=qk:this.gutterState.actions.hasAIFix?e=Kk:e=$k,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=Ti.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Yi.asClassName(e),glyphMargin:{position:q_.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 B(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 B(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}},hu=dl,dl.GUTTER_DECORATION=Ti.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Yi.asClassName(Qt.lightBulb),glyphMargin:{position:q_.Left},stickiness:1}),dl.ID="editor.contrib.lightbulbWidget",dl._posPref=[0],dl);bp=hu=$3([q3(1,hs)],bp);var pM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},QS=function(o,e){return function(t,i){e(t,i,o)}};const mM="acceptSelectedCodeAction",_M="previewSelectedCodeAction";class K3{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 JS=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 B0(e,z0);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=Yi.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=fd(e.group.icon.color.id))):(i.icon.className=Yi.asClassName(Qt.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=vM(e.label),i.keybinding.set(e.keybinding),kA(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(mM))==null?void 0:a.getLabel(),s=(c=this._keybindingService.lookupKeybinding(_M))==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()}};JS=pM([QS(1,hs)],JS);class G3 extends UIEvent{constructor(){super("acceptSelectedAction")}}class Xk extends UIEvent{constructor(){super("previewSelectedAction")}}function Z3(o){if(o.kind==="action")return o.label}let eC=class extends $e{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 Es),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 V0(e,this.domNode,a,[new JS(t,this._keybindingService),new K3],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:Z3},accessibilityProvider:{getAriaLabel:c=>{if(c.kind==="action"){let h=c.label?vM(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(IA),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 Xk:new G3;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 Xk):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([])}};eC=pM([QS(4,hy),QS(5,hs)],eC);function vM(o){return o.replace(/\r\n|\r|\n/g," ")}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},Pw=function(o,e){return function(t,i){e(t,i,o)}};wt("actionBar.toggledBackground",j0,y("actionBar.toggledBackground","Background color for toggled action items in action bar."));const wh={Visible:new Fi("codeActionMenuVisible",!1,y("codeActionMenuVisible","Whether the action widget list is visible"))},Ah=El("actionWidgetService");let Sh=class extends $e{get isVisible(){return wh.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Wo)}show(e,t,i,n,s,r,a){const c=wh.Visible.bindTo(this._contextKeyService),h=this._instantiationService.createInstance(eC,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 ze,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(qi(a,jn.MOUSE_DOWN,_=>_.stopPropagation()));const c=document.createElement("div"),h=e.appendChild(c);h.classList.add("context-view-pointerBlock"),s.add(qi(h,jn.POINTER_MOVE,()=>h.remove())),s.add(qi(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(og(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=yt(e),n=new sp(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};Sh=X3([Pw(0,hy),Pw(1,Ki),Pw(2,li)],Sh);Pl(Ah,Sh,1);const bm=1100;an(class extends uo{constructor(){super({id:"hideCodeActionWidget",title:Lt("hideCodeActionWidget.title","Hide action widget"),precondition:wh.Visible,keybinding:{weight:bm,primary:9,secondary:[1033]}})}run(o){o.get(Ah).hide(!0)}});an(class extends uo{constructor(){super({id:"selectPrevCodeAction",title:Lt("selectPrevCodeAction.title","Select previous action"),precondition:wh.Visible,keybinding:{weight:bm,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(Ah);e instanceof Sh&&e.focusPrevious()}});an(class extends uo{constructor(){super({id:"selectNextCodeAction",title:Lt("selectNextCodeAction.title","Select next action"),precondition:wh.Visible,keybinding:{weight:bm,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(Ah);e instanceof Sh&&e.focusNext()}});an(class extends uo{constructor(){super({id:mM,title:Lt("acceptSelected.title","Accept selected action"),precondition:wh.Visible,keybinding:{weight:bm,primary:3,secondary:[2137]}})}run(o){const e=o.get(Ah);e instanceof Sh&&e.acceptSelected()}});an(class extends uo{constructor(){super({id:_M,title:Lt("previewSelected.title","Preview selected action"),precondition:wh.Visible,keybinding:{weight:bm,primary:2051}})}run(o){const e=o.get(Ah);e instanceof Sh&&e.acceptSelected(!0)}});const bM=new Fi("supportedCodeAction",""),Yk="_typescript.applyFixAllCodeAction";class Y3 extends $e{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new em),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=>K_(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Lo.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!==gw.Off){{if(i===gw.On)return t;if(i===gw.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 td;(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(Oc(r))return yM;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(td||(td={}));const yM=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class Q3 extends $e{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 Wo),this._state=td.Empty,this._onDidChangeState=this._register(new pi),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=bM.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(td.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(td.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 Y3(this._editor,this._markerService,i=>{var c;if(!i){this.setState(td.Empty);return}const n=i.selection.getStartPosition(),s=Ds(async h=>{var g,f,p,v,_,w,S,D,E,R;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===Lo.QuickFix||(f=(g=i.trigger.filter)==null?void 0:g.include)!=null&&f.contains(Ln.QuickFix))){const V=await wu(this._registry,e,i.selection,i.trigger,ll.None,h),H=[...V.allActions];if(h.isCancellationRequested)return yM;const J=(p=V.validActions)==null?void 0:p.some(ue=>ue.action.kind?Ln.QuickFix.contains(new Mn(ue.action.kind)):!1),Y=this._markerService.read({resource:e.uri});if(J){for(const ue of V.validActions)(_=(v=ue.action.command)==null?void 0:v.arguments)!=null&&_.some(Te=>typeof Te=="string"&&Te.includes(Yk))&&(ue.action.diagnostics=[...Y.filter(Te=>Te.relatedInformation)]);return{validActions:V.validActions,allActions:H,documentation:V.documentation,hasAutoFix:V.hasAutoFix,hasAIFix:V.hasAIFix,allAIFixes:V.allAIFixes,dispose:()=>{V.dispose()}}}else if(!J&&Y.length>0){const ue=i.selection.getPosition();let Te=ue,Oe=Number.MAX_VALUE;const Ce=[...V.validActions];for(const kt of Y){const ct=kt.endColumn,ci=kt.endLineNumber,jt=kt.startLineNumber;if(ci===ue.lineNumber||jt===ue.lineNumber){Te=new Dt(ci,ct);const Jt={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:Ln.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((D=i.trigger.context)==null?void 0:D.notAvailableMessage)||"",position:Te}},Ke=new Kt(Te.lineNumber,Te.column,Te.lineNumber,Te.column),Gt=await wu(this._registry,e,Ke,Jt,ll.None,h);if(Gt.validActions.length!==0){for(const ve of Gt.validActions)(R=(E=ve.action.command)==null?void 0:E.arguments)!=null&&R.some(it=>typeof it=="string"&&it.includes(Yk))&&(ve.action.diagnostics=[...Y.filter(it=>it.relatedInformation)]);V.allActions.length===0&&H.push(...Gt.allActions),Math.abs(ue.column-ct)<Oe?Ce.unshift(...Gt.validActions):Ce.push(...Gt.validActions)}Oe=Math.abs(ue.column-ct)}}const ft=Ce.filter((kt,ct,ci)=>ci.findIndex(jt=>jt.action.title===kt.action.title)===ct);return ft.sort((kt,ct)=>kt.action.isPreferred&&!ct.action.isPreferred?-1:!kt.action.isPreferred&&ct.action.isPreferred||kt.action.isAI&&!ct.action.isAI?1:!kt.action.isAI&&ct.action.isAI?-1:0),{validActions:ft,allActions:H,documentation:V.documentation,hasAutoFix:V.hasAutoFix,hasAIFix:V.hasAIFix,allAIFixes:V.allAIFixes,dispose:()=>{V.dispose()}}}}if(i.trigger.type===1){const V=new xo,H=await wu(this._registry,e,i.selection,i.trigger,ll.None,h);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:H.validActions.length,duration:V.elapsed()}),H}return wu(this._registry,e,i.selection,i.trigger,ll.None,h)});i.trigger.type===1&&((c=this._progressService)==null||c.showWhile(s,250));const r=new td.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:Lo.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 J3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},pa=function(o,e){return function(t,i){e(t,i,o)}},uu;const eB="quickfix-edit-highlight";var uc;let yg=(uc=class extends $e{static get(e){return e.getContribution(uu.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 Wo),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new Q3(this._editor,s.codeActionProvider,t,i,r,c,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new H0(()=>{const p=this._editor.getContribution(bp.ID);return p&&this._register(p.onClick(v=>this.showCodeActionsFromLightbulb(v.actions,v))),p}),this._resolver=n.createInstance(YS),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,ld.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=wo.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(W3,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Lo.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){bn(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,ld.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const f=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(f&&f.action.disabled){(r=wo.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=wo.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?ld.FromAILightbulb:ld.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 Mn(p);f=[Ln.RefactorExtract,Ln.RefactorInline,Ln.RefactorRewrite,Ln.RefactorMove,Ln.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:uu.DECORATION})):p.map(w=>({range:w,options:uu.DECORATION}));n.set(_)}else if(v&&v.length>0){const _=v.map(S=>({range:S,options:uu.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;rg(y("editingNewSelection","Context: {0} at line {1} and column {2}.",S,w.startLineNumber,w.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,U3(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=lo(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}},uu=uc,uc.ID="editor.contrib.codeActionController",uc.DECORATION=Ti.register({description:"quickfix-highlight",className:eB}),uc);yg=uu=J3([pa(1,U0),pa(2,Ki),pa(3,li),pa(4,Et),pa(5,tm),pa(6,Cs),pa(7,Nn),pa(8,Ah),pa(9,li),pa(10,la)],yg);uy((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(DA));const i=o.getColor(mE);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${op(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function ym(o){return le.regex(bM.keys()[0],new RegExp("(\\s|^)"+rp(o.value)+"\\b"))}const T1={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 Oh(o,e,t,i,n=Lo.Default){if(o.hasModel()){const s=yg.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class tB extends Se{constructor(){super({id:P1,label:y("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:le.and(N.writable,N.hasCodeActionsProvider),kbOpts:{kbExpr:N.textInputFocus,primary:2137,weight:100}})}run(e,t){return Oh(t,y("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,Lo.QuickFix)}}class iB extends go{constructor(){super({id:dM,precondition:le.and(N.writable,N.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:T1}]}})}runEditorCommand(e,t,i){const n=Ea.fromUser(i,{kind:Mn.Empty,apply:"ifSingle"});return Oh(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 nB extends Se{constructor(){super({id:uM,label:y("refactor.label","Refactor..."),alias:"Refactor...",precondition:le.and(N.writable,N.hasCodeActionsProvider),kbOpts:{kbExpr:N.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:le.and(N.writable,ym(Ln.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:T1}]}})}run(e,t,i){const n=Ea.fromUser(i,{kind:Ln.Refactor,apply:"never"});return Oh(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:Ln.Refactor.contains(n.kind)?n.kind:Mn.None,onlyIncludePreferredActions:n.preferred},n.apply,Lo.Refactor)}}class sB extends Se{constructor(){super({id:gM,label:y("source.label","Source Action..."),alias:"Source Action...",precondition:le.and(N.writable,N.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:le.and(N.writable,ym(Ln.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:T1}]}})}run(e,t,i){const n=Ea.fromUser(i,{kind:Ln.Source,apply:"never"});return Oh(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:Ln.Source.contains(n.kind)?n.kind:Mn.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,Lo.SourceAction)}}class oB extends Se{constructor(){super({id:GS,label:y("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:le.and(N.writable,ym(Ln.SourceOrganizeImports)),kbOpts:{kbExpr:N.textInputFocus,primary:1581,weight:100}})}run(e,t){return Oh(t,y("editor.action.organize.noneMessage","No organize imports action available"),{include:Ln.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Lo.OrganizeImports)}}class rB extends Se{constructor(){super({id:ZS,label:y("fixAll.label","Fix All"),alias:"Fix All",precondition:le.and(N.writable,ym(Ln.SourceFixAll))})}run(e,t){return Oh(t,y("fixAll.noneMessage","No fix all action available"),{include:Ln.SourceFixAll,includeSourceActions:!0},"ifSingle",Lo.FixAll)}}class aB extends Se{constructor(){super({id:hM,label:y("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:le.and(N.writable,ym(Ln.QuickFix)),kbOpts:{kbExpr:N.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return Oh(t,y("editor.action.autoFix.noneMessage","No auto fixes available"),{include:Ln.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Lo.AutoFix)}}bi(yg.ID,yg,3);bi(bp.ID,bp,4);oe(tB);oe(nB);oe(sB);oe(oB);oe(aB);oe(rB);Tt(new iB);ra.as(im.Configuration).registerConfiguration({...gy,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:y("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});ra.as(im.Configuration).registerConfiguration({...gy,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}}});ra.as(im.Configuration).registerConfiguration({...gy,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 tC{constructor(){this.lenses=[],this._disposables=new ze}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 wM(o,e,t){const i=o.ordered(e),n=new Map,s=new tC,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){ss(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}In.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;Gi(fn.isUri(t)),Gi(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(Et),s=o.get(no).getModel(t);if(!s)throw gl();const r=[],a=new ze;return wM(n,s,mi.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,mi.None)).then(f=>r.push(f||g.symbol)));return Promise.all(h)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var lB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},cB=function(o,e){return function(t,i){e(t,i,o)}};const SM=El("ICodeLensCache");class Qk{constructor(e,t){this.lineCount=e,this.data=t}}let iC=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new nm(20,.75);const t="codelens/cache";EA(PA,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=ms.filter(e.onWillSaveState,r=>r.reason===$0.SHUTDOWN);ms.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 tC;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 B(a,1,a,11)});const r=new tC;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new Qk(n.lineCount,r))}}catch{}}};iC=lB([cB(0,Fc)],iC);Pl(SM,iC,1);class dB{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 tp=class tp{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${tp._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=TA(r.command.title.trim());if(r.command.id){const c=`c${tp._idPool++}`;i.push(yt("a",{id:c,title:r.command.tooltip,role:"button"},...a)),this._commands.set(c,r.command)}else i.push(yt("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(yt("span",void 0," | "))}}n?(G_(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):G_(this._domNode,yt("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}};tp._idPool=0;let nC=tp;class Tw{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 Jk=Ti.register({collapseOnReplaceEdit:!0,description:"codelens"});class eI{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:Jk},f=>this._decorationIds[g]=f),a?a=B.plusRange(a,h.symbol.range):a=B.lift(h.symbol.range)}),this._viewZone=new dB(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 nC(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&&B.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:Jk},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 hB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},hf=function(o,e){return function(t,i){e(t,i,o)}},Ku;let yp=(Ku=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 ze,this._localToDispose=new ze,this._lenses=[],this._oldCodeLensModels=new ze,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new _s(()=>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",q0.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&&np(()=>{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 _s(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=Ds(r=>wM(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()},bn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(Tn(()=>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 Tw;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(Tn(()=>{if(this._editor.getModel()){const n=ag.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 Tw;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=ag.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(c=>{const h=new Tw;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 eI(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 eI(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=Ds(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},ss):(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=>{bn(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}},Ku.ID="css.editor.codeLens",Ku);yp=hB([hf(1,Et),hf(2,nr),hf(3,Cs),hf(4,io),hf(5,SM)],yp);bi(yp.ID,yp,1);oe(class extends Se{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:N.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(Dl),n=e.get(Cs),s=e.get(io),r=t.getSelection().positionLineNumber,a=t.getContribution(yp.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 CM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},sC=function(o,e){return function(t,i){e(t,i,o)}};let wp=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 Di(new lg(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),c=r?Di.Format.CSS.formatRGB(a):Di.Format.CSS.formatRGBA(a),h=r?Di.Format.CSS.formatHSL(a):Di.Format.CSS.formatHSLA(a),g=r?Di.Format.CSS.formatHex(a):Di.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}};wp=CM([sC(0,Tl)],wp);let oC=class extends $e{constructor(e,t){super(),this._register(e.colorProvider.register("*",new wp(t)))}};oC=CM([sC(0,Et),sC(1,Tl)],oC);Fg(oC);async function xM(o,e,t,i=!0){return M1(new uB,o,e,t,i)}function LM(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class uB{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 gB{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 fB{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,mi.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function M1(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 wp)r=g;else try{await o.compute(g,t,i,a)&&(s=!0)}catch(f){ss(f)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function kM(o,e){const{colorProvider:t}=o.get(Et),i=o.get(no).getModel(e);if(!i)throw gl();const n=o.get(Nn).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}In.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof fn))throw gl();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=kM(o,t);return M1(new gB,n,i,mi.None,s)});In.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof fn)||!Array.isArray(t)||t.length!==4||!B.isIRange(s))throw gl();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:c}=kM(o,n),[h,g,f,p]=t;return M1(new fB({range:s,color:{red:h,green:g,blue:f,alpha:p}}),a,r,mi.None,c)});var pB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Mw=function(o,e){return function(t,i){e(t,i,o)}},rC;const IM=Object.create({});var gc;let wg=(gc=class extends $e{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new ze),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new _E(this._editor),this._decoratorLimitReporter=new mB,this._colorDecorationClassRefs=this._register(new ze),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:rC.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 em,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=Ds(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new xo(!1),n=await xM(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){bn(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:Ti.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 lg(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:gE,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:IM}}})}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(B.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)}},rC=gc,gc.ID="editor.contrib.colorDetector",gc.RECOMPUTE_TIME=1e3,gc);wg=rC=pB([Mw(1,Nn),Mw(2,Et),Mw(3,nr)],wg);class mB{constructor(){this._onDidChange=new pi,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}bi(wg.ID,wg,1);class _B{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 pi,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new pi,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new pi,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 Ao=yt;class vB extends $e{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Ao(".colorpicker-header"),pt(e,this._domNode),this._pickedColorNode=pt(this._domNode,Ao(".picked-color")),pt(this._pickedColorNode,Ao("span.codicon.codicon-color-mode")),this._pickedColorPresentation=pt(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=pt(this._domNode,Ao(".original-color")),this._originalColorNode.style.backgroundColor=Di.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(GL)||Di.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(GL)||Di.white})),this._register(qi(this._pickedColorNode,jn.CLICK,()=>this.model.selectNextColorPresentation())),this._register(qi(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=Di.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 bB(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Di.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 bB extends $e{constructor(e){super(),this._onClicked=this._register(new pi),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),pt(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),pt(this._button,t),pt(t,Ao(".button"+Yi.asCSSSelector(ts("color-picker-close",Qt.close,y("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(qi(this._button,jn.CLICK,()=>{this._onClicked.fire()}))}}class yB extends $e{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Ao(".colorpicker-body"),pt(e,this._domNode),this._saturationBox=new wB(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 SB(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 CB(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 xB(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 Di(new y_(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Di(new y_(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new Di(new y_(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 wB extends $e{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new pi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new pi,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Ao(".saturation-wrap"),pt(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",pt(this._domNode,this._canvas),this.selection=Ao(".saturation-selection"),pt(this._domNode,this.selection),this.layout(),this._register(qi(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 vE);const t=lo(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=qi(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 Di(new y_(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=Di.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 DM extends $e{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new pi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new pi,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=pt(e,Ao(".standalone-strip")),this.overlay=pt(this.domNode,Ao(".standalone-overlay"))):(this.domNode=pt(e,Ao(".strip")),this.overlay=pt(this.domNode,Ao(".overlay"))),this.slider=pt(this.domNode,Ao(".slider")),this.slider.style.top="0px",this._register(qi(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 vE),i=lo(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=qi(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 SB extends DM{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 Di(new lg(t,i,n,1)),r=new Di(new lg(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class CB extends DM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class xB extends $e{constructor(e){super(),this._onClicked=this._register(new pi),this.onClicked=this._onClicked.event,this._button=pt(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(qi(this._button,jn.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class LB extends sm{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(MA.getInstance(pd(e)).onDidChange(()=>this.layout())),this._domNode=Ao(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new vB(this._domNode,this.model,n,s)),this.body=this._register(new yB(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class Nw{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 M_{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 Ch{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const Fh=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var EM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},PM=function(o,e){return function(t,i){e(t,i,o)}};class kB{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 Sp=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return ea.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=wg.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 TM(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=MM(this,this._editor,this._themeService,t,e);if(!i)return new Ch([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new Ch([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};Sp=EM([PM(1,Dr)],Sp);class IB{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let Cp=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!wg.get(this._editor))return null;const s=await xM(i,this._editor.getModel(),mi.None);let r=null,a=null;for(const f of s){const p=f.colorInfo;B.containsRange(p.range,e.range)&&(r=p,a=f.provider)}const c=r??e,h=a??t,g=!!r;return{colorHover:await TM(this,this._editor.getModel(),c,h),foundInEditor:g}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new B(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await N_(this._editor.getModel(),t,this._color,i,e),i=NM(this._editor,i,t))}renderHoverParts(e,t){return MM(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};Cp=EM([PM(1,Dr)],Cp);async function TM(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:c}=t.color,h=new lg(Math.round(s*255),Math.round(r*255),Math.round(a*255),c),g=new Di(h),f=await LM(e,t,i,mi.None),p=new _B(g,[],0);return p.colorPresentations=f||[],p.guessColorPresentation(g,n),o instanceof Sp?new kB(o,B.lift(t.range),p,i):new IB(o,B.lift(t.range),p,i)}function MM(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new xn(302,p))}const s=new ze,r=i[0],a=e.getModel(),c=r.model,h=s.add(new LB(n.fragment,c,e.getOption(144),t,o instanceof Cp));let g=!1,f=new B(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof Cp){const p=r.model.color;o.color=p,N_(a,c,p,f,r),s.add(c.onColorFlushed(v=>{o.color=v}))}else s.add(c.onColorFlushed(async p=>{await N_(a,c,p,f,r),g=!0,f=NM(e,f,c)}));return s.add(c.onDidChangeColor(p=>{N_(a,c,p,f,r)})),s.add(e.onDidChangeModelContent(p=>{g?g=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:h,disposables:s}}function NM(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=B.lift(n.range),r=o.getModel()._setTrackedRange(null,s,3);return o.executeEdits("colorpicker",i),o.pushUndoStop(),o.getModel()._getTrackedRange(r)??s}async function N_(o,e,t,i,n){const s=await LM(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,mi.None);e.colorPresentations=s||[]}const RM="editor.action.showHover",DB="editor.action.showDefinitionPreviewHover",EB="editor.action.scrollUpHover",PB="editor.action.scrollDownHover",TB="editor.action.scrollLeftHover",MB="editor.action.scrollRightHover",NB="editor.action.pageUpHover",RB="editor.action.pageDownHover",AB="editor.action.goToTopHover",OB="editor.action.goToBottomHover",Hy="editor.action.increaseHoverVerbosityLevel",FB=y({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),Wy="editor.action.decreaseHoverVerbosityLevel",HB=y({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),AM="editor.action.inlineSuggest.commit",OM="editor.action.inlineSuggest.showPrevious",FM="editor.action.inlineSuggest.showNext";var N1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_r=function(o,e){return function(t,i){e(t,i,o)}},R_;let aC=class extends $e{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=on(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(om((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=SE((h,g)=>{const f=g.add(this.instantiationService.createInstance(Sg,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(f),g.add(Tn(()=>e.removeContentWidget(f))),g.add(Vn(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==fl.Explicit&&r.triggerExplicitly()})),f}),c=fy(this,(h,g)=>!!this.position.read(h)||!!g);s.add(Vn(h=>{c.read(h)&&a.read(h)}))}))}};aC=N1([_r(2,li)],aC);const WB=ts("inline-suggestion-hints-next",Qt.chevronRight,y("parameterHintsNextIcon","Icon for show next parameter hint.")),BB=ts("inline-suggestion-hints-previous",Qt.chevronLeft,y("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var fc;let Sg=(fc=class extends $e{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new cg(e,t,i,!0,()=>this._commandService.executeCommand(e)),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let r=t;return s&&(r=y({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,s.getLabel())),n.tooltip=r,n}constructor(e,t,i,n,s,r,a,c,h,g,f){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=n,this._suggestionCount=s,this._extraCommands=r,this._commandService=a,this.keybindingService=h,this._contextKeyService=g,this._menuService=f,this.id=`InlineSuggestionHintsContentWidget${R_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=vr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[vr("div@toolBar")]),this.previousAction=this.createCommandAction(OM,y("previous","Previous"),Yi.asClassName(BB)),this.availableSuggestionCountAction=new cg("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(FM,y("next","Next"),Yi.asClassName(WB)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(ut.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new _s(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new _s(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(c.createInstance(lC,this.nodes.toolBar,ut.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,v)=>{if(p instanceof dg)return c.createInstance(VB,p,void 0);if(p===this.availableSuggestionCountAction){const _=new zB(void 0,p,{label:!0,icon:!1});return _.setClass("availableSuggestionCount"),_}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(p=>{R_._dropDownVisible=p})),this._register(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 dg&&_.push(D);_.length>0&&_.unshift(new ap),this.toolBar.setAdditionalSecondaryActions(_)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},R_=fc,fc._dropDownVisible=!1,fc.id=0,fc);Sg=R_=N1([_r(6,Cs),_r(7,li),_r(8,hs),_r(9,Ki),_r(10,Th)],Sg);class zB extends uS{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 VB=class extends bE{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=vr("div.keybinding").root;this._register(new B0(t,z0,{disableTitle:!0,...yE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},lC=class extends wE{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=[];K0(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){Ba(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Ba(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};lC=N1([_r(3,Th),_r(4,Ki),_r(5,Rg),_r(6,hs),_r(7,Cs),_r(8,la)],lC);function By(o,e,t){const i=lo(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let jB=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class HM extends $e{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new pi),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new _s(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new _s(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new _s(()=>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=NA(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){bn(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 jB(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 R1{constructor(){this._onDidWillResize=new pi,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new pi,this.onDidResize=this._onDidResize.event,this._sashListener=new ze,this._size=new xn(0,0),this._minSize=new xn(0,0),this._maxSize=new xn(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new mu(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new mu(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new mu(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:ZL.North}),this._southSash=new mu(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:ZL.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(ms.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(ms.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(ms.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(ms.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 xn(t,e);xn.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 UB=30,$B=24;class qB extends $e{constructor(e,t=new xn(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new R1),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=xn.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 xn(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:lo(t).top+i.top-UB}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=lo(t),s=rm(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-$B}_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 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},Km=function(o,e){return function(t,i){e(t,i,o)}},va;const tI=30,GB=6;var pc;let cC=(pc=class extends qB{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 xn(a,r);super(e,c),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new CE),this._onDidResize=this._register(new pi),this.onDidResize=this._onDidResize.event,this._minimumSize=c,this._hoverVisibleKey=N.hoverVisible.bindTo(t),this._hoverFocusedKey=N.hoverFocused.bindTo(t),pt(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(og(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 va.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 va._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return va._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){va._applyMaxDimensions(this._hover.contentsDomNode,e,t),va._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 xn(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){va._lastDimensions=new xn(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=GB;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?rm(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=lo(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=iI(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=iI(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,va._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,va._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=_u(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&&RA(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 xn(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 xn(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 xn(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=_u(e),i=hr(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=_u(e),i=hr(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=_u(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-tI})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+tI})}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})}},va=pc,pc.ID="editor.contrib.resizableContentHoverWidget",pc._lastDimensions=new xn(0,0),pc);cC=va=KB([Km(1,Ki),Km(2,Nn),Km(3,py),Km(4,hs)],cC);function iI(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 fv{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 ea.EMPTY;const i=fv._getLineDecorations(this._editor,t);return ea.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):ea.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=fv._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return vl(t)}}class WM{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 ZB(this,this.anchor,t,this.isComplete)}}class ZB extends WM{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var XB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},YB=function(o,e){return function(t,i){e(t,i,o)}};const nI=yt;let pv=class extends $e{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=nI("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=pt(this.hoverElement,nI("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(AA.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=pt(this.actionsElement,e);return this._hasContent=!0,t}};pv=XB([YB(0,hs)],pv);class QB{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function JB(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(ss);if(!(!s||!e4(s)))return new QB(o,s,e)}function A1(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,c)=>JB(a,c,e,t,i));return ea.fromPromises(r).coalesce()}function BM(o,e,t,i,n=!1){return A1(o,e,t,i,n).map(s=>s.hover).toPromise()}fo("_executeHoverProvider",(o,e,t)=>{const i=o.get(Et);return BM(i.hoverProvider,e,t,mi.None)});fo("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(Et);return BM(i.hoverProvider,e,t,mi.None,!0)});function e4(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var t4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qc=function(o,e){return function(t,i){e(t,i,o)}};const Su=yt,i4=ts("hover-increase-verbosity",Qt.add,y("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),n4=ts("hover-decrease-verbosity",Qt.remove,y("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class yr{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 zM{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case er.Increase:return this.hover.canIncreaseVerbosity??!1;case er.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let xp=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 yr(this,e.range,[new Gs().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 yr(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 yr(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||lp(D))continue;_.options.beforeContentClassName&&(v=!0);const E=new B(e.range.startLineNumber,w,e.range.startLineNumber,S);r.push(new yr(this,E,xE(D),v,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return ea.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):ea.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return A1(e,t,s,n).filter(c=>!lp(c.hover.contents)).map(c=>{const h=c.hover.range?B.lift(c.hover.range):i.range,g=new zM(c.hover,c.provider,s);return new yr(this,h,c.hover.contents,!1,c.ordinal,g)})}renderHoverParts(e,t){return this._renderedHoverParts=new s4(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))}};xp=t4([qc(1,ca),qc(2,aa),qc(3,Nn),qc(4,Et),qc(5,hs),qc(6,am),qc(7,Cs)],xp);class Gm{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class s4{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 ze,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(Tn(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(lm(n=>n.ordinal,my)),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 ze;if(r.add(i),!s)return new Gm(e,n,r);const a=s.supportsVerbosityAction(er.Increase),c=s.supportsVerbosityAction(er.Decrease);if(!a&&!c)return new Gm(e,n,r);const h=Su("div.verbosity-actions");return n.prepend(h),r.add(this._renderHoverExpansionAction(h,er.Increase,a)),r.add(this._renderHoverExpansionAction(h,er.Decrease,c)),new Gm(e,n,r)}_renderMarkdownHover(e,t){return VM(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new ze,s=t===er.Increase,r=pt(e,Su(Yi.asCSSSelector(s?i4:n4)));r.tabIndex=0;const a=new OA("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,r4(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const c=()=>this._commandService.executeCommand(t===er.Increase?Hy:Wy);return n.add(new FA(r,c)),n.add(new HA(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 zM(a,r.hoverProvider,r.hoverPosition),h=s.hoverPart,g=new yr(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===er.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new Es;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){ss(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 Gm(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 o4(o,e,t,i,n){e.sort(lm(r=>r.ordinal,my));const s=[];for(const r of e)s.push(VM(t,r,i,n,o.onContentsChanged));return new Ch(s)}function VM(o,e,t,i,n){const s=new ze,r=Su("div.hover-row"),a=Su("div.hover-row-contents");r.appendChild(a);const c=e.contents;for(const g of c){if(lp(g))continue;const f=Su("div.markdown-hover"),p=pt(f,Su("div.hover-contents")),v=s.add(new Hg({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 r4(o,e){switch(e){case er.Increase:{const t=o.lookupKeybinding(Hy);return t?y("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):y("increaseVerbosity","Increase Hover Verbosity")}case er.Decrease:{const t=o.lookupKeybinding(Wy);return t?y("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):y("decreaseVerbosity","Decrease Hover Verbosity")}}}function dC(o,e){return!!o[e]}class Rw{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=dC(e.event,t.triggerModifier),this.hasSideBySideModifier=dC(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class sI{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=dC(e,t.triggerModifier)}}class Zm{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 oI(o){return o==="altKey"?za?new Zm(57,"metaKey",6,"altKey"):new Zm(5,"ctrlKey",6,"altKey"):za?new Zm(6,"altKey",57,"metaKey"):new Zm(6,"altKey",5,"ctrlKey")}class zy extends $e{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new pi),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new pi),this.onExecute=this._onExecute.event,this._onCancel=this._register(new pi),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=oI(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=oI(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 Rw(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new Rw(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new Rw(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new sI(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new sI(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 jM{constructor(e,t){this.range=e,this.direction=t}}class O1{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new O1(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}async resolve(e){if(typeof this.provider.resolveInlayHint=="function"){if(this._currentResolve)return await this._currentResolve,e.isCancellationRequested?void 0:this.resolve(e);this._isResolved||(this._currentResolve=this._doResolve(e).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){try{const t=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=(t==null?void 0:t.tooltip)??this.hint.tooltip,this.hint.label=(t==null?void 0:t.label)??this.hint.label,this.hint.textEdits=(t==null?void 0:t.textEdits)??this.hint.textEdits,this._isResolved=!0}catch(t){ss(t),this._isResolved=!1}}}const Eu=class Eu{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??Eu._emptyInlayHintList,a])}catch(h){ss(h)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new dy;return new Eu(i,s,t)}constructor(e,t,i){this._disposables=new ze,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=Eu._getRangeAtPosition(i,c);let f;g.getStartPosition().isBefore(c)?(f=B.fromPositions(g.getStartPosition(),c),h="after"):(f=B.fromPositions(c,g.getEndPosition()),h="before"),n.push(new O1(a,new jM(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 B(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 B(i,c+1,i,h+1)}};Eu._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let mv=Eu;function a4(o){return fn.from({scheme:ro.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var l4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Qa=function(o,e){return function(t,i){e(t,i,o)}};let Ir=class extends WA{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){G0(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Ir=l4([Qa(4,li),Qa(5,os),Qa(6,Cs),Qa(7,Ki),Qa(8,Dr),Qa(9,io),Qa(10,py),Qa(11,xs),Qa(12,Et)],Ir);const rI=new Di(new lg(0,122,204)),c4={showArrow:!0,showFrame:!0,className:"",frameColor:rI,arrowColor:rI,keepEditorSelection:!1},d4="vs.editor.contrib.zoneWidget";class h4{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 u4{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const Sb=class Sb{constructor(e){this._editor=e,this._ruleName=Sb._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),XL(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(){XL(this._ruleName),VA(`.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:B.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};Sb._IdGenerator=new zA(".arrow-decoration-");let hC=Sb;class g4{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new ze,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=BA(t),G0(this.options,c4,!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 hC(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=B.isIRange(e)?B.lift(e):B.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:Ti.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 h4(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 u4(d4+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 B(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 mu(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 UM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};const qM=El("IPeekViewService");Pl(qM,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 co;(function(o){o.inPeekEditor=new Fi("inReferenceSearchEditor",!0,y("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(co||(co={}));var Gu;let _v=(Gu=class{constructor(e,t){e instanceof Ir&&co.inPeekEditor.bindTo(t)}dispose(){}},Gu.ID="editor.contrib.referenceController",Gu);_v=UM([$M(1,Ki)],_v);bi(_v.ID,_v,0);function f4(o){const e=o.get(os).getFocusedCodeEditor();return e instanceof Ir?e.getParentEditor():e}const p4={headerBackgroundColor:Di.white,primaryHeadingColor:Di.fromHex("#333333"),secondaryHeadingColor:Di.fromHex("#6c6c6cb3")};let vv=class extends g4{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new pi,this.onDidClose=this._onDidClose.event,G0(this.options,p4,!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=yt(".head"),this._bodyElement=yt(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=yt(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),yl(this._titleElement,"click",s=>this._onTitleClick(s))),pt(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=yt("span.filename"),this._secondaryHeading=yt("span.dirname"),this._metaHeading=yt("span.meta"),pt(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=yt(".peekview-actions");pt(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new sp(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new cg("peekview.close",y("label.close","Close"),Yi.asClassName(Qt.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:jA.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute("title",e),t?this._secondaryHeading.innerText=t:Fa(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,br(this._metaHeading)):Mo(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`)}};vv=UM([$M(2,li)],vv);const m4=wt("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Di.black,hcLight:Di.white},y("peekViewTitleBackground","Background color of the peek view title area.")),KM=wt("peekViewTitleLabel.foreground",{dark:Di.white,light:Di.black,hcDark:Di.white,hcLight:cm},y("peekViewTitleForeground","Color of the peek view title.")),GM=wt("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},y("peekViewTitleInfoForeground","Color of the peek view title info.")),_4=wt("peekView.border",{dark:gS,light:gS,hcDark:bl,hcLight:bl},y("peekViewBorder","Color of the peek view borders and arrow.")),v4=wt("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Di.black,hcLight:Di.white},y("peekViewResultsBackground","Background color of the peek view result list."));wt("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Di.white,hcLight:cm},y("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));wt("peekViewResult.fileForeground",{dark:Di.white,light:"#1E1E1E",hcDark:Di.white,hcLight:cm},y("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));wt("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},y("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));wt("peekViewResult.selectionForeground",{dark:Di.white,light:"#6C6C6C",hcDark:Di.white,hcLight:cm},y("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const ZM=wt("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Di.black,hcLight:Di.white},y("peekViewEditorBackground","Background color of the peek view editor."));wt("peekViewEditorGutter.background",ZM,y("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));wt("peekViewEditorStickyScroll.background",ZM,y("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));wt("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},y("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));wt("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},y("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));wt("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:uh,hcLight:uh},y("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class Mc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=UA.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,Va(this.uri),this.range.startLineNumber,this.range.startColumn):y("aria.oneReference","in {0} on line {1} at column {2}",Va(this.uri),this.range.startLineNumber,this.range.startColumn)}}class b4{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 B(n,c.startColumn,n,s),g=new B(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 Lp{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new Ic}dispose(){Xs(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}",Va(this.uri),this.uri.fsPath):y("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Va(this.uri),this.uri.fsPath)}async resolve(e){if(this._previews.size!==0)return this;for(const t of this.children)if(!this._previews.has(t.uri))try{const i=await e.createModelReference(t.uri);this._previews.set(t.uri,new b4(i))}catch(i){bn(i)}return this}}class So{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new pi,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(So._compareReferences);let n;for(const s of e)if((!n||!YL.isEqual(n.uri,s.uri,!0))&&(n=new Lp(this,s.uri),this.groups.push(n)),n.children.length===0||So._compareReferences(s,n.children[n.children.length-1])!==0){const r=new Mc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){Xs(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new So(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:dm(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()&&B.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 YL.compare(e.uri,t.uri)||B.compareRangesUsingStarts(e.range,t.range)}}var Vy=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jy=function(o,e){return function(t,i){e(t,i,o)}},uC;let gC=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof So||e instanceof Lp}getChildren(e){if(e instanceof So)return e.groups;if(e instanceof Lp)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};gC=Vy([jy(0,da)],gC);class y4{getHeight(){return 23}getTemplateId(e){return e instanceof Lp?bv.id:yv.id}}let fC=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof Mc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return Va(e.uri)}};fC=Vy([jy(0,hs)],fC);class w4{getId(e){return e instanceof Mc?e.id:e.uri}}let pC=class extends $e{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new LE(i,{supportHighlights:!0})),this.badge=new $A(pt(i,yt(".count")),{},qA),e.appendChild(i)}set(e,t){const i=Z0(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))}};pC=Vy([jy(1,cp)],pC);var Ed;let bv=(Ed=class{constructor(e){this._instantiationService=e,this.templateId=uC.id}renderTemplate(e){return this._instantiationService.createInstance(pC,e)}renderElement(e,t,i){i.set(e.element,_y(e.filterData))}disposeTemplate(e){e.dispose()}},uC=Ed,Ed.id="FileReferencesRenderer",Ed);bv=uC=Vy([jy(0,li)],bv);class S4 extends $e{constructor(e){super(),this.label=this._register(new KA(e))}set(e,t){var n;const i=(n=e.parent.getPreview(e))==null?void 0:n.preview(e.range);if(!i||!i.value)this.label.set(`${Va(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!dp.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,_y(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const Cb=class Cb{constructor(){this.templateId=Cb.id}renderTemplate(e){return new S4(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Cb.id="OneReferenceRenderer";let yv=Cb;class C4{getWidgetAriaLabel(){return y("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}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},Yh=function(o,e){return function(t,i){e(t,i,o)}};const xb=class xb{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new ze,this._callOnModelChange=new ze,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:xb.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(!B.equalsRange(s,n.range)){if(B.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()}};xb.DecorationOptions=Ti.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let mC=xb;class L4{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 k4 extends XA{}let _C=class extends vv{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 ze,this._callOnDispose=new ze,this._onDidSelectReference=new pi,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new xn(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(),Xs(this._preview),Xs(this._previewNotAvailableMessage),Xs(this._tree),Xs(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(_4)||Di.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(m4)||Di.transparent,primaryHeadingColor:e.getColor(KM),secondaryHeadingColor:e.getColor(GM)})}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=pt(e,yt("div.messages")),Mo(this._messageContainer),this._splitView=new GA(e,{orientation:1}),this._previewContainer=pt(e,yt("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(Ir,this._previewContainer,t,{},this.editor),Mo(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(ec,y("missingPreviewMessage","no preview available"),hp,ec.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=pt(e,yt("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new C4,keyboardNavigationLabelProvider:this._instantiationService.createInstance(fC),identityProvider:new w4,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:v4}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(yl(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(k4,"ReferencesWidget",this._treeContainer,new y4,[this._instantiationService.createInstance(bv),this._instantiationService.createInstance(yv)],this._instantiationService.createInstance(gC),i),this._splitView.addView({onDidChange:ms.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:ms.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 Mc&&(r==="show"&&this._revealReference(s,!1),this._onDidSelectReference.fire({element:s,kind:r,source:"tree"}))};this._disposables.add(this._tree.onDidOpen(s=>{s.sideBySide?n(s.element,"side"):s.editorOptions.pinned?n(s.element,"goto"):n(s.element,"show")})),Mo(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new xn(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"),br(this._messageContainer),Promise.resolve(void 0)):(Mo(this._messageContainer),this._decorationsManager=new mC(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"),br(this._treeContainer),br(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();if(e instanceof Mc)return e;if(e instanceof Lp&&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!==ro.inMemory?this.setTitle(ZA(e.uri),this._uriLabel.getUriLabel(Z0(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}Xs(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=B.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()}};_C=x4([Yh(3,Dr),Yh(4,da),Yh(5,li),Yh(6,qM),Yh(7,cp),Yh(8,hs)],_C);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},Qh=function(o,e){return function(t,i){e(t,i,o)}},A_;const Hh=new Fi("referenceSearchVisible",!1,y("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var Pd;let xh=(Pd=class{static get(e){return e.getContribution(A_.ID)}constructor(e,t,i,n,s,r,a,c){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=s,this._instantiationService=r,this._storageService=a,this._configurationService=c,this._disposables=new ze,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=Hh.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=L4.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(_C,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=B.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:i,selectionSource:"code.jump",pinned:t}},this._editor).then(s=>{if(this._ignoreModelChangeEvent=!1,!s||!this._widget){this.closeWidget();return}if(this._editor===s)this._widget.show(i),this._widget.focusOnReferenceTree();else{const r=A_.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,Ds(c=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,bn(s)})}openReference(e,t,i){t||this.closeWidget();const{uri:n,range:s}=e;this._editorService.openCodeEditor({resource:n,options:{selection:s,selectionSource:"code.jump",pinned:i}},this._editor,t)}},A_=Pd,Pd.ID="editor.contrib.referencesController",Pd);xh=A_=I4([Qh(2,Ki),Qh(3,os),Qh(4,io),Qh(5,li),Qh(6,Fc),Qh(7,Nn)],xh);function Wh(o,e){const t=f4(o);if(!t)return;const i=xh.get(t);i&&e(i)}$a.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:ds(2089,60),when:le.or(Hh,co.inPeekEditor),handler(o){Wh(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});$a.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:le.or(Hh,co.inPeekEditor),handler(o){Wh(o,e=>{e.goToNextOrPreviousReference(!0)})}});$a.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:le.or(Hh,co.inPeekEditor),handler(o){Wh(o,e=>{e.goToNextOrPreviousReference(!1)})}});In.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");In.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");In.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");In.registerCommand("closeReferenceSearch",o=>Wh(o,e=>e.closeWidget()));$a.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:le.and(co.inPeekEditor,le.not("config.editor.stablePeek"))});$a.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:le.and(Hh,le.not("config.editor.stablePeek"),le.or(N.editorTextFocus,YA.negate()))});$a.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:le.and(Hh,kE,IE.negate(),DE.negate()),handler(o){var i;const t=(i=o.get(X0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Mc&&Wh(o,n=>n.revealReference(t[0]))}});$a.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:le.and(Hh,kE,IE.negate(),DE.negate()),handler(o){var i;const t=(i=o.get(X0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Mc&&Wh(o,n=>n.openReference(t[0],!0,!0))}});In.registerCommand("openReference",o=>{var i;const t=(i=o.get(X0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Mc&&Wh(o,n=>n.openReference(t[0],!1,!0))});var XM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},xf=function(o,e){return function(t,i){e(t,i,o)}};const F1=new Fi("hasSymbols",!1,y("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),Uy=El("ISymbolNavigationService");let vC=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=F1.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 bC(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(K_(f.uri,a.uri))h=!0,g=g||B.containsPosition(f.range,c);else if(h)break;(!h||!g)&&this.reset()});this._currentState=EE(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:B.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)}};vC=XM([xf(0,Ki),xf(1,os),xf(2,io),xf(3,hs)],vC);Pl(Uy,vC,1);Tt(new class extends go{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:F1,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(Uy).revealNext(e)}});$a.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:F1,primary:9,handler(o){o.get(Uy).reset()}});let bC=class{constructor(e){this._listener=new Map,this._disposables=new ze,this._onDidChange=new pi,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(),Xs(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,EE(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)}};bC=XM([xf(0,os)],bC);function yC(o,e){return e.uri.scheme===o.uri.scheme?!0:!QA(e.uri,ro.walkThroughSnippet,ro.vscodeChatCodeBlock,ro.vscodeChatCodeCompareBlock)}async function wm(o,e,t,i,n){const r=t.ordered(o,i).map(c=>Promise.resolve(n(c,o,e)).then(void 0,h=>{ss(h)})),a=await Promise.all(r);return vl(a.flat()).filter(c=>yC(o,c))}function Sm(o,e,t,i,n){return wm(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function H1(o,e,t,i,n){return wm(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function W1(o,e,t,i,n){return wm(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function B1(o,e,t,i,n){return wm(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function Cm(o,e,t,i,n,s){return wm(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=>yC(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=>yC(a,v));return g&&g.length===1?g:h})}async function qa(o){const e=await o(),t=new So(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}fo("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(Et),n=Sm(i.definitionProvider,e,t,!1,mi.None);return qa(()=>n)});fo("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Et),n=Sm(i.definitionProvider,e,t,!0,mi.None);return qa(()=>n)});fo("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(Et),n=B1(i.typeDefinitionProvider,e,t,!1,mi.None);return qa(()=>n)});fo("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Et),n=B1(i.typeDefinitionProvider,e,t,!0,mi.None);return qa(()=>n)});fo("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(Et),n=H1(i.declarationProvider,e,t,!1,mi.None);return qa(()=>n)});fo("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(Et),n=H1(i.declarationProvider,e,t,!0,mi.None);return qa(()=>n)});fo("_executeReferenceProvider",(o,e,t)=>{const i=o.get(Et),n=Cm(i.referenceProvider,e,t,!1,!1,mi.None);return qa(()=>n)});fo("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(Et),n=Cm(i.referenceProvider,e,t,!1,!0,mi.None);return qa(()=>n)});fo("_executeImplementationProvider",(o,e,t)=>{const i=o.get(Et),n=W1(i.implementationProvider,e,t,!1,mi.None);return qa(()=>n)});fo("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(Et),n=W1(i.implementationProvider,e,t,!0,mi.None);return qa(()=>n)});xr.appendMenuItem(ut.EditorContext,{submenu:ut.EditorContextPeek,title:y("peek.submenu","Peek"),group:"navigation",order:100});class Cg{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof Cg||Dt.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const cr=class cr extends oa{static all(){return cr._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of ul.wrap(t.menu))(i.id===ut.EditorContext||i.id===ut.EditorContextPeek)&&(i.when=le.and(e.precondition,i.when));return t}constructor(e,t){super(cr._patchConfig(t)),this.configuration=e,cr._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(io),r=e.get(os),a=e.get(tm),c=e.get(Uy),h=e.get(Et),g=e.get(li),f=t.getModel(),p=t.getPosition(),v=Cg.is(i)?i:new Cg(f,p),_=new sg(t,5),w=Jp(this._getLocationModel(h,v.model,v.position,_.token),_.token).then(async S=>{var R;if(!S||_.token.isCancellationRequested)return;Lr(S.ariaMessage);let D;if(S.referenceAt(f.uri,p)){const V=this._getAlternativeCommand(t);!cr._activeAlternativeCommands.has(V)&&cr._allSymbolNavigationCommands.has(V)&&(D=cr._allSymbolNavigationCommands.get(V))}const E=S.references.length;if(E===0){if(!this.configuration.muteMessage){const V=f.getWordAtPosition(p);(R=wo.get(t))==null||R.showMessage(this._getNoResultFoundMessage(V),p)}}else if(E===1&&D)cr._activeAlternativeCommands.add(this.desc.id),g.invokeFunction(V=>D.runEditorCommand(V,t,i,n).finally(()=>{cr._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 Ir)&&(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(JA(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:B.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=xh.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),Ds(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};cr._allSymbolNavigationCommands=new Map,cr._activeAlternativeCommands=new Set;let Ll=cr;class xm extends Ll{async _getLocationModel(e,t,i,n){return new So(await Sm(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 mc;an((mc=class extends xm{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:mc.id,title:{...Lt("actions.goToDecl.label","Go to Definition"),mnemonicTitle:y({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:N.hasDefinitionProvider,keybinding:[{when:N.editorTextFocus,primary:70,weight:100},{when:le.and(N.editorTextFocus,PE),primary:2118,weight:100}],menu:[{id:ut.EditorContext,group:"navigation",order:1.1},{id:ut.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),In.registerCommandAlias("editor.action.goToDeclaration",mc.id)}},mc.id="editor.action.revealDefinition",mc));var _c;an((_c=class extends xm{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:_c.id,title:Lt("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:le.and(N.hasDefinitionProvider,N.isInEmbeddedEditor.toNegated()),keybinding:[{when:N.editorTextFocus,primary:ds(2089,70),weight:100},{when:le.and(N.editorTextFocus,PE),primary:ds(2089,2118),weight:100}]}),In.registerCommandAlias("editor.action.openDeclarationToTheSide",_c.id)}},_c.id="editor.action.revealDefinitionAside",_c));var vc;an((vc=class extends xm{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:vc.id,title:Lt("actions.previewDecl.label","Peek Definition"),precondition:le.and(N.hasDefinitionProvider,co.notInPeekEditor,N.isInEmbeddedEditor.toNegated()),keybinding:{when:N.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:ut.EditorContextPeek,group:"peek",order:2}}),In.registerCommandAlias("editor.action.previewDeclaration",vc.id)}},vc.id="editor.action.peekDefinition",vc));class YM extends Ll{async _getLocationModel(e,t,i,n){return new So(await H1(e.declarationProvider,t,i,!1,n),y("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?y("decl.noResultWord","No declaration found for '{0}'",e.word):y("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}var Td;an((Td=class extends YM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Td.id,title:{...Lt("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:y({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:le.and(N.hasDeclarationProvider,N.isInEmbeddedEditor.toNegated()),menu:[{id:ut.EditorContext,group:"navigation",order:1.3},{id:ut.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")}},Td.id="editor.action.revealDeclaration",Td));an(class extends YM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:Lt("actions.peekDecl.label","Peek Declaration"),precondition:le.and(N.hasDeclarationProvider,co.notInPeekEditor,N.isInEmbeddedEditor.toNegated()),menu:{id:ut.EditorContextPeek,group:"peek",order:3}})}});class QM extends Ll{async _getLocationModel(e,t,i,n){return new So(await B1(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 Md;an((Md=class extends QM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Md.ID,title:{...Lt("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:y({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:N.hasTypeDefinitionProvider,keybinding:{when:N.editorTextFocus,primary:0,weight:100},menu:[{id:ut.EditorContext,group:"navigation",order:1.4},{id:ut.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Md.ID="editor.action.goToTypeDefinition",Md));var Nd;an((Nd=class extends QM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Nd.ID,title:Lt("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:le.and(N.hasTypeDefinitionProvider,co.notInPeekEditor,N.isInEmbeddedEditor.toNegated()),menu:{id:ut.EditorContextPeek,group:"peek",order:4}})}},Nd.ID="editor.action.peekTypeDefinition",Nd));class JM extends Ll{async _getLocationModel(e,t,i,n){return new So(await W1(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 Rd;an((Rd=class extends JM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Rd.ID,title:{...Lt("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:y({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:N.hasImplementationProvider,keybinding:{when:N.editorTextFocus,primary:2118,weight:100},menu:[{id:ut.EditorContext,group:"navigation",order:1.45},{id:ut.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Rd.ID="editor.action.goToImplementation",Rd));var Ad;an((Ad=class extends JM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Ad.ID,title:Lt("actions.peekImplementation.label","Peek Implementations"),precondition:le.and(N.hasImplementationProvider,co.notInPeekEditor,N.isInEmbeddedEditor.toNegated()),keybinding:{when:N.editorTextFocus,primary:3142,weight:100},menu:{id:ut.EditorContextPeek,group:"peek",order:5}})}},Ad.ID="editor.action.peekImplementation",Ad));class eN extends Ll{_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}}an(class extends eN{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...Lt("goToReferences.label","Go to References"),mnemonicTitle:y({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:le.and(N.hasReferenceProvider,co.notInPeekEditor,N.isInEmbeddedEditor.toNegated()),keybinding:{when:N.editorTextFocus,primary:1094,weight:100},menu:[{id:ut.EditorContext,group:"navigation",order:1.45},{id:ut.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new So(await Cm(e.referenceProvider,t,i,!0,!1,n),y("ref.title","References"))}});an(class extends eN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:Lt("references.action.label","Peek References"),precondition:le.and(N.hasReferenceProvider,co.notInPeekEditor,N.isInEmbeddedEditor.toNegated()),menu:{id:ut.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new So(await Cm(e.referenceProvider,t,i,!1,!1,n),y("ref.title","References"))}});class D4 extends Ll{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:Lt("label.generic","Go to Any Symbol"),precondition:le.and(co.notInPeekEditor,N.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new So(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""}}In.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:fn},{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)=>{Gi(fn.isUri(e)),Gi(Dt.isIPosition(t)),Gi(Array.isArray(i)),Gi(typeof n>"u"||typeof n=="string"),Gi(typeof r>"u"||typeof r=="boolean");const a=o.get(os),c=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(TE(c))return c.setPosition(t),c.revealPositionInCenterIfOutsideViewport(t,0),c.invokeWithinContext(h=>{const g=new class extends D4{_getNoResultFoundMessage(f){return s||super._getNoResultFoundMessage(f)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);h.get(li).invokeFunction(g.run.bind(g),c)})}});In.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:fn},{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(Cs).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});In.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{Gi(fn.isUri(e)),Gi(Dt.isIPosition(t));const i=o.get(Et),n=o.get(os);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!TE(s)||!s.hasModel())return;const r=xh.get(s);if(!r)return;const a=Ds(h=>Cm(i.referenceProvider,s.getModel(),Dt.lift(t),!1,!1,h).then(g=>new So(g,y("ref.title","References")))),c=new B(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(c,a,!1))})}});In.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function E4(o,e,t,i){const n=o.get(da),s=o.get(Rg),r=o.get(Cs),a=o.get(li),c=o.get(io);if(await i.item.resolve(mi.None),!i.part.location)return;const h=i.part.location,g=[],f=new Set(xr.getMenuItems(ut.EditorContext).map(v=>eO(v)?v.command.id:Oy()));for(const v of Ll.all())f.has(v.desc.id)&&g.push(new cg(v.desc.id,dg.label(v.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const _=await n.createModelReference(h.uri);try{const w=new Cg(_.object.textEditorModel,B.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 ap),g.push(new cg(v.id,v.title,void 0,!0,async()=>{try{await r.executeCommand(v.id,...v.arguments??[])}catch(_){c.notify({severity:Y0.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=lo(t);return{x:v.left,y:v.top+v.height+8}},getActions:()=>g,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function tN(o,e,t,i){const s=await o.get(da).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,c=r.get(Ki),h=co.inPeekEditor.getValue(c),g=!a&&t.getOption(89)&&!h;return new xm({openToSide:a,openInPeek:g,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new Cg(s.object.textEditorModel,B.getStartPosition(i.range)),B.lift(i.range))}),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},Jh=function(o,e){return function(t,i){e(t,i,o)}},gu;class wv{constructor(){this._entries=new nm(50)}get(e){const t=wv._key(e);return this._entries.get(t)}set(e,t){const i=wv._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const iN=El("IInlayHintsCache");Pl(iN,wv,1);class wC{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 T4{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var hl;let kp=(hl=class{static get(e){return e.getContribution(gu.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 ze,this._sessionDisposables=new ze,this._decorationsMetadata=new Map,this._ruleFactory=new _E(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(tO.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(Tn(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new _s(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new Es;const c=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const h=n.token,g=await mv.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){bn(h)}finally{n.dispose(),c.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(Tn(()=>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 ze,t=e.add(new zy(this._editor)),i=new ze;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 Es;i.add(Tn(()=>c.dispose(!0))),r.item.resolve(c.token),this._activeInlayHintPart=r.part.command||r.part.location?new T4(r,s.hasTriggerModifier):void 0;const h=a.validatePosition(r.item.hint.position).lineNumber,g=new B(h,1,h,a.getLineMaxColumn(h)),f=this._getInlineHintsForRange(g);this._updateHintsDecorators([g],f),i.add(Tn(()=>{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(tN,n,this._editor,r.location):iO.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(mi.None),Oo(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>Gn.replace(B.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!nO(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(E4,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 Q0&&(t==null?void 0:t.attachedData)instanceof wC)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:Y0.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 jM(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(B.compareRangesUsingStarts)){const r=t.validateRange(new B(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!B.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=B.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var _,w;const i=[],n=(S,D,E,R,V)=>{const H={content:E,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:D.className,cursorStops:R,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?H:void 0}}})},s=(S,D)=>{const E=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(S,E," ",D?vu.Right:vu.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>gu._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 E=0;E<D.length;E++){const R=D[E],V=E===0,H=E===D.length-1,J={fontSize:`${r}px`,fontFamily:`var(${g}), ${q0.fontFamily}`,verticalAlign:h?"baseline":"middle",unicodeBidi:"isolate"};Oo(S.hint.textEdits)&&(J.cursor="default"),this._fillInColors(J,S.hint),(R.command||R.location)&&((_=this._activeInlayHintPart)==null?void 0:_.part.item)===S&&this._activeInlayHintPart.part.index===E&&(J.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(J.color=fs(sO),J.cursor="pointer")),c&&(V&&H?(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`):H?(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 Y=R.label;f.totalLen+=Y.length;let ue=!1;const Te=f.totalLen-gu._MAX_LABEL_LEN;if(Te>0&&(Y=Y.slice(0,-Te)+"…",ue=!0),n(S,this._ruleFactory.createClassNameRef(J),M4(Y),H&&!S.hint.paddingRight?vu.Right:vu.None,new wC(S,E)),ue)break}if(S.hint.paddingRight&&s(S,!0),i.length>gu._MAX_DECORATORS)break}const p=[];for(const[S,D]of this._decorationsMetadata){const E=(w=this._editor.getModel())==null?void 0:w.getDecorationRange(S);E&&e.some(R=>R.containsRange(E))&&(p.push(S),D.classNameRef.dispose(),this._decorationsMetadata.delete(S))}const v=ag.capture(this._editor);this._editor.changeDecorations(S=>{const D=S.deltaDecorations(p,i.map(E=>E.decoration));for(let E=0;E<D.length;E++){const R=i[E];this._decorationsMetadata.set(D[E],R)}}),v.restore(this._editor)}_fillInColors(e,t){t.kind===JL.Parameter?(e.backgroundColor=fs(oO),e.color=fs(rO)):t.kind===JL.Type?(e.backgroundColor=fs(aO),e.color=fs(lO)):(e.backgroundColor=fs(cO),e.color=fs(dO))}_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()}},gu=hl,hl.ID="editor.contrib.InlayHints",hl._MAX_DECORATORS=1500,hl._MAX_LABEL_LEN=43,hl);kp=gu=P4([Jh(1,Et),Jh(2,nr),Jh(3,iN),Jh(4,Cs),Jh(5,io),Jh(6,li)],kp);function M4(o){return o.replace(/[ \t]/g," ")}In.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;Gi(fn.isUri(t)),Gi(B.isIRange(i));const{inlayHintsProvider:n}=o.get(Et),s=await o.get(da).createModelReference(t);try{const r=await mv.create(n,s.object.textEditorModel,[B.lift(i)],mi.None),a=r.items.map(c=>c.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});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},Bl=function(o,e){return function(t,i){e(t,i,o)}};class aI extends M_{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let Sv=class extends xp{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(!kp.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof Q0&&i.attachedData instanceof wC?new aI(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof aI?new ea(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 Gs().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new yr(this,e.range,[r],!1,0)),Oo(s.item.hint.textEdits)&&n.emitOne(new yr(this,e.range,[new Gs().appendText(y("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new Gs().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new yr(this,e.range,[a],!1,1)),s.part.location||s.part.command){let h;const f=this._editor.getOption(78)==="altKey"?za?y("links.navigate.kb.meta.mac","cmd + click"):y("links.navigate.kb.meta","ctrl + click"):za?y("links.navigate.kb.alt.mac","option + click"):y("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?h=new Gs().appendText(y("hint.defAndCommand","Go to Definition ({0}), right click for more",f)):s.part.location?h=new Gs().appendText(y("hint.def","Go to Definition ({0})",f)):s.part.command&&(h=new Gs(`[${y("hint.cmd","Execute Command")}](${a4(s.part.command)} "${s.part.command.title}") (${f})`,{isTrusted:!0})),h&&n.emitOne(new yr(this,e.range,[h],!1,1e4))}const c=await this._resolveInlayHintLabelPartHover(s,i);for await(const h of c)n.emitOne(h)}):ea.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return ea.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)?A1(this._languageFeaturesService.hoverProvider,r,new Dt(n.startLineNumber,n.startColumn),t).filter(a=>!lp(a.hover.contents)).map(a=>new yr(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):ea.EMPTY}finally{s.dispose()}}};Sv=N4([Bl(1,ca),Bl(2,aa),Bl(3,hs),Bl(4,am),Bl(5,Nn),Bl(6,da),Bl(7,Et),Bl(8,Cs)],Sv);class z1 extends $e{constructor(e,t,i,n,s,r){super();const a=t.anchor,c=t.hoverParts;this._renderedHoverParts=this._register(new SC(e,i,c,r,s));const{showAtPosition:h,showAtSecondaryPosition:g}=z1.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 R4{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 Lb=class Lb extends $e{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 $e.None;let i=t[0].range;for(const s of t){const r=s.range;i=B.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:Lb._DECORATION_OPTIONS}]),Tn(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new pv(n),r={fragment:this._fragment,statusBar:s,...i},a=new ze;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})),Tn(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new Ch([])}_renderStatusBar(e,t){if(t.hasContent)return new R4(e,t)}_registerListenersOnRenderedParts(){const e=new ze;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(qi(n,jn.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(qi(n,jn.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof xp&&!(i instanceof Sv));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof Sp)}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 hg;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};Lb._DECORATION_OPTIONS=Ti.register({description:"content-hover-highlight",className:"hoverHighlight"});let SC=Lb;var A4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},lI=function(o,e){return function(t,i){e(t,i,o)}};let CC=class extends $e{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new pi),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(cC,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new fv(this._editor,this._participants),this._hoverOperation=this._register(new HM(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of Fh.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 WM(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(yl(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(yl(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(vy.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 z1(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 Nw(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 Nw(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||!By(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new Nw(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}};CC=A4([lI(1,li),lI(2,hs)],CC);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},cI=function(o,e){return function(t,i){e(t,i,o)}},xC,Od;let $s=(Od=class extends $e{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new pi),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new ze,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new _s(()=>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(xC.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?By(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===RM||t.commandId===Hy||t.commandId===Wy)&&((n=this._contentWidget)==null?void 0:n.isVisible);e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4||i||this._hideWidgets()}_hideWidgets(){var e,t;this._hoverState.mouseDown&&((e=this._contentWidget)!=null&&e.isColorPickerVisible)||Sg.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(CC,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()}},xC=Od,Od.ID="editor.contrib.contentHover",Od);$s=xC=O4([cI(1,li),cI(2,hs)],$s);const IL=class IL extends $e{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!==IM||!i.range)return;const n=this._editor.getContribution($s.ID);if(n&&!n.isColorPickerVisible){const s=new B(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};IL.ID="editor.contrib.colorContribution";let Cv=IL;bi(Cv.ID,Cv,2);Fh.register(Sp);var nN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Cu=function(o,e){return function(t,i){e(t,i,o)}},LC,kC,Fd;let Lh=(Fd=class extends $e{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=N.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=N.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(IC,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(LC.ID)}},LC=Fd,Fd.ID="editor.contrib.standaloneColorPickerController",Fd);Lh=LC=nN([Cu(1,Ki),Cu(2,li)],Lh);bi(Lh.ID,Lh,1);const dI=8,F4=22;var Hd;let IC=(Hd=class extends $e{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 pi),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(Cp,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(og(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 kC.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 H4(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 wp(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 pv(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-F4-dI,f=a.body.enterButton;f==null||f.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,v=p.pickedColorNode;v.style.width=h+dI+"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)}},kC=Hd,Hd.ID="editor.contrib.standaloneColorPickerWidget",Hd);IC=kC=nN([Cu(3,li),Cu(4,hs),Cu(5,Et),Cu(6,Tl)],IC);class H4{constructor(e,t){this.value=e,this.foundInEditor=t}}class W4 extends oa{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...Lt("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:ut.CommandPalette}],metadata:{description:Lt("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=Lh.get(t))==null||i.showOrFocus()}}class B4 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:N.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:Lt("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=Lh.get(t))==null||i.hide()}}class z4 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:N.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:Lt("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=Lh.get(t))==null||i.insertColor()}}oe(B4);oe(z4);an(W4);class nc{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=nc._createRemoveBlockCommentOperations(new B(a,v+t.length+1,h,_+1),t,i)):(w=nc._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 B.isEmpty(e)?n.push(Gn.delete(new B(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(Gn.delete(new B(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(Gn.delete(new B(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return B.isEmpty(e)?s.push(Gn.replace(new B(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(Gn.insert(new Dt(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(Gn.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 el{constructor(e,t,i,n,s,r,a){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=n,this._insertSpace=s,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=r,this._ignoreFirstLine=a||!1}static _gatherPreflightCommentStrings(e,t,i,n){e.tokenization.tokenizeIfCheap(t);const s=e.getLanguageIdAtPosition(t,1),r=n.getLanguageConfiguration(s).comments,a=r?r.lineCommentToken:null;if(!a)return null;const c=[];for(let 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=fS(w);if(S===-1){v.ignore=r,v.commentStrOffset=w.length;continue}if(h=!1,v.ignore=!1,v.commentStrOffset=S,g&&!nc._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=el._gatherPreflightCommentStrings(i,n,s,c);return h===null?{supported:!1}:el._analyzeLines(e,t,i,h,n,r,a,c)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=el._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(el._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new Dt(n.positionLineNumber,n.positionColumn);for(let a=0,c=s.length;a<c;a++)t.addEditOperation(s[a].range,s[a].text),B.isEmpty(s[a].range)&&B.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?nc._createRemoveBlockCommentOperations(new B(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=fS(h);g===-1&&(g=h.length),c=nc._createAddBlockCommentOperations(new B(i.startLineNumber,g+1,i.startLineNumber,h.length+1),r,a,this._insertSpace)}else c=nc._createAddBlockCommentOperations(new B(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 B(i.startLineNumber,e.getLineMaxColumn(i.startLineNumber),i.startLineNumber+1,1),i.startLineNumber===e.getLineCount()?"":`
19
+ `),this._selectionId=t.trackSelection(i);return}i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._moveEndPositionDown=!0,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));const n=el._gatherPreflightData(this._type,this._insertSpace,e,i.startLineNumber,i.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return n.supported?this._executeLineComments(e,t,n,i):this._executeBlockComment(e,t,i)}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),new 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(Gn.delete(new B(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(Gn.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=el.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=el.nextVisibleColumn(f,n,g.charCodeAt(r)===9,1);f>s?t[c].commentStrOffset=r-1:t[c].commentStrOffset=r}}}class V1 extends Se{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(xs);if(!t.hasModel())return;const n=t.getModel(),s=[],r=n.getOptions(),a=t.getOption(23),c=t.getSelections().map((g,f)=>({selection:g,index:f,ignoreFirstLine:!1}));c.sort((g,f)=>B.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 el(i,g.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,g.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class V4 extends V1{constructor(){super(0,{id:"editor.action.commentLine",label:y("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:ut.MenubarEditMenu,group:"5_insert",title:y({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class j4 extends V1{constructor(){super(1,{id:"editor.action.addCommentLine",label:y("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2081),weight:100}})}}class U4 extends V1{constructor(){super(2,{id:"editor.action.removeCommentLine",label:y("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2099),weight:100}})}}class $4 extends Se{constructor(){super({id:"editor.action.blockComment",label:y("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:ut.MenubarEditMenu,group:"5_insert",title:y({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(xs);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new nc(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}oe(V4);oe(j4);oe(U4);oe($4);var q4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Kc=function(o,e){return function(t,i){e(t,i,o)}},DC,Wd;let xg=(Wd=class{static get(e){return e.getContribution(DC.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 ze,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&&hO(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 uO){const h=this._getMenuActions(e,c.item.submenu);h.length>0&&(i.push(new ek(c.id,c.label,h)),a++)}else i.push(c),a++;a&&i.push(new ap)}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=lo(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)&&!pS;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 uS(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const c=r;return typeof c.getActionViewItem=="function"?c.getActionViewItem():new uS(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()||gO(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 ek(`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 ap),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)&&!pS;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()}},DC=Wd,Wd.ID="editor.contrib.contextmenu",Wd);xg=DC=q4([Kc(1,Rg),Kc(2,hy),Kc(3,Ki),Kc(4,hs),Kc(5,Th),Kc(6,Nn),Kc(7,ng)],xg);class K4 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:N.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=xg.get(t))==null||i.showContextMenu()}}bi(xg.ID,xg,2);oe(K4);class Aw{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 Ow{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const kb=class kb extends $e{static get(e){return e.getContribution(kb.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 Aw(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new Ow(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 Ow(new Aw(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 Ow(new Aw(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}};kb.ID="editor.contrib.cursorUndoRedoController";let Lg=kb;class G4 extends Se{constructor(){super({id:"cursorUndo",label:y("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:N.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=Lg.get(t))==null||n.cursorUndo()}}class Z4 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=Lg.get(t))==null||n.cursorRedo()}}bi(Lg.ID,Lg,0);oe(G4);oe(Z4);class X4{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 B(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 eu(o){return za?o.altKey:o.ctrlKey}const Kl=class Kl extends $e{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)||(eu(e)&&(this._modifierPressed=!0),this._mouseDown&&eu(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(eu(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Kl.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}eu(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)||(eu(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Kl.ID,new X4(this._dragSelection,t,eu(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 B(e.lineNumber,e.column,e.lineNumber,e.column),options:Kl._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()}};Kl.ID="editor.contrib.dragAndDrop",Kl.TRIGGER_KEY_VALUE=za?6:5,Kl._DECORATION_OPTIONS=Ti.register({description:"dnd-target",className:"dnd-target"});let xv=Kl;bi(xv.ID,xv,2);bi(xl.ID,xl,0);Fg(jS);Tt(new class extends go{constructor(){super({id:rM,precondition:D1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=xl.get(e))==null?void 0:t.changePasteType()}});Tt(new class extends go{constructor(){super({id:"editor.hidePasteWidget",precondition:D1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=xl.get(e))==null||t.clearWidgets()}});var Bd;oe((Bd=class extends Se{constructor(){super({id:"editor.action.pasteAs",label:y("pasteAs","Paste As..."),alias:"Paste As...",precondition:N.writable,metadata:{description:"Paste as",args:[{name:"args",schema:Bd.argsSchema}]}})}run(e,t,i){var s;let n=typeof(i==null?void 0:i.kind)=="string"?i.kind:void 0;return!n&&i&&(n=typeof i.id=="string"?i.id:void 0),(s=xl.get(t))==null?void 0:s.pasteAs(n?new Mn(n):void 0)}},Bd.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.")}}},Bd));oe(class extends Se{constructor(){super({id:"editor.action.pasteAsText",label:y("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:N.writable})}run(o,e){var t;return(t=xl.get(e))==null?void 0:t.pasteAs({providerId:vh.id})}});class Y4{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 hI{constructor(e){this.identifier=e}}const sN=El("treeViewsDndService");Pl(sN,Y4,1);var Q4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Xm=function(o,e){return function(t,i){e(t,i,o)}},EC;const oN="editor.experimental.dropIntoEditor.defaultProvider",rN="editor.changeDropType",j1=new Fi("dropWidgetVisible",!1,y("dropWidgetVisible","Whether the drop widget is showing"));var zd;let kg=(zd=class extends $e{static get(e){return e.getContribution(EC.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=zS.getInstance(),this._dropProgressManager=this._register(t.createInstance(hv,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(gv,"dropIntoEditor",e,j1,{id:rN,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=Ds(async r=>{const a=new ze,c=a.add(new sg(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([B.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 ze,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=vl(a??[]).flat();return{edits:sM(c),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(oN,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new Mn(s),a=t.findIndex(c=>r.value===c.providerId&&c.handledMimeType&&ZT(n,[c.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new GT;const t=QT(e.dataTransfer);if(this.treeItemsTransfer.hasData(hI.prototype)){const i=this.treeItemsTransfer.getData(hI.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}},EC=zd,zd.ID="editor.contrib.dropIntoEditorController",zd);kg=EC=Q4([Xm(1,li),Xm(2,Nn),Xm(3,Et),Xm(4,sN)],kg);bi(kg.ID,kg,2);Fg(VS);Tt(new class extends go{constructor(){super({id:rN,precondition:j1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=kg.get(e))==null||i.changeDropType()}});Tt(new class extends go{constructor(){super({id:"editor.hideDropWidget",precondition:j1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=kg.get(e))==null||i.clearWidgets()}});ra.as(im.Configuration).registerConfiguration({...gy,properties:{[oN]:{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 zs=class zs{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===zs._FIND_MATCH_DECORATION||n===zs._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,zs._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,zs._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 B(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,zs._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=zs._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=zs._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 B(f,1,p,1),options:zs._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),f=w.startLineNumber,p=w.endLineNumber)}s.push({range:new B(f,1,p,1),options:zs._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,zs._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}};zs._CURRENT_FIND_MATCH_DECORATION=Ti.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:fs(fw),position:Oa.Center},minimap:{color:fs(tk),position:1}}),zs._FIND_MATCH_DECORATION=Ti.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:fs(fw),position:Oa.Center},minimap:{color:fs(tk),position:1}}),zs._FIND_MATCH_NO_OVERVIEW_DECORATION=Ti.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),zs._FIND_MATCH_ONLY_OVERVIEW_DECORATION=Ti.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:fs(fw),position:Oa.Center}}),zs._RANGE_HIGHLIGHT_DECORATION=Ti.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),zs._FIND_SCOPE_DECORATION=Ti.register({description:"find-scope",className:"findScope",isWholeLine:!0});let PC=zs;class J4{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)=>B.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 aN(o,e){if(o&&o[0]!==""){const t=uI(o,e,"-"),i=uI(o,e,"_");return t&&!i?gI(o,e,"-"):!t&&i?gI(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():fO(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 uI(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function gI(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=aN([n[a]],r)+t}),s.slice(0,-1)}class fI{constructor(e){this.staticValue=e,this.kind=0}}class ez{constructor(e){this.pieces=e,this.kind=1}}class Ig{static fromStaticValue(e){return new Ig([Sd.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new fI(""):e.length===1&&e[0].staticValue!==null?this._state=new fI(e[0].staticValue):this._state=new ez(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?aN(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=Ig._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 Sd{static staticValue(e){return new Sd(e,-1,null)}static caseOps(e,t){return new Sd(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 tz{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++]=Sd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=Sd.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Sd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new Ig(this._result)}}function iz(o){if(!o||o.length===0)return new Ig(null);const e=[],t=new tz(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 Rl=new Fi("findWidgetVisible",!1);Rl.toNegated();const $y=new Fi("findInputFocussed",!1),U1=new Fi("replaceInputFocussed",!1),Ym={primary:545,mac:{primary:2593}},Qm={primary:565,mac:{primary:2613}},Jm={primary:560,mac:{primary:2608}},e_={primary:554,mac:{primary:2602}},t_={primary:558,mac:{primary:2606}},_n={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"},sc=19999,nz=240;class Uf{constructor(e,t){this._toDispose=new ze,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new em,this._decorations=new PC(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new _s(()=>{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,Xs(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)},nz)):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 B(a.startLineNumber,1,c,this._editor.getModel().getLineMaxColumn(c))}return a}));const n=this._findMatches(i,!1,sc);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=ME(n.map(c=>c.range),c=>B.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()<sc){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=Uf._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()<sc){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=Uf._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?iz(this._state.replaceString):Ig.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 Qp(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=>Uf._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>=sc?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new pO(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 NE(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 J4(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 Ib=class Ib extends sm{constructor(e,t,i){super(),this._hideSoon=this._register(new _s(()=>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:fd(AE),inputActiveOptionForeground:fd(RE),inputActiveOptionBackground:fd(j0)},s=this._register(mS());this.caseSensitive=this._register(new mO({appendTitle:this._keybindingLabelFor(_n.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 _O({appendTitle:this._keybindingLabelFor(_n.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 vO({appendTitle:this._keybindingLabelFor(_n.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(qi(this._domNode,jn.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(qi(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 Ib.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")}};Ib.ID="editor.contrib.findOptionsWidget";let TC=Ib;function i_(o,e){return o===1?!0:o===2?!1:e}class sz extends $e{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return i_(this._isRegexOverride,this._isRegex)}get wholeWord(){return i_(this._wholeWordOverride,this._wholeWord)}get matchCase(){return i_(this._matchCaseOverride,this._matchCase)}get preserveCase(){return i_(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 pi),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"&&(B.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=>!B.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>=sc}}const oz=y("defaultLabel","input"),rz=y("label.preserveCaseToggle","Preserve Case");class az extends OE{constructor(e){super({icon:Qt.preserveCase,title:rz+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??by("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class lz extends sm{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new pi),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new pi),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new pi),this._onInput=this._register(new pi),this._onKeyUp=this._register(new pi),this._onPreserveCaseKeyDown=this._register(new pi),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||oz;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 bO(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 az({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(),Z_.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 lN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},cN=function(o,e){return function(t,i){e(t,i,o)}};const $1=new Fi("suggestWidgetVisible",!1,y("suggestWidgetVisible","Whether suggestion are visible")),q1="historyNavigationWidgetFocus",dN="historyNavigationForwardsEnabled",hN="historyNavigationBackwardsEnabled";let ml;const n_=[];function uN(o,e){if(n_.includes(e))throw new Error("Cannot register the same widget multiple times");n_.push(e);const t=new ze,i=new Fi(q1,!1).bindTo(o),n=new Fi(dN,!0).bindTo(o),s=new Fi(hN,!0).bindTo(o),r=()=>{i.set(!0),ml=e},a=()=>{i.set(!1),ml===e&&(ml=void 0)};return wO(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(Tn(()=>{n_.splice(n_.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let MC=class extends yO{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(uN(s,this.inputBox))}};MC=lN([cN(3,Ki)],MC);let NC=class extends lz{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(uN(r,this.inputBox))}};NC=lN([cN(3,Ki)],NC);$a.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:le.and(le.has(q1),le.equals(hN,!0),le.not("isComposing"),$1.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{ml==null||ml.showPreviousValue()}});$a.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:le.and(le.has(q1),le.equals(dN,!0),le.not("isComposing"),$1.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{ml==null||ml.showNextValue()}});function pI(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 mI=ts("find-collapsed",Qt.chevronRight,y("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),_I=ts("find-expanded",Qt.chevronDown,y("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),cz=ts("find-selection",Qt.selection,y("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),dz=ts("find-replace",Qt.replace,y("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),hz=ts("find-replace-all",Qt.replaceAll,y("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),uz=ts("find-previous-match",Qt.arrowUp,y("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),gz=ts("find-next-match",Qt.arrowDown,y("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),fz=y("label.findDialog","Find / Replace"),pz=y("label.find","Find"),mz=y("placeholder.find","Find"),_z=y("label.previousMatchButton","Previous Match"),vz=y("label.nextMatchButton","Next Match"),bz=y("label.toggleSelectionFind","Find in Selection"),yz=y("label.closeButton","Close"),wz=y("label.replace","Replace"),Sz=y("placeholder.replace","Replace"),Cz=y("label.replaceButton","Replace"),xz=y("label.replaceAllButton","Replace All"),Lz=y("label.toggleReplaceButton","Toggle Replace"),kz=y("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",sc),Iz=y("label.matchesLocation","{0} of {1}"),vI=y("label.noResults","No results"),ma=419,Dz=275,Ez=Dz-54;let uf=69;const Pz=33,bI="ctrlEnterReplaceAll.windows.donotask",yI=za?256:2048;class Fw{constructor(e){this.afterLineNumber=e,this.heightInPx=Pz,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function wI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function SI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const Db=class Db extends sm{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(bI,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new Dc(500),this._register(Tn(()=>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 Fw(0),this._showViewZone()),!v&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){const f=await this._controller.getGlobalBufferTerm();f&&f!==this._state.searchString&&(this._state.change({searchString:f},!1),this._findInput.select())}})),this._findInputFocused=$y.bindTo(r),this._findFocusTracker=this._register(og(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=U1.bindTo(r),this._replaceFocusTracker=this._register(og(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 Fw(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 Db.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=hr(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,bn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=uf+"px",this._state.matchesCount>=sc?this._matchesCount.title=kz: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>=sc&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=J0(Iz,n,i)}else e=vI;this._matchesCount.appendChild(document.createTextNode(e)),Lr(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),uf=Math.max(uf,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===vI)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=lo(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=SO(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 Fw(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&&hr(this._domNode)>ma){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=hr(this._findInput.domNode);return}if(ma+28+n>=i&&(r=!0),ma+28+n-uf>=i&&(a=!0),ma+28+n-uf>=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=hr(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&&!B.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(yI|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 wI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return SI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(yI|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{ly&&Og&&!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(bI,!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 wI(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return SI(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 MC(null,this._contextViewProvider,{width:Ez,label:pz,placeholder:mz,appendCaseSensitiveLabel:this._keybindingLabelFor(_n.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(_n.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(_n.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:()=>pI(this._keybindingService),inputBoxStyles:nk,toggleStyles:ik},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()})),CO&&this._register(this._findInput.onMouseDown(g=>this._onFindInputMouseDown(g))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(mS());this._prevBtn=this._register(new tu({label:_z+this._keybindingLabelFor(_n.PreviousMatchFindAction),icon:uz,hoverDelegate:i,onTrigger:()=>{bu(this._codeEditor.getAction(_n.PreviousMatchFindAction)).run().then(void 0,bn)}},this._hoverService)),this._nextBtn=this._register(new tu({label:vz+this._keybindingLabelFor(_n.NextMatchFindAction),icon:gz,hoverDelegate:i,onTrigger:()=>{bu(this._codeEditor.getAction(_n.NextMatchFindAction)).run().then(void 0,bn)}},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 OE({icon:cz,title:bz+this._keybindingLabelFor(_n.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:fd(j0),inputActiveOptionBorder:fd(AE),inputActiveOptionForeground:fd(RE)})),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 tu({label:yz+this._keybindingLabelFor(_n.CloseFindWidgetCommand),icon:FE,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 NC(null,void 0,{label:wz,placeholder:Sz,appendPreserveCaseLabel:this._keybindingLabelFor(_n.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>pI(this._keybindingService),inputBoxStyles:nk,toggleStyles:ik},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(mS());this._replaceBtn=this._register(new tu({label:Cz+this._keybindingLabelFor(_n.ReplaceOneAction),icon:dz,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:g=>{g.equals(1026)&&(this._closeBtn.focus(),g.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new tu({label:xz+this._keybindingLabelFor(_n.ReplaceAllAction),icon:hz,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 tu({label:Lz,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=hr(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=fz,this._domNode.role="dialog",this._domNode.style.width=`${ma}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(n),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(a),this._resizeSash=this._register(new mu(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let h=ma;this._register(this._resizeSash.onDidStart(()=>{h=hr(this._domNode)})),this._register(this._resizeSash.onDidChange(g=>{this._resized=!0;const f=h+g.startX-g.currentX;if(f<ma)return;const p=parseFloat(xO(this._domNode).maxWidth)||0;f>p||(this._domNode.style.width=`${f}px`,this._isReplaceVisible&&(this._replaceInput.width=hr(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const g=hr(this._domNode);if(g<ma)return;let f=ma;if(!this._resized||g===ma){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=hr(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};Db.ID="editor.contrib.findWidget";let RC=Db;class tu extends sm{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+Yi.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??by("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(...Yi.asClassNameArray(mI)),this._domNode.classList.add(...Yi.asClassNameArray(_I))):(this._domNode.classList.remove(...Yi.asClassNameArray(_I)),this._domNode.classList.add(...Yi.asClassNameArray(mI)))}}uy((o,e)=>{const t=o.getColor(mE);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${op(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(LO);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${op(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(bl);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(kO);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(IO);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});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},Qo=function(o,e){return function(t,i){e(t,i,o)}},AC;const Tz=524288;function OC(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)<Tz)return o.getModel().getValueInRange(i)}return null}var Vd;let ho=(Vd=class extends $e{get editor(){return this._editor}static get(e){return e.getContribution(AC.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=Rl.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new Dc(500),this._state=this._register(new sz),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(a=>this._onStateChanged(a))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const a=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),a&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!$y.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let e=this._editor.getSelections();e=e.map(t=>(t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t)).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=rp(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=OC(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=rp(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=OC(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 Uf(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)}},AC=Vd,Vd.ID="editor.contrib.findController",Vd);ho=AC=gN([Qo(1,Ki),Qo(2,Fc),Qo(3,Ag),Qo(4,io),Qo(5,am)],ho);let FC=class extends ho{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 RC(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new TC(this._editor,this._state,this._keybindingService))}};FC=gN([Qo(1,hy),Qo(2,Ki),Qo(3,hs),Qo(4,Dr),Qo(5,io),Qo(6,Fc),Qo(7,Ag),Qo(8,am)],FC);const Mz=HE(new WE({id:_n.StartFindAction,label:y("startFindAction","Find"),alias:"Find",precondition:le.or(N.focus,le.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:ut.MenubarEditMenu,group:"3_find",title:y({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));Mz.addImplementation(0,(o,e,t)=>{const i=ho.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 Nz={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 Rz extends Se{constructor(){super({id:_n.StartFindWithArgs,label:y("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:Nz})}async run(e,t,i){const n=ho.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 Az extends Se{constructor(){super({id:_n.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=ho.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 fN extends Se{async run(e,t){const i=ho.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 Oz extends fN{constructor(){super({id:_n.NextMatchFindAction,label:y("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:N.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:le.and(N.focus,$y),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class Fz extends fN{constructor(){super({id:_n.PreviousMatchFindAction,label:y("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:N.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:le.and(N.focus,$y),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class Hz extends Se{constructor(){super({id:_n.GoToMatchFindAction,label:y("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Rl}),this._highlightDecorations=[]}run(e,t,i){const n=ho.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(io).notify({severity:Y0.Warning,message:y("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(Dl),a=new ze,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:fs(BE),position:Oa.Full}}}])})}}class pN extends Se{async run(e,t){const i=ho.get(t);if(!i)return;const n=OC(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 Wz extends pN{constructor(){super({id:_n.NextSelectionMatchFindAction,label:y("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class Bz extends pN{constructor(){super({id:_n.PreviousSelectionMatchFindAction,label:y("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const zz=HE(new WE({id:_n.StartFindReplaceAction,label:y("startReplace","Replace"),alias:"Replace",precondition:le.or(N.focus,le.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:ut.MenubarEditMenu,group:"3_find",title:y({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));zz.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=ho.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})});bi(ho.ID,FC,0);oe(Rz);oe(Az);oe(Oz);oe(Fz);oe(Hz);oe(Wz);oe(Bz);const ha=go.bindToContribution(ho.get);Tt(new ha({id:_n.CloseFindWidgetCommand,precondition:Rl,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:le.and(N.focus,le.not("isComposing")),primary:9,secondary:[1033]}}));Tt(new ha({id:_n.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:N.focus,primary:Ym.primary,mac:Ym.mac,win:Ym.win,linux:Ym.linux}}));Tt(new ha({id:_n.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:N.focus,primary:Qm.primary,mac:Qm.mac,win:Qm.win,linux:Qm.linux}}));Tt(new ha({id:_n.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:N.focus,primary:Jm.primary,mac:Jm.mac,win:Jm.win,linux:Jm.linux}}));Tt(new ha({id:_n.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:N.focus,primary:e_.primary,mac:e_.mac,win:e_.win,linux:e_.linux}}));Tt(new ha({id:_n.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:N.focus,primary:t_.primary,mac:t_.mac,win:t_.win,linux:t_.linux}}));Tt(new ha({id:_n.ReplaceOneAction,precondition:Rl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:N.focus,primary:3094}}));Tt(new ha({id:_n.ReplaceOneAction,precondition:Rl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:le.and(N.focus,U1),primary:3}}));Tt(new ha({id:_n.ReplaceAllAction,precondition:Rl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:N.focus,primary:2563}}));Tt(new ha({id:_n.ReplaceAllAction,precondition:Rl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:le.and(N.focus,U1),primary:void 0,mac:{primary:2051}}}));Tt(new ha({id:_n.SelectAllMatchesAction,precondition:Rl,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:N.focus,primary:515}}));const Vz={0:" ",1:"u",2:"r"},CI=65535,Kr=16777215,xI=4278190080;class Hw{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 Ro{constructor(e,t,i){if(e.length!==t.length||e.length>CI)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Hw(e.length),this._userDefinedStates=new Hw(e.length),this._recoveredStates=new Hw(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>Kr||r>Kr)throw new Error("startLineNumber or endLineNumber must not exceed "+Kr);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]&Kr}getEndLineNumber(e){return this._endIndexes[e]&Kr}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 jz(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&xI)>>>24)+((this._endIndexes[e]&xI)>>>16);return t===CI?-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]=`[${Vz[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Kr,endLineNumber:this._endIndexes[e]&Kr,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 Ro(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)?(E=>E<D?S[E]:void 0):(E=>E<D?S.toFoldRange(E):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,E=f;for(;;){if(!E||E.startLineNumber>g.endLineNumber){S=g;break}if(E.source===1&&E.endLineNumber>g.endLineNumber)break;E=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 jz{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 Uz{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new pi,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new Ro(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(Ro.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=Ro.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(Ro.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=Ro.sanitizeAndMerge(this._regions,t,i);this.updatePost(Ro.fromFoldRanges(n))}_getLinesChecksum(e,t){return zE(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 K1(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 Ug(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 mN(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 $z(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 qz(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 _N(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 G1(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 Z1(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 Kz(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 Gz(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 Zz(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 Xz{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new pi,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||DO(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 B(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 LI(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!Yz(r,n))&&(n=LI(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 Yz(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function LI(o,e){const t=ME(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const Qz=5e3,Jz="indent";class X1{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=Jz}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(iV(this.editorModel,i,n,this.foldingRangesLimit))}}let eV=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Kr||t>Kr)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 Ro(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=W0(f,s);(p<n||p===n&&i++<t)&&(r[h]=g,a[h]=this._endIndexes[c],h++)}return new Ro(r,a)}}};const tV={limit:Qz,update:()=>{}};function iV(o,e,t,i=tV){const n=o.getOptions().tabSize,s=new eV(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=W0(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 nV=wt("editor.foldBackground",{light:Ha(sk,.3),dark:Ha(sk,.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);wt("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."));wt("editorGutter.foldingControlForeground",EO,y("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const Lv=ts("folding-expanded",Qt.chevronDown,y("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),kv=ts("folding-collapsed",Qt.chevronRight,y("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),kI=ts("folding-manual-collapsed",kv,y("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),II=ts("folding-manual-expanded",Lv,y("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),Ww={color:fs(nV),position:1},iu=y("linesCollapsed","Click to expand the range."),s_=y("linesExpanded","Click to collapse the range."),ns=class ns{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?ns.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?ns.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:ns.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:ns.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?ns.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ns.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?ns.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ns.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?ns.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:ns.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?ns.MANUALLY_EXPANDED_VISUAL_DECORATION:ns.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};ns.COLLAPSED_VISUAL_DECORATION=Ti.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:iu,firstLineDecorationClassName:Yi.asClassName(kv)}),ns.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Ti.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Ww,isWholeLine:!0,linesDecorationsTooltip:iu,firstLineDecorationClassName:Yi.asClassName(kv)}),ns.MANUALLY_COLLAPSED_VISUAL_DECORATION=Ti.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:iu,firstLineDecorationClassName:Yi.asClassName(kI)}),ns.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Ti.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Ww,isWholeLine:!0,linesDecorationsTooltip:iu,firstLineDecorationClassName:Yi.asClassName(kI)}),ns.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=Ti.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:iu}),ns.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=Ti.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Ww,isWholeLine:!0,linesDecorationsTooltip:iu}),ns.EXPANDED_VISUAL_DECORATION=Ti.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Yi.asClassName(Lv),linesDecorationsTooltip:s_}),ns.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Ti.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Yi.asClassName(Lv),linesDecorationsTooltip:s_}),ns.MANUALLY_EXPANDED_VISUAL_DECORATION=Ti.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Yi.asClassName(II),linesDecorationsTooltip:s_}),ns.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Ti.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Yi.asClassName(II),linesDecorationsTooltip:s_}),ns.NO_CONTROLS_EXPANDED_RANGE_DECORATION=Ti.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),ns.HIDDEN_RANGE_DECORATION=Ti.register({description:"folding-hidden-range-decoration",stickiness:1});let HC=ns;const sV={},oV="syntax";class Y1{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=oV,this.disposables=new ze,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return rV(this.providers,this.editorModel,e).then(t=>{var i;return t?lV(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function rV(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,sV,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})}},ss));return Promise.all(n).then(s=>i)}class aV{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>Kr||t>Kr)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 Ro(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 Ro(n,s,r)}}}function lV(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 aV(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 cV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},gf=function(o,e){return function(t,i){e(t,i,o)}},Qc;const Ms=new Fi("foldingEnabled",!1);var jd;let Nc=(jd=class extends $e{static get(e){return e.getContribution(Qc.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=Qc._foldingRangeSelector)==null?void 0:n.call(Qc,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 ze),this.editor=e,this._foldingLimitReporter=new vN(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 HC(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=Ms.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 Uz(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new Xz(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Dc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new _s(()=>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 X1(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=Qc.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new Y1(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 xo,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=Ds(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const h=s.setCollapsedAllOfType(hm.Imports.value,!0);h&&(r=ag.capture(this.editor),this._currentModelHasFoldedImports=h)}const a=this.editor.getSelections();e.update(s,dV(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=>(bn(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,bn)}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)}},Qc=jd,jd.ID="editor.contrib.folding",jd);Nc=Qc=cV([gf(1,Ki),gf(2,xs),gf(3,io),gf(4,nr),gf(5,Et)],Nc);class vN{constructor(e){this.editor=e,this._onDidChange=new pi,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 Ws extends Se{runEditorCommand(e,t,i){const n=e.get(xs),s=Nc.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 dV(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 bN(o){if(!bf(o)){if(!VE(o))return!1;const e=o;if(!bf(e.levels)&&!ok(e.levels)||!bf(e.direction)&&!fE(e.direction)||!bf(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(ok)))return!1}return!0}class hV extends Ws{constructor(){super({id:"editor.unfold",label:y("unfoldAction.label","Unfold"),alias:"Unfold",precondition:Ms,kbOpts:{kbExpr:N.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:bN,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"?mN(t,!1,s,r):Ug(t,!1,s,r)}}class uV extends Ws{constructor(){super({id:"editor.unfoldRecursively",label:y("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2142),weight:100}})}invoke(e,t,i,n){Ug(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class gV extends Ws{constructor(){super({id:"editor.fold",label:y("foldAction.label","Fold"),alias:"Fold",precondition:Ms,kbOpts:{kbExpr:N.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:bN,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"?$z(t,!0,s):a==="up"?mN(t,!0,r||1,s):Ug(t,!0,r||1,s)}}class fV extends Ws{constructor(){super({id:"editor.toggleFold",label:y("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);K1(t,1,n)}}class pV extends Ws{constructor(){super({id:"editor.foldRecursively",label:y("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Ug(t,!0,Number.MAX_VALUE,n)}}class mV extends Ws{constructor(){super({id:"editor.toggleFoldRecursively",label:y("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);K1(t,Number.MAX_VALUE,n)}}class _V extends Ws{constructor(){super({id:"editor.foldAllBlockComments",label:y("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())Z1(t,hm.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*"+rp(a.blockCommentStartToken));G1(t,c,!0)}}}}class vV extends Ws{constructor(){super({id:"editor.foldAllMarkerRegions",label:y("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())Z1(t,hm.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);G1(t,c,!0)}}}}class bV extends Ws{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:y("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())Z1(t,hm.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);G1(t,c,!1)}}}}class yV extends Ws{constructor(){super({id:"editor.foldAllExcept",label:y("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);_N(t,!0,n)}}class wV extends Ws{constructor(){super({id:"editor.unfoldAllExcept",label:y("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);_N(t,!1,n)}}class SV extends Ws{constructor(){super({id:"editor.foldAll",label:y("foldAllAction.label","Fold All"),alias:"Fold All",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2069),weight:100}})}invoke(e,t,i){Ug(t,!0)}}class CV extends Ws{constructor(){super({id:"editor.unfoldAll",label:y("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2088),weight:100}})}invoke(e,t,i){Ug(t,!1)}}const Pu=class Pu extends Ws{getFoldingLevel(){return parseInt(this.id.substr(Pu.ID_PREFIX.length))}invoke(e,t,i){qz(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};Pu.ID_PREFIX="editor.foldLevel",Pu.ID=e=>Pu.ID_PREFIX+e;let Iv=Pu;class xV extends Ws{constructor(){super({id:"editor.gotoParentFold",label:y("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=Kz(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class LV extends Ws{constructor(){super({id:"editor.gotoPreviousFold",label:y("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=Gz(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class kV extends Ws{constructor(){super({id:"editor.gotoNextFold",label:y("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=Zz(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class IV extends Ws{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:y("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2135),weight:100}})}invoke(e,t,i){var r;const n=[],s=i.getSelections();if(s){for(const a of s){let c=a.endLineNumber;a.endColumn===1&&--c,c>a.startLineNumber&&(n.push({startLineNumber:a.startLineNumber,endLineNumber:c,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:a.startLineNumber,startColumn:1,endLineNumber:a.startLineNumber,endColumn:1}))}if(n.length>0){n.sort((c,h)=>c.startLineNumber-h.startLineNumber);const a=Ro.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(Ro.fromFoldRanges(a))}}}}class DV extends Ws{constructor(){super({id:"editor.removeManualFoldingRanges",label:y("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2137),weight:100}})}invoke(e,t,i){const n=i.getSelections();if(n){const s=[];for(const r of n){const{startLineNumber:a,endLineNumber:c}=r;s.push(c>=a?{startLineNumber:a,endLineNumber:c}:{endLineNumber:c,startLineNumber:a})}t.removeManualRanges(s),e.triggerFoldingModelChanged()}}}bi(Nc.ID,Nc,0);oe(hV);oe(uV);oe(gV);oe(pV);oe(mV);oe(SV);oe(CV);oe(_V);oe(vV);oe(bV);oe(yV);oe(wV);oe(fV);oe(xV);oe(LV);oe(kV);oe(IV);oe(DV);for(let o=1;o<=7;o++)PO(new Iv({id:Iv.ID(o),label:y("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:Ms,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2048|21+o),weight:100}}));In.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof fn))throw gl();const i=o.get(Et),n=o.get(no).getModel(t);if(!n)throw gl();const s=o.get(Nn);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(xs),a=s.getValue("editor.foldingStrategy",{resource:t}),c={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(v,_)=>{}},h=new X1(n,r,c);let g=h;if(a!=="indentation"){const v=Nc.getFoldingRangeProviders(i,n);v.length&&(g=new Y1(n,v,()=>{},c,h))}const f=await g.compute(mi.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:_?hm.fromValue(_):void 0})}return p}finally{g.dispose()}});class EV 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){up.setZoomLevel(up.getZoomLevel()+1)}}class PV 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){up.setZoomLevel(up.getZoomLevel()-1)}}class TV 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){up.setZoomLevel(0)}}oe(EV);oe(PV);oe(TV);var yN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$f=function(o,e){return function(t,i){e(t,i,o)}},Zu;let Dv=(Zu=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new ze,this._sessionDisposables=new ze,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 X_;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 Es,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}});TO(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||Oo(r)&&(this._accessibilitySignalService.playSignal(UE.format,{userGesture:!1}),MO.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},Zu.ID="editor.contrib.autoFormat",Zu);Dv=yN([$f(1,Et),$f(2,Tl),$f(3,jE)],Dv);var Xu;let Ev=(Xu=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new ze,this._callOnModel=new ze,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($E,this.editor,e,2,ll.None,mi.None,!1).catch(bn))}},Xu.ID="editor.contrib.formatOnPaste",Xu);Ev=yN([$f(1,Et),$f(2,li)],Ev);class MV extends Se{constructor(){super({id:"editor.action.formatDocument",label:y("formatDocument.label","Format Document"),alias:"Format Document",precondition:le.and(N.notInCompositeEditor,N.writable,N.hasDocumentFormattingProvider),kbOpts:{kbExpr:N.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(li);await e.get(tm).showWhile(i.invokeFunction(NO,t,1,ll.None,mi.None,!0),250)}}}class NV extends Se{constructor(){super({id:"editor.action.formatSelection",label:y("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:le.and(N.writable,N.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2084),weight:100},contextMenuOpts:{when:N.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(li),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new B(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(tm).showWhile(i.invokeFunction($E,t,s,1,ll.None,mi.None,!0),250)}}bi(Dv.ID,Dv,2);bi(Ev.ID,Ev,2);oe(MV);oe(NV);In.registerCommand("editor.action.format",async o=>{const e=o.get(os).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(Cs);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var 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},Bw=function(o,e){return function(t,i){e(t,i,o)}};class xu{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 WC extends xu{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class wN extends xu{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class il extends xu{static create(e,t,i){const n=new Es(i),s=new il(t.uri),r=e.ordered(t),a=r.map((h,g)=>{const f=xu.findId(`provider_${g}`,s),p=new wN(f,s,h.displayName??"Unknown Outline Provider",g);return Promise.resolve(h.provideDocumentSymbols(t,n.token)).then(v=>{for(const _ of v||[])il._makeOutlineElement(_,p);return p},v=>(ss(v),p)).then(v=>{xu.empty(v)?v.remove():s._groups.set(f,v)})}),c=e.onDidChange(()=>{const h=e.ordered(t);Ba(h,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?il.create(e,t,i):s._compact()).finally(()=>{n.dispose(),c.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=xu.findId(e,t),n=new WC(i,t,e);if(e.children)for(const s of e.children)il._makeOutlineElement(s,n);t.children.set(n.id,n)}constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let e=0;for(const[t,i]of this._groups)i.children.size===0?this._groups.delete(t):e+=1;if(e!==1)this.children=this._groups;else{const t=ul.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 WC?e.push(t.symbol):e.push(...ul.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>B.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return il._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>Dt.compare(B.getStartPosition(i.range),B.getStartPosition(n.range))||Dt.compare(B.getEndPosition(n.range),B.getEndPosition(i.range)))}static _flattenDocumentSymbols(e,t,i){for(const n of t)e.push({kind:n.kind,tags:n.tags,name:n.name,detail:n.detail,containerName:n.containerName||i,range:n.range,selectionRange:n.selectionRange,children:void 0}),n.children&&il._flattenDocumentSymbols(e,n.children,n.name)}}const Lm=El("IOutlineModelService");let BC=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new ze,this._cache=new nm(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved(n=>{this._cache.delete(n.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){const i=this._languageFeaturesService.documentSymbolProvider,n=i.ordered(e);let s=this._cache.get(e.id);if(!s||s.versionId!==e.getVersionId()||!Ba(s.provider,n)){const a=new Es;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:il.create(i,e,a.token),model:void 0},this._cache.set(e.id,s);const c=Date.now();s.promise.then(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()}}};BC=RV([Bw(0,Et),Bw(1,nr),Bw(2,no)],BC);Pl(Lm,BC,1);In.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;Gi(fn.isUri(t));const i=o.get(Lm),s=await o.get(da).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,mi.None)).getTopLevelSymbols()}finally{s.dispose()}});const wa=class wa extends $e{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=wa.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=wa.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=wa.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=wa.suppressSuggestions.bindTo(this.contextKeyService),this._register(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=fS(g);v===-1&&(v=g.length-1),s=v>0;const _=n.textModel.getOptions().tabSize;r=RO.visibleColumnFromColumn(g,v+1,_)<_}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};wa.inlineSuggestionVisible=new Fi("inlineSuggestionVisible",!1,y("inlineSuggestionVisible","Whether an inline suggestion is visible")),wa.inlineSuggestionHasIndentation=new Fi("inlineSuggestionHasIndentation",!1,y("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),wa.inlineSuggestionHasIndentationLessThanTabSize=new Fi("inlineSuggestionHasIndentationLessThanTabSize",!0,y("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),wa.suppressSuggestions=new Fi("inlineSuggestionSuppressSuggestions",void 0,y("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let Co=wa;function AV(o){const e=new ze,t=e.add(qE());return e.add(Vn(i=>{t.setStyle(o.read(i))})),e}class Ip{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 KE([...this.parts.map(s=>new wl(B.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 Pv{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=yy(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 zC{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new Pv(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=yy(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 DI(o,e){return Ba(o,e,SN)}function SN(o,e){return o===e?!0:!o||!e?!1:o instanceof Ip&&e instanceof Ip||o instanceof zC&&e instanceof zC?o.equals(e):!1}const OV=[];function FV(){return OV}class CN{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new hg(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new B(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function xN(o,e){const t=new ze,i=o.createDecorationsCollection();return t.add(AO({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function HV(o,e){return new Dt(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function EI(o,e){return new Dt(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var WV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},BV=function(o,e){return function(t,i){e(t,i,o)}};const PI="ghost-text";let VC=class extends $e{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Fo(this,!1),this.currentTextModel=vo(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=on(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 zC?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 gp(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 gp(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,PI),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 CN(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=on(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:B.fromPositions(new Dt(s.lineNumber,a.column)),options:{description:PI,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:vu.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new zV(this.editor,this.languageService.languageIdCodec,on(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(Tn(()=>{this.isDisposed.set(!0,void 0)})),this._register(xN(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};VC=WV([BV(2,ca)],VC);class zV extends $e{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=md("editorOptionChanged",ms.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");VV(c,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:c,afterColumnAffinity:1})}})}}function VV(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 ZE(1e4);p.appendString('<div class="suggest-preview-text">');for(let w=0,S=t.length;w<S;w++){const D=t[w],E=D.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(w*f)),p.appendString('px;width:1000000px;">');const R=JE(E),V=OO(E),H=FO.createEmpty(E,n);XE(new YE(g.isMonospace&&!s,g.canUseHalfwidthRightwardsArrow,E,!1,R,V,0,H,D.decorations,e,0,g.spaceWidth,g.middotWidth,g.wsmiddotWidth,r,a,c,h!==HO.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),QE(o,g);const v=p.build(),_=TI?TI.createHTML(v):v;o.innerHTML=_}const TI=GE("editorGhostText",{createHTML:o=>o});function jV(o,e){const t=new VO,i=new BO(t,h=>e.getLanguageConfiguration(h)),n=new WO(new UV([o]),i),s=zO(n,[],void 0,!0);let r="";const a=o.getLineContent();function c(h,g){if(h.kind===2)if(c(h.openingBracket,g),g=lf(g,h.openingBracket.length),h.child&&(c(h.child,g),g=lf(g,h.child.length)),h.closingBracket)c(h.closingBracket,g),g=lf(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(rk(g),rk(lf(g,h.length)));else if(h.kind===4)for(const f of h.children)c(f,g),g=lf(g,f.length)}}return c(s,jO),r}class UV{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 LN(o,e,t,i,n=mi.None,s){const r=e instanceof Dt?KV(e,t):e,a=o.all(t),c=new UO;for(const D of a)D.groupId&&c.add(D.groupId,D);function h(D){if(!D.yieldsToGroupIds)return[];const E=[];for(const R of D.yieldsToGroupIds||[]){const V=c.get(R);for(const H of V)E.push(H)}return E}const g=new Map,f=new Set;function p(D,E){if(E=[...E,D],f.has(D))return E;f.add(D);try{const R=h(D);for(const V of R){const H=p(V,E);if(H)return H}}finally{f.delete(D)}}function v(D){const E=g.get(D);if(E)return E;const R=p(D,[]);R&&ss(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${R.map(H=>H.toString?H.toString():""+H).join(" -> ")}`));const V=new cy;return g.set(D,V.p),(async()=>{var H;if(!R){const J=h(D);for(const Y of J){const ue=await v(Y);if(ue&&ue.items.length>0)return}}try{return e instanceof Dt?await D.provideInlineCompletions(t,e,i,n):await((H=D.provideInlineEdits)==null?void 0:H.call(D,t,e,i,n))}catch(J){ss(J);return}})().then(H=>V.complete(H),H=>V.error(H)),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 E=D.completions;if(!E)continue;const R=new qV(E,D.provider);S.push(R);for(const V of E.items){const H=Tv.from(V,R,r,t,s);w.set(H.hash(),H)}}return new $V(Array.from(w.values()),new Set(w.keys()),S)}class $V{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 qV{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 Tv{static from(e,t,i,n,s){let r,a,c=e.range?B.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=MI(r,c.getStartPosition(),n,s);const h=r.length-e.insertText.length;h!==0&&(c=new B(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=MI(e.insertText.snippet,c.getStartPosition(),n,s);const f=e.insertText.snippet.length-h;f!==0&&(c=new B(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+f))}const g=new bh().parse(e.insertText.snippet);g.children.length===1&&g.children[0]instanceof bo?(r=g.children[0].value,a=void 0):(r=g.toString(),a={snippet:e.insertText.snippet,range:c})}else $O(e.insertText);return new Tv(r,e.command,c,r,a,e.additionalTextEdits||FV(),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 Tv(this.filterText,this.command,e,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}toSingleTextEdit(){return new wl(this.range,this.insertText)}}function KV(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new B(o.lineNumber,t.startColumn,o.lineNumber,i):B.fromPositions(o,o.with(void 0,i))}function MI(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?jV(a,i):o}function Cd(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=dm(n,o.text),r=Y_.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),c=B.fromPositions(r,o.range.getEndPosition());return new wl(c,a)}function kN(o,e){return o.text.startsWith(e.text)&&GV(o.range,e.range)}function NI(o,e,t,i,n=0){let s=Cd(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=Fs(r).length;if(s.range.startColumn-1<=a){const _=Fs(s.text).length,w=r.substring(s.range.startColumn-1,a),[S,D]=[s.range.getStartPosition(),s.range.getEndPosition()],E=S.column+w.length<=D.column?S.delta(0,w.length):D,R=B.fromPositions(E,D),V=s.text.startsWith(w)?s.text.substring(w.length):s.text.substring(_);s=new wl(R,V)}const h=e.getValueInRange(s.range),g=ZV(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)),E=s.text.substring(_.modifiedStart,D),R=s.text.substring(D,Math.max(_.modifiedStart,S));E.length>0&&p.push(new Pv(w,E,!1)),R.length>0&&p.push(new Pv(w,R,!0))}return new Ip(f,p)}function GV(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let _a;function ZV(o,e){if((_a==null?void 0:_a.originalValue)===o&&(_a==null?void 0:_a.newValue)===e)return _a==null?void 0:_a.changes;{let t=AI(o,e,!0);if(t){const i=RI(t);if(i>0){const n=AI(o,e,!1);n&&RI(n)<i&&(t=n)}}return _a={originalValue:o,newValue:e,changes:t},t}}function RI(o){let e=0;for(const t of o)e+=t.originalLength;return e}function AI(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 qO({getElements:()=>a},{getElements:()=>c}).ComputeDiff(!1).changes}var XV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},OI=function(o,e){return function(t,i){e(t,i,o)}};let jC=class extends $e{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 Wo),this.inlineCompletions=_S("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=_S("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var g,f;const n=new QV(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 Es,c=(async()=>{if((r||t.triggerKind===fl.Automatic)&&await YV(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 LN(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 ej(_,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(),Mh(D=>{s.set(S,D)}),!0})(),h=new JV(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()}};jC=XV([OI(3,Et),OI(4,xs)],jC);function YV(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 QV{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&KO(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,ZO())&&(e.context.triggerKind===fl.Automatic||this.context.triggerKind===fl.Explicit)&&this.versionId===e.versionId}}class JV{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class ej{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 FI(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 FI(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class FI{get forwardStable(){return this.inlineCompletion.source.inlineCompletions.enableForwardStability??!1}constructor(e,t,i,n){this.inlineCompletion=e,this.decorationId=t,this._textModel=i,this._modelVersion=n,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._updatedRange=al({owner:this,equalsFn:B.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??zw)}toSingleTextEdit(e){return new wl(this._updatedRange.read(e)??zw,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=Cd(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)&&!!GO(p,g)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&Y_.ofRange(i).isGreaterThanOrEqualTo(Y_.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new wl(this._updatedRange.read(e)??zw,this.inlineCompletion.filterText)}}const zw=new B(1,1,1,1),Xt={Visible:$1,HasFocusedSuggestion:new Fi("suggestWidgetHasFocusedSuggestion",!1,y("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new Fi("suggestWidgetDetailsVisible",!1,y("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new Fi("suggestWidgetMultipleSuggestions",!1,y("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new Fi("suggestionMakesTextEdit",!0,y("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new Fi("acceptSuggestionOnEnter",!0,y("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new Fi("suggestionHasInsertAndReplaceRange",!1,y("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new Fi("suggestionInsertMode",void 0,{type:"string",description:y("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new Fi("suggestionCanResolve",!1,y("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},dc=new ut("suggestWidgetStatusBar");class tj{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=dp.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,B.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||B.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||B.spansMultipleLines(t.range.insert)||B.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 xo(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{Oc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const Eb=class Eb{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}};Eb.default=new Eb;let Dp=Eb;class ij{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function Q1(o,e,t,i=Dp.default,n={triggerKind:0},s=mi.None){const r=new xo;t=t.clone();const a=e.getWordAtPosition(t),c=a?new B(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):B.fromPositions(t),h={replace:c,insert:c.setEndPosition(t.lineNumber,t.column)},g=[],f=new ze,p=[];let v=!1;const _=(S,D,E)=>{var V;let R=!1;if(!D)return R;for(const H of D.suggestions)if(!i.kindFilter.has(H.kind)){if(!i.showDeprecated&&((V=H==null?void 0:H.tags)!=null&&V.includes(1)))continue;H.range||(H.range=h),H.sortText||(H.sortText=typeof H.label=="string"?H.label:H.label.label),!v&&H.insertTextRules&&H.insertTextRules&4&&(v=bh.guessNeedsClipboard(H.insertText)),g.push(new tj(t,H,D,S)),R=!0}return eP(D)&&f.add(D),p.push({providerName:S._debugDisplayName??"unknown_provider",elapsedProvider:D.duration??-1,elapsedOverall:E.elapsed()}),R},w=(async()=>{})();for(const S of o.orderedGroups(e)){let D=!1;if(await Promise.all(S.map(async E=>{if(i.providerItemsToReuse.has(E)){const R=i.providerItemsToReuse.get(E);R.forEach(V=>g.push(V)),D=D||R.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(E)))try{const R=new xo,V=await E.provideCompletionItems(e,t,n,s);D=_(E,V,R)||D}catch(R){ss(R)}})),D||s.isCancellationRequested)break}return await w,s.isCancellationRequested?(f.dispose(),Promise.reject(new dy)):new ij(g.sort(oj(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 nj(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 sj(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 qy=new Map;qy.set(0,nj);qy.set(2,sj);qy.set(1,J1);function oj(o){return qy.get(o)}In.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;Gi(fn.isUri(t)),Gi(Dt.isIPosition(i)),Gi(typeof n=="string"||!n),Gi(typeof s=="number"||!s);const{completionProvider:r}=o.get(Et),a=await o.get(da).createModelReference(t);try{const c={incomplete:!1,suggestions:[]},h=[],g=a.object.textEditorModel.validatePosition(i),f=await Q1(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(mi.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 rj(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class Lu{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 HI(o,e=ly){return XO(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var aj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},lj=function(o,e){return function(t,i){e(t,i,o)}};class WI{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 BI{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=Fs(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(h=>h===e?!1:(h instanceof bo&&(a=Fs(yy(h.value).pop())),!0));const c=dm(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 zI{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return Ff(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=Ff(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return YO(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(Z0(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 VI{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=>!QO(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let Mv=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}}};Mv=aj([lj(2,xs)],Mv);const Sa=class Sa{constructor(){this._date=new Date}resolve(e){const{name:t}=e;if(t==="CURRENT_YEAR")return String(this._date.getFullYear());if(t==="CURRENT_YEAR_SHORT")return String(this._date.getFullYear()).slice(-2);if(t==="CURRENT_MONTH")return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if(t==="CURRENT_DATE")return String(this._date.getDate().valueOf()).padStart(2,"0");if(t==="CURRENT_HOUR")return String(this._date.getHours().valueOf()).padStart(2,"0");if(t==="CURRENT_MINUTE")return String(this._date.getMinutes().valueOf()).padStart(2,"0");if(t==="CURRENT_SECOND")return String(this._date.getSeconds().valueOf()).padStart(2,"0");if(t==="CURRENT_DAY_NAME")return Sa.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return Sa.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return Sa.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return Sa.monthNamesShort[this._date.getMonth()];if(t==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3));if(t==="CURRENT_TIMEZONE_OFFSET"){const i=this._date.getTimezoneOffset(),n=i>0?"-":"+",s=Math.trunc(Math.abs(i/60)),r=s<10?"0"+s:s,a=Math.abs(i)-s*60,c=a<10?"0"+a:a;return n+r+":"+c}}};Sa.dayNames=[y("Sunday","Sunday"),y("Monday","Monday"),y("Tuesday","Tuesday"),y("Wednesday","Wednesday"),y("Thursday","Thursday"),y("Friday","Friday"),y("Saturday","Saturday")],Sa.dayNamesShort=[y("SundayShort","Sun"),y("MondayShort","Mon"),y("TuesdayShort","Tue"),y("WednesdayShort","Wed"),y("ThursdayShort","Thu"),y("FridayShort","Fri"),y("SaturdayShort","Sat")],Sa.monthNames=[y("January","January"),y("February","February"),y("March","March"),y("April","April"),y("May","May"),y("June","June"),y("July","July"),y("August","August"),y("September","September"),y("October","October"),y("November","November"),y("December","December")],Sa.monthNamesShort=[y("JanuaryShort","Jan"),y("FebruaryShort","Feb"),y("MarchShort","Mar"),y("AprilShort","Apr"),y("MayShort","May"),y("JuneShort","Jun"),y("JulyShort","Jul"),y("AugustShort","Aug"),y("SeptemberShort","Sep"),y("OctoberShort","Oct"),y("NovemberShort","Nov"),y("DecemberShort","Dec")];let Nv=Sa;class jI{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=JO(this._workspaceService.getWorkspace());if(!e2(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(ak(e))return Ff(e.uri.path);let t=Ff(e.configPath.path);return t.endsWith(lk)&&(t=t.substr(0,t.length-lk.length-1)),t}_resoveWorkspacePath(e){if(ak(e))return HI(e.uri.fsPath);const t=Ff(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?HI(i):"/"}}class UI{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 Oy()}}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},dj=function(o,e){return function(t,i){e(t,i,o)}},Br;const dr=class dr{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=ck(t.placeholders,tr.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=B.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?dr._decor.inactiveFinal:dr._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(Gn.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?dr._decor.activeFinal:dr._decor.active),s.add(a);for(const g of this._snippet.enclosingPlaceholders(a)){const f=this._placeholderDecorations.get(g);n.changeDecorationOptions(f,g.isFinalTabstop?dr._decor.activeFinal:dr._decor.active),s.add(g)}}for(const[a,c]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(c,a.isFinalTabstop?dr._decor.inactiveFinal:dr._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof tr){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 jg,!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=B.fromPositions(t.getPositionAt(s._offset+h),t.getPositionAt(s._offset+h+g)),p=i.addDecoration(f,dr._decor.inactive);this._placeholderDecorations.set(c,p)}}this._placeholderGroups=ck(this._snippet.placeholders,tr.compareByIndex)})}};dr._decor={active:Ti.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:Ti.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:Ti.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:Ti.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let Rv=dr;const $I={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let Av=Br=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=Fs(r,0,t.column-1);let c;return n.walk(h=>{if(!(h instanceof bo)||h.parent instanceof jg||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 bo(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(ng)),_=e.invokeWithinContext(V=>new zI(V.get(cp),p)),w=()=>a,S=p.getValueInRange(Br.adjustSelection(p,e.getSelection(),i,0)),D=p.getValueInRange(Br.adjustSelection(p,e.getSelection(),0,n)),E=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),R=e.getSelections().map((V,H)=>({selection:V,idx:H})).sort((V,H)=>B.compareRangesUsingStarts(V.selection,H.selection));for(const{selection:V,idx:H}of R){let J=Br.adjustSelection(p,V,i,0),Y=Br.adjustSelection(p,V,0,n);S!==p.getValueInRange(J)&&(J=V),D!==p.getValueInRange(Y)&&(Y=V);const ue=V.setStartPosition(J.startLineNumber,J.startColumn).setEndPosition(Y.endLineNumber,Y.endColumn),Te=new bh().parse(t,!0,s),Oe=ue.getStartPosition(),Ce=Br.adjustWhitespace(p,Oe,r||H>0&&E!==p.getLineFirstNonWhitespaceColumn(V.positionLineNumber),Te);Te.resolveVariables(new WI([_,new VI(w,H,R.length,e.getOption(79)==="spread"),new BI(p,V,H,c),new Mv(p,V,h),new Nv,new jI(v),new UI])),g[H]=Gn.replace(ue,Te.toString()),g[H].identifier={major:H,minor:0},g[H]._isTracked=!0,f[H]=new Rv(e,Te,Ce)}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 bh,f=new vm,p=new WI([e.invokeWithinContext(_=>new zI(_.get(cp),h)),new VI(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new BI(h,e.getSelection(),0,r),new Mv(h,e.getSelection(),a),new Nv,new jI(e.invokeWithinContext(_=>_.get(ng))),new UI]);t=t.sort((_,w)=>B.compareRangesUsingStarts(_.range,w.range));let v=0;for(let _=0;_<t.length;_++){const{range:w,template:S}=t[_];if(_>0){const H=t[_-1].range,J=B.fromPositions(H.getEndPosition(),w.getStartPosition()),Y=new bo(h.getValueInRange(J));f.appendChild(Y),v+=Y.value.length}const D=g.parseFragment(S,f);Br.adjustWhitespace(h,w.getStartPosition(),!0,f,new Set(D)),f.resolveVariables(p);const E=f.toString(),R=E.slice(v);v=E.length;const V=Gn.replace(w,R);V.identifier={major:_,minor:0},V._isTracked=!0,c.push(V)}return g.ensureFinalTabstop(f,i,!0),{edits:c,snippets:[new Rv(e,f,"")]}}constructor(e,t,i=$I,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){Xs(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"?Br.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):Br.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=$I){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=Br.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(B.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(B.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(B.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};Av=Br=cj([dj(3,xs)],Av);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},o_=function(o,e){return function(t,i){e(t,i,o)}},fu;const qI={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var Pa;let to=(Pa=class{static get(e){return e.getContribution(fu.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new ze,this._modelVersionId=-1,this._inSnippet=fu.InSnippetMode.bindTo(n),this._hasNextTabstop=fu.HasNextTabstop.bindTo(n),this._hasPrevTabstop=fu.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"?qI:{...qI,...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?(Gi(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new Av(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),(i=this._session)!=null&&i.hasChoice){const n={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(g,f)=>{if(!this._session||g!==this._editor.getModel()||!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(()=>{rj(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()}},fu=Pa,Pa.ID="snippetController2",Pa.InSnippetMode=new Fi("inSnippetMode",!1,y("inSnippetMode","Whether the editor in current in snippet mode")),Pa.HasNextTabstop=new Fi("hasNextTabstop",!1,y("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Pa.HasPrevTabstop=new Fi("hasPrevTabstop",!1,y("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Pa);to=fu=hj([o_(1,Nh),o_(2,Et),o_(3,Ki),o_(4,xs)],to);bi(to.ID,to,4);const Ky=go.bindToContribution(to.get);Tt(new Ky({id:"jumpToNextSnippetPlaceholder",precondition:le.and(to.InSnippetMode,to.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:N.textInputFocus,primary:2}}));Tt(new Ky({id:"jumpToPrevSnippetPlaceholder",precondition:le.and(to.InSnippetMode,to.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:N.textInputFocus,primary:1026}}));Tt(new Ky({id:"leaveSnippet",precondition:to.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:N.textInputFocus,primary:9,secondary:[1033]}}));Tt(new Ky({id:"acceptSnippet",precondition:to.InSnippetMode,handler:o=>o.finish()}));var uj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Vw=function(o,e){return function(t,i){e(t,i,o)}};let UC=class extends $e{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(jC,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=Fo(this,!1),this._forceUpdateExplicitlySignal=e1(this),this._selectedInlineCompletionId=Fo(this,void 0),this._primaryPosition=on(this,_=>this._positions.read(_)[0]??new Dt(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([tl.Redo,tl.Undo,tl.AcceptWord]),this._fetchInlineCompletionsPromise=tP({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:fl.Automatic}),handleChange:(_,w)=>(_.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(_.change))?w.preserveCurrentCompletion=!0:_.didChange(this._forceUpdateExplicitlySignal)&&(w.inlineCompletionTriggerKind=fl.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(),E=this.selectedSuggestItem.read(_);if(D&&!E){const Y=this._source.inlineCompletions.get();Mh(ue=>{(!Y||D.request.versionId>Y.request.versionId)&&this._source.inlineCompletions.set(D.clone(),ue),this._source.clearSuggestWidgetInlineCompletions(ue)})}const R=this._primaryPosition.read(_),V={triggerKind:w.inlineCompletionTriggerKind,selectedSuggestionInfo:E==null?void 0:E.toSelectedSuggestionInfo()},H=this.selectedInlineCompletion.get(),J=w.preserveCurrentCompletion||H!=null&&H.forwardStable?H:void 0;return this._source.fetch(R,V,J)}),this._filteredInlineCompletionItems=al({owner:this,equalsFn:vS()},_=>{const w=this._source.inlineCompletions.read(_);if(!w)return[];const S=this._primaryPosition.read(_);return w.inlineCompletions.filter(E=>E.isVisible(this.textModel,S,_))}),this.selectedInlineCompletionIndex=on(this,_=>{const w=this._selectedInlineCompletionId.read(_),S=this._filteredInlineCompletionItems.read(_),D=this._selectedInlineCompletionId===void 0?-1:S.findIndex(E=>E.semanticId===w);return D===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):D}),this.selectedInlineCompletion=on(this,_=>{const w=this._filteredInlineCompletionItems.read(_),S=this.selectedInlineCompletionIndex.read(_);return w[S]}),this.activeCommands=al({owner:this,equalsFn:vS()},_=>{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=on(this,_=>{if(this.lastTriggerKind.read(_)===fl.Explicit)return this._filteredInlineCompletionItems.read(_).length}),this.state=al({owner:this,equalsFn:(_,w)=>!_||!w?_===w:DI(_.ghostTexts,w.ghostTexts)&&_.inlineCompletion===w.inlineCompletion&&_.suggestItem===w.suggestItem},_=>{const w=this.textModel,S=this.selectedSuggestItem.read(_);if(S){const D=Cd(S.toSingleTextEdit(),w),E=this._computeAugmentation(D,_);if(!this._suggestPreviewEnabled.read(_)&&!E)return;const V=(E==null?void 0:E.edit)??D,H=E?E.edit.text.length-D.text.length:0,J=this._suggestPreviewMode.read(_),Y=this._positions.read(_),ue=[V,...jw(this.textModel,Y,V)],Te=ue.map((Ce,ft)=>NI(Ce,w,J,Y[ft],H)).filter(w_),Oe=Te[0]??new Ip(V.range.endLineNumber,[]);return{edits:ue,primaryGhostText:Oe,ghostTexts:Te,inlineCompletion:E==null?void 0:E.completion,suggestItem:S}}else{if(!this._isActive.read(_))return;const D=this.selectedInlineCompletion.read(_);if(!D)return;const E=D.toSingleTextEdit(_),R=this._inlineSuggestMode.read(_),V=this._positions.read(_),H=[E,...jw(this.textModel,V,E)],J=H.map((Y,ue)=>NI(Y,w,R,V[ue],0)).filter(w_);return J[0]?{edits:H,primaryGhostText:J[0],ghostTexts:J,inlineCompletion:D,suggestItem:void 0}:void 0}}),this.ghostTexts=al({owner:this,equalsFn:DI},_=>{const w=this.state.read(_);if(w)return w.ghostTexts}),this.primaryGhostText=al({owner:this,equalsFn:SN},_=>{const w=this.state.read(_);if(w)return w==null?void 0:w.primaryGhostText}),this._register(iP(this._fetchInlineCompletionsPromise));let v;this._register(Vn(_=>{var D,E;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 R=S.inlineCompletion,V=R.source;(E=(D=V.provider).handleItemDidShow)==null||E.call(D,V.inlineCompletions,R.sourceInlineCompletion,R.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?tl.Undo:e!=null&&e.isRedoing?tl.Redo:this.isAcceptingPartially?tl.AcceptWord:tl.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){Q_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){Q_(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(w_);return t2(s,a=>{let c=a.toSingleTextEdit(t);return c=Cd(c,i,B.fromPositions(c.range.getStartPosition(),e.range.getEndPosition())),kN(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 hg;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",[Gn.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=to.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=KI(s).map(a=>Kt.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>Gn.replace(a.range,a.text)),...i.additionalTextEdits]),e.setSelections(r,"inlineCompletionAccept")}this.stop(),i.command&&(await this._commandService.executeCommand(i.command.id,...i.command.arguments||[]).then(void 0,ss),i.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,(t,i)=>{const n=this.textModel.getLanguageIdAtPosition(t.lineNumber,t.column),s=this._languageConfigurationService.getLanguageConfiguration(n),r=new RegExp(s.wordDefinition.source,s.wordDefinition.flags.replace("g","")),a=i.match(r);let c=0;a&&a.index!==void 0?a.index===0?c=a[0].length:c=a.index:c=i.length;const 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 hg;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 _=B.fromPositions(v,c),w=e.getModel().getValueInRange(_)+f,S=new wl(_,w),D=[S,...jw(this.textModel,p,S)],E=KI(D).map(R=>Kt.fromPositions(R));e.executeEdits("inlineSuggestion.accept",D.map(R=>Gn.replace(R.range,R.text))),e.setSelections(E,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const _=B.fromPositions(r.range.getStartPosition(),Y_.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=Cd(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})}};UC=uj([Vw(9,li),Vw(10,Cs),Vw(11,xs)],UC);var tl;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(tl||(tl={}));function jw(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(B.fromPositions(i,r)),c=EI(i,s);if(c.lineNumber<1)return bn(new hg(`positionWithinTextEdit line number should be bigger than 0.
36
+ Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const h=gj(t.text,c);return n.map(g=>{const f=HV(EI(g,s),r),p=o.getValueInRange(B.fromPositions(g,f)),v=dm(a,p),_=B.fromPositions(g,g.delta(0,v));return new wl(_,h)})}function gj(o,e){let t="";const i=n2(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 KI(o){const e=i2.createSortPermutation(o,lm(s=>s.range,B.compareRangesUsingStarts)),i=new KE(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}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},GI=function(o,e){return function(t,i){e(t,i,o)}},Lf;class eL{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 ZI extends eL{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class pj extends eL{constructor(){super("recentlyUsed"),this._cache=new nm(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:t1.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class mj extends eL{constructor(){super("recentlyUsedByPrefix"),this._trie=s2.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:t1.fromString(i.type),this._trie.set(t,i)}}}var bc;let $C=(bc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new ze,this._persistSoon=new _s(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===$0.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=Lf._strategyCtors.get(i)||ZI;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,c=this._storageService.get(`${Lf._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(`${Lf._storagePrefix}/${this._strategy.name}`,i,t,1)}}},Lf=bc,bc._strategyCtors=new Map([["recentlyUsedByPrefix",mj],["recentlyUsed",pj],["first",ZI]]),bc._storagePrefix="suggest/memories",bc);$C=Lf=fj([GI(0,Fc),GI(1,Nn)],$C);const Gy=El("ISuggestMemories");Pl(Gy,$C,1);var _j=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},vj=function(o,e){return function(t,i){e(t,i,o)}},qC,Ud;let Ov=(Ud=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=qC.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(i=>i.hasChanged(124)&&this._update()),this._update()}dispose(){var e;this._configListener.dispose(),(e=this._selectionListener)==null||e.dispose(),this._ckAtEnd.reset()}_update(){const e=this._editor.getOption(124)==="on";if(this._enabled!==e)if(this._enabled=e,this._enabled){const t=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const i=this._editor.getModel(),n=this._editor.getSelection(),s=i.getWordAtPosition(n.getStartPosition());if(!s){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(s.endColumn===n.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}},qC=Ud,Ud.AtEnd=new Fi("atEndOfWord",!1),Ud);Ov=qC=_j([vj(1,Ki)],Ov);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},yj=function(o,e){return function(t,i){e(t,i,o)}},kf,$d;let Dg=($d=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=kf.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(kf._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=kf._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},kf=$d,$d.OtherSuggestions=new Fi("hasOtherSuggestions",!1),$d);Dg=kf=bj([yj(1,Ki)],Dg);class wj{constructor(e,t,i,n){this._disposables=new ze,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||!Oo(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new X_;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 Zo=class Zo{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>Zo._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>Zo._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>=Zo._maxRounds){e();break}if(!n){e();break}const c=i.bracketPairs.findNextBracket(n);if(!c){e();break}if(Date.now()-a>Zo._maxDuration){setTimeout(()=>Zo._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 nP,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>=Zo._maxRounds&&s.size===0){e();break}if(!n){e();break}const h=i.bracketPairs.findPrevBracket(n);if(!h){e();break}if(Date.now()-c>Zo._maxDuration){setTimeout(()=>Zo._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=B.fromPositions(h.range.getEndPosition(),_.getStartPosition()),S=B.fromPositions(h.range.getStartPosition(),_.getEndPosition());r.push({range:w}),r.push({range:S}),Zo._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:B.fromPositions(new Dt(n,s),t.getEndPosition())}),i.push({range:B.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:B.fromPositions(new Dt(r,a),t.getEndPosition())}),i.push({range:B.fromPositions(new Dt(r,1),t.getEndPosition())}))}}};Zo._maxDuration=30,Zo._maxRounds=2;let Fv=Zo;const Ca=class Ca{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return Ca.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return Ca.None;const[s]=await new Fv().provideSelectionRanges(i,[n]);if(s.length===0)return Ca.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return Ca.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends Ca{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(o2(f))return 2<<20;const p=J_(f,B.fromPositions(c),B.compareRangesUsingStarts),v=p>=0?f[p]:f[Math.max(0,~p-1)];let _=s.length;for(const w of s){if(!B.containsRange(w.range,v))break;_-=1}return _}}}};Ca.None=new class extends Ca{distance(){return 0}};let Hv=Ca,XI=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Zl{constructor(e,t,i,n,s,r,a=sP.default,c=void 0){this.clipboardText=c,this._snippetCompareFn=Zl._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=Zl._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=Zl._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?oP:r2;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=dp.Default;else{let _=0;for(;_<p;){const w=n.charCodeAt(_);if(w===32||w===9)_+=1;else break}if(_>=v)g.score=dp.Default;else if(typeof g.completion.filterText=="string"){const w=c(n,s,_,g.completion.filterText,g.filterTextLow,0,this._fuzzyScoreOptions);if(!w)continue;a2(g.completion.filterText,g.textLabel)===0?g.score=w:(g.score=l2(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?c2(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 Zl._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 Zl._compareCompletionItems(e,t)}}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},zl=function(o,e){return function(t,i){e(t,i,o)}},KC;class Gc{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 Cj(o,e,t){if(!e.getContextKeyValue(Co.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(Co.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function xj(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(Co.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let Wv=KC=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 ze,this._triggerCharacterListener=new ze,this._triggerQuickSuggest=new em,this._triggerState=void 0,this._completionDisposables=new ze,this._onDidCancel=new pi,this._onDidTrigger=new pi,this._onDidSuggest=new pi,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(){Xs(this._triggerCharacterListener),Xs([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(!xj(this._editor,this._contextKeyService,this._configurationService)||Gc.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="";h2(i.charCodeAt(i.length-1))?u2(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;Lu.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=to.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!Gc.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(!Lu.isAllOff(n)){if(!Lu.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(Lu.valueFor(n,r)!=="on")return}Cj(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){Gi(this._editor.hasModel()),Gi(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new Gc(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 Gc(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 Es;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}=KC.createSuggestFilter(this._editor),h=new Dp(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=Hv.create(this._editorWorkerService,this._editor),f=Q1(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),h,n,this._requestToken.token);Promise.all([f,g]).then(async([w,S])=>{var H;if((H=this._requestToken)==null||H.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 E=this._editor.getModel(),R=new Gc(E,this._editor.getPosition(),e),V={...sP.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new Zl(w.items,this._context.column,{leadingLineContent:R.leadingLineContent,characterCountDelta:R.column-this._context.column},S,this._editor.getOption(119),this._editor.getOption(113),V,D),this._completionDisposables.add(w.disposable),this._onNewContext(R),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(bn)}_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(Fs(e.leadingLineContent)!==Fs(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(Gc.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=Gc.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})}}}}};Wv=KC=Sj([zl(1,Tl),zl(2,Ag),zl(3,la),zl(4,Nh),zl(5,Ki),zl(6,Nn),zl(7,Et),zl(8,d2)],Wv);const Pb=class Pb{constructor(e,t){this._disposables=new ze,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)>Pb._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()}};Pb._maxSelectionLength=51200;let GC=Pb;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},Uw=function(o,e){return function(t,i){e(t,i,o)}};let ZC=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new ze,this.element=pt(e,yt(".suggest-status-bar"));const r=(a=>a instanceof dg?i.createInstance(g2,a,{useComma:!0}):void 0);this._leftActions=new sp(this.element,{actionViewItemProvider:r}),this._rightActions=new sp(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()}};ZC=Lj([Uw(2,li),Uw(3,Th),Uw(4,Ki)],ZC);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},Ij=function(o,e){return function(t,i){e(t,i,o)}};function tL(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let XC=class{constructor(e,t){this._editor=e,this._onDidClose=new pi,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new pi,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new ze,this._renderDisposeable=new ze,this._borderWidth=1,this._size=new xn(330,0),this.domNode=yt(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(Hg,{editor:e}),this._body=yt(".body"),this._scrollbar=new rP(this._body,{alwaysConsumeMouseWheel:!0}),pt(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=pt(this._body,yt(".header")),this._close=pt(this._header,yt("span"+Yi.asCSSSelector(Qt.close))),this._close.title=y("details.close","Close"),this._type=pt(this._header,yt("p.type")),this._docs=pt(this._body,yt("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 Gs().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!tL(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,br(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else Fa(this._type),this._type.title="",Mo(this._type),this.domNode.classList.add("no-type");if(Fa(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),Fa(this._docs);const r=this._markdownRenderer.render(n);this._docs.appendChild(r.element),this._renderDisposeable.add(r),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=r=>{r.preventDefault(),r.stopPropagation()},this._close.onclick=r=>{r.preventDefault(),r.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get isEmpty(){return this.domNode.classList.contains("no-docs")}get size(){return this._size}layout(e,t){const i=new xn(e,t);xn.equals(i,this._size)||(this._size=i,f2(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};XC=kj([Ij(1,li)],XC);class Dj{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new ze,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new R1,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=rm(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new xn(220,2*s.lineHeight),a=e.top,c=(function(){const H=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),J=-s.borderWidth+e.left+e.width,Y=new xn(H,n.height-e.top-s.borderHeight-s.verticalPadding),ue=Y.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:J,fit:H-t.width,maxSizeTop:Y,maxSizeBottom:ue,minSize:r.with(Math.min(H,r.width))}})(),h=(function(){const H=e.left-s.borderWidth-s.horizontalPadding,J=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),Y=new xn(H,n.height-e.top-s.borderHeight-s.verticalPadding),ue=Y.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:J,fit:H-t.width,maxSizeTop:Y,maxSizeBottom:ue,minSize:r.with(Math.min(H,r.width))}})(),g=(function(){const H=e.left,J=-s.borderWidth+e.top+e.height,Y=new xn(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:J,left:H,fit:Y.height-t.height,maxSizeBottom:Y,maxSizeTop:Y,minSize:r.with(Y.width)}})(),f=[c,h,g],p=f.find(H=>H.fit>=0)??f.sort((H,J)=>J.fit-H.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:E,left:R}=p;!_&&w>e.height&&(E=v-w);const V=this._editor.getDomNode();if(V){const H=V.getBoundingClientRect();E-=H.top,R-=H.left}this._applyTopLeft({left:R,top:E}),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 Ra;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(Ra||(Ra={}));const Ej=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function r_(o,e,t,i,n){if(Yi.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(fn.isUri(n))return[];const s=i===Ra.ROOT_FOLDER?["rootfolder-icon"]:i===Ra.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===ro.data)r=ev.parseMetaData(t).get(ev.META_DATA_LABEL);else{const a=t.path.match(Ej);a?(r=a_(a[2].toLowerCase()),a[1]&&s.push(`${a_(a[1].toLowerCase())}-name-dir-icon`)):r=a_(t.authority.toLowerCase())}if(i===Ra.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===Ra.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=Pj(o,e,t);a&&s.push(`${a_(a)}-lang-file-icon`)}}return s}function Pj(o,e,t){if(!t)return null;let i=null;if(t.scheme===ro.data){const s=ev.parseMetaData(t).get(ev.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==hp?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function a_(o){return o.replace(/[\s]/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},$w=function(o,e){return function(t,i){e(t,i,o)}};function IN(o){return`suggest-aria-id:${o}`}const Mj=ts("suggest-more-info",Qt.chevronRight,y("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var Yr;const Nj=new(Yr=class{extract(e,t){if(e.textLabel.match(Yr._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(Yr._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=Yr._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},Yr._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*\))/,Yr._regexStrict=new RegExp(`^${Yr._regexRelaxed.source}$`,"i"),Yr);let YC=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new pi,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new ze,i=e;i.classList.add("show-file-icons");const n=pt(e,yt(".icon")),s=pt(n,yt("span.colorspan")),r=pt(e,yt(".contents")),a=pt(r,yt(".main")),c=pt(a,yt(".icon-label.codicon")),h=pt(a,yt("span.left")),g=pt(a,yt("span.right")),f=new LE(h,{supportHighlights:!0,supportIcons:!0});t.add(f);const p=pt(h,yt("span.signature-label")),v=pt(h,yt("span.qualifier-label")),_=pt(g,yt("span.details-label")),w=pt(g,yt("span.readMore"+Yi.asCSSSelector(Mj)));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(),E=D.get(50),R=E.getMassagedFontFamily(),V=E.fontFeatureSettings,H=D.get(120)||E.fontSize,J=D.get(121)||E.lineHeight,Y=E.fontWeight,ue=E.letterSpacing,Te=`${H}px`,Oe=`${J}px`,Ce=`${ue}px`;i.style.fontSize=Te,i.style.fontWeight=Y,i.style.letterSpacing=Ce,a.style.fontFamily=R,a.style.fontFeatureSettings=V,a.style.lineHeight=Oe,n.style.height=Oe,n.style.width=Oe,w.style.height=Oe,w.style.width=Oe}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=IN(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:_y(e.score)},r=[];if(n.kind===19&&Nj.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=r_(this._modelService,this._languageService,fn.from({scheme:"fake",path:e.textLabel}),Ra.FILE),c=r_(this._modelService,this._languageService,fn.from({scheme:"fake",path:n.detail}),Ra.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=[r_(this._modelService,this._languageService,fn.from({scheme:"fake",path:e.textLabel}),Ra.FOLDER),r_(this._modelService,this._languageService,fn.from({scheme:"fake",path:n.detail}),Ra.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...Yi.asClassNameArray(t1.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=qw(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=qw(n.label.detail||""),i.detailsLabel.textContent=qw(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?br(i.detailsLabel):Mo(i.detailsLabel),tL(e)?(i.right.classList.add("can-expand-details"),br(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"),Mo(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};YC=Tj([$w(1,no),$w(2,ca),$w(3,Dr)],YC);function qw(o){return o.replace(/\r\n|\r|\n/g,"")}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},l_=function(o,e){return function(t,i){e(t,i,o)}},pu;wt("editorSuggestWidget.background",aP,y("editorSuggestWidgetBackground","Background color of the suggest widget."));wt("editorSuggestWidget.border",p2,y("editorSuggestWidgetBorder","Border color of the suggest widget."));const Aj=wt("editorSuggestWidget.foreground",cm,y("editorSuggestWidgetForeground","Foreground color of the suggest widget."));wt("editorSuggestWidget.selectedForeground",lP,y("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));wt("editorSuggestWidget.selectedIconForeground",m2,y("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const Oj=wt("editorSuggestWidget.selectedBackground",cP,y("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));wt("editorSuggestWidget.highlightForeground",dP,y("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));wt("editorSuggestWidget.focusHighlightForeground",_2,y("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));wt("editorSuggestWidgetStatus.foreground",Ha(Aj,.5),y("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class Fj{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Ir}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(xn.is(t))return xn.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}var yc;let QC=(yc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Wo,this._pendingShowDetails=new Wo,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new em,this._disposables=new ze,this._onDidSelect=new dk,this._onDidFocus=new dk,this._onDidHide=new pi,this._onDidShow=new pi,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new pi,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new R1,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new Hj(this,e),this._persistedSize=new Fj(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:E,height:R}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-R)<=D)&&(R=((v=a.persistedSize)==null?void 0:v.height)??S.height),(!a.persistWidth||Math.abs(a.currentSize.width-E)<=D)&&(E=((_=a.persistedSize)==null?void 0:_.width)??S.width),this._persistedSize.store(new xn(E,R))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=pt(this.element.domNode,yt(".message")),this._listElement=pt(this.element.domNode,yt(".tree"));const c=this._disposables.add(s.createInstance(XC,this.editor));c.onDidClose(this.toggleDetails,this,this._disposables),this._details=new Dj(c,this.editor);const h=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);h();const g=s.createInstance(YC,this.editor);this._disposables.add(g),this._disposables.add(g.onDidToggleDetails(()=>this.toggleDetails())),this._list=new V0("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:E}=p.completion.label;D&&E?v=y("label.full","{0} {1}, {2}",v,D,E):D?v=y("label.detail","{0} {1}",v,D):E&&(v=y("label.desc","{0}, {1}",v,E))}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(hP({listInactiveFocusBackground:Oj,listInactiveFocusOutline:uh})),this._status=s.createInstance(ZC,this.element.domNode,dc);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=Xt.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Xt.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Xt.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Xt.HasFocusedSuggestion.bindTo(i),this._disposables.add(yl(this._details.widget.domNode,"keydown",p=>{this._onDetailsKeydown.fire(p)})),this._disposables.add(this.editor.onMouseDown(p=>this._onEditorMouseDown(p)))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(e=this._loadingTimeout)==null||e.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(e){typeof e.element>"u"||typeof e.index>"u"||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=op(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=Ds(async s=>{const r=np(()=>{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:IN(i)}))}).catch(bn)),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:Mo(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=pu.LOADING_MESSAGE,Mo(this._listElement,this._status.element),br(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,rg(pu.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=pu.NO_SUGGESTIONS_MESSAGE,Mo(this._listElement,this._status.element),br(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,rg(pu.NO_SUGGESTIONS_MESSAGE);break;case 3:Mo(this._messageElement),br(this._listElement,this._status.element),this._show();break;case 4:Mo(this._messageElement),br(this._listElement,this._status.element),this._show();break;case 5:Mo(this._messageElement),br(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=np(()=>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=hk(pd(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")):(tL(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=hk(pd(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=rm(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 xn(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=lo(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 E=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>E&&(n=E),n>w||this._forceRenderingAbove&&S>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),E=D):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),E=w),this.element.preferredSize=new xn(h,i.defaultSize.height),this.element.maxSize=new xn(c,E),this.element.minSize=new xn(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=v2(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 xn(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}},pu=yc,yc.LOADING_MESSAGE=y("suggestWidget.loading","Loading..."),yc.NO_SUGGESTIONS_MESSAGE=y("suggestWidget.noSuggestions","No suggestions."),yc);QC=pu=Rj([l_(1,Fc),l_(2,Ki),l_(3,Dr),l_(4,li)],QC);class Hj{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 xn(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 Wj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nu=function(o,e){return function(t,i){e(t,i,o)}},JC;class Bj{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=Ti.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(B.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 qd;let wr=(qd=class{static get(e){return e.getContribution(JC.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 Wo,this._toDispose=new ze,this._selectors=new zj(f=>f.priority),this._onWillInsertSuggestItem=new pi,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(Wv,this.editor),this._selectors.register({priority:0,select:(f,p,v)=>this._memoryService.select(f,p,v)});const c=Xt.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 pw(pd(e.getDomNode()),()=>{const f=this._instantiationService.createInstance(QC,this.editor);this._toDispose.add(f),this._toDispose.add(f.onDidSelect(S=>this._insertSuggestion(S,0),this));const p=new wj(this.editor,f,this.model,S=>this._insertSuggestion(S,2));this._toDispose.add(p);const v=Xt.MakesTextEdit.bindTo(this._contextKeyService),_=Xt.HasInsertAndReplaceRange.bindTo(this._contextKeyService),w=Xt.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(Tn(()=>{v.reset(),_.reset(),w.reset()})),this._toDispose.add(f.onDidFocus(({item:S})=>{const D=this.editor.getPosition(),E=S.editStart.column,R=D.column;let V=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!S.completion.additionalTextEdits&&!(S.completion.insertTextRules&4)&&R-E===S.completion.insertText.length&&(V=this.editor.getModel().getValueInRange({startLineNumber:D.lineNumber,startColumn:E,endLineNumber:D.lineNumber,endColumn:R})!==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 uk(!0,!1,!1,!1,33))||za&&S.toKeyCodeChord().equals(new uk(!1,!1,!1,!0,33))){S.stopPropagation();return}S.toKeyCodeChord().isModifierKey()||this.editor.focus()})),f})),this._overtypingCapturer=this._toDispose.add(new pw(pd(e.getDomNode()),()=>this._toDispose.add(new GC(this.editor,this.model)))),this._alternatives=this._toDispose.add(new pw(pd(e.getDomNode()),()=>this._toDispose.add(new Dg(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(Ov,e)),this._toDispose.add(this.model.onDidTrigger(f=>{this.widget.value.showTriggered(f.auto,f.shy?250:50),this._lineSuffix.value=new Bj(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=Xt.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=to.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 Es;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 _=ag.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(w=>{let S=B.lift(w.range);if(S.startLineNumber===r.position.lineNumber&&S.startColumn>r.position.column){const D=this.editor.getPosition().column-r.position.column,E=D,R=B.spansMultipleLines(S)?0:D;S=new B(S.startLineNumber,S.startColumn+E,S.endLineNumber,S.endColumn+R)}return Gn.replaceMove(S,w.text)})),_.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!g){const _=new xo;let w;const S=n.onDidChangeContent(V=>{if(V.isFlush){c.cancel(),S.dispose();return}for(const H of V.changes){const J=B.getEndPosition(H.range);(!w||Dt.isBefore(J,w))&&(w=J)}}),D=t;t|=2;let E=!1;const R=this.editor.onWillType(()=>{R.dispose(),E=!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(H=>Dt.isBefore(w,B.getStartPosition(H.range))))return!1;E&&this.editor.pushUndoStop();const V=ag.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(H=>Gn.replaceMove(B.lift(H.range),H.text))),V.restoreRelativeVerticalPositionOfCursor(this.editor),(E||!(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(),R.dispose()}))}let{insertText:v}=r.completion;if(r.completion.insertTextRules&4||(v=bh.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===Bv.id)this.model.trigger({auto:!0,retrigger:!0});else{const _=new xo;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(w=>{r.completion.extensionId?ss(w):bn(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:zE(Va(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:b2(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:f})}getOverwriteInfo(e,t){Gi(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(Oo(e.completion.additionalTextEdits)){const t=y("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);Lr(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};ms.once(this.model.onDidTrigger)(s=>{const r=[];ms.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{Xs(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(Xs(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)}},JC=qd,qd.ID="editor.contrib.suggestController",qd);wr=JC=Wj([nu(1,Gy),nu(2,Cs),nu(3,Ki),nu(4,li),nu(5,Nh),nu(6,la)],wr);class zj{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 Tb=class Tb extends Se{constructor(){super({id:Tb.id,label:y("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:le.and(N.writable,N.hasCompletionItemProvider,Xt.Visible.toNegated()),kbOpts:{kbExpr:N.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=wr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};Tb.id="editor.action.triggerSuggest";let Bv=Tb;bi(wr.ID,wr,2);oe(Bv);const Bo=190,so=go.bindToContribution(wr.get);Tt(new so({id:"acceptSelectedSuggestion",precondition:le.and(Xt.Visible,Xt.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:le.and(Xt.Visible,N.textInputFocus),weight:Bo},{primary:3,kbExpr:le.and(Xt.Visible,N.textInputFocus,Xt.AcceptSuggestionsOnEnter,Xt.MakesTextEdit),weight:Bo}],menuOpts:[{menuId:dc,title:y("accept.insert","Insert"),group:"left",order:1,when:Xt.HasInsertAndReplaceRange.toNegated()},{menuId:dc,title:y("accept.insert","Insert"),group:"left",order:1,when:le.and(Xt.HasInsertAndReplaceRange,Xt.InsertMode.isEqualTo("insert"))},{menuId:dc,title:y("accept.replace","Replace"),group:"left",order:1,when:le.and(Xt.HasInsertAndReplaceRange,Xt.InsertMode.isEqualTo("replace"))}]}));Tt(new so({id:"acceptAlternativeSelectedSuggestion",precondition:le.and(Xt.Visible,N.textInputFocus,Xt.HasFocusedSuggestion),kbOpts:{weight:Bo,kbExpr:N.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:dc,group:"left",order:2,when:le.and(Xt.HasInsertAndReplaceRange,Xt.InsertMode.isEqualTo("insert")),title:y("accept.replace","Replace")},{menuId:dc,group:"left",order:2,when:le.and(Xt.HasInsertAndReplaceRange,Xt.InsertMode.isEqualTo("replace")),title:y("accept.insert","Insert")}]}));In.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");Tt(new so({id:"hideSuggestWidget",precondition:Xt.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:Bo,kbExpr:N.textInputFocus,primary:9,secondary:[1033]}}));Tt(new so({id:"selectNextSuggestion",precondition:le.and(Xt.Visible,le.or(Xt.MultipleSuggestions,Xt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:Bo,kbExpr:N.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Tt(new so({id:"selectNextPageSuggestion",precondition:le.and(Xt.Visible,le.or(Xt.MultipleSuggestions,Xt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:Bo,kbExpr:N.textInputFocus,primary:12,secondary:[2060]}}));Tt(new so({id:"selectLastSuggestion",precondition:le.and(Xt.Visible,le.or(Xt.MultipleSuggestions,Xt.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Tt(new so({id:"selectPrevSuggestion",precondition:le.and(Xt.Visible,le.or(Xt.MultipleSuggestions,Xt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:Bo,kbExpr:N.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Tt(new so({id:"selectPrevPageSuggestion",precondition:le.and(Xt.Visible,le.or(Xt.MultipleSuggestions,Xt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:Bo,kbExpr:N.textInputFocus,primary:11,secondary:[2059]}}));Tt(new so({id:"selectFirstSuggestion",precondition:le.and(Xt.Visible,le.or(Xt.MultipleSuggestions,Xt.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Tt(new so({id:"focusSuggestion",precondition:le.and(Xt.Visible,Xt.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:Bo,kbExpr:N.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Tt(new so({id:"focusAndAcceptSuggestion",precondition:le.and(Xt.Visible,Xt.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Tt(new so({id:"toggleSuggestionDetails",precondition:le.and(Xt.Visible,Xt.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:Bo,kbExpr:N.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:dc,group:"right",order:1,when:le.and(Xt.DetailsVisible,Xt.CanResolve),title:y("detail.more","Show Less")},{menuId:dc,group:"right",order:1,when:le.and(Xt.DetailsVisible.toNegated(),Xt.CanResolve),title:y("detail.less","Show More")}]}));Tt(new so({id:"toggleExplainMode",precondition:Xt.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Tt(new so({id:"toggleSuggestionFocus",precondition:Xt.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:Bo,kbExpr:N.textInputFocus,primary:2570,mac:{primary:778}}}));Tt(new so({id:"insertBestCompletion",precondition:le.and(N.textInputFocus,le.equals("config.editor.tabCompletion","on"),Ov.AtEnd,Xt.Visible.toNegated(),Dg.OtherSuggestions.toNegated(),to.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(VE(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:Bo,primary:2}}));Tt(new so({id:"insertNextSuggestion",precondition:le.and(N.textInputFocus,le.equals("config.editor.tabCompletion","on"),Dg.OtherSuggestions,Xt.Visible.toNegated(),to.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:Bo,kbExpr:N.textInputFocus,primary:2}}));Tt(new so({id:"insertPrevSuggestion",precondition:le.and(N.textInputFocus,le.equals("config.editor.tabCompletion","on"),Dg.OtherSuggestions,Xt.Visible.toNegated(),to.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:Bo,kbExpr:N.textInputFocus,primary:1026}}));oe(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=wr.get(e))==null||t.resetWidgetSize()}});class Vj extends $e{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 pi),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=wr.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?Cd(f,g):void 0;if(!p)return-1;const v=Dt.lift(c),_=h.map((S,D)=>{const E=qf.fromSuggestion(n,g,v,S,this.isShiftKeyPressed),R=Cd(E.toSingleTextEdit(),g),V=kN(p,R);return{index:D,valid:V,prefixLength:R.text.length,suggestItem:S}}).filter(S=>S&&S.valid&&S.prefixLength>0),w=y2(_,lm(S=>S.prefixLength,my));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(ms.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=qf.fromSuggestion(n,h,c,a.item,this.isShiftKeyPressed);this.onWillAccept(g)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!jj(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=wr.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 qf.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=wr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=wr.get(this.editor);e==null||e.forceRenderingAbove()}}class qf{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const h=new bh().parse(r);h.children.length<100&&Av.adjustWhitespace(t,i,!0,h),r=h.toString(),a=!0}const c=e.getOverwriteInfo(n,s);return new qf(B.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 w2(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new wl(this.range,this.insertText)}}function jj(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var Uj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ja=function(o,e){return function(t,i){e(t,i,o)}},ex,Kd;let ir=(Kd=class extends $e{static get(e){return e.getContribution(ex.ID)}constructor(e,t,i,n,s,r,a,c,h,g){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=n,this._commandService=s,this._debounceService=r,this._languageFeaturesService=a,this._accessibilitySignalService=c,this._keybindingService=h,this._accessibilityService=g,this._editorObs=Da(this.editor),this._positions=on(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 Vj(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=vo(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(v=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=vo(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=vo(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=on(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=Ec(this,p=>{if(this._editorObs.isReadonly.read(p))return;const v=this._editorObs.model.read(p);return v?this._instantiationService.createInstance(UC,v,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,vo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),vo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),vo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=on(this,p=>{const v=this.model.read(p);return(v==null?void 0:v.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=$j(this._ghostTexts,this._store),this._ghostTextWidgets=S2(this,this._stablizedGhostTexts,(p,v)=>v.add(this._instantiationService.createInstance(VC,this.editor,{ghostText:p,minReservedLineCount:cl(0),targetTextModel:this.model.map(_=>_==null?void 0:_.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=e1(this),this._fontFamily=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new Co(this._contextKeyService,this.model)),this._register(gk(this._editorObs.onDidType,(p,v)=>{var _;this._enabled.get()&&((_=this.model.get())==null||_.trigger())})),this._register(this._commandService.onDidExecuteCommand(p=>{new Set([S_.Tab.id,S_.DeleteLeft.id,S_.DeleteRight.id,AM,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(_=>{var w;(w=this.model.get())==null||w.trigger(_)})})),this._register(gk(this._editorObs.selections,(p,v)=>{var _;v.some(w=>w.reason===3||w.source==="api")&&((_=this.model.get())==null||_.stop())})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||Sg.dropDownVisible||Mh(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(Tn(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const f=fy(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(C2(on(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 wy(50,bS(_)),await x2(this._suggestWidgetSelectedItem,bf,()=>!1,bS(_)),await this._accessibilitySignalService.playSignal(UE.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(S.primaryGhostText.renderForScreenReader(D))})),this._register(new aC(this.editor,this.model,this._instantiationService)),this._register(AV(on(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())),Lr(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}},ex=Kd,Kd.ID="editor.contrib.inlineCompletionsController",Kd);ir=ex=Uj([Ja(1,li),Ja(2,Ki),Ja(3,Nn),Ja(4,Cs),Ja(5,nr),Ja(6,Et),Ja(7,jE),Ja(8,hs),Ja(9,py)],ir);function $j(o,e){const t=Fo("result",[]),i=[];return e.add(Vn(n=>{const s=o.read(n);Mh(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=Fo("item",s[a]));t.set([...i],r)}i.forEach((a,c)=>a.set(s[c],r))})})),t}const Mb=class Mb extends Se{constructor(){super({id:Mb.ID,label:y("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:le.and(N.writable,Co.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=ir.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};Mb.ID=FM;let tx=Mb;const Nb=class Nb extends Se{constructor(){super({id:Nb.ID,label:y("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:le.and(N.writable,Co.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=ir.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Nb.ID=OM;let ix=Nb;class qj extends Se{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:y("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:N.writable})}async run(e,t){const i=ir.get(t);await uP(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 Kj 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(N.writable,Co.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:le.and(N.writable,Co.inlineSuggestionVisible)},menuOpts:[{menuId:ut.InlineSuggestionToolbar,title:y("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=ir.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class Gj 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(N.writable,Co.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:ut.InlineSuggestionToolbar,title:y("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=ir.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class Zj extends Se{constructor(){super({id:AM,label:y("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:Co.inlineSuggestionVisible,menuOpts:[{menuId:ut.InlineSuggestionToolbar,title:y("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:le.and(Co.inlineSuggestionVisible,N.tabMovesFocus.toNegated(),Co.inlineSuggestionHasIndentationLessThanTabSize,Xt.Visible.toNegated(),N.hoverFocused.toNegated())}})}async run(e,t){var n;const i=ir.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const Rb=class Rb extends Se{constructor(){super({id:Rb.ID,label:y("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:Co.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=ir.get(t);Mh(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};Rb.ID="editor.action.inlineSuggest.hide";let nx=Rb;const Ab=class Ab extends uo{constructor(){super({id:Ab.ID,title:y("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:ut.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:le.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(Nn),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};Ab.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let sx=Ab;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},ff=function(o,e){return function(t,i){e(t,i,o)}};class Yj{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 ox=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=ir.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 M_(1e3,this,B.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 M_(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new M_(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=ir.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new Yj(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new ze,n=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&i.add(this.renderScreenReaderText(e,n));const s=n.controller.model.get(),r=this._instantiationService.createInstance(Sg,this._editor,!1,cl(null),s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.activeCommands),a=r.getDomNode();e.fragment.appendChild(a),s.triggerExplicitly(),i.add(r);const c={hoverPart:n,hoverElement:a,dispose(){i.dispose()}};return new Ch([c])}renderScreenReaderText(e,t){const i=new ze,n=yt,s=n("div.hover-row.markdown-hover"),r=pt(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new Hg({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 Gs().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 G_(r)})),e.fragment.appendChild(s),i}};ox=Xj([ff(1,ca),ff(2,aa),ff(3,py),ff(4,li),ff(5,la)],ox);class Qj{}const Zy=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}};bi(ir.ID,ir,3);oe(qj);oe(tx);oe(ix);oe(Kj);oe(Gj);oe(Zj);oe(nx);an(sx);Fh.register(ox);Zy.register(new Qj);var Jj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Kw=function(o,e){return function(t,i){e(t,i,o)}},If,wc;let Ep=(wc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new ze,this.toUnhookForKeyboard=new ze,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new zy(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=>{bn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(If.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 gP(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Ds(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){bn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?B.lift(n[0].originSelectionRange):new B(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:c}of n)c&&(a=B.plusRange(a,c));this.addDecoration(a,new Gs().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 Gs().appendCodeblock(p||"",f):void 0),c.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=If.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+If.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new B(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 Q0)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?Sm(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 xm({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(Ki);return co.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},If=wc,wc.ID="editor.contrib.gotodefinitionatposition",wc.MAX_SOURCE_PREVIEW_LINES=8,wc);Ep=If=Jj([Kw(1,da),Kw(2,ca),Kw(3,Et)],Ep);bi(Ep.ID,Ep,2);var DN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zv=function(o,e){return function(t,i){e(t,i,o)}};class YI{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let rx=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new pi,this.onDidChange=this._onDidChange.event,this._dispoables=new ze,this._markers=[],this._nextIdx=-1,fn.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=fk(a.resource.toString(),c.resource.toString());return h===0&&(n==="position"?h=B.compareRangesUsingStarts(a,c)||Ys.compare(a.severity,c.severity):h=Ys.compare(a.severity,c.severity)||B.compareRangesUsingStarts(a,c)),h},r=()=>{this._markers=this._markerService.read({resource:fn.isUri(e)?e:void 0,severities:Ys.Error|Ys.Warning|Ys.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 YI(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=J_(this._markers,{resource:e.uri},(r,a)=>fk(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=B.lift(this._markers[r]);if(a.isEmpty()){const c=e.getWordAtPosition(a.getStartPosition());c&&(a=new B(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(B.containsPosition(this._markers[i],t))return new YI(this._markers[i],i+1,this._markers.length)}}};rx=DN([zv(1,U0),zv(2,Nn)],rx);const EN=El("IMarkerNavigationService");let ax=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new nP}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new rx(e,this._markerService,this._configService)}};ax=DN([zv(0,U0),zv(1,Nn)],ax);Pl(EN,ax,1);var lx;(function(o){function e(t){switch(t){case zm.Ignore:return"severity-ignore "+Yi.asClassName(Qt.info);case zm.Info:return Yi.asClassName(Qt.info);case zm.Warning:return Yi.asClassName(Qt.warning);case zm.Error:return Yi.asClassName(Qt.error);default:return""}}o.className=e})(lx||(lx={}));var e6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},su=function(o,e){return function(t,i){e(t,i,o)}},cx;class t6{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 ze,this._editor=t;const r=document.createElement("div");r.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),r.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),r.appendChild(this._relatedBlock),this._disposables.add(yl(this._relatedBlock,"click",a=>{a.preventDefault();const c=this._relatedDiagnostics.get(a.target);c&&i(c)})),this._scrollable=new T2(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(){Xs(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=yy(i);this._lines=a.length,this._longestLineLength=0;for(const p of a)this._longestLineLength=Math.max(p.length+r,this._longestLineLength);Fa(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let c=this._messageBlock;for(const p of a)c=document.createElement("div"),c.innerText=p,p===""&&(c.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(c);if(t||s){const p=document.createElement("span");if(p.classList.add("details"),c.appendChild(p),t){const 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=yt("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=_=>{this._openerService.open(s.target,{allowCommands:!0}),_.preventDefault(),_.stopPropagation()};const v=pt(this._codeLink,yt("span"));v.innerText=s.value,p.appendChild(this._codeLink)}}if(Fa(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),Oo(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 Ys.Error:t=y("Error","Error");break;case Ys.Warning:t=y("Warning","Warning");break;case Ys.Info:t=y("Info","Info");break;case Ys.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 Gd;let Pp=(Gd=class extends vv{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 ze,this._onDidSelectRelatedInformation=new pi,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Ys.Warning,this._backgroundColor=Di.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(o6);let t=dx,i=i6;this._severity===Ys.Warning?(t=O_,i=n6):this._severity===Ys.Info&&(t=hx,i=s6);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(KM),secondaryHeadingColor:e.getColor(GM)})}_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(cx.TitleMenu,this._contextKeyService);K0(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=pt(e,yt(""))}_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 t6(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=B.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(Va(a.uri),c)}this._icon.className=`codicon ${lx.className(Ys.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()}},cx=Gd,Gd.TitleMenu=new ut("gotoErrorTitleMenu"),Gd);Pp=cx=e6([su(1,Dr),su(2,aa),su(3,Th),su(4,li),su(5,Ki),su(6,cp)],Pp);const QI=i1(k2,L2),JI=i1(D2,I2),eD=i1(gS,E2),dx=wt("editorMarkerNavigationError.background",{dark:QI,light:QI,hcDark:bl,hcLight:bl},y("editorMarkerNavigationError","Editor marker navigation widget error color.")),i6=wt("editorMarkerNavigationError.headerBackground",{dark:Ha(dx,.1),light:Ha(dx,.1),hcDark:null,hcLight:null},y("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),O_=wt("editorMarkerNavigationWarning.background",{dark:JI,light:JI,hcDark:bl,hcLight:bl},y("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),n6=wt("editorMarkerNavigationWarning.headerBackground",{dark:Ha(O_,.1),light:Ha(O_,.1),hcDark:"#0C141F",hcLight:Ha(O_,.2)},y("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),hx=wt("editorMarkerNavigationInfo.background",{dark:eD,light:eD,hcDark:bl,hcLight:bl},y("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),s6=wt("editorMarkerNavigationInfo.headerBackground",{dark:Ha(hx,.1),light:Ha(hx,.1),hcDark:null,hcLight:null},y("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),o6=wt("editorMarkerNavigation.background",P2,y("editorMarkerNavigationBackground","Editor marker navigation widget background."));var r6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},c_=function(o,e){return function(t,i){e(t,i,o)}},Df,Zd;let kh=(Zd=class{static get(e){return e.getContribution(Df.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new ze,this._editor=e,this._widgetVisible=PN.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(Pp,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)||!B.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:B.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=Df.get(r))==null||i.close(),(n=Df.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},Df=Zd,Zd.ID="editor.contrib.markerController",Zd);kh=Df=r6([c_(1,EN),c_(2,Ki),c_(3,os),c_(4,li)],kh);class Xy extends Se{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=kh.get(t))==null||i.nagivate(this._next,this._multiFile))}}const nd=class nd extends Xy{constructor(){super(!0,!1,{id:nd.ID,label:nd.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:578,weight:100},menuOpts:{menuId:Pp.TitleMenu,title:nd.LABEL,icon:ts("marker-navigation-next",Qt.arrowDown,y("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};nd.ID="editor.action.marker.next",nd.LABEL=y("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let Vv=nd;const sd=class sd extends Xy{constructor(){super(!1,!1,{id:sd.ID,label:sd.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:1602,weight:100},menuOpts:{menuId:Pp.TitleMenu,title:sd.LABEL,icon:ts("marker-navigation-previous",Qt.arrowUp,y("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};sd.ID="editor.action.marker.prev",sd.LABEL=y("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let ux=sd;class a6 extends Xy{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:N.focus,primary:66,weight:100},menuOpts:{menuId:ut.MenubarGoMenu,title:y({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class l6 extends Xy{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:N.focus,primary:1090,weight:100},menuOpts:{menuId:ut.MenubarGoMenu,title:y({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}bi(kh.ID,kh,4);oe(Vv);oe(ux);oe(a6);oe(l6);const PN=new Fi("markersNavigationVisible",!1),c6=go.bindToContribution(kh.get);Tt(new c6({id:"closeMarkersNavigation",precondition:PN,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:N.focus,primary:9,secondary:[1033]}}));var jr;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(jr||(jr={}));class d6 extends Se{constructor(){super({id:RM,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:Lt("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:[jr.NoAutoFocus,jr.FocusIfVisible,jr.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:jr.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=$s.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=jr.FocusIfVisible;Object.values(jr).includes(s)?r=s:typeof s=="boolean"&&s&&(r=jr.AutoFocusImmediately);const a=h=>{const g=t.getPosition(),f=new B(g.lineNumber,g.column,g.lineNumber,g.column);n.showContentHover(f,1,1,h)},c=t.getOption(2)===2;n.isHoverVisible?r!==jr.NoAutoFocus?n.focus():a(c):a(c||r===jr.AutoFocusImmediately)}}class h6 extends Se{constructor(){super({id:DB,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:Lt("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=$s.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new B(n.lineNumber,n.column,n.lineNumber,n.column),r=Ep.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class u6 extends Se{constructor(){super({id:EB,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:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:16,weight:100},metadata:{description:Lt("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.scrollUp()}}class g6 extends Se{constructor(){super({id:PB,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:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:18,weight:100},metadata:{description:Lt("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.scrollDown()}}class f6 extends Se{constructor(){super({id:TB,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:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:15,weight:100},metadata:{description:Lt("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.scrollLeft()}}class p6 extends Se{constructor(){super({id:MB,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:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:17,weight:100},metadata:{description:Lt("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.scrollRight()}}class m6 extends Se{constructor(){super({id:NB,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:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:Lt("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.pageUp()}}class _6 extends Se{constructor(){super({id:RB,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:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:Lt("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.pageDown()}}class v6 extends Se{constructor(){super({id:AB,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:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:Lt("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.goToTop()}}class b6 extends Se{constructor(){super({id:OB,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:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:Lt("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.goToBottom()}}class y6 extends Se{constructor(){super({id:Hy,label:FB,alias:"Increase Hover Verbosity Level",precondition:N.hoverVisible})}run(e,t,i){const n=$s.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(er.Increase,s,i==null?void 0:i.focus)}}class w6 extends Se{constructor(){super({id:Wy,label:HB,alias:"Decrease Hover Verbosity Level",precondition:N.hoverVisible})}run(e,t,i){var r;const n=$s.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=$s.get(t))==null||r.updateHoverVerbosityLevel(er.Decrease,s,i==null?void 0:i.focus)}}var S6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Gw=function(o,e){return function(t,i){e(t,i,o)}};const rr=yt;class C6{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 tD={type:1,filter:{include:Ln.QuickFix},triggerAction:Lo.QuickFixHover};let gx=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 B(e.range.startLineNumber,c,e.range.startLineNumber,h);r.push(new C6(this,f,g))}return r}renderHoverParts(e,t){if(!t.length)return new Ch([]);const i=new ze,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)=>Ys.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new Ch(n)}_renderMarkerHover(e){const t=new ze,i=rr("div.hover-row"),n=pt(i,rr("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:c}=e.marker;this._editor.applyFontInfo(n);const h=pt(n,rr("span"));if(h.style.whiteSpace="pre-wrap",h.innerText=r,s||a)if(a&&typeof a!="string"){const f=rr("span");if(s){const w=pt(f,rr("span"));w.innerText=s}const p=pt(f,rr("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(qi(p,"click",w=>{this._openerService.open(a.target,{allowCommands:!0}),w.preventDefault(),w.stopPropagation()}));const v=pt(p,rr("span"));v.innerText=a.value;const _=pt(n,f);_.style.opacity="0.6",_.style.paddingLeft="6px"}else{const f=pt(n,rr("span"));f.style.opacity="0.6",f.style.paddingLeft="6px",f.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(Oo(c))for(const{message:f,resource:p,startLineNumber:v,startColumn:_}of c){const w=pt(n,rr("div"));w.style.marginTop="8px";const S=pt(w,rr("a"));S.innerText=`${Va(p)}(${v}, ${_}): `,S.style.cursor="pointer",t.add(qi(S,"click",E=>{if(E.stopPropagation(),E.preventDefault(),this._openerService){const R={selection:{startLineNumber:v,startColumn:_}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:R}).catch(bn)}}));const D=pt(w,rr("span"));D.innerText=f,this._editor.applyFontInfo(D)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===Ys.Error||t.marker.severity===Ys.Warning||t.marker.severity===Ys.Info){const n=kh.get(this._editor);n&&e.statusBar.addAction({label:y("view problem","View Problem"),commandId:Vv.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(rr("div"));this.recentMarkerCodeActionsInfo&&(pk.makeKey(this.recentMarkerCodeActionsInfo.marker)===pk.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?$e.None:np(()=>n.textContent=y("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(Tn(()=>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(Tn(()=>{c||a.dispose()})),e.statusBar.addAction({label:y("quick fixes","Quick Fix..."),commandId:P1,run:h=>{c=!0;const g=yg.get(this._editor),f=lo(h);e.hide(),g==null||g.showCodeActions(tD,a,{x:f.left,y:f.top,width:f.width,height:f.height})}})},bn)}}getCodeActions(e){return Ds(t=>wu(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new B(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),tD,ll.None,t))}};gx=S6([Gw(1,M2),Gw(2,aa),Gw(3,Et)],gx);class x6{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=q_.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)??q_.Center;if(!n&&a!==this._laneOrLine)continue;const c=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!c||lp(c)||i.push(...xE(c).map(e))}return i}}var L6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},iD=function(o,e){return function(t,i){e(t,i,o)}},fx;const nD=yt;var Xd;let px=(Xd=class extends $e{constructor(e,t,i){super(),this._renderDisposeables=this._register(new ze),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new CE),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new Hg({editor:this._editor},t,i)),this._computer=new x6(this._editor),this._hoverOperation=this._register(new HM(this._editor,this._computer)),this._register(this._hoverOperation.onResult(n=>{this._withResult(n.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(50)&&this._updateFont()})),this._register(yl(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return fx.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(t=>this._editor.applyFontInfo(t))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}showsOrWillShow(e){const t=e.target;return t.type===2&&t.detail.glyphMarginLane?(this._startShowingAt(t.position.lineNumber,t.detail.glyphMarginLane),!0):t.type===3?(this._startShowingAt(t.position.lineNumber,"lineNo"),!0):!1}_startShowingAt(e,t){this._computer.lineNumber===e&&this._computer.lane===t||(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._computer.lane=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();const i=document.createDocumentFragment();for(const n of t){const s=nD("div.hover-row.markdown-hover"),r=pt(s,nD("div.hover-contents")),a=this._renderDisposeables.add(this._markdownRenderer.render(n.value));r.appendChild(a.element),i.appendChild(s)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),n=this._editor.getScrollTop(),s=this._editor.getOption(67),r=this._hover.containerDomNode.clientHeight,a=i-n-(r-s)/2,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||!By(t,e.x,e.y))&&this.hide()}},fx=Xd,Xd.ID="editor.contrib.modesGlyphHoverWidget",Xd);px=fx=L6([iD(1,ca),iD(2,aa)],px);var k6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},I6=function(o,e){return function(t,i){e(t,i,o)}},Yu;let jv=(Yu=class extends $e{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new ze,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new _s(()=>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?By(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(px,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},Yu.ID="editor.contrib.marginHover",Yu);jv=k6([I6(1,li)],jv);class D6{}class E6{}class P6{}bi($s.ID,$s,2);bi(jv.ID,jv,2);oe(d6);oe(h6);oe(u6);oe(g6);oe(f6);oe(p6);oe(m6);oe(_6);oe(v6);oe(b6);oe(y6);oe(w6);Fh.register(xp);Fh.register(gx);uy((o,e)=>{const t=o.getColor(N2);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)}; }`))});Zy.register(new D6);Zy.register(new E6);Zy.register(new P6);function _o(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function Kf(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 TN(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 R2(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,ug.shiftIndent(w,w.length+S,r,a,c)),g=(w,S)=>(S=S||1,ug.unshiftIndent(w,w.length+S,r,a,c)),f=[],p=o.getLineContent(t);let v=Fs(p),_=v;s.shouldIncrease(t)?(_=h(_),v=h(v)):s.shouldIndentNextLine(t)&&(_=h(_)),t++;for(let w=t;w<=i;w++){if(T6(o,w))continue;const S=o.getLineContent(w),D=Fs(S),E=_;s.shouldDecrease(w,E)&&(_=g(_),v=g(v)),D!==_&&f.push(Gn.replaceMove(new Kt(w,1,w,D.length+1),A2(_,a,c))),!s.shouldIgnore(w)&&(s.shouldIncrease(w,E)?(v=h(v),_=v):s.shouldIndentNextLine(w,E)?_=h(_):_=v)}return f}function T6(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var M6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},N6=function(o,e){return function(t,i){e(t,i,o)}};const Ob=class Ob extends Se{constructor(){super({id:Ob.ID,label:y("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:N.writable,metadata:{description:Lt("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 H6(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};Ob.ID="editor.action.indentationToSpaces";let mx=Ob;const Fb=class Fb extends Se{constructor(){super({id:Fb.ID,label:y("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:N.writable,metadata:{description:Lt("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 W6(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};Fb.ID="editor.action.indentationToTabs";let _x=Fb;class iL extends Se{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Dl),n=e.get(no),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 Hb=class Hb extends iL{constructor(){super(!1,!1,{id:Hb.ID,label:y("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:Lt("indentUsingTabsDescription","Use indentation with tabs.")}})}};Hb.ID="editor.action.indentUsingTabs";let vx=Hb;const Wb=class Wb extends iL{constructor(){super(!0,!1,{id:Wb.ID,label:y("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:Lt("indentUsingSpacesDescription","Use indentation with spaces.")}})}};Wb.ID="editor.action.indentUsingSpaces";let bx=Wb;const Bb=class Bb extends iL{constructor(){super(!0,!0,{id:Bb.ID,label:y("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:Lt("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};Bb.ID="editor.action.changeTabDisplaySize";let yx=Bb;const zb=class zb extends Se{constructor(){super({id:zb.ID,label:y("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:Lt("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(no),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};zb.ID="editor.action.detectIndentation";let wx=zb;class R6 extends Se{constructor(){super({id:"editor.action.reindentlines",label:y("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:N.writable,metadata:{description:Lt("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(xs),n=t.getModel();if(!n)return;const s=TN(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class A6 extends Se{constructor(){super({id:"editor.action.reindentselectedlines",label:y("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:N.writable,metadata:{description:Lt("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(xs),n=t.getModel();if(!n)return;const s=t.getSelections();if(s===null)return;const r=[];for(const a of s){let c=a.startLineNumber,h=a.endLineNumber;if(c!==h&&a.endColumn===1&&h--,c===1){if(c===h)continue}else c--;const g=TN(n,i,c,h);r.push(...g)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class O6{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(B.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 Qu;let Uv=(Qu=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new ze,this.callOnModel=new ze,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)||F6(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:_=>ug.shiftIndent(_,_.length+1,r,a,c),unshiftIndent:_=>ug.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 _=Hf(s,i,i.getLanguageId(),f,g,this._languageConfigurationService);if(_!==null){const w=Fs(p),S=_o(_,r),D=_o(w,r);if(S!==D){const E=Kf(S,r,c);h.push({range:new B(f,1,f,w.length+1),text:E}),p=E+p.substring(w.length)}else{const E=fP(i,f,this._languageConfigurationService);if(E===0||E===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=Hf(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=_o(w,r),D=_o(Fs(i.getLineContent(f+1)),r);if(S!==D){const E=S-D;for(let R=f+1;R<=e.endLineNumber;R++){const V=i.getLineContent(R),H=Fs(V),Y=_o(H,r)+E,ue=Kf(Y,r,c);ue!==H&&h.push({range:new B(R,1,R,H.length+1),text:ue})}}}}if(h.length>0){this.editor.pushUndoStop();const _=new O6(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()}},Qu.ID="editor.contrib.autoIndentOnPaste",Qu);Uv=M6([N6(1,xs)],Uv);function F6(o,e){const t=i=>O2(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function MN(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 B(r,1,r,c),g=o.getValueInRange(h),f=i?g.replace(/\t/ig,n):g.replace(s," ");e.addEditOperation(h,f)}}class H6{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),MN(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class W6{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),MN(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}bi(Uv.ID,Uv,2);oe(mx);oe(_x);oe(vx);oe(bx);oe(yx);oe(wx);oe(R6);oe(A6);bi(kp.ID,kp,1);Fh.register(Sv);class B6{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 z6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},V6=function(o,e){return function(t,i){e(t,i,o)}},F_,Sc;let Eg=(Sc=class{static get(e){return e.getContribution(F_.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 gP(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=Ds(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=B.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 B6(g,s,h.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,v),this.editor.pushUndoStop(),this.decorations.set([{range:f,options:F_.DECORATION}]),(_=this.decorationRemover)==null||_.cancel(),this.decorationRemover=wy(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(bn)}).catch(bn)):Promise.resolve(void 0)}},F_=Sc,Sc.ID="editor.contrib.inPlaceReplaceController",Sc.DECORATION=Ti.register({description:"in-place-replace",className:"valueSetReplacement"}),Sc);Eg=F_=z6([V6(1,Tl)],Eg);class j6 extends Se{constructor(){super({id:"editor.action.inPlaceReplace.up",label:y("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=Eg.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class U6 extends Se{constructor(){super({id:"editor.action.inPlaceReplace.down",label:y("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=Eg.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}bi(Eg.ID,Eg,4);oe(j6);oe(U6);class $6 extends Se{constructor(){super({id:"expandLineSelection",label:y("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:N.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,n1.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}oe($6);class q6{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=K6(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 K6(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=C_(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++]=Gn.delete(new B(a,v,a,g))}return i}class NN{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 B(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
49
+ `):this._isCopyingDown?t.addEditOperation(new B(i.startLineNumber,1,i.startLineNumber,1),s+`
50
+ `):t.addEditOperation(new B(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 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},Z6=function(o,e){return function(t,i){e(t,i,o)}};let Sx=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 B(1,1,1,1),null):(t.addEditOperation(new B(f,1,f,1),e.getLineContent(p)),t.addEditOperation(new B(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 B(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=Fs(e.getLineContent(f)),D=_+_o(S,a);v=Kf(D,a,h)+this.trimStart(p)}else{const S={tokenization:{getLineTokens:E=>E===r.startLineNumber?e.tokenization.getLineTokens(f):e.tokenization.getLineTokens(E),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:E=>E===r.startLineNumber?e.getLineContent(f):e.getLineContent(E)},D=Hf(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber,g,this._languageConfigurationService);if(D!==null){const E=Fs(e.getLineContent(f)),R=_o(D,a),V=_o(E,a);R!==V&&(v=Kf(R,a,h)+this.trimStart(p))}}t.addEditOperation(new B(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:E=>E===r.startLineNumber?e.tokenization.getLineTokens(f):E>=r.startLineNumber+1&&E<=r.endLineNumber+1?e.tokenization.getLineTokens(E-1):e.tokenization.getLineTokens(E),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:E=>E===r.startLineNumber?v:E>=r.startLineNumber+1&&E<=r.endLineNumber+1?e.getLineContent(E-1):e.getLineContent(E)},D=Hf(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber+1,g,this._languageConfigurationService);if(D!==null){const E=Fs(e.getLineContent(r.startLineNumber)),R=_o(D,a),V=_o(E,a);if(R!==V){const H=R-V;this.getIndentEditsOfMovingBlock(e,t,r,a,h,H)}}}}else t.addEditOperation(new B(r.startLineNumber,1,r.startLineNumber,1),v+`
53
+ `)}else if(f=r.startLineNumber-1,p=e.getLineContent(f),t.addEditOperation(new B(f,1,f+1,1),null),t.addEditOperation(new B(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=Hf(this._autoIndent,v,e.getLanguageIdAtPosition(r.startLineNumber,1),f,g,this._languageConfigurationService);if(w!==null){const S=Fs(e.getLineContent(r.startLineNumber)),D=_o(w,a),E=_o(S,a);if(D!==E){const R=D-E;this.getIndentEditsOfMovingBlock(e,t,r,a,h,R)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>ug.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>ug.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===Vm.None||s.indentAction===Vm.Indent?r=s.indentation+s.appendText:s.indentAction===Vm.IndentOutdent?r=s.indentation:s.indentAction===Vm.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const c=Fs(e.getLineContent(n));let h=Fs(r);const g=fP(e,n,this._languageConfigurationService);g!==null&&g&2&&(h=t.unshiftIndent(h));const f=_o(h,i),p=_o(c,i);return f-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(C_(r)>=0){const a=e.getLineMaxColumn(s),c=mw(this._autoIndent,e,new B(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(C_(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=mw(this._autoIndent,e,new B(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),C_(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=mw(this._autoIndent,e,new B(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=Fs(c),f=_o(h,n)+r,p=Kf(f,n,s);p!==h&&(t.addEditOperation(new B(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}};Sx=G6([Z6(3,xs)],Sx);const Tu=class Tu{static getCollator(){return Tu._COLLATOR||(Tu._COLLATOR=new Intl.Collator),Tu._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=X6(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=RN(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}};Tu._COLLATOR=null;let Tp=Tu;function RN(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(Tp.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function X6(o,e,t){const i=RN(o,e,t);return i?Gn.replace(new B(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
55
+ `)):null}class AN 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)=>B.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 NN(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Y6 extends AN{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:y("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:ut.MenubarSelectionMenu,group:"2_line",title:y({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class Q6 extends AN{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:y("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:ut.MenubarSelectionMenu,group:"2_line",title:y({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class J6 extends Se{constructor(){super({id:"editor.action.duplicateSelection",label:y("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:N.writable,menuOpts:{menuId:ut.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 NN(a,!0));else{const c=new Kt(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new F2(c,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class ON extends Se{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(xs),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new Sx(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class eU extends ON{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:y("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:ut.MenubarSelectionMenu,group:"2_line",title:y({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class tU extends ON{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:y("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:ut.MenubarSelectionMenu,group:"2_line",title:y({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class FN 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(!Tp.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new Tp(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class iU extends FN{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:y("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:N.writable})}}class nU extends FN{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:y("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:N.writable})}}class sU extends Se{constructor(){super({id:"editor.action.removeDuplicateLines",label:y("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:N.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(Gn.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 Vb=class Vb extends Se{constructor(){super({id:Vb.ID,label:y("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:ds(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(Nn),a=t.getModel(),c=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),h=new q6(s,n,c);t.pushUndoStop(),t.executeCommands(this.id,[h]),t.pushUndoStop()}};Vb.ID="editor.action.trimTrailingWhitespace";let Cx=Vb;class oU extends Se{constructor(){super({id:"editor.action.deleteLines",label:y("lines.delete","Delete Line"),alias:"Delete Line",precondition:N.writable,kbOpts:{kbExpr:N.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(Gn.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 rU extends Se{constructor(){super({id:"editor.action.indentLines",label:y("lines.indent","Indent Line"),alias:"Indent Line",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,H2.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class aU extends Se{constructor(){super({id:"editor.action.outdentLines",label:y("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:2140,weight:100}})}run(e,t){S_.Outdent.runEditorCommand(e,t,null)}}class lU extends Se{constructor(){super({id:"editor.action.insertLineBefore",label:y("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,pP.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class cU extends Se{constructor(){super({id:"editor.action.insertLineAfter",label:y("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,pP.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class HN 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];B.intersectRanges(g,f)===null?s.push(g):n[c+1]=B.plusRange(g,f)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(c=>Gn.replace(c,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class dU extends HN{constructor(){super({id:"deleteAllLeft",label:y("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:N.writable,kbOpts:{kbExpr:N.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(B.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 B(r,a,s.startLineNumber,1)}else return new B(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new B(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class hU extends HN{constructor(){super({id:"deleteAllRight",label:y("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:N.writable,kbOpts:{kbExpr:N.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 B(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new B(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(B.compareRangesUsingStarts),n}}class uU extends Se{constructor(){super({id:"editor.action.joinLines",label:y("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:N.writable,kbOpts:{kbExpr:N.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(B.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,E,R;const V=a.getLineLength(_.endLineNumber)-_.endColumn;if(_.isEmpty()||_.startLineNumber===_.endLineNumber){const Y=_.getStartPosition();Y.lineNumber<a.getLineCount()?(E=w+1,R=a.getLineMaxColumn(E)):(E=Y.lineNumber,R=a.getLineMaxColumn(Y.lineNumber))}else E=_.endLineNumber,R=a.getLineMaxColumn(E);let H=a.getLineContent(w);for(let Y=w+1;Y<=E;Y++){const ue=a.getLineContent(Y),Te=a.getLineFirstNonWhitespaceColumn(Y);if(Te>=1){let Oe=!0;H===""&&(Oe=!1),Oe&&(H.charAt(H.length-1)===" "||H.charAt(H.length-1)===" ")&&(Oe=!1,H=H.replace(/[\s\uFEFF\xA0]+$/g," "));const Ce=ue.substr(Te-1);H+=(Oe?" ":"")+Ce,Oe?D=Ce.length+1:D=Ce.length}else D=0}const J=new B(w,S,E,R);if(!J.isEmpty()){let Y;_.isEmpty()?(c.push(Gn.replace(J,H)),Y=new Kt(J.startLineNumber-f,H.length-D+1,w-f,H.length-D+1)):_.startLineNumber===_.endLineNumber?(c.push(Gn.replace(J,H)),Y=new Kt(_.startLineNumber-f,_.startColumn,_.endLineNumber-f,_.endColumn)):(c.push(Gn.replace(J,H)),Y=new Kt(_.startLineNumber-f,_.startColumn,_.startLineNumber-f,H.length-V)),B.intersectRanges(J,n)!==null?g=Y:h.push(Y)}f+=J.endLineNumber-J.startLineNumber}h.unshift(g),t.pushUndoStop(),t.executeEdits(this.id,c,h),t.pushUndoStop()}}class gU extends Se{constructor(){super({id:"editor.action.transpose",label:y("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:N.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 B(h.lineNumber,Math.max(1,h.column-1),h.lineNumber+1,1),p=n.getValueInRange(f).split("").reverse().join("");s.push(new Qp(new Kt(h.lineNumber,Math.max(1,h.column-1),h.lineNumber+1,1),p))}else{const f=new B(h.lineNumber,Math.max(1,h.column-1),h.lineNumber,h.column+1),p=n.getValueInRange(f).split("").reverse().join("");s.push(new NE(f,p,new Kt(h.lineNumber,h.column+1,h.lineNumber,h.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Bh 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 B(c.lineNumber,h.startColumn,c.lineNumber,h.endColumn),f=n.getValueInRange(g);r.push(Gn.replace(g,this._modifyText(f,s)))}else{const c=n.getValueInRange(a);r.push(Gn.replace(a,this._modifyText(c,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class fU extends Bh{constructor(){super({id:"editor.action.transformToUppercase",label:y("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:N.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class pU extends Bh{constructor(){super({id:"editor.action.transformToLowercase",label:y("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:N.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class _l{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 jb=class jb extends Bh{constructor(){super({id:"editor.action.transformToTitlecase",label:y("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:N.writable})}_modifyText(e,t){const i=jb.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};jb.titleBoundary=new _l("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let $v=jb;const Mu=class Mu extends Bh{constructor(){super({id:"editor.action.transformToSnakecase",label:y("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:N.writable})}_modifyText(e,t){const i=Mu.caseBoundary.get(),n=Mu.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};Mu.caseBoundary=new _l("(\\p{Ll})(\\p{Lu})","gmu"),Mu.singleLetters=new _l("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let Gf=Mu;const Ub=class Ub extends Bh{constructor(){super({id:"editor.action.transformToCamelcase",label:y("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:N.writable})}_modifyText(e,t){const i=Ub.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("")}};Ub.wordBoundary=new _l("[_\\s-]","gm");let qv=Ub;const Nu=class Nu extends Bh{constructor(){super({id:"editor.action.transformToPascalcase",label:y("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:N.writable})}_modifyText(e,t){const i=Nu.wordBoundary.get(),n=Nu.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("")}};Nu.wordBoundary=new _l("[_\\s-]","gm"),Nu.wordBoundaryToMaintain=new _l("(?<=\\.)","gm");let Kv=Nu;const Gl=class Gl extends Bh{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:N.writable})}_modifyText(e,t){const i=Gl.caseBoundary.get(),n=Gl.singleLetters.get(),s=Gl.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};Gl.caseBoundary=new _l("(\\p{Ll})(\\p{Lu})","gmu"),Gl.singleLetters=new _l("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Gl.underscoreBoundary=new _l("(\\S)(_)(\\S)","gm");let Gv=Gl;oe(Y6);oe(Q6);oe(J6);oe(eU);oe(tU);oe(iU);oe(nU);oe(sU);oe(Cx);oe(oU);oe(rU);oe(aU);oe(lU);oe(cU);oe(dU);oe(hU);oe(uU);oe(gU);oe(fU);oe(pU);Gf.caseBoundary.isSupported()&&Gf.singleLetters.isSupported()&&oe(Gf);qv.wordBoundary.isSupported()&&oe(qv);Kv.wordBoundary.isSupported()&&oe(Kv);$v.titleBoundary.isSupported()&&oe($v);Gv.isSupported()&&oe(Gv);var mU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},d_=function(o,e){return function(t,i){e(t,i,o)}},H_;const WN=new Fi("LinkedEditingInputVisible",!1),_U="linked-editing-decoration";var Cc;let Pg=(Cc=class extends $e{static get(e){return e.getContribution(H_.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new ze),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=WN.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 ze),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(ms.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new Dc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new Dc(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=dm(h,g);f+=v,h=h.substr(v),g=g.substr(v);const _=W2(h,g);p-=_,h=h.substr(0,h.length-_),g=g.substr(0,g.length-_),(f!==p||g.length!==0)&&s.push({range:new B(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 Es;try{const r=new xo(!1),a=await BN(this._providers,i,t,s.token);if(this._debounceInformation.update(i,r.elapsed()),s!==this._currentRequestCts||(this._currentRequestCts=null,n!==i.getVersionId()))return;let c=[];a!=null&&a.ranges&&(c=a.ranges),this._currentWordPattern=(a==null?void 0:a.wordPattern)||this._languageWordPattern;let h=!1;for(let f=0,p=c.length;f<p;f++)if(B.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:H_.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(g),this._syncRangesToken++}catch(r){Oc(r)||bn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},H_=Cc,Cc.ID="editor.contrib.linkedEditing",Cc.DECORATION=Ti.register({description:"linked-editing",stickiness:0,className:_U}),Cc);Pg=H_=mU([d_(1,Ki),d_(2,Et),d_(3,xs),d_(4,nr)],Pg);class vU extends Se{constructor(){super({id:"editor.action.linkedEditing",label:y("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:le.and(N.writable,N.hasRenameProvider),kbOpts:{kbExpr:N.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(os),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return fn.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))))},bn):super.runCommand(e,t)}run(e,t){const i=Pg.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const bU=go.bindToContribution(Pg.get);Tt(new bU({id:"cancelLinkedEditingInput",precondition:WN,handler:o=>o.clearRanges(),kbOpts:{kbExpr:N.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function BN(o,e,t,i){const n=o.ordered(e);return s1(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){ss(r);return}}),s=>!!s&&Oo(s==null?void 0:s.ranges))}wt("editor.linkedEditingBackground",{dark:Di.fromHex("#f00").transparent(.3),light:Di.fromHex("#f00").transparent(.3),hcDark:Di.fromHex("#f00").transparent(.3),hcLight:Di.white},y("editorLinkedEditingBackground","Background color when the editor auto renames on type."));fo("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(Et);return BN(i,e,t,mi.None)});bi(Pg.ID,Pg,1);oe(vU);let yU=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 Zv{constructor(e){this._disposables=new ze;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new yU(r,n));t=Zv._union(t,s),eP(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(B.areIntersectingOrTouching(c.range,h.range)){n++;continue}B.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 zN(o,e,t){const i=[],n=o.ordered(e).reverse().map((s,r)=>Promise.resolve(s.provideLinks(e,t)).then(a=>{a&&(i[r]=[a,s])},ss));return Promise.all(n).then(()=>{const s=new Zv(vl(i));return t.isCancellationRequested?(s.dispose(),new Zv([])):s})}In.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;Gi(t instanceof fn),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(Et),s=o.get(no).getModel(t);if(!s)return[];const r=await zN(n,s,mi.None);if(!r)return[];for(let c=0;c<Math.min(i,r.links.length);c++)await r.links[c].resolve(mi.None);const a=r.links.slice(0);return r.dispose(),a});var wU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},h_=function(o,e){return function(t,i){e(t,i,o)}},xx,Yd;let Mp=(Yd=class extends $e{static get(e){return e.getContribution(xx.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 _s(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new zy(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=Ds(t=>zN(this.providers,e,t));try{const t=new xo(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){bn(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(Fu.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 Fu(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(mi.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===ro.file&&s.startsWith(`${ro.file}:`)){const a=fn.parse(s);if(a.scheme===ro.file){const c=B2(a);let h=null;c.startsWith("/./")||c.startsWith("\\.\\")?h=`.${c.substr(1)}`:(c.startsWith("//./")||c.startsWith("\\\\.\\"))&&(h=`.${c.substr(2)}`),h&&(s=z2(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.")):bn(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()}},xx=Yd,Yd.ID="editor.linkDetector",Yd);Mp=xx=wU([h_(1,aa),h_(2,io),h_(3,Et),h_(4,nr)],Mp);const sD={general:Ti.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:Ti.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class Fu{static decoration(e,t){return{range:e.range,options:Fu._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?sD.active:sD.general};return n.hoverMessage=SU(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,Fu._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,Fu._getOptions(this.link,t,!1))}}function SU(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?za?y("links.navigate.kb.meta.mac","cmd + click"):y("links.navigate.kb.meta","ctrl + click"):za?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 Gs("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new Gs().appendText(`${i} (${n})`)}class CU extends Se{constructor(){super({id:"editor.action.openLink",label:y("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=Mp.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)}}}bi(Mp.ID,Mp,1);oe(CU);const DL=class DL extends $e{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})}))}};DL.ID="editor.contrib.longLinesHelper";let Xv=DL;bi(Xv.ID,Xv,2);const xU=wt("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);wt("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);wt("editor.wordHighlightTextBackground",xU,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 LU=wt("editor.wordHighlightBorder",{light:null,dark:null,hcDark:uh,hcLight:uh},y("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));wt("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:uh,hcLight:uh},y("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));wt("editor.wordHighlightTextBorder",LU,y("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const kU=wt("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),IU=wt("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),DU=wt("editorOverviewRuler.wordHighlightTextForeground",mP,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),EU=Ti.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:fs(IU),position:Oa.Center},minimap:{color:fs(Sy),position:1}}),PU=Ti.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:fs(DU),position:Oa.Center},minimap:{color:fs(Sy),position:1}}),TU=Ti.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:fs(mP),position:Oa.Center},minimap:{color:fs(Sy),position:1}}),MU=Ti.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),NU=Ti.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:fs(kU),position:Oa.Center},minimap:{color:fs(Sy),position:1}});function RU(o){return o===tv.Write?EU:o===tv.Text?PU:NU}function AU(o){return o?MU:TU}uy((o,e)=>{const t=o.getColor(V2);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var OU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},FU=function(o,e){return function(t,i){e(t,i,o)}},Lx;function Hc(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);rg(n)}}class HU extends Se{constructor(){super({id:"editor.action.insertCursorAbove",label:y("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:ut.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,n1.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Hc(r,s.getCursorStates())}}class WU extends Se{constructor(){super({id:"editor.action.insertCursorBelow",label:y("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:ut.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,n1.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Hc(r,s.getCursorStates())}}class BU 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:N.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:ut.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),Hc(r,s.getCursorStates())}}class zU 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),Hc(a,r.getCursorStates())}}class VU 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),Hc(r,s.getCursorStates())}}class u_{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class Np{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new Np(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 Np(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 u_(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 u_(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 u_(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 u_(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 $b=class $b extends $e{static get(e){return e.getContribution($b.ID)}constructor(e){super(),this._sessionDispose=this._register(new ze),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=Np.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(!VN(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)))}}};$b.ID="editor.contrib.multiCursorController";let Tg=$b;class $g extends Se{run(e,t){const i=Tg.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=ho.get(t);if(r)this._run(i,r);else{const a=e.get(li).createInstance(ho,t);this._run(i,a),a.dispose()}Hc(s,n.getCursorStates())}}}class jU extends $g{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:N.focus,primary:2082,weight:100},menuOpts:{menuId:ut.MenubarSelectionMenu,group:"3_multi",title:y({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class UU extends $g{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:ut.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 $U extends $g{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:N.focus,primary:ds(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class qU extends $g{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 KU extends $g{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:N.focus,primary:3114,weight:100},menuOpts:{menuId:ut.MenubarSelectionMenu,group:"3_multi",title:y({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class GU extends $g{constructor(){super({id:"editor.action.changeAll",label:y("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:le.and(N.writable,N.editorTextFocus),kbOpts:{kbExpr:N.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class ZU{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(B.compareRangesUsingStarts)),this._cachedFindMatches}}var Qd;let Yv=(Qd=class extends $e{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new _s(()=>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=ho.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(Lx._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=Tg.get(i);if(!s)return null;const r=ho.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(!VN(i.getModel(),g,p))return null}a=Np.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 ZU(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(B.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 _=B.compareRangesUsingStarts(v,n[g]);_<0?((n[g].isEmpty()||!B.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:AU(a)}));this._decorations.set(c)}dispose(){this._setState(null),super.dispose()}},Lx=Qd,Qd.ID="editor.contrib.selectionHighlighter",Qd);Yv=Lx=OU([FU(1,Et)],Yv);function VN(o,e,t){const i=oD(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=oD(o,r,!t);if(i!==a)return!1}return!0}function oD(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class XU 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),Hc(s,n.getCursorStates()))}}class YU 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),Hc(s,n.getCursorStates()))}}bi(Tg.ID,Tg,4);bi(Yv.ID,Yv,1);oe(HU);oe(WU);oe(BU);oe(jU);oe(UU);oe($U);oe(qU);oe(KU);oe(GU);oe(zU);oe(VU);oe(XU);oe(YU);const QU="editor.action.inlineEdit.accept",JU="editor.action.inlineEdit.reject",e$="editor.action.inlineEdit.jumpTo",t$="editor.action.inlineEdit.jumpBack";var i$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};const Zw="inline-edit";let kx=class extends $e{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Fo(this,!1),this.currentTextModel=vo(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=on(this,n=>{var E;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=(E=this.model.range)==null?void 0:E.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(R=>R.length===0),g=[],f=[];function p(R,V){if(f.length>0){const H=f[f.length-1];V&&H.decorations.push(new gp(H.content.length+1,H.content.length+1+R[0].length,V,0)),H.content+=R[0],R=R.slice(1)}for(const H of R)f.push({content:H,decorations:V?[new gp(1,H.length+1,V,0)]:[]})}const v=s.getLineContent(r.lineNumber);let _,w=0;if(!h&&(c||!a)){for(const R of r.parts){let V=R.lines;a&&!c&&(p(V,Zw),V=[]),_===void 0?(g.push({column:R.column,text:V[0],preview:R.preview}),V=V.slice(1)):p([v.substring(w,R.column-1)],void 0),V.length>0&&(p(V,Zw),_===void 0&&R.column<=v.length&&(_=R.column)),w=R.column-1}_!==void 0&&p([v.substring(w)],void 0)}const S=_!==void 0?new CN(_,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=on(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 B(g,f,g,p);a.push(v)}}for(const c of a)r.push({range:c,options:o1})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new B(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:r1})}for(const a of s.inlineTexts)r.push({range:B.fromPositions(new Dt(s.lineNumber,a.column)),options:{description:Zw,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:vu.Left},showIfCollapsed:!0}});return r}),this._register(Tn(()=>{this.isDisposed.set(!0,void 0)})),this._register(xN(this.editor,this.decorations))}};kx=i$([n$(2,ca)],kx);var nL=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ka=function(o,e){return function(t,i){e(t,i,o)}},W_;let Ix=class extends $e{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=on(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(om((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(Dx,this.editor,!0,this.position));e.addContentWidget(a),s.add(Tn(()=>e.removeContentWidget(a)))}))}};Ix=nL([ka(2,li)],Ix);var xc;let Dx=(xc=class extends $e{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${W_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=vr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[vr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(ut.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(Ex,this.nodes.toolBar,this.editor,ut.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,c)=>{if(a instanceof dg)return n.createInstance(s$,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{W_._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 dg&&c.push(f);c.length>0&&c.unshift(new ap),this.toolBar.setAdditionalSecondaryActions(c)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},W_=xc,xc._dropDownVisible=!1,xc.id=0,xc);Dx=W_=nL([ka(3,li),ka(4,Ki),ka(5,Th)],Dx);class s$ extends bE{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=vr("div.keybinding").root;this._register(new B0(t,z0,{disableTitle:!0,...yE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let Ex=class extends wE{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=[];K0(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){Ba(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};Ex=nL([ka(4,Th),ka(5,Ki),ka(6,Rg),ka(7,hs),ka(8,Cs),ka(9,la)],Ex);var jN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},B_=function(o,e){return function(t,i){e(t,i,o)}},Ef,Px;function*o$(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function Xw(o){var i;const e=((i=o[0].match(/^\s*/))==null?void 0:i[0])??"",t=e.length;return{text:o.map(n=>n.replace(new RegExp("^"+e),"")),shift:t}}var Jd;let Tx=(Jd=class extends $e{static _createUniqueUri(){return fn.from({scheme:"inline-edit-widget",path:new Date().toString()+String(Ef._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=on(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(o$(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=on(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const c=Xw(a.text.split(`
58
+ `));return{text:c.text.join(`
59
+ `),shift:c.shift}}),this._originalModel=Ec(()=>this._modelService.createModel("",null,Ef._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Ec(()=>this._modelService.createModel("",null,Ef._createUniqueUri())).keepObserved(this._store),this._diff=on(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=on(this,r=>{const a=this._model.read(r);if(!a)return;const c=this._editor.getModel();if(!c)return;const h=Xw(c.getValueInRange(a.range).split(`
60
+ `)).text.join(`
61
+ `),g=Xw(a.text.split(`
62
+ `)).text.join(`
63
+ `);this._originalModel.get().setValue(h),this._modifiedModel.get().setValue(g);const f=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return _P.fromFn(async()=>{const p=await f.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},mi.None);if(!p.identical)return p.changes})}),this._register(om((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const h=a.add(this._instantiationService.createInstance(Mx,this._editor,this._position,this._text.map(g=>g.text),this._text.map(g=>g.shift),this._diff));e.addOverlayWidget(h),a.add(Tn(()=>e.removeOverlayWidget(h)))}))}},Ef=Jd,Jd._modelId=0,Jd);Tx=Ef=jN([B_(2,li),B_(3,a1),B_(4,no)],Tx);var eh;let Mx=(eh=class extends $e{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${Px.id++}`,this.allowEditorOverflow=!1,this._nodes=yt("div.inlineEditSideBySide",void 0),this._scrollChanged=md("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(Ir,this._nodes,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,scrollbar:{vertical:"hidden",horizontal:"hidden",alwaysConsumeMouseWheel:!1,handleMouseWheel:!1},readOnly:!0,wordWrap:"off",wordWrapOverride1:"off",wordWrapOverride2:"off",wrappingIndent:"none",wrappingStrategy:void 0},{contributions:[],isSimpleWidget:!0},this._editor)),this._previewEditorObs=Da(this._previewEditor),this._editorObs=Da(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(ec,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??hp,ec.DEFAULT_CREATION_OPTIONS,null)),this._setText=on(c=>{const h=this._text.read(c);h&&this._previewTextModel.setValue(h)}).recomputeInitiallyAndOnChange(this._store),this._decorations=on(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 B(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:r1}),w.modified.isEmpty||p.push({range:w.modified.toInclusiveRange(),options:vP}),w.modified.isEmpty||w.original.isEmpty)w.original.isEmpty||f.push({range:_(w.original.toInclusiveRange()),options:bP}),w.modified.isEmpty||p.push({range:w.modified.toInclusiveRange(),options:yP});else for(const S of w.innerChanges||[])w.original.contains(S.originalRange.startLineNumber)&&f.push({range:_(S.originalRange),options:S.originalRange.isEmpty()?wP:o1}),w.modified.contains(S.modifiedRange.startLineNumber)&&p.push({range:S.modifiedRange,options:S.modifiedRange.isEmpty()?SP:CP});return{org:f,mod:p}}),this._originalDecorations=on(this,c=>this._decorations.read(c).org),this._modifiedDecorations=on(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}}}},Px=eh,eh.id=0,eh);Mx=Px=jN([B_(5,li)],Mx);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},Zc=function(o,e){return function(t,i){e(t,i,o)}},Pf,Jo;let Qs=(Jo=class extends $e{static get(e){return e.getContribution(Pf.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=Pf.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=Pf.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=Fo(this,void 0),this._currentWidget=Ec(this._currentEdit,_=>{const w=this._currentEdit.read(_);if(!w)return;const S=w.range.endLineNumber,D=w.range.endColumn,E=w.text.endsWith(`
65
+ `)&&!(w.range.startLineNumber===w.range.endLineNumber&&w.range.startColumn===w.range.endColumn)?w.text.slice(0,-1):w.text,R=new Ip(S,[new Pv(D,E,!1)]),V=w.range.startLineNumber===w.range.endLineNumber&&R.parts.length===1&&R.parts[0].lines.length===1,H=w.text==="";return!V&&!H?void 0:this.instantiationService.createInstance(kx,this.editor,{ghostText:cl(R),minReservedLineCount:cl(0),targetTextModel:cl(this.editor.getModel()??void 0),range:cl(w.range)})}),this._isAccepting=Fo(this,!1),this._enabled=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const h=md("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(Vn(_=>{this._enabled.read(_)&&(h.read(_),!this._isAccepting.read(_)&&this.getInlineEdit(e,!0))}));const g=vo(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=md("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=md("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(Vn(_=>{this._enabled.read(_)&&(p.read(_),this.getInlineEdit(e,!0))}));const v=this._register(qE());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 Ix(this.editor,this._currentWidget,this.instantiationService)),this._register(new Tx(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(B.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 Es;const a=this._currentRequestCts.token,c=t?mk.Automatic:mk.Invoke;if(t&&await a$(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",[Gn.replace(B.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,ss),this.freeEdit(e),Mh(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,ss),t&&this.freeEdit(t),this._currentEdit.set(void 0,void 0)}freeEdit(e){const t=this.editor.getModel();if(!t)return;const i=this.languageFeaturesService.inlineEditProvider.all(t);i.length!==0&&i[0].freeInlineEdit(e)}},Pf=Jo,Jo.ID="editor.contrib.inlineEditController",Jo.inlineEditVisibleKey="inlineEditVisible",Jo.inlineEditVisibleContext=new Fi(Jo.inlineEditVisibleKey,!1),Jo.cursorAtInlineEditKey="cursorAtInlineEdit",Jo.cursorAtInlineEditContext=new Fi(Jo.cursorAtInlineEditKey,!1),Jo);Qs=Pf=r$([Zc(1,li),Zc(2,Ki),Zc(3,Et),Zc(4,Cs),Zc(5,Nn),Zc(6,a1),Zc(7,no)],Qs);function a$(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 l$=class extends Se{constructor(){super({id:QU,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:le.and(N.writable,Qs.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:le.and(N.writable,Qs.inlineEditVisibleContext,Qs.cursorAtInlineEditContext)}],menuOpts:[{menuId:ut.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=Qs.get(t);await(i==null?void 0:i.accept())}};class c$ extends Se{constructor(){const e=le.and(N.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 d$ extends Se{constructor(){const e=le.and(N.writable,Qs.inlineEditVisibleContext,le.not(Qs.cursorAtInlineEditKey));super({id:e$,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:ut.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 h$ extends Se{constructor(){const e=le.and(N.writable,Qs.cursorAtInlineEditContext);super({id:t$,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:ut.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=Qs.get(t);i==null||i.jumpBack()}}class u$ extends Se{constructor(){const e=le.and(N.writable,Qs.inlineEditVisibleContext);super({id:JU,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:ut.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=Qs.get(t);await(i==null?void 0:i.clear())}}oe(l$);oe(u$);oe(d$);oe(h$);oe(c$);bi(Qs.ID,Qs,3);const g$="editor.action.inlineEdits.accept",f$="editor.action.inlineEdits.showPrevious",p$="editor.action.inlineEdits.showNext",Mg=new Fi("inlineEditsVisible",!1,y("inlineEditsVisible","Whether an inline edit is visible")),m$=new Fi("inlineEditsIsPinned",!1,y("isPinned","Whether an inline edit is visible")),EL=class EL extends $e{constructor(e){super(),this._editor=e,this._editorObs=Da(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=al({owner:this,equalsFn:xP},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=_$(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=SE((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=vr("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:cl(0),position:cl(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};EL.ID="editor.contrib.placeholderText";let Rp=EL;function _$(o,e){return fy(o,(t,i)=>i===!0?!0:e(t))}var v$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},b$=function(o,e){return function(t,i){e(t,i,o)}};class y${constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let Nx=class extends $e{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=Da(this._editor),this._elements=vr("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[vr("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[vr("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),vr("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),vr("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),Gh("svg",{style:{overflow:"visible",pointerEvents:"none"}},[Gh("defs",[Gh("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[Gh("stop",{offset:"0%",class:"gradient-stop"}),Gh("stop",{offset:"100%",class:"gradient-stop"})])]),Gh("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(ec,"",hp,ec.DEFAULT_CREATION_OPTIONS,null)),this._setText=on(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(ec,"",hp,ec.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(Ir,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:j2},{contributions:U2.getSomeEditorContributions([wr.ID,Rp.ID,xg.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(Ir,this._elements.editor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0},{contributions:[]},this._editor)),this._previewEditorObs=Da(this._previewEditor),this._decorations=on(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:r1}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:vP}),f.modified.isEmpty||f.original.isEmpty)f.original.isEmpty||c.push({range:f.original.toInclusiveRange(),options:bP}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:yP});else for(const p of f.innerChanges||[])f.original.contains(p.originalRange.startLineNumber)&&c.push({range:p.originalRange,options:p.originalRange.isEmpty()?wP:o1}),f.modified.contains(p.modifiedRange.startLineNumber)&&h.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?SP:CP});return h}),this._layout1=on(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=on(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 ku(g,f),_=new ku(g,p),w=p-f,S=50,D=this._editor.getOption(67)*a.newLines.length,E=w-D,R=new ku(g+S,f+E/2),V=new ku(g+S,p-E/2);return{topCode:v,bottomCode:_,codeHeight:w,topEdit:R,bottomEdit:V,editHeight:D}});const s=on(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register($2(this._elements.root,{display:on(this,r=>s.read(r)?"block":"none")})),this._register(q2(this._editor.getDomNode(),this._elements.root)),this._register(Da(e).createOverlayWidget({domNode:this._elements.root,position:cl(null),allowEditorOverflow:!1,minContentWidthInPx:on(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 S$().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(C$(w$(this._userPrompt,r=>r??"",r=>r),Da(this._promptEditor).value)),this._register(Vn(r=>{const a=Da(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};Nx=v$([b$(3,li)],Nx);function w$(o,e,t){return LP(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class ku{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new ku(this.x+e,this.y)}}class S${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 C$(o,e){const t=new ze;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 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},Yw=function(o,e){return function(t,i){e(t,i,o)}},Tf,th;let Rx=(th=class extends $e{static _createUniqueUri(){return fn.from({scheme:"inline-edits",path:new Date().toString()+String(Tf._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=e1(this),this._selectedInlineCompletionId=Fo(this,void 0),this._isActive=Fo(this,!1),this._originalModel=Ec(()=>this._modelService.createModel("",null,Tf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Ec(()=>this._modelService.createModel("",null,Tf._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new k$(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(c=>!!c),this.userPrompt=Fo(this,void 0),this.inlineEdit=on(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=on(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 E;const D=((E=S[0].match(/^\s*/))==null?void 0:E[0])??"";return S.map(R=>R.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 _P.fromFn(async()=>{const S=await w.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},mi.None);if(!S.identical)return new y$(K2.fromRangeInclusive(g),p(f),S.changes)})}),this._fetchStore=this._register(new ze),this._inlineEditsFetchResult=_S(this,void 0),this._inlineEdits=al({owner:this,equalsFn:xP},c=>{var h;return((h=this._inlineEditsFetchResult.read(c))==null?void 0:h.completions.map(g=>new L$(g)))??[]}),this._fetchInlineEditsPromise=tP({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:fl.Automatic}),handleChange:(c,h)=>(c.didChange(this._forceUpdateExplicitlySignal)&&(h.inlineCompletionTriggerKind=fl.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=bS(this._fetchStore);await wy(200,v);const _=await LN(this.languageFeaturesService.inlineCompletionsProvider,f,this.textModel,p,v);v.isCancellationRequested||this._inlineEditsFetchResult.set(_,void 0)}),this._filteredInlineEditItems=al({owner:this,equalsFn:vS()},c=>this._inlineEdits.read(c)),this.selectedInlineCompletionIndex=on(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=on(this,c=>{const h=this._filteredInlineEditItems.read(c),g=this.selectedInlineCompletionIndex.read(c);return h[g]}),this._register(iP(this._fetchInlineEditsPromise))}async triggerExplicitly(e){Q_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){Q_(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 hg;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},Tf=th,th._modelId=0,th);Rx=Tf=x$([Yw(4,Et),Yw(5,a1),Yw(6,no)],Rx);class L${constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class k$ extends $e{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Fo(this,[]),this.range=on(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(Tn(()=>{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 I$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},pf=function(o,e){return function(t,i){e(t,i,o)}},Ax,ih;let kl=(ih=class extends $e{static get(e){return e.getContribution(Ax.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=G2("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Da(this.editor),this._selection=on(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=Ec(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(yS(Rx,a),c,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=fy(this,(a,c)=>{var h;return c||((h=this.model.read(a))==null?void 0:h.inlineEdit.read(a))!==void 0}),this._widget=Ec(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(yS(Nx,a),this.editor,this.model.map((c,h)=>c==null?void 0:c.inlineEdit.read(h)),D$(c=>{var h;return((h=this.model.read(c))==null?void 0:h.userPrompt)??Fo("empty","")}))}),this._register(_k(Mg,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.inlineEdit.read(a))})),this._register(_k(m$,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)}},Ax=ih,ih.ID="editor.contrib.inlineEditsController",ih);kl=Ax=I$([pf(1,li),pf(2,Ki),pf(3,nr),pf(4,Et),pf(5,Nn)],kl);function D$(o){return LP(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function km(o){return{label:o.value,alias:o.original}}const qb=class qb extends Se{constructor(){super({id:qb.ID,...km(Lt("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:le.and(N.writable,Mg),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=kl.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};qb.ID=p$;let Ox=qb;const Kb=class Kb extends Se{constructor(){super({id:Kb.ID,...km(Lt("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:le.and(N.writable,Mg),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=kl.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Kb.ID=f$;let Fx=Kb;class E$ extends Se{constructor(){super({id:"editor.action.inlineEdits.trigger",...km(Lt("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:N.writable})}async run(e,t){const i=kl.get(t);await uP(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class P$ extends Se{constructor(){super({id:g$,...km(Lt("action.inlineEdits.accept","Accept Inline Edit")),precondition:Mg,menuOpts:{menuId:ut.InlineEditsActions,title:y("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Qt.check},kbOpts:{primary:2058,weight:2e4,kbExpr:Mg}})}async run(e,t){var n;t instanceof Ir&&(t=t.getParentEditor());const i=kl.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const Gb=class Gb extends Se{constructor(){super({id:Gb.ID,...km(Lt("action.inlineEdits.hide","Hide Inline Edit")),precondition:Mg,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=kl.get(t);Mh(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};Gb.ID="editor.action.inlineEdits.hide";let Hx=Gb;bi(kl.ID,kl,3);oe(E$);oe(Ox);oe(Fx);oe(P$);oe(Hx);const Ih={Visible:new Fi("parameterHintsVisible",!1),MultipleSignatures:new Fi("parameterHintsMultipleSignatures",!1)};async function UN(o,e,t,i,n){const s=o.ordered(e);for(const r of s)try{const a=await r.provideSignatureHelp(e,t,n,i);if(a)return a}catch(a){ss(a)}}In.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;Gi(fn.isUri(t)),Gi(Dt.isIPosition(i)),Gi(typeof n=="string"||!n);const s=o.get(Et),r=await o.get(da).createModelReference(t);try{const a=await UN(s.signatureHelpProvider,r.object.textEditorModel,Dt.lift(i),{triggerKind:ac.Invoke,isRetrigger:!1,triggerCharacter:n},mi.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var $l;(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})($l||($l={}));const Zb=class Zb extends $e{constructor(e,t,i=Zb.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new pi),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=$l.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Wo),this.triggerChars=new X_,this.retriggerChars=new X_,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Dc(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=$l.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(bn)}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 $l.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(T$);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 $l.Pending(Ds(c=>UN(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 $l.Active(c.value),this._lastSignatureHelpResult.value=c,this._onChangedHints.fire(this.state.hints),!0)}catch(c){return e===this.triggerId&&(this.state=$l.Default),bn(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:ac.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:ac.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:ac.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};Zb.DEFAULT_DELAY=120;let Wx=Zb;function T$(o,e){switch(e.triggerKind){case ac.Invoke:return e;case ac.ContentChange:return o;case ac.TriggerCharacter:default:return e}}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},g_=function(o,e){return function(t,i){e(t,i,o)}},Bx;const Do=yt,N$=ts("parameter-hints-next",Qt.chevronDown,y("parameterHintsNextIcon","Icon for show next parameter hint.")),R$=ts("parameter-hints-previous",Qt.chevronUp,y("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var nh;let zx=(nh=class extends $e{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new ze),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new Hg({editor:e},s,n)),this.keyVisible=Ih.Visible.bindTo(i),this.keyMultipleSignatures=Ih.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=Do(".editor-widget.parameter-hints-widget"),t=pt(e,Do(".phwrapper"));t.tabIndex=-1;const i=pt(t,Do(".controls")),n=pt(i,Do(".button"+Yi.asCSSSelector(R$))),s=pt(i,Do(".overloads")),r=pt(i,Do(".button"+Yi.asCSSSelector(N$)));this._register(qi(n,"click",p=>{Z_.stop(p),this.previous()})),this._register(qi(r,"click",p=>{Z_.stop(p),this.next()}));const a=Do(".body"),c=new rP(a,{alwaysConsumeMouseWheel:!0});this._register(c),t.appendChild(c.getDomNode());const h=pt(a,Do(".signature")),g=pt(a,Do(".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",q0.fontFamily)};f(),this._register(ms.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=pt(this.domNodes.signature,Do(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const h=pt(n,Do("span"));h.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const h=Do("span.documentation");if(typeof a.documentation=="string")h.textContent=a.documentation;else{const g=this.renderMarkdownDocs(a.documentation);h.appendChild(g.element)}pt(this.domNodes.docs,Do("p",{},h))}if(i.documentation!==void 0)if(typeof i.documentation=="string")pt(this.domNodes.docs,Do("p",{},i.documentation));else{const h=this.renderMarkdownDocs(i.documentation);pt(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&&(Lr(y("hint","{0}, hint",h)),this.announcedLabel=h)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new xo,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"&&bu(t.documentation).length>0||t&&typeof t.documentation=="object"&&bu(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&bu(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&bu(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),pt(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|^)${rp(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 Bx.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)}},Bx=nh,nh.ID="editor.widget.parameterHintsWidget",nh);zx=Bx=M$([g_(2,Ki),g_(3,aa),g_(4,ca),g_(5,la)],zx);wt("editorHoverWidget.highlightForeground",dP,y("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var A$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},rD=function(o,e){return function(t,i){e(t,i,o)}},Vx,sh;let Ng=(sh=class extends $e{static get(e){return e.getContribution(Vx.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new Wx(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 H0(()=>this._register(t.createInstance(zx,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)}},Vx=sh,sh.ID="editor.controller.parameterHints",sh);Ng=Vx=A$([rD(1,li),rD(2,Et)],Ng);class O$ extends Se{constructor(){super({id:"editor.action.triggerParameterHints",label:y("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:N.hasSignatureHelpProvider,kbOpts:{kbExpr:N.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=Ng.get(t);i==null||i.trigger({triggerKind:ac.Invoke})}}bi(Ng.ID,Ng,2);oe(O$);const sL=175,oL=go.bindToContribution(Ng.get);Tt(new oL({id:"closeParameterHints",precondition:Ih.Visible,handler:o=>o.cancel(),kbOpts:{weight:sL,kbExpr:N.focus,primary:9,secondary:[1033]}}));Tt(new oL({id:"showPrevParameterHint",precondition:le.and(Ih.Visible,Ih.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:sL,kbExpr:N.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));Tt(new oL({id:"showNextParameterHint",precondition:le.and(Ih.Visible,Ih.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:sL,kbExpr:N.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var F$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};class W${constructor(e){this.instantiationService=e}init(...e){}}function B$(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=om((n,s)=>{const r=yS(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function z$(o){return Z2()?B$(o,jx):o()}let jx=class extends W${constructor(e,t){super(t),this.init(e)}};jx=F$([H$(1,li)],jx);bi(Rp.ID,z$(()=>Rp),0);wt("editor.placeholder.foreground",X2,y("placeholderForeground","Foreground color of the placeholder text in the editor."));var V$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},f_=function(o,e){return function(t,i){e(t,i,o)}};const qg=new Fi("renameInputVisible",!1,y("renameInputVisible","Whether the rename input widget is visible"));new Fi("renameInputFocused",!1,y("renameInputFocused","Whether the rename input widget is focused"));let Ux=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 ze,this._visibleContextKey=qg.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new xo,this._inputWithButton=new j$,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 rL(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(Y2),i=e.getColor(Q2);this._domNode.style.backgroundColor=String(e.getColor(aP)??""),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(J2)??"");const n=e.getColor(eF);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(vk)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(vk)??""),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;Gi(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=rm(this.getDomNode().ownerDocument.body),t=lo(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}=Ap.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;Gi(this._renameCandidateListView),Gi(this._nPxAvailableAbove!==void 0),Gi(this._nPxAvailableBelow!==void 0);const t=_u(this._inputWithButton.domNode),i=_u(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:hr(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 ze;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(qi(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),c.add(qi(this._inputWithButton.button,jn.KEY_DOWN,g=>{const f=new l1(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(Tn(()=>{this._renameCts=void 0,s.dispose(!0)})),c.add(Tn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),c.add(Tn(()=>this._candidates.clear()));const h=new cy;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"),Gi(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),Gi(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new Es;const i=t?wS.Invoke:wS.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){Gi(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!B.isEmpty(i)&&!B.spansMultipleLines(i)&&B.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"&&w_(h.value)?h.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=uE(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)}};Ux=V$([f_(2,Dr),f_(3,hs),f_(4,Ki),f_(5,Nh)],Ux);class rL{constructor(e,t){this._disposables=new ze,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=rL._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(hP({listInactiveFocusForeground:lP,listInactiveFocusBackground:cP}))}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`,rg(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}=Ap.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 Ap(r,i)}renderElement(r,a,c){c.populate(r)}disposeTemplate(r){r.dispose()}};return new V0("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class j${constructor(){this._onDidInputChange=new pi,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new ze}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=tF().setupManagedHover(by("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(qi(this.input,jn.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(qi(this.input,jn.KEY_DOWN,e=>{const t=new l1(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(qi(this.input,jn.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(qi(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(qi(this.input,jn.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return Gi(this._inputNode),this._inputNode}get button(){return Gi(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=SS(Qt.sparkle)),Fa(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute("aria-label","Generating new name suggestions"),(e=this._buttonHover)==null||e.update(this._buttonGenHoverText),this.input.focus()}setStopButton(){var e;this._buttonState="stop",this._stopIcon??(this._stopIcon=SS(Qt.primitiveSquare)),Fa(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute("aria-label","Cancel generating new name suggestions"),(e=this._buttonHover)==null||e.update(this._buttonCancelHoverText),this.input.focus()}dispose(){this._disposables.dispose()}}const ip=class ip{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=`${ip._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=SS(Qt.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),QE(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(iF.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+ip._PADDING*2}}dispose(){}};ip._PADDING=2;let Ap=ip;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},Vl=function(o,e){return function(t,i){e(t,i,o)}},$x;class aL{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 B(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
76
+ `):void 0}:{range:B.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 $$(o,e,t,i){const n=new aL(e,t,o),s=await n.resolveRenameLocation(mi.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,mi.None)}var oh;let Rc=(oh=class{static get(e){return e.getContribution($x.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 ze,this._cts=new Es,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Ux,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 Es,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new aL(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new sg(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 dy?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"||b_(S))&&((_=wo.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=wo.get(this.editor))==null||w.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new sg(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 E=h.slice();return S===wS.Automatic&&(E=E.filter(([R,V])=>V)),E.map(([R])=>R.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(B.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&&Lr(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)}},$x=oh,oh.ID="editor.contrib.renameController",oh);Rc=$x=U$([Vl(1,li),Vl(2,io),Vl(3,ay),Vl(4,tm),Vl(5,Nh),Vl(6,nF),Vl(7,Et),Vl(8,la)],Rc);class q$ extends Se{constructor(){super({id:"editor.action.rename",label:y("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:le.and(N.writable,N.hasRenameProvider),kbOpts:{kbExpr:N.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(os),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return fn.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))))},bn):super.runCommand(e,t)}run(e,t){const i=e.get(Nh),n=Rc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}bi(Rc.ID,Rc,4);oe(q$);const lL=go.bindToContribution(Rc.get);Tt(new lL({id:"acceptRenameInput",precondition:qg,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:le.and(N.focus,le.not("isComposing")),primary:3}}));Tt(new lL({id:"acceptRenameInputWithPreview",precondition:le.and(qg,le.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:le.and(N.focus,le.not("isComposing")),primary:2051}}));Tt(new lL({id:"cancelRenameInput",precondition:qg,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:N.focus,primary:9,secondary:[1033]}}));an(class extends uo{constructor(){super({id:"focusNextRenameSuggestion",title:{...Lt("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:qg,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(os).getFocusedCodeEditor();if(!t)return;const i=Rc.get(t);i&&i.focusNextRenameSuggestion()}});an(class extends uo{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...Lt("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:qg,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(os).getFocusedCodeEditor();if(!t)return;const i=Rc.get(t);i&&i.focusPreviousRenameSuggestion()}});fo("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;Gi(typeof n=="string");const{renameProvider:s}=o.get(Et);return $$(s,e,t,n)});fo("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(Et),s=await new aL(e,t,i).resolveRenameLocation(mi.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});ra.as(im.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 K$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Ju;let Qv=(Ju=class extends $e{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 _s(()=>{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=>G$(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()}},Ju.ID="editor.sectionHeaderDetector",Ju);Qv=K$([aD(1,xs),aD(2,Tl)],Qv);function G$(o){return{range:o.range,options:Ti.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}bi(Qv.ID,Qv,1);function Z$(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 X$(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return sF()||Z$(e),oF.wrap(e)}function $N(o){const e=new Uint32Array(Y$(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 X$(e)}function Y$(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 Yy(o){return o&&!!o.data}function qN(o){return o&&Array.isArray(o.edits)}class Q${constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function KN(o,e){return o.has(e)}function J$(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function GN(o,e,t,i,n){const s=J$(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||!Yy(c)&&!qN(c))&&(c=null),new Q$(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 e5(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class t5{constructor(e,t){this.provider=e,this.tokens=t}}function i5(o,e){return o.has(e)}function ZN(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function cL(o,e,t,i){const n=ZN(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(c){ss(c),a=null}return(!a||!Yy(a))&&(a=null),new t5(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}In.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;Gi(t instanceof fn);const i=o.get(no).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Et),s=e5(n,i);return s?s[0].getLegend():o.get(Cs).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});In.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;Gi(t instanceof fn);const i=o.get(no).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Et);if(!KN(n,i))return o.get(Cs).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await GN(n,i,null,null,mi.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!Yy(a))return;const c=$N({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),c});In.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;Gi(t instanceof fn);const n=o.get(no).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Et),r=ZN(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!B.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 cL(s,n,B.lift(i),mi.None);if(a)return a.provider.getLegend()});In.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;Gi(t instanceof fn),Gi(B.isIRange(i));const n=o.get(no).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Et),r=await cL(s,n,B.lift(i),mi.None);if(!(!r||!r.tokens))return $N({id:0,type:"full",data:r.tokens.data})});const dL="editor.semanticHighlighting";function z_(o,e,t){var n;const i=(n=t.getValue(dL,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var XN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ia=function(o,e){return function(t,i){e(t,i,o)}},Ul;let qx=class extends $e{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=g=>{this._watchers[g.uri.toString()]=new Kx(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()];z_(g,i,n)?f||a(g):f&&c(g,f)}};t.getModels().forEach(g=>{z_(g,i,n)&&a(g)}),this._register(t.onModelAdded(g=>{z_(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(dL)&&h()})),this._register(i.onDidColorThemeChange(h))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};qx=XN([Ia(0,c1),Ia(1,no),Ia(2,Dr),Ia(3,Nn),Ia(4,nr),Ia(5,Et)],qx);var Lc;let Kx=(Lc=class extends $e{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:Ul.REQUEST_MIN_DELAY,max:Ul.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new _s(()=>this._fetchDocumentSemanticTokensNow(),Ul.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=()=>{Xs(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),Xs(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!KN(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new Es,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=GN(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 xo(!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&&(Oc(c)||typeof c.message=="string"&&c.message.indexOf("busy")!==-1)||bn(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(qN(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&&(Ul._copy(c,g-_,h,f-_,_),f-=_),v.data&&(Ul._copy(v.data,0,h,f-v.data.length,v.data.length),f-=v.data.length),g=v.start}g>0&&Ul._copy(c,0,h,0,g),t={resultId:t.resultId,data:h}}}if(Yy(t)){this._currentDocumentResponse=new n5(e,t.resultId,t.data);const a=kP(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()}},Ul=Lc,Lc.REQUEST_MIN_DELAY=300,Lc.REQUEST_MAX_DELAY=2e3,Lc);Kx=Ul=XN([Ia(1,c1),Ia(2,Dr),Ia(3,nr),Ia(4,Et)],Kx);class n5{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}Fg(qx);var s5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mf=function(o,e){return function(t,i){e(t,i,o)}},eg;let Jv=(eg=class extends $e{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 _s(()=>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(dL)&&(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(!z_(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!i5(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=Ds(r=>Promise.resolve(cL(this._provider,e,t,r))),s=new xo(!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,kP(c,h,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},eg.ID="editor.contrib.viewportSemanticTokens",eg);Jv=s5([mf(1,c1),mf(2,Dr),mf(3,Nn),mf(4,nr),mf(5,Et)],Jv);bi(Jv.ID,Jv,1);class o5{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(bk(f)&&yk(g))break;g=f}for(c+=1;h<s.length;h++){const f=s.charCodeAt(h);if(yk(f)&&bk(g))break;if(f===95||f===45)break;g=f}c<h&&e.push({range:new B(i.lineNumber,r+c,i.lineNumber,r+h)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new B(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 B(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}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},a5=function(o,e){return function(t,i){e(t,i,o)}},Gx;class hL{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 hL(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var rh;let Op=(rh=class{static get(e){return e.getContribution(Gx.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 QN(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),mi.None).then(s=>{var r;if(!(!Oo(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!Ba(this._editor.getSelections(),t,(a,c)=>a.equalsSelection(c)))){for(let a=0;a<s.length;a++)s[a]=s[a].filter(c=>c.containsPosition(t[a].getStartPosition())&&c.containsPosition(t[a].getEndPosition())),s[a].unshift(t[a]);this._state=s.map(a=>new hL(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}}},Gx=rh,rh.ID="editor.contrib.smartSelectController",rh);Op=Gx=r5([a5(1,Et)],Op);class YN extends Se{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=Op.get(t);i&&await i.run(this._forward)}}class l5 extends YN{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:y("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:ut.MenubarSelectionMenu,group:"1_basic",title:y({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}In.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class c5 extends YN{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:y("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:ut.MenubarSelectionMenu,group:"1_basic",title:y({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}bi(Op.ID,Op,4);oe(l5);oe(c5);async function QN(o,e,t,i,n){const s=o.all(e).concat(new o5(i.selectSubwords));s.length===1&&s.unshift(new Fv);const r=[],a=[];for(const c of s)r.push(Promise.resolve(c.provideSelectionRanges(e,t,n)).then(h=>{if(Oo(h)&&h.length===t.length)for(let g=0;g<t.length;g++){a[g]||(a[g]=[]);for(const f of h[g])B.isIRange(f.range)&&B.containsPosition(f.range,t[g])&&a[g].push(B.lift(f.range))}},ss));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||B.containsRange(p,g)&&!B.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 B(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 B(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})}In.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;Gi(fn.isUri(t));const n=o.get(Et).selectionRangeProvider,s=await o.get(da).createModelReference(t);try{return QN(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},mi.None)}finally{s.dispose()}});const d5=Object.freeze({View:Lt("view","View"),Help:Lt("help","Help"),Test:Lt("test","Test"),File:Lt("file","File"),Preferences:Lt("preferences","Preferences"),Developer:Lt({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class Zf{constructor(e,t,i,n=null){this.startLineNumbers=e,this.endLineNumbers=t,this.lastLineRelativePosition=i,this.showEndForLine=n}equals(e){return!!e&&this.lastLineRelativePosition===e.lastLineRelativePosition&&this.showEndForLine===e.showEndForLine&&Ba(this.startLineNumbers,e.startLineNumbers)&&Ba(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new Zf([],[],0)}}const lD=GE("stickyScrollViewLayer",{createHTML:o=>o}),Qw="data-sticky-line-index",cD="data-sticky-is-line",h5="data-sticky-is-line-number",dD="data-sticky-is-folding-icon";class u5 extends $e{constructor(e){super(),this._editor=e,this._foldingIconStore=new ze,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 Ir),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(qi(this._lineNumbersDomNode,jn.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(qi(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=gp.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{h=[]}const g=new YE(!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 ZE(2e3),p=XE(g,f);let v;lD?v=lD.createHTML(f.build()):v=f.build();const _=document.createElement("span");_.setAttribute(Qw,String(e)),_.setAttribute(cD,""),_.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(Qw,String(e)),w.setAttribute(h5,""),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 E=this._renderFoldingIconForLine(i,t);E&&w.appendChild(E.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 R=new g5(e,t,_,w,E,p.characterMapping,_.scrollWidth);return this._updateTopAndZIndexOfStickyLine(R)}_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 f5(c,r,n.getEndLineNumber(s),this._lineHeight);return h.setVisible(this._isOnGlyphMargin?!0:c||i==="always"),h.domNode.setAttribute(dD,""),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=rF(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,Qw);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,cD)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,dD)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class g5{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 f5{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=Yi.asClassName(e?kv:Lv)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class Xf{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class eb{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class JN{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var Qy=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fp=function(o,e){return function(t,i){e(t,i,o)}},Yf;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(Yf||(Yf={}));var oc;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(oc||(oc={}));let Zx=class extends $e{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Dc(300)),this._updateOperation=this._register(new ze),this._editor.getOption(116).defaultModel){case Yf.OUTLINE_MODEL:this._modelProviders.push(new Xx(this._editor,n));case Yf.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new Qx(this._editor,t,n));case Yf.INDENTATION_MODEL:this._modelProviders.push(new Yx(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 oc.CANCELED:return this._updateOperation.clear(),null;case oc.VALID:return t.stickyModel}}return null}).catch(t=>(bn(t),null))}};Zx=Qy([Fp(2,li),Fp(3,Et)],Zx);class eR extends $e{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,oc.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=Ds(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?oc.CANCELED:(this._stickyModel=this.createStickyModel(e,i),oc.VALID):this._invalid()).then(void 0,i=>(bn(i),oc.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let Xx=class extends eR{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return il.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){var r;const{stickyOutlineElement:i,providerID:n}=this._stickyModelFromOutlineModel(t,(r=this._stickyModel)==null?void 0:r.outlineProviderId),s=this._editor.getModel();return new JN(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(ul.first(e.children.values())instanceof wN){const a=ul.find(e.children.values(),c=>c.id===t);if(a)i=a.children;else{let c="",h=-1,g;for(const[f,p]of e.children.entries()){const v=this._findSumOfRangesOfGroup(p);v>h&&(g=p,h=v,c=p.id)}t=c,i=g.children}}else i=e.children;const n=[],s=Array.from(i.values()).sort((a,c)=>{const h=new Xf(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),g=new Xf(c.symbol.range.startLineNumber,c.symbol.range.endLineNumber);return this._comparator(h,g)});for(const a of s)n.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new eb(void 0,n,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const i=[];for(const s of e.children.values())if(s.symbol.selectionRange.startLineNumber!==s.symbol.range.endLineNumber)if(s.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(s,s.symbol.selectionRange.startLineNumber));else for(const r of s.children.values())i.push(this._stickyModelFromOutlineElement(r,s.symbol.selectionRange.startLineNumber));i.sort((s,r)=>this._comparator(s.range,r.range));const n=new Xf(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new eb(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 WC?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};Xx=Qy([Fp(1,Et)],Xx);class tR extends eR{constructor(e){super(e),this._foldingLimitReporter=new vN(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new JN(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new eb(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 eb(new Xf(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(c),i.push(c)}return n}}let Yx=class extends tR{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new X1(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};Yx=Qy([Fp(1,xs)],Yx);let Qx=class extends tR{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=Nc.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new Y1(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}};Qx=Qy([Fp(2,Et)],Qx);var p5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};class m5{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let Jx=class extends $e{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new pi),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new ze),this._updateSoon=this._register(new _s(()=>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(Tn(()=>{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 Zx(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new Es,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(J_(a,e.startLineNumber,(g,f)=>g-f)),h=this.updateIndex(J_(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 m5(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}};Jx=p5([hD(1,Et),hD(2,xs)],Jx);var _5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ou=function(o,e){return function(t,i){e(t,i,o)}},e0,ah;let Il=(ah=class extends $e{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 ze,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 u5(this._editor),this._stickyLineCandidateProvider=new Jx(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=Zf.Empty,this._onDidResize(),this._readConfiguration();const c=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(g=>{this._readConfigurationChange(g)})),this._register(qi(c,jn.CONTEXT_MENU,async g=>{this._onContextMenu(pd(c),g)})),this._stickyScrollFocusedContextKey=N.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=N.stickyScrollVisible.bindTo(this._contextKeyService);const h=this._register(og(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(qi(c,jn.MOUSE_DOWN,g=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(e0.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 ze,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(B.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new ze),t=this._register(new zy(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 B(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(yl(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(yl(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(qi(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 Es;e.add(Tn(()=>g.dispose(!0)));let f;Sm(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(Tn(()=>{f.style.textDecoration="none"}))):f||(f=v,f.style.textDecoration="underline",e.add(Tn(()=>{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(tN,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new aF(e,t);this._contextMenuService.showContextMenu({menuId:ut.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;K1(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=Nc.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=Zf.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(116).maxLineCount),i=this._editor.getScrollTop();let n=0;const s=[],r=[],a=this._editor.getVisibleRanges();if(a.length!==0){const c=new Xf(a[0].startLineNumber,a[a.length-1].endLineNumber),h=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(c);for(const g of h){const f=g.startLineNumber,p=g.endLineNumber,v=g.nestingDepth;if(p-f>0){const _=(v-1)*e,w=v*e,S=this._editor.getBottomForLineNumber(f)-i,D=this._editor.getTopForLineNumber(p)-i,E=this._editor.getBottomForLineNumber(p)-i;if(_>D&&_<=E){s.push(f),r.push(p+1),n=E-w;break}else w>S&&w<=E&&(s.push(f),r.push(p+1));if(s.length===t)break}}}return this._endLineNumbers=r,new Zf(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},e0=ah,ah.ID="store.contrib.stickyScrollController",ah);Il=e0=_5([ou(1,Rg),ou(2,Et),ou(3,li),ou(4,xs),ou(5,nr),ou(6,Ki)],Il);class v5 extends uo{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...Lt("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:y({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:Lt("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:d5.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:ut.CommandPalette},{id:ut.MenubarAppearanceMenu,group:"4_editor",order:3},{id:ut.StickyScrollContext}]})}async run(e){const t=e.get(Nn),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const Jy=100;class b5 extends oa{constructor(){super({id:"editor.action.focusStickyScroll",title:{...Lt("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"),N.stickyScrollVisible),menu:[{id:ut.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focus()}}class y5 extends oa{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:Lt("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:N.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Jy,primary:18}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusNext()}}class w5 extends oa{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:Lt("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:N.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Jy,primary:16}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusPrevious()}}class S5 extends oa{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:Lt("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:N.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Jy,primary:3}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.goToFocused()}}class C5 extends oa{constructor(){super({id:"editor.action.selectEditor",title:Lt("selectEditor.title","Select Editor"),precondition:N.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Jy,primary:9}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.selectEditor()}}bi(Il.ID,Il,1);an(v5);an(b5);an(w5);an(y5);an(S5);an(C5);var iR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Mf=function(o,e){return function(t,i){e(t,i,o)}};class x5{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 t0=class extends lF{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=ul.slice(t,i),s=ul.slice(t,0,i);let r=5;for(const a of ul.concat(n,s)){if(a.score===dp.Default)continue;const c=new B(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 x5(c,h,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(mi.None)}return e}};t0=iR([Mf(5,Gy)],t0);let i0=class extends $e{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(Lu.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(Lu.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 B(t.lineNumber,1,t.lineNumber,t.column));if(!g&&((v=this._lastResult)!=null&&v.canBeReused(e,t.lineNumber,h))){const _=new XI(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=_,this._lastResult.acquire(),f=this._lastResult}else{const _=await Q1(this._languageFeatureService.completionProvider,e,t,new Dp(void 0,Wv.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 Zl(_.items,t.column,new XI(p,0),Hv.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},w);f=new t0(e,t.lineNumber,h,S,_,this._suggestMemoryService)}return this._lastResult=f,f}handleItemDidShow(e,t){t.completion.resolve(mi.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(B.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}}};i0=iR([Mf(0,Et),Mf(1,Ag),Mf(2,Gy),Mf(3,os)],i0);Fg(i0);class L5 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 xo;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}oe(L5);const Xb=class Xb extends uo{constructor(){super({id:Xb.ID,title:Lt({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:Lt("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=!wk.getTabFocusMode();wk.setTabFocusMode(t),t?Lr(y("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):Lr(y("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};Xb.ID="editor.action.toggleTabFocusMode";let n0=Xb;an(n0);var k5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},uD=function(o,e){return function(t,i){e(t,i,o)}};let s0=class extends $e{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=pt(e,yt("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??by("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new _w(this.el,"click")),a=this._register(new _w(this.el,"keypress")),c=ms.chain(a.event,f=>f.map(p=>new l1(p)).filter(p=>p.keyCode===3)),h=this._register(new _w(this.el,cF.Tap)).event;this._register(pE.addTarget(this.el));const g=ms.any(r.event,c,h);this._register(g(f=>{this.enabled&&(Z_.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)}};s0=k5([uD(3,am),uD(4,aa)],s0);var nR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},sR=function(o,e){return function(t,i){e(t,i,o)}};const I5=26;let o0=class extends $e{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(r0))}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,I5)}};o0=nR([sR(1,li)],o0);let r0=class extends $e{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(Hg,{}),this.element=yt("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=yt("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Fa(this.element)}show(e){Fa(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=pt(this.element,yt("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(yt(`div${Yi.asCSSSelector(e.icon)}`));const n=pt(this.element,yt("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=pt(this.element,yt("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(s0,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=pt(this.element,yt("div.action-container"));this.actionBar=this._register(new sp(s)),this.actionBar.push(this._register(new cg("banner.close","Close Banner",Yi.asClassName(FE),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};r0=nR([sR(0,li)],r0);var uL=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Hu=function(o,e){return function(t,i){e(t,i,o)}};const D5=ts("extensions-warning-message",Qt.warning,y("warningIcon","Icon shown with a warning message in the extensions editor."));var tg;let Hp=(tg=class extends $e{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 Bp};else if(s.ambiguousCharacterCount>=r)a={message:y("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new Dh};else if(s.invisibleCharacterCount>=r)a={message:y("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new Wp};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:D5,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(o0,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=E5(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"?dF:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new a0(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new P5(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},tg.ID="editor.contrib.unicodeHighlighter",tg);Hp=uL([Hu(1,Tl),Hu(2,hF),Hu(3,li)],Hp);function E5(o,e){return{nonBasicASCII:e.nonBasicASCII===vw?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===vw?!o:e.includeComments,includeStrings:e.includeStrings===vw?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let a0=class extends $e{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 _s(()=>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:tb.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!IP(t,e))return null;const i=t.getValueInRange(e.range);return{reason:rR(i,this._options),inComment:EP(t,e),inString:DP(t,e)}}};a0=uL([Hu(3,Tl)],a0);class P5 extends $e{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 _s(()=>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=PP.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:tb.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 IP(t,e)?{reason:rR(i,this._options),inComment:EP(t,e),inString:DP(t,e)}:null}}const oR=y("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let l0=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(Hp.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:{JE(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:${ib.ID}?${encodeURIComponent(JSON.stringify(_))}`,D=new Gs("",!0).appendMarkdown(v).appendText(" ").appendLink(S,w,oR);s.push(new yr(this,c.range,[D],!1,a++))}return s}renderHoverParts(e,t){return o4(e,t,this._editor,this._languageService,this._openerService)}};l0=uL([Hu(1,ca),Hu(2,aa)],l0);function c0(o){return`U+${o.toString(16).padStart(4,"0")}`}function Jw(o){let e=`\`${c0(o)}\``;return TP.isInvisibleCharacter(o)||(e+=` "${`${T5(o)}`}"`),e}function T5(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function rR(o,e){return PP.computeUnicodeHighlightReason(o,e)}const Yb=class Yb{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=Ti.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}};Yb.instance=new Yb;let tb=Yb;class M5 extends Se{constructor(){super({id:Dh.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(Nn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.includeComments,!1,2)}}class N5 extends Se{constructor(){super({id:Dh.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(Nn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.includeStrings,!1,2)}}const Qb=class Qb extends Se{constructor(){super({id:Qb.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(Nn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.ambiguousCharacters,!1,2)}};Qb.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let Dh=Qb;const Jb=class Jb extends Se{constructor(){super({id:Jb.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(Nn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.invisibleCharacters,!1,2)}};Jb.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let Wp=Jb;const ey=class ey extends Se{constructor(){super({id:ey.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(Nn);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.nonBasicASCII,!1,2)}};ey.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let Bp=ey;const ty=class ty extends Se{constructor(){super({id:ty.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(Dl),g=e.get(Nn);function f(_){return TP.isInvisibleCharacter(_)?y("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",c0(_)):y("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${c0(_)} "${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()=>{A5(g,[_])}});if(p.push({label:f(n),run:()=>R5(g,[n])}),a){const _=new M5;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(r){const _=new N5;p.push({label:_.label,run:async()=>_.runAction(g)})}if(s.kind===0){const _=new Dh;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===1){const _=new Wp;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===2){const _=new Bp;p.push({label:_.label,run:async()=>_.runAction(g)})}else O5(s);const v=await h.pick(p,{title:oR});v&&await v.run()}};ty.ID="editor.action.unicodeHighlight.showExcludeOptions";let ib=ty;async function R5(o,e){const t=o.getValue(Sl.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(Sl.allowedCharacters,i,2)}async function A5(o,e){var n;const t=(n=o.inspect(Sl.allowedLocales).user)==null?void 0:n.value;let i;typeof t=="object"&&t?i=Object.assign({},t):i={};for(const s of e)i[s]=!0;await o.updateValue(Sl.allowedLocales,i,2)}function O5(o){throw new Error(`Unexpected value: ${o}`)}oe(Dh);oe(Wp);oe(Bp);oe(ib);bi(Hp.ID,Hp,1);Fh.register(l0);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},gD=function(o,e){return function(t,i){e(t,i,o)}};const aR="ignoreUnusualLineTerminators";function H5(o,e,t){o.setModelProperty(e.uri,aR,t)}function W5(o,e){return o.getModelProperty(e.uri,aR)}var ig;let nb=(ig=class extends $e{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()||W5(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`.",Va(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){H5(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},ig.ID="editor.contrib.unusualLineTerminatorsDetector",ig);nb=F5([gD(1,d1),gD(2,os)],nb);bi(nb.ID,nb,1);var B5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},z5=function(o,e){return function(t,i){e(t,i,o)}};class fD{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,Sk,!1).map(a=>({range:a.range,kind:tv.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new Ic,r=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!r)return Promise.resolve(s);for(const a of[e,...i]){if(a.isDisposed())continue;const h=a.findMatches(r.word,!0,!1,!0,Sk,!1).map(g=>({range:g.range,kind:tv.Text}));h&&s.set(a.uri,h)}return s}}let d0=class extends $e{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new fD)),this._register(e.multiDocumentHighlightProvider.register("*",new fD))}};d0=B5([z5(0,Et)],d0);var lR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},V_=function(o,e){return function(t,i){e(t,i,o)}},Jn,h0;const gL=new Fi("hasWordHighlights",!1);function cR(o,e,t,i){const n=o.ordered(e);return s1(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,ss)),s=>s!=null).then(s=>{if(s){const r=new Ic;return r.set(e.uri,s),r}return new Ic})}function V5(o,e,t,i,n,s){const r=o.ordered(e);return s1(r.map(a=>()=>{const c=s.filter(h=>gF(h)).filter(h=>fF(a.selector,h.uri,h.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,c,n)).then(void 0,ss)}),a=>a!=null)}class dR{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=Ds(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new B(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 j5 extends dR{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return cR(this._providers,e,t.getPosition(),n).then(s=>s||new Ic)}}class U5 extends dR{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return V5(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new Ic)}}function $5(o,e,t,i,n){return new j5(e,t,n,o)}function q5(o,e,t,i,n,s){return new U5(e,t,n,o,s)}fo("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(Et),n=await cR(i.documentHighlightProvider,e,t,mi.None);return n==null?void 0:n.get(e.uri)});var kc;let u0=(kc=class{constructor(e,t,i,n,s){this.toUnhook=new ze,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Ic,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new Dc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=gL.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=>{uF(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():Jn.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=Jn.query)==null?void 0:c.modelInfo)==null?void 0:h.model);break;case"multiFile":Jn.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,Jn.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(B.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);Lr(`${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);Lr(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=Jn.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),Jn.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()||K_(n.getModel().uri,e==null?void 0:e.uri))continue;const s=Jn.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=Ac.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)Jn.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==ro.vscodeNotebookCell&&((i=(t=Jn.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==ro.vscodeNotebookCell?(Jn.query=null,this._run()):(n=Jn.query)!=null&&n.modelInfo&&(Jn.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)!==ro.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===ro.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const c=a.getModel();c&&c!==e&&c.uri.scheme===ro.vscodeNotebookCell&&s.push(c)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!MP(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){Jn.query=null,this._stopAll();return}const a=r.startColumn,c=r.endColumn,h=this._getWord();if(!h||h.startColumn>a||h.endColumn<c){Jn.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),Jn.query={modelInfo:{model:this.model,selection:r},word:h}}else if(!Jn.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(K_(this.editor.getModel().uri,(n=Jn.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(!Jn.query||!Jn.query.modelInfo||Jn.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(Jn.query.modelInfo.model,Jn.query.modelInfo.selection,Jn.query.word,a),(s=this.workerRequest)==null||s.result.then(c=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=c||[],this._beginRenderDecorations())},bn)}}computeWithModel(e,t,i,n){return n.length?q5(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):$5(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=Ac.get(s);if(!r)continue;const a=[],c=(t=s.getModel())==null?void 0:t.uri;if(c&&this.workerRequestValue.has(c)){const h=Jn.storedDecorationIDs.get(c),g=this.workerRequestValue.get(c);if(g)for(const p of g)p.range&&a.push({range:p.range,options:RU(p.kind)});let f=[];s.changeDecorations(p=>{f=p.deltaDecorations(h??[],a)}),Jn.storedDecorationIDs=Jn.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()}},Jn=kc,kc.storedDecorationIDs=new Ic,kc.query=null,kc);u0=Jn=lR([V_(4,os)],u0);var lh;let Ac=(lh=class extends $e{static get(e){return e.getContribution(h0.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new u0(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()}},h0=lh,lh.ID="editor.contrib.wordHighlighter",lh);Ac=h0=lR([V_(1,Ki),V_(2,Et),V_(3,os)],Ac);class hR extends Se{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Ac.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class K5 extends hR{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:gL,kbOpts:{kbExpr:N.editorTextFocus,primary:65,weight:100}})}}class G5 extends hR{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:gL,kbOpts:{kbExpr:N.editorTextFocus,primary:1089,weight:100}})}}class Z5 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:N.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=Ac.get(t);n&&n.restoreViewState(!0)}}bi(Ac.ID,Ac,0);oe(K5);oe(G5);oe(Z5);Fg(d0);class ew extends go{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Rh(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=>pF.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 Wc extends ew{_move(e,t,i,n,s){return um.moveWordLeft(e,t,i,n,s)}}class Bc extends ew{_move(e,t,i,n,s){return um.moveWordRight(e,t,i,n)}}class X5 extends Wc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class Y5 extends Wc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class Q5 extends Wc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:le.and(N.textInputFocus,(e=le.and(Cy,xy))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class J5 extends Wc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class e8 extends Wc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class t8 extends Wc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:le.and(N.textInputFocus,(e=le.and(Cy,xy))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class i8 extends Wc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(Rh(Ly.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class n8 extends Wc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Rh(Ly.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class s8 extends Bc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class o8 extends Bc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:le.and(N.textInputFocus,(e=le.and(Cy,xy))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class r8 extends Bc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class a8 extends Bc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class l8 extends Bc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:le.and(N.textInputFocus,(e=le.and(Cy,xy))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class c8 extends Bc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class d8 extends Bc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(Rh(Ly.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class h8 extends Bc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Rh(Ly.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class tw extends go{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(xs);if(!t.hasModel())return;const s=Rh(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 Qp(_,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class fL extends tw{_delete(e,t){const i=um.deleteWordLeft(e,t);return i||new B(1,1,1,1)}}class pL extends tw{_delete(e,t){const i=um.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new B(n,s,n,s)}}class u8 extends fL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:N.writable})}}class g8 extends fL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:N.writable})}}class f8 extends fL{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:N.writable,kbOpts:{kbExpr:N.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class p8 extends pL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:N.writable})}}class m8 extends pL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:N.writable})}}class _8 extends pL{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:N.writable,kbOpts:{kbExpr:N.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class v8 extends Se{constructor(){super({id:"deleteInsideWord",precondition:N.writable,label:y("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=Rh(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(c=>{const h=um.deleteInsideWord(n,s,c);return new Qp(h,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}Tt(new X5);Tt(new Y5);Tt(new Q5);Tt(new J5);Tt(new e8);Tt(new t8);Tt(new s8);Tt(new o8);Tt(new r8);Tt(new a8);Tt(new l8);Tt(new c8);Tt(new i8);Tt(new n8);Tt(new d8);Tt(new h8);Tt(new u8);Tt(new g8);Tt(new f8);Tt(new p8);Tt(new m8);Tt(new _8);oe(v8);class b8 extends tw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:N.writable,kbOpts:{kbExpr:N.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=ky.deleteWordPartLeft(e);return i||new B(1,1,1,1)}}class y8 extends tw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:N.writable,kbOpts:{kbExpr:N.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=ky.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new B(n,s,n,s)}}class uR extends ew{_move(e,t,i,n,s){return ky.moveWordPartLeft(e,t,i,s)}}class w8 extends uR{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:N.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}In.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class S8 extends uR{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:N.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}In.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class gR extends ew{_move(e,t,i,n,s){return ky.moveWordPartRight(e,t,i)}}class C8 extends gR{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:N.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class x8 extends gR{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:N.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}Tt(new b8);Tt(new y8);Tt(new w8);Tt(new S8);Tt(new C8);Tt(new x8);const PL=class PL extends $e{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=wo.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new Gs(y("editor.simple.readonly","Cannot edit in read-only input")):t=new Gs(y("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};PL.ID="editor.contrib.readOnlyMessageController";let sb=PL;bi(sb.ID,sb,2);var L8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};let g0=class extends $e{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Fo(this,void 0);const n=md("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=md("_textModel.onDidChangeContent",ms.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(om(async(r,a)=>{n.read(r),s.read(r);const c=a.add(new vF),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(_F(lm(s=>s.range.endLineNumber-s.range.startLineNumber,my))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};g0=L8([pD(1,Et),pD(2,Lm)],g0);mF.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(g0,o));const TL=class TL extends $e{constructor(e){super(),this.editor=e,this.widget=null,pS&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new f0(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};TL.ID="editor.contrib.iPadShowKeyboard";let ob=TL;const iy=class iy extends $e{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(qi(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(qi(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return iy.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};iy.ID="editor.contrib.ShowKeyboardWidget";let f0=iy;bi(ob.ID,ob,3);var k8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mD=function(o,e){return function(t,i){e(t,i,o)}},p0,ch;let zp=(ch=class extends $e{static get(e){return e.getContribution(p0.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(vy.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 m0(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},p0=ch,ch.ID="editor.contrib.inspectTokens",ch);zp=p0=k8([mD(1,NP),mD(2,ca)],zp);class I8 extends Se{constructor(){super({id:"editor.action.inspectTokens",label:SF.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=zp.get(t);i==null||i.launch()}}function D8(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 E8(o,e){const t=vy.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>bF,tokenize:(n,s,r)=>wF(e,r),tokenizeEncoded:(n,s,r)=>yF(i,r)}}const ny=class ny extends $e{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=E8(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 ny._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)}G_(this._domNode,yt("h2.tm-token",void 0,D8(r),yt("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),pt(this._domNode,yt("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;pt(this._domNode,yt("table.tm-metadata-table",void 0,yt("tbody",void 0,yt("tr",void 0,yt("td.tm-metadata-key",void 0,"language"),yt("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),yt("tr",void 0,yt("td.tm-metadata-key",void 0,"token type"),yt("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),yt("tr",void 0,yt("td.tm-metadata-key",void 0,"font style"),yt("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),yt("tr",void 0,yt("td.tm-metadata-key",void 0,"foreground"),yt("td.tm-metadata-value",void 0,`${a?Di.Format.CSS.formatHex(a.foreground):"-?-"}`)),yt("tr",void 0,yt("td.tm-metadata-key",void 0,"background"),yt("td.tm-metadata-value",void 0,`${a?Di.Format.CSS.formatHex(a.background):"-?-"}`))))),pt(this._domNode,yt("hr.tokens-inspect-separator")),i<t.tokens1.length&&pt(this._domNode,yt("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=vy.getColorMap(),i=cf.getLanguageId(e),n=cf.getTokenType(e),s=cf.getFontStyle(e),r=cf.getForeground(e),a=cf.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]}}};ny._ID="editor.contrib.inspectTokensWidget";let m0=ny;bi(zp.ID,zp,4);oe(I8);var P8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_D=function(o,e){return function(t,i){e(t,i,o)}},Nf,dh;let _0=(dh=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=ra.as(gm.Quickaccess)}provide(e){const t=new ze;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(Nf.PREFIX.length));n&&n.prefix&&n.prefix!==Nf.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==Nf.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}})}},Nf=dh,dh.PREFIX="?",dh);_0=Nf=P8([_D(0,Dl),_D(1,hs)],_0);ra.as(gm.Quickaccess).registerQuickAccessProvider({ctor:_0,prefix:"",helpEntries:[{description:CF.helpQuickAccessActionLabel}]});class fR{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new ze;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new Wo);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 ze,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=RP(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(AP(t.onCancellationRequested)(()=>{var h;return(h=r.restoreViewState)==null?void 0:h.call(r)}))}n.add(Tn(()=>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&&rg(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return MP(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:fs(BE),position:Oa.Full}}}],[r,a]=i.deltaDecorations(n,s);this.rangeHighlightDecorationId={rangeHighlightId:r,overviewRulerDecorationId:a}})}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations(i=>{i.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}const sy=class sy extends fR{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,$e.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new ze;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(sy.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=RP(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(Tn(()=>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}};sy.PREFIX=":";let v0=sy;var T8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},M8=function(o,e){return function(t,i){e(t,i,o)}};let Vp=class extends v0{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=ms.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Vp=T8([M8(0,os)],Vp);var hh;let pR=(hh=class extends Se{constructor(){super({id:hh.ID,label:OP.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Dl).quickAccess.show(Vp.PREFIX)}},hh.ID="editor.action.gotoLine",hh);oe(pR);ra.as(gm.Quickaccess).registerQuickAccessProvider({ctor:Vp,prefix:Vp.PREFIX,helpEntries:[{description:OP.gotoLineActionLabel,commandId:pR.ID}]});const mR=[void 0,[]];function eS(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?N8(o,n.values,t,i):_R(o,e,t,i)}function N8(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,c]=_R(o,r,t,i);if(typeof a!="number")return mR;n+=a,s.push(...c)}return[n,R8(s)]}function _R(o,e,t,i){const n=oP(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],_y(n)]:mR}function R8(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!A8(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 A8(o,e){return!(o.end<e.start||e.end<o.start)}function vD(o){return o.startsWith('"')&&o.endsWith('"')}const vR=" ";function b0(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=bD(o),s=t.indexOf(CS)>=0,r=vD(o);let a;const c=o.split(vR);if(c.length>1)for(const h of c){const g=vD(h),{pathNormalized:f,normalized:p,normalizedLowercase:v}=bD(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 bD(o){let e;ly?e=o.replace(/\//g,CS):e=o.replace(/\\/g,CS);const t=xF(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function yD(o){return Array.isArray(o)?b0(o.map(e=>e.original).join(vR)):b0(o.original)}var O8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},wD=function(o,e){return function(t,i){e(t,i,o)}},j_,Qr;let xd=(Qr=class extends fR{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.")),$e.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):$e.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new ze;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 cy,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(Tn(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var f;const r=e.editor,a=new ze;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 Es(n),i.busy=!0;try{const v=b0(i.value.substr(j_.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=DF(_,S=>!!(S.type!=="separator"&&S.range&&B.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(j_.SCOPE_PREFIX)===0,c=a?1:0;let h,g;t.values&&t.values.length>1?(h=yD(t.values[0]),g=yD(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"?Yi.asClassName(Qt.splitHorizontal):Yi.asClassName(Qt.splitVertical),tooltip:p==="right"?y("openToSide","Open to the Side"):y("openToBottom","Open to the Bottom")}]);const v=[];for(let E=0;E<r.length;E++){const R=r[E],V=LF(R.name),H=`$(${kF.toIcon(R.kind).id}) ${V}`,J=H.length-V.length;let Y=R.containerName;i!=null&&i.extraContainerLabel&&(Y?Y=`${i.extraContainerLabel} • ${Y}`:Y=i.extraContainerLabel);let ue,Te,Oe,Ce;if(t.original.length>c){let kt=!1;if(h!==t&&([ue,Te]=eS(H,{...t,values:void 0},c,J),typeof ue=="number"&&(kt=!0)),typeof ue!="number"&&([ue,Te]=eS(H,h,c,J),typeof ue!="number"))continue;if(!kt&&g){if(Y&&g.original.length>0&&([Oe,Ce]=eS(Y,g)),typeof Oe!="number")continue;typeof ue=="number"&&(ue+=Oe)}}const ft=R.tags&&R.tags.indexOf(1)>=0;v.push({index:E,kind:R.kind,score:ue,label:H,ariaLabel:IF(R.name,R.kind),description:Y,highlights:ft?void 0:{label:Te,description:Ce},range:{selection:B.collapseToStart(R.selectionRange),decoration:R.range},uri:s.uri,symbolName:V,strikethrough:ft,buttons:f})}const _=v.sort((E,R)=>a?this.compareByKindAndScore(E,R):this.compareByScore(E,R));let w=[];if(a){let H=function(){R&&typeof E=="number"&&V>0&&(R.label=J0(iS[E]||tS,V))},E,R,V=0;for(const J of _)E!==J.kind?(H(),E=J.kind,V=1,R={type:"separator"},w.push(R)):V++,w.push(J);H()}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=iS[e.kind]||tS,n=iS[t.kind]||tS,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()}},j_=Qr,Qr.PREFIX="@",Qr.SCOPE_PREFIX=":",Qr.PREFIX_BY_CATEGORY=`${Qr.PREFIX}${Qr.SCOPE_PREFIX}`,Qr);xd=j_=O8([wD(0,Et),wD(1,Lm)],xd);const tS=y("property","properties ({0})"),iS={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 F8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nS=function(o,e){return function(t,i){e(t,i,o)}};let y0=class extends xd{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=ms.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};y0=F8([nS(0,os),nS(1,Et),nS(2,Lm)],y0);const oy=class oy extends Se{constructor(){super({id:oy.ID,label:xS.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:N.hasDocumentSymbolProvider,kbOpts:{kbExpr:N.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Dl).quickAccess.show(xd.PREFIX,{itemActivation:EF.NONE})}};oy.ID="editor.action.quickOutline";let rb=oy;oe(rb);ra.as(gm.Quickaccess).registerQuickAccessProvider({ctor:y0,prefix:xd.PREFIX,helpEntries:[{description:xS.quickOutlineActionLabel,prefix:xd.PREFIX,commandId:rb.ID},{description:xS.quickOutlineByCategoryActionLabel,prefix:xd.PREFIX_BY_CATEGORY}]});function H8(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class Qf{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 H8(Qf.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=Qf.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=Qf.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 W8(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 Iu;(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"})(Iu||(Iu={}));function sS(o){return Array.isArray(o.items)}function SD(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class B8 extends $e{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var h;const n=new ze;e.canAcceptInBackground=!!((h=this.options)!=null&&h.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new Wo),a=async()=>{var S;const g=r.value=new ze;s==null||s.dispose(!0),e.busy=!1,s=new Es(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,E)=>{var H;let R,V;if(sS(D)?(R=D.items,V=D.active):R=D,R.length===0){if(E)return!1;(p.length>0||e.hideInput)&&((H=this.options)!=null&&H.noResultsPick)&&(PF(this.options.noResultsPick)?R=[this.options.noResultsPick(p)]:R=[this.options.noResultsPick])}return e.items=R,V&&(e.activeItems=[V]),!0},w=async D=>{let E=!1,R=!1;await Promise.all([(async()=>{typeof D.mergeDelay=="number"&&(await wy(D.mergeDelay),f.isCancellationRequested)||R||(E=_(D.picks,!0))})(),(async()=>{e.busy=!0;try{const V=await D.additionalPicks;if(f.isCancellationRequested)return;let H,J;sS(D.picks)?(H=D.picks.items,J=D.picks.active):H=D.picks;let Y,ue;if(sS(V)?(Y=V.items,ue=V.active):Y=V,Y.length>0||!E){let Te;if(!J&&!ue){const Oe=e.activeItems[0];Oe&&H.indexOf(Oe)!==-1&&(Te=Oe)}_({items:[...H,...Y],active:J||ue||Te})}}finally{f.isCancellationRequested||(e.busy=!1),R=!0}})()])};if(v!==null)if(SD(v))await w(v);else if(!(v instanceof Promise))_(v);else{e.busy=!0;try{const D=await v;if(f.isCancellationRequested)return;SD(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 Iu.NO_ACTION:break;case Iu.CLOSE_PICKER:e.hide();break;case Iu.REFRESH_PICKER:a();break;case Iu.REMOVE_ITEM:{const S=e.items.indexOf(f);if(S!==-1){const D=e.items.slice(),E=D.splice(S,1),R=e.activeItems.filter(H=>H!==E[0]),V=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=D,R&&(e.activeItems=R),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 bR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Xl=function(o,e){return function(t,i){e(t,i,o)}},Jc,ls,Ta;let w0=(Ta=class extends B8{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(S0)),this.options=e}async _getPicks(e,t,i,n){var v,_;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=AP(()=>{const w=new Qf;w.updateDocuments(s.map(D=>({key:D.commandId,textChunks:[this.getTfIdfChunk(D)]})));const S=w.calculateScores(e,i);return W8(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 E=r();if(i.isCancellationRequested)return[];const R=E.find(V=>V.key===w.commandId);R&&(w.tfIdfScore=R.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),E=this.commandsHistory.peek(S.commandId);if(D&&E)return D>E?-1:1;if(D)return-1;if(E)return 1;if(this.options.suggestedCommandIds){const R=this.options.suggestedCommandIds.has(w.commandId),V=this.options.suggestedCommandIds.has(S.commandId);if(R&&V)return 0;if(R)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(E=>this.toCommandPick(E,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){Oc(r)||this.dialogService.error(y("canNotRun","Command '{0}' resulted in an error",e.label),uv(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=Ta,Ta.PREFIX=">",Ta.TFIDF_THRESHOLD=.5,Ta.TFIDF_MAX_RESULTS=5,Ta.WORD_FILTER=TF(RF,NF,MF),Ta);w0=Jc=bR([Xl(1,li),Xl(2,hs),Xl(3,Cs),Xl(4,la),Xl(5,d1)],w0);var Jr;let S0=(Jr=class extends $e{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===$0.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=ls.getConfiguredCommandHistoryLength(this.configurationService),ls.cache&&ls.cache.limit!==this.configuredCommandsHistoryLength&&(ls.cache.limit=this.configuredCommandsHistoryLength,ls.hasChanges=!0))}load(){const e=this.storageService.get(ls.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=ls.cache=new nm(this.configuredCommandsHistoryLength,1);if(t){let n;t.usesLRU?n=t.entries:n=t.entries.sort((s,r)=>s.value-r.value),n.forEach(s=>i.set(s.key,s.value))}ls.counter=this.storageService.getNumber(ls.PREF_KEY_COUNTER,0,ls.counter)}push(e){ls.cache&&(ls.cache.set(e,ls.counter++),ls.hasChanges=!0)}peek(e){var t;return(t=ls.cache)==null?void 0:t.peek(e)}saveState(){if(!ls.cache||!ls.hasChanges)return;const e={usesLRU:!0,entries:[]};ls.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(ls.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(ls.PREF_KEY_COUNTER,ls.counter,0,0),ls.hasChanges=!1}static getConfiguredCommandHistoryLength(e){var n,s;const i=(s=(n=e.getValue().workbench)==null?void 0:n.commandPalette)==null?void 0:s.history;return typeof i=="number"?i:ls.DEFAULT_COMMANDS_HISTORY_LENGTH}},ls=Jr,Jr.DEFAULT_COMMANDS_HISTORY_LENGTH=50,Jr.PREF_KEY_CACHE="commandPalette.mru.cache",Jr.PREF_KEY_COUNTER="commandPalette.mru.counter",Jr.counter=1,Jr.hasChanges=!1,Jr);S0=ls=bR([Xl(0,Fc),Xl(1,Nn),Xl(2,Nh)],S0);class z8 extends w0{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&&(AF(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:OF(n.label)||n.id})}return t}}var V8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ru=function(o,e){return function(t,i){e(t,i,o)}};let jp=class extends z8{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[]}};jp=V8([ru(0,li),ru(1,os),ru(2,hs),ru(3,Cs),ru(4,la),ru(5,d1)],jp);const ry=class ry extends Se{constructor(){super({id:ry.ID,label:FP.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(Dl).quickAccess.show(jp.PREFIX)}};ry.ID="editor.action.quickCommand";let ab=ry;oe(ab);ra.as(gm.Quickaccess).registerQuickAccessProvider({ctor:jp,prefix:jp.PREFIX,helpEntries:[{description:FP.quickCommandHelp,commandId:ab.ID}]});var j8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},au=function(o,e){return function(t,i){e(t,i,o)}};let C0=class extends xh{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};C0=j8([au(1,Ki),au(2,os),au(3,io),au(4,li),au(5,Fc),au(6,Nn)],C0);bi(xh.ID,C0,4);class U8 extends Se{constructor(){super({id:"editor.action.toggleHighContrast",label:FF.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(NP),n=i.getColorTheme();op(n.type)?(i.setTheme(this._originalThemeName||(Ck(n.type)?HF:WF)),this._originalThemeName=null):(i.setTheme(Ck(n.type)?BF:zF),this._originalThemeName=n.themeName)}}oe(U8);let x0=null;function $8(o){x0=o}function q8(o={}){return{"Content-Type":"application/json",...o}}async function yi(o,e,t){const i=await fetch(e,{method:o,headers:q8(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw x0&&x0(),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 K8(){return await(await fetch("/she/auth/mode")).json()}async function G8(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 Z8(){await fetch("/she/auth/logout",{method:"POST"})}async function X8(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 Y8(){return yi("GET","/she/scripts/tree")}function oS(o){return yi("GET",`/she/scripts/${o}`)}function Xc(o,e){return yi("PUT",`/she/scripts/${o}`,{content:e})}function p_(o){return yi("DELETE",`/she/scripts/${o}`)}function CD(o,e){return yi("POST",`/she/scripts/${o}/rename`,{newPath:e})}function Q8(o){return yi("POST","/she/scripts/mkdir",{path:o})}function J8(){return yi("GET","/she/git/status")}function Rf(){return yi("GET","/she/status")}function yR(){return yi("POST","/she/restart")}function e7(){return yi("POST","/she/update")}function t7(){return yi("POST","/she/check-update")}function i7(o,e){return yi("POST","/she/git/commit",{path:o,message:e})}function xD(o,e){return yi("POST","/she/git/commit",{files:o,message:e})}function LD(o){return yi("POST","/she/git/commit",{message:o})}function m_(o){return yi("POST","/she/git/push",{remote:o})}function n7(o,e){return yi("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function s7(o,e){return yi("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function mL(){return yi("GET","/she/config")}function o7(o){return yi("PUT","/she/config",o)}function wR(){return yi("GET","/she/db/docs")}function r7(o){return yi("GET",`/she/db/docs/${o}`)}function kD(o,e){return yi("PUT",`/she/db/docs/${o}`,e)}function a7(o){return yi("DELETE",`/she/db/docs/${o}`)}function SR(){return yi("GET","/she/db/views")}function l7(o){return yi("GET",`/she/db/views/${o}`)}function ID(o,e){return yi("PUT",`/she/db/views/${o}`,e)}function c7(o){return yi("DELETE",`/she/db/views/${o}`)}function d7(){return yi("GET","/she/deps")}function h7(o){return yi("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function u7(o,e){return yi("POST","/she/deps/install",{name:o,version:null})}function g7(o){return yi("POST","/she/deps/remove",{name:o})}function f7(o){return yi("POST","/she/deps/update",{name:o})}function p7(){return yi("GET","/she/deps/outdated")}function m7(){return yi("POST","/she/deps/check-outdated")}function _7(){return yi("GET","/she/ai/conversations")}function DD(o){return yi("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function v7(o,e,t){return yi("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function b7(o){return yi("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function rS(o){return yi("GET",`/she/db/views/${o}/result`)}function CR(){return yi("GET","/she/matter/devices")}function U_(o){return yi("GET",`/she/matter/devices/${o}`)}function y7(o){return yi("POST","/she/matter/commission",o)}function w7(o){return yi("DELETE",`/she/matter/devices/${o}`)}function S7(o,e,t,i,n){return yi("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function xR(){return yi("GET","/she/mqtt/state")}function ED(o,e,t=!1,i=0){return yi("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function LR(){return yi("GET","/she/ai/config")}function kR(){return yi("GET","/she/ai/models")}function L0(o){return yi("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function IR(o){return yi("POST","/she/ai/prompt",o)}async function DR(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 C7=2e3,$_=[];function x7(){return $_.slice()}let rc=null;const lb=new Set,Du=new Map;let k0=null;function Up(){let o=lb.size;for(const e of Du.values())o+=e.size;return o}function L7(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function _L(){if(rc)return;const o=L7(),e=new WebSocket(o);rc=e,e.onmessage=t=>{try{const i=JSON.parse(t.data);if(i.type==="log"){const s={level:i.level,msg:i.msg,ts:i.ts};$_.length>=C7&&$_.shift(),$_.push(s),lb.forEach(r=>r(s))}const n=Du.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{rc===e&&(rc=null),Up()>0&&(k0=setTimeout(_L,3e3))},e.onerror=()=>{e.close()}}function ER(){k0&&clearTimeout(k0),rc==null||rc.close(),rc=null}function PR(o){return lb.add(o),Up()===1&&_L(),()=>{lb.delete(o),Up()===0&&ER()}}function Aa(o,e){return Du.has(o)||Du.set(o,new Set),Du.get(o).add(e),Up()===1&&_L(),()=>{var t;(t=Du.get(o))==null||t.delete(e),Up()===0&&ER()}}var k7=M('<button class="cancel svelte-1eh8v5n">Cancel</button>'),I7=M('<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 Kg(o,e){zo(e,!0);let t=W(!1),i=W(""),n=W("Confirm"),s=W(!1),r=W(!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=Us();cs("keydown",bd,g);var v=bt(p);{var _=w=>{var S=I7(),D=bt(S),E=C(D,2),R=x(E),V=x(R),H=C(R,2),J=x(H);{var Y=Ce=>{var ft=k7();Q("click",ft,()=>h(!1)),T(Ce,ft)};U(J,Ce=>{u(r)||Ce(Y)})}var ue=C(J,2);let Te;var Oe=x(ue);K(()=>{$(V,u(i)),Te=qt(ue,1,"svelte-1eh8v5n",null,Te,{danger:u(s)}),$(Oe,u(n))}),Q("click",D,()=>h(!1)),Q("click",ue,()=>h(!0)),T(w,S)};U(v,w=>{u(t)&&w(_)})}return T(o,p),Vo(f)}Er(["click"]);var D7=M('<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 E7(o,e){zo(e,!0);let t=W(!1),i=W(""),n=W(""),s=W("OK"),r=W(""),a=null,c=W(void 0);function h(D,E){return k(i,D,!0),k(n,(E==null?void 0:E.placeholder)??"",!0),k(s,(E==null?void 0:E.confirm)??"OK",!0),k(r,(E==null?void 0:E.initial)??"",!0),k(t,!0),setTimeout(()=>{if(u(c)){u(c).focus();const R=u(c).value.length;u(c).setSelectionRange(R,R)}},0),new Promise(R=>a=R)}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},_=Us();cs("keydown",bd,p);var w=bt(_);{var S=D=>{var E=D7(),R=bt(E),V=C(R,2),H=x(V),J=x(H),Y=C(H,2);Is(Y,ft=>k(c,ft),()=>u(c));var ue=C(Y,2),Te=x(ue),Oe=C(Te,2),Ce=x(Oe);K(ft=>{$(J,u(i)),vn(Y,"placeholder",u(n)),Oe.disabled=ft,$(Ce,u(s))},[()=>!u(r).trim()]),Q("click",R,f),Q("keydown",Y,ft=>{ft.key==="Enter"&&(ft.preventDefault(),g())}),Ii(Y,()=>u(r),ft=>k(r,ft)),Q("click",Te,f),Q("click",Oe,g),T(D,E)};U(w,D=>{u(t)&&D(S)})}return T(o,_),Vo(v)}Er(["click","keydown"]);function TR(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var aS,PD;function P7(){if(PD)return aS;PD=1;function o(A){return A instanceof Map?A.clear=A.delete=A.set=function(){throw new Error("map is read-only")}:A instanceof Set&&(A.add=A.clear=A.delete=function(){throw new Error("set is read-only")}),Object.freeze(A),Object.getOwnPropertyNames(A).forEach(ne=>{const ge=A[ne],Qe=typeof ge;(Qe==="object"||Qe==="function")&&!Object.isFrozen(ge)&&o(ge)}),A}class e{constructor(ne){ne.data===void 0&&(ne.data={}),this.data=ne.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(A){return A.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function i(A,...ne){const ge=Object.create(null);for(const Qe in A)ge[Qe]=A[Qe];return ne.forEach(function(Qe){for(const dt in Qe)ge[dt]=Qe[dt]}),ge}const n="</span>",s=A=>!!A.scope,r=(A,{prefix:ne})=>{if(A.startsWith("language:"))return A.replace("language:","language-");if(A.includes(".")){const ge=A.split(".");return[`${ne}${ge.shift()}`,...ge.map((Qe,dt)=>`${Qe}${"_".repeat(dt+1)}`)].join(" ")}return`${ne}${A}`};class a{constructor(ne,ge){this.buffer="",this.classPrefix=ge.classPrefix,ne.walk(this)}addText(ne){this.buffer+=t(ne)}openNode(ne){if(!s(ne))return;const ge=r(ne.scope,{prefix:this.classPrefix});this.span(ge)}closeNode(ne){s(ne)&&(this.buffer+=n)}value(){return this.buffer}span(ne){this.buffer+=`<span class="${ne}">`}}const c=(A={})=>{const ne={children:[]};return Object.assign(ne,A),ne};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(ne){this.top.children.push(ne)}openNode(ne){const ge=c({scope:ne});this.add(ge),this.stack.push(ge)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(ne){return this.constructor._walk(ne,this.rootNode)}static _walk(ne,ge){return typeof ge=="string"?ne.addText(ge):ge.children&&(ne.openNode(ge),ge.children.forEach(Qe=>this._walk(ne,Qe)),ne.closeNode(ge)),ne}static _collapse(ne){typeof ne!="string"&&ne.children&&(ne.children.every(ge=>typeof ge=="string")?ne.children=[ne.children.join("")]:ne.children.forEach(ge=>{h._collapse(ge)}))}}class g extends h{constructor(ne){super(),this.options=ne}addText(ne){ne!==""&&this.add(ne)}startScope(ne){this.openNode(ne)}endScope(){this.closeNode()}__addSublanguage(ne,ge){const Qe=ne.root;ge&&(Qe.scope=`language:${ge}`),this.add(Qe)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function f(A){return A?typeof A=="string"?A:A.source:null}function p(A){return w("(?=",A,")")}function v(A){return w("(?:",A,")*")}function _(A){return w("(?:",A,")?")}function w(...A){return A.map(ge=>f(ge)).join("")}function S(A){const ne=A[A.length-1];return typeof ne=="object"&&ne.constructor===Object?(A.splice(A.length-1,1),ne):{}}function D(...A){return"("+(S(A).capture?"":"?:")+A.map(Qe=>f(Qe)).join("|")+")"}function E(A){return new RegExp(A.toString()+"|").exec("").length-1}function R(A,ne){const ge=A&&A.exec(ne);return ge&&ge.index===0}const V=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function H(A,{joinWith:ne}){let ge=0;return A.map(Qe=>{ge+=1;const dt=ge;let q=f(Qe),re="";for(;q.length>0;){const he=V.exec(q);if(!he){re+=q;break}re+=q.substring(0,he.index),q=q.substring(he.index+he[0].length),he[0][0]==="\\"&&he[1]?re+="\\"+String(Number(he[1])+dt):(re+=he[0],he[0]==="("&&ge++)}return re}).map(Qe=>`(${Qe})`).join(ne)}const J=/\b\B/,Y="[a-zA-Z]\\w*",ue="[a-zA-Z_]\\w*",Te="\\b\\d+(\\.\\d+)?",Oe="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Ce="\\b(0b[01]+)",ft="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",kt=(A={})=>{const ne=/^#![ ]*\//;return A.binary&&(A.begin=w(ne,/.*\b/,A.binary,/\b.*/)),i({scope:"meta",begin:ne,end:/$/,relevance:0,"on:begin":(ge,Qe)=>{ge.index!==0&&Qe.ignoreMatch()}},A)},ct={begin:"\\\\[\\s\\S]",relevance:0},ci={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[ct]},jt={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[ct]},Jt={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/},Ke=function(A,ne,ge={}){const Qe=i({scope:"comment",begin:A,end:ne,contains:[]},ge);Qe.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 dt=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 Qe.contains.push({begin:w(/[ ]+/,"(",dt,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Qe},Gt=Ke("//","$"),ve=Ke("/\\*","\\*/"),it=Ke("#","$"),Rt={scope:"number",begin:Te,relevance:0},ei={scope:"number",begin:Oe,relevance:0},Yt={scope:"number",begin:Ce,relevance:0},Ut={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[ct,{begin:/\[/,end:/\]/,relevance:0,contains:[ct]}]},Mt={scope:"title",begin:Y,relevance:0},di={scope:"title",begin:ue,relevance:0},ki={begin:"\\.\\s*"+ue,relevance:0};var Bi=Object.freeze({__proto__:null,APOS_STRING_MODE:ci,BACKSLASH_ESCAPE:ct,BINARY_NUMBER_MODE:Yt,BINARY_NUMBER_RE:Ce,COMMENT:Ke,C_BLOCK_COMMENT_MODE:ve,C_LINE_COMMENT_MODE:Gt,C_NUMBER_MODE:ei,C_NUMBER_RE:Oe,END_SAME_AS_BEGIN:function(A){return Object.assign(A,{"on:begin":(ne,ge)=>{ge.data._beginMatch=ne[1]},"on:end":(ne,ge)=>{ge.data._beginMatch!==ne[1]&&ge.ignoreMatch()}})},HASH_COMMENT_MODE:it,IDENT_RE:Y,MATCH_NOTHING_RE:J,METHOD_GUARD:ki,NUMBER_MODE:Rt,NUMBER_RE:Te,PHRASAL_WORDS_MODE:Jt,QUOTE_STRING_MODE:jt,REGEXP_MODE:Ut,RE_STARTERS_RE:ft,SHEBANG:kt,TITLE_MODE:Mt,UNDERSCORE_IDENT_RE:ue,UNDERSCORE_TITLE_MODE:di});function yn(A,ne){A.input[A.index-1]==="."&&ne.ignoreMatch()}function Un(A,ne){A.className!==void 0&&(A.scope=A.className,delete A.className)}function wn(A,ne){ne&&A.beginKeywords&&(A.begin="\\b("+A.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",A.__beforeBegin=yn,A.keywords=A.keywords||A.beginKeywords,delete A.beginKeywords,A.relevance===void 0&&(A.relevance=0))}function Rn(A,ne){Array.isArray(A.illegal)&&(A.illegal=D(...A.illegal))}function Ei(A,ne){if(A.match){if(A.begin||A.end)throw new Error("begin & end are not supported with match");A.begin=A.match,delete A.match}}function pn(A,ne){A.relevance===void 0&&(A.relevance=1)}const ln=(A,ne)=>{if(!A.beforeMatch)return;if(A.starts)throw new Error("beforeMatch cannot be used with starts");const ge=Object.assign({},A);Object.keys(A).forEach(Qe=>{delete A[Qe]}),A.keywords=ge.keywords,A.begin=w(ge.beforeMatch,p(ge.begin)),A.starts={relevance:0,contains:[Object.assign(ge,{endsParent:!0})]},A.relevance=0,delete ge.beforeMatch},cn=["of","and","for","in","not","or","if","then","parent","list","value"],Wn="keyword";function dn(A,ne,ge=Wn){const Qe=Object.create(null);return typeof A=="string"?dt(ge,A.split(" ")):Array.isArray(A)?dt(ge,A):Object.keys(A).forEach(function(q){Object.assign(Qe,dn(A[q],ne,q))}),Qe;function dt(q,re){ne&&(re=re.map(he=>he.toLowerCase())),re.forEach(function(he){const Je=he.split("|");Qe[Je[0]]=[q,Qi(Je[0],Je[1])]})}}function Qi(A,ne){return ne?Number(ne):An(A)?0:1}function An(A){return cn.includes(A.toLowerCase())}const hn={},un=A=>{console.error(A)},es=(A,...ne)=>{console.log(`WARN: ${A}`,...ne)},Ye=(A,ne)=>{hn[`${A}/${ne}`]||(console.log(`Deprecated as of ${A}. ${ne}`),hn[`${A}/${ne}`]=!0)},vt=new Error;function hi(A,ne,{key:ge}){let Qe=0;const dt=A[ge],q={},re={};for(let he=1;he<=ne.length;he++)re[he+Qe]=dt[he],q[he+Qe]=!0,Qe+=E(ne[he-1]);A[ge]=re,A[ge]._emit=q,A[ge]._multi=!0}function Pi(A){if(Array.isArray(A.begin)){if(A.skip||A.excludeBegin||A.returnBegin)throw un("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),vt;if(typeof A.beginScope!="object"||A.beginScope===null)throw un("beginScope must be object"),vt;hi(A,A.begin,{key:"beginScope"}),A.begin=H(A.begin,{joinWith:""})}}function Mi(A){if(Array.isArray(A.end)){if(A.skip||A.excludeEnd||A.returnEnd)throw un("skip, excludeEnd, returnEnd not compatible with endScope: {}"),vt;if(typeof A.endScope!="object"||A.endScope===null)throw un("endScope must be object"),vt;hi(A,A.end,{key:"endScope"}),A.end=H(A.end,{joinWith:""})}}function tn(A){A.scope&&typeof A.scope=="object"&&A.scope!==null&&(A.beginScope=A.scope,delete A.scope)}function nn(A){tn(A),typeof A.beginScope=="string"&&(A.beginScope={_wrap:A.beginScope}),typeof A.endScope=="string"&&(A.endScope={_wrap:A.endScope}),Pi(A),Mi(A)}function Xn(A){function ne(re,he){return new RegExp(f(re),"m"+(A.case_insensitive?"i":"")+(A.unicodeRegex?"u":"")+(he?"g":""))}class ge{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(he,Je){Je.position=this.position++,this.matchIndexes[this.matchAt]=Je,this.regexes.push([Je,he]),this.matchAt+=E(he)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const he=this.regexes.map(Je=>Je[1]);this.matcherRe=ne(H(he,{joinWith:"|"}),!0),this.lastIndex=0}exec(he){this.matcherRe.lastIndex=this.lastIndex;const Je=this.matcherRe.exec(he);if(!Je)return null;const ti=Je.findIndex((Ee,At)=>At>0&&Ee!==void 0),_t=this.matchIndexes[ti];return Je.splice(0,ti),Object.assign(Je,_t)}}class Qe{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(he){if(this.multiRegexes[he])return this.multiRegexes[he];const Je=new ge;return this.rules.slice(he).forEach(([ti,_t])=>Je.addRule(ti,_t)),Je.compile(),this.multiRegexes[he]=Je,Je}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(he,Je){this.rules.push([he,Je]),Je.type==="begin"&&this.count++}exec(he){const Je=this.getMatcher(this.regexIndex);Je.lastIndex=this.lastIndex;let ti=Je.exec(he);if(this.resumingScanAtSamePosition()&&!(ti&&ti.index===this.lastIndex)){const _t=this.getMatcher(0);_t.lastIndex=this.lastIndex+1,ti=_t.exec(he)}return ti&&(this.regexIndex+=ti.position+1,this.regexIndex===this.count&&this.considerAll()),ti}}function dt(re){const he=new Qe;return re.contains.forEach(Je=>he.addRule(Je.begin,{rule:Je,type:"begin"})),re.terminatorEnd&&he.addRule(re.terminatorEnd,{type:"end"}),re.illegal&&he.addRule(re.illegal,{type:"illegal"}),he}function q(re,he){const Je=re;if(re.isCompiled)return Je;[Un,Ei,nn,ln].forEach(_t=>_t(re,he)),A.compilerExtensions.forEach(_t=>_t(re,he)),re.__beforeBegin=null,[wn,Rn,pn].forEach(_t=>_t(re,he)),re.isCompiled=!0;let ti=null;return typeof re.keywords=="object"&&re.keywords.$pattern&&(re.keywords=Object.assign({},re.keywords),ti=re.keywords.$pattern,delete re.keywords.$pattern),ti=ti||/\w+/,re.keywords&&(re.keywords=dn(re.keywords,A.case_insensitive)),Je.keywordPatternRe=ne(ti,!0),he&&(re.begin||(re.begin=/\B|\b/),Je.beginRe=ne(Je.begin),!re.end&&!re.endsWithParent&&(re.end=/\B|\b/),re.end&&(Je.endRe=ne(Je.end)),Je.terminatorEnd=f(Je.end)||"",re.endsWithParent&&he.terminatorEnd&&(Je.terminatorEnd+=(re.end?"|":"")+he.terminatorEnd)),re.illegal&&(Je.illegalRe=ne(re.illegal)),re.contains||(re.contains=[]),re.contains=[].concat(...re.contains.map(function(_t){return qn(_t==="self"?re:_t)})),re.contains.forEach(function(_t){q(_t,Je)}),re.starts&&q(re.starts,he),Je.matcher=dt(Je),Je}if(A.compilerExtensions||(A.compilerExtensions=[]),A.contains&&A.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return A.classNameAliases=i(A.classNameAliases||{}),q(A)}function Bn(A){return A?A.endsWithParent||Bn(A.starts):!1}function qn(A){return A.variants&&!A.cachedVariants&&(A.cachedVariants=A.variants.map(function(ne){return i(A,{variants:null},ne)})),A.cachedVariants?A.cachedVariants:Bn(A)?i(A,{starts:A.starts?i(A.starts):null}):Object.isFrozen(A)?i(A):A}var $n="11.11.1";class On extends Error{constructor(ne,ge){super(ne),this.name="HTMLInjectionError",this.html=ge}}const qe=t,Z=i,Ve=Symbol("nomatch"),mt=7,St=function(A){const ne=Object.create(null),ge=Object.create(null),Qe=[];let dt=!0;const q="Could not find the language '{}', did you forget to load/include a language module?",re={disableAutodetect:!0,name:"Plain text",contains:[]};let he={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:g};function Je(O){return he.noHighlightRe.test(O)}function ti(O){let G=O.className+" ";G+=O.parentNode?O.parentNode.className:"";const xe=he.languageDetectRe.exec(G);if(xe){const Me=Vt(xe[1]);return Me||(es(q.replace("{}",xe[1])),es("Falling back to no-highlight mode for this block.",O)),Me?xe[1]:"no-highlight"}return G.split(/\s+/).find(Me=>Je(Me)||Vt(Me))}function _t(O,G,xe){let Me="",je="";typeof G=="object"?(Me=O,xe=G.ignoreIllegals,je=G.language):(Ye("10.7.0","highlight(lang, code, ...args) has been deprecated."),Ye("10.7.0",`Please use highlight(code, options) instead.
80
+ https://github.com/highlightjs/highlight.js/issues/2277`),je=O,Me=G),xe===void 0&&(xe=!0);const Ne={code:Me,language:je};Zt("before:highlight",Ne);const et=Ne.result?Ne.result:Ee(Ne.language,Ne.code,xe);return et.code=Ne.code,Zt("after:highlight",et),et}function Ee(O,G,xe,Me){const je=Object.create(null);function Ne(ce,Fe){return ce.keywords[Fe]}function et(){if(!Pe.keywords){We.addText(pe);return}let ce=0;Pe.keywordPatternRe.lastIndex=0;let Fe=Pe.keywordPatternRe.exec(pe),lt="";for(;Fe;){lt+=pe.substring(ce,Fe.index);const ot=Ie.case_insensitive?Fe[0].toLowerCase():Fe[0],Be=Ne(Pe,ot);if(Be){const[Ft,zt]=Be;if(We.addText(lt),lt="",je[ot]=(je[ot]||0)+1,je[ot]<=mt&&(be+=zt),Ft.startsWith("_"))lt+=Fe[0];else{const gn=Ie.classNameAliases[Ft]||Ft;De(Fe[0],gn)}}else lt+=Fe[0];ce=Pe.keywordPatternRe.lastIndex,Fe=Pe.keywordPatternRe.exec(pe)}lt+=pe.substring(ce),We.addText(lt)}function ai(){if(pe==="")return;let ce=null;if(typeof Pe.subLanguage=="string"){if(!ne[Pe.subLanguage]){We.addText(pe);return}ce=Ee(Pe.subLanguage,pe,!0,xt[Pe.subLanguage]),xt[Pe.subLanguage]=ce._top}else ce=ii(pe,Pe.subLanguage.length?Pe.subLanguage:null);Pe.relevance>0&&(be+=ce.relevance),We.__addSublanguage(ce._emitter,ce.language)}function _e(){Pe.subLanguage!=null?ai():et(),pe=""}function De(ce,Fe){ce!==""&&(We.startScope(Fe),We.addText(ce),We.endScope())}function st(ce,Fe){let lt=1;const ot=Fe.length-1;for(;lt<=ot;){if(!ce._emit[lt]){lt++;continue}const Be=Ie.classNameAliases[ce[lt]]||ce[lt],Ft=Fe[lt];Be?De(Ft,Be):(pe=Ft,et(),pe=""),lt++}}function ke(ce,Fe){return ce.scope&&typeof ce.scope=="string"&&We.openNode(Ie.classNameAliases[ce.scope]||ce.scope),ce.beginScope&&(ce.beginScope._wrap?(De(pe,Ie.classNameAliases[ce.beginScope._wrap]||ce.beginScope._wrap),pe=""):ce.beginScope._multi&&(st(ce.beginScope,Fe),pe="")),Pe=Object.create(ce,{parent:{value:Pe}}),Pe}function tt(ce,Fe,lt){let ot=R(ce.endRe,lt);if(ot){if(ce["on:end"]){const Be=new e(ce);ce["on:end"](Fe,Be),Be.isMatchIgnored&&(ot=!1)}if(ot){for(;ce.endsParent&&ce.parent;)ce=ce.parent;return ce}}if(ce.endsWithParent)return tt(ce.parent,Fe,lt)}function Ot(ce){return Pe.matcher.regexIndex===0?(pe+=ce[0],1):(gt=!0,0)}function z(ce){const Fe=ce[0],lt=ce.rule,ot=new e(lt),Be=[lt.__beforeBegin,lt["on:begin"]];for(const Ft of Be)if(Ft&&(Ft(ce,ot),ot.isMatchIgnored))return Ot(Fe);return lt.skip?pe+=Fe:(lt.excludeBegin&&(pe+=Fe),_e(),!lt.returnBegin&&!lt.excludeBegin&&(pe=Fe)),ke(lt,ce),lt.returnBegin?0:Fe.length}function X(ce){const Fe=ce[0],lt=G.substring(ce.index),ot=tt(Pe,ce,lt);if(!ot)return Ve;const Be=Pe;Pe.endScope&&Pe.endScope._wrap?(_e(),De(Fe,Pe.endScope._wrap)):Pe.endScope&&Pe.endScope._multi?(_e(),st(Pe.endScope,ce)):Be.skip?pe+=Fe:(Be.returnEnd||Be.excludeEnd||(pe+=Fe),_e(),Be.excludeEnd&&(pe=Fe));do Pe.scope&&We.closeNode(),!Pe.skip&&!Pe.subLanguage&&(be+=Pe.relevance),Pe=Pe.parent;while(Pe!==ot.parent);return ot.starts&&ke(ot.starts,ce),Be.returnEnd?0:Fe.length}function Le(){const ce=[];for(let Fe=Pe;Fe!==Ie;Fe=Fe.parent)Fe.scope&&ce.unshift(Fe.scope);ce.forEach(Fe=>We.openNode(Fe))}let Ae={};function Re(ce,Fe){const lt=Fe&&Fe[0];if(pe+=ce,lt==null)return _e(),0;if(Ae.type==="begin"&&Fe.type==="end"&&Ae.index===Fe.index&&lt===""){if(pe+=G.slice(Fe.index,Fe.index+1),!dt){const ot=new Error(`0 width match regex (${O})`);throw ot.languageName=O,ot.badRule=Ae.rule,ot}return 1}if(Ae=Fe,Fe.type==="begin")return z(Fe);if(Fe.type==="illegal"&&!xe){const ot=new Error('Illegal lexeme "'+lt+'" for mode "'+(Pe.scope||"<unnamed>")+'"');throw ot.mode=Pe,ot}else if(Fe.type==="end"){const ot=X(Fe);if(ot!==Ve)return ot}if(Fe.type==="illegal"&&lt==="")return pe+=`
81
+ `,1;if(we>1e5&&we>Fe.index*3)throw new Error("potential infinite loop, way more iterations than matches");return pe+=lt,lt.length}const Ie=Vt(O);if(!Ie)throw un(q.replace("{}",O)),new Error('Unknown language: "'+O+'"');const Pt=Xn(Ie);let at="",Pe=Me||Pt;const xt={},We=new he.__emitter(he);Le();let pe="",be=0,ye=0,we=0,gt=!1;try{if(Ie.__emitTokens)Ie.__emitTokens(G,We);else{for(Pe.matcher.considerAll();;){we++,gt?gt=!1:Pe.matcher.considerAll(),Pe.matcher.lastIndex=ye;const ce=Pe.matcher.exec(G);if(!ce)break;const Fe=G.substring(ye,ce.index),lt=Re(Fe,ce);ye=ce.index+lt}Re(G.substring(ye))}return We.finalize(),at=We.toHTML(),{language:O,value:at,relevance:be,illegal:!1,_emitter:We,_top:Pe}}catch(ce){if(ce.message&&ce.message.includes("Illegal"))return{language:O,value:qe(G),illegal:!0,relevance:0,_illegalBy:{message:ce.message,index:ye,context:G.slice(ye-100,ye+100),mode:ce.mode,resultSoFar:at},_emitter:We};if(dt)return{language:O,value:qe(G),illegal:!1,relevance:0,errorRaised:ce,_emitter:We,_top:Pe};throw ce}}function At(O){const G={value:qe(O),illegal:!1,relevance:0,_top:re,_emitter:new he.__emitter(he)};return G._emitter.addText(O),G}function ii(O,G){G=G||he.languages||Object.keys(ne);const xe=At(O),Me=G.filter(Vt).filter(oi).map(_e=>Ee(_e,O,!1));Me.unshift(xe);const je=Me.sort((_e,De)=>{if(_e.relevance!==De.relevance)return De.relevance-_e.relevance;if(_e.language&&De.language){if(Vt(_e.language).supersetOf===De.language)return 1;if(Vt(De.language).supersetOf===_e.language)return-1}return 0}),[Ne,et]=je,ai=Ne;return ai.secondBest=et,ai}function Ze(O,G,xe){const Me=G&&ge[G]||xe;O.classList.add("hljs"),O.classList.add(`language-${Me}`)}function Nt(O){let G=null;const xe=ti(O);if(Je(xe))return;if(Zt("before:highlightElement",{el:O,language:xe}),O.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",O);return}if(O.children.length>0&&(he.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(O)),he.throwUnescapedHTML))throw new On("One of your code blocks includes unescaped HTML.",O.innerHTML);G=O;const Me=G.textContent,je=xe?_t(Me,{language:xe,ignoreIllegals:!0}):ii(Me);O.innerHTML=je.value,O.dataset.highlighted="yes",Ze(O,xe,je.language),O.result={language:je.language,re:je.relevance,relevance:je.relevance},je.secondBest&&(O.secondBest={language:je.secondBest.language,relevance:je.secondBest.relevance}),Zt("after:highlightElement",{el:O,result:je,text:Me})}function ni(O){he=Z(he,O)}const te=()=>{rt(),Ye("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function fe(){rt(),Ye("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Ge=!1;function rt(){function O(){rt()}if(document.readyState==="loading"){Ge||window.addEventListener("DOMContentLoaded",O,!1),Ge=!0;return}document.querySelectorAll(he.cssSelector).forEach(Nt)}function Ct(O,G){let xe=null;try{xe=G(A)}catch(Me){if(un("Language definition for '{}' could not be registered.".replace("{}",O)),dt)un(Me);else throw Me;xe=re}xe.name||(xe.name=O),ne[O]=xe,xe.rawDefinition=G.bind(null,A),xe.aliases&&si(xe.aliases,{languageName:O})}function He(O){delete ne[O];for(const G of Object.keys(ge))ge[G]===O&&delete ge[G]}function ht(){return Object.keys(ne)}function Vt(O){return O=(O||"").toLowerCase(),ne[O]||ne[ge[O]]}function si(O,{languageName:G}){typeof O=="string"&&(O=[O]),O.forEach(xe=>{ge[xe.toLowerCase()]=G})}function oi(O){const G=Vt(O);return G&&!G.disableAutodetect}function Zi(O){O["before:highlightBlock"]&&!O["before:highlightElement"]&&(O["before:highlightElement"]=G=>{O["before:highlightBlock"](Object.assign({block:G.el},G))}),O["after:highlightBlock"]&&!O["after:highlightElement"]&&(O["after:highlightElement"]=G=>{O["after:highlightBlock"](Object.assign({block:G.el},G))})}function xi(O){Zi(O),Qe.push(O)}function ri(O){const G=Qe.indexOf(O);G!==-1&&Qe.splice(G,1)}function Zt(O,G){const xe=O;Qe.forEach(function(Me){Me[xe]&&Me[xe](G)})}function ji(O){return Ye("10.7.0","highlightBlock will be removed entirely in v12.0"),Ye("10.7.0","Please use highlightElement now."),Nt(O)}Object.assign(A,{highlight:_t,highlightAuto:ii,highlightAll:rt,highlightElement:Nt,highlightBlock:ji,configure:ni,initHighlighting:te,initHighlightingOnLoad:fe,registerLanguage:Ct,unregisterLanguage:He,listLanguages:ht,getLanguage:Vt,registerAliases:si,autoDetection:oi,inherit:Z,addPlugin:xi,removePlugin:ri}),A.debugMode=function(){dt=!1},A.safeMode=function(){dt=!0},A.versionString=$n,A.regex={concat:w,lookahead:p,either:D,optional:_,anyNumberOfTimes:v};for(const O in Bi)typeof Bi[O]=="object"&&o(Bi[O]);return Object.assign(A,Bi),A},Bt=St({});return Bt.newInstance=()=>St({}),aS=Bt,Bt.HighlightJS=Bt,Bt.default=Bt,aS}var T7=P7();const cb=TR(T7),TD="[A-Za-z$_][0-9A-Za-z$_]*",M7=["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"],N7=["true","false","null","undefined","NaN","Infinity"],MR=["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"],NR=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],RR=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],R7=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],A7=[].concat(RR,MR,NR);function AR(o){const e=o.regex,t=(Ke,{after:Gt})=>{const ve="</"+Ke[0].slice(1);return Ke.input.indexOf(ve,Gt)!==-1},i=TD,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Ke,Gt)=>{const ve=Ke[0].length+Ke.index,it=Ke.input[ve];if(it==="<"||it===","){Gt.ignoreMatch();return}it===">"&&(t(Ke,{after:ve})||Gt.ignoreMatch());let Rt;const ei=Ke.input.substring(ve);if(Rt=ei.match(/^\s*=/)){Gt.ignoreMatch();return}if((Rt=ei.match(/^\s+extends\s+/))&&Rt.index===0){Gt.ignoreMatch();return}}},a={$pattern:TD,keyword:M7,literal:N7,built_in:A7,"variable.language":R7},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]},E={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]},R=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,w,S,{match:/\$\d+/},f];p.contains=R.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(R)});const V=[].concat(E,p.contains),H=V.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(V)}]),J={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:H},Y={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},ue={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:{_:[...MR,...NR]}},Te={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Oe={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[J],illegal:/%/},Ce={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ft(Ke){return e.concat("(?!",Ke.join("|"),")")}const kt={match:e.concat(/\b/,ft([...RR,"super","import"].map(Ke=>`${Ke}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},ct={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ci={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},J]},jt="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Jt={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(jt)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[J]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:H,CLASS_REFERENCE:ue},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),Te,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,w,S,E,{match:/\$\d+/},f,ue,{scope:"attr",match:i+e.lookahead(":"),relevance:0},Jt,{begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[E,o.REGEXP_MODE,{className:"function",begin:jt,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:H}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:n.begin,end:n.end},{match:s},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},Oe,{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},ct,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[J]},kt,Ce,Y,ci,{match:/\$[(.]/}]}}function vL(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var zh=vL();function OR(o){zh=o}var id={exec:()=>null};function lu(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 kn(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(ao.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var O7=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),ao={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:lu(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:lu(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:lu(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:lu(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:lu(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:lu(o=>new RegExp(`^ {0,${o}}>`))},F7=/^(?:[ \t]*(?:\n|$))+/,H7=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,W7=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Im=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,B7=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,bL=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,FR=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,HR=kn(FR).replace(/bull/g,bL).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(),z7=kn(FR).replace(/bull/g,bL).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(),yL=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,V7=/^[^\n]+/,wL=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,j7=kn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",wL).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),U7=kn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,bL).getRegex(),iw="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",SL=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,$7=kn("^ {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",SL).replace("tag",iw).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),WR=kn(yL).replace("hr",Im).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",iw).getRegex(),q7=kn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",WR).getRegex(),CL={blockquote:q7,code:H7,def:j7,fences:W7,heading:B7,hr:Im,html:$7,lheading:HR,list:U7,newline:F7,paragraph:WR,table:id,text:V7},MD=kn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Im).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",iw).getRegex(),K7={...CL,lheading:z7,table:MD,paragraph:kn(yL).replace("hr",Im).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",MD).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",iw).getRegex()},G7={...CL,html:kn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",SL).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:id,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:kn(yL).replace("hr",Im).replace("heading",` *#{1,6} *[^
82
+ ]`).replace("lheading",HR).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Z7=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,X7=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,BR=/^( {2,}|\\)\n(?!\s*$)/,Y7=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Gg=/[\p{P}\p{S}]/u,nw=/[\s\p{P}\p{S}]/u,xL=/[^\s\p{P}\p{S}]/u,Q7=kn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,nw).getRegex(),zR=/(?!~)[\p{P}\p{S}]/u,J7=/(?!~)[\s\p{P}\p{S}]/u,eq=/(?:[^\s\p{P}\p{S}]|~)/u,tq=kn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",O7?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),VR=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,iq=kn(VR,"u").replace(/punct/g,Gg).getRegex(),nq=kn(VR,"u").replace(/punct/g,zR).getRegex(),jR="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",sq=kn(jR,"gu").replace(/notPunctSpace/g,xL).replace(/punctSpace/g,nw).replace(/punct/g,Gg).getRegex(),oq=kn(jR,"gu").replace(/notPunctSpace/g,eq).replace(/punctSpace/g,J7).replace(/punct/g,zR).getRegex(),rq=kn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,xL).replace(/punctSpace/g,nw).replace(/punct/g,Gg).getRegex(),aq=kn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Gg).getRegex(),lq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",cq=kn(lq,"gu").replace(/notPunctSpace/g,xL).replace(/punctSpace/g,nw).replace(/punct/g,Gg).getRegex(),dq=kn(/\\(punct)/,"gu").replace(/punct/g,Gg).getRegex(),hq=kn(/^<(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(),uq=kn(SL).replace("(?:-->|$)","-->").getRegex(),gq=kn("^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",uq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),db=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,fq=kn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",db).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),UR=kn(/^!?\[(label)\]\[(ref)\]/).replace("label",db).replace("ref",wL).getRegex(),$R=kn(/^!?\[(ref)\](?:\[\])?/).replace("ref",wL).getRegex(),pq=kn("reflink|nolink(?!\\()","g").replace("reflink",UR).replace("nolink",$R).getRegex(),ND=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,LL={_backpedal:id,anyPunctuation:dq,autolink:hq,blockSkip:tq,br:BR,code:X7,del:id,delLDelim:id,delRDelim:id,emStrongLDelim:iq,emStrongRDelimAst:sq,emStrongRDelimUnd:rq,escape:Z7,link:fq,nolink:$R,punctuation:Q7,reflink:UR,reflinkSearch:pq,tag:gq,text:Y7,url:id},mq={...LL,link:kn(/^!?\[(label)\]\((.*?)\)/).replace("label",db).getRegex(),reflink:kn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",db).getRegex()},I0={...LL,emStrongRDelimAst:oq,emStrongLDelim:nq,delLDelim:aq,delRDelim:cq,url:kn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",ND).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:kn(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",ND).getRegex()},_q={...I0,br:kn(BR).replace("{2,}","*").getRegex(),text:kn(I0.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},__={normal:CL,gfm:K7,pedantic:G7},_f={normal:LL,gfm:I0,breaks:_q,pedantic:mq},vq={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},RD=o=>vq[o];function ba(o,e){if(e){if(ao.escapeTest.test(o))return o.replace(ao.escapeReplace,RD)}else if(ao.escapeTestNoEncode.test(o))return o.replace(ao.escapeReplaceNoEncode,RD);return o}function AD(o){try{o=encodeURI(o).replace(ao.percentDecode,"%")}catch{return null}return o}function OD(o,e){var s;let t=o.replace(ao.findPipe,(r,a,c)=>{let h=!1,g=a;for(;--g>=0&&c[g]==="\\";)h=!h;return h?"|":" |"}),i=t.split(ao.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(ao.slashPipe,"|");return i}function jl(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 FD(o){let e=o.split(`
83
+ `),t=e.length-1;for(;t>=0&&ao.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
84
+ `)}function bq(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 yq(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 HD(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 wq(o,e,t){let i=o.match(t.other.indentCodeCompensation);if(i===null)return e;let n=i[1];return e.split(`
85
+ `).map(s=>{let r=s.match(t.other.beginningSpace);if(r===null)return s;let[a]=r;return a.length>=n.length?s.slice(n.length):s}).join(`
86
+ `)}var hb=class{constructor(o){$i(this,"options");$i(this,"rules");$i(this,"lexer");this.options=o||zh}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]:FD(e[0]),i=t.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t,codeBlockStyle:"indented",text:i}}}fences(o){let e=this.rules.block.fences.exec(o);if(e){let t=e[0],i=wq(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:i}}}heading(o){let e=this.rules.block.heading.exec(o);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let i=jl(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:jl(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:jl(e[0],`
88
+ `)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=jl(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=yq(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(_),E=this.rules.other.headingBeginRegex(_),R=this.rules.other.htmlBeginRegex(_),V=this.rules.other.blockquoteBeginRegex(_);for(;o;){let H=o.split(`
103
+ `,1)[0],J;if(p=H,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),J=p):J=p.replace(this.rules.other.tabCharGlobal," "),D.test(p)||E.test(p)||R.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)||E.test(f)||S.test(f))break;g+=`
105
+ `+p}v=!p.trim(),h+=H+`
106
+ `,o=o.substring(H.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=FD(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:jl(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=OD(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:jl(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(OD(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:jl(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=jl(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=bq(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)),HD(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 HD(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}}}},Zr=class D0{constructor(e){$i(this,"tokens");$i(this,"options");$i(this,"state");$i(this,"inlineQueue");$i(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||zh,this.options.tokenizer=this.options.tokenizer||new hb,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:ao,block:__.normal,inline:_f.normal};this.options.pedantic?(t.block=__.pedantic,t.inline=_f.pedantic):this.options.gfm&&(t.block=__.gfm,this.options.breaks?t.inline=_f.breaks:t.inline=_f.gfm),this.tokenizer.rules=t}static get rules(){return{block:__,inline:_f}}static lex(e,t){return new D0(t).lex(e)}static lexInline(e,t){return new D0(t).inlineTokens(e)}lex(e){e=e.replace(ao.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(ao.tabCharGlobal," ").replace(ao.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),E;this.options.extensions.startInline.forEach(R=>{E=R.call({lexer:this},D),typeof E=="number"&&E>=0&&(S=Math.min(S,E))}),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)}},ub=class{constructor(o){$i(this,"options");$i(this,"parser");this.options=o||zh}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(ao.notSpaceStart))==null?void 0:s[0],n=o.replace(ao.endingNewline,"")+`
126
+ `;return i?'<pre><code class="language-'+ba(i)+'">'+(t?n:ba(n,!0))+`</code></pre>
127
+ `:"<pre><code>"+(t?n:ba(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>${ba(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=AD(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+ba(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=AD(o);if(n===null)return ba(t);o=n;let s=`<img src="${o}" alt="${ba(t)}"`;return e&&(s+=` title="${ba(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:ba(o.text)}},kL=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}},Xr=class E0{constructor(e){$i(this,"options");$i(this,"renderer");$i(this,"textRenderer");this.options=e||zh,this.options.renderer=this.options.renderer||new ub,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new kL}static parse(e,t){return new E0(t).parse(e)}static parseInline(e,t){return new E0(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}},v_,Af=(v_=class{constructor(o){$i(this,"options");$i(this,"block");this.options=o||zh}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?Zr.lex:Zr.lexInline}provideParser(o=this.block){return o?Xr.parse:Xr.parseInline}},$i(v_,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),$i(v_,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),v_),Sq=class{constructor(...o){$i(this,"defaults",vL());$i(this,"options",this.setOptions);$i(this,"parse",this.parseMarkdown(!0));$i(this,"parseInline",this.parseMarkdown(!1));$i(this,"Parser",Xr);$i(this,"Renderer",ub);$i(this,"TextRenderer",kL);$i(this,"Lexer",Zr);$i(this,"Tokenizer",hb);$i(this,"Hooks",Af);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 ub(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 hb(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 Af;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];Af.passThroughHooks.has(s)?n[r]=h=>{if(this.defaults.async&&Af.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 Zr.lex(o,e??this.defaults)}parser(o,e){return Xr.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?Zr.lex:Zr.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?Xr.parse:Xr.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?Zr.lex:Zr.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?Xr.parse:Xr.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>"+ba(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Eh=new Sq;function Hn(o,e){return Eh.parse(o,e)}Hn.options=Hn.setOptions=function(o){return Eh.setOptions(o),Hn.defaults=Eh.defaults,OR(Hn.defaults),Hn};Hn.getDefaults=vL;Hn.defaults=zh;Hn.use=function(...o){return Eh.use(...o),Hn.defaults=Eh.defaults,OR(Hn.defaults),Hn};Hn.walkTokens=function(o,e){return Eh.walkTokens(o,e)};Hn.parseInline=Eh.parseInline;Hn.Parser=Xr;Hn.parser=Xr.parse;Hn.Renderer=ub;Hn.TextRenderer=kL;Hn.Lexer=Zr;Hn.lexer=Zr.lex;Hn.Tokenizer=hb;Hn.Hooks=Af;Hn.parse=Hn;Hn.options;Hn.setOptions;Hn.use;Hn.walkTokens;Hn.parseInline;Xr.parse;Zr.lex;var Cq=M('<span class="chat-model svelte-10ayso4"><!></span>'),xq=M('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),Lq=M('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),kq=M('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),Iq=M('<ul class="history-list svelte-10ayso4"></ul>'),Dq=M('<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>'),Eq=M('<div class="unconfigured svelte-10ayso4">Configure an AI provider in the <strong class="svelte-10ayso4">Config</strong> tab to use the AI assistant.</div>'),Pq=M('Chatting in context of <code class="svelte-10ayso4"> </code>',1),Tq=M('<button class="chip svelte-10ayso4"> </button>'),Mq=M('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),Nq=M('<div class="msg-content user-text svelte-10ayso4"> </div>'),WD=M('<span class="tool-args svelte-10ayso4"> </span>'),BD=M('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),zD=M('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),VD=M('<div class="tool-events svelte-10ayso4"></div>'),jD=M('<div class="text-block svelte-10ayso4"></div>'),Rq=M('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),Aq=M('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),Oq=M('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),Fq=M('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),Hq=M('<button class="expand-btn svelte-10ayso4"> </button>'),Wq=M('<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>'),Bq=M('<!> <div class="msg-content svelte-10ayso4"></div>',1),zq=M("<div><!></div>"),Vq=M('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),jq=M('<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>'),Uq=M('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),$q=M('<div class="chat-error svelte-10ayso4"> </div>'),qq=M('<span class="ctx-indicator svelte-10ayso4"><svg width="12" height="12" viewBox="0 0 12 12" class="svelte-10ayso4"><circle cx="6" cy="6" r="5" fill="none" stroke="var(--border-sub)" stroke-width="2" class="svelte-10ayso4"></circle><circle cx="6" cy="6" r="5" fill="none" stroke-width="2" stroke-dashoffset="7.85" stroke-linecap="round" class="svelte-10ayso4"></circle></svg></span>'),Kq=M('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),Gq=M('<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>'),Zq=M('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),Xq=M('<button class="send-btn svelte-10ayso4">↑</button>'),Yq=M('<option class="svelte-10ayso4"> </option>'),Qq=M('<select class="model-select svelte-10ayso4"></select>'),Jq=M('<span class="model-name svelte-10ayso4"> </span>'),eK=M('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),tK=M('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),iK=M('<p class="info-status svelte-10ayso4">Loading…</p>'),nK=M('<p class="info-status info-err svelte-10ayso4"> </p>'),sK=M('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),oK=M('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),rK=M('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),aK=M('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),lK=M('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),cK=M('<div class="running-model svelte-10ayso4"> </div>'),dK=M('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),hK=M('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),uK=M('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),gK=M('<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>'),fK=M('<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 pK(o,e){zo(e,!0),cb.registerLanguage("javascript",AR),Hn.use({breaks:!0,gfm:!0});let t=vg(e,"currentScript",3,null),i=vg(e,"extraFiles",31,()=>fi([])),n=W(fi([])),s=W(null),r=W(""),a=W(!1),c=W(""),h=W(null);const g="she:conversationId";function f(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=W(fi(localStorage.getItem(g)??f())),v=W(fi([])),_=W(!1);Fn(()=>{localStorage.setItem(g,u(p))});let w=W(fi([])),S=W(fi(localStorage.getItem("she:selectedModel")??"")),D=W(null);const E=nt(()=>{var z;return u(D)!==null&&((z=t())==null?void 0:z.path)===u(D)});let R=W(fi(new Set)),V=W(!1),H=W(null),J=W(!1),Y=W(""),ue=W(0),Te=null,Oe=W(0);const Ce=["[core] reticulating splines…","[io] calibrating the flux capacitor…","[net] pinging the oracle (no response)…","[gpu] overclocking the neurons…","[fs] loading sarcasm module v4.2…","[mem] defragmenting the embedding space…","[sched] running gradient descent into madness…","[net] synchronizing with the hive mind…","[model] tickling the transformer…","[io] consulting rubber duck debugger…","[core] solving P=NP as a warmup…","[gpu] burning GPU cycles for warmth…","[mem] compressing knowledge into tensors…","[net] asking my inner voice (busy)…","[fs] mining opinions from the void…","[core] summoning attention heads…","[io] tokenizing the vibes…","[sched] hallucinating thoughtfully…","[net] traversing the knowledge graph…","[model] manifesting an answer…"];let ft=W(!0),kt=W(!0),ct=W(!0),ci=W(!1),jt,Jt=W(fi([])),Ke,Gt;const ve=nt(()=>({apiref:u(ft),tools:u(kt)})),it=nt(()=>{var z;return((z=u(h))==null?void 0:z.configured)??!1}),Rt=nt(()=>{var z;return u(it)||!!((z=u(h))!=null&&z.provider)&&!!u(S)}),ei=nt(()=>u(ue)+new TextEncoder().encode(u(r)).length),Yt=nt(()=>u(ct)?t():null);Fn(()=>{var X;const z=(X=t())==null?void 0:X.path;k(ct,!0),u(D)!==null&&z!==u(D)&&k(D,null)}),Fn(()=>{var Ae;if(!u(E))return;const z=u(n).at(-1);if(!z||z.role!=="assistant")return;const Le=Mt(z.content).find(Re=>Re.type==="code"&&Ei(Re.lang));if(Le){const Re=pn(Le.text);(Ae=e.onApply)==null||Ae.call(e,Re?Re.code:Le.text)}});async function Ut(){try{const z=await LR();k(h,z,!0),z.configured&&!u(S)&&k(S,z.model,!0)}catch{}}Fn(()=>(window.addEventListener("she:config-changed",Ut),()=>window.removeEventListener("she:config-changed",Ut))),Fn(()=>{u(S)&&localStorage.setItem("she:selectedModel",u(S))}),Fn(()=>{var z;(z=u(h))!=null&&z.provider&&kR().then(X=>{k(w,X.models,!0),!u(S)&&X.models.length>0&&k(S,X.models[0],!0)}).catch(()=>{})}),Fn(()=>{u(S),k(H,null),k(Y,"")}),Fn(()=>{var X,Le;if(((X=u(h))==null?void 0:X.provider)!=="ollama")return;const z=u(S)||((Le=u(h))==null?void 0:Le.model);!z||u(H)||L0(z).then(Ae=>{k(H,Ae,!0)}).catch(()=>{})}),Fn(()=>{if(!u(a))return;k(Oe,Math.floor(Math.random()*Ce.length),!0);const z=setInterval(()=>{k(Oe,(u(Oe)+1)%Ce.length)},1e4);return()=>clearInterval(z)}),Fn(()=>{var z;Gt&&(u(n).length+(((z=u(s))==null?void 0:z.length)??0),requestAnimationFrame(()=>{Gt&&(Gt.scrollTop=Gt.scrollHeight)}))}),Fn(()=>{const z=u(ve),X=u(Yt),Le=i();u(Rt)&&IR({context:z,currentScript:X??null,extraFiles:Le.length>0?Le:void 0}).then(Ae=>{k(ue,new TextEncoder().encode(Ae.prompt).length,!0)}).catch(()=>{})});function Mt(z){const X=z.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
145
+ $2
146
+ `),Le=[],Ae=/```(\w*)\n([\s\S]*?)```/g;let Re=0,Ie;for(;(Ie=Ae.exec(X))!==null;)Ie.index>Re&&Le.push({type:"text",text:X.slice(Re,Ie.index)}),Le.push({type:"code",lang:Ie[1]||"text",text:Ie[2].trimEnd()}),Re=Ie.index+Ie[0].length;return Re<X.length&&Le.push({type:"text",text:X.slice(Re)}),Le}const di=15;function ki(z){return z.split(`
147
+ `).length>di}function Hi(z){const X=new Set(u(R));X.has(z)?X.delete(z):X.add(z),k(R,X,!0)}function Bi(z,X){if(Ei(X))try{return cb.highlight(z,{language:"javascript"}).value}catch{}return z.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function yn(z){return Hn.parse(z)}function Un(z){const X=z.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
148
+ $2
149
+ `),Le=[],Ae=/```(\w*)\n([\s\S]*?)```/g;let Re=0,Ie;for(;(Ie=Ae.exec(X))!==null;)Ie.index>Re&&Le.push({type:"text",text:X.slice(Re,Ie.index)}),Le.push({type:"code",lang:Ie[1]||"text",text:Ie[2].trimEnd()}),Re=Ie.index+Ie[0].length;const Pt=X.slice(Re),at=Pt.match(/```(\w*)\n([\s\S]*)$/);return at?(at.index>0&&Le.push({type:"text",text:Pt.slice(0,at.index)}),Le.push({type:"code",lang:at[1]||"text",text:at[2]})):Pt&&Le.push({type:"text",text:Pt}),Le}function wn(z){navigator.clipboard.writeText(z).catch(()=>{})}function Rn(z,X=!1){var Le;X&&t()&&k(D,t().path,!0),(Le=e.onApply)==null||Le.call(e,z)}function Ei(z){return!z||z==="js"||z==="javascript"}function pn(z){const X=z.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return X?{filename:X[1],code:z.slice(X[0].length)}:null}function ln(z){return z>=1e9?`${(z/1e9).toFixed(1)} GB`:z>=1e6?`${(z/1e6).toFixed(0)} MB`:z>=1024?`${(z/1024).toFixed(1)} kB`:`${z} B`}async function cn(){if(k(V,!0),!(u(H)||u(J))){k(J,!0),k(Y,"");try{k(H,await L0(u(S)||u(h).model),!0)}catch(z){k(Y,z.message,!0)}k(J,!1)}}function Wn(z){const X=z.match(/\.([^.]+)$/);return X?X[1].toUpperCase():"?"}function dn(z){switch(z){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return z}}function Qi(z){i(i().filter((X,Le)=>Le!==z))}function An(){jt.click()}async function hn(z){if(!(!z||z.length===0))for(const X of Array.from(z)){const Le=await X.text();i([...i(),{name:X.name,content:Le}])}}function un(z){const X=z.target;hn(X.files),X.value=""}function es(z){var X;z.preventDefault(),k(ci,!1),hn(((X=z.dataTransfer)==null?void 0:X.files)??null)}function Ye(z){var X;(X=z.dataTransfer)!=null&&X.types.includes("Files")&&(z.preventDefault(),k(ci,!0))}function vt(){k(ci,!1)}async function hi(){try{k(v,await _7(),!0)}catch{}}async function Pi(){var X;if(u(n).length===0)return;const z=((X=u(n).find(Le=>Le.role==="user"))==null?void 0:X.content.slice(0,80))??u(p);try{await v7(u(p),z,u(n)),await hi()}catch{}}async function Mi(z){try{const X=await DD(z);k(n,X.messages,!0),k(p,z,!0),k(_,!1),k(c,"")}catch{}}async function tn(z){try{await b7(z),await hi(),z===u(p)&&nn()}catch{}}function nn(){k(n,[],!0),k(c,""),k(p,f(),!0),k(_,!1)}Pr(async()=>{Ut();try{const z=await DD(u(p));k(n,z.messages,!0)}catch{}await hi()});async function Xn(){const z=u(r).trim();if(!z||u(a))return;k(r,""),k(c,""),k(a,!0);const X={role:"user",content:z};k(n,[...u(n),X],!0),Te=new AbortController,k(Jt,[],!0);try{await DR({messages:u(n),currentScript:u(Yt),context:u(ve),modelOverride:u(S)||void 0,extraFiles:i().length>0?i():void 0},Le=>{k(s,(u(s)??"")+Le)},Te.signal,Le=>{k(Jt,[...u(Jt),Le],!0)}),k(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(Jt).length>0?[...u(Jt)]:void 0}],!0),k(Jt,[],!0)}catch(Le){if(Le.name==="AbortError"){const Ae=u(s);Ae&&Ae.trim()&&k(n,[...u(n),{role:"assistant",content:Ae+`
150
+
151
+ *[stopped]*`,toolEvents:u(Jt).length>0?[...u(Jt)]:void 0}],!0)}else k(c,Le.message,!0)}finally{Te=null,k(s,null),k(Jt,[],!0),k(a,!1),Pi()}}function Bn(){Te==null||Te.abort()}function qn(z){z.key==="Enter"&&!z.shiftKey&&(z.preventDefault(),Xn())}function $n(){nn()}const On=["Explain what this script does","Add error handling","Add a 30-minute schedule before sunrise","Write a new script that forwards MQTT topic A to topic B","Write a new script that turns lights on at sunset"];function qe(z){k(r,z,!0),Ke==null||Ke.focus()}var Z=fK(),Ve=bt(Z),mt=x(Ve),St=C(x(mt),2);{var Bt=z=>{var X=Cq(),Le=x(X);{var Ae=Pt=>{var at=na();K(()=>$(at,`${u(h).provider??""} · ${(u(S)||u(h).model)??""}`)),T(Pt,at)},Re=Pt=>{var at=na();K(()=>$(at,`${u(h).provider??""} · pick a model below`)),T(Pt,at)},Ie=Pt=>{var at=na("Not configured");T(Pt,at)};U(Le,Pt=>{u(Rt)?Pt(Ae):u(h).provider?Pt(Re,1):Pt(Ie,-1)})}K(()=>vn(X,"title",`Provider: ${u(h).provider??""}`)),T(z,X)};U(St,z=>{u(h)&&z(Bt)})}var A=C(St,2);let ne;var ge=C(A,2);{var Qe=z=>{var X=xq();Q("click",X,$n),T(z,X)};U(ge,z=>{u(n).length>0&&z(Qe)})}var dt=C(mt,2);{var q=z=>{var X=Dq(),Le=x(X),Ae=C(x(Le),2),Re=C(Le,2);{var Ie=at=>{var Pe=Lq();T(at,Pe)},Pt=at=>{var Pe=Iq();ui(Pe,21,()=>u(v),xt=>xt.id,(xt,We)=>{var pe=kq();let be;var ye=x(pe),we=x(ye),gt=C(ye,2);K(()=>{be=qt(pe,1,"history-item svelte-10ayso4",null,be,{"history-active":u(We).id===u(p)}),vn(ye,"title",u(We).id),$(we,u(We).title||u(We).id)}),Q("click",ye,()=>Mi(u(We).id)),Q("click",gt,()=>tn(u(We).id)),T(xt,pe)}),T(at,Pe)};U(Re,at=>{u(v).length===0?at(Ie):at(Pt,-1)})}Q("click",Ae,nn),T(z,X)};U(dt,z=>{u(_)&&z(q)})}var re=C(dt,2),he=x(re);{var Je=z=>{var X=Eq();T(z,X)},ti=z=>{var X=Mq(),Le=x(X),Ae=x(Le);{var Re=at=>{var Pe=Pq(),xt=C(bt(Pe)),We=x(xt);K(pe=>$(We,pe),[()=>t().path.split("/").pop()]),T(at,Pe)},Ie=at=>{var Pe=na("No script open. Ask a general she scripting question.");T(at,Pe)};U(Ae,at=>{t()?at(Re):at(Ie,-1)})}var Pt=C(Le,2);ui(Pt,17,()=>On,Pn,(at,Pe)=>{var xt=Tq(),We=x(xt);K(()=>$(We,u(Pe))),Q("click",xt,()=>qe(u(Pe))),T(at,xt)}),T(z,X)};U(he,z=>{u(it)?u(n).length===0&&u(s)===null&&z(ti,1):z(Je)})}var _t=C(he,2);ui(_t,17,()=>u(n),Pn,(z,X,Le)=>{var Ae=zq(),Re=x(Ae);{var Ie=at=>{var Pe=Nq(),xt=x(Pe);K(()=>$(xt,u(X).content)),T(at,Pe)},Pt=at=>{const Pe=nt(()=>Mt(u(X).content));var xt=Bq(),We=bt(xt);{var pe=ye=>{var we=VD();ui(we,21,()=>u(X).toolEvents,Pn,(gt,ce)=>{var Fe=Us(),lt=bt(Fe);{var ot=Ft=>{var zt=BD(),gn=C(x(zt),2),zi=x(gn),Sn=C(gn,2);{var Yn=$t=>{var Xi=WD(),Wi=x(Xi);K(rs=>$(Wi,rs),[()=>Object.entries(u(ce).args).map(([rs,oo])=>`${rs}=${JSON.stringify(oo)}`).join(", ")]),T($t,Xi)},wi=nt(()=>u(ce).args&&Object.keys(u(ce).args).length>0);U(Sn,$t=>{u(wi)&&$t(Yn)})}K($t=>$(zi,$t),[()=>u(ce).name.replace(/_/g," ")]),T(Ft,zt)},Be=Ft=>{var zt=zD(),gn=C(x(zt),2),zi=x(gn);K(Sn=>$(zi,Sn),[()=>u(ce).name.replace(/_/g," ")]),T(Ft,zt)};U(lt,Ft=>{u(ce).type==="tool_call"?Ft(ot):Ft(Be,-1)})}T(gt,Fe)}),T(ye,we)};U(We,ye=>{var we;(we=u(X).toolEvents)!=null&&we.length&&ye(pe)})}var be=C(We,2);ui(be,21,()=>u(Pe),Pn,(ye,we,gt)=>{var ce=Us(),Fe=bt(ce);{var lt=Be=>{var Ft=jD();ic(Ft,()=>yn(u(we).text),!0),T(Be,Ft)},ot=Be=>{const Ft=nt(()=>Ei(u(we).lang)?pn(u(we).text):null),zt=nt(()=>u(Ft)?u(Ft).code:u(we).text),gn=nt(()=>`${Le}:${gt}`),zi=nt(()=>ki(u(zt))),Sn=nt(()=>u(R).has(u(gn)));var Yn=Wq(),wi=x(Yn),$t=x(wi),Xi=x($t),Wi=C($t,2),rs=x(Wi),oo=C(rs,2);{var jo=Ls=>{var Ks=Rq();Q("click",Ks,()=>e.onCreateFile(u(Ft).filename,u(Ft).code)),T(Ls,Ks)},Tr=Ls=>{var Ks=Fq(),Nr=bt(Ks),Ga=C(Nr,2);{var Al=Uo=>{var Rr=Aq();T(Uo,Rr)},Za=Uo=>{var Rr=Oq();Q("click",Rr,()=>Rn(u(we).text,!0)),T(Uo,Rr)};U(Ga,Uo=>{u(E)?Uo(Al):Uo(Za,-1)})}Q("click",Nr,()=>Rn(u(we).text)),T(Ls,Ks)},Ka=nt(()=>Ei(u(we).lang)&&t());U(oo,Ls=>{u(Ft)&&e.onCreateFile?Ls(jo):u(Ka)&&Ls(Tr,1)})}var Qn=C(wi,2);let ua;var ga=x(Qn),Ui=x(ga);ic(Ui,()=>Bi(u(zt),u(we).lang??""),!0);var Mr=C(ga,2);{var qs=Ls=>{var Ks=Hq(),Nr=x(Ks);K(()=>$(Nr,u(Sn)?"▲ collapse":"▼ expand")),Q("click",Ks,()=>Hi(u(gn))),T(Ls,Ks)};U(Mr,Ls=>{u(zi)&&Ls(qs)})}K(()=>{$(Xi,u(Ft)?`new: ${u(Ft).filename}`:u(we).lang),ua=qt(Qn,1,"code-body svelte-10ayso4",null,ua,{collapsed:u(zi)&&!u(Sn)})}),Q("click",rs,()=>wn(u(zt))),T(Be,Yn)};U(Fe,Be=>{u(we).type==="text"?Be(lt):Be(ot,-1)})}T(ye,ce)}),T(at,xt)};U(Re,at=>{u(X).role==="user"?at(Ie):at(Pt,-1)})}K(()=>qt(Ae,1,`message ${u(X).role??""}`,"svelte-10ayso4")),T(z,Ae)});var Ee=C(_t,2);{var At=z=>{var X=VD();ui(X,21,()=>u(Jt),Pn,(Le,Ae)=>{var Re=Us(),Ie=bt(Re);{var Pt=Pe=>{var xt=BD(),We=C(x(xt),2),pe=x(We),be=C(We,2);{var ye=gt=>{var ce=WD(),Fe=x(ce);K(lt=>$(Fe,lt),[()=>Object.entries(u(Ae).args).map(([lt,ot])=>`${lt}=${JSON.stringify(ot)}`).join(", ")]),T(gt,ce)},we=nt(()=>u(Ae).args&&Object.keys(u(Ae).args).length>0);U(be,gt=>{u(we)&&gt(ye)})}K(gt=>$(pe,gt),[()=>u(Ae).name.replace(/_/g," ")]),T(Pe,xt)},at=Pe=>{var xt=zD(),We=C(x(xt),2),pe=x(We);K(be=>$(pe,be),[()=>u(Ae).name.replace(/_/g," ")]),T(Pe,xt)};U(Ie,Pe=>{u(Ae).type==="tool_call"?Pe(Pt):Pe(at,-1)})}T(Le,Re)}),T(z,X)};U(Ee,z=>{u(Jt).length>0&&z(At)})}var ii=C(Ee,2);{var Ze=z=>{var X=Vq(),Le=x(X),Ae=x(Le),Re=x(Ae);K(()=>$(Re,Ce[u(Oe)])),T(z,X)};U(ii,z=>{u(a)&&u(s)===null&&u(Jt).length===0&&z(Ze)})}var Nt=C(ii,2);{var ni=z=>{var X=Uq(),Le=x(X);ui(Le,21,()=>Un(u(s)),Pn,(Ae,Re)=>{var Ie=Us(),Pt=bt(Ie);{var at=xt=>{var We=jD();ic(We,()=>yn(u(Re).text),!0),T(xt,We)},Pe=xt=>{var We=jq(),pe=x(We),be=x(pe),ye=x(be),we=C(pe,2),gt=x(we);ic(gt,()=>Bi(u(Re).text,u(Re).lang??""),!0),K(()=>$(ye,u(Re).lang)),T(xt,We)};U(Pt,xt=>{u(Re).type==="text"?xt(at):xt(Pe,-1)})}T(Ae,Ie)}),T(z,X)};U(Nt,z=>{u(s)!==null&&z(ni)})}Is(re,z=>Gt=z,()=>Gt);var te=C(re,2);{var fe=z=>{var X=$q(),Le=x(X);K(()=>$(Le,u(c))),T(z,X)};U(te,z=>{u(c)&&z(fe)})}var Ge=C(te,2),rt=x(Ge),Ct=x(rt),He=C(rt,2),ht=x(He),Vt=C(He,2),si=x(Vt),oi=C(si);{var Zi=z=>{const X=nt(()=>Math.min(100,Math.round(u(ei)/4/u(H).contextLength*100)));var Le=qq(),Ae=x(Le),Re=C(x(Ae));K((Ie,Pt)=>{vn(Le,"title",`~${u(X)??""}% of ${Ie??""} token context window used`),vn(Re,"stroke",u(X)>80?"var(--fg-err)":u(X)>50?"var(--fg-warn)":"var(--fg-ok)"),vn(Re,"stroke-dasharray",`${Pt??""} 31.4`)},[()=>u(H).contextLength.toLocaleString(),()=>(u(X)/100*31.4).toFixed(1)]),T(z,Le)};U(oi,z=>{var X;(X=u(H))!=null&&X.contextLength&&z(Zi)})}var xi=C(Ge,2),ri=x(xi);{var Zt=z=>{const X=nt(()=>Wn(t().path.split("/").pop()??t().path));var Le=Kq();let Ae;var Re=x(Le),Ie=x(Re),Pt=C(Re,2),at=x(Pt),Pe=C(Pt,2),xt=x(Pe);K((We,pe)=>{Ae=qt(Le,1,"file-chip svelte-10ayso4",null,Ae,{inactive:!u(ct)}),qt(Re,1,`badge badge-${We??""}`,"svelte-10ayso4"),$(Ie,pe),$(at,t().path),vn(Pe,"title",u(ct)?"Remove from context":"Re-add to context"),$(xt,u(ct)?"×":"+")},[()=>u(X).toLowerCase(),()=>dn(u(X))]),Q("click",Pe,()=>k(ct,!u(ct))),T(z,Le)};U(ri,z=>{t()&&z(Zt)})}var ji=C(ri,2);ui(ji,17,i,Pn,(z,X,Le)=>{const Ae=nt(()=>Wn(u(X).name));var Re=Gq(),Ie=x(Re),Pt=x(Ie),at=C(Ie,2),Pe=x(at),xt=C(at,2);K((We,pe)=>{qt(Ie,1,`badge badge-${We??""}`,"svelte-10ayso4"),$(Pt,pe),$(Pe,u(X).name)},[()=>u(Ae).toLowerCase(),()=>dn(u(Ae))]),Q("click",xt,()=>Qi(Le)),T(z,Re)});var O=C(ji,2),G=C(O,2);Is(G,z=>jt=z,()=>jt);var xe=C(xi,2);let Me;var je=x(xe);let Ne;var et=x(je);Is(et,z=>Ke=z,()=>Ke);var ai=C(je,2);{var _e=z=>{var X=Zq();Q("click",X,Bn),T(z,X)},De=z=>{var X=Xq();K(Le=>X.disabled=Le,[()=>!u(r).trim()||!u(Rt)]),Q("click",X,Xn),T(z,X)};U(ai,z=>{u(a)?z(_e):z(De,-1)})}var st=C(xe,2);{var ke=z=>{var X=tK(),Le=x(X),Ae=x(Le),Re=C(Le,2);{var Ie=xt=>{var We=Qq();ui(We,21,()=>u(w),Pn,(pe,be)=>{var ye=Yq(),we=x(ye),gt={};K(()=>{$(we,u(be)),gt!==(gt=u(be))&&(ye.value=(ye.__value=u(be))??"")}),T(pe,ye)}),K(()=>We.disabled=u(a)),Gr(We,()=>u(S),pe=>k(S,pe)),T(xt,We)},Pt=xt=>{var We=Jq(),pe=x(We);K(()=>$(pe,u(S)||u(h).model)),T(xt,We)};U(Re,xt=>{u(w).length>0?xt(Ie):xt(Pt,-1)})}var at=C(Re,2);{var Pe=xt=>{var We=eK();Q("click",We,cn),T(xt,We)};U(at,xt=>{u(h).provider==="ollama"&&xt(Pe)})}K(()=>$(Ae,u(h).provider)),T(z,X)};U(st,z=>{var X;(X=u(h))!=null&&X.provider&&(u(it)||u(w).length>0)&&z(ke)})}var tt=C(Ve,2);{var Ot=z=>{var X=gK(),Le=x(X),Ae=x(Le),Re=x(Ae),Ie=x(Re),Pt=C(Re,2),at=C(Ae,2),Pe=x(at);{var xt=be=>{var ye=iK();T(be,ye)},We=be=>{var ye=nK(),we=x(ye);K(()=>$(we,u(Y))),T(be,ye)},pe=be=>{var ye=uK(),we=x(ye);{var gt=wi=>{var $t=sK(),Xi=C(bt($t)),Wi=x(Xi);K(()=>$(Wi,u(H).version)),T(wi,$t)};U(we,wi=>{u(H).version&&wi(gt)})}var ce=C(we,2);{var Fe=wi=>{var $t=oK(),Xi=C(bt($t)),Wi=x(Xi);K(()=>$(Wi,u(H).details.family)),T(wi,$t)};U(ce,wi=>{var $t;($t=u(H).details)!=null&&$t.family&&wi(Fe)})}var lt=C(ce,2);{var ot=wi=>{var $t=rK(),Xi=C(bt($t)),Wi=x(Xi);K(()=>$(Wi,u(H).details.parameter_size)),T(wi,$t)};U(lt,wi=>{var $t;($t=u(H).details)!=null&&$t.parameter_size&&wi(ot)})}var Be=C(lt,2);{var Ft=wi=>{var $t=aK(),Xi=C(bt($t)),Wi=x(Xi);K(()=>$(Wi,u(H).details.quantization_level)),T(wi,$t)};U(Be,wi=>{var $t;($t=u(H).details)!=null&&$t.quantization_level&&wi(Ft)})}var zt=C(Be,2);{var gn=wi=>{var $t=lK(),Xi=C(bt($t)),Wi=x(Xi);K(()=>$(Wi,u(H).details.format)),T(wi,$t)};U(zt,wi=>{var $t;($t=u(H).details)!=null&&$t.format&&wi(gn)})}var zi=C(zt,2);{var Sn=wi=>{var $t=dK(),Xi=C(bt($t),2);ui(Xi,21,()=>u(H).running,Pn,(Wi,rs)=>{var oo=cK(),jo=x(oo);K(Tr=>$(jo,`${u(rs).name??""} · ${Tr??""} VRAM`),[()=>ln(u(rs).size_vram)]),T(Wi,oo)}),T(wi,$t)},Yn=wi=>{var $t=hK();T(wi,$t)};U(zi,wi=>{u(H).running&&u(H).running.length>0?wi(Sn):u(H).running!==null&&wi(Yn,1)})}T(be,ye)};U(Pe,be=>{u(J)?be(xt):u(Y)?be(We,1):u(H)&&be(pe,2)})}K(()=>{var be;return $(Ie,`Ollama · ${(u(S)||((be=u(h))==null?void 0:be.model))??""}`)}),Q("click",X,()=>k(V,!1)),Q("click",Le,be=>be.stopPropagation()),Q("click",Pt,()=>k(V,!1)),T(z,X)};U(tt,z=>{u(V)&&z(Ot)})}K(z=>{ne=qt(A,1,"icon-hdr-btn svelte-10ayso4",null,ne,{active:u(_)}),$(si,z),Me=qt(xe,1,"input-row svelte-10ayso4",null,Me,{"drag-over":u(ci)}),Ne=qt(je,1,"textarea-wrap svelte-10ayso4",null,Ne,{loading:u(a)}),vn(et,"placeholder",u(Rt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":u(it)?"Select a model above to start chatting":"AI not configured"),et.disabled=u(a)||!u(Rt)},[()=>ln(u(ei))]),Q("click",A,()=>k(_,!u(_))),Vs(Ct,()=>u(ft),z=>k(ft,z)),Vs(ht,()=>u(kt),z=>k(kt,z)),Q("click",O,An),Q("change",G,un),cs("dragover",xe,Ye),cs("dragleave",xe,vt),cs("drop",xe,es),Q("keydown",et,qn),Ii(et,()=>u(r),z=>k(r,z)),T(o,Z),Vo()}Er(["click","change","keydown"]);const mK={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"]},_K={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 P0=[],T0=[],M0=[];const gb=new Map;let qR=[];const N0=new Map,R0=new Map;async function UD(){try{P0=(await xR()).map(e=>e.topic)}catch{}}async function $D(){try{const[o,e]=await Promise.all([wR(),SR()]);T0=o,M0=e}catch{}}async function qD(){try{const o=await CR();qR=o.map(e=>e.nodeId),N0.clear(),R0.clear();for(const e of o)e.name&&(N0.set(e.nodeId,e.name),R0.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!gb.has(e.nodeId))try{gb.set(e.nodeId,await U_(e.nodeId))}catch{}}))}catch{}}function vK(o){const e=/(?:she\.mqtt\.(?:sub|pub|get|set|link|age|getProp|or|and|max|min|timer)|she\.(?:getValue|setValue|getProp))\s*\([^)]*?['"]([^'"]*)\s*$/,t=o.match(e);if(t)return{type:"mqtt",prefix:t[1]};const i=/she\.db\.sub\s*\([^)]*?['"]([^'"]*)\s*$/,n=o.match(i);if(n)return{type:"db",prefix:n[1],includeViews:!0};const s=/she\.db\.(?:get|set|extend|delete|prop|query)\s*\([^)]*?['"]([^'"]*)\s*$/,r=o.match(s);if(r)return{type:"db",prefix:r[1],includeViews:!1};const a=/she\.matter\.(?:sub|get|send|on)\s*\(\s*(.*)\s*$/,c=o.match(a);if(c){const h=c[1],g=bK(h),f=yK(h);if(g===0)return{type:"matter-nodeId",prefix:f};if(g===1){const p=cu(h,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(g===2){const p=cu(h,0),v=KD(h,1)??cu(h,1);if(p&&v!==null)return{type:"matter-cluster",nodeId:p,endpointId:v}}if(g>=3){const p=cu(h,0),v=KD(h,1)??cu(h,1),_=cu(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 bK(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 yK(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function cu(o,e){var s;const i=(s=KR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function KD(o,e){var s;const i=(s=KR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function KR(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 Ph=ed.CompletionItemKind;function wK(o,e){return(e?P0.filter(i=>i.startsWith(e)):P0).map(i=>({label:i,kind:Ph.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function SK(o,e,t){const i=t?[...T0,...M0]:T0;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:Ph.Value,insertText:s,range:o,detail:M0.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function CK(o,e){return qR.map(t=>{const i=N0.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:Ph.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function GR(o){return R0.get(o)??o}function xK(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 LK(o,e){const t=gb.get(GR(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:Ph.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function kK(o,e,t){const i=gb.get(GR(e));if(!i)return[];const n=xK(i,t);return n?n.clusters.map(s=>({label:s.name,kind:Ph.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function IK(o,e,t){return(t?_K[e]??[]:mK[e]??[]).map(n=>({label:n,kind:t?Ph.Function:Ph.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let GD=!1;function DK(){GD||(GD=!0,UD(),$D(),qD(),setInterval(UD,15e3),setInterval($D,1e4),setInterval(qD,6e4),ed.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=vK(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:wK(a,i.prefix)};case"db":return{suggestions:SK(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:CK(a,i.prefix)};case"matter-endpointId":return{suggestions:LK(a,i.nodeId)};case"matter-cluster":return{suggestions:kK(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:IK(a,i.cluster,i.isSend)};default:return null}}}))}var EK=M('<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),PK=M('<button class="svelte-1pyfjii">Show git history</button>'),TK=M('<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),MK=M('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),NK=M('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),ZD=M('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),RK=M('<ul class="tree-children svelte-1pyfjii"></ul>'),AK=M('<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>'),OK=M('<span class="dirty-dot svelte-1pyfjii">●</span>'),FK=M('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),HK=M('<span class="err-dot svelte-1pyfjii">●</span>'),WK=M('<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>'),BK=M('<span class="dis-spacer svelte-1pyfjii"></span>'),zK=M('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),VK=M('<div class="err svelte-1pyfjii"> </div>'),jK=M('<div class="history-empty svelte-1pyfjii">Loading…</div>'),UK=M('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),$K=M('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),qK=M('<button class="history-load-more svelte-1pyfjii"> </button>'),KK=M("<!> <!>",1),GK=M('<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>'),ZK=M('<span class="tab-dirty svelte-1pyfjii">●</span>'),XK=M('<div role="button" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),YK=M('<div class="tab-bar svelte-1pyfjii"></div>'),QK=M('<li class="changes-item svelte-1pyfjii"><input type="checkbox" class="changes-check svelte-1pyfjii"/> <span class="changes-status svelte-1pyfjii"> </span> <span class="changes-file svelte-1pyfjii"> </span></li>'),JK=M('<div class="changes-err svelte-1pyfjii"> </div>'),eG=M('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii">Uncommitted changes</div> <ul class="changes-list svelte-1pyfjii"></ul> <div class="changes-commit-row svelte-1pyfjii"><input class="changes-msg-input svelte-1pyfjii" type="text" placeholder="Commit message…"/> <button class="changes-commit-btn svelte-1pyfjii"> </button></div> <!></div>',1),tG=M('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),iG=M('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii"> </div> <div class="changes-commit-row svelte-1pyfjii"><button class="changes-commit-btn svelte-1pyfjii">Push</button></div></div>',1),nG=M('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),sG=M('<span class="git-behind svelte-1pyfjii"> </span>'),oG=M('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),rG=M('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><button class="svelte-1pyfjii">Save</button> <button class="svelte-1pyfjii">Save &amp; Commit</button></div>',1),aG=M('<button class="danger svelte-1pyfjii">Delete</button>'),lG=M(`<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>`),cG=M('<button class="svelte-1pyfjii">Always accept in this session</button>'),dG=M('<button class="svelte-1pyfjii">Disable auto-accept</button>'),hG=M('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),uG=M('<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>'),gG=M('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),fG=M('<div class="diff-container svelte-1pyfjii"></div>'),pG=M('<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>'),mG=M('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),_G=M('<span class="log-file svelte-1pyfjii"> </span>'),vG=M("<option> </option>"),bG=M('<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),yG=M('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),wG=M('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),SG=M('<div class="log-body svelte-1pyfjii"><!> <!></div>'),CG=M('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),xG=M('<!> <!> <!> <!> <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 LG(o,e){zo(e,!0);let t=W(fi([])),i=W(fi({})),n=W(null),s=W(null),r=W(null),a=W(null),c=W(fi([])),h=W(null),g=W(!1),f=W(""),p=W(!1),v=W(!0),_=W(null),w=W(!1),S=W(!1),D=W(null),E=W(fi([])),R=W(!1),V=W(30),H=W(void 0),J=null,Y=null,ue=null,Te=W(!1),Oe=W(""),Ce=W(!1),ft=W(void 0),kt=W(fi(new Set));const ct=new Set;let ci=W(fi(new Set)),jt=W(fi([])),Jt=W("all"),Ke=W(""),Gt=W(!1);const ve=["all","debug","info","warn","error"],it={debug:0,info:1,warn:2,error:3};function Rt(F){if(u(Jt)!=="all"&&it[F.level]<it[u(Jt)])return!1;if(!u(Ke))return!0;if(u(Gt))try{return new RegExp(u(Ke),"i").test(F.msg)}catch{}return F.msg.toLowerCase().includes(u(Ke).toLowerCase())}let ei=W(null);function Yt(F){const ee=F.currentTarget.getBoundingClientRect();k(ei,{x:ee.left,y:ee.top},!0)}function Ut(){k(ei,null)}let Mt,di,ki,Hi=!1,Bi=null,yn=null,Un=!1,wn=!1,Rn=W(!1),Ei=W(null),pn=W(!1),ln=W(!1),cn=W(void 0),Wn=null,dn=null,Qi=null,An=W(fi(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),hn=W(fi(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),un=W(fi(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),es=W(fi(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),Ye=!1,vt=0,hi=0,Pi=!1,Mi=0,tn=0,nn=!1,Xn=0,Bn=0,qn=!1,$n=0,On=0;const qe=nt(()=>{var F;return u(h)&&u(re)?{path:u(h),content:((F=u(re).model)==null?void 0:F.getValue())??u(re).savedContent}:null}),Z=nt(()=>{var F;return new Set(((F=u(_))==null?void 0:F.changes.map(ee=>ee.file))??[])}),Ve=nt(()=>{const F=new Set;for(const ee of u(Z)){const me=ee.split("/");for(let ae=1;ae<me.length;ae++)F.add(me.slice(0,ae).join("/"))}return F});let mt=W(!1),St=W(!1),Bt=W(""),A=W(!1),ne=W(""),ge=W(fi(new Set));async function Qe(){var F;if(!(!u(Bt).trim()||u(ge).size===0)){k(A,!0),k(ne,"");try{const ee=u(_).changes.filter(me=>u(ge).has(me.file)).map(me=>me.file);if(ee.length===u(_).changes.length?await LD(u(Bt).trim()):await xD(ee,u(Bt).trim()),u(S))try{await m_()}catch{}k(Bt,""),await ht(),(F=u(_))!=null&&F.changes.length?k(ge,new Set(u(_).changes.map(me=>me.file)),!0):k(mt,!1)}catch(ee){k(ne,ee.message,!0)}finally{k(A,!1)}}}let dt,q,re=nt(()=>u(c).find(F=>F.path===u(h))??null);const he="she-tabs",Je="she-active-tab",ti="she-log-open",_t="she-chat-open";let Ee=vg(e,"active",3,!0);Fn(()=>{wn&&(localStorage.setItem(he,JSON.stringify(u(c).map(F=>F.path))),u(h)?localStorage.setItem(Je,u(h)):localStorage.removeItem(Je))}),Fn(()=>{wn&&localStorage.setItem(_t,String(u(Rn)))}),Fn(()=>{Ee()&&di&&di.layout()});const At=`
153
+ declare const she: {
154
+ log(...args: any[]): void;
155
+ info(...args: any[]): void;
156
+ debug(...args: any[]): void;
157
+ warn(...args: any[]): void;
158
+ error(...args: any[]): void;
159
+ now(): number;
160
+ /** Schedule with a cron string, Date, node-schedule literal, array of any of those,
161
+ * or a suncalc event name ('sunrise', 'sunset', 'dawn', 'dusk', …) for solar scheduling.
162
+ * opts.shift (seconds) offsets solar events; opts.random adds a random delay. */
163
+ schedule(pattern: string | Date | object | (string | Date | object)[], opts?: { shift?: number; random?: number }, cb?: () => void): void;
164
+ mqtt: {
165
+ sub(topic: string | string[], opts?: any, cb?: (topic: string, val: any, obj: any, prev: any, msg: any) => void): void;
166
+ pub(topic: string | string[], payload: any, opts?: { qos?: number; retain?: boolean }): void;
167
+ get(topic: string): any;
168
+ getProp(topic: string, ...prop: string[]): any;
169
+ link(source: string | string[], target: string | string[], value?: any): void;
170
+ age(topic: string): number;
171
+ or(srcs: string[], target: string | ((topic: string | null, val: 0 | 1) => void)): void;
172
+ and(srcs: string[], target: string | ((topic: string | null, val: 0 | 1) => void)): void;
173
+ max(srcs: string[], target: string | ((topic: string | null, val: number) => void)): void;
174
+ min(srcs: string[], target: string | ((topic: string | null, val: number) => void)): void;
175
+ timer(src: string | string[], ms: number, target: string | ((topic: string | null, val: 0 | 1) => void)): void;
176
+ };
177
+ http: {
178
+ fetch(url: string, opts?: RequestInit): Promise<any>;
179
+ sub(path: string, callback: (body: any, req: { params: any; query: any; headers: any }) => any): void;
180
+ };
181
+ api: {
182
+ get(path: string, handler: (req: any) => any): void;
183
+ post(path: string, handler: (req: any, body: any) => any): void;
184
+ put(path: string, handler: (req: any, body: any) => any): void;
185
+ delete(path: string, handler: (req: any) => any): void;
186
+ };
187
+ db: {
188
+ get(id: string): any;
189
+ set(id: string, doc: object): void;
190
+ extend(id: string, partial: object): void;
191
+ delete(id: string): void;
192
+ prop(id: string, method: 'set' | 'create' | 'del', prop: string, val?: any): void;
193
+ sub(pattern: string, callback: (id: string, doc: any) => void): void;
194
+ query(filter: string | null, mapFn: Function, reduceFn?: Function): any[];
195
+ };
196
+ matter: {
197
+ sub(nodeId: string, endpointId: number, cluster: string, attr: string, cb: (val: any, old: any) => void): number;
198
+ unsub(listenerId: number): void;
199
+ get(nodeId: string, endpointId: number, cluster: string, attr: string): Promise<any>;
200
+ send(nodeId: string, endpointId: number, cluster: string, command: string, args?: object): Promise<any>;
201
+ on(nodeId: string, endpointId: number, cluster: string, event: string, cb: (val: any) => void): number;
202
+ };
203
+ influx: {
204
+ query(fluxQuery: string): Promise<any[]>;
205
+ write(measurement: string, fields: object, tags?: object, timestamp?: number | Date): Promise<void>;
206
+ getLast(topic: string, n: number): Promise<Array<{ ts: number; val: any }>>;
207
+ getRange(topic: string, from: number | string | Date, to: number | string | Date): Promise<Array<{ ts: number; val: any }>>;
208
+ };
209
+ elastic: {
210
+ search(index: string, query: object): Promise<{ hits: any[]; total: number }>;
211
+ get(index: string, id: string): Promise<object | null>;
212
+ index(index: string, doc: object, id?: string): Promise<{ id: string }>;
213
+ find(index: string, field: string, text: string, size?: number): Promise<any[]>;
214
+ };
215
+ };
216
+ `;function ii(F){u(c).some(ee=>ee.dirty)&&F.preventDefault()}Pr(async()=>{var ae;window.addEventListener("beforeunload",ii),k(v,localStorage.getItem(ti)!=="false"),k(Rn,localStorage.getItem(_t)==="true"),ed.typescript.javascriptDefaults.addExtraLib(At,"she-api.d.ts"),ed.typescript.javascriptDefaults.setCompilerOptions({target:ed.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),ed.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),DK(),ki=ar.createModel("","javascript"),di=ar.create(Mt,{model:ki,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),di.onDidChangeModelContent(()=>{if(Hi)return;const Xe=u(c).find(It=>It.path===u(h));Xe&&(Xe.dirty=di.getValue()!==Xe.savedContent),xt&&clearTimeout(xt),xt=setTimeout(We,600)}),Bi=PR(Xe=>{const It=Xe.msg.match(/^([^:\n]+\.js):\s/);if(!It)return;const Ht=It[1];if(Xe.level==="error")ct.add(Ht),u(kt).has(Ht)||k(kt,new Set([...u(kt),Ht]),!0);else if(ct.has(Ht)){ct.delete(Ht);const _i=new Set(u(kt));_i.delete(Ht),k(kt,_i,!0)}const Ni=u(c).find(_i=>_i.path===Ht);Ni&&(Ni.logEntries=[...Ni.logEntries.slice(-199),Xe],Ni.path===u(h)&&u(v)&&u(ft)&&P_().then(()=>{u(ft)&&(u(ft).scrollTop=u(ft).scrollHeight)}))}),yn=Aa("script:running",Xe=>{const It=Xe.path;if(Xe.running)k(ci,new Set([...u(ci),It]),!0);else{const Ht=new Set(u(ci));Ht.delete(It),k(ci,Ht,!0)}}),await Ze(),ht();try{const Xe=await mL();typeof Xe.gitAutoCommit=="boolean"&&k(w,Xe.gitAutoCommit,!0),typeof Xe.gitAutoPush=="boolean"&&k(S,Xe.gitAutoPush,!0)}catch{}try{const Xe=await getDaemonStatus();k(ci,new Set(Xe.runningScripts??[]),!0)}catch{}const F=JSON.parse(localStorage.getItem(he)??"[]"),ee=localStorage.getItem(Je);for(const Xe of F)await Ge(Xe,!1);const me=ee&&u(c).some(Xe=>Xe.path===ee)?ee:((ae=u(c)[0])==null?void 0:ae.path)??null;me&&await Ct(me),wn=!0}),Ny(()=>{var F;window.removeEventListener("beforeunload",ii),xt&&clearTimeout(xt),Bi==null||Bi(),yn==null||yn();for(const ee of u(c))(F=ee.model)==null||F.dispose();ki==null||ki.dispose(),di==null||di.dispose()});async function Ze(){try{if(k(t,await Y8(),!0),!Un){let ee=function(me){for(const ae of me)ae.type==="dir"&&(F[ae.path]=!0,ae.children&&ee(ae.children))};Un=!0;const F={};ee(u(t)),k(i,F,!0)}k(f,"")}catch(F){k(f,F.message,!0)}}function Nt(F){u(i)[F]=!u(i)[F]}function ni(F){switch(F){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return F}}async function te(F,ee){try{ee?await Xc(`${F}/.shelib`,""):await p_(`${F}/.shelib`),await Ze(),await Vt("all",ee?`lib ${F}`:`unlib ${F}`)}catch(me){k(f,me.message,!0)}}async function fe(F,ee){const me=F.split("/").pop(),ae=F.includes("/")?F.slice(0,F.lastIndexOf("/")):"",Xe=ae?`${ae}/.shedisable-${me}`:`.shedisable-${me}`;try{ee?await Xc(Xe,""):await p_(Xe),await Ze(),await Vt("all",ee?`disable ${F}`:`enable ${F}`)}catch(It){k(f,It.message,!0)}}async function Ge(F,ee=!0){var me;if(u(c).some(ae=>ae.path===F)){ee&&await Ct(F);return}try{const{content:ae}=await oS(F),Xe=VF.parse(`file:///she-scripts/${encodeURIComponent(F)}`);(me=ar.getModel(Xe))==null||me.dispose();const It=ar.createModel(ae,Pe(F),Xe);k(c,[...u(c),{path:F,dirty:!1,savedContent:ae,model:It,logEntries:[]}],!0),ee&&await Ct(F)}catch(ae){k(f,ae.message,!0)}}async function rt(F){await Ge(F,!0)}async function Ct(F){const ee=u(c).find(me=>me.path===F);ee!=null&&ee.model&&(xe(),k(Ei,null),k(h,F,!0),Hi=!0,di.setModel(ee.model),Hi=!1,We())}async function He(F){var ae;const ee=u(c).find(Xe=>Xe.path===F);if(!ee||ee.dirty&&!await dt.show(`Discard unsaved changes to ${F}?`,{confirm:"Discard"}))return;const me=u(c).findIndex(Xe=>Xe.path===F);if((ae=ee.model)==null||ae.dispose(),k(c,u(c).filter(Xe=>Xe.path!==F),!0),u(h)===F){const Xe=u(c)[me]??u(c)[me-1]??null;Xe?await Ct(Xe.path):(k(h,null),di.setModel(ki))}}async function ht(){try{k(_,await J8(),!0)}catch{k(_,null)}}async function Vt(F,ee){if(u(_))try{if(F==="all"?await LD(ee):await xD(F,ee),u(S))try{await m_()}catch{}await ht()}catch{}}async function si(){if(!u(h))return;const F=u(c).find(ee=>ee.path===u(h));if(F){k(g,!0);try{const ee=di.getValue();await Xc(u(h),ee),F.savedContent=ee,F.dirty=!1,k(f,""),u(w)?await Vt([u(h)],`update ${u(h)}`):ht()}catch(ee){k(f,ee.message,!0)}finally{k(g,!1)}}}async function oi(){if(!u(h)||(await si(),u(f)))return;const F=await q.show("Commit message:",{initial:`update ${u(h)}`,placeholder:"Update script",confirm:"Commit"});if(F)try{if(await i7(u(h),F),u(S))try{await m_()}catch{}ht()}catch(ee){k(f,"Git: "+ee.message)}}async function Zi(){k(p,!1);try{await m_(),await ht(),k(f,"")}catch(F){k(f,"Git push: "+F.message)}}function xi(F){const ee=Date.now()-new Date(F).getTime(),me=Math.floor(ee/1e3);if(me<60)return"just now";const ae=Math.floor(me/60);if(ae<60)return`${ae}m ago`;const Xe=Math.floor(ae/60);if(Xe<24)return`${Xe}h ago`;const It=Math.floor(Xe/24);if(It<30)return`${It}d ago`;const Ht=Math.floor(It/30);return Ht<12?`${Ht}mo ago`:`${Math.floor(Ht/12)}y ago`}async function ri(F){et(),k(D,F,!0),k(E,[],!0),k(V,30),await Zt()}async function Zt(){if(u(D)){k(R,!0);try{k(E,await n7(u(D).path,u(V)),!0)}catch{}finally{k(R,!1)}}}async function ji(){k(V,u(V)+30),await Zt()}function O(){k(D,null),k(E,[],!0),xe()}async function G(F){if(!u(D))return;xe(),await rt(u(D).path);let ee;try{ee=await s7(F.hash,u(D).path)}catch{return}if(k(Oe,F.hash,!0),k(Ce,ee.binary,!0),k(Te,!0),ee.binary||ee.content===null)return;let me="";const ae=u(c).find(It=>It.path===u(D).path);if(ae!=null&&ae.model)me=ae.model.getValue();else try{me=(await oS(u(D).path)).content}catch{}if(await P_(),!u(H))return;const Xe=Pe(u(D).path);Y=ar.createModel(ee.content,Xe),ue=ar.createModel(me,Xe),J=ar.createDiffEditor(u(H),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),J.setModel({original:Y,modified:ue})}function xe(){k(Te,!1),k(Ce,!1),J==null||J.dispose(),J=null,Y==null||Y.dispose(),Y=null,ue==null||ue.dispose(),ue=null}async function Me(){const F=u(n)?`${u(n)}/`:"",ee=await q.show("New script name:",{placeholder:F?`${F}myscript.js`:"myscript.js",initial:F,confirm:"Create"});if(!ee)return;const me=ee.endsWith(".js")?`/* global she */
217
+ 'use strict';
218
+
219
+ `:"";await Xc(ee,me),await Ze(),await Ge(ee,!0)}async function je(){const F=u(n)?`${u(n)}/`:"",ee=await q.show("New folder name:",{placeholder:F?`${F}subfolder`:"myfolder",initial:F,confirm:"Create"});ee&&(await Q8(ee),u(i)[ee]=!0,await Ze())}function Ne(F,ee){F.preventDefault(),k(s,{x:F.clientX,y:F.clientY,entry:ee},!0)}function et(){k(s,null)}async function ai(F){et(),k(n,F,!0),u(i)[F]=!0,await Me()}async function _e(F){et(),k(n,F,!0),await je()}async function De(F){et();const ee=F.path.includes("/")?F.path.slice(0,F.path.lastIndexOf("/")+1):"",me=await q.show(F.type==="dir"?"Rename folder:":"Rename script:",{initial:F.name,placeholder:F.name,confirm:"Rename"});if(!me||me===F.name)return;const ae=ee+me;try{await CD(F.path,ae);const Xe=u(c).find(It=>It.path===F.path);Xe&&(Xe.path=ae,u(h)===F.path&&k(h,ae)),await Ze(),await Vt("all",`rename ${F.path} → ${ae}`)}catch(Xe){k(f,Xe.message,!0)}}function st(F){if(!F.children)return 0;let ee=0;for(const me of F.children)ee++,me.type==="dir"&&(ee+=st(me));return ee}async function ke(F){et();let ee=`Delete ${F.type==="dir"?"folder":"file"} "${F.path}"?`;if(F.type==="dir"){const me=st(F);me>0&&(ee+=` This will also delete ${me} item${me===1?"":"s"} inside.`)}if(await dt.show(ee,{confirm:"Delete",danger:!0})){if(F.type==="dir")for(const me of[...u(c)])me.path.startsWith(F.path+"/")&&await He(me.path);else await He(F.path);await p_(F.path),await Ze(),await Vt("all",`delete ${F.path}`)}}async function tt(F){et();const{content:ee}=await oS(F.path);u(jt).some(me=>me.name===F.path)||k(jt,[...u(jt),{name:F.path,content:ee}],!0),k(Rn,!0)}function Ot(F,ee){var me;k(r,ee,!0),(me=F.dataTransfer)==null||me.setData("text/plain",ee)}function z(F,ee){if(F.preventDefault(),u(r)&&(u(r)===ee||ee.startsWith(u(r)+"/"))){F.dataTransfer&&(F.dataTransfer.dropEffect="none"),k(a,null);return}F.dataTransfer&&(F.dataTransfer.dropEffect="move"),k(a,ee,!0)}function X(){k(a,null)}async function Le(F,ee){var Ht,Ni,_i;F.preventDefault(),k(a,null);const me=Array.from(((Ht=F.dataTransfer)==null?void 0:Ht.items)??[]).filter(Vi=>Vi.kind==="file");if(me.length>0&&!u(r)){for(const Vi of me){const vi=(Ni=Vi.webkitGetAsEntry)==null?void 0:Ni.call(Vi);vi&&await Ae(vi,ee,!0)}await Ze();return}const ae=u(r)??((_i=F.dataTransfer)==null?void 0:_i.getData("text/plain"));if(k(r,null),!ae||ae===ee||ee.startsWith(ae+"/"))return;const Xe=ae.split("/").pop(),It=ee?`${ee}/${Xe}`:Xe;if(It!==ae)try{await CD(ae,It);for(const Vi of u(c))if(Vi.path===ae)u(h)===ae&&k(h,It,!0),Vi.path=It;else if(Vi.path.startsWith(ae+"/")){const vi=It+Vi.path.slice(ae.length);u(h)===Vi.path&&k(h,vi),Vi.path=vi}await Ze(),await Vt("all",`rename ${ae} → ${It}`)}catch(Vi){k(f,Vi.message,!0)}}async function Ae(F,ee,me){if(F.isFile){const Xe=await(await new Promise((Ht,Ni)=>F.file(Ht,Ni))).text(),It=ee?`${ee}/${F.name}`:F.name;await Xc(It,Xe),me&&F.name.endsWith(".js")&&await fe(It,!0)}else if(F.isDirectory){const ae=F.createReader();let Xe=[],It;do It=await new Promise((Ht,Ni)=>ae.readEntries(Ht,Ni)),Xe=[...Xe,...It];while(It.length>0);for(const Ht of Xe)await Ae(Ht,ee?`${ee}/${F.name}`:F.name,!1);if(me){const Ht=ee?`${ee}/${F.name}`:F.name;await fe(Ht,!0)}}}async function Re(){if(!u(h)||!await dt.show(`Delete ${u(h)}?`,{confirm:"Delete",danger:!0}))return;const F=u(h);await He(F),await p_(F),await Ze(),await Vt("all",`delete ${F}`)}function Ie(){u(re)&&(u(re).logEntries=[])}function Pt(){k(v,!u(v)),localStorage.setItem(ti,String(u(v)))}function at(F){return new Date(F).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Pe(F){var ae;const ee=((ae=F.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"}[ee]??"plaintext"}let xt=null;async function We(){const F=u(c).find(me=>me.path===u(h));if(!(F!=null&&F.model))return;const ee=F.model;try{const It=(await(await(await ed.typescript.getJavaScriptWorker())(ee.uri)).getSyntacticDiagnostics(ee.uri.toString())).map(Ht=>{const Ni=ee.getPositionAt(Ht.start??0),_i=ee.getPositionAt((Ht.start??0)+(Ht.length??0));return{severity:jF.Error,startLineNumber:Ni.lineNumber,startColumn:Ni.column,endLineNumber:_i.lineNumber,endColumn:_i.column,message:typeof Ht.messageText=="string"?Ht.messageText:JSON.stringify(Ht.messageText),source:"she-syntax"}});if(ar.setModelMarkers(ee,"she-syntax",It),u(h)){if(It.length>0)ct.add(u(h)),u(kt).has(u(h))||k(kt,new Set([...u(kt),u(h)]),!0);else if(ct.has(u(h))){ct.delete(u(h));const Ht=new Set(u(kt));Ht.delete(u(h)),k(kt,Ht,!0)}}}catch{}}function pe(F){Ye=!0,vt=F.clientX,hi=u(An),F.preventDefault()}function be(F){Pi=!0,Mi=F.clientY,tn=u(hn),F.preventDefault()}function ye(F){nn=!0,Xn=F.clientX,Bn=u(un),F.preventDefault()}function we(F){qn=!0,$n=F.clientY,On=u(es),F.preventDefault()}function gt(F){Ye&&k(An,Math.max(140,Math.min(500,hi+F.clientX-vt)),!0),Pi&&k(hn,Math.max(60,Math.min(500,tn-(F.clientY-Mi))),!0),nn&&k(un,Math.max(200,Math.min(700,Bn-(F.clientX-Xn))),!0),qn&&k(es,Math.max(80,Math.min(600,On-(F.clientY-$n))),!0)}function ce(){Ye&&(Ye=!1,localStorage.setItem("she-scripts-sidebar-width",String(u(An)))),Pi&&(Pi=!1,localStorage.setItem("she-scripts-log-height",String(u(hn)))),nn&&(nn=!1,localStorage.setItem("she-scripts-chat-width",String(u(un)))),qn&&(qn=!1,localStorage.setItem("she-scripts-history-height",String(u(es))))}function Fe(F){(F.ctrlKey||F.metaKey)&&F.key==="s"&&(F.preventDefault(),si()),F.key==="Escape"&&(k(p,!1),k(s,null),k(St,!1))}async function lt(F,ee){const me=await q.show("Save new script as:",{placeholder:"myscript.js",initial:F,confirm:"Create"});if(me)try{await Xc(me,ee),await Ze(),await Ge(me,!0)}catch(ae){k(f,ae.message,!0)}}async function ot(F){var me,ae;if(u(pn)&&u(h)){k(Ei,F,!0),await Be();return}if(k(Ei,F,!0),await P_(),!u(cn))return;dn==null||dn.dispose(),Qi==null||Qi.dispose(),Wn==null||Wn.dispose();const ee=((ae=(me=u(re))==null?void 0:me.model)==null?void 0:ae.getValue())??"";dn=ar.createModel(ee,"javascript"),Qi=ar.createModel(F,"javascript"),Wn=ar.createDiffEditor(u(cn),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),Wn.setModel({original:dn,modified:Qi})}Fn(()=>{u(h),k(pn,!1),k(ln,!1)});async function Be(){if(u(Ei)===null||!u(h))return;const F=u(Ei);k(Ei,null);const ee=u(c).find(me=>me.path===u(h));ee!=null&&ee.model&&(Hi=!0,ee.model.setValue(F),Hi=!1,ee.dirty=!1,ee.savedContent=F);try{await Xc(u(h),F),k(f,""),u(w)?await Vt([u(h)],`update ${u(h)}`):ht()}catch(me){k(f,me.message,!0)}zt()}function Ft(){k(Ei,null),zt()}function zt(){Wn==null||Wn.dispose(),Wn=null,dn==null||dn.dispose(),dn=null,Qi==null||Qi.dispose(),Qi=null}var gn=xG();cs("keydown",bd,Fe),cs("mousemove",bd,gt),cs("mouseup",bd,ce);var zi=bt(gn);Is(Kg(zi,{}),F=>dt=F,()=>dt);var Sn=C(zi,2);Is(E7(Sn,{}),F=>q=F,()=>q);var Yn=C(Sn,2);{var wi=F=>{var ee=MK(),me=bt(ee),ae=C(me,2);let Xe;var It=x(ae);{var Ht=_i=>{var Vi=EK(),vi=bt(Vi),Ri=C(vi,2),Si=C(Ri,4),Dn=C(Si,2);Q("click",vi,()=>ai(u(s).entry.path)),Q("click",Ri,()=>_e(u(s).entry.path)),Q("click",Si,()=>De(u(s).entry)),Q("click",Dn,()=>ke(u(s).entry)),T(_i,Vi)},Ni=_i=>{var Vi=TK(),vi=bt(Vi),Ri=C(vi,2),Si=C(Ri,2),Dn=C(Si,2);{var Kn=Li=>{var us=PK();Q("click",us,()=>ri(u(s).entry)),T(Li,us)};U(Dn,Li=>{u(_)&&Li(Kn)})}var zn=C(Dn,4);Q("click",vi,()=>rt(u(s).entry.path)),Q("click",Ri,()=>De(u(s).entry)),Q("click",Si,()=>tt(u(s).entry)),Q("click",zn,()=>ke(u(s).entry)),T(_i,Vi)};U(It,_i=>{u(s).entry.type==="dir"?_i(Ht):_i(Ni,-1)})}K(()=>Xe=No(ae,"",Xe,{left:`${u(s).x??""}px`,top:`${u(s).y??""}px`})),Q("click",me,et),Q("contextmenu",me,_i=>{_i.preventDefault(),et()}),T(F,ee)};U(Yn,F=>{u(s)&&F(wi)})}var $t=C(Yn,2);{var Xi=F=>{var ee=NK();let me;K(()=>me=No(ee,"",me,{left:`${u(ei).x??""}px`,top:`${u(ei).y-4}px`})),T(F,ee)};U($t,F=>{u(ei)&&F(Xi)})}var Wi=C($t,2),rs=x(Wi);let oo;{const F=(me,ae=Dy,Xe)=>{let It=p1(()=>XF(Xe==null?void 0:Xe(),!1));var Ht=Us(),Ni=bt(Ht);{var _i=vi=>{var Ri=AK(),Si=x(Ri);let Dn;var Kn=x(Si);let zn;var Li=C(Kn,2);let us;var Ns=x(Li),bs=C(Li,2);{var as=Ji=>{var Ko=ZD();T(Ji,Ko)},is=nt(()=>u(Z).has(ae().path)||u(Ve).has(ae().path));U(bs,Ji=>{u(is)&&Ji(as)})}var gs=C(bs,2),ys=x(gs),Rs=C(gs,2),fa=x(Rs),Fr=C(Si,2);{var As=Ji=>{var Ko=RK();ui(Ko,21,()=>ae().children,ks=>ks.path,(ks,Hr)=>{F(ks,()=>u(Hr),()=>ae().disabled||u(It))}),T(Ji,Ko)};U(Fr,Ji=>{u(i)[ae().path]&&ae().children&&Ji(As)})}K(()=>{Dn=qt(Si,1,"dir-row svelte-1pyfjii",null,Dn,{"dir-selected":u(n)===ae().path,"drag-target":u(a)===ae().path}),vn(Si,"aria-selected",u(n)===ae().path),zn=qt(Kn,1,"chevron svelte-1pyfjii",null,zn,{open:u(i)[ae().path]}),us=qt(Li,1,"dir-name svelte-1pyfjii",null,us,{lib:ae().lib}),$(Ns,ae().name),qm(ys,ae().lib),qm(fa,ae().disabled)}),cs("dragstart",Si,Ji=>Ot(Ji,ae().path)),cs("dragover",Si,Ji=>z(Ji,ae().path)),cs("dragleave",Si,X),cs("drop",Si,Ji=>Le(Ji,ae().path)),Q("contextmenu",Si,Ji=>Ne(Ji,ae())),Q("click",Kn,()=>Nt(ae().path)),Q("click",Li,()=>{k(n,ae().path,!0),u(i)[ae().path]=!0}),Q("keydown",Li,Ji=>Ji.key==="Enter"&&k(n,ae().path,!0)),cs("mouseenter",gs,Yt),cs("mouseleave",gs,Ut),Q("change",ys,()=>te(ae().path,!ae().lib)),Q("change",fa,()=>fe(ae().path,!ae().disabled)),T(vi,Ri)},Vi=vi=>{const Ri=nt(()=>u(kt).has(ae().path)),Si=nt(()=>u(Z).has(ae().path)),Dn=nt(()=>u(c).some(mn=>mn.path===ae().path&&mn.dirty)),Kn=nt(()=>(ae().name.split(".").pop()??"txt").toUpperCase()),zn=nt(()=>ae().name.endsWith(".js"));var Li=zK();let us;var Ns=x(Li),bs=x(Ns);let as;var is=x(bs);let gs;var ys=x(is),Rs=C(is,2),fa=x(Rs),Fr=C(Rs,2);{var As=mn=>{var ps=ZD();T(mn,ps)};U(Fr,mn=>{u(Si)&&mn(As)})}var Ji=C(Fr);{var Ko=mn=>{var ps=OK();T(mn,ps)};U(Ji,mn=>{u(Dn)&&mn(Ko)})}var ks=C(Ji,2);{var Hr=mn=>{var ps=FK();T(mn,ps)},sf=nt(()=>u(zn)&&u(ci).has(ae().path)&&!u(Ri));U(ks,mn=>{u(sf)&&mn(Hr)})}var Hl=C(ks,2);{var of=mn=>{var ps=HK();T(mn,ps)};U(Hl,mn=>{u(Ri)&&mn(of)})}var Wr=C(bs,2);{var cw=mn=>{var ps=WK();let $c;var qh=x(ps);K(()=>{$c=qt(ps,1,"dis-label svelte-1pyfjii",null,$c,{"dis-locked":u(It)}),vn(ps,"title",u(It)?"Disabled by parent directory":"Disable — this script will not be executed"),qm(qh,ae().disabled),qh.disabled=u(It)}),Q("change",qh,()=>fe(ae().path,!ae().disabled)),T(mn,ps)},Uc=mn=>{var ps=BK();T(mn,ps)};U(Wr,mn=>{u(zn)?mn(cw):mn(Uc,-1)})}K((mn,ps,$c)=>{us=qt(Li,1,"tree-file svelte-1pyfjii",null,us,mn),as=qt(bs,1,"svelte-1pyfjii",null,as,{lib:ae().lib,dis:ae().disabled,err:u(Ri)}),gs=qt(is,1,`badge badge-${ps??""}`,"svelte-1pyfjii",gs,{"badge-shelib":ae().lib}),$(ys,$c),$(fa,ae().name)},[()=>({active:u(c).some(mn=>mn.path===ae().path),"active-tab":ae().path===u(h)}),()=>u(Kn).toLowerCase(),()=>ni(u(Kn))]),cs("dragstart",Li,mn=>Ot(mn,ae().path)),Q("contextmenu",Li,mn=>Ne(mn,ae())),Q("click",bs,()=>rt(ae().path)),T(vi,Li)};U(Ni,vi=>{ae().type==="dir"?vi(_i):vi(Vi,-1)})}T(me,Ht)};var jo=x(rs),Tr=x(jo),Ka=C(Tr,2),Qn=C(Ka,2),ua=C(jo,2);{var ga=me=>{var ae=VK(),Xe=x(ae);K(()=>$(Xe,u(f))),T(me,ae)};U(ua,me=>{u(f)&&me(ga)})}var Ui=C(ua,2),Mr=x(Ui);let ee;var qs=C(Mr,2);ui(qs,17,()=>u(t),me=>me.path,(me,ae)=>{F(me,()=>u(ae))});var Ls=C(Ui,2);{var Ks=me=>{var ae=GK();let Xe;var It=x(ae),Ht=C(It,2),Ni=x(Ht),_i=x(Ni),Vi=C(Ni,2),vi=C(Ht,2),Ri=x(vi);{var Si=zn=>{var Li=jK();T(zn,Li)},Dn=zn=>{var Li=UK();T(zn,Li)},Kn=zn=>{var Li=KK(),us=bt(Li);ui(us,17,()=>u(E),as=>as.hash,(as,is)=>{var gs=$K(),ys=x(gs),Rs=x(ys),fa=C(ys,2),Fr=x(fa);K((As,Ji)=>{$(Rs,u(is).subject),$(Fr,`${As??""} · ${Ji??""}`)},[()=>u(is).hash.slice(0,7),()=>xi(u(is).date)]),Q("click",gs,()=>G(u(is))),T(as,gs)});var Ns=C(us,2);{var bs=as=>{var is=qK(),gs=x(is);K(()=>{is.disabled=u(R),$(gs,u(R)?"Loading…":"Load more")}),Q("click",is,ji),T(as,is)};U(Ns,as=>{u(E).length>=u(V)&&as(bs)})}T(zn,Li)};U(Ri,zn=>{u(R)&&u(E).length===0?zn(Si):u(E).length===0?zn(Dn,1):zn(Kn,-1)})}K(()=>{Xe=No(ae,"",Xe,{height:`${u(es)??""}px`}),vn(Ni,"title",u(D).path),$(_i,`History: ${u(D).name??""}`)}),Q("mousedown",It,we),Q("click",Vi,O),T(me,ae)};U(Ls,me=>{u(D)&&me(Ks)})}K(()=>ee=qt(Mr,1,"tree-root-drop svelte-1pyfjii",null,ee,{"drag-target":u(a)===""})),Q("click",Tr,Me),Q("click",Ka,je),Q("click",Qn,Ze),cs("dragover",Mr,me=>z(me,"")),cs("dragleave",Mr,X),cs("drop",Mr,me=>Le(me,""))}var Nr=C(rs,2),Ga=C(Nr,2),Al=x(Ga);{var Za=F=>{var ee=YK();ui(ee,21,()=>u(c),me=>me.path,(me,ae)=>{var Xe=XK();let It;var Ht=x(Xe),Ni=x(Ht),_i=C(Ht,2);{var Vi=Ri=>{var Si=ZK();T(Ri,Si)};U(_i,Ri=>{u(ae).dirty&&Ri(Vi)})}var vi=C(_i,2);K(Ri=>{It=qt(Xe,1,"tab svelte-1pyfjii",null,It,{active:u(ae).path===u(h)}),$(Ni,Ri)},[()=>u(ae).path.split("/").pop()]),Q("click",Xe,()=>Ct(u(ae).path)),Q("keydown",Xe,Ri=>Ri.key==="Enter"&&Ct(u(ae).path)),Q("click",vi,Ri=>{Ri.stopPropagation(),He(u(ae).path)}),T(me,Xe)}),T(F,ee)};U(Al,F=>{u(c).length>0&&F(Za)})}var Uo=C(Al,2),Rr=x(Uo),Ar=x(Rr),Dm=C(Rr,2);{var sr=F=>{var ee=oG(),me=x(ee),ae=x(me),Xe=C(me,2);{var It=vi=>{var Ri=tG(),Si=x(Ri),Dn=x(Si),Kn=C(Si,2);{var zn=Li=>{var us=eG(),Ns=bt(us),bs=C(Ns,2),as=C(x(bs),2);ui(as,21,()=>u(_).changes,Pn,(As,Ji)=>{var Ko=QK(),ks=x(Ko),Hr=C(ks,2),sf=x(Hr),Hl=C(Hr,2),of=x(Hl);K(Wr=>{qm(ks,Wr),$(sf,u(Ji).status),$(of,u(Ji).file)},[()=>u(ge).has(u(Ji).file)]),Q("change",ks,()=>{const Wr=new Set(u(ge));Wr.has(u(Ji).file)?Wr.delete(u(Ji).file):Wr.add(u(Ji).file),k(ge,Wr,!0)}),T(As,Ko)});var is=C(as,2),gs=x(is),ys=C(gs,2),Rs=x(ys),fa=C(is,2);{var Fr=As=>{var Ji=JK(),Ko=x(Ji);K(()=>$(Ko,u(ne))),T(As,Ji)};U(fa,As=>{u(ne)&&As(Fr)})}K(As=>{var Ji;ys.disabled=As,$(Rs,u(A)?"…":u(ge).size===((Ji=u(_))==null?void 0:Ji.changes.length)?"Commit all":`Commit ${u(ge).size}`)},[()=>!u(Bt).trim()||u(A)||u(ge).size===0]),Q("click",Ns,()=>k(mt,!1)),Q("keydown",gs,As=>As.key==="Enter"&&Qe()),Ii(gs,()=>u(Bt),As=>k(Bt,As)),Q("click",ys,Qe),T(Li,us)};U(Kn,Li=>{u(mt)&&Li(zn)})}K(()=>{vn(Si,"title",`${u(_).changes.length??""} uncommitted change(s) — click to view`),$(Dn,`✎${u(_).changes.length??""}`)}),Q("click",Si,()=>{u(mt)||k(ge,new Set(u(_).changes.map(Li=>Li.file)),!0),k(mt,!u(mt)),k(ne,"")}),T(vi,Ri)};U(Xe,vi=>{u(_).changes.length>0&&vi(It)})}var Ht=C(Xe,2);{var Ni=vi=>{var Ri=nG(),Si=x(Ri),Dn=x(Si),Kn=C(Si,2);{var zn=Li=>{var us=iG(),Ns=bt(us),bs=C(Ns,2),as=x(bs),is=x(as),gs=C(as,2),ys=x(gs);K(()=>$(is,`${u(_).ahead??""} unpushed commit(s)`)),Q("click",Ns,()=>k(St,!1)),Q("click",ys,()=>{k(St,!1),Zi()}),T(Li,us)};U(Kn,Li=>{u(St)&&Li(zn)})}K(()=>{vn(Si,"title",`${u(_).ahead??""} commit(s) ahead of upstream — click to push`),$(Dn,`↑${u(_).ahead??""}`)}),Q("click",Si,()=>k(St,!u(St))),T(vi,Ri)};U(Ht,vi=>{u(_).ahead>0&&vi(Ni)})}var _i=C(Ht,2);{var Vi=vi=>{var Ri=sG(),Si=x(Ri);K(()=>{vn(Ri,"title",`${u(_).behind??""} commit(s) behind upstream`),$(Si,`↓${u(_).behind??""}`)}),T(vi,Ri)};U(_i,vi=>{u(_).behind>0&&vi(Vi)})}K(()=>{vn(me,"title",`Branch: ${u(_).branch??""}`),$(ae,`⎇ ${u(_).branch??""}`)}),T(F,ee)};U(Dm,F=>{u(_)&&F(sr)})}var Em=C(Dm,2),Zg=x(Em),$o=x(Zg),Pm=x($o),Xg=C($o,2),Yg=C(Zg,2);{var sw=F=>{var ee=rG(),me=bt(ee),ae=C(me,2),Xe=x(ae),It=C(Xe,2);Q("click",me,()=>k(p,!1)),Q("click",Xe,()=>{k(p,!1),si()}),Q("click",It,()=>{k(p,!1),oi()}),T(F,ee)};U(Yg,F=>{u(p)&&F(sw)})}var Qg=C(Em,2);{var Tm=F=>{var ee=aG();Q("click",ee,Re),T(F,ee)};U(Qg,F=>{u(h)&&F(Tm)})}var Jg=C(Qg,2);let Mm;var ef=C(Uo,2),Nm=x(ef),tf=x(Nm),nf=x(tf);Is(nf,F=>Mt=F,()=>Mt);var zc=C(nf,2);{var Xa=F=>{var ee=lG();T(F,ee)};U(zc,F=>{u(h)||F(Xa)})}var Rm=C(zc,2);{var Vc=F=>{var ee=uG(),me=x(ee),ae=x(me),Xe=C(x(ae)),It=x(Xe),Ht=C(ae,2),Ni=x(Ht),_i=x(Ni),Vi=x(_i),vi=x(Vi),Ri=C(Vi,2),Si=C(_i,2);{var Dn=Li=>{var us=hG(),Ns=bt(us),bs=C(Ns,2),as=x(bs);{var is=ys=>{var Rs=cG();Q("click",Rs,()=>{k(ln,!1),k(pn,!0),Be()}),T(ys,Rs)},gs=ys=>{var Rs=dG();Q("click",Rs,()=>{k(ln,!1),k(pn,!1)}),T(ys,Rs)};U(as,ys=>{u(pn)?ys(gs,-1):ys(is)})}Q("click",Ns,()=>k(ln,!1)),T(Li,us)};U(Si,Li=>{u(ln)&&Li(Dn)})}var Kn=C(Ni,2),zn=C(me,2);Is(zn,Li=>k(cn,Li),()=>u(cn)),K(Li=>{$(It,Li),$(vi,u(pn)?"Auto-accept ✓":"Accept")},[()=>{var Li;return(Li=u(h))==null?void 0:Li.split("/").pop()}]),Q("click",Vi,Be),Q("click",Ri,()=>k(ln,!u(ln))),Q("click",Kn,Ft),T(F,ee)};U(Rm,F=>{u(Ei)!==null&&F(Vc)})}var ko=C(Rm,2);{var Am=F=>{var ee=pG(),me=x(ee),ae=x(me),Xe=C(x(ae)),It=x(Xe),Ht=C(Xe,2),Ni=x(Ht),_i=C(ae,2),Vi=x(_i),vi=C(me,2);{var Ri=Dn=>{var Kn=gG();T(Dn,Kn)},Si=Dn=>{var Kn=fG();Is(Kn,zn=>k(H,zn),()=>u(H)),T(Dn,Kn)};U(vi,Dn=>{u(Ce)?Dn(Ri):Dn(Si,-1)})}K(Dn=>{var Kn;$(It,Dn),$(Ni,(Kn=u(D))==null?void 0:Kn.name)},[()=>u(Oe).slice(0,7)]),Q("click",Vi,xe),T(F,ee)};U(ko,F=>{u(Te)&&F(Am)})}var Vh=C(tf,2);let Om,jh;var Uh=x(Vh);{var ow=F=>{var ee=mG();Q("mousedown",ee,be),T(F,ee)};U(Uh,F=>{u(v)&&F(ow)})}var Fm=C(Uh,2),$h=x(Fm),Hm=x($h),qo=C(Hm);{var Ol=F=>{var ee=_G(),me=x(ee);K(ae=>$(me,`— ${ae??""}`),[()=>u(h).split("/").pop()]),T(F,ee)};U(qo,F=>{u(h)&&F(Ol)})}var rw=C($h,2);{var Or=F=>{var ee=bG(),me=bt(ee);ui(me,21,()=>ve,Pn,(Ni,_i)=>{var Vi=vG(),vi=x(Vi),Ri={};K(()=>{$(vi,u(_i)),Ri!==(Ri=u(_i))&&(Vi.value=(Vi.__value=u(_i))??"")}),T(Ni,Vi)});var ae=C(me,2),Xe=C(ae,2),It=x(Xe),Ht=C(Xe,2);Gr(me,()=>u(Jt),Ni=>k(Jt,Ni)),Ii(ae,()=>u(Ke),Ni=>k(Ke,Ni)),Vs(It,()=>u(Gt),Ni=>k(Gt,Ni)),Q("click",Ht,Ie),T(F,ee)};U(rw,F=>{u(v)&&F(Or)})}var aw=C(Fm,2);{var Fl=F=>{var ee=SG(),me=x(ee);ui(me,17,()=>{var It;return(((It=u(re))==null?void 0:It.logEntries)??[]).filter(Rt)},It=>It.ts+It.msg,(It,Ht)=>{var Ni=yG(),_i=x(Ni),Vi=x(_i),vi=C(_i,2),Ri=x(vi),Si=C(vi,2),Dn=x(Si);K((Kn,zn)=>{qt(Ni,1,`log-line ${u(Ht).level??""}`,"svelte-1pyfjii"),$(Vi,Kn),$(Ri,zn),$(Dn,u(Ht).msg)},[()=>at(u(Ht).ts),()=>u(Ht).level.toUpperCase()]),T(It,Ni)});var ae=C(me,2);{var Xe=It=>{var Ht=wG();T(It,Ht)};U(ae,It=>{var Ht;(((Ht=u(re))==null?void 0:Ht.logEntries.length)??0)===0&&It(Xe)})}Is(ee,It=>k(ft,It),()=>u(ft)),T(F,ee)};U(aw,F=>{u(v)&&F(Fl)})}var lw=C(Nm,2);{var jc=F=>{var ee=CG(),me=bt(ee),ae=C(me,2);let Xe;var It=x(ae);pK(It,{get currentScript(){return u(qe)},onApply:ot,onCreateFile:lt,get extraFiles(){return u(jt)},set extraFiles(Ht){k(jt,Ht,!0)}}),K(()=>Xe=No(ae,"",Xe,{width:`${u(un)??""}px`})),Q("mousedown",me,ye),T(F,ee)};U(lw,F=>{u(Rn)&&F(jc)})}K(()=>{var F;oo=No(rs,"",oo,{width:`${u(An)??""}px`}),$(Ar,u(h)??"No file selected"),$o.disabled=!((F=u(re))!=null&&F.dirty)||u(g),$(Pm,u(g)?"Saving…":"Save"),Xg.disabled=!u(h),Mm=qt(Jg,1,"ai-toggle svelte-1pyfjii",null,Mm,{"ai-open":u(Rn)}),vn(Jg,"title",u(Rn)?"Close AI assistant":"Open AI assistant"),Om=qt(Vh,1,"log-panel svelte-1pyfjii",null,Om,{collapsed:!u(v)}),jh=No(Vh,"",jh,{height:u(v)?`${u(hn)}px`:"26px"}),$(Hm,`${u(v)?"▾":"▸"} Script Log `)}),Q("mousedown",Nr,pe),Q("click",$o,si),Q("click",Xg,()=>k(p,!u(p))),Q("click",Jg,()=>k(Rn,!u(Rn))),Q("click",$h,Pt),T(o,gn),Vo()}Er(["click","contextmenu","keydown","change","mousedown"]);const ZR="she-theme";function kG(){return localStorage.getItem(ZR)??"dark"}function IG(o){localStorage.setItem(ZR,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o)}var Of={exports:{}};/* @preserve
220
+ * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com
221
+ * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
222
+ */var DG=Of.exports,XD;function EG(){return XD||(XD=1,(function(o,e){(function(t,i){i(e)})(DG,(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,P,j;return j=function(){b=!1,I&&(P.apply(m,I),I=!1)},P=function(){b?I=arguments:(l.apply(m,arguments),setTimeout(j,d),b=!0)},P}function g(l,d,m){var b=d[1],I=d[0],P=b-I;return l===b&&m?l:((l-I)%P+P)%P+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 E(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 R=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 H="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function J(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var Y=0;function ue(l){var d=+new Date,m=Math.max(0,16-(d-Y));return Y=d+m,window.setTimeout(l,m)}var Te=window.requestAnimationFrame||J("RequestAnimationFrame")||ue,Oe=window.cancelAnimationFrame||J("CancelAnimationFrame")||J("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function Ce(l,d,m){if(m&&Te===ue)l.call(d);else return Te.call(window,r(l,d))}function ft(l){l&&Oe.call(window,l)}var kt={__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:E,isArray:R,indexOf:V,emptyImageUrl:H,requestFn:Te,cancelFn:Oe,requestAnimFrame:Ce,cancelAnimFrame:ft};function ct(){}ct.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&&(ci(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 P=0,j=b._initHooks.length;P<j;P++)b._initHooks[P].call(this)}},d},ct.include=function(l){var d=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=d,this.mergeOptions(l.options)),this},ct.mergeOptions=function(l){return n(this.prototype.options,l),this},ct.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 ci(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=R(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 jt={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,P=l.length;I<P;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,P=0,j=l.length;P<j;P++)I?this._off(l[P]):this._off(l[P],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,P;if(this._events&&(b=this._events[l],!!b)){if(arguments.length===1){if(this._firingCount)for(I=0,P=b.length;I<P;I++)b[I].fn=f;delete this._events[l];return}if(typeof d!="function"){console.warn("wrong listener type: "+typeof d);return}var j=this._listens(l,d,m);if(j!==!1){var se=b[j];this._firingCount&&(se.fn=f,this._events[l]=b=b.slice()),b.splice(j,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 P=0,j=I.length;P<j;P++){var se=I[P],de=se.fn;se.once&&this.off(l,de,se.ctx),de.call(se.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 P=this._events&&this._events[l];if(P&&P.length&&this._listens(l,I,m)!==!1)return!0;if(b){for(var j in this._eventParents)if(this._eventParents[j].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,P=b.length;I<P;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,P=l.length;I<P;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)}};jt.addEventListener=jt.on,jt.removeEventListener=jt.clearAllEventListeners=jt.off,jt.addOneTimeEventListener=jt.once,jt.fireEvent=jt.fire,jt.hasEventListeners=jt.listens;var Jt=ct.extend(jt);function Ke(l,d,m){this.x=m?Math.round(l):l,this.y=m?Math.round(d):d}var Gt=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};Ke.prototype={clone:function(){return new Ke(this.x,this.y)},add:function(l){return this.clone()._add(ve(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(ve(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 Ke(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new Ke(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=Gt(this.x),this.y=Gt(this.y),this},distanceTo:function(l){l=ve(l);var d=l.x-this.x,m=l.y-this.y;return Math.sqrt(d*d+m*m)},equals:function(l){return l=ve(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=ve(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 ve(l,d,m){return l instanceof Ke?l:R(l)?new Ke(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new Ke(l.x,l.y):new Ke(l,d,m)}function it(l,d){if(l)for(var m=d?[l,d]:l,b=0,I=m.length;b<I;b++)this.extend(m[b])}it.prototype={extend:function(l){var d,m;if(!l)return this;if(l instanceof Ke||typeof l[0]=="number"||"x"in l)d=m=ve(l);else if(l=Rt(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 ve((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return ve(this.min.x,this.max.y)},getTopRight:function(){return ve(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 Ke?l=ve(l):l=Rt(l),l instanceof it?(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=Rt(l);var d=this.min,m=this.max,b=l.min,I=l.max,P=I.x>=d.x&&b.x<=m.x,j=I.y>=d.y&&b.y<=m.y;return P&&j},overlaps:function(l){l=Rt(l);var d=this.min,m=this.max,b=l.min,I=l.max,P=I.x>d.x&&b.x<m.x,j=I.y>d.y&&b.y<m.y;return P&&j},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 Rt(ve(d.x-b,d.y-I),ve(m.x+b,m.y+I))},equals:function(l){return l?(l=Rt(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function Rt(l,d){return!l||l instanceof it?l:new it(l,d)}function ei(l,d){if(l)for(var m=d?[l,d]:l,b=0,I=m.length;b<I;b++)this.extend(m[b])}ei.prototype={extend:function(l){var d=this._southWest,m=this._northEast,b,I;if(l instanceof Ut)b=l,I=l;else if(l instanceof ei){if(b=l._southWest,I=l._northEast,!b||!I)return this}else return l?this.extend(Mt(l)||Yt(l)):this;return!d&&!m?(this._southWest=new Ut(b.lat,b.lng),this._northEast=new Ut(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 ei(new Ut(d.lat-b,d.lng-I),new Ut(m.lat+b,m.lng+I))},getCenter:function(){return new Ut((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 Ut(this.getNorth(),this.getWest())},getSouthEast:function(){return new Ut(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 Ut||"lat"in l?l=Mt(l):l=Yt(l);var d=this._southWest,m=this._northEast,b,I;return l instanceof ei?(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=Yt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),I=l.getNorthEast(),P=I.lat>=d.lat&&b.lat<=m.lat,j=I.lng>=d.lng&&b.lng<=m.lng;return P&&j},overlaps:function(l){l=Yt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),I=l.getNorthEast(),P=I.lat>d.lat&&b.lat<m.lat,j=I.lng>d.lng&&b.lng<m.lng;return P&&j},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,d){return l?(l=Yt(l),this._southWest.equals(l.getSouthWest(),d)&&this._northEast.equals(l.getNorthEast(),d)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function Yt(l,d){return l instanceof ei?l:new ei(l,d)}function Ut(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)}Ut.prototype={equals:function(l,d){if(!l)return!1;l=Mt(l);var m=Math.max(Math.abs(this.lat-l.lat),Math.abs(this.lng-l.lng));return m<=(d===void 0?1e-9:d)},toString:function(l){return"LatLng("+p(this.lat,l)+", "+p(this.lng,l)+")"},distanceTo:function(l){return ki.distance(this,Mt(l))},wrap:function(){return ki.wrapLatLng(this)},toBounds:function(l){var d=180*l/40075017,m=d/Math.cos(Math.PI/180*this.lat);return Yt([this.lat-d,this.lng-m],[this.lat+d,this.lng+m])},clone:function(){return new Ut(this.lat,this.lng,this.alt)}};function Mt(l,d,m){return l instanceof Ut?l:R(l)&&typeof l[0]!="object"?l.length===3?new Ut(l[0],l[1],l[2]):l.length===2?new Ut(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new Ut(l.lat,"lng"in l?l.lng:l.lon,l.alt):d===void 0?null:new Ut(l,d,m)}var di={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 it(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 Ut(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 P=l.getSouthWest(),j=l.getNorthEast(),se=new Ut(P.lat-b,P.lng-I),de=new Ut(j.lat-b,j.lng-I);return new ei(se,de)}},ki=n({},di,{wrapLng:[-180,180],R:6371e3,distance:function(l,d){var m=Math.PI/180,b=l.lat*m,I=d.lat*m,P=Math.sin((d.lat-l.lat)*m/2),j=Math.sin((d.lng-l.lng)*m/2),se=P*P+Math.cos(b)*Math.cos(I)*j*j,de=2*Math.atan2(Math.sqrt(se),Math.sqrt(1-se));return this.R*de}}),Hi=6378137,Bi={R:Hi,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 Ke(this.R*l.lng*d,this.R*Math.log((1+I)/(1-I))/2)},unproject:function(l){var d=180/Math.PI;return new Ut((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*d,l.x*d/this.R)},bounds:(function(){var l=Hi*Math.PI;return new it([-l,-l],[l,l])})()};function yn(l,d,m,b){if(R(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}yn.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 Ke((l.x/d-this._b)/this._a,(l.y/d-this._d)/this._c)}};function Un(l,d,m,b){return new yn(l,d,m,b)}var wn=n({},ki,{code:"EPSG:3857",projection:Bi,transformation:(function(){var l=.5/(Math.PI*Bi.R);return Un(l,.5,-l,.5)})()}),Rn=n({},wn,{code:"EPSG:900913"});function Ei(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function pn(l,d){var m="",b,I,P,j,se,de;for(b=0,P=l.length;b<P;b++){for(se=l[b],I=0,j=se.length;I<j;I++)de=se[I],m+=(I?"L":"M")+de.x+" "+de.y;m+=d?Ee.svg?"z":"x":""}return m||"M0 0"}var ln=document.documentElement.style,cn="ActiveXObject"in window,Wn=cn&&!document.addEventListener,dn="msLaunchUri"in navigator&&!("documentMode"in document),Qi=_t("webkit"),An=_t("android"),hn=_t("android 2")||_t("android 3"),un=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),es=An&&_t("Google")&&un<537&&!("AudioNode"in window),Ye=!!window.opera,vt=!dn&&_t("chrome"),hi=_t("gecko")&&!Qi&&!Ye&&!cn,Pi=!vt&&_t("safari"),Mi=_t("phantom"),tn="OTransition"in ln,nn=navigator.platform.indexOf("Win")===0,Xn=cn&&"transition"in ln,Bn="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!hn,qn="MozPerspective"in ln,$n=!window.L_DISABLE_3D&&(Xn||Bn||qn)&&!tn&&!Mi,On=typeof orientation<"u"||_t("mobile"),qe=On&&Qi,Z=On&&Bn,Ve=!window.PointerEvent&&window.MSPointerEvent,mt=!!(window.PointerEvent||Ve),St="ontouchstart"in window||!!window.TouchEvent,Bt=!window.L_NO_TOUCH&&(St||mt),A=On&&Ye,ne=On&&hi,ge=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Qe=(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})(),dt=(function(){return!!document.createElement("canvas").getContext})(),q=!!(document.createElementNS&&Ei("svg").createSVGRect),re=!!q&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),he=!q&&(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}})(),Je=navigator.platform.indexOf("Mac")===0,ti=navigator.platform.indexOf("Linux")===0;function _t(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var Ee={ie:cn,ielt9:Wn,edge:dn,webkit:Qi,android:An,android23:hn,androidStock:es,opera:Ye,chrome:vt,gecko:hi,safari:Pi,phantom:Mi,opera12:tn,win:nn,ie3d:Xn,webkit3d:Bn,gecko3d:qn,any3d:$n,mobile:On,mobileWebkit:qe,mobileWebkit3d:Z,msPointer:Ve,pointer:mt,touch:Bt,touchNative:St,mobileOpera:A,mobileGecko:ne,retina:ge,passiveEvents:Qe,canvas:dt,svg:q,vml:he,inlineSvg:re,mac:Je,linux:ti},At=Ee.msPointer?"MSPointerDown":"pointerdown",ii=Ee.msPointer?"MSPointerMove":"pointermove",Ze=Ee.msPointer?"MSPointerUp":"pointerup",Nt=Ee.msPointer?"MSPointerCancel":"pointercancel",ni={touchstart:At,touchmove:ii,touchend:Ze,touchcancel:Nt},te={touchstart:Zi,touchmove:oi,touchend:oi,touchcancel:oi},fe={},Ge=!1;function rt(l,d,m){return d==="touchstart"&&si(),te[d]?(m=te[d].bind(this,m),l.addEventListener(ni[d],m,!1),m):(console.warn("wrong event specified:",d),f)}function Ct(l,d,m){if(!ni[d]){console.warn("wrong event specified:",d);return}l.removeEventListener(ni[d],m,!1)}function He(l){fe[l.pointerId]=l}function ht(l){fe[l.pointerId]&&(fe[l.pointerId]=l)}function Vt(l){delete fe[l.pointerId]}function si(){Ge||(document.addEventListener(At,He,!0),document.addEventListener(ii,ht,!0),document.addEventListener(Ze,Vt,!0),document.addEventListener(Nt,Vt,!0),Ge=!0)}function oi(l,d){if(d.pointerType!==(d.MSPOINTER_TYPE_MOUSE||"mouse")){d.touches=[];for(var m in fe)d.touches.push(fe[m]);d.changedTouches=[d],l(d)}}function Zi(l,d){d.MSPOINTER_TYPE_TOUCH&&d.pointerType===d.MSPOINTER_TYPE_TOUCH&&Wi(d),oi(l,d)}function xi(l){var d={},m,b;for(b in l)m=l[b],d[b]=m&&m.bind?m.bind(l):m;return l=d,d.type="dblclick",d.detail=2,d.isTrusted=!1,d._simulated=!0,d}var ri=200;function Zt(l,d){l.addEventListener("dblclick",d);var m=0,b;function I(P){if(P.detail!==1){b=P.detail;return}if(!(P.pointerType==="mouse"||P.sourceCapabilities&&!P.sourceCapabilities.firesTouchEvents)){var j=oo(P);if(!(j.some(function(de){return de instanceof HTMLLabelElement&&de.attributes.for})&&!j.some(function(de){return de instanceof HTMLInputElement||de instanceof HTMLSelectElement}))){var se=Date.now();se-m<=ri?(b++,b===2&&d(xi(P))):b=1,m=se}}}return l.addEventListener("click",I),{dblclick:d,simDblclick:I}}function ji(l,d){l.removeEventListener("dblclick",d.dblclick),l.removeEventListener("click",d.simDblclick)}var O=Ae(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),G=Ae(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),xe=G==="webkitTransition"||G==="OTransition"?G+"End":"transitionend";function Me(l){return typeof l=="string"?document.getElementById(l):l}function je(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 et(l){var d=l.parentNode;d&&d.removeChild(l)}function ai(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function _e(l){var d=l.parentNode;d&&d.lastChild!==l&&d.appendChild(l)}function De(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=z(l);return m.length>0&&new RegExp("(^|\\s)"+d+"(\\s|$)").test(m)}function ke(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 P=z(l);Ot(l,(P?P+" ":"")+d)}}function tt(l,d){l.classList!==void 0?l.classList.remove(d):Ot(l,v((" "+z(l)+" ").replace(" "+d+" "," ")))}function Ot(l,d){l.className.baseVal===void 0?l.className=d:l.className.baseVal=d}function z(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function X(l,d){"opacity"in l.style?l.style.opacity=d:"filter"in l.style&&Le(l,d)}function Le(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 Ae(l){for(var d=document.documentElement.style,m=0;m<l.length;m++)if(l[m]in d)return l[m];return!1}function Re(l,d,m){var b=d||new Ke(0,0);l.style[O]=(Ee.ie3d?"translate("+b.x+"px,"+b.y+"px)":"translate3d("+b.x+"px,"+b.y+"px,0)")+(m?" scale("+m+")":"")}function Ie(l,d){l._leaflet_pos=d,Ee.any3d?Re(l,d):(l.style.left=d.x+"px",l.style.top=d.y+"px")}function Pt(l){return l._leaflet_pos||new Ke(0,0)}var at,Pe,xt;if("onselectstart"in document)at=function(){Be(window,"selectstart",Wi)},Pe=function(){zt(window,"selectstart",Wi)};else{var We=Ae(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);at=function(){if(We){var l=document.documentElement.style;xt=l[We],l[We]="none"}},Pe=function(){We&&(document.documentElement.style[We]=xt,xt=void 0)}}function pe(){Be(window,"dragstart",Wi)}function be(){zt(window,"dragstart",Wi)}var ye,we;function gt(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(ce(),ye=l,we=l.style.outlineStyle,l.style.outlineStyle="none",Be(window,"keydown",ce))}function ce(){ye&&(ye.style.outlineStyle=we,ye=void 0,we=void 0,zt(window,"keydown",ce))}function Fe(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function lt(l){var d=l.getBoundingClientRect();return{x:d.width/l.offsetWidth||1,y:d.height/l.offsetHeight||1,boundingClientRect:d}}var ot={__proto__:null,TRANSFORM:O,TRANSITION:G,TRANSITION_END:xe,get:Me,getStyle:je,create:Ne,remove:et,empty:ai,toFront:_e,toBack:De,hasClass:st,addClass:ke,removeClass:tt,setClass:Ot,getClass:z,setOpacity:X,testProp:Ae,setTransform:Re,setPosition:Ie,getPosition:Pt,get disableTextSelection(){return at},get enableTextSelection(){return Pe},disableImageDrag:pe,enableImageDrag:be,preventOutline:gt,restoreOutline:ce,getSizedParentNode:Fe,getScale:lt};function Be(l,d,m,b){if(d&&typeof d=="object")for(var I in d)Sn(l,I,d[I],m);else{d=_(d);for(var P=0,j=d.length;P<j;P++)Sn(l,d[P],m,b)}return this}var Ft="_leaflet_events";function zt(l,d,m,b){if(arguments.length===1)gn(l),delete l[Ft];else if(d&&typeof d=="object")for(var I in d)Yn(l,I,d[I],m);else if(d=_(d),arguments.length===2)gn(l,function(se){return V(d,se)!==-1});else for(var P=0,j=d.length;P<j;P++)Yn(l,d[P],m,b);return this}function gn(l,d){for(var m in l[Ft]){var b=m.split(/\d/)[0];(!d||d(b))&&Yn(l,b,null,null,m)}}var zi={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Sn(l,d,m,b){var I=d+c(m)+(b?"_"+c(b):"");if(l[Ft]&&l[Ft][I])return this;var P=function(se){return m.call(b||l,se||window.event)},j=P;!Ee.touchNative&&Ee.pointer&&d.indexOf("touch")===0?P=rt(l,d,P):Ee.touch&&d==="dblclick"?P=Zt(l,P):"addEventListener"in l?d==="touchstart"||d==="touchmove"||d==="wheel"||d==="mousewheel"?l.addEventListener(zi[d]||d,P,Ee.passiveEvents?{passive:!1}:!1):d==="mouseenter"||d==="mouseleave"?(P=function(se){se=se||window.event,Qn(l,se)&&j(se)},l.addEventListener(zi[d],P,!1)):l.addEventListener(d,j,!1):l.attachEvent("on"+d,P),l[Ft]=l[Ft]||{},l[Ft][I]=P}function Yn(l,d,m,b,I){I=I||d+c(m)+(b?"_"+c(b):"");var P=l[Ft]&&l[Ft][I];if(!P)return this;!Ee.touchNative&&Ee.pointer&&d.indexOf("touch")===0?Ct(l,d,P):Ee.touch&&d==="dblclick"?ji(l,P):"removeEventListener"in l?l.removeEventListener(zi[d]||d,P,!1):l.detachEvent("on"+d,P),l[Ft][I]=null}function wi(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function $t(l){return Sn(l,"wheel",wi),this}function Xi(l){return Be(l,"mousedown touchstart dblclick contextmenu",wi),l._leaflet_disable_click=!0,this}function Wi(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function rs(l){return Wi(l),wi(l),this}function oo(l){if(l.composedPath)return l.composedPath();for(var d=[],m=l.target;m;)d.push(m),m=m.parentNode;return d}function jo(l,d){if(!d)return new Ke(l.clientX,l.clientY);var m=lt(d),b=m.boundingClientRect;return new Ke((l.clientX-b.left)/m.x-d.clientLeft,(l.clientY-b.top)/m.y-d.clientTop)}var Tr=Ee.linux&&Ee.chrome?window.devicePixelRatio:Ee.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Ka(l){return Ee.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/Tr:l.deltaY&&l.deltaMode===1?-l.deltaY*20:l.deltaY&&l.deltaMode===2?-l.deltaY*60:l.deltaX||l.deltaZ?0:l.wheelDelta?(l.wheelDeltaY||l.wheelDelta)/2:l.detail&&Math.abs(l.detail)<32765?-l.detail*20:l.detail?l.detail/-32765*60:0}function Qn(l,d){var m=d.relatedTarget;if(!m)return!0;try{for(;m&&m!==l;)m=m.parentNode}catch{return!1}return m!==l}var ua={__proto__:null,on:Be,off:zt,stopPropagation:wi,disableScrollPropagation:$t,disableClickPropagation:Xi,preventDefault:Wi,stop:rs,getPropagationPath:oo,getMousePosition:jo,getWheelDelta:Ka,isExternalTarget:Qn,addListener:Be,removeListener:zt},ga=Jt.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=Ce(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(),Ie(this._el,m),this.fire("step")},_complete:function(){ft(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),Ui=Jt.extend({options:{crs:wn,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(Mt(d.center),d.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=G&&Ee.any3d&&!Ee.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Be(this._proxy,xe,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(Mt(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||(Ee.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,d)},zoomOut:function(l,d){return l=l||(Ee.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),P=l instanceof Ke?l:this.latLngToContainerPoint(l),j=P.subtract(I).multiplyBy(1-1/b),se=this.containerPointToLatLng(I.add(j));return this.setView(se,d,{zoom:m})},_getBoundsCenterZoom:function(l,d){d=d||{},l=l.getBounds?l.getBounds():Yt(l);var m=ve(d.paddingTopLeft||d.padding||[0,0]),b=ve(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 P=b.subtract(m).divideBy(2),j=this.project(l.getSouthWest(),I),se=this.project(l.getNorthEast(),I),de=this.unproject(j.add(se).divideBy(2).add(P),I);return{center:de,zoom:I}},fitBounds:function(l,d){if(l=Yt(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=ve(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 ga,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),d.noMoveStart||this.fire("movestart"),d.animate!==!1){ke(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||!Ee.any3d)return this.setView(l,d,m);this._stop();var b=this.project(this.getCenter()),I=this.project(l),P=this.getSize(),j=this._zoom;l=Mt(l),d=d===void 0?j:d;var se=Math.max(P.x,P.y),de=se*this.getZoomScale(j,d),Ue=I.distanceTo(b)||1,Wt=1.42,Ci=Wt*Wt;function en(Ps){var Bm=Ps?-1:1,oA=Ps?de:se,rA=de*de-se*se+Bm*Ci*Ci*Ue*Ue,aA=2*oA*Ci*Ue,dw=rA/aA,$L=Math.sqrt(dw*dw+1)-dw,lA=$L<1e-9?-18:Math.log($L);return lA}function po(Ps){return(Math.exp(Ps)-Math.exp(-Ps))/2}function Bs(Ps){return(Math.exp(Ps)+Math.exp(-Ps))/2}function or(Ps){return po(Ps)/Bs(Ps)}var Io=en(0);function Kh(Ps){return se*(Bs(Io)/Bs(Io+Wt*Ps))}function tA(Ps){return se*(Bs(Io)*or(Io+Wt*Ps)-po(Io))/Ci}function iA(Ps){return 1-Math.pow(1-Ps,1.5)}var nA=Date.now(),jL=(en(1)-Io)/Wt,sA=m.duration?1e3*m.duration:1e3*jL*.8;function UL(){var Ps=(Date.now()-nA)/sA,Bm=iA(Ps)*jL;Ps<=1?(this._flyToFrame=Ce(UL,this),this._move(this.unproject(b.add(I.subtract(b).multiplyBy(tA(Bm)/Ue)),j),this.getScaleZoom(se/Kh(Bm),j),{flyTo:!0})):this._move(l,d)._moveEnd(!0)}return this._moveStart(!0,m.noMoveStart),UL.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=Yt(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,Yt(l));return m.equals(b)||this.panTo(b,d),this._enforcingBounds=!1,this},panInside:function(l,d){d=d||{};var m=ve(d.paddingTopLeft||d.padding||[0,0]),b=ve(d.paddingBottomRight||d.padding||[0,0]),I=this.project(this.getCenter()),P=this.project(l),j=this.getPixelBounds(),se=Rt([j.min.add(m),j.max.subtract(b)]),de=se.getSize();if(!se.contains(P)){this._enforcingBounds=!0;var Ue=P.subtract(se.getCenter()),Wt=se.extend(P).getSize().subtract(de);I.x+=Ue.x<0?-Wt.x:Wt.x,I.y+=Ue.y<0?-Wt.y:Wt.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(),P=b.subtract(I);return!P.x&&!P.y?this:(l.animate&&l.pan?this.panBy(P):(l.pan&&this._rawPanBy(P),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 Ut(d,m),I=b.toBounds(l.coords.accuracy*2),P=this._locateOptions;if(P.setView){var j=this.getBoundsZoom(I);this.setView(b,P.maxZoom?Math.min(j,P.maxZoom):j)}var se={latlng:b,bounds:I,timestamp:l.timestamp};for(var de in l.coords)typeof l.coords[de]=="number"&&(se[de]=l.coords[de]);this.fire("locationfound",se)}},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(),et(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(ft(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)et(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 ei(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=Yt(l),m=ve(m||[0,0]);var b=this.getZoom()||0,I=this.getMinZoom(),P=this.getMaxZoom(),j=l.getNorthWest(),se=l.getSouthEast(),de=this.getSize().subtract(m),Ue=Rt(this.project(se,b),this.project(j,b)).getSize(),Wt=Ee.any3d?this.options.zoomSnap:1,Ci=de.x/Ue.x,en=de.y/Ue.y,po=d?Math.max(Ci,en):Math.min(Ci,en);return b=this.getScaleZoom(po,b),Wt&&(b=Math.round(b/(Wt/100))*(Wt/100),b=d?Math.ceil(b/Wt)*Wt:Math.floor(b/Wt)*Wt),Math.max(I,Math.min(P,b))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new Ke(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 it(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(Mt(l),d)},unproject:function(l,d){return d=d===void 0?this._zoom:d,this.options.crs.pointToLatLng(ve(l),d)},layerPointToLatLng:function(l){var d=ve(l).add(this.getPixelOrigin());return this.unproject(d)},latLngToLayerPoint:function(l){var d=this.project(Mt(l))._round();return d._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(Mt(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(Yt(l))},distance:function(l,d){return this.options.crs.distance(Mt(l),Mt(d))},containerPointToLayerPoint:function(l){return ve(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return ve(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var d=this.containerPointToLayerPoint(ve(l));return this.layerPointToLatLng(d)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Mt(l)))},mouseEventToContainerPoint:function(l){return jo(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=Me(l);if(d){if(d._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Be(d,"scroll",this._onScroll,this),this._containerId=c(d)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&Ee.any3d,ke(l,"leaflet-container"+(Ee.touch?" leaflet-touch":"")+(Ee.retina?" leaflet-retina":"")+(Ee.ielt9?" leaflet-oldie":"")+(Ee.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var d=je(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),Ie(this._mapPane,new Ke(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(ke(l.markerPane,"leaflet-zoom-hide"),ke(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,d,m){Ie(this._mapPane,new Ke(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 ft(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){Ie(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?zt:Be;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),Ee.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){ft(this._resizeRequest),this._resizeRequest=Ce(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var l=this._getMapPanePos();Math.max(Math.abs(l.x),Math.abs(l.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(l,d){for(var m=[],b,I=d==="mouseout"||d==="mouseover",P=l.target||l.srcElement,j=!1;P;){if(b=this._targets[c(P)],b&&(d==="click"||d==="preclick")&&this._draggableMoved(b)){j=!0;break}if(b&&b.listens(d,!0)&&(I&&!Qn(P,l)||(m.push(b),I))||P===this._container)break;P=P.parentNode}return!m.length&&!j&&!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"&&gt(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 P=[],j=0;j<m.length;j++)m[j].listens(d,!0)&&P.push(m[j]);I=P.concat(I)}if(I.length){d==="contextmenu"&&Wi(l);var se=I[0],de={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var Ue=se.getLatLng&&(!se._radius||se._radius<=10);de.containerPoint=Ue?this.latLngToContainerPoint(se.getLatLng()):this.mouseEventToContainerPoint(l),de.layerPoint=this.containerPointToLayerPoint(de.containerPoint),de.latlng=Ue?se.getLatLng():this.layerPointToLatLng(de.layerPoint)}for(j=0;j<I.length;j++)if(I[j].fire(d,de,!0),de.originalEvent._stopped||I[j].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 Ke(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 Rt([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),P=new it(b.subtract(I),b.add(I)),j=this._getBoundsOffset(P,m,d);return Math.abs(j.x)<=1&&Math.abs(j.y)<=1?l:this.unproject(b.add(j),d)},_limitOffset:function(l,d){if(!d)return l;var m=this.getPixelBounds(),b=new it(m.min.add(l),m.max.add(l));return l.add(this._getBoundsOffset(b,d))},_getBoundsOffset:function(l,d,m){var b=Rt(this.project(d.getNorthEast(),m),this.project(d.getSouthWest(),m)),I=b.min.subtract(l.min),P=b.max.subtract(l.max),j=this._rebound(I.x,-P.x),se=this._rebound(I.y,-P.y);return new Ke(j,se)},_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=Ee.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(){tt(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=O,b=this._proxy.style[m];Re(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(){et(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),d=this.getZoom();Re(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:(Ce(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,ke(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&&tt(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 Mr(l,d){return new Ui(l,d)}var qs=ct.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 ke(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?(et(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()}}),Ls=function(l){return new qs(l)};Ui.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,P){var j=d+I+" "+d+P;l[I+P]=Ne("div",j,m)}b("top","left"),b("top","right"),b("bottom","left"),b("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)et(this._controlCorners[l]);et(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ks=qs.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 qs.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(){ke(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?(ke(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):tt(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return tt(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),Xi(d),$t(d);var b=this._section=Ne("section",l+"-list");m&&(this._map.on("click",this.collapse,this),Be(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"),Be(I,{keydown:function(P){P.keyCode===13&&this._expandSafely()},click:function(P){Wi(P),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;ai(this._baseLayersList),ai(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),Be(b,"click",this._onInputClick,this);var I=document.createElement("span");I.innerHTML=" "+l.name;var P=document.createElement("span");d.appendChild(P),P.appendChild(b),P.appendChild(I);var j=l.overlay?this._overlaysList:this._baseLayersList;return j.appendChild(d),this._checkDisabledLayers(),d},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,d,m,b=[],I=[];this._handlingClick=!0;for(var P=l.length-1;P>=0;P--)d=l[P],m=this._getLayer(d.layerId).layer,d.checked?b.push(m):d.checked||I.push(m);for(P=0;P<I.length;P++)this._map.hasLayer(I[P])&&this._map.removeLayer(I[P]);for(P=0;P<b.length;P++)this._map.hasLayer(b[P])||this._map.addLayer(b[P]);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,Be(l,"click",Wi),this.expand();var d=this;setTimeout(function(){zt(l,"click",Wi),d._preventClick=!1})}}),Nr=function(l,d,m){return new Ks(l,d,m)},Ga=qs.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 P=Ne("a",m,b);return P.innerHTML=l,P.href="#",P.title=d,P.setAttribute("role","button"),P.setAttribute("aria-label",d),Xi(P),Be(P,"click",rs),Be(P,"click",I,this),Be(P,"click",this._refocusOnMap,this),P},_updateDisabled:function(){var l=this._map,d="leaflet-disabled";tt(this._zoomInButton,d),tt(this._zoomOutButton,d),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(ke(this._zoomOutButton,d),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(ke(this._zoomInButton,d),this._zoomInButton.setAttribute("aria-disabled","true"))}});Ui.mergeOptions({zoomControl:!0}),Ui.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ga,this.addControl(this.zoomControl))});var Al=function(l){return new Ga(l)},Za=qs.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}}),Uo=function(l){return new Za(l)},Rr='<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>',Ar=qs.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(Ee.inlineSvg?Rr+" ":"")+"Leaflet</a>"},initialize:function(l){w(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=Ne("div","leaflet-control-attribution"),Xi(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> ')}}});Ui.mergeOptions({attributionControl:!0}),Ui.addInitHook(function(){this.options.attributionControl&&new Ar().addTo(this)});var Dm=function(l){return new Ar(l)};qs.Layers=Ks,qs.Zoom=Ga,qs.Scale=Za,qs.Attribution=Ar,Ls.layers=Nr,Ls.zoom=Al,Ls.scale=Uo,Ls.attribution=Dm;var sr=ct.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}});sr.addTo=function(l,d){return l.addHandler(d,this),this};var Em={Events:jt},Zg=Ee.touch?"touchstart mousedown":"mousedown",$o=Jt.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||(Be(this._dragStartTarget,Zg,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&($o._dragging===this&&this.finishDrag(!0),zt(this._dragStartTarget,Zg,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){$o._dragging===this&&this.finishDrag();return}if(!($o._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&($o._dragging=this,this._preventOutline&&gt(this._element),pe(),at(),!this._moving)){this.fire("down");var d=l.touches?l.touches[0]:l,m=Fe(this._element);this._startPoint=new Ke(d.clientX,d.clientY),this._startPos=Pt(this._element),this._parentScale=lt(m);var b=l.type==="mousedown";Be(document,b?"mousemove":"touchmove",this._onMove,this),Be(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 Ke(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,Wi(l),this._moved||(this.fire("dragstart"),this._moved=!0,ke(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),ke(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),Ie(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){tt(document.body,"leaflet-dragging"),this._lastTarget&&(tt(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),zt(document,"mousemove touchmove",this._onMove,this),zt(document,"mouseup touchend touchcancel",this._onUp,this),be(),Pe();var d=this._moved&&this._moving;this._moving=!1,$o._dragging=!1,d&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function Pm(l,d,m){var b,I=[1,4,2,8],P,j,se,de,Ue,Wt,Ci,en;for(P=0,Wt=l.length;P<Wt;P++)l[P]._code=Xa(l[P],d);for(se=0;se<4;se++){for(Ci=I[se],b=[],P=0,Wt=l.length,j=Wt-1;P<Wt;j=P++)de=l[P],Ue=l[j],de._code&Ci?Ue._code&Ci||(en=zc(Ue,de,Ci,d,m),en._code=Xa(en,d),b.push(en)):(Ue._code&Ci&&(en=zc(Ue,de,Ci,d,m),en._code=Xa(en,d),b.push(en)),b.push(de));l=b}return l}function Xg(l,d){var m,b,I,P,j,se,de,Ue,Wt;if(!l||l.length===0)throw new Error("latlngs not passed");ko(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Ci=Mt([0,0]),en=Yt(l),po=en.getNorthWest().distanceTo(en.getSouthWest())*en.getNorthEast().distanceTo(en.getNorthWest());po<1700&&(Ci=Yg(l));var Bs=l.length,or=[];for(m=0;m<Bs;m++){var Io=Mt(l[m]);or.push(d.project(Mt([Io.lat-Ci.lat,Io.lng-Ci.lng])))}for(se=de=Ue=0,m=0,b=Bs-1;m<Bs;b=m++)I=or[m],P=or[b],j=I.y*P.x-P.y*I.x,de+=(I.x+P.x)*j,Ue+=(I.y+P.y)*j,se+=j*3;se===0?Wt=or[0]:Wt=[de/se,Ue/se];var Kh=d.unproject(ve(Wt));return Mt([Kh.lat+Ci.lat,Kh.lng+Ci.lng])}function Yg(l){for(var d=0,m=0,b=0,I=0;I<l.length;I++){var P=Mt(l[I]);d+=P.lat,m+=P.lng,b++}return Mt([d/b,m/b])}var sw={__proto__:null,clipPolygon:Pm,polygonCenter:Xg,centroid:Yg};function Qg(l,d){if(!d||!l.length)return l.slice();var m=d*d;return l=Nm(l,m),l=Mm(l,m),l}function Tm(l,d,m){return Math.sqrt(Vc(l,d,m,!0))}function Jg(l,d,m){return Vc(l,d,m)}function Mm(l,d){var m=l.length,b=typeof Uint8Array<"u"?Uint8Array:Array,I=new b(m);I[0]=I[m-1]=1,ef(l,I,d,0,m-1);var P,j=[];for(P=0;P<m;P++)I[P]&&j.push(l[P]);return j}function ef(l,d,m,b,I){var P=0,j,se,de;for(se=b+1;se<=I-1;se++)de=Vc(l[se],l[b],l[I],!0),de>P&&(j=se,P=de);P>m&&(d[j]=1,ef(l,d,m,b,j),ef(l,d,m,j,I))}function Nm(l,d){for(var m=[l[0]],b=1,I=0,P=l.length;b<P;b++)Rm(l[b],l[I])>d&&(m.push(l[b]),I=b);return I<P-1&&m.push(l[P-1]),m}var tf;function nf(l,d,m,b,I){var P=b?tf:Xa(l,m),j=Xa(d,m),se,de,Ue;for(tf=j;;){if(!(P|j))return[l,d];if(P&j)return!1;se=P||j,de=zc(l,d,se,m,I),Ue=Xa(de,m),se===P?(l=de,P=Ue):(d=de,j=Ue)}}function zc(l,d,m,b,I){var P=d.x-l.x,j=d.y-l.y,se=b.min,de=b.max,Ue,Wt;return m&8?(Ue=l.x+P*(de.y-l.y)/j,Wt=de.y):m&4?(Ue=l.x+P*(se.y-l.y)/j,Wt=se.y):m&2?(Ue=de.x,Wt=l.y+j*(de.x-l.x)/P):m&1&&(Ue=se.x,Wt=l.y+j*(se.x-l.x)/P),new Ke(Ue,Wt,I)}function Xa(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 Rm(l,d){var m=d.x-l.x,b=d.y-l.y;return m*m+b*b}function Vc(l,d,m,b){var I=d.x,P=d.y,j=m.x-I,se=m.y-P,de=j*j+se*se,Ue;return de>0&&(Ue=((l.x-I)*j+(l.y-P)*se)/de,Ue>1?(I=m.x,P=m.y):Ue>0&&(I+=j*Ue,P+=se*Ue)),j=l.x-I,se=l.y-P,b?j*j+se*se:new Ke(I,P)}function ko(l){return!R(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function Am(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),ko(l)}function Vh(l,d){var m,b,I,P,j,se,de,Ue;if(!l||l.length===0)throw new Error("latlngs not passed");ko(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Wt=Mt([0,0]),Ci=Yt(l),en=Ci.getNorthWest().distanceTo(Ci.getSouthWest())*Ci.getNorthEast().distanceTo(Ci.getNorthWest());en<1700&&(Wt=Yg(l));var po=l.length,Bs=[];for(m=0;m<po;m++){var or=Mt(l[m]);Bs.push(d.project(Mt([or.lat-Wt.lat,or.lng-Wt.lng])))}for(m=0,b=0;m<po-1;m++)b+=Bs[m].distanceTo(Bs[m+1])/2;if(b===0)Ue=Bs[0];else for(m=0,P=0;m<po-1;m++)if(j=Bs[m],se=Bs[m+1],I=j.distanceTo(se),P+=I,P>b){de=(P-b)/I,Ue=[se.x-de*(se.x-j.x),se.y-de*(se.y-j.y)];break}var Io=d.unproject(ve(Ue));return Mt([Io.lat+Wt.lat,Io.lng+Wt.lng])}var Om={__proto__:null,simplify:Qg,pointToSegmentDistance:Tm,closestPointOnSegment:Jg,clipSegment:nf,_getEdgeIntersection:zc,_getBitCode:Xa,_sqClosestPointOnSegment:Vc,isFlat:ko,_flat:Am,polylineCenter:Vh},jh={project:function(l){return new Ke(l.lng,l.lat)},unproject:function(l){return new Ut(l.y,l.x)},bounds:new it([-180,-90],[180,90])},Uh={R:6378137,R_MINOR:6356752314245179e-9,bounds:new it([-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,P=Math.sqrt(1-I*I),j=P*Math.sin(b),se=Math.tan(Math.PI/4-b/2)/Math.pow((1-j)/(1+j),P/2);return b=-m*Math.log(Math.max(se,1e-10)),new Ke(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),P=Math.exp(-l.y/m),j=Math.PI/2-2*Math.atan(P),se=0,de=.1,Ue;se<15&&Math.abs(de)>1e-7;se++)Ue=I*Math.sin(j),Ue=Math.pow((1-Ue)/(1+Ue),I/2),de=Math.PI/2-2*Math.atan(P*Ue)-j,j+=de;return new Ut(j*d,l.x*d/m)}},ow={__proto__:null,LonLat:jh,Mercator:Uh,SphericalMercator:Bi},Fm=n({},ki,{code:"EPSG:3395",projection:Uh,transformation:(function(){var l=.5/(Math.PI*Uh.R);return Un(l,.5,-l,.5)})()}),$h=n({},ki,{code:"EPSG:4326",projection:jh,transformation:Un(1/180,1,-1/180,.5)}),Hm=n({},di,{projection:jh,transformation:Un(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});di.Earth=ki,di.EPSG3395=Fm,di.EPSG3857=wn,di.EPSG900913=Rn,di.EPSG4326=$h,di.Simple=Hm;var qo=Jt.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})}}});Ui.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?R(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 Ol=qo.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)}}),rw=function(l,d){return new Ol(l,d)},Or=Ol.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),Ol.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),Ol.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 ei;for(var d in this._layers){var m=this._layers[d];l.extend(m.getBounds?m.getBounds():m.getLatLng())}return l}}),aw=function(l,d){return new Or(l,d)},Fl=ct.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=ve(b),P=ve(d==="shadow"&&m.shadowAnchor||m.iconAnchor||I&&I.divideBy(2,!0));l.className="leaflet-marker-"+d+" "+(m.className||""),P&&(l.style.marginLeft=-P.x+"px",l.style.marginTop=-P.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 Ee.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function lw(l){return new Fl(l)}var jc=Fl.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 jc.imagePath!="string"&&(jc.imagePath=this._detectIconPath()),(this.options.imagePath||jc.imagePath)+Fl.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var d=function(m,b,I){var P=b.exec(m);return P&&P[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=je(l,"background-image")||je(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):""}}),F=sr.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new $o(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),ke(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&&tt(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,P=Pt(d._icon),j=m.getPixelBounds(),se=m.getPixelOrigin(),de=Rt(j.min._subtract(se).add(I),j.max._subtract(se).subtract(I));if(!de.contains(P)){var Ue=ve((Math.max(de.max.x,P.x)-de.max.x)/(j.max.x-de.max.x)-(Math.min(de.min.x,P.x)-de.min.x)/(j.min.x-de.min.x),(Math.max(de.max.y,P.y)-de.max.y)/(j.max.y-de.max.y)-(Math.min(de.min.y,P.y)-de.min.y)/(j.min.y-de.min.y)).multiplyBy(b);m.panBy(Ue,{animate:!1}),this._draggable._newPos._add(Ue),this._draggable._startPos._add(Ue),Ie(d._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=Ce(this._adjustPan.bind(this,l))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(l){this._marker.options.autoPan&&(ft(this._panRequest),this._panRequest=Ce(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&&Ie(m,b),d._latlng=I,l.latlng=I,l.oldLatLng=this._oldLatLng,d.fire("move",l).fire("drag",l)},_onDragEnd:function(l){ft(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),ee=qo.extend({options:{icon:new jc,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=Mt(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=Mt(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||"")),ke(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&&Be(m,"focus",this._panOnFocus,this);var I=l.icon.createShadow(this._shadow),P=!1;I!==this._shadow&&(this._removeShadow(),P=!0),I&&(ke(I,d),I.alt=""),this._shadow=I,l.opacity<1&&this._updateOpacity(),b&&this.getPane().appendChild(this._icon),this._initInteraction(),I&&P&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&zt(this._icon,"focus",this._panOnFocus,this),et(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&et(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&Ie(this._icon,l),this._shadow&&Ie(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&&(ke(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),F)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new F(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&&X(this._icon,l),this._shadow&&X(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?ve(d.iconSize):ve(0,0),b=d.iconAnchor?ve(d.iconAnchor):ve(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 me(l,d){return new ee(l,d)}var ae=qo.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(l){this._renderer=l.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(l){return 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)}}),Xe=ae.extend({options:{fill:!0,radius:10},initialize:function(l,d){w(this,d),this._latlng=Mt(l),this._radius=this.options.radius},setLatLng:function(l){var d=this._latlng;return this._latlng=Mt(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 ae.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 it(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 It(l,d){return new Xe(l,d)}var Ht=Xe.extend({initialize:function(l,d,m){if(typeof d=="number"&&(d=n({},m,{radius:d})),w(this,d),this._latlng=Mt(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 ei(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:ae.prototype.setStyle,_project:function(){var l=this._latlng.lng,d=this._latlng.lat,m=this._map,b=m.options.crs;if(b.distance===ki.distance){var I=Math.PI/180,P=this._mRadius/ki.R/I,j=m.project([d+P,l]),se=m.project([d-P,l]),de=j.add(se).divideBy(2),Ue=m.unproject(de).lat,Wt=Math.acos((Math.cos(P*I)-Math.sin(d*I)*Math.sin(Ue*I))/(Math.cos(d*I)*Math.cos(Ue*I)))/I;(isNaN(Wt)||Wt===0)&&(Wt=P/Math.cos(Math.PI/180*d)),this._point=de.subtract(m.getPixelOrigin()),this._radius=isNaN(Wt)?0:de.x-m.project([Ue,l-Wt]).x,this._radiusY=de.y-j.y}else{var Ci=b.unproject(b.project(this._latlng).subtract([this._mRadius,0]));this._point=m.latLngToLayerPoint(this._latlng),this._radius=this._point.x-m.latLngToLayerPoint(Ci).x}this._updateBounds()}});function Ni(l,d,m){return new Ht(l,d,m)}var _i=ae.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=Vc,I,P,j=0,se=this._parts.length;j<se;j++)for(var de=this._parts[j],Ue=1,Wt=de.length;Ue<Wt;Ue++){I=de[Ue-1],P=de[Ue];var Ci=b(l,I,P,!0);Ci<d&&(d=Ci,m=b(l,I,P))}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 Vh(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,d){return d=d||this._defaultShape(),l=Mt(l),d.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new ei,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return ko(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var d=[],m=ko(l),b=0,I=l.length;b<I;b++)m?(d[b]=Mt(l[b]),this._bounds.extend(d[b])):d[b]=this._convertLatLngs(l[b]);return d},_project:function(){var l=new it;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 Ke(l,l);this._rawPxBounds&&(this._pxBounds=new it([this._rawPxBounds.min.subtract(d),this._rawPxBounds.max.add(d)]))},_projectLatlngs:function(l,d,m){var b=l[0]instanceof Ut,I=l.length,P,j;if(b){for(j=[],P=0;P<I;P++)j[P]=this._map.latLngToLayerPoint(l[P]),m.extend(j[P]);d.push(j)}else for(P=0;P<I;P++)this._projectLatlngs(l[P],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,P,j,se,de;for(m=0,I=0,P=this._rings.length;m<P;m++)for(de=this._rings[m],b=0,j=de.length;b<j-1;b++)se=nf(de[b],de[b+1],l,b,!0),se&&(d[I]=d[I]||[],d[I].push(se[0]),(se[1]!==de[b+1]||b===j-2)&&(d[I].push(se[1]),I++))}},_simplifyPoints:function(){for(var l=this._parts,d=this.options.smoothFactor,m=0,b=l.length;m<b;m++)l[m]=Qg(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,P,j,se,de=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(m=0,P=this._parts.length;m<P;m++)for(se=this._parts[m],b=0,j=se.length,I=j-1;b<j;I=b++)if(!(!d&&b===0)&&Tm(l,se[I],se[b])<=de)return!0;return!1}});function Vi(l,d){return new _i(l,d)}_i._flat=Am;var vi=_i.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return Xg(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var d=_i.prototype._convertLatLngs.call(this,l),m=d.length;return m>=2&&d[0]instanceof Ut&&d[0].equals(d[m-1])&&d.pop(),d},_setLatLngs:function(l){_i.prototype._setLatLngs.call(this,l),ko(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return ko(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,d=this.options.weight,m=new Ke(d,d);if(l=new it(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,P;b<I;b++)P=Pm(this._rings[b],l,!0),P.length&&this._parts.push(P)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var d=!1,m,b,I,P,j,se,de,Ue;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(P=0,de=this._parts.length;P<de;P++)for(m=this._parts[P],j=0,Ue=m.length,se=Ue-1;j<Ue;se=j++)b=m[j],I=m[se],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||_i.prototype._containsPoint.call(this,l,!0)}});function Ri(l,d){return new vi(l,d)}var Si=Or.extend({initialize:function(l,d){w(this,d),this._layers={},l&&this.addData(l)},addData:function(l){var d=R(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 P=this.options;if(P.filter&&!P.filter(l))return this;var j=Dn(l,P);return j?(j.feature=as(l),j.defaultOptions=j.options,this.resetStyle(j),P.onEachFeature&&P.onEachFeature(l,j),this.addLayer(j)):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 Dn(l,d){var m=l.type==="Feature"?l.geometry:l,b=m?m.coordinates:null,I=[],P=d&&d.pointToLayer,j=d&&d.coordsToLatLng||zn,se,de,Ue,Wt;if(!b&&!m)return null;switch(m.type){case"Point":return se=j(b),Kn(P,l,se,d);case"MultiPoint":for(Ue=0,Wt=b.length;Ue<Wt;Ue++)se=j(b[Ue]),I.push(Kn(P,l,se,d));return new Or(I);case"LineString":case"MultiLineString":return de=Li(b,m.type==="LineString"?0:1,j),new _i(de,d);case"Polygon":case"MultiPolygon":return de=Li(b,m.type==="Polygon"?1:2,j),new vi(de,d);case"GeometryCollection":for(Ue=0,Wt=m.geometries.length;Ue<Wt;Ue++){var Ci=Dn({geometry:m.geometries[Ue],type:"Feature",properties:l.properties},d);Ci&&I.push(Ci)}return new Or(I);case"FeatureCollection":for(Ue=0,Wt=m.features.length;Ue<Wt;Ue++){var en=Dn(m.features[Ue],d);en&&I.push(en)}return new Or(I);default:throw new Error("Invalid GeoJSON object.")}}function Kn(l,d,m,b){return l?l(d,m):new ee(m,b&&b.markersInheritOptions&&b)}function zn(l){return new Ut(l[1],l[0],l[2])}function Li(l,d,m){for(var b=[],I=0,P=l.length,j;I<P;I++)j=d?Li(l[I],d-1,m):(m||zn)(l[I]),b.push(j);return b}function us(l,d){return l=Mt(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 Ns(l,d,m,b){for(var I=[],P=0,j=l.length;P<j;P++)I.push(d?Ns(l[P],ko(l[P])?0:d-1,m,b):us(l[P],b));return!d&&m&&I.length>0&&I.push(I[0].slice()),I}function bs(l,d){return l.feature?n({},l.feature,{geometry:d}):as(d)}function as(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var is={toGeoJSON:function(l){return bs(this,{type:"Point",coordinates:us(this.getLatLng(),l)})}};ee.include(is),Ht.include(is),Xe.include(is),_i.include({toGeoJSON:function(l){var d=!ko(this._latlngs),m=Ns(this._latlngs,d?1:0,!1,l);return bs(this,{type:(d?"Multi":"")+"LineString",coordinates:m})}}),vi.include({toGeoJSON:function(l){var d=!ko(this._latlngs),m=d&&!ko(this._latlngs[0]),b=Ns(this._latlngs,m?2:d?1:0,!0,l);return d||(b=[b]),bs(this,{type:(m?"Multi":"")+"Polygon",coordinates:b})}}),Ol.include({toMultiPoint:function(l){var d=[];return this.eachLayer(function(m){d.push(m.toGeoJSON(l).geometry.coordinates)}),bs(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 P=I.toGeoJSON(l);if(m)b.push(P.geometry);else{var j=as(P);j.type==="FeatureCollection"?b.push.apply(b,j.features):b.push(j)}}}),m?bs(this,{geometries:b,type:"GeometryCollection"}):{type:"FeatureCollection",features:b}}});function gs(l,d){return new Si(l,d)}var ys=gs,Rs=qo.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,d,m){this._url=l,this._bounds=Yt(d),w(this,m)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(ke(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){et(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&&_e(this._image),this},bringToBack:function(){return this._map&&De(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=Yt(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(ke(d,"leaflet-image-layer"),this._zoomAnimated&&ke(d,"leaflet-zoom-animated"),this.options.className&&ke(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;Re(this._image,m,d)},_reset:function(){var l=this._image,d=new it(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),m=d.getSize();Ie(l,d.min),l.style.width=m.x+"px",l.style.height=m.y+"px"},_updateOpacity:function(){X(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()}}),fa=function(l,d,m){return new Rs(l,d,m)},Fr=Rs.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(ke(d,"leaflet-image-layer"),this._zoomAnimated&&ke(d,"leaflet-zoom-animated"),this.options.className&&ke(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}R(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 P=0;P<this._url.length;P++){var j=Ne("source");j.src=this._url[P],d.appendChild(j)}}});function As(l,d,m){return new Fr(l,d,m)}var Ji=Rs.extend({_initImage:function(){var l=this._image=this._url;ke(l,"leaflet-image-layer"),this._zoomAnimated&&ke(l,"leaflet-zoom-animated"),this.options.className&&ke(l,this.options.className),l.onselectstart=f,l.onmousemove=f}});function Ko(l,d,m){return new Ji(l,d,m)}var ks=qo.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,d){l&&(l instanceof Ut||R(l))?(this._latlng=Mt(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&&X(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&X(this._container,1),this.bringToFront(),this.options.interactive&&(ke(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(X(this._container,0),this._removeTimeout=setTimeout(r(et,void 0,this._container),200)):et(this._container),this.options.interactive&&(tt(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=Mt(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&&_e(this._container),this},bringToBack:function(){return this._map&&De(this._container),this},_prepareOpen:function(l){var d=this._source;if(!d._map)return!1;if(d instanceof Or){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=ve(this.options.offset),m=this._getAnchor();this._zoomAnimated?Ie(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]}});Ui.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}}),qo.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 Hr=ks.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,ks.prototype.openOn.call(this,l)},onAdd:function(l){ks.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof ae||this._source.on("preclick",wi))},onRemove:function(l){ks.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof ae||this._source.off("preclick",wi))},getEvents:function(){var l=ks.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),Xi(d),$t(this._contentNode),Be(d,"contextmenu",wi),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>',Be(b,"click",function(I){Wi(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,P="leaflet-popup-scrolled";I&&b>I?(d.height=I+"px",ke(l,P)):tt(l,P),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),m=this._getAnchor();Ie(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(je(this._container,"marginBottom"),10)||0,m=this._container.offsetHeight+d,b=this._containerWidth,I=new Ke(this._containerLeft,-m-this._containerBottom);I._add(Pt(this._container));var P=l.layerPointToContainerPoint(I),j=ve(this.options.autoPanPadding),se=ve(this.options.autoPanPaddingTopLeft||j),de=ve(this.options.autoPanPaddingBottomRight||j),Ue=l.getSize(),Wt=0,Ci=0;P.x+b+de.x>Ue.x&&(Wt=P.x+b-Ue.x+de.x),P.x-Wt-se.x<0&&(Wt=P.x-se.x),P.y+m+de.y>Ue.y&&(Ci=P.y+m-Ue.y+de.y),P.y-Ci-se.y<0&&(Ci=P.y-se.y),(Wt||Ci)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([Wt,Ci]))}},_getAnchor:function(){return ve(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),sf=function(l,d){return new Hr(l,d)};Ui.mergeOptions({closePopupOnClick:!0}),Ui.include({openPopup:function(l,d,m){return this._initOverlay(Hr,l,d,m).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),qo.include({bindPopup:function(l,d){return this._popup=this._initOverlay(Hr,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 Or||(this._popup._source=this),this._popup._prepareOpen(l||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(l){return this._popup&&this._popup.setContent(l),this},getPopup:function(){return this._popup},_openPopup:function(l){if(!(!this._popup||!this._map)){rs(l);var d=l.layer||l.target;if(this._popup._source===d&&!(d instanceof ae)){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 Hl=ks.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){ks.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){ks.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=ks.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,P=b.latLngToContainerPoint(b.getCenter()),j=b.layerPointToContainerPoint(l),se=this.options.direction,de=I.offsetWidth,Ue=I.offsetHeight,Wt=ve(this.options.offset),Ci=this._getAnchor();se==="top"?(d=de/2,m=Ue):se==="bottom"?(d=de/2,m=0):se==="center"?(d=de/2,m=Ue/2):se==="right"?(d=0,m=Ue/2):se==="left"?(d=de,m=Ue/2):j.x<P.x?(se="right",d=0,m=Ue/2):(se="left",d=de+(Wt.x+Ci.x)*2,m=Ue/2),l=l.subtract(ve(d,m,!0)).add(Wt).add(Ci),tt(I,"leaflet-tooltip-right"),tt(I,"leaflet-tooltip-left"),tt(I,"leaflet-tooltip-top"),tt(I,"leaflet-tooltip-bottom"),ke(I,"leaflet-tooltip-"+se),Ie(I,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&X(this._container,l)},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(d)},_getAnchor:function(){return ve(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),of=function(l,d){return new Hl(l,d)};Ui.include({openTooltip:function(l,d,m){return this._initOverlay(Hl,l,d,m).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),qo.include({bindTooltip:function(l,d){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Hl,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 Or||(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&&(Be(d,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),Be(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 Wr=Fl.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?(ai(d),d.appendChild(m.html)):d.innerHTML=m.html!==!1?m.html:"",m.bgPos){var b=ve(m.bgPos);d.style.backgroundPosition=-b.x+"px "+-b.y+"px"}return this._setIconStyles(d,"icon"),d},createShadow:function(){return null}});function cw(l){return new Wr(l)}Fl.Default=jc;var Uc=qo.extend({options:{tileSize:256,opacity:1,updateWhenIdle:Ee.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(),et(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(_e(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(De(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 Ke?l:new Ke(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,P;b<I;b++)P=d[b].style.zIndex,d[b]!==this._container&&P&&(m=l(m,+P));isFinite(m)&&(this.options.zIndex=m+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!Ee.ielt9){X(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 P=Math.min(1,(l-I.loaded)/200);X(I.el,P),P<1?d=!0:(I.active?m=!0:this._onOpaqueTile(I),I.active=!0)}}m&&!this._noPrune&&this._pruneTiles(),d&&(ft(this._fadeFrame),this._fadeFrame=Ce(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)):(et(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)et(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),P=Math.floor(d/2),j=m-1,se=new Ke(+I,+P);se.z=+j;var de=this._tileCoordsToKey(se),Ue=this._tiles[de];return Ue&&Ue.active?(Ue.retain=!0,!0):(Ue&&Ue.loaded&&(Ue.retain=!0),j>b?this._retainParent(I,P,j,b):!1)},_retainChildren:function(l,d,m,b){for(var I=2*l;I<2*l+2;I++)for(var P=2*d;P<2*d+2;P++){var j=new Ke(I,P);j.z=m+1;var se=this._tileCoordsToKey(j),de=this._tiles[se];if(de&&de.active){de.retain=!0;continue}else de&&de.loaded&&(de.retain=!0);m+1<b&&this._retainChildren(I,P,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 P=this.options.updateWhenZooming&&I!==this._tileZoom;(!b||P)&&(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();Ee.any3d?Re(l.el,I,b):Ie(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(),P=d.getSize().divideBy(b*2);return new it(I.subtract(P),I.add(P))},_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),P=I.getCenter(),j=[],se=this.options.keepBuffer,de=new it(I.getBottomLeft().subtract([se,-se]),I.getTopRight().add([se,-se]));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 Ue in this._tiles){var Wt=this._tiles[Ue].coords;(Wt.z!==this._tileZoom||!de.contains(new Ke(Wt.x,Wt.y)))&&(this._tiles[Ue].current=!1)}if(Math.abs(m-this._tileZoom)>1){this._setView(l,m);return}for(var Ci=I.min.y;Ci<=I.max.y;Ci++)for(var en=I.min.x;en<=I.max.x;en++){var po=new Ke(en,Ci);if(po.z=this._tileZoom,!!this._isValidTile(po)){var Bs=this._tiles[this._tileCoordsToKey(po)];Bs?Bs.current=!0:j.push(po)}}if(j.sort(function(Io,Kh){return Io.distanceTo(P)-Kh.distanceTo(P)}),j.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var or=document.createDocumentFragment();for(en=0;en<j.length;en++)this._addTile(j[en],or);this._level.el.appendChild(or)}}}},_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 Yt(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),P=d.unproject(b,l.z),j=d.unproject(I,l.z);return[P,j]},_tileCoordsToBounds:function(l){var d=this._tileCoordsToNwSe(l),m=new ei(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 Ke(+d[0],+d[1]);return m.z=+d[2],m},_removeTile:function(l){var d=this._tiles[l];d&&(et(d.el),delete this._tiles[l],this.fire("tileunload",{tile:d.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){ke(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,Ee.ielt9&&this.options.opacity<1&&X(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&&Ce(r(this._tileReady,this,l,null,I)),Ie(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?(X(m.el,0),ft(this._fadeFrame),this._fadeFrame=Ce(this._updateOpacity,this)):(m.active=!0,this._pruneTiles()),d||(ke(m.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:m.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Ee.ielt9||!this._map._fadeAnimated?Ce(this._pruneTiles,this):setTimeout(r(this._pruneTiles,this),250)))},_getTilePos:function(l){return l.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(l){var d=new Ke(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 it(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 mn(l){return new Uc(l)}var ps=Uc.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&&Ee.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 Be(m,"load",r(this._tileOnLoad,this,d,m)),Be(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:Ee.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 E(this._url,n(d,this.options))},_tileOnLoad:function(l,d){Ee.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=H;var m=this._tiles[l].coords;et(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",H),Uc.prototype._removeTile.call(this,l)},_tileReady:function(l,d,m){if(!(!this._map||m&&m.getAttribute("src")===H))return Uc.prototype._tileReady.call(this,l,d,m)}});function $c(l,d){return new ps(l,d)}var qh=ps.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(l,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&&Ee.retina?2:1,P=this.getTileSize();m.width=P.x*I,m.height=P.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,ps.prototype.onAdd.call(this,l)},getTileUrl:function(l){var d=this._tileCoordsToNwSe(l),m=this._crs,b=Rt(m.project(d[0]),m.project(d[1])),I=b.min,P=b.max,j=(this._wmsVersion>=1.3&&this._crs===$h?[I.y,I.x,P.y,P.x]:[I.x,I.y,P.x,P.y]).join(","),se=ps.prototype.getTileUrl.call(this,l);return se+S(this.wmsParams,se,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+j},setParams:function(l,d){return n(this.wmsParams,l),d||this.redraw(),this}});function XR(l,d){return new qh(l,d)}ps.WMS=qh,$c.wms=XR;var Ya=qo.extend({options:{padding:.1},initialize:function(l){w(this,l),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),ke(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),P=b.multiplyBy(-m).add(I).subtract(this._map._getNewPixelOrigin(l,d));Ee.any3d?Re(this._container,P,m):Ie(this._container,P)},_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 it(m,m.add(d.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),ML=Ya.extend({options:{tolerance:0},getEvents:function(){var l=Ya.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Ya.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");Be(l,"mousemove",this._onMouseMove,this),Be(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Be(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){ft(this._redrawRequest),delete this._ctx,et(this._container),zt(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)){Ya.prototype._update.call(this);var l=this._bounds,d=this._container,m=l.getSize(),b=Ee.retina?2:1;Ie(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",Ee.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){Ya.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(l){this._updateDashArray(l),this._layers[c(l)]=l;var 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||Ce(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var d=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new it,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,P,j=l._parts,se=j.length,de=this._ctx;if(se){for(de.beginPath(),m=0;m<se;m++){for(b=0,I=j[m].length;b<I;b++)P=j[m][b],de[b?"lineTo":"moveTo"](P.x,P.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&&(tt(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&&(ke(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 NL(l){return Ee.canvas?new ML(l):null}var rf=(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">')}})(),YR={_initContainer:function(){this._container=Ne("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Ya.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var d=l._container=rf("shape");ke(d,"leaflet-vml-shape "+(this.options.className||"")),d.coordsize="1 1",l._path=rf("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;et(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=rf("stroke")),I.appendChild(d),d.weight=b.weight+"px",d.color=b.color,d.opacity=b.opacity,b.dashArray?d.dashStyle=R(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=rf("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){_e(l._container)},_bringToBack:function(l){De(l._container)}},Wm=Ee.vml?rf:Ei,af=Ya.extend({_initContainer:function(){this._container=Wm("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Wm("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){et(this._container),zt(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ya.prototype._update.call(this);var l=this._bounds,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)),Ie(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=Wm("path");l.options.className&&ke(d,l.options.className),l.options.interactive&&ke(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){et(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,pn(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 ",P=l._empty()?"M0 0":"M"+(d.x-m)+","+d.y+I+m*2+",0 "+I+-m*2+",0 ";this._setPath(l,P)},_setPath:function(l,d){l._path.setAttribute("d",d)},_bringToFront:function(l){_e(l._path)},_bringToBack:function(l){De(l._path)}});Ee.vml&&af.include(YR);function RL(l){return Ee.svg||Ee.vml?new af(l):null}Ui.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&&NL(l)||RL(l)}});var AL=vi.extend({initialize:function(l,d){vi.prototype.initialize.call(this,this._boundsToLatLngs(l),d)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=Yt(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function QR(l,d){return new AL(l,d)}af.create=Wm,af.pointsToPath=pn,Si.geometryToLayer=Dn,Si.coordsToLatLng=zn,Si.coordsToLatLngs=Li,Si.latLngToCoords=us,Si.latLngsToCoords=Ns,Si.getFeature=bs,Si.asFeature=as,Ui.mergeOptions({boxZoom:!0});var OL=sr.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(){Be(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){zt(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){et(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(),at(),pe(),this._startPoint=this._map.mouseEventToContainerPoint(l),Be(document,{contextmenu:rs,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),ke(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var d=new it(this._point,this._startPoint),m=d.getSize();Ie(this._box,d.min),this._box.style.width=m.x+"px",this._box.style.height=m.y+"px"},_finish:function(){this._moved&&(et(this._box),tt(this._container,"leaflet-crosshair")),Pe(),be(),zt(document,{contextmenu:rs,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(l){if(!(l.which!==1&&l.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(r(this._resetState,this),0);var d=new ei(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())}});Ui.addInitHook("addHandler","boxZoom",OL),Ui.mergeOptions({doubleClickZoom:!0});var FL=sr.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)}});Ui.addInitHook("addHandler","doubleClickZoom",FL),Ui.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var HL=sr.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new $o(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))}ke(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){tt(this._map._container,"leaflet-grab"),tt(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=Yt(this._map.options.maxBounds);this._offsetLimit=Rt(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,P=(b+d+m)%l-d-m,j=Math.abs(I+m)<Math.abs(P+m)?I:P;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=j},_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]),P=(this._lastTime-this._times[0])/1e3,j=m.easeLinearity,se=I.multiplyBy(j/P),de=se.distanceTo([0,0]),Ue=Math.min(m.inertiaMaxSpeed,de),Wt=se.multiplyBy(Ue/de),Ci=Ue/(m.inertiaDeceleration*j),en=Wt.multiplyBy(-Ci/2).round();!en.x&&!en.y?d.fire("moveend"):(en=d._limitOffset(en,d.options.maxBounds),Ce(function(){d.panBy(en,{duration:Ci,easeLinearity:j,noMoveStart:!0,animate:!0})}))}}});Ui.addInitHook("addHandler","dragging",HL),Ui.mergeOptions({keyboard:!0,keyboardPanDelta:80});var WL=sr.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"),Be(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(),zt(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(){Be(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){zt(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=ve(b).multiplyBy(3)),m.options.maxBounds&&(b=m._limitOffset(ve(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;rs(l)}}});Ui.addInitHook("addHandler","keyboard",WL),Ui.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var BL=sr.extend({addHooks:function(){Be(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){zt(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var d=Ka(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),rs(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,P=m?Math.ceil(I/m)*m:I,j=l._limitZoom(d+(this._delta>0?P:-P))-d;this._delta=0,this._startTime=null,j&&(l.options.scrollWheelZoom==="center"?l.setZoom(d+j):l.setZoomAround(this._lastMousePos,d+j))}});Ui.addInitHook("addHandler","scrollWheelZoom",BL);var JR=600;Ui.mergeOptions({tapHold:Ee.touchNative&&Ee.safari&&Ee.mobile,tapTolerance:15});var zL=sr.extend({addHooks:function(){Be(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){zt(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 Ke(d.clientX,d.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(Be(document,"touchend",Wi),Be(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",d))},this),JR),Be(document,"touchend touchcancel contextmenu",this._cancel,this),Be(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){zt(document,"touchend",Wi),zt(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),zt(document,"touchend touchcancel contextmenu",this._cancel,this),zt(document,"touchmove",this._onMove,this)},_onMove:function(l){var d=l.touches[0];this._newPos=new Ke(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)}});Ui.addInitHook("addHandler","tapHold",zL),Ui.mergeOptions({touchZoom:Ee.touch,bounceAtZoomLimits:!0});var VL=sr.extend({addHooks:function(){ke(this._map._container,"leaflet-touch-zoom"),Be(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){tt(this._map._container,"leaflet-touch-zoom"),zt(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(),Be(document,"touchmove",this._onTouchMove,this),Be(document,"touchend touchcancel",this._onTouchEnd,this),Wi(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 P=m._add(b)._divideBy(2)._subtract(this._centerPoint);if(I===1&&P.x===0&&P.y===0)return;this._center=d.unproject(d.project(this._pinchStartLatLng,this._zoom).subtract(P),this._zoom)}this._moved||(d._moveStart(!0,!1),this._moved=!0),ft(this._animRequest);var j=r(d._move,d,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=Ce(j,this,!0),Wi(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,ft(this._animRequest),zt(document,"touchmove",this._onTouchMove,this),zt(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))}});Ui.addInitHook("addHandler","touchZoom",VL),Ui.BoxZoom=OL,Ui.DoubleClickZoom=FL,Ui.Drag=HL,Ui.Keyboard=WL,Ui.ScrollWheelZoom=BL,Ui.TapHold=zL,Ui.TouchZoom=VL,t.Bounds=it,t.Browser=Ee,t.CRS=di,t.Canvas=ML,t.Circle=Ht,t.CircleMarker=Xe,t.Class=ct,t.Control=qs,t.DivIcon=Wr,t.DivOverlay=ks,t.DomEvent=ua,t.DomUtil=ot,t.Draggable=$o,t.Evented=Jt,t.FeatureGroup=Or,t.GeoJSON=Si,t.GridLayer=Uc,t.Handler=sr,t.Icon=Fl,t.ImageOverlay=Rs,t.LatLng=Ut,t.LatLngBounds=ei,t.Layer=qo,t.LayerGroup=Ol,t.LineUtil=Om,t.Map=Ui,t.Marker=ee,t.Mixin=Em,t.Path=ae,t.Point=Ke,t.PolyUtil=sw,t.Polygon=vi,t.Polyline=_i,t.Popup=Hr,t.PosAnimation=ga,t.Projection=ow,t.Rectangle=AL,t.Renderer=Ya,t.SVG=af,t.SVGOverlay=Ji,t.TileLayer=ps,t.Tooltip=Hl,t.Transformation=yn,t.Util=kt,t.VideoOverlay=Fr,t.bind=r,t.bounds=Rt,t.canvas=NL,t.circle=Ni,t.circleMarker=It,t.control=Ls,t.divIcon=cw,t.extend=n,t.featureGroup=aw,t.geoJSON=gs,t.geoJson=ys,t.gridLayer=mn,t.icon=lw,t.imageOverlay=fa,t.latLng=Mt,t.latLngBounds=Yt,t.layerGroup=rw,t.map=Mr,t.marker=me,t.point=ve,t.polygon=Ri,t.polyline=Vi,t.popup=sf,t.rectangle=QR,t.setOptions=w,t.stamp=c,t.svg=RL,t.svgOverlay=Ko,t.tileLayer=$c,t.tooltip=of,t.transformation=Un,t.version=i,t.videoOverlay=As;var eA=window.L;t.noConflict=function(){return window.L=eA,this},window.L=t}))})(Of,Of.exports)),Of.exports}var PG=EG();const vf=TR(PG),TG="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=",MG="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==",NG="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",Cn=(o,e=Dy)=>{var t=RG(),i=C(x(t),2),n=x(i);K(()=>$(n,e())),T(o,t)};var RG=M('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),AG=M("<button> </button>"),OG=M('<span class="err svelte-767znw"> </span>'),FG=M('<span class="ok svelte-767znw"> </span>'),HG=M('<div class="loading svelte-767znw">Loading…</div>'),WG=M('<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>'),BG=M('<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),zG=M('<section id="sec-mqtt" class="svelte-767znw"><h3 class="svelte-767znw">MQTT</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Protocol <!></label> <select class="svelte-767znw"><option>mqtt (plain TCP)</option><option>mqtts (TLS)</option><option>ws (WebSocket)</option><option>wss (WebSocket + TLS)</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Broker address <!></label> <input type="text" placeholder="localhost:1883" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Username <!></label> <input type="text" placeholder="(optional)" autocomplete="off" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Password <!></label> <input type="password" placeholder="(optional)" autocomplete="new-password" class="svelte-767znw"/></div> <!> <div class="field svelte-767znw"><label class="svelte-767znw">MQTT protocol version <!></label> <select class="svelte-767znw"><option>3.1.1 (default)</option><option>5.0</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client name <!></label> <input type="text" placeholder="she" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Variable prefix <!></label> <input type="text" placeholder="var" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Disable variable system <!></label></div></section>'),VG=M('<div class="field svelte-767znw"><label class="svelte-767znw"> <!></label> <input type="password" placeholder="Enter new password" autocomplete="new-password" class="svelte-767znw"/></div>'),jG=M('<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),UG=M('<div class="field-error svelte-767znw"> </div>'),$G=M('<div class="field-ok svelte-767znw"> </div>'),qG=M('<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>'),KG=M('<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>'),GG=M('<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>'),ZG=M('<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>'),YD=M("<option> </option>"),XG=M('<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>'),YG=M('<section id="sec-solar" class="svelte-767znw"><h3 class="svelte-767znw">Location</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Timezone <!></label> <input type="text" list="tz-list" placeholder="(system default)" autocomplete="off" spellcheck="false" class="svelte-767znw"/> <datalist id="tz-list"></datalist></div> <div class="field svelte-767znw"><label class="svelte-767znw">Latitude <!></label> <input type="number" step="0.0001" placeholder="48.7408" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Longitude <!></label> <input type="number" step="0.0001" placeholder="9.1778" class="svelte-767znw"/></div> <div class="field geo-actions svelte-767znw"><span></span> <div class="geo-btns svelte-767znw"><button class="geo-btn svelte-767znw"><!></button> <button class="geo-btn svelte-767znw"> </button></div></div> <!></section>'),QG=M('<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>'),JG=M('<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>'),e9=M('<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>'),t9=M('<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>'),i9=M('<span class="free-badge svelte-767znw">FREE</span> ',1),n9=M('&nbsp;— <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),s9=M("<div><!> <!></div>"),o9=M('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),r9=M('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),a9=M('<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>'),l9=M('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),c9=M('<!> <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 d9(o,e){zo(e,!0),delete vf.Icon.Default.prototype._getIconUrl,vf.Icon.Default.mergeOptions({iconUrl:TG,iconRetinaUrl:MG,shadowUrl:NG});let t=W(fi(kG())),i=W("~/.she"),n=W("mqtt"),s=W(""),r=W(""),a=W(""),c=W(""),h=W(""),g=W(""),f=W("logic"),p=W("var"),v=W(""),_=W(!1),w=W(8080),S=W(""),D=W("none"),E=W(""),R=W("X-Remote-User"),V=W(""),H=W(!1),J=W(""),Y=W(""),ue=W(""),Te=W(!1),Oe=W(!1),Ce=W(!1),ft=W(""),kt=W(48.7408),ct=W(9.1778),ci=W(!1),jt=W(void 0),Jt=W(!1),Ke=W(null),Gt=W("info"),ve=W(""),it=W(""),Rt=W(!1),ei=W(!1),Yt=W("");const Ut=[{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 Mt=W("ollama"),di=W("ollama"),ki=W(""),Hi=W(""),Bi=W("");const yn={};let Un="ollama";function wn(q,re){return q==="anthropic"?"anthropic":q==="ollama"?"ollama":re?re.includes("localhost:1234")?"lmstudio":re.includes("groq.com")?"groq":re.includes("googleapis.com")?"gemini":"openai":"openai"}function Rn(){yn[Un]={baseUrl:u(ki),model:u(Hi),apiKey:u(Bi)};const q=Ut.find(he=>he.id===u(Mt));if(!q)return;k(di,q.provider,!0);const re=yn[u(Mt)];k(ki,(re==null?void 0:re.baseUrl)??q.baseUrl,!0),k(Hi,(re==null?void 0:re.model)??q.defaultModel,!0),k(Bi,(re==null?void 0:re.apiKey)??"",!0),Un=u(Mt)}const Ei=nt(()=>Ut.find(q=>q.id===u(Mt)));let pn=W(fi({}));const ln=new Set(["url","name","variablePrefix","disableVariables","mqttUsername","mqttPassword","mqttCa","mqttCert","mqttKey","mqttVersion","port","bindAddress","auth","password","proxyHeader","proxyLogoutUrl","dir","disableWatch","gitAutoCommit","gitAutoPush","latitude","longitude","timezone","verbosity","dbPath","dbPrefix","dbPublish","dbRetain","redis","ai"]);Fn(()=>{if(!u(jt))return;const q=typeof u(kt)=="number"?u(kt):48.7408,re=typeof u(ct)=="number"?u(ct):9.1778,he=vf.map(u(jt)).setView([q,re],10);vf.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(he);const Je=vf.marker([q,re],{draggable:!0}).addTo(he);k(Ke,Je,!0);const ti=_t=>{k(kt,+_t.lat.toFixed(6)),k(ct,+_t.lng.toFixed(6))};return Je.on("dragend",()=>ti(Je.getLatLng())),he.on("click",_t=>{Je.setLatLng(_t.latlng),ti(_t.latlng)}),()=>{k(Ke,null),he.remove()}}),Fn(()=>{!u(Ke)||u(kt)===""||u(ct)===""||u(Ke).setLatLng([Number(u(kt)),Number(u(ct))])});let cn;function Wn(){if(!navigator.geolocation){cn.show("Geolocation is not supported by this browser.",{alert:!0});return}k(Jt,!0),navigator.geolocation.getCurrentPosition(q=>{k(kt,+q.coords.latitude.toFixed(6)),k(ct,+q.coords.longitude.toFixed(6)),k(Jt,!1)},()=>{k(Jt,!1)})}let dn=W(!0),Qi=W(!1),An=W(""),hn=W(""),un=W(""),es=W("appearance");const Ye=[{id:"appearance",label:"Appearance",terms:["theme","color","dark","light"]},{id:"auth",label:"Authentication",terms:["auth","password","login","proxy","header","nginx","authentik","secure"]},{id:"mqtt",label:"MQTT",terms:["broker","url","client","name","variable","prefix","protocol","version","mqtt5"]},{id:"webserver",label:"Web server",terms:["port","http","server","bind","address"]},{id:"scripts",label:"Scripts",terms:["directory","watch","hot reload","dir"]},{id:"git",label:"Git",terms:["git","auto commit","auto push","commit","push","repository"]},{id:"solar",label:"Location",terms:["latitude","longitude","sunrise","sunset","geo","timezone","time zone","iana","schedule"]},{id:"logging",label:"Logging",terms:["verbosity","debug","info","warn","error"]},{id:"shedb",label:"sheDB",terms:["database","db","path","retain"]},{id:"redis",label:"Redis",terms:["redis","cache"]},{id:"ai",label:"AI Assistant",terms:["llm","ollama","openai","anthropic","model","provider","base url"]}];let vt=nt(()=>Ye.filter(q=>{const re=u(un).trim().toLowerCase();return!re||q.label.toLowerCase().includes(re)||q.terms.some(he=>he.includes(re))}));function hi(q){var re;k(es,q,!0),(re=document.getElementById("sec-"+q))==null||re.scrollIntoView({behavior:"smooth",block:"start"})}Pr(async()=>{try{const q=await Rf();q.dataDir&&k(i,q.dataDir,!0)}catch{}try{const q=await mL();if(typeof q.url=="string"&&q.url)try{const Je=new URL(q.url);k(n,Je.protocol.replace(":",""),!0),k(s,Je.host,!0)}catch{k(s,q.url,!0)}typeof q.mqttUsername=="string"&&k(r,q.mqttUsername,!0),typeof q.mqttPassword=="string"&&k(a,q.mqttPassword,!0),typeof q.mqttCa=="string"&&k(c,q.mqttCa,!0),typeof q.mqttCert=="string"&&k(h,q.mqttCert,!0),typeof q.mqttKey=="string"&&k(g,q.mqttKey,!0),typeof q.mqttVersion=="string"&&k(v,q.mqttVersion,!0),typeof q.name=="string"&&k(f,q.name,!0),typeof q.variablePrefix=="string"&&k(p,q.variablePrefix,!0),typeof q.disableVariables=="boolean"&&k(_,q.disableVariables,!0),typeof q.port=="number"&&k(w,q.port,!0),typeof q.bindAddress=="string"&&k(S,q.bindAddress,!0),typeof q.auth=="string"&&k(D,q.auth,!0),typeof q.proxyHeader=="string"&&k(R,q.proxyHeader,!0),typeof q.proxyLogoutUrl=="string"&&k(V,q.proxyLogoutUrl,!0),typeof q.dir=="string"&&k(ue,q.dir,!0),typeof q.disableWatch=="boolean"&&k(Te,q.disableWatch,!0),typeof q.gitAutoCommit=="boolean"&&k(Oe,q.gitAutoCommit,!0),typeof q.gitAutoPush=="boolean"&&k(Ce,q.gitAutoPush,!0),typeof q.latitude=="number"&&k(kt,q.latitude,!0),typeof q.longitude=="number"&&k(ct,q.longitude,!0),typeof q.timezone=="string"&&k(ft,q.timezone,!0),typeof q.verbosity=="string"&&k(Gt,q.verbosity,!0),typeof q.dbPath=="string"&&k(ve,q.dbPath,!0),typeof q.dbPrefix=="string"&&k(it,q.dbPrefix,!0),typeof q.dbPublish=="boolean"&&k(Rt,q.dbPublish,!0),typeof q.dbRetain=="boolean"&&k(ei,q.dbRetain,!0);const re=q.redis;re!=null&&re.url&&k(Yt,re.url,!0);const he=q.ai;he!=null&&he.provider&&k(di,he.provider,!0),he!=null&&he.baseUrl&&k(ki,he.baseUrl,!0),he!=null&&he.model&&k(Hi,he.model,!0),he!=null&&he.apiKey&&k(Bi,he.apiKey,!0),k(Mt,wn(u(di),u(ki)),!0),Un=u(Mt),k(pn,Object.fromEntries(Object.entries(q).filter(([Je])=>!ln.has(Je))),!0)}catch(q){k(hn,q.message,!0)}finally{k(dn,!1)}});async function Pi(){if(k(Y,""),k(J,""),u(D)==="password"&&!u(E)){k(Y,"A password is required to enable password authentication.");return}k(H,!0);try{await X8(u(D),u(D)==="password"?u(E):void 0,u(D)==="proxy"?u(R):void 0,u(D)==="proxy"?u(V):void 0),k(E,""),k(J,"Authentication settings saved.")}catch(q){k(Y,q.message,!0)}finally{k(H,!1)}}async function Mi(){k(hn,""),k(An,"");const q={...u(pn)};u(s)&&(q.url=`${u(n)}://${u(s)}`),q.name=u(f),q.variablePrefix=u(p),u(v)&&(q.mqttVersion=u(v)),u(_)&&(q.disableVariables=!0),u(r)&&(q.mqttUsername=u(r)),u(a)&&(q.mqttPassword=u(a)),u(c)&&(q.mqttCa=u(c)),u(h)&&(q.mqttCert=u(h)),u(g)&&(q.mqttKey=u(g)),u(w)!==""&&(q.port=Number(u(w))),u(S)&&(q.bindAddress=u(S)),u(ue)&&(q.dir=u(ue)),u(Te)&&(q.disableWatch=!0),u(Oe)&&(q.gitAutoCommit=!0),u(Ce)&&(q.gitAutoPush=!0),u(kt)!==""&&(q.latitude=Number(u(kt))),u(ct)!==""&&(q.longitude=Number(u(ct))),u(ft)&&(q.timezone=u(ft)),q.verbosity=u(Gt),u(ve)&&(q.dbPath=u(ve),u(it)&&(q.dbPrefix=u(it)),u(Rt)&&(q.dbPublish=!0,u(ei)&&(q.dbRetain=!0))),u(Yt)&&(q.redis={url:u(Yt)}),u(di)&&(q.ai={provider:u(di),...u(ki)?{baseUrl:u(ki)}:{},...u(Hi)?{model:u(Hi)}:{},...u(Bi)?{apiKey:u(Bi)}:{}}),k(Qi,!0);try{const re=await o7(q);window.dispatchEvent(new CustomEvent("she:config-changed")),k(An,re.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(re){k(hn,re.message,!0)}finally{k(Qi,!1)}}var tn=c9(),nn=bt(tn);Is(Kg(nn,{}),q=>cn=q,()=>cn);var Xn=C(nn,2),Bn=x(Xn),qn=x(Bn),$n=C(x(qn),2),On=C(qn,2);ui(On,21,()=>Ye,q=>q.id,(q,re)=>{var he=Us(),Je=bt(he);{var ti=Ee=>{var At=AG();let ii;var Ze=x(At);K(()=>{ii=qt(At,1,"section-link svelte-767znw",null,ii,{active:u(es)===u(re).id}),$(Ze,u(re).label)}),Q("click",At,()=>hi(u(re).id)),T(Ee,At)},_t=nt(()=>u(vt).some(Ee=>Ee.id===u(re).id));U(Je,Ee=>{u(_t)&&Ee(ti)})}T(q,he)});var qe=C(Bn,2),Z=x(qe),Ve=C(x(Z),2);{var mt=q=>{var re=OG(),he=x(re);K(()=>$(he,u(hn))),T(q,re)};U(Ve,q=>{u(hn)&&q(mt)})}var St=C(Ve,2);{var Bt=q=>{var re=FG(),he=x(re);K(()=>$(he,u(An))),T(q,re)};U(St,q=>{u(An)&&q(Bt)})}var A=C(St,2),ne=x(A),ge=C(Z,2);{var Qe=q=>{var re=HG();T(q,re)},dt=q=>{var re=l9(),he=x(re);{var Je=_e=>{var De=WG(),st=C(x(De),2),ke=C(x(st),2),tt=x(ke);tt.value=tt.__value="dark";var Ot=C(tt);Ot.value=Ot.__value="light";var z=C(Ot);z.value=z.__value="system",Q("change",ke,()=>IG(u(t))),Gr(ke,()=>u(t),X=>k(t,X)),T(_e,De)},ti=nt(()=>u(vt).some(_e=>_e.id==="appearance"));U(he,_e=>{u(ti)&&_e(Je)})}var _t=C(he,2);{var Ee=_e=>{var De=zG(),st=C(x(De),2),ke=x(st),tt=C(x(ke));Cn(tt,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var Ot=C(ke,2),z=x(Ot);z.value=z.__value="mqtt";var X=C(z);X.value=X.__value="mqtts";var Le=C(X);Le.value=Le.__value="ws";var Ae=C(Le);Ae.value=Ae.__value="wss";var Re=C(st,2),Ie=x(Re),Pt=C(x(Ie));Cn(Pt,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var at=C(Ie,2),Pe=C(Re,2),xt=x(Pe),We=C(x(xt));Cn(We,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var pe=C(xt,2),be=C(Pe,2),ye=x(be),we=C(x(ye));Cn(we,()=>"MQTT broker password. Stored in plain text in config.json.");var gt=C(ye,2),ce=C(be,2);{var Fe=Qn=>{var ua=BG(),ga=bt(ua),Ui=x(ga),Mr=C(x(Ui));Cn(Mr,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var qs=C(Ui,2),Ls=C(ga,2),Ks=x(Ls),Nr=C(x(Ks));Cn(Nr,()=>"PEM-encoded client certificate for mutual TLS authentication.");var Ga=C(Ks,2),Al=C(Ls,2),Za=x(Al),Uo=C(x(Za));Cn(Uo,()=>"PEM-encoded private key matching the client certificate.");var Rr=C(Za,2);Ii(qs,()=>u(c),Ar=>k(c,Ar)),Ii(Ga,()=>u(h),Ar=>k(h,Ar)),Ii(Rr,()=>u(g),Ar=>k(g,Ar)),T(Qn,ua)};U(ce,Qn=>{(u(n)==="mqtts"||u(n)==="wss")&&Qn(Fe)})}var lt=C(ce,2),ot=x(lt),Be=C(x(ot));Cn(Be,()=>"MQTT protocol version used when connecting to the broker. Choose 5 only if your broker supports MQTT 5.0. Default: 3.1.1 (mqtt.js default).");var Ft=C(ot,2),zt=x(Ft);zt.value=zt.__value="";var gn=C(zt);gn.value=gn.__value="5";var zi=C(lt,2),Sn=x(zi),Yn=C(x(Sn));Cn(Yn,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var wi=C(Sn,2),$t=C(zi,2),Xi=x($t),Wi=C(x(Xi));Cn(Wi,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var rs=C(Xi,2),oo=C($t,2),jo=C(x(oo),2),Tr=x(jo),Ka=C(Tr,4);Cn(Ka,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),Gr(Ot,()=>u(n),Qn=>k(n,Qn)),Ii(at,()=>u(s),Qn=>k(s,Qn)),Ii(pe,()=>u(r),Qn=>k(r,Qn)),Ii(gt,()=>u(a),Qn=>k(a,Qn)),Gr(Ft,()=>u(v),Qn=>k(v,Qn)),Ii(wi,()=>u(f),Qn=>k(f,Qn)),Ii(rs,()=>u(p),Qn=>k(p,Qn)),Vs(Tr,()=>u(_),Qn=>k(_,Qn)),T(_e,De)},At=nt(()=>u(vt).some(_e=>_e.id==="mqtt"));U(_t,_e=>{u(At)&&_e(Ee)})}var ii=C(_t,2);{var Ze=_e=>{var De=qG(),st=C(x(De),2),ke=x(st),tt=C(x(ke));Cn(tt,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var Ot=C(ke,2),z=x(Ot);z.value=z.__value="none";var X=C(z);X.value=X.__value="password";var Le=C(X);Le.value=Le.__value="proxy";var Ae=C(st,2);{var Re=we=>{var gt=VG(),ce=x(gt),Fe=x(ce),lt=C(Fe);Cn(lt,()=>"Set a new password. Leave empty to keep the current password (if already set).");var ot=C(ce,2);K(()=>$(Fe,`${u(E)?"New password":"Password"} `)),Ii(ot,()=>u(E),Be=>k(E,Be)),T(we,gt)};U(Ae,we=>{u(D)==="password"&&we(Re)})}var Ie=C(Ae,2);{var Pt=we=>{var gt=jG(),ce=bt(gt),Fe=x(ce),lt=C(x(Fe));Cn(lt,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var ot=C(Fe,2),Be=C(ce,2),Ft=x(Be),zt=C(x(Ft));Cn(zt,()=>"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 gn=C(Ft,2);Ii(ot,()=>u(R),zi=>k(R,zi)),Ii(gn,()=>u(V),zi=>k(V,zi)),T(we,gt)};U(Ie,we=>{u(D)==="proxy"&&we(Pt)})}var at=C(Ie,2);{var Pe=we=>{var gt=UG(),ce=x(gt);K(()=>$(ce,u(Y))),T(we,gt)};U(at,we=>{u(Y)&&we(Pe)})}var xt=C(at,2);{var We=we=>{var gt=$G(),ce=x(gt);K(()=>$(ce,u(J))),T(we,gt)};U(xt,we=>{u(J)&&we(We)})}var pe=C(xt,2),be=C(x(pe),2),ye=x(be);K(()=>{be.disabled=u(H)||u(D)==="password"&&!u(E),$(ye,u(H)?"Saving…":"Apply authentication settings")}),Gr(Ot,()=>u(D),we=>k(D,we)),Q("click",be,Pi),T(_e,De)},Nt=nt(()=>u(vt).some(_e=>_e.id==="auth"));U(ii,_e=>{u(Nt)&&_e(Ze)})}var ni=C(ii,2);{var te=_e=>{var De=KG(),st=C(x(De),2),ke=x(st),tt=C(x(ke));Cn(tt,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var Ot=C(ke,2),z=C(st,2),X=x(z),Le=C(x(X));Cn(Le,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var Ae=C(X,2);Ii(Ot,()=>u(w),Re=>k(w,Re)),Ii(Ae,()=>u(S),Re=>k(S,Re)),T(_e,De)},fe=nt(()=>u(vt).some(_e=>_e.id==="webserver"));U(ni,_e=>{u(fe)&&_e(te)})}var Ge=C(ni,2);{var rt=_e=>{var De=GG(),st=C(x(De),2),ke=x(st),tt=C(x(ke));Cn(tt,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var Ot=C(ke,2),z=C(st,2),X=C(x(z),2),Le=x(X),Ae=C(Le,4);Cn(Ae,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),K(()=>vn(Ot,"placeholder",`${u(i)??""}/scripts (default)`)),Ii(Ot,()=>u(ue),Re=>k(ue,Re)),Vs(Le,()=>u(Te),Re=>k(Te,Re)),T(_e,De)},Ct=nt(()=>u(vt).some(_e=>_e.id==="scripts"));U(Ge,_e=>{u(Ct)&&_e(rt)})}var He=C(Ge,2);{var ht=_e=>{var De=ZG(),st=C(x(De),2),ke=C(x(st),2),tt=x(ke),Ot=C(tt,4);Cn(Ot,()=>"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 z=C(st,2),X=C(x(z),2),Le=x(X),Ae=C(Le,4);Cn(Ae,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),Vs(tt,()=>u(Oe),Re=>k(Oe,Re)),Vs(Le,()=>u(Ce),Re=>k(Ce,Re)),T(_e,De)},Vt=nt(()=>u(vt).some(_e=>_e.id==="git"));U(He,_e=>{u(Vt)&&_e(ht)})}var si=C(He,2);{var oi=_e=>{var De=YG(),st=C(x(De),2),ke=x(st),tt=C(x(ke));Cn(tt,()=>"IANA timezone for cron scheduling (e.g. Europe/Berlin). Leave empty to use the system timezone. Requires daemon restart.");var Ot=C(ke,2),z=C(Ot,2);ui(z,20,()=>{var ot;return((ot=Intl.supportedValuesOf)==null?void 0:ot.call(Intl,"timeZone"))??[]},Pn,(ot,Be)=>{var Ft=YD(),zt=x(Ft),gn={};K(()=>{$(zt,Be),gn!==(gn=Be)&&(Ft.value=(Ft.__value=Be)??"")}),T(ot,Ft)});var X=C(st,2),Le=x(X),Ae=C(x(Le));Cn(Ae,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Re=C(Le,2),Ie=C(X,2),Pt=x(Ie),at=C(x(Pt));Cn(at,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Pe=C(Pt,2),xt=C(Ie,2),We=C(x(xt),2),pe=x(We),be=x(pe);{var ye=ot=>{var Be=na("…");T(ot,Be)},we=ot=>{var Be=na("📍 Use my location");T(ot,Be)};U(be,ot=>{u(Jt)?ot(ye):ot(we,-1)})}var gt=C(pe,2),ce=x(gt),Fe=C(xt,2);{var lt=ot=>{var Be=XG(),Ft=C(x(Be),2);Is(Ft,zt=>k(jt,zt),()=>u(jt)),T(ot,Be)};U(Fe,ot=>{u(ci)&&ot(lt)})}K(()=>{pe.disabled=u(Jt),$(ce,u(ci)?"Hide map":"Pick on map")}),Ii(Ot,()=>u(ft),ot=>k(ft,ot)),Ii(Re,()=>u(kt),ot=>k(kt,ot)),Ii(Pe,()=>u(ct),ot=>k(ct,ot)),Q("click",pe,Wn),Q("click",gt,()=>k(ci,!u(ci))),T(_e,De)},Zi=nt(()=>u(vt).some(_e=>_e.id==="solar"));U(si,_e=>{u(Zi)&&_e(oi)})}var xi=C(si,2);{var ri=_e=>{var De=QG(),st=C(x(De),2),ke=x(st),tt=C(x(ke));Cn(tt,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var Ot=C(ke,2),z=x(Ot);z.value=z.__value="debug";var X=C(z);X.value=X.__value="info";var Le=C(X);Le.value=Le.__value="warn";var Ae=C(Le);Ae.value=Ae.__value="error",Gr(Ot,()=>u(Gt),Re=>k(Gt,Re)),T(_e,De)},Zt=nt(()=>u(vt).some(_e=>_e.id==="logging"));U(xi,_e=>{u(Zt)&&_e(ri)})}var ji=C(xi,2);{var O=_e=>{var De=e9(),st=C(x(De),2),ke=x(st),tt=C(x(ke));Cn(tt,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var Ot=C(ke,2),z=C(st,2),X=x(z),Le=C(x(X));Cn(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 Ae=C(X,2),Re=C(z,2),Ie=C(x(Re),2);let Pt;var at=x(Ie),Pe=C(at,4);Cn(Pe,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var xt=C(Re,2);{var We=pe=>{var be=JG(),ye=C(x(be),2);let we;var gt=x(ye),ce=C(gt,4);Cn(ce,()=>"When enabled, MQTT messages for document changes are published as retained messages."),K(()=>{we=qt(ye,1,"check-label svelte-767znw",null,we,{muted:!u(ve)}),gt.disabled=!u(ve)}),Vs(gt,()=>u(ei),Fe=>k(ei,Fe)),T(pe,be)};U(xt,pe=>{u(Rt)&&pe(We)})}K(()=>{vn(Ot,"placeholder",`defaults to ${u(i)??""}/db`),Ae.disabled=!u(ve),Pt=qt(Ie,1,"check-label svelte-767znw",null,Pt,{muted:!u(ve)}),at.disabled=!u(ve)}),Ii(Ot,()=>u(ve),pe=>k(ve,pe)),Ii(Ae,()=>u(it),pe=>k(it,pe)),Vs(at,()=>u(Rt),pe=>k(Rt,pe)),T(_e,De)},G=nt(()=>u(vt).some(_e=>_e.id==="shedb"));U(ji,_e=>{u(G)&&_e(O)})}var xe=C(ji,2);{var Me=_e=>{var De=t9(),st=C(x(De),2),ke=x(st),tt=C(x(ke));Cn(tt,()=>"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 Ot=C(ke,2);Ii(Ot,()=>u(Yt),z=>k(Yt,z)),T(_e,De)},je=nt(()=>u(vt).some(_e=>_e.id==="redis"));U(xe,_e=>{u(je)&&_e(Me)})}var Ne=C(xe,2);{var et=_e=>{var De=a9(),st=C(x(De),2),ke=x(st),tt=C(x(ke));Cn(tt,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var Ot=C(ke,2);ui(Ot,21,()=>Ut,Pn,(We,pe)=>{var be=YD(),ye=x(be),we={};K(()=>{$(ye,u(pe).label),we!==(we=u(pe).id)&&(be.value=(be.__value=u(pe).id)??"")}),T(We,be)});var z=C(st,2);{var X=We=>{var pe=s9();let be;var ye=x(pe);{var we=Fe=>{var lt=i9(),ot=C(bt(lt));K(()=>$(ot,` ${u(Ei).freeNote??""}`)),T(Fe,lt)};U(ye,Fe=>{u(Ei).freeNote&&Fe(we)})}var gt=C(ye,2);{var ce=Fe=>{var lt=n9(),ot=C(bt(lt));K(()=>vn(ot,"href",u(Ei).apiKeyUrl)),T(Fe,lt)};U(gt,Fe=>{u(Ei).apiKeyUrl&&Fe(ce)})}K(()=>be=qt(pe,1,"preset-note svelte-767znw",null,be,{free:!!u(Ei).freeNote})),T(We,pe)};U(z,We=>{var pe,be;((pe=u(Ei))!=null&&pe.freeNote||(be=u(Ei))!=null&&be.apiKeyUrl)&&We(X)})}var Le=C(z,2);{var Ae=We=>{var pe=o9(),be=x(pe),ye=C(x(be));Cn(ye,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var we=C(be,2);K(()=>{var gt;return vn(we,"placeholder",u(Mt)==="ollama"?"http://localhost:11434":u(Mt)==="lmstudio"?"http://localhost:1234":((gt=u(Ei))==null?void 0:gt.baseUrl)??"")}),Ii(we,()=>u(ki),gt=>k(ki,gt)),T(We,pe)};U(Le,We=>{u(Mt)!=="anthropic"&&We(Ae)})}var Re=C(Le,2),Ie=x(Re),Pt=C(x(Ie));Cn(Pt,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var at=C(Ie,2),Pe=C(Re,2);{var xt=We=>{var pe=r9(),be=x(pe),ye=C(x(be));Cn(ye,()=>"Stored in config.json. Not needed for local providers.");var we=C(be,2);Ii(we,()=>u(Bi),gt=>k(Bi,gt)),T(We,pe)};U(Pe,We=>{u(Mt)!=="ollama"&&u(Mt)!=="lmstudio"&&We(xt)})}K(()=>{var We;return vn(at,"placeholder",((We=u(Ei))==null?void 0:We.defaultModel)||"e.g. llama3.2")}),Q("change",Ot,Rn),Gr(Ot,()=>u(Mt),We=>k(Mt,We)),Ii(at,()=>u(Hi),We=>k(Hi,We)),T(_e,De)},ai=nt(()=>u(vt).some(_e=>_e.id==="ai"));U(Ne,_e=>{u(ai)&&_e(et)})}T(q,re)};U(ge,q=>{u(dn)?q(Qe):q(dt,-1)})}K(()=>{A.disabled=u(Qi),$(ne,u(Qi)?"Saving…":"Save")}),Ii($n,()=>u(un),q=>k(un,q)),Q("click",A,Mi),T(o,tn),Vo()}Er(["click","change"]);var h9=M("<option> </option>"),u9=M('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),g9=M('<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 f9(o,e){zo(e,!0);let t=W(fi(x7())),i,n=W(!0),s=W("all"),r=W(""),a=W(!1);const c=["all","debug","info","warn","error"],h={debug:0,info:1,warn:2,error:3};PR(Y=>{k(t,[...u(t).slice(-1999),Y],!0)}),Pr(()=>{i&&(i.scrollTop=i.scrollHeight)}),Fn(()=>{u(t).length,u(n)&&i&&(i.scrollTop=i.scrollHeight)});function g(){k(t,[],!0)}function f(Y){if(u(s)!=="all"&&h[Y.level]<h[u(s)])return!1;if(!u(r))return!0;if(u(a))try{return new RegExp(u(r),"i").test(Y.msg)}catch{}return Y.msg.toLowerCase().includes(u(r).toLowerCase())}function p(Y){return new Date(Y).toLocaleTimeString()}var v=g9(),_=x(v),w=C(x(_),2);ui(w,21,()=>c,Pn,(Y,ue)=>{var Te=h9(),Oe=x(Te),Ce={};K(()=>{$(Oe,u(ue)),Ce!==(Ce=u(ue))&&(Te.value=(Te.__value=u(ue))??"")}),T(Y,Te)});var S=C(w,2),D=C(S,2),E=x(D),R=C(D,2),V=x(R),H=C(R,2),J=C(_,2);ui(J,21,()=>u(t).filter(f),Y=>Y.ts+Y.msg,(Y,ue)=>{var Te=u9(),Oe=x(Te),Ce=x(Oe),ft=C(Oe,2),kt=x(ft),ct=C(ft,2),ci=x(ct);K((jt,Jt)=>{qt(Te,1,`line ${u(ue).level??""}`,"svelte-18loop9"),$(Ce,jt),$(kt,Jt),$(ci,u(ue).msg)},[()=>p(u(ue).ts),()=>u(ue).level.toUpperCase()]),T(Y,Te)}),Is(J,Y=>i=Y,()=>i),Gr(w,()=>u(s),Y=>k(s,Y)),Ii(S,()=>u(r),Y=>k(r,Y)),Vs(E,()=>u(a),Y=>k(a,Y)),Vs(V,()=>u(n),Y=>k(n,Y)),Q("click",H,g),T(o,v),Vo()}Er(["click"]);var p9=M('<span class="chat-model svelte-1twuiul"><!></span>'),m9=M('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),_9=M('<div class="unconfigured svelte-1twuiul">Configure an AI provider in the <strong class="svelte-1twuiul">Config</strong> tab to use the AI assistant.</div>'),v9=M('Working on view <code class="svelte-1twuiul"> </code>',1),b9=M('<button class="chip svelte-1twuiul"> </button>'),y9=M('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),w9=M('<div class="msg-content user-text svelte-1twuiul"> </div>'),QD=M('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),JD=M('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),eE=M('<div class="tool-events svelte-1twuiul"></div>'),tE=M('<div class="text-block svelte-1twuiul"></div>'),S9=M('<button class="expand-btn svelte-1twuiul"> </button>'),C9=M('<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>'),x9=M('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),L9=M('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),k9=M("<div><!></div>"),I9=M('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),D9=M('<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>'),E9=M('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),P9=M('<div class="chat-error svelte-1twuiul"> </div>'),T9=M('<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>'),M9=M('<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>'),N9=M('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),R9=M('<button class="send-btn svelte-1twuiul">↑</button>'),A9=M('<option class="svelte-1twuiul"> </option>'),O9=M('<select class="model-select svelte-1twuiul"></select>'),F9=M('<span class="model-name svelte-1twuiul"> </span>'),H9=M('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),W9=M('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),B9=M('<p class="info-status svelte-1twuiul">Loading…</p>'),z9=M('<p class="info-status info-err svelte-1twuiul"> </p>'),V9=M('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),j9=M('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),U9=M('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),$9=M('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),q9=M('<div class="running-model svelte-1twuiul"> </div>'),K9=M('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),G9=M('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),Z9=M('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),X9=M('<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>'),Y9=M('<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){zo(e,!0),cb.registerLanguage("javascript",AR),Hn.use({breaks:!0,gfm:!0});let t=vg(e,"currentView",3,null);const i="she:viewchat:messages";let n=W(fi(JSON.parse(localStorage.getItem(i)??"[]"))),s=W(null),r=W(""),a=W(!1),c=W(""),h=W(null),g=W(fi([])),f=W(fi(localStorage.getItem("she:selectedModel")??""));Fn(()=>{localStorage.setItem(i,JSON.stringify(u(n)))});let p=W(fi(new Set)),v=W(!1),_=W(null),w=W(!1),S=W(""),D=null,E=W(0);const R=["[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=W(!0),H=W(!0),J=W(!0),Y=W(fi([])),ue=W(!0),Te=W(!1),Oe,Ce=W(fi([])),ft=W(0),kt,ct;const ci=nt(()=>({apiref:!1,shedb:u(V),sampleDocs:u(H),tools:u(J)})),jt=nt(()=>{var O;return((O=u(h))==null?void 0:O.configured)??!1}),Jt=nt(()=>u(ft)+new TextEncoder().encode(u(r)).length),Ke=nt(()=>u(ue)?t():null);async function Gt(){try{const O=await LR();k(h,O,!0),O.configured&&!u(f)&&k(f,O.model,!0)}catch{}}Fn(()=>(window.addEventListener("she:config-changed",Gt),()=>window.removeEventListener("she:config-changed",Gt))),Pr(()=>{Gt()}),Fn(()=>{u(f)&&localStorage.setItem("she:selectedModel",u(f))}),Fn(()=>{var O;(O=u(h))!=null&&O.provider&&kR().then(G=>{k(g,G.models,!0),!u(f)&&G.models.length>0&&k(f,G.models[0],!0)}).catch(()=>{})}),Fn(()=>{u(f),k(_,null),k(S,"")}),Fn(()=>{const O=u(ci),G=u(Ke),xe=u(Y);u(jt)&&IR({context:O,currentView:G??null,extraFiles:xe.length>0?xe:void 0}).then(Me=>{k(ft,new TextEncoder().encode(Me.prompt).length,!0)}).catch(()=>{})}),Fn(()=>{if(!u(a))return;k(E,Math.floor(Math.random()*R.length),!0);const O=setInterval(()=>{k(E,(u(E)+1)%R.length)},1e4);return()=>clearInterval(O)}),Fn(()=>{var O;ct&&(u(n).length+(((O=u(s))==null?void 0:O.length)??0),requestAnimationFrame(()=>{ct&&(ct.scrollTop=ct.scrollHeight)}))});function ve(O){const G=[],xe=/```(\w*)\n([\s\S]*?)```/g;let Me=0,je;for(;(je=xe.exec(O))!==null;)je.index>Me&&G.push({type:"text",text:O.slice(Me,je.index)}),G.push({type:"code",lang:je[1]||"text",text:je[2].trimEnd()}),Me=je.index+je[0].length;return Me<O.length&&G.push({type:"text",text:O.slice(Me)}),G}function it(O){const G=[],xe=/```(\w*)\n([\s\S]*?)```/g;let Me=0,je;for(;(je=xe.exec(O))!==null;)je.index>Me&&G.push({type:"text",text:O.slice(Me,je.index)}),G.push({type:"code",lang:je[1]||"text",text:je[2].trimEnd()}),Me=je.index+je[0].length;const Ne=O.slice(Me),et=Ne.match(/```(\w*)\n([\s\S]*)$/);return et?(et.index>0&&G.push({type:"text",text:Ne.slice(0,et.index)}),G.push({type:"code",lang:et[1]||"text",text:et[2]})):Ne&&G.push({type:"text",text:Ne}),G}function Rt(O){const G={};for(const xe of O)if(xe.type==="code"){if(xe.lang==="filter")G.filter=xe.text.trim();else if(Bi(xe.lang)){const Me=xe.text.split(`
223
+ `)[0].trim();Me==="// @view-map"?G.map=xe.text.split(`
224
+ `).slice(1).join(`
225
+ `).trim():Me==="// @view-reduce"&&(G.reduce=xe.text.split(`
226
+ `).slice(1).join(`
227
+ `).trim())}}return G}function ei(O){return O.filter!==void 0||O.map!==void 0||O.reduce!==void 0}function Yt(O){const G=[];return O.filter!==void 0&&G.push("filter"),O.map!==void 0&&G.push("map"),O.reduce!==void 0&&G.push("reduce"),`Apply ${G.join(" + ")}`}const Ut=15;function Mt(O){return O.split(`
228
+ `).length>Ut}function di(O){const G=new Set(u(p));G.has(O)?G.delete(O):G.add(O),k(p,G,!0)}function ki(O,G){if(Bi(G))try{return cb.highlight(O,{language:"javascript"}).value}catch{}return O.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Hi(O){return Hn.parse(O)}function Bi(O){return!O||O==="js"||O==="javascript"}function yn(O){navigator.clipboard.writeText(O).catch(()=>{})}async function Un(){if(k(v,!0),!(u(_)||u(w))){k(w,!0),k(S,"");try{k(_,await L0(u(f)||u(h).model),!0)}catch(O){k(S,O.message,!0)}k(w,!1)}}function wn(O){return O>=1e9?`${(O/1e9).toFixed(1)} GB`:O>=1e6?`${(O/1e6).toFixed(0)} MB`:`${O} B`}function Rn(O){const G=O.match(/\.([^.]+)$/);return G?G[1].toUpperCase():"?"}function Ei(O){switch(O){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return O}}function pn(O){k(Y,u(Y).filter((G,xe)=>xe!==O),!0)}function ln(){Oe.click()}async function cn(O){if(!(!O||O.length===0))for(const G of Array.from(O)){const xe=await G.text();k(Y,[...u(Y),{name:G.name,content:xe}],!0)}}function Wn(O){const G=O.target;cn(G.files),G.value=""}function dn(O){var G;O.preventDefault(),k(Te,!1),cn(((G=O.dataTransfer)==null?void 0:G.files)??null)}function Qi(O){var G;(G=O.dataTransfer)!=null&&G.types.includes("Files")&&(O.preventDefault(),k(Te,!0))}function An(){k(Te,!1)}async function hn(){const O=u(r).trim();if(!(!O||u(a))){k(r,""),k(c,""),k(a,!0),k(n,[...u(n),{role:"user",content:O}],!0),D=new AbortController,k(Ce,[],!0);try{await DR({messages:u(n),currentView:u(Ke),context:u(ci),modelOverride:u(f)||void 0,extraFiles:u(Y).length>0?u(Y):void 0},G=>{k(s,(u(s)??"")+G)},D.signal,G=>{k(Ce,[...u(Ce),G],!0)}),k(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(Ce).length>0?[...u(Ce)]:void 0}],!0),k(Ce,[],!0)}catch(G){if(G.name==="AbortError"){const xe=u(s);xe!=null&&xe.trim()&&k(n,[...u(n),{role:"assistant",content:xe+`
229
+
230
+ *[stopped]*`,toolEvents:u(Ce).length>0?[...u(Ce)]:void 0}],!0)}else k(c,G.message,!0)}finally{D=null,k(s,null),k(Ce,[],!0),k(a,!1)}}}function un(){D==null||D.abort()}function es(O){O.key==="Enter"&&!O.shiftKey&&(O.preventDefault(),hn())}function Ye(){k(n,[],!0),k(c,"")}const vt=["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 hi(O){k(r,O,!0),kt==null||kt.focus()}var Pi=Y9(),Mi=bt(Pi),tn=x(Mi),nn=C(x(tn),2);{var Xn=O=>{var G=p9(),xe=x(G);{var Me=Ne=>{var et=na();K(()=>$(et,`${u(h).provider??""} · ${(u(f)||u(h).model)??""}`)),T(Ne,et)},je=Ne=>{var et=na("Not configured");T(Ne,et)};U(xe,Ne=>{u(jt)?Ne(Me):Ne(je,-1)})}K(()=>vn(G,"title",`Provider: ${u(h).provider??""}`)),T(O,G)};U(nn,O=>{u(h)&&O(Xn)})}var Bn=C(nn,2);{var qn=O=>{var G=m9();Q("click",G,Ye),T(O,G)};U(Bn,O=>{u(n).length>0&&O(qn)})}var $n=C(tn,2),On=x($n);{var qe=O=>{var G=_9();T(O,G)},Z=O=>{var G=y9(),xe=x(G),Me=x(xe);{var je=ai=>{var _e=v9(),De=C(bt(_e)),st=x(De);K(()=>$(st,t().id)),T(ai,_e)},Ne=ai=>{var _e=na("No view selected. Ask a general sheDB view question.");T(ai,_e)};U(Me,ai=>{t()?ai(je):ai(Ne,-1)})}var et=C(xe,2);ui(et,17,()=>vt,Pn,(ai,_e)=>{var De=b9(),st=x(De);K(()=>$(st,u(_e))),Q("click",De,()=>hi(u(_e))),T(ai,De)}),T(O,G)};U(On,O=>{u(jt)?u(n).length===0&&u(s)===null&&O(Z,1):O(qe)})}var Ve=C(On,2);ui(Ve,17,()=>u(n),Pn,(O,G,xe)=>{var Me=k9(),je=x(Me);{var Ne=ai=>{var _e=w9(),De=x(_e);K(()=>$(De,u(G).content)),T(ai,_e)},et=ai=>{const _e=nt(()=>ve(u(G).content)),De=nt(()=>Rt(u(_e)));var st=L9(),ke=bt(st);{var tt=Re=>{var Ie=eE();ui(Ie,21,()=>u(G).toolEvents,Pn,(Pt,at)=>{var Pe=Us(),xt=bt(Pe);{var We=be=>{var ye=QD(),we=C(x(ye)),gt=x(we);K(ce=>$(gt,ce),[()=>u(at).name.replace(/_/g," ")]),T(be,ye)},pe=be=>{var ye=JD(),we=C(x(ye)),gt=x(we);K(ce=>$(gt,ce),[()=>u(at).name.replace(/_/g," ")]),T(be,ye)};U(xt,be=>{u(at).type==="tool_call"?be(We):be(pe,-1)})}T(Pt,Pe)}),T(Re,Ie)};U(ke,Re=>{var Ie;(Ie=u(G).toolEvents)!=null&&Ie.length&&Re(tt)})}var Ot=C(ke,2),z=x(Ot);ui(z,17,()=>u(_e),Pn,(Re,Ie,Pt)=>{var at=Us(),Pe=bt(at);{var xt=pe=>{var be=tE();ic(be,()=>Hi(u(Ie).text),!0),T(pe,be)},We=pe=>{const be=nt(()=>`${xe}:${Pt}`),ye=nt(()=>Mt(u(Ie).text)),we=nt(()=>u(p).has(u(be))),gt=nt(()=>u(Ie).lang==="filter");var ce=C9(),Fe=x(ce),lt=x(Fe),ot=x(lt),Be=C(lt,2),Ft=x(Be),zt=C(Fe,2);let gn;var zi=x(zt),Sn=x(zi);ic(Sn,()=>ki(u(Ie).text,u(Ie).lang??""),!0);var Yn=C(zi,2);{var wi=$t=>{var Xi=S9(),Wi=x(Xi);K(()=>$(Wi,u(we)?"▲ collapse":"▼ expand")),Q("click",Xi,()=>di(u(be))),T($t,Xi)};U(Yn,$t=>{u(ye)&&$t(wi)})}K(()=>{$(ot,u(gt)?"filter":u(Ie).lang),gn=qt(zt,1,"code-body svelte-1twuiul",null,gn,{collapsed:u(ye)&&!u(we)})}),Q("click",Ft,()=>yn(u(Ie).text)),T(pe,ce)};U(Pe,pe=>{u(Ie).type==="text"?pe(xt):pe(We,-1)})}T(Re,at)});var X=C(z,2);{var Le=Re=>{var Ie=x9(),Pt=x(Ie),at=x(Pt);K(Pe=>$(at,Pe),[()=>Yt(u(De))]),Q("click",Pt,()=>e.onApplyView(u(De))),T(Re,Ie)},Ae=nt(()=>ei(u(De))&&e.onApplyView);U(X,Re=>{u(Ae)&&Re(Le)})}T(ai,st)};U(je,ai=>{u(G).role==="user"?ai(Ne):ai(et,-1)})}K(()=>qt(Me,1,`message ${u(G).role??""}`,"svelte-1twuiul")),T(O,Me)});var mt=C(Ve,2);{var St=O=>{var G=eE();ui(G,21,()=>u(Ce),Pn,(xe,Me)=>{var je=Us(),Ne=bt(je);{var et=_e=>{var De=QD(),st=C(x(De)),ke=x(st);K(tt=>$(ke,tt),[()=>u(Me).name.replace(/_/g," ")]),T(_e,De)},ai=_e=>{var De=JD(),st=C(x(De)),ke=x(st);K(tt=>$(ke,tt),[()=>u(Me).name.replace(/_/g," ")]),T(_e,De)};U(Ne,_e=>{u(Me).type==="tool_call"?_e(et):_e(ai,-1)})}T(xe,je)}),T(O,G)};U(mt,O=>{u(Ce).length>0&&O(St)})}var Bt=C(mt,2);{var A=O=>{var G=I9(),xe=x(G),Me=x(xe),je=x(Me);K(()=>$(je,R[u(E)])),T(O,G)};U(Bt,O=>{u(a)&&u(s)===null&&u(Ce).length===0&&O(A)})}var ne=C(Bt,2);{var ge=O=>{var G=E9(),xe=x(G);ui(xe,21,()=>it(u(s)),Pn,(Me,je)=>{var Ne=Us(),et=bt(Ne);{var ai=De=>{var st=tE();ic(st,()=>Hi(u(je).text),!0),T(De,st)},_e=De=>{var st=D9(),ke=x(st),tt=x(ke),Ot=x(tt),z=C(ke,2),X=x(z);ic(X,()=>ki(u(je).text,u(je).lang??""),!0),K(()=>$(Ot,u(je).lang)),T(De,st)};U(et,De=>{u(je).type==="text"?De(ai):De(_e,-1)})}T(Me,Ne)}),T(O,G)};U(ne,O=>{u(s)!==null&&O(ge)})}Is($n,O=>ct=O,()=>ct);var Qe=C($n,2);{var dt=O=>{var G=P9(),xe=x(G);K(()=>$(xe,u(c))),T(O,G)};U(Qe,O=>{u(c)&&O(dt)})}var q=C(Qe,2),re=x(q),he=x(re),Je=C(re,2),ti=x(Je),_t=C(Je,2),Ee=x(_t),At=C(_t,2),ii=x(At),Ze=C(q,2),Nt=x(Ze);{var ni=O=>{var G=T9();let xe;var Me=C(x(G),2),je=x(Me),Ne=C(Me,2),et=x(Ne);K(()=>{xe=qt(G,1,"file-chip svelte-1twuiul",null,xe,{inactive:!u(ue)}),$(je,t().id),vn(Ne,"title",u(ue)?"Remove from context":"Re-add to context"),$(et,u(ue)?"×":"+")}),Q("click",Ne,()=>k(ue,!u(ue))),T(O,G)};U(Nt,O=>{t()&&O(ni)})}var te=C(Nt,2);ui(te,17,()=>u(Y),Pn,(O,G,xe)=>{const Me=nt(()=>Rn(u(G).name));var je=M9(),Ne=x(je),et=x(Ne),ai=C(Ne,2),_e=x(ai),De=C(ai,2);K((st,ke)=>{qt(Ne,1,`badge badge-${st??""}`,"svelte-1twuiul"),$(et,ke),$(_e,u(G).name)},[()=>u(Me).toLowerCase(),()=>Ei(u(Me))]),Q("click",De,()=>pn(xe)),T(O,je)});var fe=C(te,2),Ge=C(fe,2);Is(Ge,O=>Oe=O,()=>Oe);var rt=C(Ze,2);let Ct;var He=x(rt);let ht;var Vt=x(He);Is(Vt,O=>kt=O,()=>kt);var si=C(He,2);{var oi=O=>{var G=N9();Q("click",G,un),T(O,G)},Zi=O=>{var G=R9();K(xe=>G.disabled=xe,[()=>!u(r).trim()||!u(jt)]),Q("click",G,hn),T(O,G)};U(si,O=>{u(a)?O(oi):O(Zi,-1)})}var xi=C(rt,2);{var ri=O=>{var G=W9(),xe=x(G),Me=x(xe),je=C(xe,2);{var Ne=De=>{var st=O9();ui(st,21,()=>u(g),Pn,(ke,tt)=>{var Ot=A9(),z=x(Ot),X={};K(()=>{$(z,u(tt)),X!==(X=u(tt))&&(Ot.value=(Ot.__value=u(tt))??"")}),T(ke,Ot)}),K(()=>st.disabled=u(a)),Gr(st,()=>u(f),ke=>k(f,ke)),T(De,st)},et=De=>{var st=F9(),ke=x(st);K(()=>$(ke,u(f)||u(h).model)),T(De,st)};U(je,De=>{u(g).length>0?De(Ne):De(et,-1)})}var ai=C(je,2);{var _e=De=>{var st=H9();Q("click",st,Un),T(De,st)};U(ai,De=>{u(h).provider==="ollama"&&De(_e)})}K(()=>$(Me,u(h).provider)),T(O,G)};U(xi,O=>{u(jt)&&u(h)&&O(ri)})}var Zt=C(Mi,2);{var ji=O=>{var G=X9(),xe=x(G),Me=x(xe),je=x(Me),Ne=x(je),et=C(je,2),ai=C(Me,2),_e=x(ai);{var De=tt=>{var Ot=B9();T(tt,Ot)},st=tt=>{var Ot=z9(),z=x(Ot);K(()=>$(z,u(S))),T(tt,Ot)},ke=tt=>{var Ot=Z9(),z=x(Ot);{var X=pe=>{var be=V9(),ye=C(bt(be)),we=x(ye);K(()=>$(we,u(_).version)),T(pe,be)};U(z,pe=>{u(_).version&&pe(X)})}var Le=C(z,2);{var Ae=pe=>{var be=j9(),ye=C(bt(be)),we=x(ye);K(()=>$(we,u(_).details.family)),T(pe,be)};U(Le,pe=>{var be;(be=u(_).details)!=null&&be.family&&pe(Ae)})}var Re=C(Le,2);{var Ie=pe=>{var be=U9(),ye=C(bt(be)),we=x(ye);K(()=>$(we,u(_).details.parameter_size)),T(pe,be)};U(Re,pe=>{var be;(be=u(_).details)!=null&&be.parameter_size&&pe(Ie)})}var Pt=C(Re,2);{var at=pe=>{var be=$9(),ye=C(bt(be)),we=x(ye);K(()=>$(we,u(_).details.quantization_level)),T(pe,be)};U(Pt,pe=>{var be;(be=u(_).details)!=null&&be.quantization_level&&pe(at)})}var Pe=C(Pt,2);{var xt=pe=>{var be=K9(),ye=C(bt(be),2);ui(ye,21,()=>u(_).running,Pn,(we,gt)=>{var ce=q9(),Fe=x(ce);K(lt=>$(Fe,`${u(gt).name??""} · ${lt??""} VRAM`),[()=>wn(u(gt).size_vram)]),T(we,ce)}),T(pe,be)},We=pe=>{var be=G9();T(pe,be)};U(Pe,pe=>{u(_).running&&u(_).running.length>0?pe(xt):u(_).running!==null&&pe(We,1)})}T(tt,Ot)};U(_e,tt=>{u(w)?tt(De):u(S)?tt(st,1):u(_)&&tt(ke,2)})}K(()=>{var tt;return $(Ne,`Ollama · ${(u(f)||((tt=u(h))==null?void 0:tt.model))??""}`)}),Q("click",G,()=>k(v,!1)),Q("click",xe,tt=>tt.stopPropagation()),Q("click",et,()=>k(v,!1)),T(O,G)};U(Zt,O=>{u(v)&&O(ji)})}K(O=>{$(ii,O),Ct=qt(rt,1,"input-row svelte-1twuiul",null,Ct,{"drag-over":u(Te)}),ht=qt(He,1,"textarea-wrap svelte-1twuiul",null,ht,{loading:u(a)}),vn(Vt,"placeholder",u(jt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),Vt.disabled=u(a)||!u(jt)},[()=>wn(u(Jt))]),Vs(he,()=>u(V),O=>k(V,O)),Vs(ti,()=>u(H),O=>k(H,O)),Vs(Ee,()=>u(J),O=>k(J,O)),Q("click",fe,ln),Q("change",Ge,Wn),cs("dragover",rt,Qi),cs("dragleave",rt,An),cs("drop",rt,dn),Q("keydown",Vt,es),Ii(Vt,()=>u(r),O=>k(r,O)),T(o,Pi),Vo()}Er(["click","change","keydown"]);var J9=M('<div class="me svelte-1pxdb1"></div>');function lS(o,e){zo(e,!0);let t=vg(e,"value",15,""),i=vg(e,"language",3,"javascript"),n,s,r=!1;Pr(()=>{const c=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=ar.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())})}),Ny(()=>s==null?void 0:s.dispose()),Fn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=J9();Is(a,c=>n=c,()=>n),T(o,a),Vo()}var eZ=M('<!> <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),tZ=M('<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>'),iE=M('<div class="form-error svelte-rrt0o"> </div>'),iZ=M('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),nE=M("<li> </li>"),sE=M('<div class="error-bar svelte-rrt0o"> </div>'),oE=M('<div class="loading svelte-rrt0o">Loading…</div>'),nZ=M('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),sZ=M('<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),oZ=M('<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>'),rZ=M('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),aZ=M('<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>'),lZ=M('<span class="badge-error svelte-rrt0o">error</span>'),cZ=M('<span class="badge-ok svelte-rrt0o"> </span>'),dZ=M('<pre class="result-error svelte-rrt0o"> </pre>'),hZ=M('<pre class="result-json svelte-rrt0o"> </pre>'),uZ=M('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),gZ=M('<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>'),fZ=M('<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),pZ=M('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),mZ=M('<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>'),_Z=M('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function vZ(o,e){zo(e,!0);const t=qe=>{var Z=eZ(),Ve=bt(Z);Is(Kg(Ve,{}),mt=>Ei=mt,()=>Ei),T(qe,Z)};let i=W(fi([])),n=W(null),s=W("{}"),r=W(!1),a=W(null);const c="she-db-selected-view";let h=W(fi([])),g=W(fi(localStorage.getItem(c))),f=W("#"),p=W("// emit(this.someProperty)"),v=W(""),_=W(""),w=W(!1),S=W(!1),D=W(null),E=W(!1),R=W(null),V=W("she/db/view/");const H="she-db-panel";let J=W(fi(localStorage.getItem(H)??"docs")),Y=W(""),ue=W(!1),Te=W(null),Oe=W(""),Ce=W(!1),ft=W(null);const kt="she-db-sidebar-width";let ct=W(fi(parseInt(localStorage.getItem(kt)??"220",10))),ci=!1,jt=0,Jt=0;const Ke="she-db-chat-width",Gt="she-db-chat-open";let ve=W(localStorage.getItem(Gt)==="true"),it=W(fi(parseInt(localStorage.getItem(Ke)??"320",10))),Rt=!1,ei=0,Yt=0;const Ut=nt(()=>u(g)?{id:u(g),filter:u(f),map:u(p),reduce:u(v)}:null);function Mt(qe){qe.filter!==void 0&&k(f,qe.filter,!0),qe.map!==void 0&&k(p,qe.map,!0),qe.reduce!==void 0&&k(v,qe.reduce,!0)}Fn(()=>{localStorage.setItem(Gt,String(u(ve)))}),Fn(()=>{localStorage.setItem(H,u(J))}),Fn(()=>{u(g)?localStorage.setItem(c,u(g)):localStorage.removeItem(c)});function di(qe){ci=!0,jt=qe.clientX,Jt=u(ct),qe.preventDefault()}function ki(qe){ci&&k(ct,Math.max(140,Math.min(500,Jt+qe.clientX-jt)),!0),Rt&&k(it,Math.max(240,Math.min(600,Yt-(qe.clientX-ei))),!0)}function Hi(){ci&&(ci=!1,localStorage.setItem(kt,String(u(ct)))),Rt&&(Rt=!1,localStorage.setItem(Ke,String(u(it))))}function Bi(qe){Rt=!0,ei=qe.clientX,Yt=u(it),qe.preventDefault()}async function yn(){try{k(i,await wR(),!0)}catch{}}async function Un(){try{k(h,await SR(),!0)}catch{}}async function wn(qe){k(n,qe,!0),k(a,null),k(r,!0);try{const Z=await r7(qe);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 Rn(){if(u(n)){k(a,null);try{const qe=JSON.parse(u(s));await kD(u(n),qe)}catch(qe){k(a,qe instanceof Error?qe.message:String(qe),!0)}}}let Ei;async function pn(){if(u(n)&&await Ei.show(`Delete document "${u(n)}"?`,{confirm:"Delete",danger:!0}))try{await a7(u(n)),k(n,null),k(s,"{}")}catch(qe){k(a,qe instanceof Error?qe.message:String(qe),!0)}}async function ln(){const qe=u(Y).trim();if(qe){k(Te,null);try{await kD(qe,{}),k(ue,!1),k(Y,""),await wn(qe)}catch(Z){k(Te,Z instanceof Error?Z.message:String(Z),!0)}}}async function cn(qe){k(g,qe,!0),k(R,null),k(E,!0),k(D,null);try{const Z=await l7(qe);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 rS(qe).catch(()=>null),!0)}catch(Z){k(R,Z instanceof Error?Z.message:String(Z),!0)}finally{k(E,!1)}}async function Wn(){if(u(g)){k(R,null);try{const qe={map:u(p)};u(f).trim()&&(qe.filter=u(f).trim()),u(v).trim()&&(qe.reduce=u(v).trim()),u(_).trim()&&(qe.description=u(_).trim()),u(w)&&(qe.mqttpub=!0),u(S)&&(qe.retain=!0),await ID(u(g),qe)}catch(qe){k(R,qe instanceof Error?qe.message:String(qe),!0)}}}async function dn(){if(u(g))try{k(D,await rS(u(g)),!0)}catch(qe){k(R,qe instanceof Error?qe.message:String(qe),!0)}}async function Qi(){if(u(g)&&await Ei.show(`Delete view "${u(g)}"?`,{confirm:"Delete",danger:!0}))try{await c7(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(qe){k(R,qe instanceof Error?qe.message:String(qe),!0)}}async function An(){if(!u(Oe).trim())return;const qe=u(Oe).trim();k(ft,null);try{await ID(qe,{map:"// emit(this.someProperty)"}),k(Ce,!1),k(Oe,""),await Un(),await cn(qe)}catch(Z){k(ft,Z instanceof Error?Z.message:String(Z),!0)}}let hn=W(""),un=W(""),es=nt(()=>[...u(i)].filter(qe=>!u(hn)||qe.toLowerCase().includes(u(hn).toLowerCase())).sort()),Ye=nt(()=>[...u(h)].filter(qe=>!u(un)||qe.toLowerCase().includes(u(un).toLowerCase())).sort());Pr(()=>{yn(),Un().then(()=>{u(g)&&u(h).includes(u(g))?cn(u(g)):k(g,null)}),mL().then(St=>{const Bt=St.dbPrefix||"she/db/",A=Bt.endsWith("/")?Bt:Bt+"/";k(V,A+"view/")}).catch(()=>{});const qe=Aa("db:ids",St=>{k(i,St.ids??[],!0)}),Z=Aa("db:viewIds",St=>{k(h,St.ids??[],!0)}),Ve=Aa("db:change",async St=>{const Bt=St.id;u(n)===Bt&&(St.doc===null?(k(n,null),k(s,"{}")):k(s,JSON.stringify(St.doc,null,2),!0))}),mt=Aa("db:viewUpdate",async St=>{const Bt=St.id;u(g)===Bt&&k(D,await rS(Bt).catch(()=>null),!0)});return()=>{qe(),Z(),Ve(),mt()}});var vt=_Z(),hi=x(vt),Pi=x(hi);let Mi;var tn=C(Pi,2);let nn;var Xn=C(tn,2);{var Bn=qe=>{var Z=tZ();let Ve;K(()=>{Ve=qt(Z,1,"ai-toggle svelte-rrt0o",null,Ve,{"ai-open":u(ve)}),vn(Z,"title",u(ve)?"Close AI assistant":"Open AI assistant")}),Q("click",Z,()=>k(ve,!u(ve))),T(qe,Z)};U(Xn,qe=>{u(J)==="views"&&qe(Bn)})}var qn=C(hi,2);{var $n=qe=>{var Z=oZ(),Ve=x(Z);let mt;var St=x(Ve),Bt=x(St),A=C(St,2);{var ne=_t=>{var Ee=iZ(),At=bt(Ee),ii=x(At),Ze=C(ii,2),Nt=C(At,2);{var ni=te=>{var fe=iE(),Ge=x(fe);K(()=>$(Ge,u(Te))),T(te,fe)};U(Nt,te=>{u(Te)&&te(ni)})}Q("keydown",ii,te=>te.key==="Enter"&&ln()),Ii(ii,()=>u(Y),te=>k(Y,te)),Q("click",Ze,ln),T(_t,Ee)};U(A,_t=>{u(ue)&&_t(ne)})}var ge=C(A,2),Qe=x(ge),dt=C(ge,2);ui(dt,20,()=>u(es),_t=>_t,(_t,Ee)=>{var At=nE();let ii;var Ze=x(At);K(()=>{ii=qt(At,1,"flat-item svelte-rrt0o",null,ii,{"active-item":u(n)===Ee}),$(Ze,Ee)}),Q("click",At,()=>wn(Ee)),T(_t,At)});var q=C(Ve,2),re=C(q,2),he=x(re);{var Je=_t=>{var Ee=sZ(),At=bt(Ee),ii=x(At),Ze=x(ii),Nt=C(ii,2),ni=C(Nt,2),te=C(At,2);{var fe=He=>{var ht=sE(),Vt=x(ht);K(()=>$(Vt,u(a))),T(He,ht)};U(te,He=>{u(a)&&He(fe)})}var Ge=C(te,2);{var rt=He=>{var ht=oE();T(He,ht)},Ct=He=>{var ht=nZ(),Vt=x(ht);lS(Vt,{language:"json",get value(){return u(s)},set value(si){k(s,si,!0)}}),T(He,ht)};U(Ge,He=>{u(r)?He(rt):He(Ct,-1)})}K(()=>$(Ze,u(n))),Q("click",Nt,Rn),Q("click",ni,pn),T(_t,Ee)},ti=_t=>{t(_t)};U(he,_t=>{u(n)?_t(Je):_t(ti,-1)})}K(()=>mt=No(Ve,"",mt,{width:`${u(ct)??""}px`})),Q("click",Bt,()=>{k(ue,!u(ue)),k(Te,null)}),Ii(Qe,()=>u(hn),_t=>k(hn,_t)),Q("mousedown",q,di),T(qe,Z)},On=qe=>{var Z=mZ(),Ve=x(Z);let mt;var St=x(Ve),Bt=x(St),A=C(St,2);{var ne=At=>{var ii=rZ(),Ze=bt(ii),Nt=x(Ze),ni=C(Nt,2),te=C(Ze,2);{var fe=Ge=>{var rt=iE(),Ct=x(rt);K(()=>$(Ct,u(ft))),T(Ge,rt)};U(te,Ge=>{u(ft)&&Ge(fe)})}Q("keydown",Nt,Ge=>Ge.key==="Enter"&&An()),Ii(Nt,()=>u(Oe),Ge=>k(Oe,Ge)),Q("click",ni,An),T(At,ii)};U(A,At=>{u(Ce)&&At(ne)})}var ge=C(A,2),Qe=x(ge),dt=C(ge,2);ui(dt,20,()=>u(Ye),At=>At,(At,ii)=>{var Ze=nE();let Nt;var ni=x(Ze);K(()=>{Nt=qt(Ze,1,"flat-item svelte-rrt0o",null,Nt,{"active-item":u(g)===ii}),$(ni,ii)}),Q("click",Ze,()=>cn(ii)),T(At,Ze)});var q=C(Ve,2),re=C(q,2),he=x(re);{var Je=At=>{var ii=fZ(),Ze=bt(ii),Nt=x(Ze),ni=x(Nt),te=C(Nt,2),fe=C(te,2),Ge=C(fe,2),rt=C(Ze,2);{var Ct=si=>{var oi=sE(),Zi=x(oi);K(()=>$(Zi,u(R))),T(si,oi)};U(rt,si=>{u(R)&&si(Ct)})}var He=C(rt,2);{var ht=si=>{var oi=oE();T(si,oi)},Vt=si=>{var oi=gZ(),Zi=x(oi),xi=C(x(Zi),2),ri=x(xi),Zt=C(Zi,2),ji=C(x(Zt),2),O=x(ji),G=C(Zt,2),xe=C(x(G),2),Me=x(xe);lS(Me,{language:"javascript",get value(){return u(p)},set value(Ae){k(p,Ae,!0)}});var je=C(G,2),Ne=C(x(je),2),et=x(Ne);lS(et,{language:"javascript",get value(){return u(v)},set value(Ae){k(v,Ae,!0)}});var ai=C(je,2),_e=x(ai),De=x(_e),st=C(De,4),ke=C(x(st)),tt=x(ke),Ot=C(_e,2);{var z=Ae=>{var Re=aZ(),Ie=x(Re);Vs(Ie,()=>u(S),Pt=>k(S,Pt)),T(Ae,Re)};U(Ot,Ae=>{u(w)&&Ae(z)})}var X=C(ai,2);{var Le=Ae=>{var Re=uZ(),Ie=x(Re),Pt=C(x(Ie));{var at=be=>{var ye=lZ();T(be,ye)},Pe=be=>{var ye=cZ(),we=x(ye);K(()=>$(we,`${u(D).length??0??""} items · rev ${u(D)._rev??""}`)),T(be,ye)};U(Pt,be=>{u(D).error?be(at):be(Pe,-1)})}var xt=C(Ie,2);{var We=be=>{var ye=dZ(),we=x(ye);K(()=>$(we,u(D).error)),T(be,ye)},pe=be=>{var ye=hZ(),we=x(ye);K(gt=>$(we,gt),[()=>JSON.stringify(u(D).result,null,2)]),T(be,ye)};U(xt,be=>{u(D).error?be(We):be(pe,-1)})}T(Ae,Re)};U(X,Ae=>{u(D)&&Ae(Le)})}K(()=>$(tt,`${u(V)??""}${u(g)??""} on every update`)),Ii(ri,()=>u(_),Ae=>k(_,Ae)),Ii(O,()=>u(f),Ae=>k(f,Ae)),Vs(De,()=>u(w),Ae=>k(w,Ae)),T(si,oi)};U(He,si=>{u(E)?si(ht):si(Vt,-1)})}K(()=>$(ni,u(g))),Q("click",te,Wn),Q("click",fe,dn),Q("click",Ge,Qi),T(At,ii)},ti=At=>{t(At)};U(he,At=>{u(g)?At(Je):At(ti,-1)})}var _t=C(re,2);{var Ee=At=>{var ii=pZ(),Ze=bt(ii),Nt=C(Ze,2);let ni;var te=x(Nt);Q9(te,{get currentView(){return u(Ut)},onApplyView:Mt}),K(()=>ni=No(Nt,"",ni,{width:`${u(it)??""}px`})),Q("mousedown",Ze,Bi),T(At,ii)};U(_t,At=>{u(ve)&&At(Ee)})}K(()=>mt=No(Ve,"",mt,{width:`${u(ct)??""}px`})),Q("click",Bt,()=>{k(Ce,!u(Ce)),k(ft,null)}),Ii(Qe,()=>u(un),At=>k(un,At)),Q("mousedown",q,di),T(qe,Z)};U(qn,qe=>{u(J)==="docs"?qe($n):qe(On,-1)})}K(()=>{Mi=qt(Pi,1,"svelte-rrt0o",null,Mi,{active:u(J)==="docs"}),nn=qt(tn,1,"svelte-rrt0o",null,nn,{active:u(J)==="views"})}),Q("mousemove",vt,ki),Q("mouseup",vt,Hi),cs("mouseleave",vt,Hi),Q("click",Pi,()=>k(J,"docs")),Q("click",tn,()=>k(J,"views")),T(o,vt),Vo()}Er(["mousemove","mouseup","click","keydown","mousedown"]);var bZ=M('<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),yZ=M('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),rE=M('<p class="err svelte-1ua3isv"> </p>'),wZ=M('<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>'),SZ=M('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),CZ=M('<span class="device-name svelte-1ua3isv"> </span>'),xZ=M('<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>'),LZ=M('<li class="empty svelte-1ua3isv">No paired devices</li>'),kZ=M('<p class="info svelte-1ua3isv">Loading…</p>'),IZ=M('<p class="device-subtitle svelte-1ua3isv"> </p>'),DZ=M('<span class="ep-chip svelte-1ua3isv"> </span>'),EZ=M('<span class="attr-id svelte-1ua3isv"> </span>'),PZ=M('<button class="attr-action-btn svelte-1ua3isv"> </button>'),TZ=M('<div class="attr-actions svelte-1ua3isv"></div>'),MZ=M('<span class="cmd-sep svelte-1ua3isv">,</span>'),NZ=M('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),RZ=M('<span class="cmd-id svelte-1ua3isv"> </span>'),AZ=M("<!> <!>",1),OZ=M('<span class="cmd-list svelte-1ua3isv"></span>'),FZ=M(' <span class="cmd-id svelte-1ua3isv"> </span>',1),HZ=M('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),WZ=M('<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>'),BZ=M('<th class="svelte-1ua3isv"> </th>'),zZ=M('<td class="svelte-1ua3isv"> </td>'),VZ=M('<tr class="svelte-1ua3isv"></tr>'),jZ=M('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),UZ=M('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),$Z=M('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),qZ=M('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),KZ=M('<span class="attr-val svelte-1ua3isv"> </span>'),GZ=M('<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>'),ZZ=M('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),XZ=M('<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>'),YZ=M('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),QZ=M('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),JZ=M('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),eX=M('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),tX=M('<span class="stream-badge svelte-1ua3isv"> </span>'),iX=M('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),cS=M('&nbsp;<span class="e-sub svelte-1ua3isv"> </span>',1),nX=M('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),sX=M('<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),oX=M('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),rX=M('<div class="stream-body svelte-1ua3isv"><!></div>'),aX=M('<!> <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 lX(o,e){zo(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,Ve,mt,St,Bt){try{await S7(Z,Ve,mt,St,Bt)}catch(A){console.error("matter command failed",A)}}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,Ve){const mt=n[Z];return Ve.map(St=>{const Bt=typeof St=="number"?St:Number(St);return{id:Bt,name:(mt==null?void 0:mt[Bt])??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=W(fi([])),f=fi(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 Ve=JSON.stringify(Z);return Ve.length>60?Ve.slice(0,57)+"…":Ve}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,Ve){return!!(Ve==="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 E=500,R=20,V=32;let H=0,J=W(fi([])),Y=W(!0),ue=W(180),Te=nt(()=>{const Z=Math.max(1,Math.floor((u(ue)-V)/R)+1);return u(J).slice(0,Z)});function Oe(Z){Z.preventDefault();const Ve=Z.clientY,mt=u(ue);function St(A){k(ue,Math.max(60,Math.min(600,mt+Ve-A.clientY)),!0)}function Bt(){document.removeEventListener("mousemove",St),document.removeEventListener("mouseup",Bt)}document.addEventListener("mousemove",St),document.addEventListener("mouseup",Bt)}let Ce=W(null),ft=W(!1),kt=W(null),ct=W(!1),ci=W("passcode"),jt=W(""),Jt=W(""),Ke=W(""),Gt=W(!1),ve=W(null),it=W("");const Rt="she:matter:selectedNodeId";async function ei(){try{k(g,await CR(),!0);for(const Z of u(g))U_(Z.nodeId).then(Ve=>{f.set(Z.nodeId,Ve)}).catch(()=>{});if(u(g).length>0&&!u(Ce)){const Z=localStorage.getItem(Rt),Ve=Z&&u(g).find(mt=>mt.nodeId===Z)?Z:u(g)[0].nodeId;Yt(Ve)}}catch{k(g,[],!0)}}async function Yt(Z){k(ft,!0),k(kt,null);try{k(Ce,await U_(Z),!0),f.set(Z,u(Ce)),localStorage.setItem(Rt,Z)}catch(Ve){k(kt,Ve instanceof Error?Ve.message:String(Ve),!0)}finally{k(ft,!1)}}let Ut;async function Mt(Z){var Ve;if(await Ut.show(`Unpair device ${Z}?`,{confirm:"Unpair",danger:!0}))try{await w7(Z),((Ve=u(Ce))==null?void 0:Ve.nodeId)===Z&&k(Ce,null),await ei()}catch(mt){k(kt,mt instanceof Error?mt.message:String(mt),!0)}}async function di(){k(Gt,!0),k(ve,null);try{let Z;u(ci)==="passcode"?(Z={passcode:Number(u(jt))},u(Jt)&&(Z={...Z,discriminator:Number(u(Jt))})):Z={pairingCode:u(Ke).trim()},u(it).trim()&&(Z={...Z,discoveryAddress:u(it).trim()}),await y7(Z),k(ct,!1),k(jt,""),k(Jt,""),k(Ke,""),k(it,""),await ei()}catch(Z){k(ve,Z instanceof Error?Z.message:String(Z),!0)}finally{k(Gt,!1)}}Pr(()=>{ei()});const ki=Aa("matter:deviceList",Z=>{if(!Array.isArray(Z.devices))return;const Ve=Z.devices;for(const mt of Ve)f.has(mt.nodeId)||U_(mt.nodeId).then(St=>{f.set(mt.nodeId,St)}).catch(()=>{});k(g,Ve,!0)}),Hi=Aa("matter:deviceStatus",Z=>{if(Z.nodeId===void 0)return;const Ve=String(Z.nodeId),mt=!!Z.online;k(g,u(g).map(St=>St.nodeId===Ve?{...St,online:mt}:St),!0),k(J,[{id:H++,kind:"status",nodeId:Ve,online:mt,ts:Date.now()},...u(J).slice(0,E-1)],!0)}),Bi=Aa("matter:attr",Z=>{const Ve=String(Z.nodeId),mt=Z.endpointId,St=String(Z.clusterName),Bt=String(Z.attrName),A=Z.value;if(u(Ce)&&u(Ce).nodeId===Ve){const ge=u(Ce).endpoints.find(dt=>dt.endpointId===mt),Qe=ge==null?void 0:ge.clusters.find(dt=>dt.name===St);Qe&&(Qe.attrs[Bt]=A)}const ne=f.get(Ve);if(ne){const ge=ne.endpoints.find(dt=>dt.endpointId===mt),Qe=ge==null?void 0:ge.clusters.find(dt=>dt.name===St);Qe&&(Qe.attrs[Bt]=A)}k(J,[{id:H++,kind:"attr",nodeId:Ve,endpointId:mt,clusterName:St,attrName:Bt,value:A,ts:Z.ts??Date.now()},...u(J).slice(0,E-1)],!0)});Ny(()=>{ki(),Hi(),Bi()});var yn=aX(),Un=bt(yn);Is(Kg(Un,{}),Z=>Ut=Z,()=>Ut);var wn=C(Un,2),Rn=x(wn),Ei=x(Rn),pn=x(Ei),ln=C(x(pn),2),cn=C(pn,2);{var Wn=Z=>{var Ve=wZ(),mt=x(Ve),St=x(mt);let Bt;var A=C(St,2);let ne;var ge=C(mt,2);{var Qe=Ee=>{var At=bZ(),ii=bt(At),Ze=C(x(ii)),Nt=C(ii,2),ni=C(x(Nt));Ii(Ze,()=>u(jt),te=>k(jt,te)),Ii(ni,()=>u(Jt),te=>k(Jt,te)),T(Ee,At)},dt=Ee=>{var At=yZ(),ii=C(x(At));Ii(ii,()=>u(Ke),Ze=>k(Ke,Ze)),T(Ee,At)};U(ge,Ee=>{u(ci)==="passcode"?Ee(Qe):Ee(dt,-1)})}var q=C(ge,2),re=C(x(q)),he=C(q,2);{var Je=Ee=>{var At=rE(),ii=x(At);K(()=>$(ii,u(ve))),T(Ee,At)};U(he,Ee=>{u(ve)&&Ee(Je)})}var ti=C(he,2),_t=x(ti);K(()=>{Bt=qt(St,1,"svelte-1ua3isv",null,Bt,{active:u(ci)==="passcode"}),ne=qt(A,1,"svelte-1ua3isv",null,ne,{active:u(ci)==="pairingCode"}),ti.disabled=u(Gt),$(_t,u(Gt)?"Commissioning…":"Commission")}),Q("click",St,()=>k(ci,"passcode")),Q("click",A,()=>k(ci,"pairingCode")),Ii(re,()=>u(it),Ee=>k(it,Ee)),Q("click",ti,di),T(Z,Ve)};U(cn,Z=>{u(ct)&&Z(Wn)})}var dn=C(cn,2),Qi=x(dn);ui(Qi,17,()=>u(g),Z=>Z.nodeId,(Z,Ve)=>{var mt=xZ();let St;var Bt=x(mt),A=x(Bt);let ne;var ge=C(A,2),Qe=x(ge);{var dt=he=>{var Je=SZ(),ti=bt(Je),_t=x(ti),Ee=C(ti,2),At=x(Ee);K(()=>{$(_t,u(Ve).name),$(At,`#${u(Ve).nodeId??""}`)}),T(he,Je)},q=he=>{var Je=CZ(),ti=x(Je);K(()=>$(ti,`Node ${u(Ve).nodeId??""}`)),T(he,Je)};U(Qe,he=>{u(Ve).name?he(dt):he(q,-1)})}var re=C(Bt,2);K(()=>{var he;St=qt(mt,1,"svelte-1ua3isv",null,St,{selected:((he=u(Ce))==null?void 0:he.nodeId)===u(Ve).nodeId}),ne=qt(A,1,"status-dot svelte-1ua3isv",null,ne,{online:u(Ve).online})}),Q("click",Bt,()=>Yt(u(Ve).nodeId)),Q("click",re,()=>Mt(u(Ve).nodeId)),T(Z,mt)});var An=C(Qi,2);{var hn=Z=>{var Ve=LZ();T(Z,Ve)};U(An,Z=>{u(g).length===0&&Z(hn)})}var un=C(Ei,2),es=x(un);{var Ye=Z=>{var Ve=kZ();T(Z,Ve)},vt=Z=>{var Ve=rE(),mt=x(Ve);K(()=>$(mt,u(kt))),T(Z,Ve)},hi=Z=>{var Ve=JZ(),mt=bt(Ve),St=x(mt),Bt=x(St),A=C(St,2);{var ne=q=>{var re=IZ(),he=x(re);K(()=>$(he,u(Ce).subtitle)),T(q,re)};U(A,q=>{u(Ce).subtitle&&q(ne)})}var ge=C(A,2),Qe=x(ge),dt=C(mt,2);ui(dt,17,()=>u(Ce).endpoints,q=>q.endpointId,(q,re)=>{var he=QZ(),Je=x(he),ti=x(Je),_t=C(ti),Ee=x(_t),At=C(_t,2);ui(At,21,()=>u(re).clusters,Pn,(ni,te)=>{var fe=DZ(),Ge=x(fe);K(()=>$(Ge,u(te).name)),T(ni,fe)});var ii=C(Je,2);{var Ze=ni=>{var te=XZ(),fe=C(x(te));ui(fe,21,()=>u(re).clusters,Pn,(Ge,rt)=>{var Ct=ZZ(),He=bt(Ct),ht=x(He),Vt=x(ht),si=C(He,2);ui(si,17,()=>Object.entries(u(rt).attrs),Pn,(oi,Zi)=>{var xi=nt(()=>Lk(u(Zi),2));let ri=()=>u(xi)[0],Zt=()=>u(xi)[1];var ji=Us(),O=bt(ji);{var G=Me=>{const je=nt(()=>{var ye;return(ye=t[u(rt).name])==null?void 0:ye[ri()]}),Ne=nt(()=>(ri()==="acceptedCommandList"||ri()==="generatedCommandList")&&Array.isArray(Zt())),et=nt(()=>{var ye;return((ye=c[u(rt).name])==null?void 0:ye[ri()])??a[ri()]});var ai=GZ(),_e=x(ai),De=x(_e),st=x(De),ke=C(De);{var tt=ye=>{var we=EZ(),gt=x(we);K(ce=>$(gt,`(${ce??""})`),[()=>h(u(et))]),T(ye,we)};U(ke,ye=>{u(et)!==void 0&&ye(tt)})}var Ot=C(_e),z=x(Ot);{var X=ye=>{var we=TZ();ui(we,21,()=>u(je),Pn,(gt,ce)=>{var Fe=PZ(),lt=x(Fe);K(()=>$(lt,u(ce).label)),Q("click",Fe,()=>i(u(Ce).nodeId,u(re).endpointId,u(rt).name,u(ce).command,u(ce).args)),T(gt,Fe)}),T(ye,we)};U(z,ye=>{u(je)&&ye(X)})}var Le=C(Ot),Ae=x(Le);{var Re=ye=>{var we=OZ();ui(we,21,()=>s(u(rt).name,Zt()),Pn,(gt,ce,Fe)=>{var lt=AZ(),ot=bt(lt);{var Be=zi=>{var Sn=MZ();T(zi,Sn)};U(ot,zi=>{Fe>0&&zi(Be)})}var Ft=C(ot,2);{var zt=zi=>{var Sn=NZ(),Yn=bt(Sn),wi=x(Yn),$t=C(Yn),Xi=x($t);K(()=>{$(wi,u(ce).name),$(Xi,`(${u(ce).id??""})`)}),T(zi,Sn)},gn=zi=>{var Sn=RZ(),Yn=x(Sn);K(()=>$(Yn,u(ce).id)),T(zi,Sn)};U(Ft,zi=>{u(ce).name?zi(zt):zi(gn,-1)})}T(gt,lt)}),T(ye,we)},Ie=ye=>{var we=WZ(),gt=C(x(we));ui(gt,21,Zt,Pn,(ce,Fe)=>{const lt=nt(()=>u(Fe)),ot=nt(()=>u(lt).deviceType),Be=nt(()=>r[u(ot)]);var Ft=HZ(),zt=x(Ft),gn=x(zt);{var zi=$t=>{var Xi=FZ(),Wi=bt(Xi),rs=C(Wi),oo=x(rs);K(jo=>{$(Wi,`${u(Be)??""} `),$(oo,`(${jo??""})`)},[()=>h(u(ot))]),T($t,Xi)},Sn=$t=>{var Xi=na();K(Wi=>$(Xi,Wi),[()=>h(u(ot))]),T($t,Xi)};U(gn,$t=>{u(Be)?$t(zi):$t(Sn,-1)})}var Yn=C(zt),wi=x(Yn);K($t=>$(wi,$t),[()=>v(u(lt).revision)]),T(ce,Ft)}),T(ye,we)},Pt=nt(()=>ri()==="deviceTypeList"&&Array.isArray(Zt())),at=ye=>{const we=nt(()=>[...new Set(Zt().flatMap(ot=>Object.keys(ot)))]);var gt=jZ(),ce=x(gt),Fe=x(ce);ui(Fe,21,()=>u(we),Pn,(ot,Be)=>{var Ft=BZ(),zt=x(Ft);K(()=>$(zt,u(Be))),T(ot,Ft)});var lt=C(ce);ui(lt,21,Zt,Pn,(ot,Be)=>{var Ft=VZ();ui(Ft,21,()=>u(we),Pn,(zt,gn)=>{var zi=zZ(),Sn=x(zi);K(Yn=>$(Sn,Yn),[()=>v(u(Be)[u(gn)])]),T(zt,zi)}),T(ot,Ft)}),T(ye,gt)},Pe=nt(()=>w(Zt())),xt=ye=>{var we=$Z(),gt=x(we);ui(gt,21,()=>Object.entries(Zt()),Pn,(ce,Fe)=>{var lt=nt(()=>Lk(u(Fe),2));let ot=()=>u(lt)[0],Be=()=>u(lt)[1];var Ft=UZ(),zt=x(Ft),gn=x(zt),zi=C(zt),Sn=x(zi);K(Yn=>{$(gn,ot()),$(Sn,Yn)},[()=>v(Be())]),T(ce,Ft)}),T(ye,we)},We=nt(()=>_(Zt())),pe=ye=>{var we=qZ(),gt=x(we);K(()=>{vn(we,"href",Zt()),$(gt,Zt())}),T(ye,we)},be=ye=>{var we=KZ(),gt=x(we);K(ce=>$(gt,ce),[()=>v(Zt())]),T(ye,we)};U(Ae,ye=>{u(Ne)?ye(Re):u(Pt)?ye(Ie,1):u(Pe)?ye(at,2):u(We)?ye(xt,3):(ri()==="productUrl"||ri()==="productURL")&&typeof Zt()=="string"?ye(pe,4):ye(be,-1)})}K(()=>{vn(_e,"title",ri()),$(st,ri())}),T(Me,ai)},xe=nt(()=>!S(Zt(),ri()));U(O,Me=>{u(xe)&&Me(G)})}T(oi,ji)}),K(()=>$(Vt,u(rt).name)),T(Ge,Ct)}),T(ni,te)},Nt=ni=>{var te=YZ();T(ni,te)};U(ii,ni=>{u(re).clusters.length>0?ni(Ze):ni(Nt,-1)})}K(()=>{$(ti,`${u(re).name??`Endpoint ${u(re).endpointId}`??""} `),$(Ee,`ep${u(re).endpointId??""}`)}),T(q,he)}),K(()=>{$(Bt,u(Ce).name??`Node ${u(Ce).nodeId}`),$(Qe,`Node ID: ${u(Ce).nodeId??""}`)}),T(Z,Ve)},Pi=Z=>{var Ve=eX();T(Z,Ve)};U(es,Z=>{u(ft)?Z(Ye):u(kt)?Z(vt,1):u(Ce)?Z(hi,2):Z(Pi,-1)})}var Mi=C(Rn,2),tn=x(Mi),nn=C(tn,2),Xn=C(x(nn),2);{var Bn=Z=>{var Ve=tX(),mt=x(Ve);K(()=>$(mt,u(J).length)),T(Z,Ve)};U(Xn,Z=>{!u(Y)&&u(J).length>0&&Z(Bn)})}var qn=C(Xn,2),$n=x(qn),On=C(nn,2);{var qe=Z=>{var Ve=rX(),mt=x(Ve);{var St=A=>{var ne=iX();T(A,ne)},Bt=A=>{var ne=Us(),ge=bt(ne);ui(ge,17,()=>u(Te),Qe=>Qe.id,(Qe,dt)=>{const q=nt(()=>{var Ze,Nt;return((Ze=f.get(u(dt).nodeId))==null?void 0:Ze.name)??((Nt=u(g).find(ni=>ni.nodeId===u(dt).nodeId))==null?void 0:Nt.name)??null}),re=nt(()=>{var Ze,Nt;return u(dt).endpointId!==void 0?((Nt=(Ze=f.get(u(dt).nodeId))==null?void 0:Ze.endpoints.find(ni=>ni.endpointId===u(dt).endpointId))==null?void 0:Nt.name)??null:null}),he=nt(()=>u(dt).attrName??u(dt).clusterName);var Je=oX(),ti=x(Je),_t=x(ti),Ee=C(ti,2);{var At=Ze=>{var Nt=nX(),ni=C(bt(Nt),2),te=x(ni),fe=C(te);{var Ge=ht=>{var Vt=cS(),si=C(bt(Vt)),oi=x(si);K(()=>$(oi,`(#${u(dt).nodeId??""})`)),T(ht,Vt)};U(fe,ht=>{u(q)&&ht(Ge)})}var rt=C(ni,2);let Ct;var He=x(rt);K(()=>{$(te,u(q)??`#${u(dt).nodeId}`),Ct=qt(rt,1,"e-val svelte-1ua3isv",null,Ct,{"e-online":u(dt).online,"e-offline":!u(dt).online}),$(He,u(dt).online?"online":"offline")}),T(Ze,Nt)},ii=Ze=>{var Nt=sX(),ni=C(bt(Nt),2),te=x(ni),fe=C(te);{var Ge=Zt=>{var ji=cS(),O=C(bt(ji)),G=x(O);K(()=>$(G,`(#${u(dt).nodeId??""})`)),T(Zt,ji)};U(fe,Zt=>{u(q)&&Zt(Ge)})}var rt=C(ni,2),Ct=x(rt),He=C(Ct);{var ht=Zt=>{var ji=cS(),O=C(bt(ji)),G=x(O);K(()=>$(G,`(ep ${u(dt).endpointId??""})`)),T(Zt,ji)};U(He,Zt=>{u(re)&&Zt(ht)})}var Vt=C(rt,2),si=x(Vt),oi=C(Vt,2),Zi=x(oi),xi=C(oi,2),ri=x(xi);K(Zt=>{$(te,u(q)??`#${u(dt).nodeId}`),$(Ct,u(re)??`ep${u(dt).endpointId}`),$(si,u(dt).clusterName),$(Zi,u(he)),$(ri,Zt)},[()=>p(u(dt).value)]),T(Ze,Nt)};U(Ee,Ze=>{u(dt).kind==="status"?Ze(At):Ze(ii,-1)})}K(Ze=>$(_t,Ze),[()=>D(u(dt).ts)]),T(Qe,Je)}),T(A,ne)};U(mt,A=>{u(Te).length===0?A(St):A(Bt,-1)})}T(Z,Ve)};U(On,Z=>{u(Y)&&Z(qe)})}K(()=>{No(Mi,u(Y)?`height: ${u(ue)}px;`:""),$($n,u(Y)?"▾":"▸")}),Q("click",ln,()=>k(ct,!u(ct))),Q("mousedown",tn,Oe),Q("click",qn,()=>{k(Y,!u(Y))}),T(o,yn),Vo()}Er(["click","mousedown"]);var cX=M("<button>›</button>"),dX=M('<span class="chev-ph svelte-1vejtrc"></span>'),hX=M('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),uX=M('<div class="tc svelte-1vejtrc"></div>'),gX=M('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!></div> <!></div>'),fX=M("<option></option>"),pX=M('<span class="pub-ok svelte-1vejtrc">✓</span>'),mX=M('<span class="pub-err svelte-1vejtrc"> </span>'),_X=M('<div class="info svelte-1vejtrc">Loading…</div>'),vX=M('<div class="info err svelte-1vejtrc"> </div>'),bX=M('<div class="info svelte-1vejtrc">No topics match.</div>'),yX=M('<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>'),wX=M('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),SX=M('<div class="info svelte-1vejtrc">No topics yet.</div>'),CX=M('<div class="tree-wrap svelte-1vejtrc"><!></div>'),xX=M('<span class="stream-badge"> </span>'),LX=M('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),kX=M('<span class="s-ret svelte-1vejtrc" title="retained snapshot">&#x229B;</span>'),IX=M('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),DX=M('<div class="stream-body svelte-1vejtrc"><!></div>'),EX=M('<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),PX=M('<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>'),TX=M('<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),MX=M('<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 NX(o,e){zo(e,!0);const t=(te,fe=Dy)=>{const Ge=nt(()=>u(f).has(fe().path)),rt=nt(()=>u(a)>=0&&fe().children.size>0),Ct=nt(()=>u(a)>=0&&fe().isLeaf&&!n.has(fe().path));var He=gX(),ht=x(He);let Vt;var si=x(ht);{var oi=Me=>{var je=cX();let Ne;K(()=>{Ne=qt(je,1,"chev svelte-1vejtrc",null,Ne,{open:u(Ge)}),vn(je,"aria-label",u(Ge)?"Collapse":"Expand")}),Q("click",je,()=>p(fe().path)),T(Me,je)},Zi=Me=>{var je=dX();T(Me,je)};U(si,Me=>{u(rt)?Me(oi):Me(Zi,-1)})}var xi=C(si,2),ri=x(xi),Zt=C(xi,2);{var ji=Me=>{var je=hX(),Ne=bt(je),et=x(Ne),ai=C(Ne,2),_e=x(ai);K((De,st,ke)=>{vn(Ne,"title",De),$(et,st),$(_e,ke)},[()=>{var De;return wn((De=pn(fe().path))==null?void 0:De.val)},()=>{var De;return wn((De=pn(fe().path))==null?void 0:De.val)},()=>{var De;return((De=pn(fe().path))==null?void 0:De.ts)!=null?Rn(pn(fe().path).ts):""}]),T(Me,je)},O=nt(()=>fe().isLeaf&&i.has(fe().path));U(Zt,Me=>{u(O)&&Me(ji)})}var G=C(ht,2);{var xe=Me=>{var je=uX();ui(je,21,()=>[...fe().children.values()].sort((Ne,et)=>Ne.seg.localeCompare(et.seg)),Ne=>Ne.path,(Ne,et)=>{t(Ne,()=>u(et))}),T(Me,je)};U(G,Me=>{u(rt)&&u(Ge)&&Me(xe)})}K(()=>{Vt=qt(ht,1,"tr svelte-1vejtrc",null,Vt,{stale:u(Ct)}),$(ri,fe().seg)}),Q("click",ht,()=>{k(ft,fe().path+"/#")}),Q("contextmenu",ht,Me=>{Me.preventDefault(),k(it,{x:Me.clientX,y:Me.clientY,topic:fe().path},!0)}),T(te,He)},i=new Map,n=new Set,s=new Set;let r=null,a=W(0);function c(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const te of s)g(te);s.clear(),Dk(a)}))}const h=new Map;function g(te){const fe=te.split("/");let Ge=h,rt="";for(let Ct=0;Ct<fe.length;Ct++){const He=fe[Ct];rt=Ct===0?He:`${rt}/${He}`,Ge.has(He)||Ge.set(He,{seg:He,path:rt,children:new Map,isLeaf:!1});const ht=Ge.get(He);Ct===fe.length-1&&(ht.isLeaf=!0),Ge=ht.children}}let f=W(fi(new Set));function p(te){const fe=new Set(u(f));fe.has(te)?fe.delete(te):fe.add(te),k(f,fe,!0)}let v=W("");const _=24,w=5;let S=W(0),D=W(300),E=nt(()=>{if(u(a),!u(v))return[];const te=u(v).toLowerCase().split(/\s+/).filter(Boolean),fe=[];for(const[Ge,rt]of i){const Ct=Ge.toLowerCase();te.every(He=>Ct.includes(He))&&fe.push({topic:Ge,...rt})}return fe.sort((Ge,rt)=>Ge.topic.localeCompare(rt.topic))}),R=nt(()=>{const te=u(E).length,fe=Math.max(0,Math.floor(u(S)/_)-w),Ge=Math.min(te,Math.ceil((u(S)+u(D))/_)+w);return{start:fe,end:Ge,totalH:te*_,top:fe*_}});const V=1e3,H=200,J=20,Y=36;let ue=0,Te=W(fi([])),Oe=W(fi([])),Ce=W(!0),ft=W("#"),kt=W(200);Fn(()=>{const te=u(ft).trim(),fe=Nl(()=>u(Te)),Ge=!te||te==="#"?fe.slice(0,H):fe.filter(rt=>ct(te,rt.topic)).slice(0,H);if(te&&te!=="#"){const rt=new Set(Ge.map(He=>He.topic)),Ct=[];for(const[He,ht]of i)rt.has(He)||ct(te,He)&&Ct.push({id:-(Ct.length+1),topic:He,val:ht.val,ts:ht.ts,retained:!0});Ct.sort((He,ht)=>He.topic.localeCompare(ht.topic)),k(Oe,[...Ge,...Ct],!0)}else k(Oe,Ge,!0)});function ct(te,fe){if(te==="#")return!0;const Ge=te.split("/"),rt=fe.split("/");for(let Ct=0;Ct<Ge.length;Ct++){if(Ge[Ct]==="#")return!0;if(Ct>=rt.length||Ge[Ct]!=="+"&&Ge[Ct]!==rt[Ct])return!1}return Ge.length===rt.length}function ci(te){te.preventDefault();const fe=te.clientY,Ge=u(kt);function rt(He){k(kt,Math.max(60,Math.min(800,Ge+fe-He.clientY)),!0)}function Ct(){document.removeEventListener("mousemove",rt),document.removeEventListener("mouseup",Ct)}document.addEventListener("mousemove",rt),document.addEventListener("mouseup",Ct)}let jt=nt(()=>{const te=Math.max(1,Math.floor((u(kt)-Y)/J)+1);return u(Oe).slice(0,te)}),Jt=W(!0),Ke=W(null);async function Gt(){k(Jt,!0),k(Ke,null);try{const te=await xR();for(const fe of te)i.set(fe.topic,{val:fe.val,ts:fe.ts}),g(fe.topic)}catch(te){k(Ke,te instanceof Error?te.message:String(te),!0)}finally{k(Jt,!1),Dk(a)}}const ve=Aa("mqtt",te=>{const{topic:fe,val:Ge,ts:rt}=te;i.set(fe,{val:Ge,ts:rt}),n.add(fe),s.add(fe),c();const Ct={id:ue++,topic:fe,val:Ge,ts:rt};k(Te,[Ct,...u(Te).slice(0,V-1)],!0);const He=u(ft).trim();(!He||He==="#"||ct(He,fe))&&k(Oe,[Ct,...u(Oe).filter(ht=>!(ht.retained&&ht.topic===fe)).slice(0,H-1)],!0)});let it=W(null),Rt=W(null);async function ei(te,fe){const Ge=[te];if(fe){const rt=te+"/";for(const Ct of i.keys())Ct.startsWith(rt)&&Ge.push(Ct)}for(const rt of Ge)await ED(rt,"",!0,0)}let Yt=nt(()=>(u(a),[...i.keys()].sort())),Ut=W(""),Mt=W(""),di=W(!1),ki=W(0),Hi=W(!1),Bi=W(null),yn=W(!1);async function Un(){if(u(Ut)){k(Hi,!0),k(Bi,null),k(yn,!1);try{await ED(u(Ut),u(Mt),u(di),u(ki)),k(yn,!0),setTimeout(()=>{k(yn,!1)},2e3)}catch(te){k(Bi,te instanceof Error?te.message:String(te),!0)}finally{k(Hi,!1)}}}function wn(te){return te==null?"":typeof te=="object"?JSON.stringify(te):String(te)}function Rn(te){return new Date(te).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Ei(te){return new Date(te).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function pn(te){return u(a),i.get(te)}let ln=nt(()=>(u(a),[...h.values()].sort((te,fe)=>te.seg.localeCompare(fe.seg)))),cn=nt(()=>(u(a),i.size));Pr(Gt),Ny(()=>{ve(),r!==null&&cancelAnimationFrame(r)});var Wn=MX(),dn=C(x(Wn),2),Qi=x(dn),An=x(Qi),hn=C(An,2);ui(hn,20,()=>u(Yt),te=>te,(te,fe)=>{var Ge=fX(),rt={};K(()=>{rt!==(rt=fe)&&(Ge.value=(Ge.__value=fe)??"")}),T(te,Ge)});var un=C(hn,2),es=C(un,2),Ye=x(es),vt=C(es,2),hi=x(vt);hi.value=hi.__value=0;var Pi=C(hi);Pi.value=Pi.__value=1;var Mi=C(Pi);Mi.value=Mi.__value=2;var tn=C(vt,2),nn=C(tn,2);{var Xn=te=>{var fe=pX();T(te,fe)};U(nn,te=>{u(yn)&&te(Xn)})}var Bn=C(nn,2);{var qn=te=>{var fe=mX(),Ge=x(fe);K(()=>$(Ge,u(Bi))),T(te,fe)};U(Bn,te=>{u(Bi)&&te(qn)})}var $n=C(Qi,2),On=x($n),qe=C(On,2),Z=x(qe);{var Ve=te=>{var fe=na();K(()=>$(fe,`${u(E).length??""} /`)),T(te,fe)};U(Z,te=>{u(v)&&te(Ve)})}var mt=C(Z),St=C($n,2);{var Bt=te=>{var fe=_X();T(te,fe)},A=te=>{var fe=vX(),Ge=x(fe);K(()=>$(Ge,u(Ke))),T(te,fe)},ne=te=>{var fe=Us(),Ge=bt(fe);{var rt=He=>{var ht=bX();T(He,ht)},Ct=He=>{var ht=wX(),Vt=x(ht),si=x(Vt);ui(si,21,()=>u(E).slice(u(R).start,u(R).end),oi=>oi.topic,(oi,Zi)=>{var xi=yX(),ri=x(xi),Zt=x(ri),ji=C(ri,2),O=x(ji),G=C(ji,2),xe=x(G);K((Me,je,Ne)=>{$(Zt,u(Zi).topic),vn(ji,"title",Me),$(O,je),$(xe,Ne)},[()=>wn(u(Zi).val),()=>wn(u(Zi).val),()=>Rn(u(Zi).ts)]),T(oi,xi)}),K(()=>{No(Vt,`height: ${u(R).totalH??""}px; position: relative;`),No(si,`top: ${u(R).top??""}px;`)}),cs("scroll",ht,oi=>{k(S,oi.currentTarget.scrollTop,!0)}),kW(ht,"clientHeight",oi=>k(D,oi)),T(He,ht)};U(Ge,He=>{u(E).length===0?He(rt):He(Ct,-1)})}T(te,fe)},ge=te=>{var fe=CX(),Ge=x(fe);{var rt=He=>{var ht=SX();T(He,ht)},Ct=He=>{var ht=Us(),Vt=bt(ht);ui(Vt,17,()=>u(ln),si=>si.path,(si,oi)=>{t(si,()=>u(oi))}),T(He,ht)};U(Ge,He=>{u(ln).length===0?He(rt):He(Ct,-1)})}T(te,fe)};U(St,te=>{u(Jt)?te(Bt):u(Ke)?te(A,1):u(v)?te(ne,2):te(ge,-1)})}var Qe=C(dn,2),dt=x(Qe),q=C(dt,2),re=x(q),he=C(re,2);{var Je=te=>{var fe=xX(),Ge=x(fe);K(()=>$(Ge,u(Oe).length)),T(te,fe)};U(he,te=>{!u(Ce)&&u(Oe).length>0&&te(Je)})}var ti=C(he,2),_t=x(ti),Ee=C(q,2);{var At=te=>{var fe=DX(),Ge=x(fe);{var rt=He=>{var ht=LX();T(He,ht)},Ct=He=>{var ht=Us(),Vt=bt(ht);ui(Vt,17,()=>u(jt),si=>si.id,(si,oi)=>{var Zi=IX();let xi;var ri=x(Zi),Zt=x(ri),ji=C(ri,2);{var O=Ne=>{var et=kX();T(Ne,et)};U(ji,Ne=>{u(oi).retained&&Ne(O)})}var G=C(ji,2),xe=x(G),Me=C(G,2),je=x(Me);K((Ne,et,ai)=>{xi=qt(Zi,1,"sr svelte-1vejtrc",null,xi,{retained:u(oi).retained}),$(Zt,Ne),$(xe,u(oi).topic),vn(Me,"title",et),$(je,ai)},[()=>Ei(u(oi).ts),()=>wn(u(oi).val),()=>wn(u(oi).val)]),T(si,Zi)}),T(He,ht)};U(Ge,He=>{u(jt).length===0?He(rt):He(Ct,-1)})}T(te,fe)};U(Ee,te=>{u(Ce)&&te(At)})}var ii=C(Qe,2);{var Ze=te=>{var fe=EX(),Ge=bt(fe),rt=C(Ge,2);let Ct;var He=x(rt),ht=C(He,2);K(()=>Ct=No(rt,"",Ct,{left:`${u(it).x??""}px`,top:`${u(it).y??""}px`})),Q("click",Ge,()=>k(it,null)),Q("contextmenu",Ge,Vt=>{Vt.preventDefault(),k(it,null)}),Q("click",He,()=>{navigator.clipboard.writeText(u(it).topic),k(it,null)}),Q("click",ht,()=>{const Vt=u(it).topic,si=Vt+"/",oi=[...i.keys()].some(Zi=>Zi.startsWith(si));k(Rt,{topic:Vt,hasChildren:oi,recursive:!1},!0),k(it,null)}),T(te,fe)};U(ii,te=>{u(it)&&te(Ze)})}var Nt=C(ii,2);{var ni=te=>{var fe=TX(),Ge=bt(fe),rt=C(Ge,2),Ct=C(x(rt),2),He=x(Ct),ht=C(x(He)),Vt=x(ht),si=C(He,2);{var oi=Zt=>{var ji=PX(),O=x(ji);Vs(O,()=>u(Rt).recursive,G=>u(Rt).recursive=G),T(Zt,ji)};U(si,Zt=>{u(Rt).hasChildren&&Zt(oi)})}var Zi=C(Ct,2),xi=x(Zi),ri=C(xi,2);K(()=>$(Vt,u(Rt).topic)),Q("click",Ge,()=>k(Rt,null)),Q("click",xi,()=>k(Rt,null)),Q("click",ri,()=>{const{topic:Zt,recursive:ji}=u(Rt);k(Rt,null),ei(Zt,ji)}),T(te,fe)};U(Nt,te=>{u(Rt)&&te(ni)})}K(()=>{tn.disabled=u(Hi)||!u(Ut),$(mt,` ${u(cn)??""}`),No(Qe,u(Ce)?`height: ${u(kt)}px;`:""),$(_t,u(Ce)?"▾":"▸")}),Ii(An,()=>u(Ut),te=>k(Ut,te)),Ii(un,()=>u(Mt),te=>k(Mt,te)),Vs(Ye,()=>u(di),te=>k(di,te)),Gr(vt,()=>u(ki),te=>k(ki,te)),Q("click",tn,Un),Ii(On,()=>u(v),te=>k(v,te)),Q("mousedown",dt,ci),Ii(re,()=>u(ft),te=>k(ft,te)),Q("click",ti,()=>{k(Ce,!u(Ce))}),T(o,Wn),Vo()}Er(["click","contextmenu","mousedown"]);var RX=M('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),AX=M('<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>'),OX=M('<div class="err svelte-twakcj"> </div>'),FX=M('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),HX=M('<p class="empty svelte-twakcj">No packages installed.</p>'),WX=M('<p class="empty svelte-twakcj">No match.</p>'),BX=M('<span class="dep-latest svelte-twakcj"> </span>'),zX=ET('<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>'),VX=ET('<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>'),jX=M('<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>'),UX=M('<span class="result-author svelte-twakcj"> </span>'),$X=M('<span class="result-date svelte-twakcj"> </span>'),qX=M('<span class="result-desc svelte-twakcj"> </span>'),KX=M('<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>'),GX=M('<div class="results-list svelte-twakcj"></div>'),ZX=M('<pre class="npm-output svelte-twakcj"> </pre>'),XX=M(`<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>`),YX=M('<!> <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){zo(e,!0);let t=W(fi([])),i=W(""),n=W(fi({})),s=W(!1),r=W(""),a=W(fi([])),c=W(!1),h=W(!1),g=W(!1),f=W(""),p=W(""),v=fi({});const _=nt(()=>u(i).trim()?u(t).filter(Ye=>Ye.name.toLowerCase().includes(u(i).toLowerCase())):u(t)),w=nt(()=>Object.keys(u(n)).length);Pr(async()=>{await Promise.all([S(),D()])});async function S(){try{k(t,await d7(),!0),k(f,"")}catch(Ye){k(f,Ye.message,!0)}}async function D(){try{k(n,await p7(),!0)}catch{}}async function E(){k(s,!0);try{k(n,await m7(),!0)}catch{}finally{k(s,!1)}}async function R(){const Ye=u(r).trim();if(!Ye){k(a,[],!0);return}k(g,!0),k(f,"");try{k(a,await h7(Ye),!0)}catch(vt){k(f,vt.message,!0)}finally{k(g,!1)}}function V(Ye){if(!Ye)return"";try{return new Date(Ye).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function H(Ye,vt){v[Ye]=!0,k(f,""),k(p,"");try{const hi=await u7(Ye,vt);k(p,hi.stdout||hi.stderr||"Done.",!0),k(c,!0),await S()}catch(hi){k(f,hi.message,!0)}finally{v[Ye]=!1}}async function J(Ye){v[Ye]=!0,k(f,""),k(p,"");try{const vt=await g7(Ye);k(p,vt.stdout||vt.stderr||"Done.",!0),k(c,!0);const hi={...u(n)};delete hi[Ye],k(n,hi,!0),await S()}catch(vt){k(f,vt.message,!0)}finally{v[Ye]=!1}}async function Y(Ye){v[Ye]=!0,k(f,""),k(p,"");try{const vt=await f7(Ye);k(p,vt.stdout||vt.stderr||"Done.",!0),k(c,!0);const hi={...u(n)};delete hi[Ye],k(n,hi,!0),await S()}catch(vt){k(f,vt.message,!0)}finally{v[Ye]=!1}}let ue;async function Te(){if(await ue.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){k(h,!0);try{await yR()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var Oe=YX(),Ce=bt(Oe);Is(Kg(Ce,{}),Ye=>ue=Ye,()=>ue);var ft=C(Ce,2),kt=x(ft);{var ct=Ye=>{var vt=RX();T(Ye,vt)},ci=Ye=>{var vt=AX(),hi=C(x(vt));Q("click",hi,Te),T(Ye,vt)};U(kt,Ye=>{u(h)?Ye(ct):u(c)&&Ye(ci,1)})}var jt=C(kt,2);{var Jt=Ye=>{var vt=OX(),hi=x(vt);K(()=>$(hi,u(f))),T(Ye,vt)};U(jt,Ye=>{u(f)&&Ye(Jt)})}var Ke=C(jt,2),Gt=x(Ke),ve=x(Gt),it=C(x(ve),2),Rt=x(it),ei=C(it,2);{var Yt=Ye=>{var vt=FX(),hi=x(vt);K(()=>$(hi,`${u(w)??""} outdated`)),T(Ye,vt)};U(ei,Ye=>{u(w)>0&&Ye(Yt)})}var Ut=C(ei,2),Mt=x(Ut);let di;var ki=C(ve,2),Hi=x(ki),Bi=C(ki,2),yn=x(Bi);{var Un=Ye=>{var vt=HX();T(Ye,vt)},wn=Ye=>{var vt=WX();T(Ye,vt)},Rn=Ye=>{var vt=Us(),hi=bt(vt);ui(hi,17,()=>u(_),Pi=>Pi.name,(Pi,Mi)=>{var tn=jX();let nn;var Xn=x(tn),Bn=x(Xn),qn=x(Bn),$n=C(Bn,2),On=x($n),qe=C($n,2);{var Z=Qe=>{var dt=BX(),q=x(dt);K(()=>$(q,`→ v${u(n)[u(Mi).name].latest??""}`)),T(Qe,dt)};U(qe,Qe=>{u(n)[u(Mi).name]&&Qe(Z)})}var Ve=C(Xn,2),mt=x(Ve);let St;var Bt=x(mt);{var A=Qe=>{var dt=zX();T(Qe,dt)},ne=Qe=>{var dt=VX();T(Qe,dt)};U(Bt,Qe=>{v[u(Mi).name]?Qe(A):Qe(ne,-1)})}var ge=C(mt,2);K(()=>{nn=qt(tn,1,"dep-row svelte-twakcj",null,nn,{"dep-busy":!!v[u(Mi).name]}),vn(Bn,"href",u(Mi).url??`https://www.npmjs.com/package/${u(Mi).name}`),$(qn,u(Mi).name),$(On,u(Mi).installedVersion??u(Mi).version),St=qt(mt,1,"icon-btn svelte-twakcj",null,St,{"icon-btn--update":!!u(n)[u(Mi).name]}),mt.disabled=!!v[u(Mi).name],vn(mt,"title",u(n)[u(Mi).name]?`Update to v${u(n)[u(Mi).name].latest}`:"Update to latest"),ge.disabled=!!v[u(Mi).name]}),Q("click",mt,()=>Y(u(Mi).name)),Q("click",ge,()=>J(u(Mi).name)),T(Pi,tn)}),T(Ye,vt)};U(yn,Ye=>{u(t).length===0?Ye(Un):u(_).length===0?Ye(wn,1):Ye(Rn,-1)})}var Ei=C(Gt,2),pn=C(x(Ei),2),ln=x(pn),cn=C(ln,2),Wn=x(cn),dn=C(pn,2);{var Qi=Ye=>{var vt=GX();ui(vt,21,()=>u(a),hi=>hi.name,(hi,Pi)=>{var Mi=KX(),tn=x(Mi),nn=x(tn),Xn=x(nn),Bn=C(nn,2),qn=x(Bn),$n=C(Bn,2);{var On=A=>{var ne=UX(),ge=x(ne);K(()=>$(ge,u(Pi).author)),T(A,ne)};U($n,A=>{u(Pi).author&&A(On)})}var qe=C($n,2);{var Z=A=>{var ne=$X(),ge=x(ne);K(Qe=>{vn(ne,"title",u(Pi).date),$(ge,Qe)},[()=>V(u(Pi).date)]),T(A,ne)};U(qe,A=>{u(Pi).date&&A(Z)})}var Ve=C(qe,2);{var mt=A=>{var ne=qX(),ge=x(ne);K(()=>$(ge,u(Pi).description)),T(A,ne)};U(Ve,A=>{u(Pi).description&&A(mt)})}var St=C(tn,2),Bt=x(St);K(()=>{vn(nn,"href",u(Pi).url??`https://www.npmjs.com/package/${u(Pi).name}`),$(Xn,u(Pi).name),$(qn,u(Pi).version),St.disabled=!!v[u(Pi).name],$(Bt,v[u(Pi).name]?"Installing…":"Install")}),Q("click",St,()=>H(u(Pi).name)),T(hi,Mi)}),T(Ye,vt)};U(dn,Ye=>{u(a).length>0&&Ye(Qi)})}var An=C(dn,2);{var hn=Ye=>{var vt=ZX(),hi=x(vt);K(()=>$(hi,u(p))),T(Ye,vt)};U(An,Ye=>{u(p)&&Ye(hn)})}var un=C(An,2);{var es=Ye=>{var vt=XX();T(Ye,vt)};U(un,Ye=>{!u(a).length&&!u(p)&&Ye(es)})}K(()=>{$(Rt,u(t).length),Ut.disabled=u(s),di=qt(Mt,0,"svelte-twakcj",null,di,{spinning:u(s)}),cn.disabled=u(g),$(Wn,u(g)?"Searching…":"Search")}),Q("click",Ut,E),Ii(Hi,()=>u(i),Ye=>k(i,Ye)),Q("keydown",ln,Ye=>Ye.key==="Enter"&&R()),Ii(ln,()=>u(r),Ye=>k(r,Ye)),Q("click",cn,R),T(o,Oe),Vo()}Er(["click","keydown"]);var JX=M('<span class="mqtt-dot svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),eY=M('<span class="mqtt-dot mqtt-dot--connected svelte-1n46o8q" title="MQTT connected"></span>'),tY=M('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),iY=M('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),nY=M('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),sY=M('<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>'),oY=M('<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>'),rY=M('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),aY=M('<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),lY=M('<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),cY=M('<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>'),dY=M('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),hY=M('<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>'),uY=M('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),gY=M('<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>'),fY=M('<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>'),pY=M('<div class="login-error svelte-1n46o8q"> </div>'),mY=M('<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>'),_Y=M('<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>'),vY=M('<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>'),bY=M("<!> <!> <!> <!>",1);function yY(o,e){zo(e,!0);const t=["scripts","mqtt","matter","db","logs","config","packages"];function i(){const ve=location.hash.slice(1);return t.includes(ve)?ve:"scripts"}let n=W(fi(i())),s=W(null),r=W(!1),a=W(!1),c=W(!1),h=W(!1),g=W("none"),f=W(""),p=W(!1),v=W(""),_=W(""),w=W(!1),S=W(!1);$8(()=>{k(p,!0)});async function D(){k(_,""),k(w,!0);try{await G8(u(v)),k(v,""),k(p,!1)}catch(ve){k(_,ve.message??"Login failed",!0)}finally{k(w,!1)}}async function E(){if(u(g)==="proxy"&&u(f)){window.location.href=u(f);return}await Z8(),k(p,!0)}let R=W(null),V=W(!1),H=W(!1),J=W(!1);async function Y(){if(!await u(R).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;k(V,!0);let ve;try{ve=(await Rf()).startedAt}catch{}try{await yR()}catch{}const it=Date.now()+6e4;for(;Date.now()<it;){await new Promise(Rt=>setTimeout(Rt,250));try{const Rt=await Rf();if(ve===void 0||Rt.startedAt!==ve){location.reload();return}}catch{}}location.reload()}async function ue(){k(c,!0);try{const ve=await t7();u(s)&&k(s,{...u(s),latestVersion:ve.latestVersion??void 0},!0)}catch{}finally{k(c,!1)}}async function Te(){var Rt,ei;if(!await u(R).show(`Update to v${(Rt=u(s))==null?void 0:Rt.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;k(a,!1),k(h,!0);const ve=(ei=u(s))==null?void 0:ei.startedAt;try{await e7()}catch{}const it=Date.now()+18e4;for(;Date.now()<it;){await new Promise(Yt=>setTimeout(Yt,1e3));try{const Yt=await Rf();if(ve===void 0||Yt.startedAt!==ve){location.reload();return}}catch{k(h,!1),k(V,!0)}}location.reload()}function Oe(ve){k(n,ve,!0),location.hash=ve}Pr(async()=>{location.hash||(location.hash=u(n));const ve=()=>{k(n,i(),!0)};window.addEventListener("hashchange",ve);try{const Yt=await K8();k(g,Yt.mode,!0),k(f,Yt.proxyLogoutUrl??"",!0),u(g)==="password"&&(await fetch("/she/scripts")).status===401&&k(p,!0)}catch{}k(S,!0);async function it(){try{k(s,await Rf(),!0)}catch{}}it();const Rt=setInterval(it,5e3),ei=Aa("mqtt:status",Yt=>{k(H,Yt.ready===!1),k(J,Yt.ready===!0)});return()=>{window.removeEventListener("hashchange",ve),clearInterval(Rt),ei()}});var Ce=bY();cs("click",lT,()=>{u(r)&&k(r,!1),u(a)&&k(a,!1)});var ft=bt(Ce);{var kt=ve=>{var it=fY(),Rt=x(it),ei=C(x(Rt),2);let Yt;var Ut=C(ei,2);let Mt;var di=C(Ut,2);let ki;var Hi=C(x(di),2);{var Bi=Ze=>{var Nt=JX();T(Ze,Nt)};U(Hi,Ze=>{u(H)&&Ze(Bi)})}var yn=C(Hi,2);{var Un=Ze=>{var Nt=eY();T(Ze,Nt)};U(yn,Ze=>{u(J)&&!u(H)&&Ze(Un)})}var wn=C(di,2);let Rn;var Ei=C(wn,2);let pn;var ln=C(Ei,2);let cn;var Wn=C(ln,4),dn=C(x(Wn),2),Qi=x(dn),An=x(Qi);An.nodeValue="v1.0.6 ";var hn=C(An);{var un=Ze=>{var Nt=tY();T(Ze,Nt)};U(hn,Ze=>{var Nt,ni;(Nt=u(s))!=null&&Nt.latestVersion&&!((ni=u(s))!=null&&ni.docker)&&Ze(un)})}var es=C(Qi,2);{var Ye=Ze=>{var Nt=oY(),ni=x(Nt),te=C(x(ni));te.textContent="v1.0.6";var fe=C(te,2);{var Ge=xi=>{var ri=iY(),Zt=C(bt(ri)),ji=x(Zt);K(()=>$(ji,`v${u(s).latestVersion??""}`)),T(xi,ri)},rt=xi=>{var ri=nY();T(xi,ri)};U(fe,xi=>{var ri;(ri=u(s))!=null&&ri.latestVersion?xi(Ge):xi(rt,-1)})}var Ct=C(ni,2),He=x(Ct);{var ht=xi=>{var ri=sY(),Zt=C(x(ri));K(()=>$(Zt,` Update to v${u(s).latestVersion??""}`)),Q("click",ri,Te),T(xi,ri)};U(He,xi=>{var ri;(ri=u(s))!=null&&ri.latestVersion&&xi(ht)})}var Vt=C(He,2),si=x(Vt);let oi;var Zi=C(si);K(()=>{Vt.disabled=u(c),oi=qt(si,0,"svelte-1n46o8q",null,oi,{spinning:u(c)}),$(Zi,` ${u(c)?"Checking…":"Check for updates"}`)}),Q("click",Nt,xi=>xi.stopPropagation()),Q("click",Vt,ue),T(Ze,Nt)};U(es,Ze=>{var Nt;u(a)&&!((Nt=u(s))!=null&&Nt.docker)&&Ze(Ye)})}var vt=C(dn,2),hi=x(vt),Pi=C(hi,2);{var Mi=Ze=>{var Nt=uY(),ni=x(Nt);{var te=He=>{var ht=cY(),Vt=x(ht);{var si=st=>{const ke=nt(()=>Math.floor((Date.now()-u(s).startedAt)/1e3)),tt=nt(()=>Math.floor(u(ke)/86400)),Ot=nt(()=>Math.floor(u(ke)%86400/3600)),z=nt(()=>Math.floor(u(ke)%3600/60));var X=rY(),Le=C(bt(X)),Ae=x(Le);K(()=>$(Ae,`${u(tt)>0?u(tt)+"d ":""}${u(Ot)>0||u(tt)>0?u(Ot)+"h ":""}${u(z)??""}m`)),T(st,X)};U(Vt,st=>{u(s).startedAt&&st(si)})}var oi=C(Vt,3),Zi=x(oi),xi=C(oi,3),ri=x(xi),Zt=C(xi,3),ji=x(Zt),O=C(Zt,2);{var G=st=>{var ke=aY(),tt=C(bt(ke)),Ot=x(tt),z=C(tt,3),X=x(z);K(()=>{$(Ot,u(s).matterNodes??0),$(X,u(s).matterEndpoints??0)}),T(st,ke)};U(O,st=>{u(s).matterEnabled&&st(G)})}var xe=C(O,2);{var Me=st=>{var ke=lY(),tt=C(bt(ke)),Ot=x(tt),z=C(tt,3),X=x(z);K(()=>{$(Ot,u(s).dbDocs??"—"),$(X,u(s).dbViews??"—")}),T(st,ke)};U(xe,st=>{u(s).dbEnabled&&st(Me)})}var je=C(xe,3),Ne=x(je),et=C(je,3),ai=x(et),_e=C(et,3),De=x(_e);K(()=>{$(Zi,u(s).scripts),$(ri,u(s).topics),$(ji,u(s).mqttMsgPerSec??"—"),$(Ne,u(s).handlers??"—"),$(ai,u(s).memMb!=null?u(s).memMb+" MB":"—"),$(De,u(s).cpuPercent!=null?u(s).cpuPercent+" %":"—")}),T(He,ht)},fe=He=>{var ht=dY();T(He,ht)};U(ni,He=>{u(s)?He(te):He(fe,-1)})}var Ge=C(ni,2),rt=x(Ge);{var Ct=He=>{var ht=hY();Q("click",ht,()=>{k(r,!1),Y()}),T(He,ht)};U(rt,He=>{var ht;(ht=u(s))!=null&&ht.docker||He(Ct)})}Q("click",Nt,He=>He.stopPropagation()),T(Ze,Nt)};U(Pi,Ze=>{u(r)&&Ze(Mi)})}var tn=C(vt,2);let nn;var Xn=C(tn,2);{var Bn=Ze=>{var Nt=gY();Q("click",Nt,E),T(Ze,Nt)};U(Xn,Ze=>{u(g)==="password"&&Ze(Bn)})}var qn=C(Rt,2),$n=x(qn);Is(Kg($n,{}),Ze=>k(R,Ze,!0),()=>u(R));var On=C($n,2);let qe;var Z=x(On);{let Ze=nt(()=>u(n)==="scripts");LG(Z,{get active(){return u(Ze)}})}var Ve=C(On,2);let mt;var St=x(Ve);QX(St,{});var Bt=C(Ve,2);let A;var ne=x(Bt);NX(ne,{});var ge=C(Bt,2);let Qe;var dt=x(ge);lX(dt,{});var q=C(ge,2);let re;var he=x(q);vZ(he,{});var Je=C(q,2);let ti;var _t=x(Je);d9(_t,{});var Ee=C(Je,2);let At;var ii=x(Ee);f9(ii,{}),K(()=>{Yt=qt(ei,1,"svelte-1n46o8q",null,Yt,{active:u(n)==="scripts"}),Mt=qt(Ut,1,"svelte-1n46o8q",null,Mt,{active:u(n)==="packages"}),ki=qt(di,1,"svelte-1n46o8q",null,ki,{active:u(n)==="mqtt"}),Rn=qt(wn,1,"svelte-1n46o8q",null,Rn,{active:u(n)==="matter"}),pn=qt(Ei,1,"svelte-1n46o8q",null,pn,{active:u(n)==="db"}),cn=qt(ln,1,"svelte-1n46o8q",null,cn,{active:u(n)==="logs"}),nn=qt(tn,1,"nav-settings svelte-1n46o8q",null,nn,{active:u(n)==="config"}),qe=qt(On,1,"page-wrap svelte-1n46o8q",null,qe,{hidden:u(n)!=="scripts"}),mt=qt(Ve,1,"page-wrap svelte-1n46o8q",null,mt,{hidden:u(n)!=="packages"}),A=qt(Bt,1,"page-wrap svelte-1n46o8q",null,A,{hidden:u(n)!=="mqtt"}),Qe=qt(ge,1,"page-wrap svelte-1n46o8q",null,Qe,{hidden:u(n)!=="matter"}),re=qt(q,1,"page-wrap svelte-1n46o8q",null,re,{hidden:u(n)!=="db"}),ti=qt(Je,1,"page-wrap svelte-1n46o8q",null,ti,{hidden:u(n)!=="config"}),At=qt(Ee,1,"page-wrap svelte-1n46o8q",null,At,{hidden:u(n)!=="logs"})}),Q("click",ei,()=>Oe("scripts")),Q("click",Ut,()=>Oe("packages")),Q("click",di,()=>Oe("mqtt")),Q("click",wn,()=>Oe("matter")),Q("click",Ei,()=>Oe("db")),Q("click",ln,()=>Oe("logs")),Q("click",Qi,Ze=>{Ze.stopPropagation(),k(a,!u(a)),k(r,!1)}),Q("click",hi,Ze=>{Ze.stopPropagation(),k(r,!u(r)),k(a,!1)}),Q("click",tn,()=>Oe("config")),T(ve,it)};U(ft,ve=>{u(S)&&!u(p)&&ve(kt)})}var ct=C(ft,2);{var ci=ve=>{var it=mY(),Rt=x(it),ei=C(x(Rt),4),Yt=C(x(ei),2),Ut=C(ei,2);{var Mt=Hi=>{var Bi=pY(),yn=x(Bi);K(()=>$(yn,u(_))),T(Hi,Bi)};U(Ut,Hi=>{u(_)&&Hi(Mt)})}var di=C(Ut,2),ki=x(di);K(()=>{Yt.disabled=u(w),di.disabled=u(w)||!u(v),$(ki,u(w)?"Signing in…":"Sign in")}),cs("submit",Rt,Hi=>{Hi.preventDefault(),D()}),Ii(Yt,()=>u(v),Hi=>k(v,Hi)),T(ve,it)};U(ct,ve=>{u(p)&&ve(ci)})}var jt=C(ct,2);{var Jt=ve=>{var it=_Y();T(ve,it)};U(jt,ve=>{u(V)&&ve(Jt)})}var Ke=C(jt,2);{var Gt=ve=>{var it=vY();T(ve,it)};U(Ke,ve=>{u(h)&&ve(Gt)})}T(o,Ce),Vo()}Er(["click"]);uW(yY,{target:document.getElementById("app")});export{VT as t};