smart-home-engine 1.14.2 → 1.14.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-tUihOf0o.js","assets/monaco-langs-Dt8a9eeo.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-CRy9joSQ.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var KF=Object.defineProperty;var FS=o=>{throw TypeError(o)};var ZF=(o,e,t)=>e in o?KF(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var kn=(o,e,t)=>ZF(o,typeof e!="symbol"?e+"":e,t),Qb=(o,e,t)=>e.has(o)||FS("Cannot "+t);var Se=(o,e,t)=>(Qb(o,e,"read from private field"),t?t.call(o):e.get(o)),bn=(o,e,t)=>e.has(o)?FS("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),Cn=(o,e,t,i)=>(Qb(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),ts=(o,e,t)=>(Qb(o,e,"access private method"),t);import{_ as oA,m as rA,l as ki,A as Do,C as qe,I as ss,D as yp,a as bs,g as aA,M as ni,b as Zi,E as la,c as q,r as Vn,d as Rr,e as S,f as XF,h as Qn,R as En,S as Ui,i as lo,j as Nr,k as Fn,n as un,o as Fe,p as _t,K as Ss,q as vi,s as Rt,t as Ps,u as Q,v as mn,O as Ha,w as Bs,P as Li,x as Jb,y as wp,z as lA,B as ml,F as ca,G as e1,H as Zs,U as jn,J as F0,L as Ii,N as yl,Q as YF,T as Co,V as t1,W as QF,X as cA,$ as mi,Y as Mn,Z as Bn,a0 as as,a1 as nn,a2 as Jo,a3 as kg,a4 as Tt,a5 as Zx,a6 as JF,a7 as e3,a8 as Is,a9 as t3,aa as da,ab as Ao,ac as Mi,ad as dA,ae as is,af as i3,ag as n3,ah as yo,ai as af,aj as Ds,ak as W_,al as mo,am as qc,an as Bw,ao as z_,ap as Us,aq as L0,ar as qs,as as V_,at as j_,au as s3,av as Sp,aw as lf,ax as Tl,ay as o3,az as cf,aA as r3,aB as Fw,aC as a3,aD as l3,aE as LS,aF as _s,aG as vl,aH as vo,aI as an,aJ as fl,aK as c3,aL as ja,aM as Xo,aN as zs,aO as ua,aP as Lw,aQ as Ts,aR as ms,aS as wm,aT as rn,aU as uA,aV as d3,aW as Iw,aX as $_,aY as Pw,aZ as Tw,a_ as Ld,a$ as u3,b0 as Mw,b1 as h3,b2 as Rw,b3 as Ml,b4 as Rl,b5 as I0,b6 as Bg,b7 as Oo,b8 as Dp,b9 as Sm,ba as eC,bb as qn,bc as Nw,bd as Ap,be as U_,bf as f3,bg as hA,bh as Fg,bi as P0,bj as Lg,bk as kp,bl as q_,bm as Ln,bn as Gc,bo as Bp,bp as g3,bq as p3,br as Ow,bs as x3,bt as Dm,bu as gr,bv as Hw,bw as T0,bx as Nl,by as df,bz as pn,bA as M0,bB as fA,bC as Fp,bD as m3,bE as Id,bF as ui,bG as IS,bH as Xx,bI as gA,bJ as Wr,bK as sa,bL as Zn,bM as R0,bN as Fr,bO as N0,bP as rs,bQ as Ig,bR as Zu,bS as i1,bT as pA,bU as xA,bV as mA,bW as Ww,bX as Io,bY as Wn,bZ as Lp,b_ as vA,b$ as _l,c0 as G_,c1 as v3,c2 as zh,c3 as PS,c4 as Ip,c5 as _A,c6 as Vh,c7 as _3,c8 as yr,c9 as K_,ca as b3,cb as ko,cc as ha,cd as Pp,ce as Pg,cf as bA,cg as dr,ch as Tp,ci as Z_,cj as C3,ck as E3,cl as y3,cm as uf,cn as $a,co as Vs,cp as w3,cq as zw,cr as S3,cs as D3,ct as TS,cu as A3,cv as Mp,cw as wl,cx as n1,cy as Bu,cz as Sl,cA as k3,cB as Wa,cC as Lr,cD as Uo,cE as MS,cF as uo,cG as Rp,cH as Nc,cI as Ua,cJ as B3,cK as fa,cL as Tg,cM as X_,cN as CA,cO as F3,cP as L3,cQ as Vw,cR as I3,cS as Mg,cT as P3,cU as dc,cV as Rg,cW as RS,cX as T3,cY as M3,cZ as Ka,c_ as R3,c$ as jw,d0 as EA,d1 as yA,d2 as wA,d3 as SA,d4 as N3,d5 as O3,d6 as DA,d7 as AA,d8 as H3,d9 as $w,da as W3,db as z3,dc as cs,dd as V3,de as Uw,df as j3,dg as jh,dh as NS,di as $3,dj as U3,dk as q3,dl as G3,dm as K3,dn as Z3,dp as O0,dq as Y_,dr as s1,ds as X3,dt as Y3,du as OS,dv as o1,dw as Q3,dx as HS,dy as tC,dz as J3,dA as kA,dB as e4,dC as BA,dD as r1,dE as t4,dF as i4,dG as n4,dH as FA,dI as LA,dJ as s4,dK as Am,dL as IA,dM as Q_,dN as o4,dO as r4,dP as Oc,dQ as qw,dR as a4,dS as WS,dT as zS,dU as l4,dV as $h,dW as PA,dX as c4,dY as d4,dZ as u4,d_ as h4,d$ as TA,e0 as MA,e1 as RA,e2 as NA,e3 as f4,e4 as za,e5 as VS,e6 as g4,e7 as Np,e8 as p4,e9 as $f,ea as OA,eb as jS,ec as Ng,ed as HA,ee as km,ef as x4,eg as WA,eh as m4,ei as zA,ej as v4,ek as _4,el as VA,em as jA,en as Dl,eo as J_,ep as b4,eq as $A,er as Yo,es as Pd,et as UA,eu as C4,ev as E4,ew as qA,ex as GA,ey as y4,ez as KA,eA as ZA,eB as Og,eC as w4,eD as S4,eE as D4,eF as A4,eG as Pf,eH as $S,eI as k4,eJ as B4,eK as F4,eL as Bm,eM as eo,eN as L4,eO as a1,eP as Xu,eQ as I4,eR as ul,eS as P4,eT as T4,eU as XA,eV as M4,eW as ag,eX as R4,eY as N4,eZ as O4,e_ as H4,e$ as US,f0 as qS,f1 as GS,f2 as Yu,f3 as Gw,f4 as YA,f5 as l1,f6 as Yx,f7 as QA,f8 as Fm,f9 as W4,fa as z4,fb as V4,fc as j4,fd as Kw,fe as JA,ff as $4,fg as Lm,fh as ek,fi as tk,fj as U4,fk as q4,fl as G4,fm as K4,fn as Z4,fo as X4,fp as Y4,fq as Q4,fr as ik,fs as J4,ft as Im,fu as nk,fv as eL,fw as sk,fx as tL,fy as ok,fz as rk,fA as iL,fB as KS,fC as ak,fD as ZS,fE as nL,fF as iC,fG as XS,fH as sL,fI as oL,fJ as rL,fK as Ia,fL as Hc,fM as aL,fN as YS,fO as Qx,fP as lL,fQ as gl,fR as eb,fS as c1,fT as cL,fU as lk,fV as ck,fW as ho,fX as QS,fY as px,fZ as Zw,f_ as dL,f$ as uL,g0 as hL,g1 as fL,g2 as gL,g3 as pL,g4 as xL,g5 as mL,g6 as JS,g7 as vL,g8 as _L,g9 as bL,ga as H0,gb as lg,gc as dk,gd as CL,ge as Xw,gf as Jx,gg as xx,gh as nC,gi as EL,gj as yL,gk as uk,gl as wL,gm as Yw,gn as SL,go as DL,gp as hk,gq as tb,gr as AL,gs as Pm,gt as Qw,gu as Jw,gv as e9,gw as fk,gx as gk,gy as pk,gz as xk,gA as mk,gB as vk,gC as _k,gD as e8,gE as bk,gF as vh,gG as kL,gH as BL,gI as FL,gJ as LL,gK as Ck,gL as IL,gM as PL,gN as t8,gO as d1,gP as mc,gQ as TL,gR as ML,gS as RL,gT as NL,gU as OL,gV as HL,gW as i8,gX as t9,gY as u1,gZ as WL,g_ as h1,g$ as zL,h0 as VL,h1 as jL,h2 as $L,h3 as i9,h4 as Ek,h5 as n8,h6 as s8,h7 as UL,h8 as qL,h9 as GL,ha as o8,hb as sC,hc as KL,hd as ZL,he as XL,hf as oC,hg as yk,hh as wk,hi as Sk,hj as Dk,hk as Al,hl as Ak,hm as n9,hn as r8,ho as YL,hp as kk,hq as QL,hr as JL,hs as ib,ht as nb,hu as Qu,hv as sb,hw as Op,hx as e7,hy as ob,hz as t7,hA as i7,hB as n7,hC as Bk,hD as Tf,hE as s7,hF as o7,hG as r7,hH as a7,hI as Hp,hJ as l7,hK as Fk,hL as Lk,hM as Ik,hN as f1,hO as c7,hP as d7,hQ as u7,hR as h7,hS as f7,hT as g1,hU as g7,hV as p7,hW as x7,hX as m7,hY as v7,hZ as _7,h_ as b7,h$ as C7,i0 as Pk,i1 as E7,i2 as y7,i3 as w7,i4 as a8,i5 as S7,i6 as D7,i7 as md,i8 as zo,i9 as em,ia as p1,ib as A7,ic as k7}from"./monaco-langs-Dt8a9eeo.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))i(n);new MutationObserver(n=>{for(const s of n)if(s.type==="childList")for(const r of s.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&i(r)}).observe(document,{childList:!0,subtree:!0});function t(n){const s={};return n.integrity&&(s.integrity=n.integrity),n.referrerPolicy&&(s.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?s.credentials="include":n.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(n){if(n.ep)return;n.ep=!0;const s=t(n);fetch(n.href,s)}})();const Tk=!1;var s9=Array.isArray,B7=Array.prototype.indexOf,Tm=Array.prototype.includes,rb=Array.from,F7=Object.defineProperty,a0=Object.getOwnPropertyDescriptor,L7=Object.getOwnPropertyDescriptors,I7=Object.prototype,P7=Array.prototype,Mk=Object.getPrototypeOf,l8=Object.isExtensible;const ab=()=>{};function T7(o){for(var e=0;e<o.length;e++)o[e]()}function Rk(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function M7(o,e,t=!1){return o===void 0?t?e():e:o}function c8(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 po=2,W0=4,lb=8,Nk=1<<24,oa=16,aa=32,Wc=64,x1=128,Tr=512,to=1024,so=2048,qa=4096,To=8192,Mr=16384,hf=32768,m1=1<<25,z0=65536,Mm=1<<17,R7=1<<18,ff=1<<19,N7=1<<20,Ra=1<<25,Fu=65536,Rm=1<<21,l0=1<<22,vc=1<<23,Td=Symbol("$state"),O7=Symbol("legacy props"),H7=Symbol(""),tm=Symbol("attributes"),v1=Symbol("class"),_1=Symbol("style"),Uf=Symbol("text"),im=Symbol("form reset"),cb=new class extends Error{constructor(){super(...arguments);kn(this,"name","StaleReactionError");kn(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var iA;const W7=!!((iA=globalThis.document)!=null&&iA.contentType)&&globalThis.document.contentType.includes("xml");function Ok(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function z7(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function V7(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function j7(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function $7(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function U7(o){throw new Error("https://svelte.dev/e/effect_orphan")}function q7(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function G7(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function K7(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Z7(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function X7(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Y7(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Q7=1,J7=2,Hk=4,eI=8,tI=16,iI=1,nI=4,sI=8,oI=16,rI=1,aI=2,Js=Symbol("uninitialized"),Wk="http://www.w3.org/1999/xhtml",lI="http://www.w3.org/2000/svg",cI="http://www.w3.org/1998/Math/MathML";function dI(){console.warn("https://svelte.dev/e/derived_inert")}function uI(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function hI(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function zk(o){return o===this.v}function fI(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function Vk(o){return!fI(o,this.v)}let gI=!1,go=null;function V0(o){go=o}function js(o,e=!1,t){go={p:go,i:!1,c:null,e:null,s:o,x:null,r:zn,l:null}}function $s(o){var e=go,t=e.e;if(t!==null){e.e=null;for(var i of t)d6(i)}return o!==void 0&&(e.x=o),e.i=!0,go=e.p,o??{}}function jk(){return!0}let Ed=[];function $k(){var o=Ed;Ed=[],T7(o)}function _c(o){if(Ed.length===0&&!dg){var e=Ed;queueMicrotask(()=>{e===Ed&&$k()})}Ed.push(o)}function pI(){for(;Ed.length>0;)$k()}function Uk(o){var e=zn;if(e===null)return Hn.f|=vc,o;if((e.f&hf)===0&&(e.f&W0)===0)throw o;uc(o,e)}function uc(o,e){for(;e!==null;){if((e.f&x1)!==0){if((e.f&hf)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const xI=-7169;function Hs(o,e){o.f=o.f&xI|e}function o9(o){(o.f&Tr)!==0||o.deps===null?Hs(o,to):Hs(o,qa)}function qk(o){if(o!==null)for(const e of o)(e.f&po)===0||(e.f&Fu)===0||(e.f^=Fu,qk(e.deps))}function Gk(o,e,t){(o.f&so)!==0?e.add(o):(o.f&qa)!==0&&t.add(o),qk(o.deps),Hs(o,to)}let mx=!1;function mI(o){var e=mx;try{return mx=!1,[o(),mx]}finally{mx=e}}let rC=null,_h=null,on=null,cg=null,co=null,b1=null,dg=!1,aC=!1,Uh=null,nm=null;var d8=0;let vI=1;var h0,ac,Dd,f0,g0,p0,al,x0,Vo,mp,ll,Zr,ka,m0,Ad,ds,C1,qf,E1,Kk,Zk,Mh,_I,Gf;const Gv=class Gv{constructor(){bn(this,ds);kn(this,"id",vI++);bn(this,h0,!1);kn(this,"linked",!0);bn(this,ac,null);bn(this,Dd,null);kn(this,"async_deriveds",new Map);kn(this,"current",new Map);kn(this,"previous",new Map);bn(this,f0,new Set);bn(this,g0,new Set);bn(this,p0,0);bn(this,al,new Map);bn(this,x0,null);bn(this,Vo,[]);bn(this,mp,[]);bn(this,ll,new Set);bn(this,Zr,new Set);bn(this,ka,new Map);bn(this,m0,new Set);kn(this,"is_fork",!1);bn(this,Ad,!1);_h===null?rC=_h=this:(Cn(_h,Dd,this),Cn(this,ac,_h)),_h=this}skip_effect(e){Se(this,ka).has(e)||Se(this,ka).set(e,{d:[],m:[]}),Se(this,m0).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=Se(this,ka).get(e);if(i){Se(this,ka).delete(e);for(var n of i.d)Hs(n,so),t(n);for(n of i.m)Hs(n,qa),t(n)}Se(this,m0).add(e)}capture(e,t,i=!1){e.v!==Js&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&vc)===0&&(this.current.set(e,[t,i]),co==null||co.set(e,t)),this.is_fork||(e.v=t)}activate(){on=this}deactivate(){on=null,co=null}flush(){try{aC=!0,on=this,ts(this,ds,qf).call(this)}finally{d8=0,b1=null,Uh=null,nm=null,aC=!1,on=null,co=null,Md.clear()}}discard(){var e;for(const t of Se(this,g0))t(this);Se(this,g0).clear(),ts(this,ds,Gf).call(this),(e=Se(this,x0))==null||e.resolve()}register_created_effect(e){Se(this,mp).push(e)}increment(e,t){if(Cn(this,p0,Se(this,p0)+1),e){let i=Se(this,al).get(t)??0;Se(this,al).set(t,i+1)}}decrement(e,t){if(Cn(this,p0,Se(this,p0)-1),e){let i=Se(this,al).get(t)??0;i===1?Se(this,al).delete(t):Se(this,al).set(t,i-1)}Se(this,Ad)||(Cn(this,Ad,!0),_c(()=>{Cn(this,Ad,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)Se(this,ll).add(i);for(const i of t)Se(this,Zr).add(i);e.clear(),t.clear()}oncommit(e){Se(this,f0).add(e)}ondiscard(e){Se(this,g0).add(e)}settled(){return(Se(this,x0)??Cn(this,x0,Rk())).promise}static ensure(){if(on===null){const e=on=new Gv;!aC&&!dg&&_c(()=>{Se(e,h0)||e.flush()})}return on}apply(){{co=null;return}}schedule(e){var n;if(b1=e,(n=e.b)!=null&&n.is_pending&&(e.f&(W0|lb|Nk))!==0&&(e.f&hf)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(Uh!==null&&t===zn&&(Hn===null||(Hn.f&po)===0))return;if((i&(Wc|aa))!==0){if((i&to)===0)return;t.f^=to}}Se(this,Vo).push(t)}};h0=new WeakMap,ac=new WeakMap,Dd=new WeakMap,f0=new WeakMap,g0=new WeakMap,p0=new WeakMap,al=new WeakMap,x0=new WeakMap,Vo=new WeakMap,mp=new WeakMap,ll=new WeakMap,Zr=new WeakMap,ka=new WeakMap,m0=new WeakMap,Ad=new WeakMap,ds=new WeakSet,C1=function(){if(this.is_fork)return!0;for(const i of Se(this,al).keys()){for(var e=i,t=!1;e.parent!==null;){if(Se(this,ka).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},qf=function(){var d,u,f,g;Cn(this,h0,!0),d8++>1e3&&(ts(this,ds,Gf).call(this),CI());for(const p of Se(this,ll))Se(this,Zr).delete(p),Hs(p,so),this.schedule(p);for(const p of Se(this,Zr))Hs(p,qa),this.schedule(p);const e=Se(this,Vo);Cn(this,Vo,[]),this.apply();var t=Uh=[],i=[],n=nm=[];for(const p of e)try{ts(this,ds,E1).call(this,p,t,i)}catch(C){throw Qk(p),ts(this,ds,C1).call(this)||this.discard(),C}if(on=null,n.length>0){var s=Gv.ensure();for(const p of n)s.schedule(p)}if(Uh=null,nm=null,ts(this,ds,C1).call(this)){ts(this,ds,Mh).call(this,i),ts(this,ds,Mh).call(this,t);for(const[p,C]of Se(this,ka))Yk(p,C);n.length>0&&ts(d=on,ds,qf).call(d);return}const r=ts(this,ds,Kk).call(this);if(r){ts(this,ds,Mh).call(this,i),ts(this,ds,Mh).call(this,t),ts(u=r,ds,Zk).call(u,this);return}Se(this,ll).clear(),Se(this,Zr).clear();for(const p of Se(this,f0))p(this);Se(this,f0).clear(),cg=this,u8(i),u8(t),cg=null,(f=Se(this,x0))==null||f.resolve();var a=on;if(Se(this,p0)===0&&(Se(this,Vo).length===0||a!==null)&&ts(this,ds,Gf).call(this),Se(this,Vo).length>0)if(a!==null){const p=a;Se(p,Vo).push(...Se(this,Vo).filter(C=>!Se(p,Vo).includes(C)))}else a=this;a!==null&&ts(g=a,ds,qf).call(g)},E1=function(e,t,i){e.f^=to;for(var n=e.first;n!==null;){var s=n.f,r=(s&(aa|Wc))!==0,a=r&&(s&to)!==0,d=a||(s&To)!==0||Se(this,ka).has(n);if(!d&&n.fn!==null){r?n.f^=to:(s&W0)!==0?t.push(n):zp(n)&&((s&oa)!==0&&Se(this,Zr).add(n),$0(n));var u=n.first;if(u!==null){n=u;continue}}for(;n!==null;){var f=n.next;if(f!==null){n=f;break}n=n.parent}}},Kk=function(){for(var e=Se(this,ac);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=Se(e,ac)}return null},Zk=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(Se(e,ll),Se(e,Zr));const t=n=>{var s=n.reactions;if(s!==null)for(const d of s){var r=d.f;if((r&po)!==0)t(d);else{var a=d;r&(l0|oa)&&!this.async_deriveds.has(a)&&(Se(this,Zr).delete(a),Hs(a,so),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),ts(i=e,ds,Gf).call(i),on=this,ts(this,ds,qf).call(this)},Mh=function(e){for(var t=0;t<e.length;t+=1)Gk(e[t],Se(this,ll),Se(this,Zr))},_I=function(){var f;for(let g=rC;g!==null;g=Se(g,Dd)){var e=g.id<this.id,t=[];for(const[p,[C,b]]of this.current){if(g.current.has(p)){var i=g.current.get(p)[0];if(e&&C!==i)g.current.set(p,[C,b]);else continue}t.push(p)}if(e)for(const[p,C]of this.async_deriveds){const b=g.async_deriveds.get(p);b&&C.promise.then(b.resolve).catch(b.reject)}if(Se(g,h0)){var n=[...g.current.keys()].filter(p=>!g.current.get(p)[1]&&!this.current.has(p));if(n.length===0)e&&g.discard();else if(t.length>0){if(e)for(const p of Se(this,m0))g.unskip_effect(p,C=>{var b;(C.f&(oa|l0))!==0?g.schedule(C):ts(b=g,ds,Mh).call(b,[C])});g.activate();var s=new Set,r=new Map;for(var a of t)Xk(a,n,s,r);r=new Map;var d=[...g.current].filter(([p,C])=>{const b=this.current.get(p);return b?b[0]!==C[0]||b[1]!==C[1]:!0}).map(([p])=>p);if(d.length>0)for(const p of Se(this,mp))(p.f&(Mr|To|Mm))===0&&r9(p,d,r)&&((p.f&(l0|oa))!==0?(Hs(p,so),g.schedule(p)):Se(g,ll).add(p));if(Se(g,Vo).length>0&&!Se(g,Ad)){g.apply();for(var u of Se(g,Vo))ts(f=g,ds,E1).call(f,u,[],[]);Cn(g,Vo,[])}g.deactivate()}}}},Gf=function(){if(this.linked){var e=Se(this,ac),t=Se(this,Dd);e===null?rC=t:Cn(e,Dd,t),t===null?_h=e:Cn(t,ac,e),this.linked=!1}};let Lu=Gv;function bI(o){var e=dg;dg=!0;try{for(var t;;){if(pI(),on===null)return t;on.flush()}}finally{dg=e}}function CI(){try{q7()}catch(o){uc(o,b1)}}let qr=null;function u8(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(Mr|To))===0&&zp(i)&&(qr=new Set,$0(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&f6(i),(qr==null?void 0:qr.size)>0)){Md.clear();for(const n of qr){if((n.f&(Mr|To))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)qr.has(r)&&(qr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const d=s[a];(d.f&(Mr|To))===0&&$0(d)}}qr.clear()}}qr=null}}function Xk(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&po)!==0?Xk(n,e,t,i):(s&(l0|oa))!==0&&(s&so)===0&&r9(n,e,i)&&(Hs(n,so),a9(n))}}function r9(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(Tm.call(e,n))return!0;if((n.f&po)!==0&&r9(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function a9(o){on.schedule(o)}function Yk(o,e){if(!((o.f&aa)!==0&&(o.f&to)!==0)){(o.f&so)!==0?e.d.push(o):(o.f&qa)!==0&&e.m.push(o),Hs(o,to);for(var t=o.first;t!==null;)Yk(t,e),t=t.next}}function Qk(o){Hs(o,to);for(var e=o.first;e!==null;)Qk(e),e=e.next}function EI(o){let e=0,t=Iu(0),i;return()=>{u9()&&(c(t),ub(()=>(e===0&&(i=Hl(()=>o(()=>ug(t)))),e+=1,()=>{_c(()=>{e-=1,e===0&&(i==null||i(),i=void 0,ug(t))})})))}}var yI=z0|ff;function wI(o,e,t,i){new SI(o,e,t,i)}var Sr,kw,Dr,kd,jo,Ar,Fo,rr,cl,Bd,lc,v0,vp,_p,dl,Kv,Ws,DI,AI,kI,y1,sm,om,w1,S1;class SI{constructor(e,t,i,n){bn(this,Ws);kn(this,"parent");kn(this,"is_pending",!1);kn(this,"transform_error");bn(this,Sr);bn(this,kw,null);bn(this,Dr);bn(this,kd);bn(this,jo);bn(this,Ar,null);bn(this,Fo,null);bn(this,rr,null);bn(this,cl,null);bn(this,Bd,0);bn(this,lc,0);bn(this,v0,!1);bn(this,vp,new Set);bn(this,_p,new Set);bn(this,dl,null);bn(this,Kv,EI(()=>(Cn(this,dl,Iu(Se(this,Bd))),()=>{Cn(this,dl,null)})));var s;Cn(this,Sr,e),Cn(this,Dr,t),Cn(this,kd,r=>{var a=zn;a.b=this,a.f|=x1,i(r)}),this.parent=zn.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),Cn(this,jo,g9(()=>{ts(this,Ws,y1).call(this)},yI))}defer_effect(e){Gk(e,Se(this,vp),Se(this,_p))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!Se(this,Dr).pending}update_pending_count(e,t){ts(this,Ws,w1).call(this,e,t),Cn(this,Bd,Se(this,Bd)+e),!(!Se(this,dl)||Se(this,v0))&&(Cn(this,v0,!0),_c(()=>{Cn(this,v0,!1),Se(this,dl)&&j0(Se(this,dl),Se(this,Bd))}))}get_effect_pending(){return Se(this,Kv).call(this),c(Se(this,dl))}error(e){if(!Se(this,Dr).onerror&&!Se(this,Dr).failed)throw e;on!=null&&on.is_fork?(Se(this,Ar)&&on.skip_effect(Se(this,Ar)),Se(this,Fo)&&on.skip_effect(Se(this,Fo)),Se(this,rr)&&on.skip_effect(Se(this,rr)),on.oncommit(()=>{ts(this,Ws,S1).call(this,e)})):ts(this,Ws,S1).call(this,e)}}Sr=new WeakMap,kw=new WeakMap,Dr=new WeakMap,kd=new WeakMap,jo=new WeakMap,Ar=new WeakMap,Fo=new WeakMap,rr=new WeakMap,cl=new WeakMap,Bd=new WeakMap,lc=new WeakMap,v0=new WeakMap,vp=new WeakMap,_p=new WeakMap,dl=new WeakMap,Kv=new WeakMap,Ws=new WeakSet,DI=function(){try{Cn(this,Ar,kr(()=>Se(this,kd).call(this,Se(this,Sr))))}catch(e){this.error(e)}},AI=function(e){const t=Se(this,Dr).failed;t&&Cn(this,rr,kr(()=>{t(Se(this,Sr),()=>e,()=>()=>{})}))},kI=function(){const e=Se(this,Dr).pending;e&&(this.is_pending=!0,Cn(this,Fo,kr(()=>e(Se(this,Sr)))),_c(()=>{var t=Cn(this,cl,document.createDocumentFragment()),i=bl();t.append(i),Cn(this,Ar,ts(this,Ws,om).call(this,()=>kr(()=>Se(this,kd).call(this,i)))),Se(this,lc)===0&&(Se(this,Sr).before(t),Cn(this,cl,null),Nd(Se(this,Fo),()=>{Cn(this,Fo,null)}),ts(this,Ws,sm).call(this,on))}))},y1=function(){try{if(this.is_pending=this.has_pending_snippet(),Cn(this,lc,0),Cn(this,Bd,0),Cn(this,Ar,kr(()=>{Se(this,kd).call(this,Se(this,Sr))})),Se(this,lc)>0){var e=Cn(this,cl,document.createDocumentFragment());x9(Se(this,Ar),e);const t=Se(this,Dr).pending;Cn(this,Fo,kr(()=>t(Se(this,Sr))))}else ts(this,Ws,sm).call(this,on)}catch(t){this.error(t)}},sm=function(e){this.is_pending=!1,e.transfer_effects(Se(this,vp),Se(this,_p))},om=function(e){var t=zn,i=Hn,n=go;Ga(Se(this,jo)),Or(Se(this,jo)),V0(Se(this,jo).ctx);try{return Lu.ensure(),e()}catch(s){return Uk(s),null}finally{Ga(t),Or(i),V0(n)}},w1=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&ts(i=this.parent,Ws,w1).call(i,e,t);return}Cn(this,lc,Se(this,lc)+e),Se(this,lc)===0&&(ts(this,Ws,sm).call(this,t),Se(this,Fo)&&Nd(Se(this,Fo),()=>{Cn(this,Fo,null)}),Se(this,cl)&&(Se(this,Sr).before(Se(this,cl)),Cn(this,cl,null)))},S1=function(e){Se(this,Ar)&&(Qo(Se(this,Ar)),Cn(this,Ar,null)),Se(this,Fo)&&(Qo(Se(this,Fo)),Cn(this,Fo,null)),Se(this,rr)&&(Qo(Se(this,rr)),Cn(this,rr,null));var t=Se(this,Dr).onerror;let i=Se(this,Dr).failed;var n=!1,s=!1;const r=()=>{if(n){hI();return}n=!0,s&&Y7(),Se(this,rr)!==null&&Nd(Se(this,rr),()=>{Cn(this,rr,null)}),ts(this,Ws,om).call(this,()=>{ts(this,Ws,y1).call(this)})},a=d=>{try{s=!0,t==null||t(d,r),s=!1}catch(u){uc(u,Se(this,jo)&&Se(this,jo).parent)}i&&Cn(this,rr,ts(this,Ws,om).call(this,()=>{try{return kr(()=>{var u=zn;u.b=this,u.f|=x1,i(Se(this,Sr),()=>d,()=>r)})}catch(u){return uc(u,Se(this,jo).parent),null}}))};_c(()=>{var d;try{d=this.transform_error(e)}catch(u){uc(u,Se(this,jo)&&Se(this,jo).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(a,u=>uc(u,Se(this,jo)&&Se(this,jo).parent)):a(d)})};function BI(o,e,t,i){const n=Hg;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=zn,a=FI(),d=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function u(p){if((r.f&Mr)===0){a();try{i(p)}catch(C){uc(C,r)}Nm()}}var f=Jk();if(t.length===0){d.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>LI(p))).then(p=>u([...e.map(n),...p])).catch(p=>uc(p,r)).finally(f)}d?d.then(()=>{a(),g(),Nm()}):g()}function FI(){var o=zn,e=Hn,t=go,i=on;return function(s=!0){Ga(o),Or(e),V0(t),s&&(o.f&Mr)===0&&(i==null||i.activate(),i==null||i.apply())}}function Nm(o=!0){Ga(null),Or(null),V0(null),o&&(on==null||on.deactivate())}function Jk(){var o=zn,e=o.b,t=on,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 Hg(o){var e=po|so;return zn!==null&&(zn.f|=ff),{ctx:go,deps:null,effects:null,equals:zk,f:e,fn:o,reactions:null,rv:0,v:Js,wv:0,parent:zn,ac:null}}const vx=Symbol("obsolete");function LI(o,e,t){let i=zn;i===null&&z7();var n=void 0,s=Iu(Js),r=!Hn,a=new Set;return jI(()=>{var C,b;var d=zn,u=Rk();n=u.promise;try{Promise.resolve(o()).then(u.resolve,y=>{y!==cb&&u.reject(y)}).finally(Nm)}catch(y){u.reject(y),Nm()}var f=on;if(r){if((d.f&hf)!==0)var g=Jk();if((C=i.b)!=null&&C.is_rendered())(b=f.async_deriveds.get(d))==null||b.reject(vx);else for(const y of a.values())y.reject(vx);a.add(u),f.async_deriveds.set(d,u)}const p=(y,w=void 0)=>{g==null||g(),a.delete(u),w!==vx&&(f.activate(),w?(s.f|=vc,j0(s,w)):((s.f&vc)!==0&&(s.f^=vc),j0(s,y)),f.deactivate())};u.promise.then(p,y=>p(null,y||"unknown"))}),h9(()=>{for(const d of a)d.reject(vx)}),new Promise(d=>{function u(f){function g(){f===n?d(s):u(n)}f.then(g,g)}u(n)})}function Ft(o){const e=Hg(o);return x6(e),e}function l9(o){const e=Hg(o);return e.equals=Vk,e}function II(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Qo(e[t])}}function c9(o){var e,t=zn,i=o.parent;if(!kl&&i!==null&&o.v!==Js&&(i.f&(Mr|To))!==0)return dI(),o.v;Ga(i);try{o.f&=~Fu,II(o),e=b6(o)}finally{Ga(t)}return e}function e6(o){var e=c9(o);if(!o.equals(e)&&(o.wv=v6(),(!(on!=null&&on.is_fork)||o.deps===null)&&(on!==null?(on.capture(o,e,!0),cg==null||cg.capture(o,e,!0)):o.v=e,o.deps===null))){Hs(o,to);return}kl||(co!==null?(u9()||on!=null&&on.is_fork)&&co.set(o,e):o9(o))}function PI(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(cb),i.fn!==null&&(i.teardown=ab),i.ac=null,Wg(i,0),p9(i))}function t6(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&$0(e)}let Om=new Set;const Md=new Map;let i6=!1;function Iu(o,e){var t={f:0,v:o,reactions:null,equals:zk,rv:0,wv:0};return t}function F(o,e){const t=Iu(o);return x6(t),t}function TI(o,e=!1,t=!0){const i=Iu(o);return e||(i.equals=Vk),i}function m(o,e,t=!1){Hn!==null&&(!ra||(Hn.f&Mm)!==0)&&jk()&&(Hn.f&(po|oa|l0|Mm))!==0&&(Va===null||!Va.has(o))&&X7();let i=t?Pi(e):e;return j0(o,i,nm)}function j0(o,e,t=null){if(!o.equals(e)){Md.set(o,kl?e:o.v);var i=Lu.ensure();if(i.capture(o,e),(o.f&po)!==0){const n=o;(o.f&so)!==0&&c9(n),co===null&&o9(n)}o.wv=v6(),n6(o,so,t),zn!==null&&(zn.f&to)!==0&&(zn.f&(aa|Wc))===0&&(wr===null?UI([o]):wr.push(o)),!i.is_fork&&Om.size>0&&!i6&&MI()}return e}function MI(){i6=!1;for(const o of Om){(o.f&to)!==0&&Hs(o,qa);let e;try{e=zp(o)}catch{e=!0}e&&$0(o)}Om.clear()}function h8(o,e=1){var t=c(o),i=e===1?t++:t--;return m(o,t),i}function ug(o){m(o,o.v+1)}function n6(o,e,t){var i=o.reactions;if(i!==null)for(var n=i.length,s=0;s<n;s++){var r=i[s],a=r.f,d=(a&so)===0;if(d&&Hs(r,e),(a&Mm)!==0)Om.add(r);else if((a&po)!==0){var u=r;co==null||co.delete(u),(a&Fu)===0&&(a&Tr&&(zn===null||(zn.f&Rm)===0)&&(r.f|=Fu),n6(u,qa,t))}else if(d){var f=r;(a&oa)!==0&&qr!==null&&qr.add(f),t!==null?t.push(f):a9(f)}}}function Pi(o){if(typeof o!="object"||o===null||Td in o)return o;const e=Mk(o);if(e!==I7&&e!==P7)return o;var t=new Map,i=s9(o),n=F(0),s=Od,r=a=>{if(Od===s)return a();var d=Hn,u=Od;Or(null),x8(s);var f=a();return Or(d),x8(u),f};return i&&t.set("length",F(o.length)),new Proxy(o,{defineProperty(a,d,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&K7();var f=t.get(d);return f===void 0?r(()=>{var g=F(u.value);return t.set(d,g),g}):m(f,u.value,!0),!0},deleteProperty(a,d){var u=t.get(d);if(u===void 0){if(d in a){const f=r(()=>F(Js));t.set(d,f),ug(n)}}else m(u,Js),ug(n);return!0},get(a,d,u){var C;if(d===Td)return o;var f=t.get(d),g=d in a;if(f===void 0&&(!g||(C=a0(a,d))!=null&&C.writable)&&(f=r(()=>{var b=Pi(g?a[d]:Js),y=F(b);return y}),t.set(d,f)),f!==void 0){var p=c(f);return p===Js?void 0:p}return Reflect.get(a,d,u)},getOwnPropertyDescriptor(a,d){var u=Reflect.getOwnPropertyDescriptor(a,d);if(u&&"value"in u){var f=t.get(d);f&&(u.value=c(f))}else if(u===void 0){var g=t.get(d),p=g==null?void 0:g.v;if(g!==void 0&&p!==Js)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return u},has(a,d){var p;if(d===Td)return!0;var u=t.get(d),f=u!==void 0&&u.v!==Js||Reflect.has(a,d);if(u!==void 0||zn!==null&&(!f||(p=a0(a,d))!=null&&p.writable)){u===void 0&&(u=r(()=>{var C=f?Pi(a[d]):Js,b=F(C);return b}),t.set(d,u));var g=c(u);if(g===Js)return!1}return f},set(a,d,u,f){var M;var g=t.get(d),p=d in a;if(i&&d==="length")for(var C=u;C<g.v;C+=1){var b=t.get(C+"");b!==void 0?m(b,Js):C in a&&(b=r(()=>F(Js)),t.set(C+"",b))}if(g===void 0)(!p||(M=a0(a,d))!=null&&M.writable)&&(g=r(()=>F(void 0)),m(g,Pi(u)),t.set(d,g));else{p=g.v!==Js;var y=r(()=>Pi(u));m(g,y)}var w=Reflect.getOwnPropertyDescriptor(a,d);if(w!=null&&w.set&&w.set.call(f,u),!p){if(i&&typeof d=="string"){var A=t.get("length"),I=Number(d);Number.isInteger(I)&&I>=A.v&&m(A,I+1)}ug(n)}return!0},ownKeys(a){c(n);var d=Reflect.ownKeys(a).filter(g=>{var p=t.get(g);return p===void 0||p.v!==Js});for(var[u,f]of t)f.v!==Js&&!(u in a)&&d.push(u);return d},setPrototypeOf(){Z7()}})}function f8(o){try{if(o!==null&&typeof o=="object"&&Td in o)return o[Td]}catch{}return o}function RI(o,e){return Object.is(f8(o),f8(e))}var Rd,s6,o6,r6,a6;function NI(){if(Rd===void 0){Rd=window,s6=document,o6=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;r6=a0(e,"firstChild").get,a6=a0(e,"nextSibling").get,l8(o)&&(o[v1]=void 0,o[tm]=null,o[_1]=void 0,o.__e=void 0),l8(t)&&(t[Uf]=void 0)}}function bl(o=""){return document.createTextNode(o)}function Na(o){return r6.call(o)}function Wp(o){return a6.call(o)}function _(o,e){return Na(o)}function Et(o,e=!1){{var t=Na(o);return t instanceof Comment&&t.data===""?Wp(t):t}}function v(o,e=1,t=!1){let i=o;for(;e--;)i=Wp(i);return i}function OI(o){o.textContent=""}function l6(){return!1}function c6(o,e,t){return e==null||e===Wk?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let g8=!1;function HI(){g8||(g8=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[im])==null||e.call(t)})},{capture:!0}))}function db(o){var e=Hn,t=zn;Or(null),Ga(null);try{return o()}finally{Or(e),Ga(t)}}function d9(o,e,t,i=t){o.addEventListener(e,()=>db(t));const n=o[im];n?o[im]=()=>{n(),i(!0)}:o[im]=()=>i(!0),HI()}function WI(o){zn===null&&(Hn===null&&U7(),$7()),kl&&j7()}function zI(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function Ol(o,e){var t=zn;t!==null&&(t.f&To)!==0&&(o|=To);var i={ctx:go,deps:null,nodes:null,f:o|so|Tr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};on==null||on.register_created_effect(i);var n=i;if((o&W0)!==0)Uh!==null?Uh.push(i):Lu.ensure().schedule(i);else if(e!==null){try{$0(i)}catch(r){throw Qo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&ff)===0&&(n=n.first,(o&oa)!==0&&(o&z0)!==0&&n!==null&&(n.f|=z0))}if(n!==null&&(n.parent=t,t!==null&&zI(n,t),Hn!==null&&(Hn.f&po)!==0&&(o&Wc)===0)){var s=Hn;(s.effects??(s.effects=[])).push(n)}return i}function u9(){return Hn!==null&&!ra}function h9(o){const e=Ol(lb,null);return Hs(e,to),e.teardown=o,e}function Kn(o){WI();var e=zn.f,t=!Hn&&(e&aa)!==0&&go!==null&&!go.i;if(t){var i=go;(i.e??(i.e=[])).push(o)}else return d6(o)}function d6(o){return Ol(W0|N7,o)}function VI(o){Lu.ensure();const e=Ol(Wc|ff,o);return(t={})=>new Promise(i=>{t.outro?Nd(e,()=>{Qo(e),i(void 0)}):(Qo(e),i(void 0))})}function f9(o){return Ol(W0,o)}function jI(o){return Ol(l0|ff,o)}function ub(o,e=0){return Ol(lb|e,o)}function j(o,e=[],t=[],i=[]){BI(i,e,t,n=>{Ol(lb,()=>o(...n.map(c)))})}function g9(o,e=0){var t=Ol(oa|e,o);return t}function kr(o){return Ol(aa|ff,o)}function u6(o){var e=o.teardown;if(e!==null){const t=kl,i=Hn;p8(!0),Or(null);try{e.call(null)}finally{p8(t),Or(i)}}}function p9(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&db(()=>{n.abort(cb)});var i=t.next;(t.f&Wc)!==0?t.parent=null:Qo(t,e),t=i}}function $I(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&aa)===0&&Qo(e),e=t}}function Qo(o,e=!0){var t=!1;(e||(o.f&R7)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(h6(o.nodes.start,o.nodes.end),t=!0),Hs(o,m1),p9(o,e&&!t),Wg(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();u6(o),o.f^=m1,o.f|=Mr;var n=o.parent;n!==null&&n.first!==null&&f6(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function h6(o,e){for(;o!==null;){var t=o===e?null:Wp(o);o.remove(),o=t}}function f6(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 Nd(o,e,t=!0){var i=[];g6(o,i,!0);var n=()=>{t&&Qo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function g6(o,e,t){if((o.f&To)===0){o.f^=To;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&Wc)===0){var r=(n.f&z0)!==0||(n.f&aa)!==0&&(o.f&oa)!==0;g6(n,e,r?t:!1)}n=s}}}function Hm(o){p6(o,!0)}function p6(o,e){if((o.f&To)!==0){o.f^=To,(o.f&to)===0&&(Hs(o,so),Lu.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&z0)!==0||(t.f&aa)!==0;p6(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 x9(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:Wp(t);e.append(t),t=n}}let rm=!1,kl=!1;function p8(o){kl=o}let Hn=null,ra=!1;function Or(o){Hn=o}let zn=null;function Ga(o){zn=o}let Va=null;function x6(o){Hn!==null&&(Va??(Va=new Set)).add(o)}let $o=null,sr=0,wr=null;function UI(o){wr=o}let m6=1,yd=0,Od=yd;function x8(o){Od=o}function v6(){return++m6}function zp(o){var e=o.f;if((e&so)!==0)return!0;if(e&po&&(o.f&=~Fu),(e&qa)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(zp(s)&&e6(s),s.wv>o.wv)return!0}(e&Tr)!==0&&co===null&&Hs(o,to)}return!1}function _6(o,e,t=!0){var i=o.reactions;if(i!==null&&!(Va!==null&&Va.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&po)!==0?_6(s,e,!1):e===s&&(t?Hs(s,so):(s.f&to)!==0&&Hs(s,qa),a9(s))}}function b6(o){var y;var e=$o,t=sr,i=wr,n=Hn,s=Va,r=go,a=ra,d=Od,u=o.f;$o=null,sr=0,wr=null,Hn=(u&(aa|Wc))===0?o:null,Va=null,V0(o.ctx),ra=!1,Od=++yd,o.ac!==null&&(db(()=>{o.ac.abort(cb)}),o.ac=null);try{o.f|=Rm;var f=o.fn,g=f();o.f|=hf;var p=o.deps,C=on==null?void 0:on.is_fork;if($o!==null){var b;if(C||Wg(o,sr),p!==null&&sr>0)for(p.length=sr+$o.length,b=0;b<$o.length;b++)p[sr+b]=$o[b];else o.deps=p=$o;if(u9()&&(o.f&Tr)!==0)for(b=sr;b<p.length;b++)((y=p[b]).reactions??(y.reactions=[])).push(o)}else!C&&p!==null&&sr<p.length&&(Wg(o,sr),p.length=sr);if(jk()&&wr!==null&&!ra&&p!==null&&(o.f&(po|qa|so))===0)for(b=0;b<wr.length;b++)_6(wr[b],o);if(n!==null&&n!==o){if(yd++,n.deps!==null)for(let w=0;w<t;w+=1)n.deps[w].rv=yd;if(e!==null)for(const w of e)w.rv=yd;wr!==null&&(i===null?i=wr:i.push(...wr))}return(o.f&vc)!==0&&(o.f^=vc),g}catch(w){return Uk(w)}finally{o.f^=Rm,$o=e,sr=t,wr=i,Hn=n,Va=s,V0(r),ra=a,Od=d}}function qI(o,e){let t=e.reactions;if(t!==null){var i=B7.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&po)!==0&&($o===null||!Tm.call($o,e))){var s=e;(s.f&Tr)!==0&&(s.f^=Tr,s.f&=~Fu),s.v!==Js&&o9(s),PI(s),Wg(s,0)}}function Wg(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)qI(o,t[i])}function $0(o){var e=o.f;if((e&Mr)===0){Hs(o,to);var t=zn,i=rm;zn=o,rm=!0;try{(e&(oa|Nk))!==0?$I(o):p9(o),u6(o);var n=b6(o);o.teardown=typeof n=="function"?n:null,o.wv=m6;var s;Tk&&gI&&(o.f&so)!==0&&o.deps}finally{rm=i,zn=t}}}async function hl(){await Promise.resolve(),bI()}function c(o){var e=o.f,t=(e&po)!==0;if(Hn!==null&&!ra){var i=zn!==null&&(zn.f&Mr)!==0;if(!i&&(Va===null||!Va.has(o))){var n=Hn.deps;if((Hn.f&Rm)!==0)o.rv<yd&&(o.rv=yd,$o===null&&n!==null&&n[sr]===o?sr++:$o===null?$o=[o]:$o.push(o));else{Hn.deps??(Hn.deps=[]),Tm.call(Hn.deps,o)||Hn.deps.push(o);var s=o.reactions;s===null?o.reactions=[Hn]:Tm.call(s,Hn)||s.push(Hn)}}}if(kl&&Md.has(o))return Md.get(o);if(t){var r=o;if(kl){var a=r.v;return((r.f&to)===0&&r.reactions!==null||E6(r))&&(a=c9(r)),Md.set(r,a),a}var d=(r.f&Tr)===0&&!ra&&Hn!==null&&(rm||(Hn.f&Tr)!==0),u=(r.f&hf)===0;zp(r)&&(d&&(r.f|=Tr),e6(r)),d&&!u&&(t6(r),C6(r))}if(co!=null&&co.has(o))return co.get(o);if((o.f&vc)!==0)throw o.v;return o.v}function C6(o){if(o.f|=Tr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&po)!==0&&(e.f&Tr)===0&&(t6(e),C6(e))}function E6(o){if(o.v===Js)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(Md.has(e)||(e.f&po)!==0&&E6(e))return!0;return!1}function Hl(o){var e=ra;try{return ra=!0,o()}finally{ra=e}}const GI=["touchstart","touchmove"];function KI(o){return GI.includes(o)}const wd=Symbol("events"),y6=new Set,D1=new Set;function ZI(o,e,t,i={}){function n(s){if(i.capture||A1.call(e,s),!s.cancelBubble)return db(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?_c(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function xs(o,e,t,i,n){var s={capture:i,passive:n},r=ZI(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&h9(()=>{e.removeEventListener(o,r,s)})}function U(o,e,t){(e[wd]??(e[wd]={}))[o]=t}function Ys(o){for(var e=0;e<o.length;e++)y6.add(o[e]);for(var t of D1)t(o)}let m8=null;function A1(o){var y,w;var e=this,t=e.ownerDocument,i=o.type,n=((y=o.composedPath)==null?void 0:y.call(o))||[],s=n[0]||o.target;m8=o;var r=0,a=m8===o&&o[wd];if(a){var d=n.indexOf(a);if(d!==-1&&(e===document||e===window)){o[wd]=e;return}var u=n.indexOf(e);if(u===-1)return;d<=u&&(r=d)}if(s=n[r]||o.target,s!==e){F7(o,"currentTarget",{configurable:!0,get(){return s||t}});var f=Hn,g=zn;Or(null),Ga(null);try{for(var p,C=[];s!==null&&s!==e;){try{var b=(w=s[wd])==null?void 0:w[i];b!=null&&(!s.disabled||o.target===s)&&b.call(s,o)}catch(A){p?C.push(A):p=A}if(o.cancelBubble)break;r++,s=r<n.length?n[r]:null}if(p){for(let A of C)queueMicrotask(()=>{throw A});throw p}}finally{o[wd]=e,delete o.currentTarget,Or(f),Ga(g)}}}var nA;const lC=((nA=globalThis==null?void 0:globalThis.window)==null?void 0:nA.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function XI(o){return(lC==null?void 0:lC.createHTML(o))??o}function w6(o){var e=c6("template");return e.innerHTML=XI(o.replaceAll("<!>","<!---->")),e.content}function Pu(o,e){var t=zn;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function B(o,e){var t=(e&rI)!==0,i=(e&aI)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=w6(s?o:"<!>"+o),t||(n=Na(n)));var r=i||o6?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Na(r),d=r.lastChild;Pu(a,d)}else Pu(r,r);return r}}function YI(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=w6(n),a=Na(r);s=Na(a)}var d=s.cloneNode(!0);return Pu(d,d),d}}function S6(o,e){return YI(o,e,"svg")}function oo(o=""){{var e=bl(o+"");return Pu(e,e),e}}function ws(){var o=document.createDocumentFragment(),e=document.createComment(""),t=bl();return o.append(e,t),Pu(e,t),o}function D(o,e){o!==null&&o.before(e)}function W(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[Uf]??(o[Uf]=o.nodeValue))&&(o[Uf]=t,o.nodeValue=`${t}`)}function QI(o,e){return JI(o,e)}const _x=new Map;function JI(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){NI();var d=void 0,u=VI(()=>{var f=t??e.appendChild(bl());wI(f,{pending:()=>{}},C=>{js({});var b=go;s&&(b.c=s),n&&(i.$$events=n),d=o(C,i)||{},$s()},a);var g=new Set,p=C=>{for(var b=0;b<C.length;b++){var y=C[b];if(!g.has(y)){g.add(y);var w=KI(y);for(const M of[e,document]){var A=_x.get(M);A===void 0&&(A=new Map,_x.set(M,A));var I=A.get(y);I===void 0?(M.addEventListener(y,A1,{passive:w}),A.set(y,1)):A.set(y,I+1)}}}};return p(rb(y6)),D1.add(p),()=>{var w;for(var C of g)for(const A of[e,document]){var b=_x.get(A),y=b.get(C);--y==0?(A.removeEventListener(C,A1),b.delete(C),b.size===0&&_x.delete(A)):b.set(C,y)}D1.delete(p),f!==t&&((w=f.parentNode)==null||w.removeChild(f))}});return eP.set(d,u),d}let eP=new WeakMap;var Xr,Ba,ar,Fd,bp,Cp,Zv;class tP{constructor(e,t=!0){kn(this,"anchor");bn(this,Xr,new Map);bn(this,Ba,new Map);bn(this,ar,new Map);bn(this,Fd,new Set);bn(this,bp,!0);bn(this,Cp,e=>{if(Se(this,Xr).has(e)){var t=Se(this,Xr).get(e),i=Se(this,Ba).get(t);if(i)Hm(i),Se(this,Fd).delete(t);else{var n=Se(this,ar).get(t);n&&(Hm(n.effect),Se(this,Ba).set(t,n.effect),Se(this,ar).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of Se(this,Xr)){if(Se(this,Xr).delete(s),s===e)break;const a=Se(this,ar).get(r);a&&(Qo(a.effect),Se(this,ar).delete(r))}for(const[s,r]of Se(this,Ba)){if(s===t||Se(this,Fd).has(s))continue;const a=()=>{if(Array.from(Se(this,Xr).values()).includes(s)){var u=document.createDocumentFragment();x9(r,u),u.append(bl()),Se(this,ar).set(s,{effect:r,fragment:u})}else Qo(r);Se(this,Fd).delete(s),Se(this,Ba).delete(s)};Se(this,bp)||!i?(Se(this,Fd).add(s),Nd(r,a,!1)):a()}}});bn(this,Zv,e=>{Se(this,Xr).delete(e);const t=Array.from(Se(this,Xr).values());for(const[i,n]of Se(this,ar))t.includes(i)||(Qo(n.effect),Se(this,ar).delete(i))});this.anchor=e,Cn(this,bp,t)}ensure(e,t){var i=on,n=l6();if(t&&!Se(this,Ba).has(e)&&!Se(this,ar).has(e))if(n){var s=document.createDocumentFragment(),r=bl();s.append(r),Se(this,ar).set(e,{effect:kr(()=>t(r)),fragment:s})}else Se(this,Ba).set(e,kr(()=>t(this.anchor)));if(Se(this,Xr).set(i,e),n){for(const[a,d]of Se(this,Ba))a===e?i.unskip_effect(d):i.skip_effect(d);for(const[a,d]of Se(this,ar))a===e?i.unskip_effect(d.effect):i.skip_effect(d.effect);i.oncommit(Se(this,Cp)),i.ondiscard(Se(this,Zv))}else Se(this,Cp).call(this,i)}}Xr=new WeakMap,Ba=new WeakMap,ar=new WeakMap,Fd=new WeakMap,bp=new WeakMap,Cp=new WeakMap,Zv=new WeakMap;function z(o,e,t=!1){var i=new tP(o),n=t?z0:0;function s(r,a){i.ensure(r,a)}g9(()=>{var r=!1;e((a,d=0)=>{r=!0,s(d,a)}),r||s(-1,null)},n)}function Hi(o,e){return e}function iP(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let g=e[a];Nd(g,()=>{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var p=o.outrogroups;k1(o,rb(s.done)),p.delete(s),p.size===0&&(o.outrogroups=null)}}else r-=1},!1)}if(r===0){var d=i.length===0&&t!==null;if(d){var u=t,f=u.parentNode;OI(f),f.append(u),o.items.clear()}k1(o,e,!d)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function k1(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|=Ra;const r=document.createDocumentFragment();x9(s,r)}else Qo(e[n],t)}}var v8;function ei(o,e,t,i,n,s=null){var r=o,a=new Map,d=(e&Hk)!==0;if(d){var u=o;r=u.appendChild(bl())}var f=null,g=l9(()=>{var M=t();return s9(M)?M:M==null?[]:rb(M)}),p,C=new Map,b=!0;function y(M){(I.effect.f&Mr)===0&&(I.pending.delete(M),I.fallback=f,nP(I,p,r,e,i),f!==null&&(p.length===0?(f.f&Ra)===0?Hm(f):(f.f^=Ra,Kf(f,null,r)):Nd(f,()=>{f=null})))}function w(M){I.pending.delete(M)}var A=g9(()=>{p=c(g);for(var M=p.length,R=new Set,T=on,V=l6(),H=0;H<M;H+=1){var X=p[H],se=i(X,H),he=b?null:a.get(se);he?(he.v&&j0(he.v,X),he.i&&j0(he.i,H),V&&T.unskip_effect(he.e)):(he=sP(a,b?r:v8??(v8=bl()),X,se,H,n,e,t),b||(he.e.f|=Ra),a.set(se,he)),R.add(se)}if(M===0&&s&&!f&&(b?f=kr(()=>s(r)):(f=kr(()=>s(v8??(v8=bl()))),f.f|=Ra)),M>R.size&&V7(),!b)if(C.set(T,R),V){for(const[J,ue]of a)R.has(J)||T.skip_effect(ue.e);T.oncommit(y),T.ondiscard(w)}else y(T);c(g)}),I={effect:A,items:a,pending:C,outrogroups:null,fallback:f};b=!1}function Mf(o){for(;o!==null&&(o.f&aa)===0;)o=o.next;return o}function nP(o,e,t,i,n){var he,J,ue,be,re,ce,ke,Pe,xe;var s=(i&eI)!==0,r=e.length,a=o.items,d=Mf(o.effect.first),u,f=null,g,p=[],C=[],b,y,w,A;if(s)for(A=0;A<r;A+=1)b=e[A],y=n(b,A),w=a.get(y).e,(w.f&Ra)===0&&((J=(he=w.nodes)==null?void 0:he.a)==null||J.measure(),(g??(g=new Set)).add(w));for(A=0;A<r;A+=1){if(b=e[A],y=n(b,A),w=a.get(y).e,o.outrogroups!==null)for(const He of o.outrogroups)He.pending.delete(w),He.done.delete(w);if((w.f&To)!==0&&(Hm(w),s&&((be=(ue=w.nodes)==null?void 0:ue.a)==null||be.unfix(),(g??(g=new Set)).delete(w))),(w.f&Ra)!==0)if(w.f^=Ra,w===d)Kf(w,null,t);else{var I=f?f.next:d;w===o.effect.last&&(o.effect.last=w.prev),w.prev&&(w.prev.next=w.next),w.next&&(w.next.prev=w.prev),Kl(o,f,w),Kl(o,w,I),Kf(w,I,t),f=w,p=[],C=[],d=Mf(f.next);continue}if(w!==d){if(u!==void 0&&u.has(w)){if(p.length<C.length){var M=C[0],R;f=M.prev;var T=p[0],V=p[p.length-1];for(R=0;R<p.length;R+=1)Kf(p[R],M,t);for(R=0;R<C.length;R+=1)u.delete(C[R]);Kl(o,T.prev,V.next),Kl(o,f,T),Kl(o,V,M),d=M,f=V,A-=1,p=[],C=[]}else u.delete(w),Kf(w,d,t),Kl(o,w.prev,w.next),Kl(o,w,f===null?o.effect.first:f.next),Kl(o,f,w),f=w;continue}for(p=[],C=[];d!==null&&d!==w;)(u??(u=new Set)).add(d),C.push(d),d=Mf(d.next);if(d===null)continue}(w.f&Ra)===0&&p.push(w),f=w,d=Mf(w.next)}if(o.outrogroups!==null){for(const He of o.outrogroups)He.pending.size===0&&(k1(o,rb(He.done)),(re=o.outrogroups)==null||re.delete(He));o.outrogroups.size===0&&(o.outrogroups=null)}if(d!==null||u!==void 0){var H=[];if(u!==void 0)for(w of u)(w.f&To)===0&&H.push(w);for(;d!==null;)(d.f&To)===0&&d!==o.fallback&&H.push(d),d=Mf(d.next);var X=H.length;if(X>0){var se=(i&Hk)!==0&&r===0?t:null;if(s){for(A=0;A<X;A+=1)(ke=(ce=H[A].nodes)==null?void 0:ce.a)==null||ke.measure();for(A=0;A<X;A+=1)(xe=(Pe=H[A].nodes)==null?void 0:Pe.a)==null||xe.fix()}iP(o,H,se)}}s&&_c(()=>{var He,Ue;if(g!==void 0)for(w of g)(Ue=(He=w.nodes)==null?void 0:He.a)==null||Ue.apply()})}function sP(o,e,t,i,n,s,r,a){var d=(r&Q7)!==0?(r&tI)===0?TI(t,!1,!1):Iu(t):null,u=(r&J7)!==0?Iu(n):null;return{v:d,i:u,e:kr(()=>(s(e,d??t,u??n,a),()=>{o.delete(i)}))}}function Kf(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Ra)===0?e.nodes.start:t;i!==null;){var r=Wp(i);if(s.before(i),i===n)return;i=r}}function Kl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function hc(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var d=o;j(()=>{var u=zn;if(a!==(a=e()??"")){if(t){u.nodes=null,d.innerHTML=a,a!==""&&Pu(Na(d),d.lastChild);return}if(u.nodes!==null&&(h6(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?lI:n?cI:void 0,g=c6(i?"svg":n?"math":"template",f);g.innerHTML=a;var p=i||n?g:g.content;if(Pu(Na(p),p.lastChild),i||n)for(;Na(p);)r.before(Na(p));else r.before(p)}}})}function D6(o){var e,t,i="";if(typeof o=="string"||typeof o=="number")i+=o;else if(typeof o=="object")if(Array.isArray(o)){var n=o.length;for(e=0;e<n;e++)o[e]&&(t=D6(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function oP(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=D6(o))&&(i&&(i+=" "),i+=e);return i}function hg(o){return typeof o=="object"?oP(o):o??""}const _8=[...`
|
|
3
|
-
\r\f \v\uFEFF`];function rP(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||_8.includes(i[r-1]))&&(a===i.length||_8.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function b8(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 cC(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function aP(o,e){if(e){var t="",i,n;if(Array.isArray(e)?(i=e[0],n=e[1]):i=e,o){o=String(o).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var s=!1,r=0,a=!1,d=[];i&&d.push(...Object.keys(i).map(cC)),n&&d.push(...Object.keys(n).map(cC));var u=0,f=-1;const y=o.length;for(var g=0;g<y;g++){var p=o[g];if(a?p==="/"&&o[g-1]==="*"&&(a=!1):s?s===p&&(s=!1):p==="/"&&o[g+1]==="*"?a=!0:p==='"'||p==="'"?s=p:p==="("?r++:p===")"&&r--,!a&&s===!1&&r===0){if(p===":"&&f===-1)f=g;else if(p===";"||g===y-1){if(f!==-1){var C=cC(o.substring(u,f).trim());if(!d.includes(C)){p!==";"&&g++;var b=o.substring(u,g).trim();t+=" "+b+";"}}u=g+1,f=-1}}}}return i&&(t+=b8(i)),n&&(t+=b8(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function kt(o,e,t,i,n,s){var r=o[v1];if(r!==t||r===void 0){var a=rP(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[v1]=t}else if(s&&n!==s)for(var d in s){var u=!!s[d];(n==null||u!==!!n[d])&&o.classList.toggle(d,u)}return s}function dC(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 qo(o,e,t,i){var n=o[_1];if(n!==e){var s=aP(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[_1]=e}else i&&(Array.isArray(i)?(dC(o,t==null?void 0:t[0],i[0]),dC(o,t==null?void 0:t[1],i[1],"important")):dC(o,t,i));return i}function Wm(o,e,t=!1){if(o.multiple){if(e==null)return;if(!s9(e))return uI();for(var i of o.options)i.selected=e.includes(fg(i));return}for(i of o.options){var n=fg(i);if(RI(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function B1(o){var e=new MutationObserver(()=>{Wm(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),h9(()=>{e.disconnect()})}function Fs(o,e,t=e){var i=new WeakSet,n=!0;d9(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),fg);else{var d=o.querySelector(r)??o.querySelector("option:not([disabled])");a=d&&fg(d)}t(a),o.__value=a,on!==null&&i.add(on)}),f9(()=>{var s=e();if(o===document.activeElement){var r=on;if(i.has(r))return}if(Wm(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=fg(a),t(s))}o.__value=s,n=!1}),B1(o)}function fg(o){return"__value"in o?o.__value:o.value}const lP=Symbol("is custom element"),cP=Symbol("is html"),dP=W7?"progress":"PROGRESS";function F1(o,e){var t=m9(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==dP)||(o.value=e??"")}function Zo(o,e){var t=m9(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function ln(o,e,t,i){var n=m9(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[H7]=t),t==null?o.removeAttribute(e):typeof t!="string"&&uP(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function m9(o){return o[tm]??(o[tm]={[lP]:o.nodeName.includes("-"),[cP]:o.namespaceURI===Wk})}var C8=new Map;function uP(o){var e=o.getAttribute("is")||o.nodeName,t=C8.get(e);if(t)return t;C8.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=L7(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=Mk(n)}return t}function Vt(o,e,t=e){var i=new WeakSet;d9(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=uC(o)?hC(s):s,t(s),on!==null&&i.add(on),await hl(),s!==(s=e())){var r=o.selectionStart,a=o.selectionEnd,d=o.value.length;if(o.value=s??"",a!==null){var u=o.value.length;r===a&&a===d&&u>d?(o.selectionStart=u,o.selectionEnd=u):(o.selectionStart=r,o.selectionEnd=Math.min(a,u))}}}),Hl(e)==null&&o.value&&(t(uC(o)?hC(o.value):o.value),on!==null&&i.add(on)),ub(()=>{var n=e();if(o===document.activeElement){var s=on;if(i.has(s))return}uC(o)&&n===hC(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function ys(o,e,t=e){d9(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),Hl(e)==null&&t(o.checked),ub(()=>{var i=e();o.checked=!!i})}function uC(o){var e=o.type;return e==="number"||e==="range"}function hC(o){return o===""?null:+o}var cc,_0,Ep,Xv,A6;const Yv=class Yv{constructor(e){bn(this,Xv);bn(this,cc,new WeakMap);bn(this,_0);bn(this,Ep);Cn(this,Ep,e)}observe(e,t){var i=Se(this,cc).get(e)||new Set;return i.add(t),Se(this,cc).set(e,i),ts(this,Xv,A6).call(this).observe(e,Se(this,Ep)),()=>{var n=Se(this,cc).get(e);n.delete(t),n.size===0&&(Se(this,cc).delete(e),Se(this,_0).unobserve(e))}}};cc=new WeakMap,_0=new WeakMap,Ep=new WeakMap,Xv=new WeakSet,A6=function(){return Se(this,_0)??Cn(this,_0,new ResizeObserver(e=>{for(var t of e){Yv.entries.set(t.target,t);for(var i of Se(this,cc).get(t.target)||[])i(t)}}))},kn(Yv,"entries",new WeakMap);let L1=Yv;var hP=new L1({box:"border-box"});function fP(o,e,t){var i=hP.observe(o,()=>t(o[e]));f9(()=>(Hl(()=>t(o[e])),i))}function fC(o,e){return o===e||(o==null?void 0:o[Td])===e}function gs(o={},e,t,i){var n=go.r,s=zn;return f9(()=>{var r,a;return ub(()=>{r=a,a=[],Hl(()=>{fC(t(...a),o)||(e(o,...a),r&&fC(t(...r),o)&&e(null,...r))})}),()=>{let d=s;for(;d!==n&&d.parent!==null&&d.parent.f&m1;)d=d.parent;const u=()=>{a&&fC(t(...a),o)&&e(null,...a)},f=d.teardown;d.teardown=()=>{u(),f==null||f()}}}),o}function Tu(o,e,t,i){var R;var n=!0,s=(t&sI)!==0,r=(t&oI)!==0,a=i,d=!0,u=void 0,f=()=>r&&n?(u??(u=Hg(i)),c(u)):(d&&(d=!1,a=r?Hl(i):i),a);let g;if(s){var p=Td in o||O7 in o;g=((R=a0(o,e))==null?void 0:R.set)??(p&&e in o?T=>o[e]=T:void 0)}var C,b=!1;s?[C,b]=mI(()=>o[e]):C=o[e],C===void 0&&i!==void 0&&(C=f(),g&&(G7(),g(C)));var y;if(y=()=>{var T=o[e];return T===void 0?f():(d=!0,T)},(t&nI)===0)return y;if(g){var w=o.$$legacy;return(function(T,V){return arguments.length>0?((!V||w||b)&&g(V?y():T),T):y()})}var A=!1,I=((t&iI)!==0?Hg:l9)(()=>(A=!1,y()));s&&c(I);var M=zn;return(function(T,V){if(arguments.length>0){const H=V?c(I):s?Pi(T):T;return m(I,H),A=!0,a!==void 0&&(a=H),T}return kl&&A||(M.f&Mr)!==0?I.v:c(I)})}function Xs(o){go===null&&Ok(),Kn(()=>{const e=Hl(o);if(typeof e=="function")return e})}function Vp(o){go===null&&Ok(),Xs(()=>()=>Hl(o))}const gP="5";var sA;typeof window<"u"&&((sA=window.__svelte??(window.__svelte={})).v??(sA.v=new Set)).add(gP);/*!-----------------------------------------------------------------------------
|
|
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 pP=Object.defineProperty,xP=Object.getOwnPropertyDescriptor,mP=Object.getOwnPropertyNames,vP=Object.prototype.hasOwnProperty,_P=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of mP(e))!vP.call(o,n)&&n!==t&&pP(o,n,{get:()=>e[n],enumerable:!(i=xP(e,n))||i.enumerable});return o},bP=(o,e,t)=>(_P(o,e,"default"),t),jp={};bP(jp,rA);var CP=class{constructor(e,t,i){this._onDidChange=new jp.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)}},EP={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},yP={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},k6=new CP("json",EP,yP),wP=()=>B6().then(o=>o.getWorker());jp.languages.json={jsonDefaults:k6,getWorker:wP};function B6(){return oA(()=>import("./jsonMode-tUihOf0o.js"),__vite__mapDeps([0,1,2]))}jp.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});jp.languages.onLanguage("json",()=>{B6().then(o=>o.setupMode(k6))});/*!-----------------------------------------------------------------------------
|
|
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 SP=Object.defineProperty,DP=Object.getOwnPropertyDescriptor,AP=Object.getOwnPropertyNames,kP=Object.prototype.hasOwnProperty,BP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of AP(e))!kP.call(o,n)&&n!==t&&SP(o,n,{get:()=>e[n],enumerable:!(i=DP(e,n))||i.enumerable});return o},FP=(o,e,t)=>(BP(o,e,"default"),t),LP="5.4.5",U0={};FP(U0,rA);var F6=(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))(F6||{}),L6=(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))(L6||{}),I6=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(I6||{}),P6=(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))(P6||{}),T6=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(T6||{}),M6=class{constructor(o,e,t,i,n){this._onDidChange=new U0.Emitter,this._onDidExtraLibsChange=new U0.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)}},IP=LP,R6={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},N6=new M6({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},R6),O6=new M6({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},R6),PP=()=>hb().then(o=>o.getTypeScriptWorker()),TP=()=>hb().then(o=>o.getJavaScriptWorker());U0.languages.typescript={ModuleKind:F6,JsxEmit:L6,NewLineKind:I6,ScriptTarget:P6,ModuleResolutionKind:T6,typescriptVersion:IP,typescriptDefaults:N6,javascriptDefaults:O6,getTypeScriptWorker:PP,getJavaScriptWorker:TP};function hb(){return oA(()=>import("./tsMode-CRy9joSQ.js"),__vite__mapDeps([3,1,2]))}U0.languages.onLanguage("typescript",()=>hb().then(o=>o.setupTypeScript(N6)));U0.languages.onLanguage("javascript",()=>hb().then(o=>o.setupJavaScript(O6)));class MP extends Do{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:ki("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Zi.map,toggled:qe.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:qe.has("isInDiffEditor"),menu:{when:qe.has("isInDiffEditor"),id:ni.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class H6 extends Do{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:ki("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:qe.has("isInDiffEditor")})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class W6 extends Do{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:ki("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:qe.has("isInDiffEditor")})}run(e,...t){const i=e.get(ss),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const $p=ki("diffEditor","Diff Editor");class RP extends la{constructor(){super({id:"diffEditor.switchSide",title:ki("switchSide","Switch Side"),icon:Zi.arrowSwap,precondition:qe.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,i){const n=gf(e);if(n instanceof yp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class NP extends la{constructor(){super({id:"diffEditor.exitCompareMove",title:ki("exitCompareMove","Exit Compare Move"),icon:Zi.close,precondition:q.comparingMovedCode,f1:!1,category:$p,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.exitCompareMove()}}class OP extends la{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:ki("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Zi.fold,precondition:qe.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.collapseAllUnchangedRegions()}}class HP extends la{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:ki("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Zi.unfold,precondition:qe.has("isInDiffEditor"),f1:!0,category:$p})}runEditorCommand(e,t,...i){const n=gf(e);n instanceof yp&&n.showAllUnchangedRegions()}}class I1 extends Do{constructor(){super({id:"diffEditor.revert",title:ki("revert","Revert"),f1:!1,category:$p})}run(e,t){const i=WP(e,t.originalUri,t.modifiedUri);i instanceof yp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const z6=ki("accessibleDiffViewer","Accessible Diff Viewer"),Qv=class Qv extends Do{constructor(){super({id:Qv.id,title:ki("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:z6,precondition:qe.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=gf(e);t==null||t.accessibleDiffViewerNext()}};Qv.id="editor.action.accessibleDiffViewer.next";let zg=Qv;const Jv=class Jv extends Do{constructor(){super({id:Jv.id,title:ki("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:z6,precondition:qe.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=gf(e);t==null||t.accessibleDiffViewerPrev()}};Jv.id="editor.action.accessibleDiffViewer.prev";let zm=Jv;function WP(o,e,t){return o.get(bs).listDiffEditors().find(s=>{var d,u;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((d=r.getModel())==null?void 0:d.uri.toString())===t.toString()&&a&&((u=a.getModel())==null?void 0:u.uri.toString())===e.toString()})||null}function gf(o){const t=o.get(bs).listDiffEditors(),i=aA();if(i)for(const n of t){const s=n.getContainerDomNode();if(zP(s,i))return n}return null}function zP(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Vn(MP);Vn(H6);Vn(W6);Rr.appendMenuItem(ni.EditorTitle,{command:{id:new W6().desc.id,title:S("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:qe.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:qe.has("isInDiffEditor")},order:11,group:"1_diff",when:qe.and(q.diffEditorRenderSideBySideInlineBreakpointReached,qe.has("isInDiffEditor"))});Rr.appendMenuItem(ni.EditorTitle,{command:{id:new H6().desc.id,title:S("showMoves","Show Moved Code Blocks"),icon:Zi.move,toggled:XF.create("config.diffEditor.experimental.showMoves",!0),precondition:qe.has("isInDiffEditor")},order:10,group:"1_diff",when:qe.has("isInDiffEditor")});Vn(I1);for(const o of[{icon:Zi.arrowRight,key:q.diffEditorInlineMode.toNegated()},{icon:Zi.discard,key:q.diffEditorInlineMode}])Rr.appendMenuItem(ni.DiffEditorHunkToolbar,{command:{id:new I1().desc.id,title:S("revertHunk","Revert Block"),icon:o.icon},when:qe.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Rr.appendMenuItem(ni.DiffEditorSelectionToolbar,{command:{id:new I1().desc.id,title:S("revertSelection","Revert Selection"),icon:o.icon},when:qe.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Vn(RP);Vn(NP);Vn(OP);Vn(HP);Rr.appendMenuItem(ni.EditorTitle,{command:{id:zg.id,title:S("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:qe.has("isInDiffEditor")},order:10,group:"2_diff",when:qe.and(q.accessibleDiffViewerVisible.negate(),qe.has("isInDiffEditor"))});Qn.registerCommandAlias("editor.action.diffReview.next",zg.id);Vn(zg);Qn.registerCommandAlias("editor.action.diffReview.prev",zm.id);Vn(zm);var VP=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jP=function(o,e){return function(t,i){e(t,i,o)}},P1;const fb=new En("selectionAnchorSet",!1);var Vd;let zc=(Vd=class{static get(e){return e.getContribution(P1.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=fb.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(Ui.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new lo().appendText(S("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Nr(S("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(Ui.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()}},P1=Vd,Vd.ID="editor.contrib.selectionAnchorController",Vd);zc=P1=VP([jP(1,Fn)],zc);class $P extends _t{constructor(){super({id:"editor.action.setSelectionAnchor",label:S("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2080),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.setSelectionAnchor()}}class UP extends _t{constructor(){super({id:"editor.action.goToSelectionAnchor",label:S("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:fb})}async run(e,t){var i;(i=zc.get(t))==null||i.goToSelectionAnchor()}}class qP extends _t{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:S("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:fb,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2089),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.selectFromAnchorToCursor()}}class GP extends _t{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:S("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:fb,kbOpts:{kbExpr:q.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.cancelSelectionAnchor()}}un(zc.ID,zc,4);Fe($P);Fe(UP);Fe(qP);Fe(GP);const KP=vi("editorOverviewRuler.bracketMatchForeground","#A0A0A0",S("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class ZP extends _t{constructor(){super({id:"editor.action.jumpToBracket",label:S("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=Mu.get(t))==null||i.jumpToBracket()}}class XP extends _t{constructor(){super({id:"editor.action.selectToBracket",label:S("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:ki("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=Mu.get(t))==null||s.selectToBracket(n)}}class YP extends _t{constructor(){super({id:"editor.action.removeBrackets",label:S("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=Mu.get(t))==null||i.removeBrackets(this.id)}}class QP{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const ic=class ic extends Rt{static get(e){return e.getContribution(ic.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Ps(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{const n=i.getStartPosition(),s=e.bracketPairs.matchBracket(n);let r=null;if(s)s[0].containsPosition(n)&&!s[1].containsPosition(n)?r=s[1].getStartPosition():s[1].containsPosition(n)&&(r=s[0].getStartPosition());else{const a=e.bracketPairs.findEnclosingBrackets(n);if(a)r=a[1].getStartPosition();else{const d=e.bracketPairs.findNextBracket(n);d&&d.range&&(r=d.range.getStartPosition())}}return r?new Ui(r.lineNumber,r.column,r.lineNumber,r.column):new Ui(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(n=>{const s=n.getStartPosition();let r=t.bracketPairs.matchBracket(s);if(!r&&(r=t.bracketPairs.findEnclosingBrackets(s),!r)){const u=t.bracketPairs.findNextBracket(s);u&&u.range&&(r=t.bracketPairs.matchBracket(u.range.getStartPosition()))}let a=null,d=null;if(r){r.sort(Q.compareRangesUsingStarts);const[u,f]=r;if(a=e?u.getStartPosition():u.getEndPosition(),d=e?f.getEndPosition():f.getStartPosition(),f.containsPosition(s)){const g=a;a=d,d=g}}a&&d&&i.push(new Ui(a.lineNumber,a.column,d.lineNumber,d.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach(i=>{const n=i.getPosition();let s=t.bracketPairs.matchBracket(n);s||(s=t.bracketPairs.findEnclosingBrackets(n)),s&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:s[0],text:""},{range:s[1],text:""}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const n=i.brackets;n&&(e[t++]={range:n[0],options:i.options},e[t++]={range:n[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),i=t.getVersionId();let n=[];this._lastVersionId===i&&(n=this._lastBracketsData);const s=[];let r=0;for(let g=0,p=e.length;g<p;g++){const C=e[g];C.isEmpty()&&(s[r++]=C.getStartPosition())}s.length>1&&s.sort(Li.compare);const a=[];let d=0,u=0;const f=n.length;for(let g=0,p=s.length;g<p;g++){const C=s[g];for(;u<f&&n[u].position.isBefore(C);)u++;if(u<f&&n[u].position.equals(C))a[d++]=n[u];else{let b=t.bracketPairs.matchBracket(C,20),y=ic._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!b&&this._matchBrackets==="always"&&(b=t.bracketPairs.findEnclosingBrackets(C,20),y=ic._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[d++]=new QP(C,b,y)}}this._lastBracketsData=a,this._lastVersionId=i}};ic.ID="editor.contrib.bracketMatchingController",ic._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=mn.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:Bs(KP),position:Ha.Center}}),ic._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=mn.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Mu=ic;un(Mu.ID,Mu,1);Fe(XP);Fe(ZP);Fe(YP);Rr.appendMenuItem(ni.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:S({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class JP{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 Q(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new Q(i,s,i,s),a)}else{const r=new Q(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new Q(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new Ui(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new Ui(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class V6 extends _t{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 JP(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class eT extends V6{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:S("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:q.writable})}}class tT extends V6{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:S("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:q.writable})}}Fe(eT);Fe(tT);class iT extends _t{constructor(){super({id:"editor.action.transposeLetters",label:S("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=[],s=t.getSelections();for(const r of s){if(!r.isEmpty())continue;const a=r.startLineNumber,d=r.startColumn,u=i.getLineMaxColumn(a);if(a===1&&(d===1||d===2&&u===2))continue;const f=d===u?r.getPosition():Jb.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=Jb.leftPosition(i,f),p=Jb.leftPosition(i,g),C=i.getValueInRange(Q.fromPositions(p,g)),b=i.getValueInRange(Q.fromPositions(g,f)),y=Q.fromPositions(p,f);n.push(new wp(y,b+C))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}Fe(iT);const gb=(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 v9(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function nT(o,e,t){const i={id:gb(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class j6{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 ml.some(this,([i,n])=>n.asFile())&&t.push("files"),U6(Vm(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 Vm(e)}}function Vm(o){return o.toLowerCase()}function $6(o,e){return U6(Vm(o),e.map(Vm))}function U6(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 pb=Object.freeze({create:o=>lA(o.map(e=>e.toString())).join(`\r
|
|
14
|
-
`),split:o=>o.split(`\r
|
|
15
|
-
`),parse:o=>pb.split(o).filter(e=>!e.startsWith("#"))}),wa=class wa{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+wa.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new wa((this.value?[this.value,...e]:e).join(wa.sep))}};wa.sep=".",wa.None=new wa("@@none@@"),wa.Empty=new wa("");let ns=wa;const E8={EDITORS:"CodeEditors",FILES:"CodeFiles"};class sT{}const oT={DragAndDropContribution:"workbench.contributions.dragAndDrop"};ca.add(oT.DragAndDropContribution,new sT);const wg=class wg{constructor(){}static getInstance(){return wg.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};wg.INSTANCE=new wg;let T1=wg;function q6(o){const e=new j6;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,v9(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,rT(n))}}return e}function rT(o){const e=o.path?jn.parse(o.path):void 0;return nT(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const aT=Object.freeze([E8.EDITORS,E8.FILES,e1.RESOURCES,e1.INTERNAL_URI_LIST]);function G6(o,e=!1){const t=q6(o),i=t.get(e1.INTERNAL_URI_LIST);if(i)t.replace(Zs.uriList,i);else if(e||!t.has(Zs.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(jn.file(a).toString()):n.push(jn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Zs.uriList,v9(pb.create(n)))}for(const n of aT)t.delete(n);return t}var _9=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Vg=function(o,e){return function(t,i){e(t,i,o)}};class b9{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 Sg=class Sg extends b9{constructor(){super(...arguments),this.kind=Sg.kind,this.dropMimeTypes=[Zs.text],this.pasteMimeTypes=[Zs.text]}async getEdit(e,t){const i=e.get(Zs.text);if(!i||e.has(Zs.uriList))return;const n=await i.asString();return{handledMimeType:Zs.text,title:S("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};Sg.id="text",Sg.kind=new ns("text.plain");let Ru=Sg;class K6 extends b9{constructor(){super(...arguments),this.kind=new ns("uri.absolute"),this.dropMimeTypes=[Zs.uriList],this.pasteMimeTypes=[Zs.uriList]}async getEdit(e,t){const i=await Z6(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:d})=>a.scheme===Co.file?a.fsPath:(n++,d)).join(" ");let r;return n>0?r=i.length>1?S("defaultDropProvider.uriList.uris","Insert Uris"):S("defaultDropProvider.uriList.uri","Insert Uri"):r=i.length>1?S("defaultDropProvider.uriList.paths","Insert Paths"):S("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Zs.uriList,insertText:s,title:r,kind:this.kind}}}let jm=class extends b9{constructor(e){super(),this._workspaceContextService=e,this.kind=new ns("uri.relative"),this.dropMimeTypes=[Zs.uriList],this.pasteMimeTypes=[Zs.uriList]}async getEdit(e,t){const i=await Z6(e);if(!i.length||t.isCancellationRequested)return;const n=yl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?YF(r.uri,s):void 0}));if(n.length)return{handledMimeType:Zs.uriList,insertText:n.join(" "),title:i.length>1?S("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):S("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};jm=_9([Vg(0,F0)],jm);class lT{constructor(){this.kind=new ns("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Zs.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var d;if(n.triggerKind!==t1.PasteAs&&!((d=n.only)!=null&&d.contains(this.kind)))return;const r=i.get("text/html"),a=await(r==null?void 0:r.asString());if(!(!a||s.isCancellationRequested))return{dispose(){},edits:[{insertText:a,yieldTo:this._yieldTo,title:S("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function Z6(o){const e=o.get(Zs.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of pb.parse(t))try{i.push({uri:jn.parse(n),originalText:n})}catch{}return i}let M1=class extends Rt{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new Ru)),this._register(e.documentDropEditProvider.register("*",new K6)),this._register(e.documentDropEditProvider.register("*",new jm(t)))}};M1=_9([Vg(0,Ii),Vg(1,F0)],M1);let R1=class extends Rt{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Ru)),this._register(e.documentPasteEditProvider.register("*",new K6)),this._register(e.documentPasteEditProvider.register("*",new jm(t))),this._register(e.documentPasteEditProvider.register("*",new lT))}};R1=_9([Vg(0,Ii),Vg(1,F0)],R1);const br=class br{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=br._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(br.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(br.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(br.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(br.isVariableCharacter(i)||br.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 br._table[i]>"u"&&!br.isDigitCharacter(i)&&!br.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};br._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let N1=br;class pf{constructor(){this._children=[]}appendChild(e){return e instanceof Po&&this._children[this._children.length-1]instanceof Po?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,n=i.children.indexOf(e),s=i.children.slice(0);s.splice(n,1,...t),i._children=s,(function r(a,d){for(const u of a)u.parent=d,r(u.children,u)})(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof Up)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let Po=class X6 extends pf{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new X6(this.value)}};class Y6 extends pf{}class ur extends Y6{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 xf?this._children[0]:void 0}clone(){const e=new ur(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class xf extends pf{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Po&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new xf;return this.options.forEach(e.appendChild,e),e}}class C9 extends pf{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 Yr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Yr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new C9;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 Yr extends pf{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 Yr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class jg extends Y6{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 Po(t)],!0):!1}clone(){const e=new jg(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function y8(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class Up extends pf{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof ur&&(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 y8([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof ur&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof jg&&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 Up;return this._children=this.children.map(t=>t.clone()),e}walk(e){y8(this.children,e)}}class Nu{constructor(){this._scanner=new N1,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 Up;return this.parseFragment(e,n),this.ensureFinalTabstop(n,i??!1,t??!1),n}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const n=new Map,s=[];t.walk(d=>(d instanceof ur&&(d.isFinalTabstop?n.set(0,void 0):!n.has(d.index)&&d.children.length>0?n.set(d.index,d.children):s.push(d)),!0));const r=(d,u)=>{const f=n.get(d.index);if(!f)return;const g=new ur(d.index);g.transform=d.transform;for(const p of f){const C=p.clone();g.appendChild(C),C instanceof ur&&n.has(C.index)&&!u.has(C.index)&&(u.add(C.index),r(C,u),u.delete(C.index))}t.replace(d,[g])},a=new Set;for(const d of s)r(d,a);return t.children.slice(i)}ensureFinalTabstop(e,t,i){(t||i&&e.placeholders.length>0)&&(e.placeholders.find(s=>s.index===0)||e.appendChild(new ur(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 Po(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 ur(Number(t)):new jg(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 ur(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Po("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new xf;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 Po(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 jg(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Po("${"+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 C9;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 Po(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 Yr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Yr(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 Yr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Yr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Yr(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 Yr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Yr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new Po(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function Q6(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 QF(o,{range:s,text:typeof t.insertText=="string"?Nu.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function J6(o){function e(r,a){return"mimeType"in r?r.mimeType===a.handledMimeType:!!a.kind&&r.kind.contains(a.kind)}const t=new Map;for(const r of o)for(const a of r.yieldTo??[])for(const d of o)if(d!==r&&e(a,d)){let u=t.get(r);u||(u=[],t.set(r,u)),u.push(d)}if(!t.size)return Array.from(o);const i=new Set,n=[];function s(r){if(!r.length)return[];const a=r[0];if(n.includes(a))return console.warn("Yield to cycle detected",a),r;if(i.has(a))return s(r.slice(1));let d=[];const u=t.get(a);return u&&(n.push(a),d=s(u),n.pop()),i.add(a),[...d,a,...s(r.slice(1))]}return s(Array.from(o))}var cT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dT=function(o,e){return function(t,i){e(t,i,o)}};const uT=mn.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:cA,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),e_=class e_ extends Rt{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=mi(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=mi("span.icon");this.domNode.append(t),t.classList.add(...Mn.asClassNameArray(Zi.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(Bn(this.domNode,as.CLICK,n=>{this.delegate.cancel()}))}getId(){return e_.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)}};e_.baseId="editor.widget.inlineProgressWidget";let O1=e_,$m=class extends Rt{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Jo),this._currentWidget=this._register(new Jo),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=kg(()=>{const a=Q.fromPositions(e);this._currentDecorations.set([{range:a,options:uT}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(O1,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()}};$m=cT([dT(2,nn)],$m);var hT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},w8=function(o,e){return function(t,i){e(t,i,o)}},am,Cc;let Mo=(Cc=class{static get(e){return e.getContribution(am.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Jo,this._messageListeners=new Tt,this._mouseOverMessage=!1,this._editor=e,this._visible=am.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){Nr(Zx(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=Zx(e)?JF(e,{actionHandler:{callback:n=>{this.closeMessage(),e3(this._openerService,n,Zx(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new S8(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(Is.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&t3(aA(),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(Bn(this._messageWidget.value.getDomNode(),as.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Bn(this._messageWidget.value.getDomNode(),as.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 Q(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(S8.fadeOut(this._messageWidget.value))}},am=Cc,Cc.ID="editor.contrib.messageController",Cc.MESSAGE_VISIBLE=new En("messageVisible",!1,S("messageVisible","Whether the editor is currently showing an inline message")),Cc);Mo=am=hT([w8(1,Fn),w8(2,da)],Mo);const fT=Ao.bindToContribution(Mo.get);Mi(new fT({id:"leaveEditorMessage",precondition:Mo.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let S8=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)}};un(Mo.ID,Mo,4);function gC(o,e){return e&&(o.stack||o.stacktrace)?S("stackTrace.format","{0}: {1}",A8(o),D8(o.stack)||D8(o.stacktrace)):A8(o)}function D8(o){return Array.isArray(o)?o.join(`
|
|
16
|
-
`):o}function A8(o){return o.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${o.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof o.code=="string"&&typeof o.errno=="number"&&typeof o.syscall=="string"?S("nodeExceptionMessage","A system error occurred ({0})",o.message):o.message||S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function Um(o=null,e=!1){if(!o)return S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=yl(o),i=Um(t[0],e);return t.length>1?S("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(dA(o))return o;if(o.detail){const t=o.detail;if(t.error)return gC(t.error,e);if(t.exception)return gC(t.exception,e)}return o.stack?gC(o,e):o.message?o.message:S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var e5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},c0=function(o,e){return function(t,i){e(t,i,o)}},H1,jd;let W1=(jd=class extends Rt{constructor(e,t,i,n,s,r,a,d,u,f){super(),this.typeId=e,this.editor=t,this.showCommand=n,this.range=s,this.edits=r,this.onSelectNewEdit=a,this._contextMenuService=d,this._keybindingService=f,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(u),this.visibleContext.set(!0),this._register(is(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(is((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(g=>{s.containsPosition(g.position)||this.dispose()})),this._register(Is.runAndSubscribe(f.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){var t;const e=(t=this._keybindingService.lookupKeybinding(this.showCommand.id))==null?void 0:t.getLabel();this.button.element.title=this.showCommand.label+(e?` (${e})`:"")}create(){this.domNode=mi(".post-edit-widget"),this.button=this._register(new i3(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Bn(this.domNode,as.CLICK,()=>this.showSelector()))}getId(){return H1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=yo(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>n3({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},H1=jd,jd.baseId="editor.widget.postEditWidget",jd);W1=H1=e5([c0(7,af),c0(8,Fn),c0(9,Ds)],W1);let qm=class extends Rt{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 Jo),this._register(Is.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,i,n,s){const r=this._editor.getModel();if(!r||!e.length)return;const a=t.allEdits.at(t.activeEditIndex);if(!a)return;const d=async w=>{const A=this._editor.getModel();A&&(await A.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:w,allEdits:t.allEdits},i,n,s))},u=(w,A)=>{qc(w)||(this._notificationService.error(A),i&&this.show(e[0],t,d))};let f;try{f=await n(a,s)}catch(w){return u(w,S("resolveError",`Error resolving edit '{0}':
|
|
17
|
-
{1}`,a.title,Um(w)))}if(s.isCancellationRequested)return;const g=Q6(r.uri,e,f),p=e[0],C=r.deltaDecorations([],[{range:p,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let b,y;try{b=await this._bulkEditService.apply(g,{editor:this._editor,token:s}),y=r.getDecorationRange(C[0])}catch(w){return u(w,S("applyError",`Error applying edit '{0}':
|
|
18
|
-
{1}`,a.title,Um(w)))}finally{r.deltaDecorations(C,[])}s.isCancellationRequested||i&&b.isApplied&&t.allEdits.length>1&&this.show(y??p,t,d)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(W1,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()}};qm=e5([c0(4,nn),c0(5,W_),c0(6,mo)],qm);var gT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},bh=function(o,e){return function(t,i){e(t,i,o)}},gd;const t5="editor.changePasteType",E9=new En("pasteWidgetVisible",!1,S("pasteWidgetVisible","Whether the paste widget is showing")),pC="application/vnd.code.copyMetadata";var $d;let Bl=($d=class extends Rt{static get(e){return e.getContribution(gd.ID)}constructor(e,t,i,n,s,r,a){super(),this._bulkEditService=i,this._clipboardService=n,this._languageFeaturesService=s,this._quickInputService=r,this._progressService=a,this._editor=e;const d=e.getContainerDomNode();this._register(Bn(d,"copy",u=>this.handleCopy(u))),this._register(Bn(d,"cut",u=>this.handleCopy(u))),this._register(Bn(d,"paste",u=>this.handlePaste(u),!0)),this._pasteProgressManager=this._register(new $m("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(qm,"pasteIntoEditor",e,E9,{id:t5,label:S("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},Bw().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){var y,w,A,I;if(!this._editor.hasTextFocus()||((w=(y=this._clipboardService).clearInternalState)==null||w.call(y),!e.clipboardData||!this.isPasteAsEnabled()))return;const t=this._editor.getModel(),i=this._editor.getSelections();if(!t||!(i!=null&&i.length))return;const n=this._editor.getOption(37);let s=i;const r=i.length===1&&i[0].isEmpty();if(r){if(!n)return;s=[new Q(s[0].startLineNumber,1,s[0].startLineNumber,1+t.getLineLength(s[0].startLineNumber))]}const a=(A=this._editor._getViewModel())==null?void 0:A.getPlainTextToCopy(i,n,z_),u={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:r,mode:null},f=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(M=>!!M.prepareDocumentPaste);if(!f.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:u});return}const g=q6(e.clipboardData),p=f.flatMap(M=>M.copyMimeTypes??[]),C=gb();this.setCopyMetadata(e.clipboardData,{id:C,providerCopyMimeTypes:p,defaultPastePayload:u});const b=Us(async M=>{const R=yl(await Promise.all(f.map(async T=>{try{return await T.prepareDocumentPaste(t,s,g,M)}catch(V){console.error(V);return}})));R.reverse();for(const T of R)for(const[V,H]of T)g.replace(V,H);return g});(I=gd._currentCopyOperation)==null||I.dataTransferPromise.cancel(),gd._currentCopyOperation={handle:C,dataTransferPromise:b}}async handlePaste(e){var d,u,f;if(!e.clipboardData||!this._editor.hasTextFocus())return;(d=Mo.get(this._editor))==null||d.closeMessage(),(u=this._currentPasteOperation)==null||u.cancel(),this._currentPasteOperation=void 0;const t=this._editor.getModel(),i=this._editor.getSelections();if(!(i!=null&&i.length)||!t||this._editor.getOption(92)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const n=this.fetchCopyMetadata(e),s=G6(e.clipboardData);s.delete(pC);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],Zs.uriList],a=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(g=>{var C,b;const p=(C=this._pasteAsActionContext)==null?void 0:C.preferred;return p&&g.providedPasteEditKinds&&!this.providerMatchesPreference(g,p)?!1:(b=g.pasteMimeTypes)==null?void 0:b.some(y=>$6(y,r))});if(!a.length){(f=this._pasteAsActionContext)!=null&&f.preferred&&this.showPasteAsNoEditMessage(i,this._pasteAsActionContext.preferred);return}e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,a,i,s,n):this.doPasteInline(a,i,s,n,e)}showPasteAsNoEditMessage(e,t){var i;(i=Mo.get(this._editor))==null||i.showMessage(S("pasteAsError","No paste edits for '{0}' found",t instanceof ns?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new L0(r,3,void 0),d=Us(async u=>{const f=this._editor;if(!f.hasModel())return;const g=f.getModel(),p=new Tt,C=p.add(new qs(u));p.add(a.token.onCancellationRequested(()=>C.cancel()));const b=C.token;try{if(await this.mergeInDataFromCopy(i,n,b),b.isCancellationRequested)return;const y=e.filter(I=>this.isSupportedPasteProvider(I,i));if(!y.length||y.length===1&&y[0]instanceof Ru)return this.applyDefaultPasteHandler(i,n,b,s);const w={triggerKind:t1.Automatic},A=await this.getPasteEdits(y,i,g,t,w,b);if(p.add(A),b.isCancellationRequested)return;if(A.edits.length===1&&A.edits[0].provider instanceof Ru)return this.applyDefaultPasteHandler(i,n,b,s);if(A.edits.length){const I=f.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:A.edits},I,(M,R)=>new Promise((T,V)=>{(async()=>{var H,X;try{const se=(X=(H=M.provider).resolveDocumentPasteEdit)==null?void 0:X.call(H,M,R),he=new V_,J=se&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),S("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([he.p,se]),{cancel:()=>(he.cancel(),V(new j_))},0);return J&&(M.additionalEdit=J.additionalEdit),T(M)}catch(se){return V(se)}})()}),b)}await this.applyDefaultPasteHandler(i,n,b,s)}finally{p.dispose(),this._currentPasteOperation===d&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),S("pasteIntoEditorProgress","Running paste handlers. Click to cancel and do basic paste"),d,{cancel:async()=>{try{if(d.cancel(),a.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(i,n,a.token,s)}finally{a.dispose()}}}).then(()=>{a.dispose()}),this._currentPasteOperation=d}showPasteAsPick(e,t,i,n,s){const r=Us(async a=>{const d=this._editor;if(!d.hasModel())return;const u=d.getModel(),f=new Tt,g=f.add(new L0(d,3,void 0,a));try{if(await this.mergeInDataFromCopy(n,s,g.token),g.token.isCancellationRequested)return;let p=t.filter(A=>this.isSupportedPasteProvider(A,n,e));e&&(p=p.filter(A=>this.providerMatchesPreference(A,e)));const C={triggerKind:t1.PasteAs,only:e&&e instanceof ns?e:void 0};let b=f.add(await this.getPasteEdits(p,n,u,i,C,g.token));if(g.token.isCancellationRequested)return;if(e&&(b={edits:b.edits.filter(A=>e instanceof ns?e.contains(A.kind):e.providerId===A.provider.id),dispose:b.dispose}),!b.edits.length){C.only&&this.showPasteAsNoEditMessage(i,C.only);return}let y;if(e)y=b.edits.at(0);else{const A=await this._quickInputService.pick(b.edits.map(I=>{var M;return{label:I.title,description:(M=I.kind)==null?void 0:M.value,edit:I}}),{placeHolder:S("pasteAsPickerPlaceholder","Select Paste Action")});y=A==null?void 0:A.edit}if(!y)return;const w=Q6(u.uri,i,y);await this._bulkEditService.apply(w,{editor:this._editor})}finally{f.dispose(),this._currentPasteOperation===r&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:S("pasteAsProgress","Running paste handlers")},()=>r)}setCopyMetadata(e,t){e.setData(pC,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(pC);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=s3.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=gd._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await gd._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(Zs.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(Zs.uriList,v9(pb.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new Tt,d=await Sp(Promise.all(e.map(async f=>{var g,p;try{const C=await((g=f.provideDocumentPasteEdits)==null?void 0:g.call(f,i,n,t,s,r));return C&&a.add(C),(p=C==null?void 0:C.edits)==null?void 0:p.map(b=>({...b,provider:f}))}catch(C){qc(C)||console.error(C);return}})),r),u=yl(d??[]).flat().filter(f=>!s.only||s.only.contains(f.kind));return{edits:J6(u),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(Zs.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 ns?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},gd=$d,$d.ID="editor.contrib.copyPasteActionController",$d);Bl=gd=gT([bh(1,nn),bh(2,W_),bh(3,lf),bh(4,Ii),bh(5,Tl),bh(6,o3)],Bl);const Ou="9_cutcopypaste",pT=cf||document.queryCommandSupported("cut"),i5=cf||document.queryCommandSupported("copy"),xT=typeof navigator.clipboard>"u"||r3?document.queryCommandSupported("paste"):!0;function y9(o){return o.register(),o}const mT=pT?y9(new Fw({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:cf?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:ni.MenubarEditMenu,group:"2_ccp",title:S({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:ni.EditorContext,group:Ou,title:S("actions.clipboard.cutLabel","Cut"),when:q.writable,order:1},{menuId:ni.CommandPalette,group:"",title:S("actions.clipboard.cutLabel","Cut"),order:1},{menuId:ni.SimpleEditorContext,group:Ou,title:S("actions.clipboard.cutLabel","Cut"),when:q.writable,order:1}]})):void 0,vT=i5?y9(new Fw({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:cf?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:ni.MenubarEditMenu,group:"2_ccp",title:S({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:ni.EditorContext,group:Ou,title:S("actions.clipboard.copyLabel","Copy"),order:2},{menuId:ni.CommandPalette,group:"",title:S("actions.clipboard.copyLabel","Copy"),order:1},{menuId:ni.SimpleEditorContext,group:Ou,title:S("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;Rr.appendMenuItem(ni.MenubarEditMenu,{submenu:ni.MenubarCopy,title:ki("copy as","Copy As"),group:"2_ccp",order:3});Rr.appendMenuItem(ni.EditorContext,{submenu:ni.EditorContextCopy,title:ki("copy as","Copy As"),group:Ou,order:3});Rr.appendMenuItem(ni.EditorContext,{submenu:ni.EditorContextShare,title:ki("share","Share"),group:"11_share",order:-1,when:qe.and(qe.notEquals("resourceScheme","output"),q.editorTextFocus)});Rr.appendMenuItem(ni.ExplorerContext,{submenu:ni.ExplorerContextShare,title:ki("share","Share"),group:"11_share",order:-1});const xC=xT?y9(new Fw({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:cf?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:ni.MenubarEditMenu,group:"2_ccp",title:S({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:ni.EditorContext,group:Ou,title:S("actions.clipboard.pasteLabel","Paste"),when:q.writable,order:4},{menuId:ni.CommandPalette,group:"",title:S("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:ni.SimpleEditorContext,group:Ou,title:S("actions.clipboard.pasteLabel","Paste"),when:q.writable,order:4}]})):void 0;class _T extends _t{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:S("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(LS.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),LS.forceCopyWithSyntaxHighlighting=!1)}}function n5(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(bs).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)=>(Bw().execCommand(e),!0)))}n5(mT,"cut");n5(vT,"copy");xC&&(xC.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(bs),i=o.get(lf),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=Bl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():a3?(async()=>{const a=await i.readText();if(a!==""){const d=l3.INSTANCE.get(a);let u=!1,f=null,g=null;d&&(u=n.getOption(37)&&!!d.isFromEmptySelection,f=typeof d.multicursorText<"u"?d.multicursorText:null,g=d.mode),n.trigger("keyboard","paste",{text:a,pasteOnNewLine:u,multicursorText:f,mode:g})}})():!0:!1}),xC.addImplementation(0,"generic-dom",(o,e)=>(Bw().execCommand("paste"),!0)));i5&&Fe(_T);const Xn=new class{constructor(){this.QuickFix=new ns("quickfix"),this.Refactor=new ns("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 ns("notebook"),this.Source=new ns("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var Ho;(function(o){o.Refactor="refactor",o.RefactorPreview="refactor preview",o.Lightbulb="lightbulb",o.Default="other (default)",o.SourceAction="source action",o.QuickFix="quick fix action",o.FixAll="fix all",o.OrganizeImports="organize imports",o.AutoFix="auto fix",o.QuickFixHover="quick fix hover window",o.OnSave="save participants",o.ProblemsView="problems view"})(Ho||(Ho={}));function bT(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>s5(e,t,o.include))||!o.includeSourceActions&&Xn.Source.contains(e))}function CT(o,e){const t=e.kind?new ns(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>s5(t,i,o.include))||!o.includeSourceActions&&t&&Xn.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function s5(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class Pa{static fromUser(e,t){return!e||typeof e!="object"?new Pa(t.kind,t.apply,!1):new Pa(Pa.getKindFromUser(e,t.kind),Pa.getApplyFromUser(e,t.apply),Pa.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 ns(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 ET{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){_s(n)}i&&(this.action.edit=i.edit)}return this}}const o5="editor.action.codeAction",w9="editor.action.quickFix",r5="editor.action.autoFix",a5="editor.action.refactor",l5="editor.action.sourceAction",z1="editor.action.organizeImports",V1="editor.action.fixAll";class gg extends Rt{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:Xo(e.diagnostics)?Xo(t.diagnostics)?gg.codeActionsPreferredComparator(e,t):-1:Xo(t.diagnostics)?1:gg.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(gg.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&Xn.QuickFix.contains(new ns(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 k8={actions:[],documentation:void 0};async function qh(o,e,t,i,n,s){var y;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],Xn.Notebook]},d={only:(y=r.include)==null?void 0:y.value,trigger:i.type},u=new c3(e,s),f=i.type===2,g=yT(o,e,f?a:r),p=new Tt,C=g.map(async w=>{try{n.report(w);const A=await w.provideCodeActions(e,t,d,u.token);if(A&&p.add(A),u.token.isCancellationRequested)return k8;const I=((A==null?void 0:A.actions)||[]).filter(R=>R&&CT(r,R)),M=ST(w,I,r.include);return{actions:I.map(R=>new ET(R,w)),documentation:M}}catch(A){if(qc(A))throw A;return _s(A),k8}}),b=o.onDidChange(()=>{const w=o.all(e);ja(w,g)||u.cancel()});try{const w=await Promise.all(C),A=w.map(M=>M.actions).flat(),I=[...yl(w.map(M=>M.documentation)),...wT(o,e,i,A)];return new gg(A,I,p)}finally{b.dispose(),u.dispose()}}function yT(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>bT(t,new ns(n))):!0)}function*wT(o,e,t,i){var n,s,r;if(e&&i.length)for(const a of o.all(e))a._getAdditionalMenuItems&&(yield*(r=a._getAdditionalMenuItems)==null?void 0:r.call(a,{trigger:t.type,only:(s=(n=t.filter)==null?void 0:n.include)==null?void 0:s.value},i.map(d=>d.action)))}function ST(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new ns(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 ns(n.kind)))return s.command}}var Sd;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(Sd||(Sd={}));async function DT(o,e,t,i,n=an.None){var u;const s=o.get(W_),r=o.get(zs),a=o.get(ua),d=o.get(mo);if(a.publicLog2("codeAction.applyCodeAction",{codeActionTitle:e.action.title,codeActionKind:e.action.kind,codeActionIsPreferred:!!e.action.isPreferred,reason:t}),await e.resolve(n),!n.isCancellationRequested&&!((u=e.action.edit)!=null&&u.edits.length&&!(await s.apply(e.action.edit,{editor:i==null?void 0:i.editor,label:e.action.title,quotableLabel:e.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:t!==Sd.OnSave,showPreview:i==null?void 0:i.preview})).isApplied)&&e.action.command)try{await r.executeCommand(e.action.command.id,...e.action.command.arguments||[])}catch(f){const g=AT(f);d.error(typeof g=="string"?g:S("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function AT(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}Qn.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof jn))throw vl();const{codeActionProvider:s}=o.get(Ii),r=o.get(vo).getModel(e);if(!r)throw vl();const a=Ui.isISelection(t)?Ui.liftSelection(t):Q.isIRange(t)?r.validateRange(t):void 0;if(!a)throw vl();const d=typeof i=="string"?new ns(i):void 0,u=await qh(s,r,a,{type:1,triggerAction:Ho.Default,filter:{includeSourceActions:!0,include:d}},fl.None,an.None),f=[],g=Math.min(u.validActions.length,typeof n=="number"?n:0);for(let p=0;p<g;p++)f.push(u.validActions[p].resolve(an.None));try{return await Promise.all(f),u.validActions.map(p=>p.action)}finally{setTimeout(()=>u.dispose(),100)}});var kT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},BT=function(o,e){return function(t,i){e(t,i,o)}},j1,Ud;let $1=(Ud=class{constructor(e){this.keybindingService=e}getResolver(){const e=new Lw(()=>this.keybindingService.getKeybindings().filter(t=>j1.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===z1?i={kind:Xn.SourceOrganizeImports.value}:t.command===V1&&(i={kind:Xn.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...Pa.fromUser(i,{kind:ns.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 ns(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)}},j1=Ud,Ud.codeActionCommands=[a5,o5,l5,z1,V1],Ud);$1=j1=kT([BT(0,Ds)],$1);vi("symbolIcon.arrayForeground",Ts,S("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.booleanForeground",Ts,S("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},S("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.colorForeground",Ts,S("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.constantForeground",Ts,S("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},S("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},S("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},S("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.fileForeground",Ts,S("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.folderForeground",Ts,S("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},S("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.keyForeground",Ts,S("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.keywordForeground",Ts,S("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},S("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.moduleForeground",Ts,S("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.namespaceForeground",Ts,S("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.nullForeground",Ts,S("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.numberForeground",Ts,S("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.objectForeground",Ts,S("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.operatorForeground",Ts,S("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.packageForeground",Ts,S("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.propertyForeground",Ts,S("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.referenceForeground",Ts,S("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.snippetForeground",Ts,S("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.stringForeground",Ts,S("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.structForeground",Ts,S("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.textForeground",Ts,S("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.typeParameterForeground",Ts,S("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.unitForeground",Ts,S("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));vi("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const c5=Object.freeze({kind:ns.Empty,title:S("codeAction.widget.id.more","More Actions...")}),FT=Object.freeze([{kind:Xn.QuickFix,title:S("codeAction.widget.id.quickfix","Quick Fix")},{kind:Xn.RefactorExtract,title:S("codeAction.widget.id.extract","Extract"),icon:Zi.wrench},{kind:Xn.RefactorInline,title:S("codeAction.widget.id.inline","Inline"),icon:Zi.wrench},{kind:Xn.RefactorRewrite,title:S("codeAction.widget.id.convert","Rewrite"),icon:Zi.wrench},{kind:Xn.RefactorMove,title:S("codeAction.widget.id.move","Move"),icon:Zi.wrench},{kind:Xn.SurroundWith,title:S("codeAction.widget.id.surround","Surround With"),icon:Zi.surroundWith},{kind:Xn.Source,title:S("codeAction.widget.id.source","Source Action"),icon:Zi.symbolFile},c5]);function LT(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:c5,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=FT.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new ns(s.action.kind):ns.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:Zi.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var IT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},PT=function(o,e){return function(t,i){e(t,i,o)}},Rh;const B8=ms("gutter-lightbulb",Zi.lightBulb,S("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),F8=ms("gutter-lightbulb-auto-fix",Zi.lightbulbAutofix,S("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),L8=ms("gutter-lightbulb-sparkle",Zi.lightbulbSparkle,S("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),I8=ms("gutter-lightbulb-aifix-auto-fix",Zi.lightbulbSparkleAutofix,S("gutterLightbulbAIFixAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.")),P8=ms("gutter-lightbulb-sparkle-filled",Zi.sparkleFilled,S("gutterLightbulbSparkleFilledWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available."));var Gr;(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})(Gr||(Gr={}));var pl;let $g=(pl=class extends Rt{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new rn),this.onClick=this._onClick.event,this._state=Gr.Hidden,this._gutterState=Gr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+B8.id,"codicon-"+I8.id,"codicon-"+F8.id,"codicon-"+L8.id,"codicon-"+P8.id],this.gutterDecoration=Rh.GUTTER_DECORATION,this._domNode=mi("div.lightBulbWidget"),this._domNode.role="listbox",this._register(uA.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(d3(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=yo(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(Bn(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(Is.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(r5))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(w9))==null?void 0:n.getLabel())??void 0,this._updateLightBulbTitleAndIcon()})),this._register(this._editor.onMouseDown(async i=>{if(!i.target.element||!this.lightbulbClasses.some(d=>i.target.element&&i.target.element.classList.contains(d))||this.gutterState.type!==1)return;this._editor.focus();const{top:n,height:s}=yo(i.target.element),r=this._editor.getOption(67);let a=Math.floor(r/3);this.gutterState.widgetPosition.position!==null&&this.gutterState.widgetPosition.position.lineNumber<this.gutterState.editorPosition.lineNumber&&(a+=r),this._onClick.fire({x:i.event.posx,y:n+s+a,actions:this.gutterState.actions,trigger:this.gutterState.trigger})}))}dispose(){super.dispose(),this._editor.removeContentWidget(this),this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(e,t,i){if(e.validActions.length<=0)return this.gutterHide(),this.hide();if(!this._editor.hasTextFocus())return this.gutterHide(),this.hide();if(!this._editor.getOptions().get(65).enabled)return this.gutterHide(),this.hide();const r=this._editor.getModel();if(!r)return this.gutterHide(),this.hide();const{lineNumber:a,column:d}=r.validatePosition(i),u=r.getOptions().tabSize,f=this._editor.getOptions().get(50),g=r.getLineContent(a),p=Iw(g,u),C=f.spaceWidth*p>22,b=T=>T>2&&this._editor.getTopForLineNumber(T)===this._editor.getTopForLineNumber(T-1),y=this._editor.getLineDecorations(a);let w=!1;if(y)for(const T of y){const V=T.options.glyphMarginClassName;if(V&&!this.lightbulbClasses.some(H=>V.includes(H))){w=!0;break}}let A=a,I=1;if(!C){const T=V=>{const H=r.getLineContent(V);return/^\s*$|^\s+/.test(H)||H.length<=I};if(a>1&&!b(a-1)){const V=r.getLineCount(),H=a===V,X=a>1&&T(a-1),se=!H&&T(a+1),he=T(a),J=!se&&!X;if(!se&&!X&&!w)return this.gutterState=new Gr.Showing(e,t,i,{position:{lineNumber:A,column:I},preference:Rh._posPref}),this.renderGutterLightbub(),this.hide();X||H||X&&!he?A-=1:(se||J&&he)&&(A+=1)}else if(a===1&&(a===r.getLineCount()||!T(a+1)&&!T(a)))if(this.gutterState=new Gr.Showing(e,t,i,{position:{lineNumber:A,column:I},preference:Rh._posPref}),w)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(a<r.getLineCount()&&!b(a+1))A+=1;else if(d*f.spaceWidth<22)return this.hide();I=/^\S\s*$/.test(r.getLineContent(A))?2:1}this.state=new Gr.Showing(e,t,i,{position:{lineNumber:A,column:I},preference:Rh._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const M=e.validActions,R=e.validActions[0].action.kind;if(M.length!==1||!R){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==Gr.Hidden&&(this.state=Gr.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==Gr.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=Gr.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=Zi.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=Zi.lightbulbSparkleAutofix:e=Zi.lightbulbAutofix:this.state.actions.hasAIFix?e=Zi.lightbulbSparkle:e=Zi.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=Mn.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=P8,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=I8:e=F8:this.gutterState.actions.hasAIFix?e=L8:e=B8,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=mn.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Mn.asClassName(e),glyphMargin:{position:wm.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 Q(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 Q(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=S("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=S("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=S("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=S("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}},Rh=pl,pl.GUTTER_DECORATION=mn.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Mn.asClassName(Zi.lightBulb),glyphMargin:{position:wm.Left},stickiness:1}),pl.ID="editor.contrib.lightbulbWidget",pl._posPref=[0],pl);$g=Rh=IT([PT(1,Ds)],$g);var d5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},U1=function(o,e){return function(t,i){e(t,i,o)}};const u5="acceptSelectedCodeAction",h5="previewSelectedCodeAction";class TT{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 q1=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 Pw(e,Tw);return{container:e,icon:t,text:i,keybinding:n}}renderElement(e,t,i){var r,a,d;if((r=e.group)!=null&&r.icon?(i.icon.className=Mn.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=Ld(e.group.icon.color.id))):(i.icon.className=Mn.asClassName(Zi.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=f5(e.label),i.keybinding.set(e.keybinding),u3(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(u5))==null?void 0:a.getLabel(),s=(d=this._keybindingService.lookupKeybinding(h5))==null?void 0:d.getLabel();i.container.classList.toggle("option-disabled",e.disabled),e.disabled?i.container.title=e.label:n&&s?this._supportsPreview&&e.canPreview?i.container.title=S({key:"label-preview",comment:['placeholders are keybindings, e.g "F2 to Apply, Shift+F2 to Preview"']},"{0} to Apply, {1} to Preview",n,s):i.container.title=S({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",n):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};q1=d5([U1(1,Ds)],q1);class MT extends UIEvent{constructor(){super("acceptSelectedAction")}}class T8 extends UIEvent{constructor(){super("previewSelectedAction")}}function RT(o){if(o.kind==="action")return o.label}let G1=class extends Rt{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 qs),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const a={getHeight:d=>d.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:d=>d.kind};this._list=this._register(new Mw(e,this.domNode,a,[new q1(t,this._keybindingService),new TT],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:RT},accessibilityProvider:{getAriaLabel:d=>{if(d.kind==="action"){let u=d.label?f5(d==null?void 0:d.label):"";return d.disabled&&(u=S({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",u,d.disabled)),u}return null},getWidgetAriaLabel:()=>S({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:d=>d.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(h3),this._register(this._list.onMouseClick(d=>this.onListClick(d))),this._register(this._list.onMouseOver(d=>this.onListHover(d))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(d=>this.onListSelection(d))),this._allMenuItems=i,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&e.kind==="action"}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){const t=this._allMenuItems.filter(d=>d.kind==="header").length,n=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(n);let s=e;if(this._allMenuItems.length>=50)s=380;else{const d=this._allMenuItems.map((u,f)=>{const g=this.domNode.ownerDocument.getElementById(this._list.getElementID(f));if(g){g.style.width="auto";const p=g.getBoundingClientRect().width;return g.style.width="",p}return 0});s=Math.max(...d,e)}const a=Math.min(n,this.domNode.ownerDocument.body.clientHeight*.7);return this._list.layout(a,s),this.domNode.style.height=`${a}px`,this._list.domFocus(),s}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(e){const t=this._list.getFocus();if(t.length===0)return;const i=t[0],n=this._list.element(i);if(!this.focusCondition(n))return;const s=e?new T8:new MT;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 T8):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([])}};G1=d5([U1(4,$_),U1(5,Ds)],G1);function f5(o){return o.replace(/\r\n|\r|\n/g," ")}var NT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mC=function(o,e){return function(t,i){e(t,i,o)}};vi("actionBar.toggledBackground",Rw,S("actionBar.toggledBackground","Background color for toggled action items in action bar."));const Hu={Visible:new En("codeActionMenuVisible",!1,S("codeActionMenuVisible","Whether the action widget list is visible"))},Ju=Ml("actionWidgetService");let Wu=class extends Rt{get isVisible(){return Hu.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Jo)}show(e,t,i,n,s,r,a){const d=Hu.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance(G1,e,t,i,n);this._contextViewService.showContextView({getAnchor:()=>s,render:f=>(d.set(!0),this._renderWidget(f,u,a??[])),onHide:f=>{d.reset(),this._onWidgetClosed(f)}},r,!1)}acceptSelected(e){var t;(t=this._list.value)==null||t.acceptSelected(e)}focusPrevious(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusPrevious()}focusNext(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusNext()}hide(e){var t;(t=this._list.value)==null||t.hide(e),this._list.clear()}_renderWidget(e,t,i){var C;const n=document.createElement("div");if(n.classList.add("action-widget"),e.appendChild(n),this._list.value=t,this._list.value)n.appendChild(this._list.value.domNode);else throw new Error("List has no value");const s=new Tt,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(Bn(a,as.MOUSE_DOWN,b=>b.stopPropagation()));const d=document.createElement("div"),u=e.appendChild(d);u.classList.add("context-view-pointerBlock"),s.add(Bn(u,as.POINTER_MOVE,()=>u.remove())),s.add(Bn(u,as.MOUSE_DOWN,()=>u.remove()));let f=0;if(i.length){const b=this._createActionBar(".action-widget-action-bar",i);b&&(n.appendChild(b.getContainer().parentElement),s.add(b),f=b.getContainer().offsetWidth)}const g=(C=this._list.value)==null?void 0:C.layout(f);n.style.width=`${g}px`;const p=s.add(I0(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=mi(e),n=new Bg(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};Wu=NT([mC(0,$_),mC(1,Fn),mC(2,nn)],Wu);Rl(Ju,Wu,1);const qp=1100;Vn(class extends Do{constructor(){super({id:"hideCodeActionWidget",title:ki("hideCodeActionWidget.title","Hide action widget"),precondition:Hu.Visible,keybinding:{weight:qp,primary:9,secondary:[1033]}})}run(o){o.get(Ju).hide(!0)}});Vn(class extends Do{constructor(){super({id:"selectPrevCodeAction",title:ki("selectPrevCodeAction.title","Select previous action"),precondition:Hu.Visible,keybinding:{weight:qp,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.focusPrevious()}});Vn(class extends Do{constructor(){super({id:"selectNextCodeAction",title:ki("selectNextCodeAction.title","Select next action"),precondition:Hu.Visible,keybinding:{weight:qp,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.focusNext()}});Vn(class extends Do{constructor(){super({id:u5,title:ki("acceptSelected.title","Accept selected action"),precondition:Hu.Visible,keybinding:{weight:qp,primary:3,secondary:[2137]}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.acceptSelected()}});Vn(class extends Do{constructor(){super({id:h5,title:ki("previewSelected.title","Preview selected action"),precondition:Hu.Visible,keybinding:{weight:qp,primary:2051}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.acceptSelected(!0)}});const g5=new En("supportedCodeAction",""),M8="_typescript.applyFixAllCodeAction";class OT extends Rt{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new Dp),this._register(this._markerService.onMarkerChanged(s=>this._onMarkerChanges(s))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some(i=>Sm(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Ho.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getSelection();if(e.type===1)return t;const i=this._editor.getOption(65).enabled;if(i!==eC.Off){{if(i===eC.On)return t;if(i===eC.OnCode){if(!t.isEmpty())return t;const s=this._editor.getModel(),{lineNumber:r,column:a}=t.getPosition(),d=s.getLineContent(r);if(d.length===0)return;if(a===1){if(/\s/.test(d[0]))return}else if(a===s.getLineMaxColumn(r)){if(/\s/.test(d[d.length-1]))return}else if(/\s/.test(d[a-2])&&/\s/.test(d[a-1]))return}}return t}}}var vd;(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(qc(r))return p5;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(vd||(vd={}));const p5=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class HT extends Rt{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 Jo),this._state=vd.Empty,this._onDidChangeState=this._register(new rn),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=g5.bindTo(n),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._register(this._editor.onDidChangeConfiguration(d=>{d.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(vd.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(vd.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 OT(this._editor,this._markerService,i=>{var d;if(!i){this.setState(vd.Empty);return}const n=i.selection.getStartPosition(),s=Us(async u=>{var f,g,p,C,b,y,w,A,I,M;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===Ho.QuickFix||(g=(f=i.trigger.filter)==null?void 0:f.include)!=null&&g.contains(Xn.QuickFix))){const R=await qh(this._registry,e,i.selection,i.trigger,fl.None,u),T=[...R.allActions];if(u.isCancellationRequested)return p5;const V=(p=R.validActions)==null?void 0:p.some(X=>X.action.kind?Xn.QuickFix.contains(new ns(X.action.kind)):!1),H=this._markerService.read({resource:e.uri});if(V){for(const X of R.validActions)(b=(C=X.action.command)==null?void 0:C.arguments)!=null&&b.some(se=>typeof se=="string"&&se.includes(M8))&&(X.action.diagnostics=[...H.filter(se=>se.relatedInformation)]);return{validActions:R.validActions,allActions:T,documentation:R.documentation,hasAutoFix:R.hasAutoFix,hasAIFix:R.hasAIFix,allAIFixes:R.allAIFixes,dispose:()=>{R.dispose()}}}else if(!V&&H.length>0){const X=i.selection.getPosition();let se=X,he=Number.MAX_VALUE;const J=[...R.validActions];for(const be of H){const re=be.endColumn,ce=be.endLineNumber,ke=be.startLineNumber;if(ce===X.lineNumber||ke===X.lineNumber){se=new Li(ce,re);const Pe={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(y=i.trigger.filter)!=null&&y.include?(w=i.trigger.filter)==null?void 0:w.include:Xn.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((A=i.trigger.context)==null?void 0:A.notAvailableMessage)||"",position:se}},xe=new Ui(se.lineNumber,se.column,se.lineNumber,se.column),He=await qh(this._registry,e,xe,Pe,fl.None,u);if(He.validActions.length!==0){for(const Ue of He.validActions)(M=(I=Ue.action.command)==null?void 0:I.arguments)!=null&&M.some(ve=>typeof ve=="string"&&ve.includes(M8))&&(Ue.action.diagnostics=[...H.filter(ve=>ve.relatedInformation)]);R.allActions.length===0&&T.push(...He.allActions),Math.abs(X.column-re)<he?J.unshift(...He.validActions):J.push(...He.validActions)}he=Math.abs(X.column-re)}}const ue=J.filter((be,re,ce)=>ce.findIndex(ke=>ke.action.title===be.action.title)===re);return ue.sort((be,re)=>be.action.isPreferred&&!re.action.isPreferred?-1:!be.action.isPreferred&&re.action.isPreferred||be.action.isAI&&!re.action.isAI?1:!be.action.isAI&&re.action.isAI?-1:0),{validActions:ue,allActions:T,documentation:R.documentation,hasAutoFix:R.hasAutoFix,hasAIFix:R.hasAIFix,allAIFixes:R.allAIFixes,dispose:()=>{R.dispose()}}}}if(i.trigger.type===1){const R=new Oo,T=await qh(this._registry,e,i.selection,i.trigger,fl.None,u);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:T.validActions.length,duration:R.elapsed()}),T}return qh(this._registry,e,i.selection,i.trigger,fl.None,u)});i.trigger.type===1&&((d=this._progressService)==null||d.showWhile(s,250));const r=new vd.Triggered(i.trigger,n,s);let a=!1;this._state.type===1&&(a=this._state.trigger.type===1&&r.type===1&&r.trigger.type===2&&this._state.position!==r.position),a?setTimeout(()=>{this.setState(r)},500):this.setState(r)},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:Ho.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;(t=this._codeActionOracle.value)==null||t.trigger(e)}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!this._disposed&&this._onDidChangeState.fire(e))}}var WT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},va=function(o,e){return function(t,i){e(t,i,o)}},Nh;const zT="quickfix-edit-highlight";var Ec;let q0=(Ec=class extends Rt{static get(e){return e.getContribution(Nh.ID)}constructor(e,t,i,n,s,r,a,d,u,f,g){super(),this._commandService=a,this._configurationService=d,this._actionWidgetService=u,this._instantiationService=f,this._telemetryService=g,this._activeCodeActions=this._register(new Jo),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new HT(this._editor,s.codeActionProvider,t,i,r,d,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new Lw(()=>{const p=this._editor.getContribution($g.ID);return p&&this._register(p.onClick(C=>this.showCodeActionsFromLightbulb(C.actions,C))),p}),this._resolver=n.createInstance($1),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,Sd.FromAILightbulb);return}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,i){return this.showCodeActionList(t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,n){var r;if(!this._editor.hasModel())return;(r=Mo.get(this._editor))==null||r.closeMessage();const s=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:n,context:{notAvailableMessage:e,position:s}})}_trigger(e){return this._model.trigger(e)}async _applyCodeAction(e,t,i,n){try{await this._instantiationService.invokeFunction(DT,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Ho.QuickFix,filter:{}})}}hideLightBulbWidget(){var e,t;(e=this._lightBulbWidget.rawValue)==null||e.hide(),(t=this._lightBulbWidget.rawValue)==null||t.gutterHide()}async update(e){var n,s,r,a,d;if(e.type!==1){this.hideLightBulbWidget();return}let t;try{t=await e.actions}catch(u){qn(u);return}if(this._disposed)return;const i=this._editor.getSelection();if((i==null?void 0:i.startLineNumber)===e.position.lineNumber)if((n=this._lightBulbWidget.value)==null||n.update(t,e.trigger,e.position),e.trigger.type===1){if((s=e.trigger.filter)!=null&&s.include){const f=this.tryGetValidActionToApply(e.trigger,t);if(f){try{this.hideLightBulbWidget(),await this._applyCodeAction(f,!1,!1,Sd.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const g=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(g&&g.action.disabled){(r=Mo.get(this._editor))==null||r.showMessage(g.action.disabled,e.trigger.context.position),t.dispose();return}}}const u=!!((a=e.trigger.filter)!=null&&a.include);if(e.trigger.context&&(!t.allActions.length||!u&&!t.validActions.length)){(d=Mo.get(this._editor))==null||d.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=t,t.dispose();return}this._activeCodeActions.value=t,this.showCodeActionList(t,this.toCoords(e.position),{includeDisabledActions:u,fromLightbulb:!1})}else this._actionWidgetService.isVisible?t.dispose():this._activeCodeActions.value=t}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply==="first"&&t.validActions.length===0||e.autoApply==="ifSingle"&&t.allActions.length===1))return t.allActions.find(({action:i})=>i.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply==="first"&&t.validActions.length>0||e.autoApply==="ifSingle"&&t.validActions.length===1))return t.validActions[0]}async showCodeActionList(e,t,i){const n=this._editor.createDecorationsCollection(),s=this._editor.getDomNode();if(!s)return;const r=i.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!r.length)return;const a=Li.isIPosition(t)?this.toCoords(t):t,d={onSelect:async(u,f)=>{this._applyCodeAction(u,!0,!!f,i.fromLightbulb?Sd.FromAILightbulb:Sd.FromCodeActions),this._actionWidgetService.hide(!1),n.clear()},onHide:u=>{var f;(f=this._editor)==null||f.focus(),n.clear()},onHover:async(u,f)=>{var C;if(f.isCancellationRequested)return;let g=!1;const p=u.action.kind;if(p){const b=new ns(p);g=[Xn.RefactorExtract,Xn.RefactorInline,Xn.RefactorRewrite,Xn.RefactorMove,Xn.Source].some(w=>w.contains(b))}return{canPreview:g||!!((C=u.action.edit)!=null&&C.edits.length)}},onFocus:u=>{var f,g;if(u&&u.action){const p=u.action.ranges,C=u.action.diagnostics;if(n.clear(),p&&p.length>0){const b=C&&(C==null?void 0:C.length)>1?C.map(y=>({range:y,options:Nh.DECORATION})):p.map(y=>({range:y,options:Nh.DECORATION}));n.set(b)}else if(C&&C.length>0){const b=C.map(w=>({range:w,options:Nh.DECORATION}));n.set(b);const y=C[0];if(y.startLineNumber&&y.startColumn){const w=(g=(f=this._editor.getModel())==null?void 0:f.getWordAtPosition({lineNumber:y.startLineNumber,column:y.startColumn}))==null?void 0:g.word;P0(S("editingNewSelection","Context: {0} at line {1} and column {2}.",w,y.startLineNumber,y.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,LT(r,this._shouldShowHeaders(),this._resolver.getResolver()),d,a,s,this._getActionBarActions(e,t,i))}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=yo(this._editor.getDomNode()),n=i.left+t.left,s=i.top+t.top+t.height;return{x:n,y:s}}_shouldShowHeaders(){var t;const e=(t=this._editor)==null?void 0:t.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:e==null?void 0:e.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];const n=e.documentation.map(s=>({id:s.id,label:s.title,tooltip:s.tooltip??"",class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(s.id,...s.arguments??[])}));return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&n.push(this._showDisabled?{id:"hideMoreActions",label:S("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:S("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}},Nh=Ec,Ec.ID="editor.contrib.codeActionController",Ec.DECORATION=mn.register({description:"quickfix-highlight",className:zT}),Ec);q0=Nh=WT([va(1,Nw),va(2,Fn),va(3,nn),va(4,Ii),va(5,Ap),va(6,zs),va(7,ss),va(8,Ju),va(9,nn),va(10,ua)],q0);U_((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(f3));const i=o.getColor(hA);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Fg(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function Gp(o){return qe.regex(g5.keys()[0],new RegExp("(\\s|^)"+Lg(o.value)+"\\b"))}const S9={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:S("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:S("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[S("args.schema.apply.first","Always apply the first returned code action."),S("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),S("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:S("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function eh(o,e,t,i,n=Ho.Default){if(o.hasModel()){const s=q0.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class VT extends _t{constructor(){super({id:w9,label:S("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:qe.and(q.writable,q.hasCodeActionsProvider),kbOpts:{kbExpr:q.textInputFocus,primary:2137,weight:100}})}run(e,t){return eh(t,S("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,Ho.QuickFix)}}class jT extends Ao{constructor(){super({id:o5,precondition:qe.and(q.writable,q.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:S9}]}})}runEditorCommand(e,t,i){const n=Pa.fromUser(i,{kind:ns.Empty,apply:"ifSingle"});return eh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?S("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):S("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?S("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):S("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}class $T extends _t{constructor(){super({id:a5,label:S("refactor.label","Refactor..."),alias:"Refactor...",precondition:qe.and(q.writable,q.hasCodeActionsProvider),kbOpts:{kbExpr:q.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:qe.and(q.writable,Gp(Xn.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:S9}]}})}run(e,t,i){const n=Pa.fromUser(i,{kind:Xn.Refactor,apply:"never"});return eh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?S("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):S("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?S("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):S("editor.action.refactor.noneMessage","No refactorings available"),{include:Xn.Refactor.contains(n.kind)?n.kind:ns.None,onlyIncludePreferredActions:n.preferred},n.apply,Ho.Refactor)}}class UT extends _t{constructor(){super({id:l5,label:S("source.label","Source Action..."),alias:"Source Action...",precondition:qe.and(q.writable,q.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:qe.and(q.writable,Gp(Xn.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:S9}]}})}run(e,t,i){const n=Pa.fromUser(i,{kind:Xn.Source,apply:"never"});return eh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?S("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):S("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?S("editor.action.source.noneMessage.preferred","No preferred source actions available"):S("editor.action.source.noneMessage","No source actions available"),{include:Xn.Source.contains(n.kind)?n.kind:ns.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,Ho.SourceAction)}}class qT extends _t{constructor(){super({id:z1,label:S("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:qe.and(q.writable,Gp(Xn.SourceOrganizeImports)),kbOpts:{kbExpr:q.textInputFocus,primary:1581,weight:100}})}run(e,t){return eh(t,S("editor.action.organize.noneMessage","No organize imports action available"),{include:Xn.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Ho.OrganizeImports)}}class GT extends _t{constructor(){super({id:V1,label:S("fixAll.label","Fix All"),alias:"Fix All",precondition:qe.and(q.writable,Gp(Xn.SourceFixAll))})}run(e,t){return eh(t,S("fixAll.noneMessage","No fix all action available"),{include:Xn.SourceFixAll,includeSourceActions:!0},"ifSingle",Ho.FixAll)}}class KT extends _t{constructor(){super({id:r5,label:S("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:qe.and(q.writable,Gp(Xn.QuickFix)),kbOpts:{kbExpr:q.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return eh(t,S("editor.action.autoFix.noneMessage","No auto fixes available"),{include:Xn.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Ho.AutoFix)}}un(q0.ID,q0,3);un($g.ID,$g,4);Fe(VT);Fe($T);Fe(UT);Fe(qT);Fe(KT);Fe(GT);Mi(new jT);ca.as(kp.Configuration).registerConfiguration({...q_,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:S("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});ca.as(kp.Configuration).registerConfiguration({...q_,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:S("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});ca.as(kp.Configuration).registerConfiguration({...q_,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:S("triggerOnFocusChange","Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.","`#editor.codeActionsOnSave#`","`#files.autoSave#`","`afterDelay`","`always`"),default:!1}}});class K1{constructor(){this.lenses=[],this._disposables=new Tt}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 x5(o,e,t){const i=o.ordered(e),n=new Map,s=new K1,r=i.map(async(a,d)=>{n.set(a,d);try{const u=await Promise.resolve(a.provideCodeLenses(e,t));u&&s.add(u,a)}catch(u){_s(u)}});return await Promise.all(r),s.lenses=s.lenses.sort((a,d)=>a.symbol.range.startLineNumber<d.symbol.range.startLineNumber?-1:a.symbol.range.startLineNumber>d.symbol.range.startLineNumber?1:n.get(a.provider)<n.get(d.provider)?-1:n.get(a.provider)>n.get(d.provider)?1:a.symbol.range.startColumn<d.symbol.range.startColumn?-1:a.symbol.range.startColumn>d.symbol.range.startColumn?1:0),s}Qn.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;Ln(jn.isUri(t)),Ln(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(Ii),s=o.get(vo).getModel(t);if(!s)throw vl();const r=[],a=new Tt;return x5(n,s,an.None).then(d=>{a.add(d);const u=[];for(const f of d.lenses)i==null||f.symbol.command?r.push(f.symbol):i-- >0&&f.provider.resolveCodeLens&&u.push(Promise.resolve(f.provider.resolveCodeLens(s,f.symbol,an.None)).then(g=>r.push(g||f.symbol)));return Promise.all(u)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var ZT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},XT=function(o,e){return function(t,i){e(t,i,o)}};const m5=Ml("ICodeLensCache");class R8{constructor(e,t){this.lineCount=e,this.data=t}}let Z1=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Bp(20,.75);const t="codelens/cache";g3(p3,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=Is.filter(e.onWillSaveState,r=>r.reason===Ow.SHUTDOWN);Is.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 K1;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new R8(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 Q(a,1,a,11)});const r=new K1;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new R8(n.lineCount,r))}}catch{}}};Z1=ZT([XT(0,Gc)],Z1);Rl(m5,Z1,1);class YT{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 Dg=class Dg{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${Dg._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=x3(r.command.title.trim());if(r.command.id){const d=`c${Dg._idPool++}`;i.push(mi("a",{id:d,title:r.command.tooltip,role:"button"},...a)),this._commands.set(d,r.command)}else i.push(mi("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(mi("span",void 0," | "))}}n?(Dm(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):Dm(this._domNode,mi("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}};Dg._idPool=0;let X1=Dg;class vC{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 N8=mn.register({collapseOnReplaceEdit:!0,description:"codelens"});class O8{constructor(e,t,i,n,s,r){this._isDisposed=!1,this._editor=t,this._data=e,this._decorationIds=[];let a;const d=[];this._data.forEach((u,f)=>{u.symbol.command&&d.push(u.symbol),i.addDecoration({range:u.symbol.range,options:N8},g=>this._decorationIds[f]=g),a?a=Q.plusRange(a,u.symbol.range):a=Q.lift(u.symbol.range)}),this._viewZone=new YT(a.startLineNumber-1,s,r),this._viewZoneId=n.addZone(this._viewZone),d.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(d,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new X1(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&&Q.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:N8},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 QT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Rf=function(o,e){return function(t,i){e(t,i,o)}},b0;let Ug=(b0=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 Tt,this._localToDispose=new Tt,this._lenses=[],this._oldCodeLensModels=new Tt,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new Ps(()=>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",Hw.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&&kg(()=>{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 Ps(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=Us(r=>x5(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()},qn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(is(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{var n;this._editor.changeDecorations(s=>{this._editor.changeViewZones(r=>{const a=[];let d=-1;this._lenses.forEach(f=>{!f.isValid()||d===f.getLineNumber()?a.push(f):(f.update(r),d=f.getLineNumber())});const u=new vC;a.forEach(f=>{f.dispose(u,r),this._lenses.splice(this._lenses.indexOf(f),1)}),u.commit(s)})}),i.schedule(),this._resolveCodeLensesScheduler.cancel(),(n=this._resolveCodeLensesPromise)==null||n.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorText(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{i.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(n=>{n.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(is(()=>{if(this._editor.getModel()){const n=T0.capture(this._editor);this._editor.changeDecorations(s=>{this._editor.changeViewZones(r=>{this._disposeAllLenses(s,r)})}),n.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(n=>{if(n.target.type!==9)return;let s=n.target.element;if((s==null?void 0:s.tagName)==="SPAN"&&(s=s.parentElement),(s==null?void 0:s.tagName)==="A")for(const r of this._lenses){const a=r.getCommand(s);if(a){this._commandService.executeCommand(a.id,...a.arguments||[]).catch(d=>this._notificationService.error(d));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new vC;for(const n of this._lenses)n.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),i=[];let n;for(const a of e.lenses){const d=a.symbol.range.startLineNumber;d<1||d>t||(n&&n[n.length-1].symbol.range.startLineNumber===d?n.push(a):(n=[a],i.push(n)))}if(!i.length&&!this._lenses.length)return;const s=T0.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(d=>{const u=new vC;let f=0,g=0;for(;g<i.length&&f<this._lenses.length;){const p=i[g][0].symbol.range.startLineNumber,C=this._lenses[f].getLineNumber();C<p?(this._lenses[f].dispose(u,d),this._lenses.splice(f,1)):C===p?(this._lenses[f].updateCodeLensSymbols(i[g],u),g++,f++):(this._lenses.splice(f,0,new O8(i[g],this._editor,u,d,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),f++,g++)}for(;f<this._lenses.length;)this._lenses[f].dispose(u,d),this._lenses.splice(f,1);for(;g<i.length;)this._lenses.push(new O8(i[g],this._editor,u,d,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),g++;u.commit(a)})}),s.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var r;(r=this._resolveCodeLensesPromise)==null||r.cancel(),this._resolveCodeLensesPromise=void 0;const e=this._editor.getModel();if(!e)return;const t=[],i=[];if(this._lenses.forEach(a=>{const d=a.computeIfNecessary(e);d&&(t.push(d),i.push(a))}),t.length===0)return;const n=Date.now(),s=Us(a=>{const d=t.map((u,f)=>{const g=new Array(u.length),p=u.map((C,b)=>!C.symbol.command&&typeof C.provider.resolveCodeLens=="function"?Promise.resolve(C.provider.resolveCodeLens(e,C.symbol,a)).then(y=>{g[b]=y},_s):(g[b]=C.symbol,Promise.resolve(void 0)));return Promise.all(p).then(()=>{!a.isCancellationRequested&&!i[f].isDisposed()&&i[f].updateCommands(g)})});return Promise.all(d)});this._resolveCodeLensesPromise=s,this._resolveCodeLensesPromise.then(()=>{const a=this._resolveCodeLensesDebounce.update(e,Date.now()-n);this._resolveCodeLensesScheduler.delay=a,this._currentCodeLensModel&&this._codeLensCache.put(e,this._currentCodeLensModel),this._oldCodeLensModels.clear(),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},a=>{qn(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}},b0.ID="css.editor.codeLens",b0);Ug=QT([Rf(1,Ii),Rf(2,gr),Rf(3,zs),Rf(4,mo),Rf(5,m5)],Ug);un(Ug.ID,Ug,1);Fe(class extends _t{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:q.hasCodeLensProvider,label:S("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(e,t){if(!t.hasModel())return;const i=e.get(Tl),n=e.get(zs),s=e.get(mo),r=t.getSelection().positionLineNumber,a=t.getContribution(Ug.ID);if(!a)return;const d=await a.getModel();if(!d)return;const u=[];for(const p of d.lenses)p.symbol.command&&p.symbol.range.startLineNumber===r&&u.push({label:p.symbol.command.title,command:p.symbol.command});if(u.length===0)return;const f=await i.pick(u,{canPickMany:!1,placeHolder:S("placeHolder","Select a command")});if(!f)return;let g=f.command;if(d.isDisposed){const p=await a.getModel(),C=p==null?void 0:p.lenses.find(b=>{var y;return b.symbol.range.startLineNumber===r&&((y=b.symbol.command)==null?void 0:y.title)===g.title});if(!C||!C.symbol.command)return;g=C.symbol.command}try{await n.executeCommand(g.id,...g.arguments||[])}catch(p){s.error(p)}}});var v5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Y1=function(o,e){return function(t,i){e(t,i,o)}};let qg=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 pn(new M0(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),d=r?pn.Format.CSS.formatRGB(a):pn.Format.CSS.formatRGBA(a),u=r?pn.Format.CSS.formatHSL(a):pn.Format.CSS.formatHSLA(a),f=r?pn.Format.CSS.formatHex(a):pn.Format.CSS.formatHexA(a),g=[];return g.push({label:d,textEdit:{range:n,text:d}}),g.push({label:u,textEdit:{range:n,text:u}}),g.push({label:f,textEdit:{range:n,text:f}}),g}};qg=v5([Y1(0,Nl)],qg);let Q1=class extends Rt{constructor(e,t){super(),this._register(e.colorProvider.register("*",new qg(t)))}};Q1=v5([Y1(0,Ii),Y1(1,Nl)],Q1);df(Q1);async function _5(o,e,t,i=!0){return D9(new JT,o,e,t,i)}function b5(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class JT{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 eM{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 tM{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,an.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function D9(o,e,t,i,n){let s=!1,r;const a=[],d=e.ordered(t);for(let u=d.length-1;u>=0;u--){const f=d[u];if(f instanceof qg)r=f;else try{await o.compute(f,t,i,a)&&(s=!0)}catch(g){_s(g)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function C5(o,e){const{colorProvider:t}=o.get(Ii),i=o.get(vo).getModel(e);if(!i)throw vl();const n=o.get(ss).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}Qn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof jn))throw vl();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=C5(o,t);return D9(new eM,n,i,an.None,s)});Qn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof jn)||!Array.isArray(t)||t.length!==4||!Q.isIRange(s))throw vl();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:d}=C5(o,n),[u,f,g,p]=t;return D9(new tM({range:s,color:{red:u,green:f,blue:g,alpha:p}}),a,r,an.None,d)});var iM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_C=function(o,e){return function(t,i){e(t,i,o)}},J1;const E5=Object.create({});var yc;let G0=(yc=class extends Rt{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new Tt),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new fA(this._editor),this._decoratorLimitReporter=new nM,this._colorDecorationClassRefs=this._register(new Tt),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:J1.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(e.onDidChangeModelLanguage(()=>this.updateColors())),this._register(i.colorProvider.onDidChange(()=>this.updateColors())),this._register(e.onDidChangeConfiguration(s=>{const r=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148);const a=r!==this._isColorDecoratorsEnabled||s.hasChanged(21),d=s.hasChanged(148);(a||d)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148),this.updateColors()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&typeof i=="object"){const n=i.colorDecorators;if(n&&n.enable!==void 0&&!n.enable)return n.enable}return this._editor.getOption(20)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const e=this._editor.getModel();!e||!this._languageFeaturesService.colorProvider.has(e)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new Dp,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=Us(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new Oo(!1),n=await _5(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){qn(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:mn.EMPTY}));this._editor.changeDecorations(i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((n,s)=>this._colorDatas.set(n,e[s]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],i=this._editor.getOption(21);for(let s=0;s<e.length&&t.length<i;s++){const{red:r,green:a,blue:d,alpha:u}=e[s].colorInfo.color,f=new M0(Math.round(r*255),Math.round(a*255),Math.round(d*255),u),g=`rgba(${f.r}, ${f.g}, ${f.b}, ${f.a})`,p=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:g}));t.push({range:{startLineNumber:e[s].colorInfo.range.startLineNumber,startColumn:e[s].colorInfo.range.startColumn,endLineNumber:e[s].colorInfo.range.endLineNumber,endColumn:e[s].colorInfo.range.endColumn},options:{description:"colorDetector",before:{content:cA,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:E5}}})}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(Q.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)}},J1=yc,yc.ID="editor.contrib.colorDetector",yc.RECOMPUTE_TIME=1e3,yc);G0=J1=iM([_C(1,ss),_C(2,Ii),_C(3,gr)],G0);class nM{constructor(){this._onDidChange=new rn,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}un(G0.ID,G0,1);class sM{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 rn,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new rn,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new rn,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 Ko=mi;class oM extends Rt{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Ko(".colorpicker-header"),ui(e,this._domNode),this._pickedColorNode=ui(this._domNode,Ko(".picked-color")),ui(this._pickedColorNode,Ko("span.codicon.codicon-color-mode")),this._pickedColorPresentation=ui(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const s=S("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",s),this._originalColorNode=ui(this._domNode,Ko(".original-color")),this._originalColorNode.style.backgroundColor=pn.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(IS)||pn.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(IS)||pn.white})),this._register(Bn(this._pickedColorNode,as.CLICK,()=>this.model.selectNextColorPresentation())),this._register(Bn(this._originalColorNode,as.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=pn.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 rM(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=pn.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 rM extends Rt{constructor(e){super(),this._onClicked=this._register(new rn),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),ui(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),ui(this._button,t),ui(t,Ko(".button"+Mn.asCSSSelector(ms("color-picker-close",Zi.close,S("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(Bn(this._button,as.CLICK,()=>{this._onClicked.fire()}))}}class aM extends Rt{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Ko(".colorpicker-body"),ui(e,this._domNode),this._saturationBox=new lM(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 cM(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 dM(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 uM(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 pn(new Xx(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new pn(new Xx(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new pn(new Xx(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 lM extends Rt{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new rn,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new rn,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Ko(".saturation-wrap"),ui(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",ui(this._domNode,this._canvas),this.selection=Ko(".saturation-selection"),ui(this._domNode,this.selection),this.layout(),this._register(Bn(this._domNode,as.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 gA);const t=yo(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=Bn(e.target.ownerDocument,as.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 pn(new Xx(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=pn.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 y5 extends Rt{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new rn,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new rn,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=ui(e,Ko(".standalone-strip")),this.overlay=ui(this.domNode,Ko(".standalone-overlay"))):(this.domNode=ui(e,Ko(".strip")),this.overlay=ui(this.domNode,Ko(".overlay"))),this.slider=ui(this.domNode,Ko(".slider")),this.slider.style.top="0px",this._register(Bn(this.domNode,as.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 gA),i=yo(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=Bn(e.target.ownerDocument,as.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 cM extends y5{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 pn(new M0(t,i,n,1)),r=new pn(new M0(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class dM extends y5{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class uM extends Rt{constructor(e){super(),this._onClicked=this._register(new rn),this.onClicked=this._onClicked.event,this._button=ui(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Bn(this._button,as.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class hM extends Fp{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(m3.getInstance(Id(e)).onDidChange(()=>this.layout())),this._domNode=Ko(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new oM(this._domNode,this.model,n,s)),this.body=this._register(new aM(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class bC{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 lm{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 zu{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const th=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var w5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},S5=function(o,e){return function(t,i){e(t,i,o)}};class fM{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 Gg=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return sa.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=G0.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 D5(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=A5(this,this._editor,this._themeService,t,e);if(!i)return new zu([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new zu([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};Gg=w5([S5(1,Wr)],Gg);class gM{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let Kg=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!G0.get(this._editor))return null;const s=await _5(i,this._editor.getModel(),an.None);let r=null,a=null;for(const g of s){const p=g.colorInfo;Q.containsRange(p.range,e.range)&&(r=p,a=g.provider)}const d=r??e,u=a??t,f=!!r;return{colorHover:await D5(this,this._editor.getModel(),d,u),foundInEditor:f}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new Q(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await cm(this._editor.getModel(),t,this._color,i,e),i=k5(this._editor,i,t))}renderHoverParts(e,t){return A5(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};Kg=w5([S5(1,Wr)],Kg);async function D5(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:d}=t.color,u=new M0(Math.round(s*255),Math.round(r*255),Math.round(a*255),d),f=new pn(u),g=await b5(e,t,i,an.None),p=new sM(f,[],0);return p.colorPresentations=g||[],p.guessColorPresentation(f,n),o instanceof Gg?new fM(o,Q.lift(t.range),p,i):new gM(o,Q.lift(t.range),p,i)}function A5(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new Zn(302,p))}const s=new Tt,r=i[0],a=e.getModel(),d=r.model,u=s.add(new hM(n.fragment,d,e.getOption(144),t,o instanceof Kg));let f=!1,g=new Q(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof Kg){const p=r.model.color;o.color=p,cm(a,d,p,g,r),s.add(d.onColorFlushed(C=>{o.color=C}))}else s.add(d.onColorFlushed(async p=>{await cm(a,d,p,g,r),f=!0,g=k5(e,g,d)}));return s.add(d.onDidChangeColor(p=>{cm(a,d,p,g,r)})),s.add(e.onDidChangeModelContent(p=>{f?f=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:u,disposables:s}}function k5(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=Q.lift(n.range),r=o.getModel()._setTrackedRange(null,s,3);return o.executeEdits("colorpicker",i),o.pushUndoStop(),o.getModel()._getTrackedRange(r)??s}async function cm(o,e,t,i,n){const s=await b5(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,an.None);e.colorPresentations=s||[]}const B5="editor.action.showHover",pM="editor.action.showDefinitionPreviewHover",xM="editor.action.scrollUpHover",mM="editor.action.scrollDownHover",vM="editor.action.scrollLeftHover",_M="editor.action.scrollRightHover",bM="editor.action.pageUpHover",CM="editor.action.pageDownHover",EM="editor.action.goToTopHover",yM="editor.action.goToBottomHover",xb="editor.action.increaseHoverVerbosityLevel",wM=S({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),mb="editor.action.decreaseHoverVerbosityLevel",SM=S({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),F5="editor.action.inlineSuggest.commit",L5="editor.action.inlineSuggest.showPrevious",I5="editor.action.inlineSuggest.showNext";var A9=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Br=function(o,e){return function(t,i){e(t,i,o)}},dm;let eE=class extends Rt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=Wn(this,n=>{var d,u;const s=(d=this.model.read(n))==null?void 0:d.primaryGhostText.read(n);if(!this.alwaysShowToolbar.read(n)||!s||s.parts.length===0)return this.sessionPosition=void 0,null;const r=s.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==s.lineNumber&&(this.sessionPosition=void 0);const a=new Li(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Lp((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=vA((u,f)=>{const g=f.add(this.instantiationService.createInstance(K0,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(g),f.add(is(()=>e.removeContentWidget(g))),f.add(rs(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==_l.Explicit&&r.triggerExplicitly()})),g}),d=G_(this,(u,f)=>!!this.position.read(u)||!!f);s.add(rs(u=>{d.read(u)&&a.read(u)}))}))}};eE=A9([Br(2,nn)],eE);const DM=ms("inline-suggestion-hints-next",Zi.chevronRight,S("parameterHintsNextIcon","Icon for show next parameter hint.")),AM=ms("inline-suggestion-hints-previous",Zi.chevronLeft,S("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var wc;let K0=(wc=class extends Rt{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new R0(e,t,i,!0,()=>this._commandService.executeCommand(e)),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let r=t;return s&&(r=S({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,s.getLabel())),n.tooltip=r,n}constructor(e,t,i,n,s,r,a,d,u,f,g){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=n,this._suggestionCount=s,this._extraCommands=r,this._commandService=a,this.keybindingService=u,this._contextKeyService=f,this._menuService=g,this.id=`InlineSuggestionHintsContentWidget${dm.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Fr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Fr("div@toolBar")]),this.previousAction=this.createCommandAction(L5,S("previous","Previous"),Mn.asClassName(AM)),this.availableSuggestionCountAction=new R0("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(I5,S("next","Next"),Mn.asClassName(DM)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(ni.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new Ps(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new Ps(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(d.createInstance(tE,this.nodes.toolBar,ni.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,C)=>{if(p instanceof N0)return d.createInstance(BM,p,void 0);if(p===this.availableSuggestionCountAction){const b=new kM(void 0,p,{label:!0,icon:!1});return b.setClass("availableSuggestionCount"),b}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(p=>{dm._dropDownVisible=p})),this._register(rs(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(rs(p=>{const C=this._suggestionCount.read(p),b=this._currentSuggestionIdx.read(p);C!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${b+1}/${C}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),C!==void 0&&C>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(rs(p=>{const b=this._extraCommands.read(p).map(y=>({class:void 0,id:y.id,enabled:!0,tooltip:y.tooltip||"",label:y.title,run:w=>this._commandService.executeCommand(y.id)}));for(const[y,w]of this.inlineCompletionsActionsMenus.getActions())for(const A of w)A instanceof N0&&b.push(A);b.length>0&&b.unshift(new Ig),this.toolBar.setAdditionalSecondaryActions(b)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},dm=wc,wc._dropDownVisible=!1,wc.id=0,wc);K0=dm=A9([Br(6,zs),Br(7,nn),Br(8,Ds),Br(9,Fn),Br(10,Zu)],K0);class kM extends i1{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 BM=class extends pA{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Fr("div.keybinding").root;this._register(new Pw(t,Tw,{disableTitle:!0,...xA})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},tE=class extends mA{constructor(e,t,i,n,s,r,a,d,u){super(e,{resetMenu:t,...i},n,s,r,a,d,u),this.menuId=t,this.options2=i,this.menuService=n,this.contextKeyService=s,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,n,s,r,a,d,u;const e=[],t=[];Ww(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(s=(n=this.options2)==null?void 0:n.toolbarOptions)==null?void 0:s.primaryGroup,(a=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:a.shouldInlineSubmenu,(u=(d=this.options2)==null?void 0:d.toolbarOptions)==null?void 0:u.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){ja(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){ja(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};tE=A9([Br(3,Zu),Br(4,Fn),Br(5,af),Br(6,Ds),Br(7,zs),Br(8,ua)],tE);function vb(o,e,t){const i=yo(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let FM=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class P5 extends Rt{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new rn),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new Ps(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new Ps(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new Ps(()=>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=v3(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){qn(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 FM(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 k9{constructor(){this._onDidWillResize=new rn,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new rn,this.onDidResize=this._onDidResize.event,this._sashListener=new Tt,this._size=new Zn(0,0),this._minSize=new Zn(0,0),this._maxSize=new Zn(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new zh(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new zh(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new zh(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:PS.North}),this._southSash=new zh(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:PS.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(Is.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(Is.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(Is.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(Is.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 Zn(t,e);Zn.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 LM=30,IM=24;class PM extends Rt{constructor(e,t=new Zn(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new k9),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=Zn.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 Zn(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?Li.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:yo(t).top+i.top-LM}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=yo(t),s=Ip(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-IM}_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 TM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},bx=function(o,e){return function(t,i){e(t,i,o)}},Ea;const H8=30,MM=6;var Sc;let iE=(Sc=class extends PM{get isVisibleFromKeyboard(){var e;return((e=this._renderedHover)==null?void 0:e.source)===1}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(e,t,i,n,s){const r=e.getOption(67)+8,a=150,d=new Zn(a,r);super(e,d),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new _A),this._onDidResize=this._register(new rn),this.onDidResize=this._onDidResize.event,this._minimumSize=d,this._hoverVisibleKey=q.hoverVisible.bindTo(t),this._hoverFocusedKey=q.hoverFocused.bindTo(t),ui(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(f=>{f.hasChanged(50)&&this._updateFont()}));const u=this._register(I0(this._resizableNode.domNode));this._register(u.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(u.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){var e;super.dispose(),(e=this._renderedHover)==null||e.dispose(),this._editor.removeContentWidget(this)}getId(){return Ea.ID}static _applyDimensions(e,t,i){const n=typeof t=="number"?`${t}px`:t,s=typeof i=="number"?`${i}px`:i;e.style.width=n,e.style.height=s}_setContentsDomNodeDimensions(e,t){const i=this._hover.contentsDomNode;return Ea._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return Ea._applyDimensions(i,e,t)}_setHoverWidgetDimensions(e,t){this._setContentsDomNodeDimensions(e,t),this._setContainerDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,i){const n=typeof t=="number"?`${t}px`:t,s=typeof i=="number"?`${i}px`:i;e.style.maxWidth=n,e.style.maxHeight=s}_setHoverWidgetMaxDimensions(e,t){Ea._applyMaxDimensions(this._hover.contentsDomNode,e,t),Ea._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth",typeof e=="number"?`${e}px`:e),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions("none","none");const t=e.width,i=e.height;this._setHoverWidgetDimensions(t,i)}_updateResizableNodeMaxDimensions(){const e=this._findMaximumRenderingWidth()??1/0,t=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new Zn(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){Ea._lastDimensions=new Zn(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=MM;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?Ip(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=yo(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=W8(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=W8(e,t,i.left,i.top,i.width,i.height);return n>this._renderedHover.closestMouseDistance+4?!1:(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,n),!0)}_setRenderedHover(e){var t;(t=this._renderedHover)==null||t.dispose(),this._renderedHover=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){const{fontSize:e,lineHeight:t}=this._editor.getOption(50),i=this._hover.contentsDomNode;i.style.fontSize=`${e}px`,i.style.lineHeight=`${t/e}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(s=>this._editor.applyFontInfo(s))}_updateContent(e){const t=this._hover.contentsDomNode;t.style.paddingBottom="",t.textContent="",t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const e=Math.max(this._editor.getLayoutInfo().height/4,250,Ea._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,Ea._lastDimensions.width);this._setHoverWidgetMaxDimensions(t,e)}_render(e){this._setRenderedHover(e),this._updateFont(),this._updateContent(e.domNode),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){return this._renderedHover?{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[this._positionPreference??1]}:null}show(e){var r;if(!this._editor||!this._editor.hasModel())return;this._render(e);const t=Vh(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&&_3(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 Zn(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 Zn(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 Zn(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=Vh(e),i=yr(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=Vh(e),i=yr(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=Vh(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-H8})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+H8})}pageUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}},Ea=Sc,Sc.ID="editor.contrib.resizableContentHoverWidget",Sc._lastDimensions=new Zn(0,0),Sc);iE=Ea=TM([bx(1,Fn),bx(2,ss),bx(3,K_),bx(4,Ds)],iE);function W8(o,e,t,i,n,s){const r=t+n/2,a=i+s/2,d=Math.max(Math.abs(o-r)-n/2,0),u=Math.max(Math.abs(e-a)-s/2,0);return Math.sqrt(d*d+u*u)}class Gm{get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}get source(){return this._source}set source(e){this._source=e}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(e){this._insistOnKeepingHoverVisible=e}constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(e,t){if(t.type!==1&&!t.supportsMarkerHover)return[];const i=e.getModel(),n=t.range.startLineNumber;if(n>i.getLineCount())return[];const s=i.getLineMaxColumn(n);return e.getLineDecorations(n).filter(r=>{if(r.options.isWholeLine)return!0;const a=r.range.startLineNumber===n?r.range.startColumn:1,d=r.range.endLineNumber===n?r.range.endColumn:s;if(r.options.showIfCollapsed){if(a>t.range.startColumn+1||t.range.endColumn-1>d)return!1}else if(a>t.range.startColumn||t.range.endColumn>d)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return sa.EMPTY;const i=Gm._getLineDecorations(this._editor,t);return sa.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):sa.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=Gm._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return yl(t)}}class T5{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 RM(this,this.anchor,t,this.isComplete)}}class RM extends T5{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var NM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},OM=function(o,e){return function(t,i){e(t,i,o)}};const z8=mi;let Km=class extends Rt{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=z8("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=ui(this.hoverElement,z8("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(b3.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=ui(this.actionsElement,e);return this._hasContent=!0,t}};Km=NM([OM(0,Ds)],Km);class HM{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function WM(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(_s);if(!(!s||!zM(s)))return new HM(o,s,e)}function B9(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,d)=>WM(a,d,e,t,i));return sa.fromPromises(r).coalesce()}function M5(o,e,t,i,n=!1){return B9(o,e,t,i,n).map(s=>s.hover).toPromise()}ko("_executeHoverProvider",(o,e,t)=>{const i=o.get(Ii);return M5(i.hoverProvider,e,t,an.None)});ko("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(Ii);return M5(i.hoverProvider,e,t,an.None,!0)});function zM(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var VM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dd=function(o,e){return function(t,i){e(t,i,o)}};const Gh=mi,jM=ms("hover-increase-verbosity",Zi.add,S("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),$M=ms("hover-decrease-verbosity",Zi.remove,S("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class Ir{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 R5{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case dr.Increase:return this.hover.canIncreaseVerbosity??!1;case dr.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let Zg=class{constructor(e,t,i,n,s,r,a,d){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=n,this._languageFeaturesService=s,this._keybindingService=r,this._hoverService=a,this._commandService=d,this.hoverOrdinal=3}createLoadingMessage(e){return new Ir(this,e.range,[new lo().appendText(S("modesContentHover.loading","Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,s=i.getLineMaxColumn(n),r=[];let a=1e3;const d=i.getLineLength(n),u=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),f=this._editor.getOption(118),g=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:u});let p=!1;f>=0&&d>f&&e.range.startColumn>=f&&(p=!0,r.push(new Ir(this,e.range,[{value:S("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!p&&typeof g=="number"&&d>=g&&r.push(new Ir(this,e.range,[{value:S("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let C=!1;for(const b of t){const y=b.range.startLineNumber===n?b.range.startColumn:1,w=b.range.endLineNumber===n?b.range.endColumn:s,A=b.options.hoverMessage;if(!A||Pg(A))continue;b.options.beforeContentClassName&&(C=!0);const I=new Q(e.range.startLineNumber,y,e.range.startLineNumber,w);r.push(new Ir(this,I,bA(A),C,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return sa.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):sa.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return B9(e,t,s,n).filter(d=>!Pg(d.hover.contents)).map(d=>{const u=d.hover.range?Q.lift(d.hover.range):i.range,f=new R5(d.hover,d.provider,s);return new Ir(this,u,d.hover.contents,!1,d.ordinal,f)})}renderHoverParts(e,t){return this._renderedHoverParts=new UM(t,e.fragment,this,this._editor,this._languageService,this._openerService,this._commandService,this._keybindingService,this._hoverService,this._configurationService,e.onContentsChanged),this._renderedHoverParts}updateMarkdownHoverVerbosityLevel(e,t,i){var n;return Promise.resolve((n=this._renderedHoverParts)==null?void 0:n.updateMarkdownHoverPartVerbosityLevel(e,t,i))}};Zg=VM([dd(1,ha),dd(2,da),dd(3,ss),dd(4,Ii),dd(5,Ds),dd(6,Pp),dd(7,zs)],Zg);class Cx{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class UM{constructor(e,t,i,n,s,r,a,d,u,f,g){this._hoverParticipant=i,this._editor=n,this._languageService=s,this._openerService=r,this._commandService=a,this._keybindingService=d,this._hoverService=u,this._configurationService=f,this._onFinishedRendering=g,this._ongoingHoverOperations=new Map,this._disposables=new Tt,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(is(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(Tp(n=>n.ordinal,Z_)),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 Tt;if(r.add(i),!s)return new Cx(e,n,r);const a=s.supportsVerbosityAction(dr.Increase),d=s.supportsVerbosityAction(dr.Decrease);if(!a&&!d)return new Cx(e,n,r);const u=Gh("div.verbosity-actions");return n.prepend(u),r.add(this._renderHoverExpansionAction(u,dr.Increase,a)),r.add(this._renderHoverExpansionAction(u,dr.Decrease,d)),new Cx(e,n,r)}_renderMarkdownHover(e,t){return N5(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new Tt,s=t===dr.Increase,r=ui(e,Gh(Mn.asCSSSelector(s?jM:$M)));r.tabIndex=0;const a=new C3("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,GM(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const d=()=>this._commandService.executeCommand(t===dr.Increase?xb:mb);return n.add(new E3(r,d)),n.add(new y3(r,d,[3,10])),n}async updateMarkdownHoverPartVerbosityLevel(e,t,i=!0){const n=this._editor.getModel();if(!n)return;const s=this._getRenderedHoverPartAtIndex(t),r=s==null?void 0:s.hoverPart.source;if(!s||!(r!=null&&r.supportsVerbosityAction(e)))return;const a=await this._fetchHover(r,n,e);if(!a)return;const d=new R5(a,r.hoverProvider,r.hoverPosition),u=s.hoverPart,f=new Ir(this._hoverParticipant,u.range,a.contents,u.isBeforeContent,u.ordinal,d),g=this._renderHoverPart(f,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(t,g,f),i&&this._focusOnHoverPartWithIndex(t),{hoverPart:f,hoverElement:g.hoverElement}}async _fetchHover(e,t,i){let n=i===dr.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new qs;this._ongoingHoverOperations.set(s,{verbosityDelta:n,tokenSource:a});const d={verbosityRequest:{verbosityDelta:n,previousHover:e.hover}};let u;try{u=await Promise.resolve(s.provideHover(t,e.hoverPosition,a.token,d))}catch(f){_s(f)}return a.dispose(),this._ongoingHoverOperations.delete(s),u}_replaceRenderedHoverPartAtIndex(e,t,i){if(e>=this.renderedHoverParts.length||e<0)return;const n=this.renderedHoverParts[e],s=n.hoverElement,r=t.hoverElement,a=Array.from(r.children);s.replaceChildren(...a);const d=new Cx(i,s,t.disposables);s.focus(),n.dispose(),this.renderedHoverParts[e]=d}_focusOnHoverPartWithIndex(e){this.renderedHoverParts[e].hoverElement.focus()}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}}function qM(o,e,t,i,n){e.sort(Tp(r=>r.ordinal,Z_));const s=[];for(const r of e)s.push(N5(t,r,i,n,o.onContentsChanged));return new zu(s)}function N5(o,e,t,i,n){const s=new Tt,r=Gh("div.hover-row"),a=Gh("div.hover-row-contents");r.appendChild(a);const d=e.contents;for(const f of d){if(Pg(f))continue;const g=Gh("div.markdown-hover"),p=ui(g,Gh("div.hover-contents")),C=s.add(new uf({editor:o},t,i));s.add(C.onDidRenderAsync(()=>{p.className="hover-contents code-hover-contents",n()}));const b=s.add(C.render(f));p.appendChild(b.element),a.appendChild(g)}return{hoverPart:e,hoverElement:r,dispose(){s.dispose()}}}function GM(o,e){switch(e){case dr.Increase:{const t=o.lookupKeybinding(xb);return t?S("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):S("increaseVerbosity","Increase Hover Verbosity")}case dr.Decrease:{const t=o.lookupKeybinding(mb);return t?S("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):S("decreaseVerbosity","Decrease Hover Verbosity")}}}function nE(o,e){return!!o[e]}class CC{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=nE(e.event,t.triggerModifier),this.hasSideBySideModifier=nE(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class V8{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=nE(e,t.triggerModifier)}}class Ex{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 j8(o){return o==="altKey"?$a?new Ex(57,"metaKey",6,"altKey"):new Ex(5,"ctrlKey",6,"altKey"):$a?new Ex(6,"altKey",57,"metaKey"):new Ex(6,"altKey",5,"ctrlKey")}class _b extends Rt{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new rn),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new rn),this.onExecute=this._onExecute.event,this._onCancel=this._register(new rn),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=j8(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=j8(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 CC(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new CC(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new CC(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new V8(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new V8(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 O5{constructor(e,t){this.range=e,this.direction=t}}class F9{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new F9(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){_s(t),this._isResolved=!1}}}const i0=class i0{static async create(e,t,i,n){const s=[],r=e.ordered(t).reverse().map(a=>i.map(async d=>{try{const u=await a.provideInlayHints(t,d,n);(u!=null&&u.hints.length||a.onDidChangeInlayHints)&&s.push([u??i0._emptyInlayHintList,a])}catch(u){_s(u)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new j_;return new i0(i,s,t)}constructor(e,t,i){this._disposables=new Tt,this.ranges=e,this.provider=new Set;const n=[];for(const[s,r]of t){this._disposables.add(s),this.provider.add(r);for(const a of s.hints){const d=i.validatePosition(a.position);let u="before";const f=i0._getRangeAtPosition(i,d);let g;f.getStartPosition().isBefore(d)?(g=Q.fromPositions(f.getStartPosition(),d),u="after"):(g=Q.fromPositions(d,f.getEndPosition()),u="before"),n.push(new F9(a,new O5(g,u),r))}}this.items=n.sort((s,r)=>Li.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 Q(i,n.startColumn,i,n.endColumn);e.tokenization.tokenizeIfCheap(i);const s=e.tokenization.getLineTokens(i),r=t.column-1,a=s.findTokenIndexAtOffset(r);let d=s.getStartOffset(a),u=s.getEndOffset(a);return u-d===1&&(d===r&&a>1?(d=s.getStartOffset(a-1),u=s.getEndOffset(a-1)):u===r&&a<s.getCount()-1&&(d=s.getStartOffset(a+1),u=s.getEndOffset(a+1))),new Q(i,d+1,i,u+1)}};i0._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let Zm=i0;function KM(o){return jn.from({scheme:Co.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var ZM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},tl=function(o,e){return function(t,i){e(t,i,o)}};let Hr=class extends w3{constructor(e,t,i,n,s,r,a,d,u,f,g,p,C){super(e,{...n.getRawOptions(),overflowWidgetsDomNode:n.getOverflowWidgetsDomNode()},i,s,r,a,d,u,f,g,p,C),this._parentEditor=n,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(n.onDidChangeConfiguration(b=>this._onParentConfigurationChanged(b)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){zw(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Hr=ZM([tl(4,nn),tl(5,bs),tl(6,zs),tl(7,Fn),tl(8,Wr),tl(9,mo),tl(10,K_),tl(11,Vs),tl(12,Ii)],Hr);const $8=new pn(new M0(0,122,204)),XM={showArrow:!0,showFrame:!0,className:"",frameColor:$8,arrowColor:$8,keepEditorSelection:!1},YM="vs.editor.contrib.zoneWidget";class QM{constructor(e,t,i,n,s,r,a,d){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=n,this.showInHiddenAreas=a,this.ordinal=d,this._onDomNodeTop=s,this._onComputedHeight=r}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class JM{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const t_=class t_{constructor(e){this._editor=e,this._ruleName=t_._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),TS(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(){TS(this._ruleName),A3(`.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:Q.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};t_._IdGenerator=new D3(".arrow-decoration-");let sE=t_;class eR{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new Tt,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=S3(t),zw(this.options,XM,!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 sE(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=Q.isIRange(e)?Q.lift(e):Q.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:mn.EMPTY}])}hide(){var e;this._viewZone&&(this.editor.changeViewZones(t=>{this._viewZone&&t.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),(e=this._arrow)==null||e.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const e=this.editor.getOption(67);let t=0;if(this.options.showArrow){const i=Math.round(e/3);t+=2*i}if(this.options.showFrame){const i=Math.round(e/9);t+=2*i}return t}_showImpl(e,t){const i=e.getStartPosition(),n=this.editor.getLayoutInfo(),s=this._getWidth(n);this.domNode.style.width=`${s}px`,this.domNode.style.left=this._getLeft(n)+"px";const r=document.createElement("div");r.style.overflow="hidden";const a=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const p=Math.max(12,this.editor.getLayoutInfo().height/a*.8);t=Math.min(t,p)}let d=0,u=0;if(this._arrow&&this.options.showArrow&&(d=Math.round(a/3),this._arrow.height=d,this._arrow.show(i)),this.options.showFrame&&(u=Math.round(a/9)),this.editor.changeViewZones(p=>{this._viewZone&&p.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new QM(r,i.lineNumber,i.column,t,C=>this._onViewZoneTop(C),C=>this._onViewZoneHeight(C),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=p.addZone(this._viewZone),this._overlayWidget=new JM(YM+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const p=this.options.frameWidth?this.options.frameWidth:u;this.container.style.borderTopWidth=p+"px",this.container.style.borderBottomWidth=p+"px"}const f=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=d+"px",this.container.style.height=f+"px",this.container.style.overflow="hidden"),this._doLayout(f,s),this.options.keepEditorSelection||this.editor.setSelection(e);const g=this.editor.getModel();if(g){const p=g.validateRange(new Q(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(p,p.startLineNumber===g.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new zh(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 H5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},W5=function(o,e){return function(t,i){e(t,i,o)}};const z5=Ml("IPeekViewService");Rl(z5,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 wo;(function(o){o.inPeekEditor=new En("inReferenceSearchEditor",!0,S("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(wo||(wo={}));var C0;let Xm=(C0=class{constructor(e,t){e instanceof Hr&&wo.inPeekEditor.bindTo(t)}dispose(){}},C0.ID="editor.contrib.referenceController",C0);Xm=H5([W5(1,Fn)],Xm);un(Xm.ID,Xm,0);function tR(o){const e=o.get(bs).getFocusedCodeEditor();return e instanceof Hr?e.getParentEditor():e}const iR={headerBackgroundColor:pn.white,primaryHeadingColor:pn.fromHex("#333333"),secondaryHeadingColor:pn.fromHex("#6c6c6cb3")};let Ym=class extends eR{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new rn,this.onDidClose=this._onDidClose.event,zw(this.options,iR,!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=mi(".head"),this._bodyElement=mi(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=mi(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),Sl(this._titleElement,"click",s=>this._onTitleClick(s))),ui(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=mi("span.filename"),this._secondaryHeading=mi("span.dirname"),this._metaHeading=mi("span.meta"),ui(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=mi(".peekview-actions");ui(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new Bg(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new R0("peekview.close",S("label.close","Close"),Mn.asClassName(Zi.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:k3.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:Wa(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,Lr(this._metaHeading)):Uo(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`)}};Ym=H5([W5(2,nn)],Ym);const nR=vi("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:pn.black,hcLight:pn.white},S("peekViewTitleBackground","Background color of the peek view title area.")),V5=vi("peekViewTitleLabel.foreground",{dark:pn.white,light:pn.black,hcDark:pn.white,hcLight:Mp},S("peekViewTitleForeground","Color of the peek view title.")),j5=vi("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},S("peekViewTitleInfoForeground","Color of the peek view title info.")),sR=vi("peekView.border",{dark:n1,light:n1,hcDark:wl,hcLight:wl},S("peekViewBorder","Color of the peek view borders and arrow.")),oR=vi("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:pn.black,hcLight:pn.white},S("peekViewResultsBackground","Background color of the peek view result list."));vi("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:pn.white,hcLight:Mp},S("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));vi("peekViewResult.fileForeground",{dark:pn.white,light:"#1E1E1E",hcDark:pn.white,hcLight:Mp},S("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));vi("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},S("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));vi("peekViewResult.selectionForeground",{dark:pn.white,light:"#6C6C6C",hcDark:pn.white,hcLight:Mp},S("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const $5=vi("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:pn.black,hcLight:pn.white},S("peekViewEditorBackground","Background color of the peek view editor."));vi("peekViewEditorGutter.background",$5,S("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));vi("peekViewEditorStickyScroll.background",$5,S("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));vi("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},S("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));vi("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},S("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));vi("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:Bu,hcLight:Bu},S("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class Vc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=B3.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){var t;const e=(t=this.parent.getPreview(this))==null?void 0:t.preview(this.range);return e?S({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"{0} in {1} on line {2} at column {3}",e.value,Ua(this.uri),this.range.startLineNumber,this.range.startColumn):S("aria.oneReference","in {0} on line {1} at column {2}",Ua(this.uri),this.range.startLineNumber,this.range.startColumn)}}class rR{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:n,startColumn:s,endLineNumber:r,endColumn:a}=e,d=i.getWordUntilPosition({lineNumber:n,column:s-t}),u=new Q(n,d.startColumn,n,s),f=new Q(r,a,r,1073741824),g=i.getValueInRange(u).replace(/^\s+/,""),p=i.getValueInRange(e),C=i.getValueInRange(f).replace(/\s+$/,"");return{value:g+p+C,highlight:{start:g.length,end:g.length+p.length}}}}class Xg{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new Nc}dispose(){uo(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?S("aria.fileReferences.1","1 symbol in {0}, full path {1}",Ua(this.uri),this.uri.fsPath):S("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Ua(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 rR(i))}catch(i){qn(i)}return this}}class Ro{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new rn,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(Ro._compareReferences);let n;for(const s of e)if((!n||!MS.isEqual(n.uri,s.uri,!0))&&(n=new Xg(this,s.uri),this.groups.push(n)),n.children.length===0||Ro._compareReferences(s,n.children[n.children.length-1])!==0){const r=new Vc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){uo(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new Ro(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?S("aria.result.0","No results found"):this.references.length===1?S("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?S("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):S("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let n=i.children.indexOf(e);const s=i.children.length,r=i.parent.groups.length;return r===1||t&&n+1<s||!t&&n>0?(t?n=(n+1)%s:n=(n+s-1)%s,i.children[n]):(n=i.parent.groups.indexOf(i),t?(n=(n+1)%r,i.parent.groups[n].children[0]):(n=(n+r-1)%r,i.parent.groups[n].children[i.parent.groups[n].children.length-1]))}nearestReference(e,t){const i=this.references.map((n,s)=>({idx:s,prefixLen:Rp(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()&&Q.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 MS.compare(e.uri,t.uri)||Q.compareRangesUsingStarts(e.range,t.range)}}var bb=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},oE;let rE=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof Ro||e instanceof Xg}getChildren(e){if(e instanceof Ro)return e.groups;if(e instanceof Xg)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};rE=bb([Cb(0,fa)],rE);class aR{getHeight(){return 23}getTemplateId(e){return e instanceof Xg?Qm.id:Jm.id}}let aE=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof Vc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return Ua(e.uri)}};aE=bb([Cb(0,Ds)],aE);class lR{getId(e){return e instanceof Vc?e.id:e.uri}}let lE=class extends Rt{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new CA(i,{supportHighlights:!0})),this.badge=new F3(ui(i,mi(".count")),{},L3),e.appendChild(i)}set(e,t){const i=Vw(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const n=e.children.length;this.badge.setCount(n),n>1?this.badge.setTitleFormat(S("referencesCount","{0} references",n)):this.badge.setTitleFormat(S("referenceCount","{0} reference",n))}};lE=bb([Cb(1,Tg)],lE);var qd;let Qm=(qd=class{constructor(e){this._instantiationService=e,this.templateId=oE.id}renderTemplate(e){return this._instantiationService.createInstance(lE,e)}renderElement(e,t,i){i.set(e.element,X_(e.filterData))}disposeTemplate(e){e.dispose()}},oE=qd,qd.id="FileReferencesRenderer",qd);Qm=oE=bb([Cb(0,nn)],Qm);class cR extends Rt{constructor(e){super(),this.label=this._register(new I3(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(`${Ua(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!Mg.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,X_(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const i_=class i_{constructor(){this.templateId=i_.id}renderTemplate(e){return new cR(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};i_.id="OneReferenceRenderer";let Jm=i_;class dR{getWidgetAriaLabel(){return S("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var uR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ch=function(o,e){return function(t,i){e(t,i,o)}};const n_=class n_{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new Tt,this._callOnModelChange=new Tt,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:n_.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(!Q.equalsRange(s,n.range)){if(Q.spansMultipleLines(s))r=!0;else{const a=n.range.endColumn-n.range.startColumn,d=s.endColumn-s.startColumn;a!==d&&(r=!0)}r?(this._decorationIgnoreSet.add(n.id),e.push(i)):n.range=s}}for(let i=0,n=e.length;i<n;i++)this._decorations.delete(e[i]);this._editor.removeDecorations(e)}}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]),this._decorations.clear()}};n_.DecorationOptions=mn.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let cE=n_;class hR{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 fR extends M3{}let dE=class extends Ym{constructor(e,t,i,n,s,r,a,d,u){super(e,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},r),this._defaultTreeKeyboardSupport=t,this.layoutData=i,this._textModelResolverService=s,this._instantiationService=r,this._peekViewService=a,this._uriLabel=d,this._keybindingService=u,this._disposeOnNewModel=new Tt,this._callOnDispose=new Tt,this._onDidSelectReference=new rn,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new Zn(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(),uo(this._preview),uo(this._previewNotAvailableMessage),uo(this._tree),uo(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(sR)||pn.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(nR)||pn.transparent,primaryHeadingColor:e.getColor(V5),secondaryHeadingColor:e.getColor(j5)})}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=ui(e,mi("div.messages")),Uo(this._messageContainer),this._splitView=new P3(e,{orientation:1}),this._previewContainer=ui(e,mi("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(Hr,this._previewContainer,t,{},this.editor),Uo(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(dc,S("missingPreviewMessage","no preview available"),Rg,dc.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=ui(e,mi("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new dR,keyboardNavigationLabelProvider:this._instantiationService.createInstance(aE),identityProvider:new lR,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:oR}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(Sl(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(fR,"ReferencesWidget",this._treeContainer,new aR,[this._instantiationService.createInstance(Qm),this._instantiationService.createInstance(Jm)],this._instantiationService.createInstance(rE),i),this._splitView.addView({onDidChange:Is.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},RS.Distribute),this._splitView.addView({onDidChange:Is.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)}},RS.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 Vc&&(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")})),Uo(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Zn(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=S("noResults","No results"),Lr(this._messageContainer),Promise.resolve(void 0)):(Uo(this._messageContainer),this._decorationsManager=new cE(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"),Lr(this._treeContainer),Lr(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 Vc)return e;if(e instanceof Xg&&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!==Co.inMemory?this.setTitle(T3(e.uri),this._uriLabel.getUriLabel(Vw(e.uri))):this.setTitle(S("peekView.alternateTitle","References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent?this._tree.reveal(e):(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent),this._tree.reveal(e));const n=await i;if(!this._model){n.dispose();return}uo(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=Q.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()}};dE=uR([Ch(3,Wr),Ch(4,fa),Ch(5,nn),Ch(6,z5),Ch(7,Tg),Ch(8,Ds)],dE);var gR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Eh=function(o,e){return function(t,i){e(t,i,o)}},um;const ih=new En("referenceSearchVisible",!1,S("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var Gd;let Vu=(Gd=class{static get(e){return e.getContribution(um.ID)}constructor(e,t,i,n,s,r,a,d){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=s,this._instantiationService=r,this._storageService=a,this._configurationService=d,this._disposables=new Tt,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=ih.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=hR.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(dE,this._editor,this._defaultTreeKeyboardSupport,r),this._widget.setTitle(S("labelLoading","Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget?(this._storageService.store(s,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(d=>{const{element:u,kind:f}=d;if(u)switch(f){case"open":(d.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(u,!1,!1);break;case"side":this.openReference(u,!0,!1);break;case"goto":i?this._gotoReference(u,!0):this.openReference(u,!1,!0);break}}));const a=++this._requestIdPool;t.then(d=>{var u;if(a!==this._requestIdPool||!this._widget){d.dispose();return}return(u=this._model)==null||u.dispose(),this._model=d,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(S("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const f=this._editor.getModel().uri,g=new Li(e.startLineNumber,e.startColumn),p=this._model.nearestReference(f,g);if(p)return this._widget.setSelection(p).then(()=>{this._widget&&this._editor.getOption(87)==="editor"&&this._widget.focusOnPreviewEditor()})}})},d=>{this._notificationService.error(d)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const n=this._model.nextOrPreviousReference(i,e),s=this._editor.hasTextFocus(),r=this._widget.isPreviewEditorFocused();await this._widget.setSelection(n),await this._gotoReference(n,!1),s?this._editor.focus():this._widget&&r&&this._widget.focusOnPreviewEditor()}async revealReference(e){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(e)}closeWidget(e=!0){var t,i;(t=this._widget)==null||t.dispose(),(i=this._model)==null||i.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){var n;(n=this._widget)==null||n.hide(),this._ignoreModelChangeEvent=!0;const i=Q.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=um.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,Us(d=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,qn(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)}},um=Gd,Gd.ID="editor.contrib.referencesController",Gd);Vu=um=gR([Eh(2,Fn),Eh(3,bs),Eh(4,mo),Eh(5,nn),Eh(6,Gc),Eh(7,ss)],Vu);function nh(o,e){const t=tR(o);if(!t)return;const i=Vu.get(t);i&&e(i)}Ka.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:Ss(2089,60),when:qe.or(ih,wo.inPeekEditor),handler(o){nh(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Ka.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:qe.or(ih,wo.inPeekEditor),handler(o){nh(o,e=>{e.goToNextOrPreviousReference(!0)})}});Ka.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:qe.or(ih,wo.inPeekEditor),handler(o){nh(o,e=>{e.goToNextOrPreviousReference(!1)})}});Qn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");Qn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");Qn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");Qn.registerCommand("closeReferenceSearch",o=>nh(o,e=>e.closeWidget()));Ka.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:qe.and(wo.inPeekEditor,qe.not("config.editor.stablePeek"))});Ka.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:qe.and(ih,qe.not("config.editor.stablePeek"),qe.or(q.editorTextFocus,R3.negate()))});Ka.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:qe.and(ih,EA,yA.negate(),wA.negate()),handler(o){var i;const t=(i=o.get(jw).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Vc&&nh(o,n=>n.revealReference(t[0]))}});Ka.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:qe.and(ih,EA,yA.negate(),wA.negate()),handler(o){var i;const t=(i=o.get(jw).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Vc&&nh(o,n=>n.openReference(t[0],!0,!0))}});Qn.registerCommand("openReference",o=>{var i;const t=(i=o.get(jw).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Vc&&nh(o,n=>n.openReference(t[0],!1,!0))});var U5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Zf=function(o,e){return function(t,i){e(t,i,o)}};const L9=new En("hasSymbols",!1,S("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),Eb=Ml("ISymbolNavigationService");let uE=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=L9.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 hE(this._editorService),n=i.onDidChange(s=>{if(this._ignoreEditorChange)return;const r=this._editorService.getActiveCodeEditor();if(!r)return;const a=r.getModel(),d=r.getPosition();if(!a||!d)return;let u=!1,f=!1;for(const g of t.references)if(Sm(g.uri,a.uri))u=!0,f=f||Q.containsPosition(g.range,d);else if(u)break;(!u||!f)&&this.reset()});this._currentState=SA(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:Q.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var i;(i=this._currentMessage)==null||i.dispose();const e=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),t=e?S("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):S("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};uE=U5([Zf(0,Fn),Zf(1,bs),Zf(2,mo),Zf(3,Ds)],uE);Rl(Eb,uE,1);Mi(new class extends Ao{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:L9,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(Eb).revealNext(e)}});Ka.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:L9,primary:9,handler(o){o.get(Eb).reset()}});let hE=class{constructor(e){this._listener=new Map,this._disposables=new Tt,this._onDidChange=new rn,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(),uo(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,SA(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)}};hE=U5([Zf(0,bs)],hE);function fE(o,e){return e.uri.scheme===o.uri.scheme?!0:!N3(e.uri,Co.walkThroughSnippet,Co.vscodeChatCodeBlock,Co.vscodeChatCodeCompareBlock)}async function Kp(o,e,t,i,n){const r=t.ordered(o,i).map(d=>Promise.resolve(n(d,o,e)).then(void 0,u=>{_s(u)})),a=await Promise.all(r);return yl(a.flat()).filter(d=>fE(o,d))}function Zp(o,e,t,i,n){return Kp(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function I9(o,e,t,i,n){return Kp(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function P9(o,e,t,i,n){return Kp(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function T9(o,e,t,i,n){return Kp(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function Xp(o,e,t,i,n,s){return Kp(e,t,o,n,async(r,a,d)=>{var g,p;const u=(g=await r.provideReferences(a,d,{includeDeclaration:!0},s))==null?void 0:g.filter(C=>fE(a,C));if(!i||!u||u.length!==2)return u;const f=(p=await r.provideReferences(a,d,{includeDeclaration:!1},s))==null?void 0:p.filter(C=>fE(a,C));return f&&f.length===1?f:u})}async function Za(o){const e=await o(),t=new Ro(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}ko("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(Ii),n=Zp(i.definitionProvider,e,t,!1,an.None);return Za(()=>n)});ko("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Ii),n=Zp(i.definitionProvider,e,t,!0,an.None);return Za(()=>n)});ko("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(Ii),n=T9(i.typeDefinitionProvider,e,t,!1,an.None);return Za(()=>n)});ko("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Ii),n=T9(i.typeDefinitionProvider,e,t,!0,an.None);return Za(()=>n)});ko("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(Ii),n=I9(i.declarationProvider,e,t,!1,an.None);return Za(()=>n)});ko("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(Ii),n=I9(i.declarationProvider,e,t,!0,an.None);return Za(()=>n)});ko("_executeReferenceProvider",(o,e,t)=>{const i=o.get(Ii),n=Xp(i.referenceProvider,e,t,!1,!1,an.None);return Za(()=>n)});ko("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(Ii),n=Xp(i.referenceProvider,e,t,!1,!0,an.None);return Za(()=>n)});ko("_executeImplementationProvider",(o,e,t)=>{const i=o.get(Ii),n=P9(i.implementationProvider,e,t,!1,an.None);return Za(()=>n)});ko("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(Ii),n=P9(i.implementationProvider,e,t,!0,an.None);return Za(()=>n)});Rr.appendMenuItem(ni.EditorContext,{submenu:ni.EditorContextPeek,title:S("peek.submenu","Peek"),group:"navigation",order:100});class Z0{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof Z0||Li.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const Cr=class Cr extends la{static all(){return Cr._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of ml.wrap(t.menu))(i.id===ni.EditorContext||i.id===ni.EditorContextPeek)&&(i.when=qe.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(mo),r=e.get(bs),a=e.get(Ap),d=e.get(Eb),u=e.get(Ii),f=e.get(nn),g=t.getModel(),p=t.getPosition(),C=Z0.is(i)?i:new Z0(g,p),b=new L0(t,5),y=Sp(this._getLocationModel(u,C.model,C.position,b.token),b.token).then(async w=>{var M;if(!w||b.token.isCancellationRequested)return;Nr(w.ariaMessage);let A;if(w.referenceAt(g.uri,p)){const R=this._getAlternativeCommand(t);!Cr._activeAlternativeCommands.has(R)&&Cr._allSymbolNavigationCommands.has(R)&&(A=Cr._allSymbolNavigationCommands.get(R))}const I=w.references.length;if(I===0){if(!this.configuration.muteMessage){const R=g.getWordAtPosition(p);(M=Mo.get(t))==null||M.showMessage(this._getNoResultFoundMessage(R),p)}}else if(I===1&&A)Cr._activeAlternativeCommands.add(this.desc.id),f.invokeFunction(R=>A.runEditorCommand(R,t,i,n).finally(()=>{Cr._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(r,d,t,w,n)},w=>{s.error(w)}).finally(()=>{b.dispose()});return a.showWhile(y,250),y}async _onResult(e,t,i,n,s){const r=this._getGoToPreference(i);if(!(i instanceof Hr)&&(this.configuration.openInPeek||r==="peek"&&n.references.length>1))this._openInPeek(i,n,s);else{const a=n.firstReference(),d=n.references.length>1&&r==="gotoAndPeek",u=await this._openReference(i,e,a,this.configuration.openToSide,!d);d&&u?this._openInPeek(u,n,s):n.dispose(),r==="goto"&&t.put(a)}}async _openReference(e,t,i,n,s){let r;if(O3(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:Q.collapseToStart(r),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(a){if(s){const d=a.getModel(),u=a.createDecorationsCollection([{range:r,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===d&&u.clear()},350)}return a}}_openInPeek(e,t,i){const n=Vu.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),Us(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};Cr._allSymbolNavigationCommands=new Map,Cr._activeAlternativeCommands=new Set;let Fl=Cr;class Yp extends Fl{async _getLocationModel(e,t,i,n){return new Ro(await Zp(e.definitionProvider,t,i,!1,n),S("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?S("noResultWord","No definition found for '{0}'",e.word):S("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}var Dc;Vn((Dc=class extends Yp{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Dc.id,title:{...ki("actions.goToDecl.label","Go to Definition"),mnemonicTitle:S({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:q.hasDefinitionProvider,keybinding:[{when:q.editorTextFocus,primary:70,weight:100},{when:qe.and(q.editorTextFocus,DA),primary:2118,weight:100}],menu:[{id:ni.EditorContext,group:"navigation",order:1.1},{id:ni.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Qn.registerCommandAlias("editor.action.goToDeclaration",Dc.id)}},Dc.id="editor.action.revealDefinition",Dc));var Ac;Vn((Ac=class extends Yp{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:Ac.id,title:ki("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:qe.and(q.hasDefinitionProvider,q.isInEmbeddedEditor.toNegated()),keybinding:[{when:q.editorTextFocus,primary:Ss(2089,70),weight:100},{when:qe.and(q.editorTextFocus,DA),primary:Ss(2089,2118),weight:100}]}),Qn.registerCommandAlias("editor.action.openDeclarationToTheSide",Ac.id)}},Ac.id="editor.action.revealDefinitionAside",Ac));var kc;Vn((kc=class extends Yp{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:kc.id,title:ki("actions.previewDecl.label","Peek Definition"),precondition:qe.and(q.hasDefinitionProvider,wo.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),keybinding:{when:q.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:ni.EditorContextPeek,group:"peek",order:2}}),Qn.registerCommandAlias("editor.action.previewDeclaration",kc.id)}},kc.id="editor.action.peekDefinition",kc));class q5 extends Fl{async _getLocationModel(e,t,i,n){return new Ro(await I9(e.declarationProvider,t,i,!1,n),S("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?S("decl.noResultWord","No declaration found for '{0}'",e.word):S("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}var Kd;Vn((Kd=class extends q5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Kd.id,title:{...ki("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:S({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:qe.and(q.hasDeclarationProvider,q.isInEmbeddedEditor.toNegated()),menu:[{id:ni.EditorContext,group:"navigation",order:1.3},{id:ni.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?S("decl.noResultWord","No declaration found for '{0}'",e.word):S("decl.generic.noResults","No declaration found")}},Kd.id="editor.action.revealDeclaration",Kd));Vn(class extends q5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:ki("actions.peekDecl.label","Peek Declaration"),precondition:qe.and(q.hasDeclarationProvider,wo.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),menu:{id:ni.EditorContextPeek,group:"peek",order:3}})}});class G5 extends Fl{async _getLocationModel(e,t,i,n){return new Ro(await T9(e.typeDefinitionProvider,t,i,!1,n),S("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?S("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):S("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}var Zd;Vn((Zd=class extends G5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Zd.ID,title:{...ki("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:S({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:q.hasTypeDefinitionProvider,keybinding:{when:q.editorTextFocus,primary:0,weight:100},menu:[{id:ni.EditorContext,group:"navigation",order:1.4},{id:ni.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Zd.ID="editor.action.goToTypeDefinition",Zd));var Xd;Vn((Xd=class extends G5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Xd.ID,title:ki("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:qe.and(q.hasTypeDefinitionProvider,wo.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),menu:{id:ni.EditorContextPeek,group:"peek",order:4}})}},Xd.ID="editor.action.peekTypeDefinition",Xd));class K5 extends Fl{async _getLocationModel(e,t,i,n){return new Ro(await P9(e.implementationProvider,t,i,!1,n),S("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?S("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):S("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}var Yd;Vn((Yd=class extends K5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Yd.ID,title:{...ki("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:S({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:q.hasImplementationProvider,keybinding:{when:q.editorTextFocus,primary:2118,weight:100},menu:[{id:ni.EditorContext,group:"navigation",order:1.45},{id:ni.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Yd.ID="editor.action.goToImplementation",Yd));var Qd;Vn((Qd=class extends K5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Qd.ID,title:ki("actions.peekImplementation.label","Peek Implementations"),precondition:qe.and(q.hasImplementationProvider,wo.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),keybinding:{when:q.editorTextFocus,primary:3142,weight:100},menu:{id:ni.EditorContextPeek,group:"peek",order:5}})}},Qd.ID="editor.action.peekImplementation",Qd));class Z5 extends Fl{_getNoResultFoundMessage(e){return e?S("references.no","No references found for '{0}'",e.word):S("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}Vn(class extends Z5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...ki("goToReferences.label","Go to References"),mnemonicTitle:S({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:qe.and(q.hasReferenceProvider,wo.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),keybinding:{when:q.editorTextFocus,primary:1094,weight:100},menu:[{id:ni.EditorContext,group:"navigation",order:1.45},{id:ni.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new Ro(await Xp(e.referenceProvider,t,i,!0,!1,n),S("ref.title","References"))}});Vn(class extends Z5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:ki("references.action.label","Peek References"),precondition:qe.and(q.hasReferenceProvider,wo.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),menu:{id:ni.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new Ro(await Xp(e.referenceProvider,t,i,!1,!1,n),S("ref.title","References"))}});class pR extends Fl{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:ki("label.generic","Go to Any Symbol"),precondition:qe.and(wo.notInPeekEditor,q.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new Ro(this._references,S("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&S("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}Qn.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:jn},{name:"position",description:"The position at which to start",constraint:Li.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)=>{Ln(jn.isUri(e)),Ln(Li.isIPosition(t)),Ln(Array.isArray(i)),Ln(typeof n>"u"||typeof n=="string"),Ln(typeof r>"u"||typeof r=="boolean");const a=o.get(bs),d=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(AA(d))return d.setPosition(t),d.revealPositionInCenterIfOutsideViewport(t,0),d.invokeWithinContext(u=>{const f=new class extends pR{_getNoResultFoundMessage(g){return s||super._getNoResultFoundMessage(g)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);u.get(nn).invokeFunction(f.run.bind(f),d)})}});Qn.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:jn},{name:"position",description:"The position at which to start",constraint:Li.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(zs).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});Qn.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{Ln(jn.isUri(e)),Ln(Li.isIPosition(t));const i=o.get(Ii),n=o.get(bs);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!AA(s)||!s.hasModel())return;const r=Vu.get(s);if(!r)return;const a=Us(u=>Xp(i.referenceProvider,s.getModel(),Li.lift(t),!1,!1,u).then(f=>new Ro(f,S("ref.title","References")))),d=new Q(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(d,a,!1))})}});Qn.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function xR(o,e,t,i){const n=o.get(fa),s=o.get(af),r=o.get(zs),a=o.get(nn),d=o.get(mo);if(await i.item.resolve(an.None),!i.part.location)return;const u=i.part.location,f=[],g=new Set(Rr.getMenuItems(ni.EditorContext).map(C=>H3(C)?C.command.id:gb()));for(const C of Fl.all())g.has(C.desc.id)&&f.push(new R0(C.desc.id,N0.label(C.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const b=await n.createModelReference(u.uri);try{const y=new Z0(b.object.textEditorModel,Q.getStartPosition(u.range)),w=i.item.anchor.range;await a.invokeFunction(C.runEditorCommand.bind(C),e,y,w)}finally{b.dispose()}}));if(i.part.command){const{command:C}=i.part;f.push(new Ig),f.push(new R0(C.id,C.title,void 0,!0,async()=>{try{await r.executeCommand(C.id,...C.arguments??[])}catch(b){d.notify({severity:$w.Error,source:i.item.provider.displayName,message:b})}}))}const p=e.getOption(128);s.showContextMenu({domForShadowRoot:p?e.getDomNode()??void 0:void 0,getAnchor:()=>{const C=yo(t);return{x:C.left,y:C.top+C.height+8}},getActions:()=>f,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function X5(o,e,t,i){const s=await o.get(fa).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,d=r.get(Fn),u=wo.inPeekEditor.getValue(d),f=!a&&t.getOption(89)&&!u;return new Yp({openToSide:a,openInPeek:f,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new Z0(s.object.textEditorModel,Q.getStartPosition(i.range)),Q.lift(i.range))}),s.dispose()}var mR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yh=function(o,e){return function(t,i){e(t,i,o)}},Oh;class ev{constructor(){this._entries=new Bp(50)}get(e){const t=ev._key(e);return this._entries.get(t)}set(e,t){const i=ev._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const Y5=Ml("IInlayHintsCache");Rl(Y5,ev,1);class gE{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 vR{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var xl;let Yg=(xl=class{static get(e){return e.getContribution(Oh.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 Tt,this._sessionDisposables=new Tt,this._decorationsMetadata=new Map,this._ruleFactory=new fA(this._editor),this._activeRenderMode=0,this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(d=>{d.hasChanged(142)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(142);if(e.enabled==="off")return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if(e.enabled==="on")this._activeRenderMode=0;else{let a,d;e.enabled==="onUnlessPressed"?(a=0,d=1):(a=1,d=0),this._activeRenderMode=a,this._sessionDisposables.add(W3.getInstance().event(u=>{if(!this._editor.hasModel())return;const f=u.altKey&&u.ctrlKey&&!(u.shiftKey||u.metaKey)?d:a;if(f!==this._activeRenderMode){this._activeRenderMode=f;const g=this._editor.getModel(),p=this._copyInlayHintsWithCurrentAnchor(g);this._updateHintsDecorators([g.getFullModelRange()],p),r.schedule(0)}}))}const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(is(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new Ps(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new qs;const d=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const u=n.token,f=await Zm.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),u);if(r.delay=this._debounceInfo.update(t,Date.now()-a),u.isCancellationRequested){f.dispose();return}for(const g of f.provider)typeof g.onDidChangeInlayHints=="function"&&!s.has(g)&&(s.add(g),this._sessionDisposables.add(g.onDidChangeInlayHints(()=>{r.isScheduled()||r.schedule()})));this._sessionDisposables.add(f),this._updateHintsDecorators(f.ranges,f.items),this._cacheHintsForFastRestore(t)}catch(u){qn(u)}finally{n.dispose(),d.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(is(()=>n==null?void 0:n.dispose(!0))),r.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(a=>{(a.scrollTopChanged||!r.isScheduled())&&r.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(a=>{n==null||n.cancel();const d=Math.max(r.delay,1250);r.schedule(d)})),this._sessionDisposables.add(this._installDblClickGesture(()=>r.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new Tt,t=e.add(new _b(this._editor)),i=new Tt;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(n=>{const[s]=n,r=this._getInlayHintLabelPart(s),a=this._editor.getModel();if(!r||!a){i.clear();return}const d=new qs;i.add(is(()=>d.dispose(!0))),r.item.resolve(d.token),this._activeInlayHintPart=r.part.command||r.part.location?new vR(r,s.hasTriggerModifier):void 0;const u=a.validatePosition(r.item.hint.position).lineNumber,f=new Q(u,1,u,a.getLineMaxColumn(u)),g=this._getInlineHintsForRange(f);this._updateHintsDecorators([f],g),i.add(is(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([f],g)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(async n=>{const s=this._getInlayHintLabelPart(n);if(s){const r=s.part;r.location?this._instaService.invokeFunction(X5,n,this._editor,r.location):z3.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(an.None),Xo(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>cs.replace(Q.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!V3(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(xR,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 Uw&&(t==null?void 0:t.attachedData)instanceof gE)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:$w.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 O5(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(Q.compareRangesUsingStarts)){const r=t.validateRange(new Q(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!Q.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=Q.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var b,y;const i=[],n=(w,A,I,M,R)=>{const T={content:I,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:A.className,cursorStops:M,attachedData:R};i.push({item:w,classNameRef:A,decoration:{range:w.anchor.range,options:{description:"InlayHint",showIfCollapsed:w.anchor.range.isEmpty(),collapseOnReplaceEdit:!w.anchor.range.isEmpty(),stickiness:0,[w.anchor.direction]:this._activeRenderMode===0?T:void 0}}})},s=(w,A)=>{const I=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(w,I," ",A?jh.Right:jh.None)},{fontSize:r,fontFamily:a,padding:d,isUniform:u}=this._getLayoutInfo(),f="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(f,a);let g={line:0,totalLen:0};for(const w of t){if(g.line!==w.anchor.range.startLineNumber&&(g={line:w.anchor.range.startLineNumber,totalLen:0}),g.totalLen>Oh._MAX_LABEL_LEN)continue;w.hint.paddingLeft&&s(w,!1);const A=typeof w.hint.label=="string"?[{label:w.hint.label}]:w.hint.label;for(let I=0;I<A.length;I++){const M=A[I],R=I===0,T=I===A.length-1,V={fontSize:`${r}px`,fontFamily:`var(${f}), ${Hw.fontFamily}`,verticalAlign:u?"baseline":"middle",unicodeBidi:"isolate"};Xo(w.hint.textEdits)&&(V.cursor="default"),this._fillInColors(V,w.hint),(M.command||M.location)&&((b=this._activeInlayHintPart)==null?void 0:b.part.item)===w&&this._activeInlayHintPart.part.index===I&&(V.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(V.color=Bs(j3),V.cursor="pointer")),d&&(R&&T?(V.padding=`1px ${Math.max(1,r/4)|0}px`,V.borderRadius=`${r/4|0}px`):R?(V.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,V.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):T?(V.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,V.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):V.padding="1px 0 1px 0");let H=M.label;g.totalLen+=H.length;let X=!1;const se=g.totalLen-Oh._MAX_LABEL_LEN;if(se>0&&(H=H.slice(0,-se)+"…",X=!0),n(w,this._ruleFactory.createClassNameRef(V),_R(H),T&&!w.hint.paddingRight?jh.Right:jh.None,new gE(w,I)),X)break}if(w.hint.paddingRight&&s(w,!0),i.length>Oh._MAX_DECORATORS)break}const p=[];for(const[w,A]of this._decorationsMetadata){const I=(y=this._editor.getModel())==null?void 0:y.getDecorationRange(w);I&&e.some(M=>M.containsRange(I))&&(p.push(w),A.classNameRef.dispose(),this._decorationsMetadata.delete(w))}const C=T0.capture(this._editor);this._editor.changeDecorations(w=>{const A=w.deltaDecorations(p,i.map(I=>I.decoration));for(let I=0;I<A.length;I++){const M=i[I];this._decorationsMetadata.set(A[I],M)}}),C.restore(this._editor)}_fillInColors(e,t){t.kind===NS.Parameter?(e.backgroundColor=Bs($3),e.color=Bs(U3)):t.kind===NS.Type?(e.backgroundColor=Bs(q3),e.color=Bs(G3)):(e.backgroundColor=Bs(K3),e.color=Bs(Z3))}_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()}},Oh=xl,xl.ID="editor.contrib.InlayHints",xl._MAX_DECORATORS=1500,xl._MAX_LABEL_LEN=43,xl);Yg=Oh=mR([yh(1,Ii),yh(2,gr),yh(3,Y5),yh(4,zs),yh(5,mo),yh(6,nn)],Yg);function _R(o){return o.replace(/[ \t]/g," ")}Qn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;Ln(jn.isUri(t)),Ln(Q.isIRange(i));const{inlayHintsProvider:n}=o.get(Ii),s=await o.get(fa).createModelReference(t);try{const r=await Zm.create(n,s.object.textEditorModel,[Q.lift(i)],an.None),a=r.items.map(d=>d.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});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},Zl=function(o,e){return function(t,i){e(t,i,o)}};class U8 extends lm{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let tv=class extends Zg{constructor(e,t,i,n,s,r,a,d,u){super(e,t,i,r,d,n,s,u),this._resolverService=a,this.hoverOrdinal=6}suggestHoverAnchor(e){var n;if(!Yg.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof Uw&&i.attachedData instanceof gE?new U8(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof U8?new sa(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 lo().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new Ir(this,e.range,[r],!1,0)),Xo(s.item.hint.textEdits)&&n.emitOne(new Ir(this,e.range,[new lo().appendText(S("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new lo().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new Ir(this,e.range,[a],!1,1)),s.part.location||s.part.command){let u;const g=this._editor.getOption(78)==="altKey"?$a?S("links.navigate.kb.meta.mac","cmd + click"):S("links.navigate.kb.meta","ctrl + click"):$a?S("links.navigate.kb.alt.mac","option + click"):S("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?u=new lo().appendText(S("hint.defAndCommand","Go to Definition ({0}), right click for more",g)):s.part.location?u=new lo().appendText(S("hint.def","Go to Definition ({0})",g)):s.part.command&&(u=new lo(`[${S("hint.cmd","Execute Command")}](${KM(s.part.command)} "${s.part.command.title}") (${g})`,{isTrusted:!0})),u&&n.emitOne(new Ir(this,e.range,[u],!1,1e4))}const d=await this._resolveInlayHintLabelPartHover(s,i);for await(const u of d)n.emitOne(u)}):sa.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return sa.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)?B9(this._languageFeaturesService.hoverProvider,r,new Li(n.startLineNumber,n.startColumn),t).filter(a=>!Pg(a.hover.contents)).map(a=>new Ir(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):sa.EMPTY}finally{s.dispose()}}};tv=bR([Zl(1,ha),Zl(2,da),Zl(3,Ds),Zl(4,Pp),Zl(5,ss),Zl(6,fa),Zl(7,Ii),Zl(8,zs)],tv);class M9 extends Rt{constructor(e,t,i,n,s,r){super();const a=t.anchor,d=t.hoverParts;this._renderedHoverParts=this._register(new pE(e,i,d,r,s));const{showAtPosition:u,showAtSecondaryPosition:f}=M9.computeHoverPositions(e,a.range,d);this.shouldAppearBeforeContent=d.some(g=>g.isBeforeContent),this.showAtPosition=u,this.showAtSecondaryPosition=f,this.initialMousePosX=a.initialMousePosX,this.initialMousePosY=a.initialMousePosY,this.shouldFocus=n.shouldFocus,this.source=n.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}async updateHoverVerbosityLevel(e,t,i){this._renderedHoverParts.updateHoverVerbosityLevel(e,t,i)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(e,t,i){let n=1;if(e.hasModel()){const f=e._getViewModel(),g=f.coordinatesConverter,p=g.convertModelRangeToViewRange(t),C=f.getLineMinColumn(p.startLineNumber),b=new Li(p.startLineNumber,C);n=g.convertViewPositionToModelPosition(b).column}const s=t.startLineNumber;let r=t.startColumn,a;for(const f of i){const g=f.range,p=g.startLineNumber===s,C=g.endLineNumber===s;if(p&&C){const y=g.startColumn,w=Math.min(r,y);r=Math.max(w,n)}f.forceShowAtRange&&(a=g)}let d,u;if(a){const f=a.getStartPosition();d=f,u=f}else d=t.getStartPosition(),u=new Li(s,r);return{showAtPosition:d,showAtSecondaryPosition:u}}}class CR{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 s_=class s_ extends Rt{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 Rt.None;let i=t[0].range;for(const s of t){const r=s.range;i=Q.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:s_._DECORATION_OPTIONS}]),is(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new Km(n),r={fragment:this._fragment,statusBar:s,...i},a=new Tt;for(const u of e){const f=this._renderHoverPartsForParticipant(t,u,r);a.add(f);for(const g of f.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:u,hoverPart:g.hoverPart,hoverElement:g.hoverElement})}const d=this._renderStatusBar(this._fragment,s);return d&&(a.add(d),this._renderedParts.push({type:"statusBar",hoverElement:d.hoverElement,actions:d.actions})),is(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new zu([])}_renderStatusBar(e,t){if(t.hasContent)return new CR(e,t)}_registerListenersOnRenderedParts(){const e=new Tt;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(Bn(n,as.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(Bn(n,as.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof Zg&&!(i instanceof tv));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof Gg)}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 O0;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};s_._DECORATION_OPTIONS=mn.register({description:"content-hover-highlight",className:"hoverHighlight"});let pE=s_;var ER=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},q8=function(o,e){return function(t,i){e(t,i,o)}};let xE=class extends Rt{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new rn),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(iE,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new Gm(this._editor,this._participants),this._hoverOperation=this._register(new P5(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of th.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 T5(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(Sl(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(Sl(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(Y_.onDidChange(()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)}))}_startShowingOrUpdateHover(e,t,i,n,s){if(!(this._contentHoverWidget.position&&this._currentResult))return e?(this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):!1;const a=this._editor.getOption(60).sticky,d=s&&this._contentHoverWidget.isMouseGettingCloser(s.event.posx,s.event.posy);return a&&d?(e&&this._startHoverOperationIfNecessary(e,t,i,n,!0),!0):e?this._currentResult.anchor.equals(e)?!0:e.canAdoptVisibleHover(this._currentResult.anchor,this._contentHoverWidget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,i,n,s){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=n,this._computer.source=i,this._computer.insistOnKeepingHoverVisible=s,this._hoverOperation.start(t))}_setCurrentResult(e){let t=e;if(this._currentResult===t)return;t&&t.hoverParts.length===0&&(t=null),this._currentResult=t,this._currentResult?this._showHover(this._currentResult):this._hideHover()}_addLoadingMessage(e){if(!this._computer.anchor)return e;for(const t of this._participants){if(!t.createLoadingMessage)continue;const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}return e}_withResult(e){if(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(e),!e.isComplete)return;const n=e.hoverParts.length===0,s=this._computer.insistOnKeepingHoverVisible;n&&s||this._setCurrentResult(e)}_showHover(e){const t=this._getHoverContext();this._renderedContentHover=new M9(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 bC(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 bC(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||!vb(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new bC(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}};xE=ER([q8(1,nn),q8(2,Ds)],xE);var yR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},G8=function(o,e){return function(t,i){e(t,i,o)}},mE,Jd;let ro=(Jd=class extends Rt{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new rn),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Tt,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new Ps(()=>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(mE.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?vb(t,e.event.posx,e.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._shouldNotHideCurrentHoverWidget(e))||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky,i=(r,a)=>{const d=this._isMouseOnContentHoverWidget(r);return a&&d},n=r=>{var u;const a=this._isMouseOnContentHoverWidget(r),d=((u=this._contentWidget)==null?void 0:u.isColorPickerVisible)??!1;return a&&d},s=(r,a)=>{var d,u,f,g;return(a&&((u=this._contentWidget)==null?void 0:u.containsNode((d=r.event.browserEvent.view)==null?void 0:d.document.activeElement))&&!((g=(f=r.event.browserEvent.view)==null?void 0:f.getSelection())!=null&&g.isCollapsed))??!1};return i(e,t)||n(e)||s(e,t)}_onEditorMouseMove(e){var a,d,u,f;if(this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._mouseMoveEvent=e,(a=this._contentWidget)!=null&&a.isFocused||(d=this._contentWidget)!=null&&d.isResizing))return;const t=this._hoverSettings.sticky;if(t&&((u=this._contentWidget)!=null&&u.isVisibleFromKeyboard))return;if(this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}const n=this._hoverSettings.hidingDelay;if(((f=this._contentWidget)==null?void 0:f.isVisible)&&t&&n>0){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(n);return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){var d;if(!e)return;const i=(d=e.target.element)==null?void 0:d.classList.contains("colorpicker-color-decoration"),n=this._editor.getOption(149),s=this._hoverSettings.enabled,r=this._hoverState.activatedByDecoratorClick;if(i&&(n==="click"&&!r||n==="hover"&&!s||n==="clickAndHover"&&!s&&!r)||!i&&!s&&!r){this._hideWidgets();return}this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateContentWidget().showsOrWillShow(e)}_onKeyDown(e){var n;if(!this._editor.hasModel())return;const t=this._keybindingService.softDispatch(e,this._editor.getDomNode()),i=t.kind===1||t.kind===2&&(t.commandId===B5||t.commandId===xb||t.commandId===mb)&&((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)||K0.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(xE,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()}},mE=Jd,Jd.ID="editor.contrib.contentHover",Jd);ro=mE=yR([G8(1,nn),G8(2,Ds)],ro);const wS=class wS extends Rt{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!==E5||!i.range)return;const n=this._editor.getContribution(ro.ID);if(n&&!n.isColorPickerVisible){const s=new Q(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};wS.ID="editor.contrib.colorContribution";let iv=wS;un(iv.ID,iv,2);th.register(Gg);var Q5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Kh=function(o,e){return function(t,i){e(t,i,o)}},vE,_E,eu;let ju=(eu=class extends Rt{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=q.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=q.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(bE,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(vE.ID)}},vE=eu,eu.ID="editor.contrib.standaloneColorPickerController",eu);ju=vE=Q5([Kh(1,Fn),Kh(2,nn)],ju);un(ju.ID,ju,1);const K8=8,wR=22;var tu;let bE=(tu=class extends Rt{constructor(e,t,i,n,s,r,a){var g;super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._keybindingService=s,this._languageFeaturesService=r,this._editorWorkerService=a,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new rn),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(Kg,this._editor),this._position=(g=this._editor._getViewModel())==null?void 0:g.getPrimaryCursorState().modelState.position;const d=this._editor.getSelection(),u=d?{startLineNumber:d.startLineNumber,startColumn:d.startColumn,endLineNumber:d.endLineNumber,endColumn:d.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},f=this._register(I0(this._body));this._register(f.onDidBlur(p=>{this.hide()})),this._register(f.onDidFocus(p=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(p=>{var b;const C=(b=p.target.element)==null?void 0:b.classList;C&&C.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(p=>{this._render(p.value,p.foundInEditor)})),this._start(u),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return _E.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 SR(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 qg(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 Km(this._keybindingService)),s={fragment:i,statusBar:n,onContentsChanged:()=>{},hide:()=>this.hide()};this._colorHover=e;const r=this._standaloneColorPickerParticipant.renderHoverParts(s,[e]);if(!r)return;this._register(r.disposables);const a=r.colorPicker;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(i),a.layout();const d=a.body,u=d.saturationBox.domNode.clientWidth,f=d.domNode.clientWidth-u-wR-K8,g=a.body.enterButton;g==null||g.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,C=p.pickedColorNode;C.style.width=u+K8+"px";const b=p.originalColorNode;b.style.width=f+"px";const y=a.header.closeButton;y==null||y.onClicked(()=>{this.hide()}),t&&(g&&(g.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},_E=tu,tu.ID="editor.contrib.standaloneColorPickerWidget",tu);bE=_E=Q5([Kh(3,nn),Kh(4,Ds),Kh(5,Ii),Kh(6,Nl)],bE);class SR{constructor(e,t){this.value=e,this.foundInEditor=t}}class DR extends la{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...ki("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:S({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:ni.CommandPalette}],metadata:{description:ki("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=ju.get(t))==null||i.showOrFocus()}}class AR extends _t{constructor(){super({id:"editor.action.hideColorPicker",label:S({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:q.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:ki("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=ju.get(t))==null||i.hide()}}class kR extends _t{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:S({key:"insertColorWithStandaloneColorPicker",comment:["Action that inserts color with standalone color picker"]},"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:q.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:ki("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=ju.get(t))==null||i.insertColor()}}Fe(AR);Fe(kR);Vn(DR);class fc{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const n=t.length,s=e.length;if(i+n>s)return!1;for(let r=0;r<n;r++){const a=e.charCodeAt(i+r),d=t.charCodeAt(r);if(a!==d&&!(a>=65&&a<=90&&a+32===d)&&!(d>=65&&d<=90&&d+32===a))return!1}return!0}_createOperationsForBlockComment(e,t,i,n,s,r){const a=e.startLineNumber,d=e.startColumn,u=e.endLineNumber,f=e.endColumn,g=s.getLineContent(a),p=s.getLineContent(u);let C=g.lastIndexOf(t,d-1+t.length),b=p.indexOf(i,f-1-i.length);if(C!==-1&&b!==-1)if(a===u)g.substring(C+t.length,b).indexOf(i)>=0&&(C=-1,b=-1);else{const w=g.substring(C+t.length),A=p.substring(0,b);(w.indexOf(i)>=0||A.indexOf(i)>=0)&&(C=-1,b=-1)}let y;C!==-1&&b!==-1?(n&&C+t.length<g.length&&g.charCodeAt(C+t.length)===32&&(t=t+" "),n&&b>0&&p.charCodeAt(b-1)===32&&(i=" "+i,b-=1),y=fc._createRemoveBlockCommentOperations(new Q(a,C+t.length+1,u,b+1),t,i)):(y=fc._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=y.length===1?i:null);for(const w of y)r.addTrackedEditOperation(w.range,w.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return Q.isEmpty(e)?n.push(cs.delete(new Q(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(cs.delete(new Q(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(cs.delete(new Q(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return Q.isEmpty(e)?s.push(cs.replace(new Q(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(cs.insert(new Li(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(cs.insert(new Li(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 Ui(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 Ui(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class sl{constructor(e,t,i,n,s,r,a){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=n,this._insertSpace=s,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=r,this._ignoreFirstLine=a||!1}static _gatherPreflightCommentStrings(e,t,i,n){e.tokenization.tokenizeIfCheap(t);const s=e.getLanguageIdAtPosition(t,1),r=n.getLanguageConfiguration(s).comments,a=r?r.lineCommentToken:null;if(!a)return null;const d=[];for(let u=0,f=i-t+1;u<f;u++)d[u]={ignore:!1,commentStr:a,commentStrOffset:0,commentStrLength:a.length};return d}static _analyzeLines(e,t,i,n,s,r,a,d){let u=!0,f;e===0?f=!0:e===1?f=!1:f=!0;for(let g=0,p=n.length;g<p;g++){const C=n[g],b=s+g;if(b===s&&a){C.ignore=!0;continue}const y=i.getLineContent(b),w=s1(y);if(w===-1){C.ignore=r,C.commentStrOffset=y.length;continue}if(u=!1,C.ignore=!1,C.commentStrOffset=w,f&&!fc._haystackHasNeedleAtOffset(y,C.commentStr,w)&&(e===0?f=!1:e===1||(C.ignore=!0)),f&&t){const A=w+C.commentStrLength;A<y.length&&y.charCodeAt(A)===32&&(C.commentStrLength+=1)}}if(e===0&&u){f=!1;for(let g=0,p=n.length;g<p;g++)n[g].ignore=!1}return{supported:!0,shouldRemoveComments:f,lines:n}}static _gatherPreflightData(e,t,i,n,s,r,a,d){const u=sl._gatherPreflightCommentStrings(i,n,s,d);return u===null?{supported:!1}:sl._analyzeLines(e,t,i,u,n,r,a,d)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=sl._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(sl._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new Li(n.positionLineNumber,n.positionColumn);for(let a=0,d=s.length;a<d;a++)t.addEditOperation(s[a].range,s[a].text),Q.isEmpty(s[a].range)&&Q.getStartPosition(s[a].range).equals(r)&&e.getLineContent(r.lineNumber).length+1===r.column&&(this._deltaColumn=(s[a].text||"").length);this._selectionId=t.trackSelection(n)}_attemptRemoveBlockComment(e,t,i,n){let s=t.startLineNumber,r=t.endLineNumber;const a=n.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn);let d=e.getLineContent(s).lastIndexOf(i,a-1),u=e.getLineContent(r).indexOf(n,t.endColumn-1-i.length);return d!==-1&&u===-1&&(u=e.getLineContent(s).indexOf(n,d+i.length),r=s),d===-1&&u!==-1&&(d=e.getLineContent(r).lastIndexOf(i,u),s=r),t.isEmpty()&&(d===-1||u===-1)&&(d=e.getLineContent(s).indexOf(i),d!==-1&&(u=e.getLineContent(s).indexOf(n,d+i.length))),d!==-1&&e.getLineContent(s).charCodeAt(d+i.length)===32&&(i+=" "),u!==-1&&e.getLineContent(r).charCodeAt(u-1)===32&&(n=" "+n,u-=1),d!==-1&&u!==-1?fc._createRemoveBlockCommentOperations(new Q(s,d+i.length+1,r,u+1),i,n):null}_executeBlockComment(e,t,i){e.tokenization.tokenizeIfCheap(i.startLineNumber);const n=e.getLanguageIdAtPosition(i.startLineNumber,1),s=this.languageConfigurationService.getLanguageConfiguration(n).comments;if(!s||!s.blockCommentStartToken||!s.blockCommentEndToken)return;const r=s.blockCommentStartToken,a=s.blockCommentEndToken;let d=this._attemptRemoveBlockComment(e,i,r,a);if(!d){if(i.isEmpty()){const u=e.getLineContent(i.startLineNumber);let f=s1(u);f===-1&&(f=u.length),d=fc._createAddBlockCommentOperations(new Q(i.startLineNumber,f+1,i.startLineNumber,u.length+1),r,a,this._insertSpace)}else d=fc._createAddBlockCommentOperations(new Q(i.startLineNumber,e.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),r,a,this._insertSpace);d.length===1&&(this._deltaColumn=r.length+1)}this._selectionId=t.trackSelection(i);for(const u of d)t.addEditOperation(u.range,u.text)}getEditOperations(e,t){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){t.addEditOperation(new Q(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=sl._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 Ui(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(cs.delete(new Q(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(cs.insert(new Li(t+s,a.commentStrOffset+1),a.commentStr+n))}return i}static nextVisibleColumn(e,t,i,n){return i?e+(t-e%t):e+n}static _normalizeInsertionPoint(e,t,i,n){let s=1073741824,r,a;for(let d=0,u=t.length;d<u;d++){if(t[d].ignore)continue;const f=e.getLineContent(i+d);let g=0;for(let p=0,C=t[d].commentStrOffset;g<s&&p<C;p++)g=sl.nextVisibleColumn(g,n,f.charCodeAt(p)===9,1);g<s&&(s=g)}s=Math.floor(s/n)*n;for(let d=0,u=t.length;d<u;d++){if(t[d].ignore)continue;const f=e.getLineContent(i+d);let g=0;for(r=0,a=t[d].commentStrOffset;g<s&&r<a;r++)g=sl.nextVisibleColumn(g,n,f.charCodeAt(r)===9,1);g>s?t[d].commentStrOffset=r-1:t[d].commentStrOffset=r}}}class R9 extends _t{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(Vs);if(!t.hasModel())return;const n=t.getModel(),s=[],r=n.getOptions(),a=t.getOption(23),d=t.getSelections().map((f,g)=>({selection:f,index:g,ignoreFirstLine:!1}));d.sort((f,g)=>Q.compareRangesUsingStarts(f.selection,g.selection));let u=d[0];for(let f=1;f<d.length;f++){const g=d[f];u.selection.endLineNumber===g.selection.startLineNumber&&(u.index<g.index?g.ignoreFirstLine=!0:(u.ignoreFirstLine=!0,u=g))}for(const f of d)s.push(new sl(i,f.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,f.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class BR extends R9{constructor(){super(0,{id:"editor.action.commentLine",label:S("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:ni.MenubarEditMenu,group:"5_insert",title:S({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class FR extends R9{constructor(){super(1,{id:"editor.action.addCommentLine",label:S("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2081),weight:100}})}}class LR extends R9{constructor(){super(2,{id:"editor.action.removeCommentLine",label:S("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2099),weight:100}})}}class IR extends _t{constructor(){super({id:"editor.action.blockComment",label:S("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:ni.MenubarEditMenu,group:"5_insert",title:S({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(Vs);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new fc(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}Fe(BR);Fe(FR);Fe(LR);Fe(IR);var PR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ud=function(o,e){return function(t,i){e(t,i,o)}},CE,iu;let X0=(iu=class{static get(e){return e.getContribution(CE.ID)}constructor(e,t,i,n,s,r,a,d){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=n,this._keybindingService=s,this._menuService=r,this._configurationService=a,this._workspaceContextService=d,this._toDispose=new Tt,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(u=>this._onContextMenu(u))),this._toDispose.add(this._editor.onMouseWheel(u=>{if(this._contextMenuIsBeingShownCount>0){const f=this._contextViewService.getContextViewElement(),g=u.srcElement;g.shadowRoot&&X3(f)===g.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(u=>{this._editor.getOption(24)&&u.keyCode===58&&(u.preventDefault(),u.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);return}if(e.target.type===12||e.target.type===6&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),e.target.type===11)return this._showScrollbarContextMenu(e.event);if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let i=!1;for(const n of this._editor.getSelections())if(n.containsPosition(e.target.position)){i=!0;break}i||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24)||!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],n=this._menuService.getMenuActions(t,this._contextKeyService,{arg:e.uri});for(const s of n){const[,r]=s;let a=0;for(const d of r)if(d instanceof Y3){const u=this._getMenuActions(e,d.item.submenu);u.length>0&&(i.push(new OS(d.id,d.label,u)),a++)}else i.push(d),a++;a&&i.push(new Ig)}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=yo(this._editor.getDomNode()),d=a.left+r.left,u=a.top+r.top+r.height;n={x:d,y:u}}const s=this._editor.getOption(128)&&!o1;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 i1(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const d=r;return typeof d.getActionViewItem=="function"?d.getActionViewItem():new i1(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()||Q3(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const n=u=>({id:`menu-action-${++i}`,label:u.label,tooltip:"",class:void 0,enabled:typeof u.enabled>"u"?!0:u.enabled,checked:u.checked,run:u.run}),s=(u,f)=>new OS(`menu-action-${++i}`,u,f,void 0),r=(u,f,g,p,C)=>{if(!f)return n({label:u,enabled:f,run:()=>{}});const b=w=>()=>{this._configurationService.updateValue(g,w)},y=[];for(const w of C)y.push(n({label:w.label,checked:p===w.value,run:b(w.value)}));return s(u,y)},a=[];a.push(n({label:S("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new Ig),a.push(n({label:S("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(r(S("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:S("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:S("context.minimap.size.fill","Fill"),value:"fill"},{label:S("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(r(S("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:S("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:S("context.minimap.slider.always","Always"),value:"always"}]));const d=this._editor.getOption(128)&&!o1;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:d?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>a,onHide:u=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}},CE=iu,iu.ID="editor.contrib.contextmenu",iu);X0=CE=PR([ud(1,af),ud(2,$_),ud(3,Fn),ud(4,Ds),ud(5,Zu),ud(6,ss),ud(7,F0)],X0);class TR extends _t{constructor(){super({id:"editor.action.showContextMenu",label:S("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=X0.get(t))==null||i.showContextMenu()}}un(X0.ID,X0,2);Fe(TR);class EC{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 yC{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const o_=class o_ extends Rt{static get(e){return e.getContribution(o_.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 EC(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new yC(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 yC(new EC(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 yC(new EC(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}};o_.ID="editor.contrib.cursorUndoRedoController";let Y0=o_;class MR extends _t{constructor(){super({id:"cursorUndo",label:S("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=Y0.get(t))==null||n.cursorUndo()}}class RR extends _t{constructor(){super({id:"cursorRedo",label:S("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=Y0.get(t))==null||n.cursorRedo()}}un(Y0.ID,Y0,0);Fe(MR);Fe(RR);class NR{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 Q(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 Ui(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 Ui(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 Ui(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 Ui(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 Ui(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 wh(o){return $a?o.altKey:o.ctrlKey}const nc=class nc extends Rt{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)||(wh(e)&&(this._modifierPressed=!0),this._mouseDown&&wh(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(wh(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===nc.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}wh(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 Li(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 Ui(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new Ui(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(wh(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(nc.ID,new NR(this._dragSelection,t,wh(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 Q(e.lineNumber,e.column,e.lineNumber,e.column),options:nc._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()}};nc.ID="editor.contrib.dragAndDrop",nc.TRIGGER_KEY_VALUE=$a?6:5,nc._DECORATION_OPTIONS=mn.register({description:"dnd-target",className:"dnd-target"});let nv=nc;un(nv.ID,nv,2);un(Bl.ID,Bl,0);df(R1);Mi(new class extends Ao{constructor(){super({id:t5,precondition:E9,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=Bl.get(e))==null?void 0:t.changePasteType()}});Mi(new class extends Ao{constructor(){super({id:"editor.hidePasteWidget",precondition:E9,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=Bl.get(e))==null||t.clearWidgets()}});var nu;Fe((nu=class extends _t{constructor(){super({id:"editor.action.pasteAs",label:S("pasteAs","Paste As..."),alias:"Paste As...",precondition:q.writable,metadata:{description:"Paste as",args:[{name:"args",schema:nu.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=Bl.get(t))==null?void 0:s.pasteAs(n?new ns(n):void 0)}},nu.argsSchema={type:"object",properties:{kind:{type:"string",description:S("pasteAs.kind","The kind of the paste edit to try applying. If not provided or there are multiple edits for this kind, the editor will show a picker.")}}},nu));Fe(class extends _t{constructor(){super({id:"editor.action.pasteAsText",label:S("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:q.writable})}run(o,e){var t;return(t=Bl.get(e))==null?void 0:t.pasteAs({providerId:Ru.id})}});class OR{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 Z8{constructor(e){this.identifier=e}}const J5=Ml("treeViewsDndService");Rl(J5,OR,1);var HR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yx=function(o,e){return function(t,i){e(t,i,o)}},EE;const eB="editor.experimental.dropIntoEditor.defaultProvider",tB="editor.changeDropType",N9=new En("dropWidgetVisible",!1,S("dropWidgetVisible","Whether the drop widget is showing"));var su;let Q0=(su=class extends Rt{static get(e){return e.getContribution(EE.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=T1.getInstance(),this._dropProgressManager=this._register(t.createInstance($m,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(qm,"dropIntoEditor",e,N9,{id:tB,label:S("postDropWidgetTitle","Show drop options...")})),this._register(e.onDropIntoEditor(r=>this.onDropIntoEditor(e,r.position,r.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,i){var s;if(!i.dataTransfer||!e.hasModel())return;(s=this._currentOperation)==null||s.cancel(),e.focus(),e.setPosition(t);const n=Us(async r=>{const a=new Tt,d=a.add(new L0(e,1,void 0,r));try{const u=await this.extractDataTransferData(i);if(u.size===0||d.token.isCancellationRequested)return;const f=e.getModel();if(!f)return;const g=this._languageFeaturesService.documentDropEditProvider.ordered(f).filter(C=>C.dropMimeTypes?C.dropMimeTypes.some(b=>u.matches(b)):!0),p=a.add(await this.getDropEdits(g,f,t,u,d));if(d.token.isCancellationRequested)return;if(p.edits.length){const C=this.getInitialActiveEditIndex(f,p.edits),b=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([Q.fromPositions(t)],{activeEditIndex:C,allEdits:p.edits},b,async y=>y,r)}}finally{a.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,S("dropIntoEditorProgress","Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),this._currentOperation=n}async getDropEdits(e,t,i,n,s){const r=new Tt,a=await Sp(Promise.all(e.map(async u=>{try{const f=await u.provideDocumentDropEdits(t,i,n,s.token);return f&&r.add(f),f==null?void 0:f.edits.map(g=>({...g,providerId:u.id}))}catch(f){console.error(f)}})),s.token),d=yl(a??[]).flat();return{edits:J6(d),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(eB,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new ns(s),a=t.findIndex(d=>r.value===d.providerId&&d.handledMimeType&&$6(n,[d.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new j6;const t=G6(e.dataTransfer);if(this.treeItemsTransfer.hasData(Z8.prototype)){const i=this.treeItemsTransfer.getData(Z8.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}},EE=su,su.ID="editor.contrib.dropIntoEditorController",su);Q0=EE=HR([yx(1,nn),yx(2,ss),yx(3,Ii),yx(4,J5)],Q0);un(Q0.ID,Q0,2);df(M1);Mi(new class extends Ao{constructor(){super({id:tB,precondition:N9,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=Q0.get(e))==null||i.changeDropType()}});Mi(new class extends Ao{constructor(){super({id:"editor.hideDropWidget",precondition:N9,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=Q0.get(e))==null||i.clearWidgets()}});ca.as(kp.Configuration).registerConfiguration({...q_,properties:{[eB]:{type:"object",scope:5,description:S("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});const no=class no{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===no._FIND_MATCH_DECORATION||n===no._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,no._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,no._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 Q(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,no._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=no._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=no._FIND_MATCH_NO_OVERVIEW_DECORATION;const a=this._editor.getModel().getLineCount(),u=this._editor.getLayoutInfo().height/a,f=Math.max(2,Math.ceil(3/u));let g=e[0].range.startLineNumber,p=e[0].range.endLineNumber;for(let C=1,b=e.length;C<b;C++){const y=e[C].range;p+f>=y.startLineNumber?y.endLineNumber>p&&(p=y.endLineNumber):(s.push({range:new Q(g,1,p,1),options:no._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),g=y.startLineNumber,p=y.endLineNumber)}s.push({range:new Q(g,1,p,1),options:no._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const r=new Array(e.length);for(let a=0,d=e.length;a<d;a++)r[a]={range:e[a].range,options:n};this._decorations=i.deltaDecorations(this._decorations,r),this._overviewRulerApproximateDecorations=i.deltaDecorations(this._overviewRulerApproximateDecorations,s),this._rangeHighlightDecorationId&&(i.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(a=>i.removeDecoration(a)),this._findScopeDecorationIds=[]),t!=null&&t.length&&(this._findScopeDecorationIds=t.map(a=>i.addDecoration(a,no._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}};no._CURRENT_FIND_MATCH_DECORATION=mn.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:Bs(tC),position:Ha.Center},minimap:{color:Bs(HS),position:1}}),no._FIND_MATCH_DECORATION=mn.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:Bs(tC),position:Ha.Center},minimap:{color:Bs(HS),position:1}}),no._FIND_MATCH_NO_OVERVIEW_DECORATION=mn.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),no._FIND_MATCH_ONLY_OVERVIEW_DECORATION=mn.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:Bs(tC),position:Ha.Center}}),no._RANGE_HIGHLIGHT_DECORATION=mn.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),no._FIND_SCOPE_DECORATION=mn.register({description:"find-scope",className:"findScope",isWholeLine:!0});let yE=no;class WR{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)=>Q.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 iB(o,e){if(o&&o[0]!==""){const t=X8(o,e,"-"),i=X8(o,e,"_");return t&&!i?Y8(o,e,"-"):!t&&i?Y8(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():J3(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 X8(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function Y8(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=iB([n[a]],r)+t}),s.slice(0,-1)}class Q8{constructor(e){this.staticValue=e,this.kind=0}}class zR{constructor(e){this.pieces=e,this.kind=1}}class J0{static fromStaticValue(e){return new J0([Hd.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new Q8(""):e.length===1&&e[0].staticValue!==null?this._state=new Q8(e[0].staticValue):this._state=new zR(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?iB(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=J0._substitute(r.matchIndex,e);if(r.caseOps!==null&&r.caseOps.length>0){const d=[],u=r.caseOps.length;let f=0;for(let g=0,p=a.length;g<p;g++){if(f>=u){d.push(a.slice(g));break}switch(r.caseOps[f]){case"U":d.push(a[g].toUpperCase());break;case"u":d.push(a[g].toUpperCase()),f++;break;case"L":d.push(a[g].toLowerCase());break;case"l":d.push(a[g].toLowerCase()),f++;break;default:d.push(a[g])}}a=d.join("")}i+=a}return i}static _substitute(e,t){if(t===null)return"";if(e===0)return t[0];let i="";for(;e>0;){if(e<t.length)return(t[e]||"")+i;i=String(e%10)+i,e=Math.floor(e/10)}return"$"+i}}class Hd{static staticValue(e){return new Hd(e,-1,null)}static caseOps(e,t){return new Hd(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 VR{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++]=Hd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=Hd.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Hd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new J0(this._result)}}function jR(o){if(!o||o.length===0)return new J0(null);const e=[],t=new VR(o);for(let i=0,n=o.length;i<n;i++){const s=o.charCodeAt(i);if(s===92){if(i++,i>=n)break;const r=o.charCodeAt(i);switch(r){case 92:t.emitUnchanged(i-1),t.emitStatic("\\",i+1);break;case 110:t.emitUnchanged(i-1),t.emitStatic(`
|
|
20
|
-
`,i+1);break;case 116:t.emitUnchanged(i-1),t.emitStatic(" ",i+1);break;case 117:case 85:case 108:case 76:t.emitUnchanged(i-1),t.emitStatic("",i+1),e.push(String.fromCharCode(r));break}continue}if(s===36){if(i++,i>=n)break;const r=o.charCodeAt(i);if(r===36){t.emitUnchanged(i-1),t.emitStatic("$",i+1);continue}if(r===48||r===38){t.emitUnchanged(i-1),t.emitMatchIndex(0,i+1,e),e.length=0;continue}if(49<=r&&r<=57){let a=r-48;if(i+1<n){const d=o.charCodeAt(i+1);if(48<=d&&d<=57){i++,a=a*10+(d-48),t.emitUnchanged(i-2),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}t.emitUnchanged(i-1),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}}return t.finalize()}const Wl=new En("findWidgetVisible",!1);Wl.toNegated();const yb=new En("findInputFocussed",!1),O9=new En("replaceInputFocussed",!1),wx={primary:545,mac:{primary:2593}},Sx={primary:565,mac:{primary:2613}},Dx={primary:560,mac:{primary:2608}},Ax={primary:554,mac:{primary:2602}},kx={primary:558,mac:{primary:2606}},Un={StartFindAction:"actions.find",StartFindWithSelection:"actions.findWithSelection",StartFindWithArgs:"editor.actions.findWithArgs",NextMatchFindAction:"editor.action.nextMatchFindAction",PreviousMatchFindAction:"editor.action.previousMatchFindAction",GoToMatchFindAction:"editor.action.goToMatchFindAction",NextSelectionMatchFindAction:"editor.action.nextSelectionMatchFindAction",PreviousSelectionMatchFindAction:"editor.action.previousSelectionMatchFindAction",StartFindReplaceAction:"editor.action.startFindReplaceAction",CloseFindWidgetCommand:"closeFindWidget",ToggleCaseSensitiveCommand:"toggleFindCaseSensitive",ToggleWholeWordCommand:"toggleFindWholeWord",ToggleRegexCommand:"toggleFindRegex",ToggleSearchScopeCommand:"toggleFindInSelection",TogglePreserveCaseCommand:"togglePreserveCase",ReplaceOneAction:"editor.action.replaceOne",ReplaceAllAction:"editor.action.replaceAll",SelectAllMatchesAction:"editor.action.selectAllMatches"},gc=19999,$R=240;class pg{constructor(e,t){this._toDispose=new Tt,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new Dp,this._decorations=new yE(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new Ps(()=>{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,uo(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)},$R)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;typeof t<"u"?t!==null&&(Array.isArray(t)?i=t:i=[t]):i=this._decorations.getFindScopes(),i!==null&&(i=i.map(a=>{if(a.startLineNumber!==a.endLineNumber){let d=a.endLineNumber;return a.endColumn===1&&(d=d-1),new Q(a.startLineNumber,1,d,this._editor.getModel().getLineMaxColumn(d))}return a}));const n=this._findMatches(i,!1,gc);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=kA(n.map(d=>d.range),d=>Q.compareRangesUsingStarts(d,s)>=0);r=a>0?a-1+1:r}this._state.changeMatchInfo(r,this._decorations.getCount(),void 0),e&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||n===1?(i===1?i=s.getLineCount():i--,n=s.getLineMaxColumn(i)):n--,new Li(i,n)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const f=this._decorations.matchAfterPosition(e);f&&this._setCurrentFindMatch(f);return}if(this._decorations.getCount()<gc){let f=this._decorations.matchBeforePosition(e);f&&f.isEmpty()&&f.getStartPosition().equals(e)&&(e=this._prevSearchPosition(e),f=this._decorations.matchBeforePosition(e)),f&&this._setCurrentFindMatch(f);return}if(this._cannotFind())return;const i=this._decorations.getFindScope(),n=pg._getSearchRange(this._editor.getModel(),i);n.getEndPosition().isBefore(e)&&(e=n.getEndPosition()),e.isBefore(n.getStartPosition())&&(e=n.getEndPosition());const{lineNumber:s,column:r}=e,a=this._editor.getModel();let d=new Li(s,r),u=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1);if(u&&u.range.isEmpty()&&u.range.getStartPosition().equals(d)&&(d=this._prevSearchPosition(d),u=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1)),!!u){if(!t&&!n.containsRange(u.range))return this._moveToPrevMatch(u.range.getStartPosition(),!0);this._setCurrentFindMatch(u.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||n===s.getLineMaxColumn(i)?(i===s.getLineCount()?i=1:i++,n=1):n++,new Li(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<gc){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=pg._getSearchRange(this._editor.getModel(),s);r.getEndPosition().isBefore(e)&&(e=r.getStartPosition()),e.isBefore(r.getStartPosition())&&(e=r.getStartPosition());const{lineNumber:a,column:d}=e,u=this._editor.getModel();let f=new Li(a,d),g=u.findNextMatch(this._state.searchString,f,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t);return i&&g&&g.range.isEmpty()&&g.range.getStartPosition().equals(f)&&(f=this._nextSearchPosition(f),g=u.findNextMatch(this._state.searchString,f,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t)),g?!n&&!r.containsRange(g.range)?this._getNextMatch(g.range.getEndPosition(),t,i,!0):g:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(e){const t=this._decorations.getDecorationRangeAt(e);t&&this._setCurrentFindMatch(t)}moveToMatch(e){this._moveToMatch(e)}_getReplacePattern(){return this._state.isRegex?jR(this._state.replaceString):J0.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 wp(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new Li(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=>pg._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>=gc?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new e4(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let g="mu";i.ignoreCase&&(g+="i"),i.global&&(g+="g"),i=new RegExp(i.source,g)}const n=this._editor.getModel(),s=n.getValue(1),r=n.getFullModelRange(),a=this._getReplacePattern();let d;const u=this._state.preserveCase;a.hasReplacementPatterns||u?d=s.replace(i,function(){return a.buildReplaceString(arguments,u)}):d=s.replace(i,a.buildReplaceString(null,u));const f=new BA(r,d,this._editor.getSelection());this._executeEditorCommand("replaceAll",f)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),n=[];for(let r=0,a=i.length;r<a;r++)n[r]=t.buildReplaceString(i[r].matches,this._state.preserveCase);const s=new WR(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 Ui(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 r_=class r_ extends Fp{constructor(e,t,i){super(),this._hideSoon=this._register(new Ps(()=>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:Ld(LA),inputActiveOptionForeground:Ld(FA),inputActiveOptionBackground:Ld(Rw)},s=this._register(r1());this.caseSensitive=this._register(new t4({appendTitle:this._keybindingLabelFor(Un.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverDelegate:s,...n})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new i4({appendTitle:this._keybindingLabelFor(Un.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverDelegate:s,...n})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new n4({appendTitle:this._keybindingLabelFor(Un.ToggleRegexCommand),isChecked:this._state.isRegex,hoverDelegate:s,...n})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(r=>{let a=!1;r.isRegex&&(this.regex.checked=this._state.isRegex,a=!0),r.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,a=!0),r.matchCase&&(this.caseSensitive.checked=this._state.matchCase,a=!0),!this._state.isRevealed&&a&&this._revealTemporarily()})),this._register(Bn(this._domNode,as.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(Bn(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 r_.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")}};r_.ID="editor.contrib.findOptionsWidget";let wE=r_;function Bx(o,e){return o===1?!0:o===2?!1:e}class UR extends Rt{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return Bx(this._isRegexOverride,this._isRegex)}get wholeWord(){return Bx(this._wholeWordOverride,this._wholeWord)}get matchCase(){return Bx(this._matchCaseOverride,this._matchCase)}get preserveCase(){return Bx(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 rn),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"&&(Q.equalsRange(this._currentMatch,i)||(this._currentMatch=i,n.currentMatch=!0,s=!0)),s&&this._onFindReplaceStateChange.fire(n)}change(e,t,i=!0){var f;const n={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;const r=this.isRegex,a=this.wholeWord,d=this.matchCase,u=this.preserveCase;typeof e.searchString<"u"&&this._searchString!==e.searchString&&(this._searchString=e.searchString,n.searchString=!0,s=!0),typeof e.replaceString<"u"&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,n.replaceString=!0,s=!0),typeof e.isRevealed<"u"&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,n.isRevealed=!0,s=!0),typeof e.isReplaceRevealed<"u"&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,n.isReplaceRevealed=!0,s=!0),typeof e.isRegex<"u"&&(this._isRegex=e.isRegex),typeof e.wholeWord<"u"&&(this._wholeWord=e.wholeWord),typeof e.matchCase<"u"&&(this._matchCase=e.matchCase),typeof e.preserveCase<"u"&&(this._preserveCase=e.preserveCase),typeof e.searchScope<"u"&&((f=e.searchScope)!=null&&f.every(g=>{var p;return(p=this._searchScope)==null?void 0:p.some(C=>!Q.equalsRange(C,g))})||(this._searchScope=e.searchScope,n.searchScope=!0,s=!0)),typeof e.loop<"u"&&this._loop!==e.loop&&(this._loop=e.loop,n.loop=!0,s=!0),typeof e.isSearching<"u"&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,n.isSearching=!0,s=!0),typeof e.filters<"u"&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,n.filters=!0,s=!0),this._isRegexOverride=typeof e.isRegexOverride<"u"?e.isRegexOverride:0,this._wholeWordOverride=typeof e.wholeWordOverride<"u"?e.wholeWordOverride:0,this._matchCaseOverride=typeof e.matchCaseOverride<"u"?e.matchCaseOverride:0,this._preserveCaseOverride=typeof e.preserveCaseOverride<"u"?e.preserveCaseOverride:0,r!==this.isRegex&&(s=!0,n.isRegex=!0),a!==this.wholeWord&&(s=!0,n.wholeWord=!0),d!==this.matchCase&&(s=!0,n.matchCase=!0),u!==this.preserveCase&&(s=!0,n.preserveCase=!0),s&&this._onFindReplaceStateChange.fire(n)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=gc}}const qR=S("defaultLabel","input"),GR=S("label.preserveCaseToggle","Preserve Case");class KR extends IA{constructor(e){super({icon:Zi.preserveCase,title:GR+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??Q_("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class ZR extends Fp{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new rn),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new rn),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new rn),this._onInput=this._register(new rn),this._onKeyUp=this._register(new rn),this._onPreserveCaseKeyDown=this._register(new rn),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||qR;const s=n.appendPreserveCaseLabel||"",r=n.history||[],a=!!n.flexibleHeight,d=!!n.flexibleWidth,u=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new s4(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:n.showHistoryHint,flexibleHeight:a,flexibleWidth:d,flexibleMaxHeight:u,inputBoxStyles:n.inputBoxStyles})),this.preserveCase=this._register(new KR({appendTitle:s,isChecked:!1,...n.toggleStyles})),this._register(this.preserveCase.onChange(p=>{this._onDidOptionChange.fire(p),!p&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(p=>{this._onPreserveCaseKeyDown.fire(p)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const f=[this.preserveCase.domNode];this.onkeydown(this.domNode,p=>{if(p.equals(15)||p.equals(17)||p.equals(9)){const C=f.indexOf(this.domNode.ownerDocument.activeElement);if(C>=0){let b=-1;p.equals(17)?b=(C+1)%f.length:p.equals(15)&&(C===0?b=f.length-1:b=C-1),p.equals(9)?(f[C].blur(),this.inputBox.focus()):b>=0&&f[b].focus(),Am.stop(p,!0)}}});const g=document.createElement("div");g.className="controls",g.style.display=this._showOptionButtons?"block":"none",g.appendChild(this.preserveCase.domNode),this.domNode.appendChild(g),e==null||e.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,p=>this._onKeyDown.fire(p)),this.onkeyup(this.inputBox.inputElement,p=>this._onKeyUp.fire(p)),this.oninput(this.inputBox.inputElement,p=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,p=>this._onMouseDown.fire(p))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){var e;(e=this.inputBox)==null||e.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var nB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},sB=function(o,e){return function(t,i){e(t,i,o)}};const H9=new En("suggestWidgetVisible",!1,S("suggestWidgetVisible","Whether suggestion are visible")),W9="historyNavigationWidgetFocus",oB="historyNavigationForwardsEnabled",rB="historyNavigationBackwardsEnabled";let Cl;const Fx=[];function aB(o,e){if(Fx.includes(e))throw new Error("Cannot register the same widget multiple times");Fx.push(e);const t=new Tt,i=new En(W9,!1).bindTo(o),n=new En(oB,!0).bindTo(o),s=new En(rB,!0).bindTo(o),r=()=>{i.set(!0),Cl=e},a=()=>{i.set(!1),Cl===e&&(Cl=void 0)};return r4(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(is(()=>{Fx.splice(Fx.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let SE=class extends o4{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(aB(s,this.inputBox))}};SE=nB([sB(3,Fn)],SE);let DE=class extends ZR{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(aB(r,this.inputBox))}};DE=nB([sB(3,Fn)],DE);Ka.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:qe.and(qe.has(W9),qe.equals(rB,!0),qe.not("isComposing"),H9.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{Cl==null||Cl.showPreviousValue()}});Ka.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:qe.and(qe.has(W9),qe.equals(oB,!0),qe.not("isComposing"),H9.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{Cl==null||Cl.showNextValue()}});function J8(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 eD=ms("find-collapsed",Zi.chevronRight,S("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),tD=ms("find-expanded",Zi.chevronDown,S("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),XR=ms("find-selection",Zi.selection,S("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),YR=ms("find-replace",Zi.replace,S("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),QR=ms("find-replace-all",Zi.replaceAll,S("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),JR=ms("find-previous-match",Zi.arrowUp,S("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),eN=ms("find-next-match",Zi.arrowDown,S("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),tN=S("label.findDialog","Find / Replace"),iN=S("label.find","Find"),nN=S("placeholder.find","Find"),sN=S("label.previousMatchButton","Previous Match"),oN=S("label.nextMatchButton","Next Match"),rN=S("label.toggleSelectionFind","Find in Selection"),aN=S("label.closeButton","Close"),lN=S("label.replace","Replace"),cN=S("placeholder.replace","Replace"),dN=S("label.replaceButton","Replace"),uN=S("label.replaceAllButton","Replace All"),hN=S("label.toggleReplaceButton","Toggle Replace"),fN=S("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",gc),gN=S("label.matchesLocation","{0} of {1}"),iD=S("label.noResults","No results"),_a=419,pN=275,xN=pN-54;let Nf=69;const mN=33,nD="ctrlEnterReplaceAll.windows.donotask",sD=$a?256:2048;class wC{constructor(e){this.afterLineNumber=e,this.heightInPx=mN,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function oD(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function rD(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const a_=class a_ extends Fp{constructor(e,t,i,n,s,r,a,d,u,f){super(),this._hoverService=f,this._cachedHeight=null,this._revealTimeouts=[],this._codeEditor=e,this._controller=t,this._state=i,this._contextViewProvider=n,this._keybindingService=s,this._contextKeyService=r,this._storageService=d,this._notificationService=u,this._ctrlEnterReplaceAllWarningPrompted=!!d.getBoolean(nD,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new Oc(500),this._register(is(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(g=>this._onStateChanged(g))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(g=>{if(g.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),g.hasChanged(146)&&this._tryUpdateWidgetWidth(),g.hasChanged(2)&&this.updateAccessibilitySupport(),g.hasChanged(41)){const p=this._codeEditor.getOption(41).loop;this._state.change({loop:p},!1);const C=this._codeEditor.getOption(41).addExtraSpaceOnTop;C&&!this._viewZone&&(this._viewZone=new wC(0),this._showViewZone()),!C&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){const g=await this._controller.getGlobalBufferTerm();g&&g!==this._state.searchString&&(this._state.change({searchString:g},!1),this._findInput.select())}})),this._findInputFocused=yb.bindTo(r),this._findFocusTracker=this._register(I0(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=O9.bindTo(r),this._replaceFocusTracker=this._register(I0(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 wC(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(g=>{if(g.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return a_.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=yr(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,qn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=Nf+"px",this._state.matchesCount>=gc?this._matchesCount.title=fN: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>=gc&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=qw(gN,n,i)}else e=iD;this._matchesCount.appendChild(document.createTextNode(e)),Nr(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),Nf=Math.max(Nf,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===iD)return i===""?S("ariaSearchNoResultEmpty","{0} found",e):S("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=S("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),s=this._codeEditor.getModel();return s&&t.startLineNumber<=s.getLineCount()&&t.startLineNumber>=1?`${s.getLineContent(t.startLineNumber)}, ${n}`:n}return S("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(92);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const i=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=i;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const n=yo(i),s=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),r=n.left+(s?s.left:0),a=s?s.top:0;if(this._viewZone&&a<this._viewZone.heightInPx){e.endLineNumber>e.startLineNumber&&(t=!1);const d=a4(this._domNode).left;r>d&&(t=!1);const u=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());n.left+(u?u.left:0)>d&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(t=>{clearTimeout(t)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const i=this._viewZone;this._viewZoneId!==void 0||!i||this._codeEditor.changeViewZones(n=>{i.heightInPx=this._getHeight(),this._viewZoneId=n.addZone(i),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+i.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new wC(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&&yr(this._domNode)>_a){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=yr(this._findInput.domNode);return}if(_a+28+n>=i&&(r=!0),_a+28+n-Nf>=i&&(a=!0),_a+28+n-Nf>=i+50&&(s=!0),this._domNode.classList.toggle("collapsed-find-widget",s),this._domNode.classList.toggle("narrow-find-widget",a),this._domNode.classList.toggle("reduced-find-widget",r),!a&&!s&&(this._domNode.style.maxWidth=`${i-28-n-15}px`),this._findInput.layout({collapsedFindWidget:s,narrowFindWidget:a,reducedFindWidget:r}),this._resized){const d=this._findInput.inputBox.element.clientWidth;d>0&&(this._replaceInput.width=d)}else this._isReplaceVisible&&(this._replaceInput.width=yr(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&&!Q.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(sD|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 oD(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return rD(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(sD|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{z_&&cf&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(S("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(nD,!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 oD(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return rD(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 SE(null,this._contextViewProvider,{width:xN,label:iN,placeholder:nN,appendCaseSensitiveLabel:this._keybindingLabelFor(Un.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(Un.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(Un.ToggleRegexCommand),validation:f=>{if(f.length===0||!this._findInput.getRegex())return null;try{return new RegExp(f,"gu"),null}catch(g){return{content:g.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>J8(this._keybindingService),inputBoxStyles:zS,toggleStyles:WS},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(f=>this._onFindInputKeyDown(f))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(f=>{f.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),f.preventDefault())})),this._register(this._findInput.onRegexKeyDown(f=>{f.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),f.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(f=>{this._tryUpdateHeight()&&this._showViewZone()})),l4&&this._register(this._findInput.onMouseDown(f=>this._onFindInputMouseDown(f))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(r1());this._prevBtn=this._register(new Sh({label:sN+this._keybindingLabelFor(Un.PreviousMatchFindAction),icon:JR,hoverDelegate:i,onTrigger:()=>{$h(this._codeEditor.getAction(Un.PreviousMatchFindAction)).run().then(void 0,qn)}},this._hoverService)),this._nextBtn=this._register(new Sh({label:oN+this._keybindingLabelFor(Un.NextMatchFindAction),icon:eN,hoverDelegate:i,onTrigger:()=>{$h(this._codeEditor.getAction(Un.NextMatchFindAction)).run().then(void 0,qn)}},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 IA({icon:XR,title:rN+this._keybindingLabelFor(Un.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:Ld(Rw),inputActiveOptionBorder:Ld(LA),inputActiveOptionForeground:Ld(FA)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let f=this._codeEditor.getSelections();f=f.map(g=>(g.endColumn===1&&g.endLineNumber>g.startLineNumber&&(g=g.setEndPosition(g.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(g.endLineNumber-1))),g.isEmpty()?null:g)).filter(g=>!!g),f.length&&this._state.change({searchScope:f},!0)}}else this._state.change({searchScope:null},!0)})),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new Sh({label:aN+this._keybindingLabelFor(Un.CloseFindWidgetCommand),icon:PA,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:f=>{f.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),f.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new DE(null,void 0,{label:lN,placeholder:cN,appendPreserveCaseLabel:this._keybindingLabelFor(Un.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>J8(this._keybindingService),inputBoxStyles:zS,toggleStyles:WS},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(f=>this._onReplaceInputKeyDown(f))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(f=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(f=>{f.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),f.preventDefault())}));const r=this._register(r1());this._replaceBtn=this._register(new Sh({label:dN+this._keybindingLabelFor(Un.ReplaceOneAction),icon:YR,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:f=>{f.equals(1026)&&(this._closeBtn.focus(),f.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new Sh({label:uN+this._keybindingLabelFor(Un.ReplaceAllAction),icon:QR,hoverDelegate:r,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const a=document.createElement("div");a.className="replace-part",a.appendChild(this._replaceInput.domNode);const d=document.createElement("div");d.className="replace-actions",a.appendChild(d),d.appendChild(this._replaceBtn.domNode),d.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new Sh({label:hN,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=yr(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=tN,this._domNode.role="dialog",this._domNode.style.width=`${_a}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 zh(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let u=_a;this._register(this._resizeSash.onDidStart(()=>{u=yr(this._domNode)})),this._register(this._resizeSash.onDidChange(f=>{this._resized=!0;const g=u+f.startX-f.currentX;if(g<_a)return;const p=parseFloat(c4(this._domNode).maxWidth)||0;g>p||(this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=yr(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const f=yr(this._domNode);if(f<_a)return;let g=_a;if(!this._resized||f===_a){const p=this._codeEditor.getLayoutInfo();g=p.width-28-p.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=yr(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};a_.ID="editor.contrib.findWidget";let AE=a_;class Sh extends Fp{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+Mn.asClassName(this._opts.icon)),this._domNode=document.createElement("div"),this._domNode.tabIndex=0,this._domNode.className=i,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this._register(t.setupManagedHover(e.hoverDelegate??Q_("element"),this._domNode,this._opts.label)),this.onclick(this._domNode,n=>{this._opts.onTrigger(),n.preventDefault()}),this.onkeydown(this._domNode,n=>{var s,r;if(n.equals(10)||n.equals(3)){this._opts.onTrigger(),n.preventDefault();return}(r=(s=this._opts).onKeyDown)==null||r.call(s,n)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...Mn.asClassNameArray(eD)),this._domNode.classList.add(...Mn.asClassNameArray(tD))):(this._domNode.classList.remove(...Mn.asClassNameArray(tD)),this._domNode.classList.add(...Mn.asClassNameArray(eD)))}}U_((o,e)=>{const t=o.getColor(hA);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${Fg(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(d4);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${Fg(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(wl);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(u4);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(h4);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});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},lr=function(o,e){return function(t,i){e(t,i,o)}},kE;const vN=524288;function BE(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)<vN)return o.getModel().getValueInRange(i)}return null}var ou;let So=(ou=class extends Rt{get editor(){return this._editor}static get(e){return e.getContribution(kE.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=Wl.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new Oc(500),this._state=this._register(new UR),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!!yb.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=Lg(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=BE(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=Lg(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=BE(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 pg(this._editor,this._state))}start(e,t){return this._start(e,t)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}goToMatch(e){return this._model?(this._model.moveToMatch(e),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){var e;return this._model?(e=this._editor.getModel())!=null&&e.isTooLargeForHeapOperation()?(this._notificationService.warn(S("too.large.for.replaceall","The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(e){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}},kE=ou,ou.ID="editor.contrib.findController",ou);So=kE=lB([lr(1,Fn),lr(2,Gc),lr(3,lf),lr(4,mo),lr(5,Pp)],So);let FE=class extends So{constructor(e,t,i,n,s,r,a,d,u){super(e,i,a,d,r,u),this._contextViewService=t,this._keybindingService=n,this._themeService=s,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();const i=this._editor.getSelection();let n=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":n=!0;break;case"never":n=!1;break;case"multiline":{n=!!i&&i.startLineNumber!==i.endLineNumber;break}}e.updateSearchScope=e.updateSearchScope||n,await super._start(e,t),this._widget&&(e.shouldFocus===2?this._widget.focusReplaceInput():e.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new AE(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new wE(this._editor,this._state,this._keybindingService))}};FE=lB([lr(1,$_),lr(2,Fn),lr(3,Ds),lr(4,Wr),lr(5,mo),lr(6,Gc),lr(7,lf),lr(8,Pp)],FE);const _N=TA(new MA({id:Un.StartFindAction,label:S("startFindAction","Find"),alias:"Find",precondition:qe.or(q.focus,qe.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:ni.MenubarEditMenu,group:"3_find",title:S({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));_N.addImplementation(0,(o,e,t)=>{const i=So.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 bN={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 CN extends _t{constructor(){super({id:Un.StartFindWithArgs,label:S("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:bN})}async run(e,t,i){const n=So.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 EN extends _t{constructor(){super({id:Un.StartFindWithSelection,label:S("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){const i=So.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 cB extends _t{async run(e,t){const i=So.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 yN extends cB{constructor(){super({id:Un.NextMatchFindAction,label:S("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:q.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:qe.and(q.focus,yb),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class wN extends cB{constructor(){super({id:Un.PreviousMatchFindAction,label:S("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:q.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:qe.and(q.focus,yb),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class SN extends _t{constructor(){super({id:Un.GoToMatchFindAction,label:S("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Wl}),this._highlightDecorations=[]}run(e,t,i){const n=So.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(mo).notify({severity:$w.Warning,message:S("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(Tl),a=new Tt,d=a.add(r.createInputBox());d.placeholder=S("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",s);const u=g=>{const p=parseInt(g);if(isNaN(p))return;const C=n.getState().matchesCount;if(p>0&&p<=C)return p-1;if(p<0&&p>=-C)return C+p},f=g=>{const p=u(g);if(typeof p=="number"){d.validationMessage=void 0,n.goToMatch(p);const C=n.getState().currentMatch;C&&this.addDecorations(t,C)}else d.validationMessage=S("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount),this.clearDecorations(t)};a.add(d.onDidChangeValue(g=>{f(g)})),a.add(d.onDidAccept(()=>{const g=u(d.value);typeof g=="number"?(n.goToMatch(g),d.hide()):d.validationMessage=S("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount)})),a.add(d.onDidHide(()=>{this.clearDecorations(t),a.dispose()})),d.show()}clearDecorations(e){e.changeDecorations(t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(i=>{this._highlightDecorations=i.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:Bs(RA),position:Ha.Full}}}])})}}class dB extends _t{async run(e,t){const i=So.get(t);if(!i)return;const n=BE(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 DN extends dB{constructor(){super({id:Un.NextSelectionMatchFindAction,label:S("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class AN extends dB{constructor(){super({id:Un.PreviousSelectionMatchFindAction,label:S("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const kN=TA(new MA({id:Un.StartFindReplaceAction,label:S("startReplace","Replace"),alias:"Replace",precondition:qe.or(q.focus,qe.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:ni.MenubarEditMenu,group:"3_find",title:S({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));kN.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=So.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})});un(So.ID,FE,0);Fe(CN);Fe(EN);Fe(yN);Fe(wN);Fe(SN);Fe(DN);Fe(AN);const ga=Ao.bindToContribution(So.get);Mi(new ga({id:Un.CloseFindWidgetCommand,precondition:Wl,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:qe.and(q.focus,qe.not("isComposing")),primary:9,secondary:[1033]}}));Mi(new ga({id:Un.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:q.focus,primary:wx.primary,mac:wx.mac,win:wx.win,linux:wx.linux}}));Mi(new ga({id:Un.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:q.focus,primary:Sx.primary,mac:Sx.mac,win:Sx.win,linux:Sx.linux}}));Mi(new ga({id:Un.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:q.focus,primary:Dx.primary,mac:Dx.mac,win:Dx.win,linux:Dx.linux}}));Mi(new ga({id:Un.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:q.focus,primary:Ax.primary,mac:Ax.mac,win:Ax.win,linux:Ax.linux}}));Mi(new ga({id:Un.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:q.focus,primary:kx.primary,mac:kx.mac,win:kx.win,linux:kx.linux}}));Mi(new ga({id:Un.ReplaceOneAction,precondition:Wl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:q.focus,primary:3094}}));Mi(new ga({id:Un.ReplaceOneAction,precondition:Wl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:qe.and(q.focus,O9),primary:3}}));Mi(new ga({id:Un.ReplaceAllAction,precondition:Wl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:q.focus,primary:2563}}));Mi(new ga({id:Un.ReplaceAllAction,precondition:Wl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:qe.and(q.focus,O9),primary:void 0,mac:{primary:2051}}}));Mi(new ga({id:Un.SelectAllMatchesAction,precondition:Wl,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:q.focus,primary:515}}));const BN={0:" ",1:"u",2:"r"},aD=65535,Qr=16777215,lD=4278190080;class SC{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 Go{constructor(e,t,i){if(e.length!==t.length||e.length>aD)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new SC(e.length),this._userDefinedStates=new SC(e.length),this._recoveredStates=new SC(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>Qr||r>Qr)throw new Error("startLineNumber or endLineNumber must not exceed "+Qr);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]&Qr}getEndLineNumber(e){return this._endIndexes[e]&Qr}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 FN(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&lD)>>>24)+((this._endIndexes[e]&lD)>>>16);return t===aD?-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]=`[${BN[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Qr,endLineNumber:this._endIndexes[e]&Qr,type:this._types?this._types[e]:void 0,isCollapsed:this.isCollapsed(e),source:this.getSource(e)}}static fromFoldRanges(e){const t=e.length,i=new Uint32Array(t),n=new Uint32Array(t);let s=[],r=!1;for(let d=0;d<t;d++){const u=e[d];i[d]=u.startLineNumber,n[d]=u.endLineNumber,s.push(u.type),u.type&&(r=!0)}r||(s=void 0);const a=new Go(i,n,s);for(let d=0;d<t;d++)e[d].isCollapsed&&a.setCollapsed(d,!0),a.setSource(d,e[d].source);return a}static sanitizeAndMerge(e,t,i,n){i=i??Number.MAX_VALUE;const s=(w,A)=>Array.isArray(w)?(I=>I<A?w[I]:void 0):(I=>I<A?w.toFoldRange(I):void 0),r=s(e,e.length),a=s(t,t.length);let d=0,u=0,f=r(0),g=a(0);const p=[];let C,b=0;const y=[];for(;f||g;){let w;if(g&&(!f||f.startLineNumber>=g.startLineNumber))f&&f.startLineNumber===g.startLineNumber?(g.source===1?w=g:(w=f,w.isCollapsed=g.isCollapsed&&(f.endLineNumber===g.endLineNumber||!(n!=null&&n.startsInside(f.startLineNumber+1,f.endLineNumber+1))),w.source=0),f=r(++d)):(w=g,g.isCollapsed&&g.source===0&&(w.source=2)),g=a(++u);else{let A=u,I=g;for(;;){if(!I||I.startLineNumber>f.endLineNumber){w=f;break}if(I.source===1&&I.endLineNumber>f.endLineNumber)break;I=a(++A)}f=r(++d)}if(w){for(;C&&C.endLineNumber<w.startLineNumber;)C=p.pop();w.endLineNumber>w.startLineNumber&&w.startLineNumber>b&&w.endLineNumber<=i&&(!C||C.endLineNumber>=w.endLineNumber)&&(y.push(w),b=w.startLineNumber,C&&p.push(C),C=w)}}return y}}class FN{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 LN{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new rn,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new Go(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((i,n)=>i.regionIndex-n.regionIndex);const t={};this._decorationProvider.changeDecorations(i=>{let n=0,s=-1,r=-1;const a=d=>{for(;n<d;){const u=this._regions.getEndLineNumber(n),f=this._regions.isCollapsed(n);if(u<=s){const g=this.regions.getSource(n)!==0;i.changeDecorationOptions(this._editorDecorationIds[n],this._decorationProvider.getDecorationOption(f,u<=r,g))}f&&u>r&&(r=u),n++}};for(const d of e){const u=d.regionIndex,f=this._editorDecorationIds[u];if(f&&!t[f]){t[f]=!0,a(u);const g=!this._regions.isCollapsed(u);this._regions.setCollapsed(u,g),s=Math.max(s,this._regions.getEndLineNumber(u))}}a(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=n=>{for(const s of e)if(!(s.startLineNumber>n.endLineNumber||n.startLineNumber>s.endLineNumber))return!0;return!1};for(let n=0;n<this._regions.length;n++){const s=this._regions.toFoldRange(n);(s.source===0||!i(s))&&t.push(s)}this.updatePost(Go.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=Go.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(Go.fromFoldRanges(n))}updatePost(e){const t=[];let i=-1;for(let n=0,s=e.length;n<s;n++){const r=e.getStartLineNumber(n),a=e.getEndLineNumber(n),d=e.isCollapsed(n),u=e.getSource(n)!==0,f={startLineNumber:r,startColumn:this._textModel.getLineMaxColumn(r),endLineNumber:a,endColumn:this._textModel.getLineMaxColumn(a)+1};t.push({range:f,options:this._decorationProvider.getDecorationOption(d,a<=i,u)}),d&&a>i&&(i=a)}this._decorationProvider.changeDecorations(n=>this._editorDecorationIds=n.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e){const t=[];for(let i=0,n=this._regions.length;i<n;i++){let s=this.regions.isCollapsed(i);const r=this.regions.getSource(i);if(s||r!==0){const a=this._regions.toFoldRange(i),d=this._textModel.getDecorationRange(this._editorDecorationIds[i]);d&&(s&&(e!=null&&e.startsInside(d.startLineNumber+1,d.endLineNumber))&&(s=!1),t.push({startLineNumber:d.startLineNumber,endLineNumber:d.endLineNumber,type:a.type,isCollapsed:s,source:r}))}}return t}getMemento(){const e=this._currentFoldedOrManualRanges(),t=[],i=this._textModel.getLineCount();for(let n=0,s=e.length;n<s;n++){const r=e[n];if(r.startLineNumber>=r.endLineNumber||r.startLineNumber<1||r.endLineNumber>i)continue;const a=this._getLinesChecksum(r.startLineNumber+1,r.endLineNumber);t.push({startLineNumber:r.startLineNumber,endLineNumber:r.endLineNumber,isCollapsed:r.isCollapsed,source:r.source,checksum:a})}return t.length>0?t:void 0}applyMemento(e){if(!Array.isArray(e))return;const t=[],i=this._textModel.getLineCount();for(const s of e){if(s.startLineNumber>=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>i)continue;const r=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);(!s.checksum||r===s.checksum)&&t.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,type:void 0,isCollapsed:s.isCollapsed??!0,source:s.source??0})}const n=Go.sanitizeAndMerge(this._regions,t,i);this.updatePost(Go.fromFoldRanges(n))}_getLinesChecksum(e,t){return NA(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let n=this._regions.findRange(e),s=1;for(;n>=0;){const r=this._regions.toRegion(n);(!t||t(r,s))&&i.push(r),s++,n=r.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],n=e?e.regionIndex+1:0,s=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){const r=[];for(let a=n,d=this._regions.length;a<d;a++){const u=this._regions.toRegion(a);if(this._regions.getStartLineNumber(a)<s){for(;r.length>0&&!u.containedBy(r[r.length-1]);)r.pop();r.push(u),t(u,r.length)&&i.push(u)}else break}}else for(let r=n,a=this._regions.length;r<a;r++){const d=this._regions.toRegion(r);if(this._regions.getStartLineNumber(r)<s)(!t||t(d))&&i.push(d);else break}return i}}function z9(o,e,t){const i=[];for(const n of t){const s=o.getRegionAtLine(n);if(s){const r=!s.isCollapsed;if(i.push(s),e>1){const a=o.getRegionsInside(s,(d,u)=>d.isCollapsed!==r&&u<e);i.push(...a)}}}o.toggleCollapseState(i)}function mf(o,e,t=Number.MAX_VALUE,i){const n=[];if(i&&i.length>0)for(const s of i){const r=o.getRegionAtLine(s);if(r&&(r.isCollapsed!==e&&n.push(r),t>1)){const a=o.getRegionsInside(r,(d,u)=>d.isCollapsed!==e&&u<t);n.push(...a)}}else{const s=o.getRegionsInside(null,(r,a)=>r.isCollapsed!==e&&a<t);n.push(...s)}o.toggleCollapseState(n)}function uB(o,e,t,i){const n=[];for(const s of i){const r=o.getAllRegionsAtLine(s,(a,d)=>a.isCollapsed!==e&&d<=t);n.push(...r)}o.toggleCollapseState(n)}function IN(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 PN(o,e,t,i){const n=(r,a)=>a===e&&r.isCollapsed!==t&&!i.some(d=>r.containsLine(d)),s=o.getRegionsInside(null,n);o.toggleCollapseState(s)}function hB(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 V9(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 j9(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 TN(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 MN(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 RN(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 NN{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new rn,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||f4(t.text)[0]!==0))}updateHiddenRanges(){let e=!1;const t=[];let i=0,n=0,s=Number.MAX_VALUE,r=-1;const a=this._foldingModel.regions;for(;i<a.length;i++){if(!a.isCollapsed(i))continue;const d=a.getStartLineNumber(i)+1,u=a.getEndLineNumber(i);s<=d&&u<=r||(!e&&n<this._hiddenRanges.length&&this._hiddenRanges[n].startLineNumber===d&&this._hiddenRanges[n].endLineNumber===u?(t.push(this._hiddenRanges[n]),n++):(e=!0,t.push(new Q(d,1,u,1))),s=d,r=u)}(this._hasLineChanges||e||n<this._hiddenRanges.length)&&this.applyHiddenRanges(t)}applyHiddenRanges(e){this._hiddenRanges=e,this._hasLineChanges=!1,this._updateEventEmitter.fire(e)}hasRanges(){return this._hiddenRanges.length>0}isHidden(e){return cD(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!ON(r,n))&&(n=cD(this._hiddenRanges,r)),n?n.startLineNumber-1:null);for(let r=0,a=e.length;r<a;r++){let d=e[r];const u=s(d.startLineNumber);u&&(d=d.setStartPosition(u,i.getLineMaxColumn(u)),t=!0);const f=s(d.endLineNumber);f&&(d=d.setEndPosition(f,i.getLineMaxColumn(f)),t=!0),e[r]=d}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function ON(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function cD(o,e){const t=kA(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const HN=5e3,WN="indent";class $9{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=WN}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(jN(this.editorModel,i,n,this.foldingRangesLimit))}}let zN=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Qr||t>Qr)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 Go(i,n)}else{this._foldingRangesLimit.update(this._length,t);let i=0,n=this._indentOccurrences.length;for(let d=0;d<this._indentOccurrences.length;d++){const u=this._indentOccurrences[d];if(u){if(u+i>t){n=d;break}i+=u}}const s=e.getOptions().tabSize,r=new Uint32Array(t),a=new Uint32Array(t);for(let d=this._length-1,u=0;d>=0;d--){const f=this._startIndexes[d],g=e.getLineContent(f),p=Iw(g,s);(p<n||p===n&&i++<t)&&(r[u]=f,a[u]=this._endIndexes[d],u++)}return new Go(r,a)}}};const VN={limit:HN,update:()=>{}};function jN(o,e,t,i=VN){const n=o.getOptions().tabSize,s=new zN(i);let r;t&&(r=new RegExp(`(${t.start.source})|(?:${t.end.source})`));const a=[],d=o.getLineCount()+1;a.push({indent:-1,endAbove:d,line:d});for(let u=o.getLineCount();u>0;u--){const f=o.getLineContent(u),g=Iw(f,n);let p=a[a.length-1];if(g===-1){e&&(p.endAbove=u);continue}let C;if(r&&(C=f.match(r)))if(C[1]){let b=a.length-1;for(;b>0&&a[b].indent!==-2;)b--;if(b>0){a.length=b+1,p=a[b],s.insertFirst(u,p.line,g),p.line=u,p.indent=g,p.endAbove=u;continue}}else{a.push({indent:-2,endAbove:u,line:u});continue}if(p.indent>g){do a.pop(),p=a[a.length-1];while(p.indent>g);const b=p.endAbove-1;b-u>=1&&s.insertFirst(u,b,g)}p.indent===g?p.endAbove=u:a.push({indent:g,endAbove:u,line:u})}return s.toIndentRanges(o)}const $N=vi("editor.foldBackground",{light:za(VS,.3),dark:za(VS,.3),hcDark:null,hcLight:null},S("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);vi("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},S("collapsedTextColor","Color of the collapsed text after the first line of a folded range."));vi("editorGutter.foldingControlForeground",g4,S("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const sv=ms("folding-expanded",Zi.chevronDown,S("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),ov=ms("folding-collapsed",Zi.chevronRight,S("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),dD=ms("folding-manual-collapsed",ov,S("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),uD=ms("folding-manual-expanded",sv,S("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),DC={color:Bs($N),position:1},Dh=S("linesCollapsed","Click to expand the range."),Lx=S("linesExpanded","Click to collapse the range."),vs=class vs{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?vs.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?vs.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:vs.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:vs.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?vs.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:vs.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?vs.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:vs.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?vs.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:vs.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?vs.MANUALLY_EXPANDED_VISUAL_DECORATION:vs.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};vs.COLLAPSED_VISUAL_DECORATION=mn.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Dh,firstLineDecorationClassName:Mn.asClassName(ov)}),vs.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=mn.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:DC,isWholeLine:!0,linesDecorationsTooltip:Dh,firstLineDecorationClassName:Mn.asClassName(ov)}),vs.MANUALLY_COLLAPSED_VISUAL_DECORATION=mn.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Dh,firstLineDecorationClassName:Mn.asClassName(dD)}),vs.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=mn.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:DC,isWholeLine:!0,linesDecorationsTooltip:Dh,firstLineDecorationClassName:Mn.asClassName(dD)}),vs.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=mn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Dh}),vs.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=mn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:DC,isWholeLine:!0,linesDecorationsTooltip:Dh}),vs.EXPANDED_VISUAL_DECORATION=mn.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Mn.asClassName(sv),linesDecorationsTooltip:Lx}),vs.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=mn.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Mn.asClassName(sv),linesDecorationsTooltip:Lx}),vs.MANUALLY_EXPANDED_VISUAL_DECORATION=mn.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Mn.asClassName(uD),linesDecorationsTooltip:Lx}),vs.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=mn.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Mn.asClassName(uD),linesDecorationsTooltip:Lx}),vs.NO_CONTROLS_EXPANDED_RANGE_DECORATION=mn.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),vs.HIDDEN_RANGE_DECORATION=mn.register({description:"folding-hidden-range-decoration",stickiness:1});let LE=vs;const UN={},qN="syntax";class U9{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=qN,this.disposables=new Tt,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return GN(this.providers,this.editorModel,e).then(t=>{var i;return t?ZN(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function GN(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,UN,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);const d=e.getLineCount();for(const u of a)u.start>0&&u.end>u.start&&u.end<=d&&i.push({start:u.start,end:u.end,rank:r,kind:u.kind})}},_s));return Promise.all(n).then(s=>i)}class KN{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>Qr||t>Qr)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 Go(t,i,this._types)}else{this._foldingRangesLimit.update(this._length,e);let t=0,i=this._nestingLevelCounts.length;for(let a=0;a<this._nestingLevelCounts.length;a++){const d=this._nestingLevelCounts[a];if(d){if(d+t>e){i=a;break}t+=d}}const n=new Uint32Array(e),s=new Uint32Array(e),r=[];for(let a=0,d=0;a<this._length;a++){const u=this._nestingLevels[a];(u<i||u===i&&t++<e)&&(n[d]=this._startIndexes[a],s[d]=this._endIndexes[a],r[d]=this._types[a],d++)}return new Go(n,s,r)}}}function ZN(o,e){const t=o.sort((r,a)=>{let d=r.start-a.start;return d===0&&(d=r.rank-a.rank),d}),i=new KN(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 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},Of=function(o,e){return function(t,i){e(t,i,o)}},pd;const Qs=new En("foldingEnabled",!1);var ru;let jc=(ru=class extends Rt{static get(e){return e.getContribution(pd.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=pd._foldingRangeSelector)==null?void 0:n.call(pd,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 Tt),this.editor=e,this._foldingLimitReporter=new fB(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 LE(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=Qs.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(d=>{if(d.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),d.hasChanged(47)&&this.onModelChanged(),d.hasChanged(111)||d.hasChanged(45)){const u=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=u.get(111),this.foldingDecorationProvider.showFoldingHighlights=u.get(45),this.triggerFoldingModelChanged()}d.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!=="indentation",this.onFoldingStrategyChanged()),d.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),d.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))})),this.onModelChanged()}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(!(!t||!this._isEnabled||t.isTooLargeForTokenization()||!this.hiddenRangeModel)&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();!this._isEnabled||!e||e.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new LN(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new NN(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Oc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new Ps(()=>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 $9(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=pd.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new U9(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 Oo,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=Us(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const u=s.setCollapsedAllOfType(Np.Imports.value,!0);u&&(r=T0.capture(this.editor),this._currentModelHasFoldedImports=u)}const a=this.editor.getSelections();e.update(s,YN(a)),r==null||r.restore(this.editor);const d=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=d)}return e})}).then(void 0,e=>(qn(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,qn)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const n=e.target.detail,s=e.target.element.offsetLeft;if(n.offsetX-s<4)return;i=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const n=this.editor.getModel();if(n&&t.startColumn===n.getLineMaxColumn(t.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,n=this.mouseDownInfo.iconClicked,s=e.target.range;if(!s||s.startLineNumber!==i)return;if(n){if(e.target.type!==4)return}else{const a=this.editor.getModel();if(!a||s.startColumn!==a.getLineMaxColumn(i))return}const r=t.getRegionAtLine(i);if(r&&r.startLineNumber===i){const a=r.isCollapsed;if(n||a){const d=e.event.altKey;let u=[];if(d){const f=p=>!p.containedBy(r)&&!r.containedBy(p),g=t.getRegionsInside(null,f);for(const p of g)p.isCollapsed&&u.push(p);u.length===0&&(u=g)}else{const f=e.event.middleButton||e.event.shiftKey;if(f)for(const g of t.getRegionsInside(r))g.isCollapsed===a&&u.push(g);(a||!f||u.length===0)&&u.push(r)}t.toggleCollapseState(u),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}},pd=ru,ru.ID="editor.contrib.folding",ru);jc=pd=XN([Of(1,Fn),Of(2,Vs),Of(3,mo),Of(4,gr),Of(5,Ii)],jc);class fB{constructor(e){this.editor=e,this._onDidChange=new rn,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 io extends _t{runEditorCommand(e,t,i){const n=e.get(Vs),s=jc.get(t);if(!s)return;const r=s.getFoldingModel();if(r)return this.reportTelemetry(e,t),r.then(a=>{if(a){this.invoke(s,a,t,i,n);const d=t.getSelection();d&&s.reveal(d.getStartPosition())}})}getSelectedLines(e){const t=e.getSelections();return t?t.map(i=>i.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(i=>i+1):this.getSelectedLines(t)}run(e,t){}}function YN(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 gB(o){if(!$f(o)){if(!OA(o))return!1;const e=o;if(!$f(e.levels)&&!jS(e.levels)||!$f(e.direction)&&!dA(e.direction)||!$f(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(jS)))return!1}return!0}class QN extends io{constructor(){super({id:"editor.unfold",label:S("unfoldAction.label","Unfold"),alias:"Unfold",precondition:Qs,kbOpts:{kbExpr:q.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:gB,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"?uB(t,!1,s,r):mf(t,!1,s,r)}}class JN extends io{constructor(){super({id:"editor.unfoldRecursively",label:S("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2142),weight:100}})}invoke(e,t,i,n){mf(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class eO extends io{constructor(){super({id:"editor.fold",label:S("foldAction.label","Fold"),alias:"Fold",precondition:Qs,kbOpts:{kbExpr:q.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:gB,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"?IN(t,!0,s):a==="up"?uB(t,!0,r||1,s):mf(t,!0,r||1,s)}}class tO extends io{constructor(){super({id:"editor.toggleFold",label:S("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);z9(t,1,n)}}class iO extends io{constructor(){super({id:"editor.foldRecursively",label:S("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);mf(t,!0,Number.MAX_VALUE,n)}}class nO extends io{constructor(){super({id:"editor.toggleFoldRecursively",label:S("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);z9(t,Number.MAX_VALUE,n)}}class sO extends io{constructor(){super({id:"editor.foldAllBlockComments",label:S("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())j9(t,Np.Comment.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).comments;if(a&&a.blockCommentStartToken){const d=new RegExp("^\\s*"+Lg(a.blockCommentStartToken));V9(t,d,!0)}}}}class oO extends io{constructor(){super({id:"editor.foldAllMarkerRegions",label:S("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())j9(t,Np.Region.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const d=new RegExp(a.markers.start);V9(t,d,!0)}}}}class rO extends io{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:S("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())j9(t,Np.Region.value,!1);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const d=new RegExp(a.markers.start);V9(t,d,!1)}}}}class aO extends io{constructor(){super({id:"editor.foldAllExcept",label:S("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);hB(t,!0,n)}}class lO extends io{constructor(){super({id:"editor.unfoldAllExcept",label:S("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);hB(t,!1,n)}}class cO extends io{constructor(){super({id:"editor.foldAll",label:S("foldAllAction.label","Fold All"),alias:"Fold All",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2069),weight:100}})}invoke(e,t,i){mf(t,!0)}}class dO extends io{constructor(){super({id:"editor.unfoldAll",label:S("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2088),weight:100}})}invoke(e,t,i){mf(t,!1)}}const n0=class n0 extends io{getFoldingLevel(){return parseInt(this.id.substr(n0.ID_PREFIX.length))}invoke(e,t,i){PN(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};n0.ID_PREFIX="editor.foldLevel",n0.ID=e=>n0.ID_PREFIX+e;let rv=n0;class uO extends io{constructor(){super({id:"editor.gotoParentFold",label:S("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=TN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class hO extends io{constructor(){super({id:"editor.gotoPreviousFold",label:S("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=MN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class fO extends io{constructor(){super({id:"editor.gotoNextFold",label:S("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=RN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class gO extends io{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:S("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2135),weight:100}})}invoke(e,t,i){var r;const n=[],s=i.getSelections();if(s){for(const a of s){let d=a.endLineNumber;a.endColumn===1&&--d,d>a.startLineNumber&&(n.push({startLineNumber:a.startLineNumber,endLineNumber:d,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:a.startLineNumber,startColumn:1,endLineNumber:a.startLineNumber,endColumn:1}))}if(n.length>0){n.sort((d,u)=>d.startLineNumber-u.startLineNumber);const a=Go.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(Go.fromFoldRanges(a))}}}}class pO extends io{constructor(){super({id:"editor.removeManualFoldingRanges",label:S("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2137),weight:100}})}invoke(e,t,i){const n=i.getSelections();if(n){const s=[];for(const r of n){const{startLineNumber:a,endLineNumber:d}=r;s.push(d>=a?{startLineNumber:a,endLineNumber:d}:{endLineNumber:d,startLineNumber:a})}t.removeManualRanges(s),e.triggerFoldingModelChanged()}}}un(jc.ID,jc,0);Fe(QN);Fe(JN);Fe(eO);Fe(iO);Fe(nO);Fe(cO);Fe(dO);Fe(sO);Fe(oO);Fe(rO);Fe(aO);Fe(lO);Fe(tO);Fe(uO);Fe(hO);Fe(fO);Fe(gO);Fe(pO);for(let o=1;o<=7;o++)p4(new rv({id:rv.ID(o),label:S("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2048|21+o),weight:100}}));Qn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof jn))throw vl();const i=o.get(Ii),n=o.get(vo).getModel(t);if(!n)throw vl();const s=o.get(ss);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(Vs),a=s.getValue("editor.foldingStrategy",{resource:t}),d={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(C,b)=>{}},u=new $9(n,r,d);let f=u;if(a!=="indentation"){const C=jc.getFoldingRangeProviders(i,n);C.length&&(f=new U9(n,C,()=>{},d,u))}const g=await f.compute(an.None),p=[];try{if(g)for(let C=0;C<g.length;C++){const b=g.getType(C);p.push({start:g.getStartLineNumber(C),end:g.getEndLineNumber(C),kind:b?Np.fromValue(b):void 0})}return p}finally{f.dispose()}});class xO extends _t{constructor(){super({id:"editor.action.fontZoomIn",label:S("EditorFontZoomIn.label","Increase Editor Font Size"),alias:"Increase Editor Font Size",precondition:void 0})}run(e,t){Ng.setZoomLevel(Ng.getZoomLevel()+1)}}class mO extends _t{constructor(){super({id:"editor.action.fontZoomOut",label:S("EditorFontZoomOut.label","Decrease Editor Font Size"),alias:"Decrease Editor Font Size",precondition:void 0})}run(e,t){Ng.setZoomLevel(Ng.getZoomLevel()-1)}}class vO extends _t{constructor(){super({id:"editor.action.fontZoomReset",label:S("EditorFontZoomReset.label","Reset Editor Font Size"),alias:"Reset Editor Font Size",precondition:void 0})}run(e,t){Ng.setZoomLevel(0)}}Fe(xO);Fe(mO);Fe(vO);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},xg=function(o,e){return function(t,i){e(t,i,o)}},E0;let av=(E0=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new Tt,this._sessionDisposables=new Tt,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 km;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 qs,s=this._editor.onDidChangeModelContent(r=>{if(r.isFlush){n.cancel(),s.dispose();return}for(let a=0,d=r.changes.length;a<d;a++)if(r.changes[a].range.endLineNumber<=i.lineNumber){n.cancel(),s.dispose();return}});x4(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||Xo(r)&&(this._accessibilitySignalService.playSignal(WA.format,{userGesture:!1}),m4.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},E0.ID="editor.contrib.autoFormat",E0);av=pB([xg(1,Ii),xg(2,Nl),xg(3,HA)],av);var y0;let lv=(y0=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new Tt,this._callOnModel=new Tt,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(zA,this.editor,e,2,fl.None,an.None,!1).catch(qn))}},y0.ID="editor.contrib.formatOnPaste",y0);lv=pB([xg(1,Ii),xg(2,nn)],lv);class _O extends _t{constructor(){super({id:"editor.action.formatDocument",label:S("formatDocument.label","Format Document"),alias:"Format Document",precondition:qe.and(q.notInCompositeEditor,q.writable,q.hasDocumentFormattingProvider),kbOpts:{kbExpr:q.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(nn);await e.get(Ap).showWhile(i.invokeFunction(v4,t,1,fl.None,an.None,!0),250)}}}class bO extends _t{constructor(){super({id:"editor.action.formatSelection",label:S("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:qe.and(q.writable,q.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2084),weight:100},contextMenuOpts:{when:q.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(nn),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new Q(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(Ap).showWhile(i.invokeFunction(zA,t,s,1,fl.None,an.None,!0),250)}}un(av.ID,av,2);un(lv.ID,lv,2);Fe(_O);Fe(bO);Qn.registerCommand("editor.action.format",async o=>{const e=o.get(bs).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(zs);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var CO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},AC=function(o,e){return function(t,i){e(t,i,o)}};class Zh{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 IE extends Zh{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class xB extends Zh{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class rl extends Zh{static create(e,t,i){const n=new qs(i),s=new rl(t.uri),r=e.ordered(t),a=r.map((u,f)=>{const g=Zh.findId(`provider_${f}`,s),p=new xB(g,s,u.displayName??"Unknown Outline Provider",f);return Promise.resolve(u.provideDocumentSymbols(t,n.token)).then(C=>{for(const b of C||[])rl._makeOutlineElement(b,p);return p},C=>(_s(C),p)).then(C=>{Zh.empty(C)?C.remove():s._groups.set(g,C)})}),d=e.onDidChange(()=>{const u=e.ordered(t);ja(u,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?rl.create(e,t,i):s._compact()).finally(()=>{n.dispose(),d.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=Zh.findId(e,t),n=new IE(i,t,e);if(e.children)for(const s of e.children)rl._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=ml.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 IE?e.push(t.symbol):e.push(...ml.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>Q.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return rl._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>Li.compare(Q.getStartPosition(i.range),Q.getStartPosition(n.range))||Li.compare(Q.getEndPosition(n.range),Q.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&&rl._flattenDocumentSymbols(e,n.children,n.name)}}const Qp=Ml("IOutlineModelService");let PE=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new Tt,this._cache=new Bp(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()||!ja(s.provider,n)){const a=new qs;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:rl.create(i,e,a.token),model:void 0},this._cache.set(e.id,s);const d=Date.now();s.promise.then(u=>{s.model=u,this._debounceInformation.update(e,Date.now()-d)}).catch(u=>{this._cache.delete(e.id)})}if(s.model)return s.model;s.promiseCnt+=1;const r=t.onCancellationRequested(()=>{--s.promiseCnt===0&&(s.source.cancel(),this._cache.delete(e.id))});try{return await s.promise}finally{r.dispose()}}};PE=CO([AC(0,Ii),AC(1,gr),AC(2,vo)],PE);Rl(Qp,PE,1);Qn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;Ln(jn.isUri(t));const i=o.get(Qp),s=await o.get(fa).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,an.None)).getTopLevelSymbols()}finally{s.dispose()}});const Sa=class Sa extends Rt{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=Sa.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=Sa.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=Sa.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=Sa.suppressSuggestions.bindTo(this.contextKeyService),this._register(rs(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(rs(i=>{const n=this.model.read(i);let s=!1,r=!0;const a=n==null?void 0:n.primaryGhostText.read(i);if(n!=null&&n.selectedSuggestItem&&a&&a.parts.length>0){const{column:d,lines:u}=a.parts[0],f=u[0],g=n.textModel.getLineIndentColumn(a.lineNumber);if(d<=g){let C=s1(f);C===-1&&(C=f.length-1),s=C>0;const b=n.textModel.getOptions().tabSize;r=_4.visibleColumnFromColumn(f,C+1,b)<b}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};Sa.inlineSuggestionVisible=new En("inlineSuggestionVisible",!1,S("inlineSuggestionVisible","Whether an inline suggestion is visible")),Sa.inlineSuggestionHasIndentation=new En("inlineSuggestionHasIndentation",!1,S("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),Sa.inlineSuggestionHasIndentationLessThanTabSize=new En("inlineSuggestionHasIndentationLessThanTabSize",!0,S("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),Sa.suppressSuggestions=new En("inlineSuggestionSuppressSuggestions",void 0,S("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let No=Sa;function EO(o){const e=new Tt,t=e.add(VA());return e.add(rs(i=>{t.setStyle(o.read(i))})),e}class Qg{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 jA([...this.parts.map(s=>new Dl(Q.fromPositions(new Li(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 cv{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=J_(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 TE{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new cv(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=J_(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 hD(o,e){return ja(o,e,mB)}function mB(o,e){return o===e?!0:!o||!e?!1:o instanceof Qg&&e instanceof Qg||o instanceof TE&&e instanceof TE?o.equals(e):!1}const yO=[];function wO(){return yO}class vB{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new O0(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new Q(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function _B(o,e){const t=new Tt,i=o.createDecorationsCollection();return t.add(b4({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function SO(o,e){return new Li(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function fD(o,e){return new Li(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var DO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},AO=function(o,e){return function(t,i){e(t,i,o)}};const gD="ghost-text";let ME=class extends Rt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Yo(this,!1),this.currentTextModel=Io(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Wn(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 TE?r.columnRange:void 0,d=[],u=[];function f(y,w){if(u.length>0){const A=u[u.length-1];w&&A.decorations.push(new Og(A.content.length+1,A.content.length+1+y[0].length,w,0)),A.content+=y[0],y=y.slice(1)}for(const A of y)u.push({content:A,decorations:w?[new Og(1,A.length+1,w,0)]:[]})}const g=s.getLineContent(r.lineNumber);let p,C=0;for(const y of r.parts){let w=y.lines;p===void 0?(d.push({column:y.column,text:w[0],preview:y.preview}),w=w.slice(1)):f([g.substring(C,y.column-1)],void 0),w.length>0&&(f(w,gD),p===void 0&&y.column<=g.length&&(p=y.column)),C=y.column-1}p!==void 0&&f([g.substring(C)],void 0);const b=p!==void 0?new vB(p,g.length+1):void 0;return{replacedRange:a,inlineTexts:d,additionalLines:u,hiddenRange:b,lineNumber:r.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s}}),this.decorations=Wn(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:Q.fromPositions(new Li(s.lineNumber,a.column)),options:{description:gD,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:jh.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new kO(this.editor,this.languageService.languageIdCodec,Wn(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(is(()=>{this.isDisposed.set(!0,void 0)})),this._register(_B(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};ME=DO([AO(2,ha)],ME);class kO extends Rt{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=Pd("editorOptionChanged",Is.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(rs(n=>{const s=this.lines.read(n);this.editorOptionsChanged.read(n),s?this.updateLines(s.lineNumber,s.additionalLines,s.minReservedLineCount):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones(e=>{this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(e,t,i){const n=this.editor.getModel();if(!n)return;const{tabSize:s}=n.getOptions();this.editor.changeViewZones(r=>{this._viewZoneId&&(r.removeZone(this._viewZoneId),this._viewZoneId=void 0);const a=Math.max(t.length,i);if(a>0){const d=document.createElement("div");BO(d,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:d,afterColumnAffinity:1})}})}}function BO(o,e,t,i,n){const s=i.get(33),r=i.get(118),a="none",d=i.get(95),u=i.get(51),f=i.get(50),g=i.get(67),p=new UA(1e4);p.appendString('<div class="suggest-preview-text">');for(let y=0,w=t.length;y<w;y++){const A=t[y],I=A.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(y*g)),p.appendString('px;width:1000000px;">');const M=ZA(I),R=C4(I),T=E4.createEmpty(I,n);qA(new GA(f.isMonospace&&!s,f.canUseHalfwidthRightwardsArrow,I,!1,M,R,0,T,A.decorations,e,0,f.spaceWidth,f.middotWidth,f.wsmiddotWidth,r,a,d,u!==y4.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),KA(o,f);const C=p.build(),b=pD?pD.createHTML(C):C;o.innerHTML=b}const pD=$A("editorGhostText",{createHTML:o=>o});function FO(o,e){const t=new A4,i=new S4(t,u=>e.getLanguageConfiguration(u)),n=new w4(new LO([o]),i),s=D4(n,[],void 0,!0);let r="";const a=o.getLineContent();function d(u,f){if(u.kind===2)if(d(u.openingBracket,f),f=Pf(f,u.openingBracket.length),u.child&&(d(u.child,f),f=Pf(f,u.child.length)),u.closingBracket)d(u.closingBracket,f),f=Pf(f,u.closingBracket.length);else{const p=i.getSingleLanguageBracketTokens(u.openingBracket.languageId).findClosingTokenText(u.openingBracket.bracketIds);r+=p}else if(u.kind!==3){if(u.kind===0||u.kind===1)r+=a.substring($S(f),$S(Pf(f,u.length)));else if(u.kind===4)for(const g of u.children)d(g,f),f=Pf(f,g.length)}}return d(s,k4),r}class LO{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 bB(o,e,t,i,n=an.None,s){const r=e instanceof Li?TO(e,t):e,a=o.all(t),d=new B4;for(const A of a)A.groupId&&d.add(A.groupId,A);function u(A){if(!A.yieldsToGroupIds)return[];const I=[];for(const M of A.yieldsToGroupIds||[]){const R=d.get(M);for(const T of R)I.push(T)}return I}const f=new Map,g=new Set;function p(A,I){if(I=[...I,A],g.has(A))return I;g.add(A);try{const M=u(A);for(const R of M){const T=p(R,I);if(T)return T}}finally{g.delete(A)}}function C(A){const I=f.get(A);if(I)return I;const M=p(A,[]);M&&_s(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${M.map(T=>T.toString?T.toString():""+T).join(" -> ")}`));const R=new V_;return f.set(A,R.p),(async()=>{var T;if(!M){const V=u(A);for(const H of V){const X=await C(H);if(X&&X.items.length>0)return}}try{return e instanceof Li?await A.provideInlineCompletions(t,e,i,n):await((T=A.provideInlineEdits)==null?void 0:T.call(A,t,e,i,n))}catch(V){_s(V);return}})().then(T=>R.complete(T),T=>R.error(T)),R.p}const b=await Promise.all(a.map(async A=>({provider:A,completions:await C(A)}))),y=new Map,w=[];for(const A of b){const I=A.completions;if(!I)continue;const M=new PO(I,A.provider);w.push(M);for(const R of I.items){const T=dv.from(R,M,r,t,s);y.set(T.hash(),T)}}return new IO(Array.from(y.values()),new Set(y.keys()),w)}class IO{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 PO{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 dv{static from(e,t,i,n,s){let r,a,d=e.range?Q.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=xD(r,d.getStartPosition(),n,s);const u=r.length-e.insertText.length;u!==0&&(d=new Q(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn+u))}a=void 0}else if("snippet"in e.insertText){const u=e.insertText.snippet.length;if(s&&e.completeBracketPairs){e.insertText.snippet=xD(e.insertText.snippet,d.getStartPosition(),n,s);const g=e.insertText.snippet.length-u;g!==0&&(d=new Q(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn+g))}const f=new Nu().parse(e.insertText.snippet);f.children.length===1&&f.children[0]instanceof Po?(r=f.children[0].value,a=void 0):(r=f.toString(),a={snippet:e.insertText.snippet,range:d})}else F4(e.insertText);return new dv(r,e.command,d,r,a,e.additionalTextEdits||wO(),e,t)}constructor(e,t,i,n,s,r,a,d){this.filterText=e,this.command=t,this.range=i,this.insertText=n,this.snippetInfo=s,this.additionalTextEdits=r,this.sourceInlineCompletion=a,this.source=d,e=e.replace(/\r\n|\r/g,`
|
|
34
|
-
`),n=e.replace(/\r\n|\r/g,`
|
|
35
|
-
`)}withRange(e){return new dv(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 Dl(this.range,this.insertText)}}function TO(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new Q(o.lineNumber,t.startColumn,o.lineNumber,i):Q.fromPositions(o,o.with(void 0,i))}function xD(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?FO(a,i):o}function Wd(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=Rp(n,o.text),r=Bm.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),d=Q.fromPositions(r,o.range.getEndPosition());return new Dl(d,a)}function CB(o,e){return o.text.startsWith(e.text)&&MO(o.range,e.range)}function mD(o,e,t,i,n=0){let s=Wd(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=eo(r).length;if(s.range.startColumn-1<=a){const b=eo(s.text).length,y=r.substring(s.range.startColumn-1,a),[w,A]=[s.range.getStartPosition(),s.range.getEndPosition()],I=w.column+y.length<=A.column?w.delta(0,y.length):A,M=Q.fromPositions(I,A),R=s.text.startsWith(y)?s.text.substring(y.length):s.text.substring(b);s=new Dl(M,R)}const u=e.getValueInRange(s.range),f=RO(u,s.text);if(!f)return;const g=s.range.startLineNumber,p=new Array;if(t==="prefix"){const b=f.filter(y=>y.originalLength===0);if(b.length>1||b.length===1&&b[0].originalStart!==u.length)return}const C=s.text.length-n;for(const b of f){const y=s.range.startColumn+b.originalStart+b.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===s.range.startLineNumber&&y<i.column||b.originalLength>0)return;if(b.modifiedLength===0)continue;const w=b.modifiedStart+b.modifiedLength,A=Math.max(b.modifiedStart,Math.min(w,C)),I=s.text.substring(b.modifiedStart,A),M=s.text.substring(A,Math.max(b.modifiedStart,w));I.length>0&&p.push(new cv(y,I,!1)),M.length>0&&p.push(new cv(y,M,!0))}return new Qg(g,p)}function MO(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let ba;function RO(o,e){if((ba==null?void 0:ba.originalValue)===o&&(ba==null?void 0:ba.newValue)===e)return ba==null?void 0:ba.changes;{let t=_D(o,e,!0);if(t){const i=vD(t);if(i>0){const n=_D(o,e,!1);n&&vD(n)<i&&(t=n)}}return ba={originalValue:o,newValue:e,changes:t},t}}function vD(o){let e=0;for(const t of o)e+=t.originalLength;return e}function _D(o,e,t){if(o.length>5e3||e.length>5e3)return;function i(u){let f=0;for(let g=0,p=u.length;g<p;g++){const C=u.charCodeAt(g);C>f&&(f=C)}return f}const n=Math.max(i(o),i(e));function s(u){if(u<0)throw new Error("unexpected");return n+u+1}function r(u){let f=0,g=0;const p=new Int32Array(u.length);for(let C=0,b=u.length;C<b;C++)if(t&&u[C]==="("){const y=g*100+f;p[C]=s(2*y),f++}else if(t&&u[C]===")"){f=Math.max(f-1,0);const y=g*100+f;p[C]=s(2*y+1),f===0&&g++}else p[C]=u.charCodeAt(C);return p}const a=r(o),d=r(e);return new L4({getElements:()=>a},{getElements:()=>d}).ComputeDiff(!1).changes}var NO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},bD=function(o,e){return function(t,i){e(t,i,o)}};let RE=class extends Rt{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 Jo),this.inlineCompletions=a1("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=a1("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var f,g;const n=new HO(e,t,this.textModel.getVersionId()),s=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if((f=this._updateOperation.value)!=null&&f.request.satisfies(n))return this._updateOperation.value.promise;if((g=s.get())!=null&&g.request.satisfies(n))return Promise.resolve(!0);const r=!!this._updateOperation.value;this._updateOperation.clear();const a=new qs,d=(async()=>{if((r||t.triggerKind===_l.Automatic)&&await OO(this._debounceValue.get(this.textModel),a.token),a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const C=new Date,b=await bB(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,a.token,this.languageConfigurationService);if(a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const y=new Date;this._debounceValue.update(this.textModel,y.getTime()-C.getTime());const w=new zO(b,n,this.textModel,this.versionId);if(i){const A=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!b.has(A)&&w.prepend(i.inlineCompletion,A.range,!0)}return this._updateOperation.clear(),Xu(A=>{s.set(w,A)}),!0})(),u=new WO(n,a,d);return this._updateOperation.value=u,d}clear(e){this._updateOperation.clear(),this.inlineCompletions.set(void 0,e),this.suggestWidgetInlineCompletions.set(void 0,e)}clearSuggestWidgetInlineCompletions(e){var t;(t=this._updateOperation.value)!=null&&t.request.context.selectedSuggestionInfo&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,e)}cancelUpdate(){this._updateOperation.clear()}};RE=NO([bD(3,Ii),bD(4,Vs)],RE);function OO(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 HO{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&I4(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,T4())&&(e.context.triggerKind===_l.Automatic||this.context.triggerKind===_l.Explicit)&&this.versionId===e.versionId}}class WO{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class zO{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 CD(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 CD(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class CD{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=ul({owner:this,equalsFn:Q.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??kC)}toSingleTextEdit(e){return new Dl(this._updatedRange.read(e)??kC,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=Wd(this._toFilterTextReplacement(i),e),s=this._updatedRange.read(i);if(!s||!this.inlineCompletion.range.getStartPosition().equals(s.getStartPosition())||t.lineNumber!==n.range.startLineNumber)return!1;const r=e.getValueInRange(n.range,1),a=n.text,d=Math.max(0,t.column-n.range.startColumn);let u=a.substring(0,d),f=a.substring(d),g=r.substring(0,d),p=r.substring(d);const C=e.getLineIndentColumn(n.range.startLineNumber);return n.range.startColumn<=C&&(g=g.trimStart(),g.length===0&&(p=p.trimStart()),u=u.trimStart(),u.length===0&&(f=f.trimStart())),u.startsWith(g)&&!!P4(p,f)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&Bm.ofRange(i).isGreaterThanOrEqualTo(Bm.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new Dl(this._updatedRange.read(e)??kC,this.inlineCompletion.filterText)}}const kC=new Q(1,1,1,1),Ki={Visible:H9,HasFocusedSuggestion:new En("suggestWidgetHasFocusedSuggestion",!1,S("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new En("suggestWidgetDetailsVisible",!1,S("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new En("suggestWidgetMultipleSuggestions",!1,S("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new En("suggestionMakesTextEdit",!0,S("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new En("acceptSuggestionOnEnter",!0,S("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new En("suggestionHasInsertAndReplaceRange",!1,S("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new En("suggestionInsertMode",void 0,{type:"string",description:S("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new En("suggestionCanResolve",!1,S("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},bc=new ni("suggestWidgetStatusBar");class VO{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=Mg.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,Q.isIRange(t.range)?(this.editStart=new Li(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Li(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Li(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||Q.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Li(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Li(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Li(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||Q.spansMultipleLines(t.range.insert)||Q.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 Oo(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{qc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const l_=class l_{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}};l_.default=new l_;let Jg=l_;class jO{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function q9(o,e,t,i=Jg.default,n={triggerKind:0},s=an.None){const r=new Oo;t=t.clone();const a=e.getWordAtPosition(t),d=a?new Q(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):Q.fromPositions(t),u={replace:d,insert:d.setEndPosition(t.lineNumber,t.column)},f=[],g=new Tt,p=[];let C=!1;const b=(w,A,I)=>{var R;let M=!1;if(!A)return M;for(const T of A.suggestions)if(!i.kindFilter.has(T.kind)){if(!i.showDeprecated&&((R=T==null?void 0:T.tags)!=null&&R.includes(1)))continue;T.range||(T.range=u),T.sortText||(T.sortText=typeof T.label=="string"?T.label:T.label.label),!C&&T.insertTextRules&&T.insertTextRules&4&&(C=Nu.guessNeedsClipboard(T.insertText)),f.push(new VO(t,T,A,w)),M=!0}return XA(A)&&g.add(A),p.push({providerName:w._debugDisplayName??"unknown_provider",elapsedProvider:A.duration??-1,elapsedOverall:I.elapsed()}),M},y=(async()=>{})();for(const w of o.orderedGroups(e)){let A=!1;if(await Promise.all(w.map(async I=>{if(i.providerItemsToReuse.has(I)){const M=i.providerItemsToReuse.get(I);M.forEach(R=>f.push(R)),A=A||M.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(I)))try{const M=new Oo,R=await I.provideCompletionItems(e,t,n,s);A=b(I,R,M)||A}catch(M){_s(M)}})),A||s.isCancellationRequested)break}return await y,s.isCancellationRequested?(g.dispose(),Promise.reject(new j_)):new jO(f.sort(qO(i.snippetSortOrder)),C,{entries:p,elapsed:r.elapsed()},g)}function G9(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 $O(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return G9(o,e)}function UO(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return G9(o,e)}const wb=new Map;wb.set(0,$O);wb.set(2,UO);wb.set(1,G9);function qO(o){return wb.get(o)}Qn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;Ln(jn.isUri(t)),Ln(Li.isIPosition(i)),Ln(typeof n=="string"||!n),Ln(typeof s=="number"||!s);const{completionProvider:r}=o.get(Ii),a=await o.get(fa).createModelReference(t);try{const d={incomplete:!1,suggestions:[]},u=[],f=a.object.textEditorModel.validatePosition(i),g=await q9(r,a.object.textEditorModel,f,void 0,{triggerCharacter:n??void 0,triggerKind:n?1:0});for(const p of g.items)u.length<(s??0)&&u.push(p.resolve(an.None)),d.incomplete=d.incomplete||p.container.incomplete,d.suggestions.push(p.completion);try{return await Promise.all(u),d}finally{setTimeout(()=>g.disposable.dispose(),100)}}finally{a.dispose()}});function GO(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class Xh{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 ED(o,e=z_){return M4(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var KO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ZO=function(o,e){return function(t,i){e(t,i,o)}};class yD{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 wD{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=eo(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(u=>u===e?!1:(u instanceof Po&&(a=eo(J_(u.value).pop())),!0));const d=Rp(a,r);i=i.replace(/(\r\n|\r|\n)(.*)/g,(u,f,g)=>`${f}${a.substr(d)}${g}`)}return i}else{if(t==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(t==="TM_CURRENT_WORD"){const i=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return i&&i.word||void 0}else{if(t==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(t==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);if(t==="CURSOR_INDEX")return String(this._selectionIdx);if(t==="CURSOR_NUMBER")return String(this._selectionIdx+1)}}}}class SD{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return ag(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=ag(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return R4(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(Vw(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 DD{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=>!N4(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let uv=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}}};uv=KO([ZO(2,Vs)],uv);const Da=class Da{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 Da.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return Da.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return Da.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return Da.monthNamesShort[this._date.getMonth()];if(t==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3));if(t==="CURRENT_TIMEZONE_OFFSET"){const i=this._date.getTimezoneOffset(),n=i>0?"-":"+",s=Math.trunc(Math.abs(i/60)),r=s<10?"0"+s:s,a=Math.abs(i)-s*60,d=a<10?"0"+a:a;return n+r+":"+d}}};Da.dayNames=[S("Sunday","Sunday"),S("Monday","Monday"),S("Tuesday","Tuesday"),S("Wednesday","Wednesday"),S("Thursday","Thursday"),S("Friday","Friday"),S("Saturday","Saturday")],Da.dayNamesShort=[S("SundayShort","Sun"),S("MondayShort","Mon"),S("TuesdayShort","Tue"),S("WednesdayShort","Wed"),S("ThursdayShort","Thu"),S("FridayShort","Fri"),S("SaturdayShort","Sat")],Da.monthNames=[S("January","January"),S("February","February"),S("March","March"),S("April","April"),S("May","May"),S("June","June"),S("July","July"),S("August","August"),S("September","September"),S("October","October"),S("November","November"),S("December","December")],Da.monthNamesShort=[S("JanuaryShort","Jan"),S("FebruaryShort","Feb"),S("MarchShort","Mar"),S("AprilShort","Apr"),S("MayShort","May"),S("JuneShort","Jun"),S("JulyShort","Jul"),S("AugustShort","Aug"),S("SeptemberShort","Sep"),S("OctoberShort","Oct"),S("NovemberShort","Nov"),S("DecemberShort","Dec")];let hv=Da;class AD{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=O4(this._workspaceService.getWorkspace());if(!H4(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(US(e))return ag(e.uri.path);let t=ag(e.configPath.path);return t.endsWith(qS)&&(t=t.substr(0,t.length-qS.length-1)),t}_resoveWorkspacePath(e){if(US(e))return ED(e.uri.fsPath);const t=ag(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?ED(i):"/"}}class kD{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 gb()}}var XO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},YO=function(o,e){return function(t,i){e(t,i,o)}},Ur;const Er=class Er{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=GS(t.placeholders,ur.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=Q.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?Er._decor.inactiveFinal:Er._decor.inactive,d=t.addDecoration(r,a);this._placeholderDecorations.set(i,d)}})}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const n=[];for(const s of this._placeholderGroups[this._placeholderGroupsIdx])if(s.transform){const r=this._placeholderDecorations.get(s),a=this._editor.getModel().getDecorationRange(r),d=this._editor.getModel().getValueInRange(a),u=s.transform.resolve(d).split(/\r\n|\r|\n/);for(let f=1;f<u.length;f++)u[f]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+u[f]);n.push(cs.replace(a,u.join(this._editor.getModel().getEOL())))}n.length>0&&this._editor.executeEdits("snippet.placeholderTransform",n)}let t=!1;e===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,t=!0):e===!1&&this._placeholderGroupsIdx>0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations(n=>{const s=new Set,r=[];for(const a of this._placeholderGroups[this._placeholderGroupsIdx]){const d=this._placeholderDecorations.get(a),u=this._editor.getModel().getDecorationRange(d);r.push(new Ui(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(d,a.isFinalTabstop?Er._decor.activeFinal:Er._decor.active),s.add(a);for(const f of this._snippet.enclosingPlaceholders(a)){const g=this._placeholderDecorations.get(f);n.changeDecorationOptions(g,f.isFinalTabstop?Er._decor.activeFinal:Er._decor.active),s.add(f)}}for(const[a,d]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(d,a.isFinalTabstop?Er._decor.inactiveFinal:Er._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof ur){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 xf,!e)),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(i=>{for(const n of this._placeholderGroups[this._placeholderGroupsIdx]){const s=e.shift();console.assert(s._offset!==-1),console.assert(!s._placeholderDecorations);const r=s._snippet.placeholderInfo.last.index;for(const d of s._snippet.placeholderInfo.all)d.isFinalTabstop?d.index=n.index+(r+1)/this._nestingLevel:d.index=n.index+d.index/this._nestingLevel;this._snippet.replace(n,s._snippet.children);const a=this._placeholderDecorations.get(n);i.removeDecoration(a),this._placeholderDecorations.delete(n);for(const d of s._snippet.placeholders){const u=s._snippet.offset(d),f=s._snippet.fullLen(d),g=Q.fromPositions(t.getPositionAt(s._offset+u),t.getPositionAt(s._offset+u+f)),p=i.addDecoration(g,Er._decor.inactive);this._placeholderDecorations.set(d,p)}}this._placeholderGroups=GS(this._snippet.placeholders,ur.compareByIndex)})}};Er._decor={active:mn.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:mn.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:mn.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:mn.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let fv=Er;const BD={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let gv=Ur=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=eo(r,0,t.column-1);let d;return n.walk(u=>{if(!(u instanceof Po)||u.parent instanceof xf||s&&!s.has(u))return!0;const f=u.value.split(/\r\n|\r|\n/);if(i){const p=n.offset(u);if(p===0)f[0]=e.normalizeIndentation(f[0]);else{d=d??n.toString();const C=d.charCodeAt(p-1);(C===10||C===13)&&(f[0]=e.normalizeIndentation(a+f[0]))}for(let C=1;C<f.length;C++)f[C]=e.normalizeIndentation(a+f[C])}const g=f.join(e.getEOL());return g!==u.value&&(u.parent.replace(u,[new Po(g)]),d=void 0),!0}),a}static adjustSelection(e,t,i,n){if(i!==0||n!==0){const{positionLineNumber:s,positionColumn:r}=t,a=r-i,d=r+n,u=e.validateRange({startLineNumber:s,startColumn:a,endLineNumber:s,endColumn:d});t=Ui.createWithDirection(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,i,n,s,r,a,d,u){const f=[],g=[];if(!e.hasModel())return{edits:f,snippets:g};const p=e.getModel(),C=e.invokeWithinContext(R=>R.get(F0)),b=e.invokeWithinContext(R=>new SD(R.get(Tg),p)),y=()=>a,w=p.getValueInRange(Ur.adjustSelection(p,e.getSelection(),i,0)),A=p.getValueInRange(Ur.adjustSelection(p,e.getSelection(),0,n)),I=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),M=e.getSelections().map((R,T)=>({selection:R,idx:T})).sort((R,T)=>Q.compareRangesUsingStarts(R.selection,T.selection));for(const{selection:R,idx:T}of M){let V=Ur.adjustSelection(p,R,i,0),H=Ur.adjustSelection(p,R,0,n);w!==p.getValueInRange(V)&&(V=R),A!==p.getValueInRange(H)&&(H=R);const X=R.setStartPosition(V.startLineNumber,V.startColumn).setEndPosition(H.endLineNumber,H.endColumn),se=new Nu().parse(t,!0,s),he=X.getStartPosition(),J=Ur.adjustWhitespace(p,he,r||T>0&&I!==p.getLineFirstNonWhitespaceColumn(R.positionLineNumber),se);se.resolveVariables(new yD([b,new DD(y,T,M.length,e.getOption(79)==="spread"),new wD(p,R,T,d),new uv(p,R,u),new hv,new AD(C),new kD])),f[T]=cs.replace(X,se.toString()),f[T].identifier={major:T,minor:0},f[T]._isTracked=!0,g[T]=new fv(e,se,J)}return{edits:f,snippets:g}}static createEditsAndSnippetsFromEdits(e,t,i,n,s,r,a){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const d=[],u=e.getModel(),f=new Nu,g=new Up,p=new yD([e.invokeWithinContext(b=>new SD(b.get(Tg),u)),new DD(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new wD(u,e.getSelection(),0,r),new uv(u,e.getSelection(),a),new hv,new AD(e.invokeWithinContext(b=>b.get(F0))),new kD]);t=t.sort((b,y)=>Q.compareRangesUsingStarts(b.range,y.range));let C=0;for(let b=0;b<t.length;b++){const{range:y,template:w}=t[b];if(b>0){const T=t[b-1].range,V=Q.fromPositions(T.getEndPosition(),y.getStartPosition()),H=new Po(u.getValueInRange(V));g.appendChild(H),C+=H.value.length}const A=f.parseFragment(w,g);Ur.adjustWhitespace(u,y.getStartPosition(),!0,g,new Set(A)),g.resolveVariables(p);const I=g.toString(),M=I.slice(C);C=I.length;const R=cs.replace(y,M);R.identifier={major:b,minor:0},R._isTracked=!0,d.push(R)}return f.ensureFinalTabstop(g,i,!0),{edits:d,snippets:[new fv(e,g,"")]}}constructor(e,t,i=BD,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){uo(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"?Ur.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):Ur.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=>Ui.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=BD){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=Ur.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",i,s=>{const r=s.filter(d=>!!d.identifier);for(let d=0;d<n.length;d++)n[d].initialize(r[d].textChange);const a=n[0].isTrivialSnippet;if(!a){for(const d of this._snippets)d.merge(n);console.assert(n.length===0)}return this._snippets[0].hasPlaceholder&&!a?this._move(void 0):r.map(d=>Ui.fromPositions(d.range.getEndPosition()))})}next(){const e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){const e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}_move(e){const t=[];for(const i of this._snippets){const n=i.move(e);t.push(...n)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const e=this._editor.getSelections();if(e.length<this._snippets.length)return!1;const t=new Map;for(const i of this._snippets){const n=i.computePossibleSelections();if(t.size===0)for(const[s,r]of n){r.sort(Q.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(Q.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(Q.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};gv=Ur=XO([YO(3,Vs)],gv);var QO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ix=function(o,e){return function(t,i){e(t,i,o)}},Hh;const FD={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var Ta;let xo=(Ta=class{static get(e){return e.getContribution(Hh.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new Tt,this._modelVersionId=-1,this._inSnippet=Hh.InSnippetMode.bindTo(n),this._hasNextTabstop=Hh.HasNextTabstop.bindTo(n),this._hasPrevTabstop=Hh.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"?FD:{...FD,...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?(Ln(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new gv(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),(i=this._session)!=null&&i.hasChoice){const n={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(f,g)=>{if(!this._session||f!==this._editor.getModel()||!Li.equals(this._editor.getPosition(),g))return;const{activeChoice:p}=this._session;if(!p||p.choice.options.length===0)return;const C=f.getValueInRange(p.range),b=!!p.choice.options.find(w=>w.value===C),y=[];for(let w=0;w<p.choice.options.length;w++){const A=p.choice.options[w];y.push({kind:13,label:A.value,insertText:A.value,sortText:"a".repeat(w+1),range:p.range,filterText:b?`${C}_${A.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:S("next","Go to next placeholder...")}})}return{suggestions:y}}},s=this._editor.getModel();let r,a=!1;const d=()=>{r==null||r.dispose(),a=!1},u=()=>{a||(r=this._languageFeaturesService.completionProvider.register({language:s.getLanguageId(),pattern:s.uri.fsPath,scheme:s.uri.scheme,exclusive:!0},n),this._snippetListener.add(r),a=!0)};this._choiceCompletions={provider:n,enable:u,disable:d}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(n=>n.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){var t;if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{activeChoice:e}=this._session;if(!e||!this._choiceCompletions){(t=this._choiceCompletions)==null||t.disable(),this._currentChoice=void 0;return}this._currentChoice!==e.choice&&(this._currentChoice=e.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{GO(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()}},Hh=Ta,Ta.ID="snippetController2",Ta.InSnippetMode=new En("inSnippetMode",!1,S("inSnippetMode","Whether the editor in current in snippet mode")),Ta.HasNextTabstop=new En("hasNextTabstop",!1,S("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Ta.HasPrevTabstop=new En("hasPrevTabstop",!1,S("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Ta);xo=Hh=QO([Ix(1,Yu),Ix(2,Ii),Ix(3,Fn),Ix(4,Vs)],xo);un(xo.ID,xo,4);const Sb=Ao.bindToContribution(xo.get);Mi(new Sb({id:"jumpToNextSnippetPlaceholder",precondition:qe.and(xo.InSnippetMode,xo.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:q.textInputFocus,primary:2}}));Mi(new Sb({id:"jumpToPrevSnippetPlaceholder",precondition:qe.and(xo.InSnippetMode,xo.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:q.textInputFocus,primary:1026}}));Mi(new Sb({id:"leaveSnippet",precondition:xo.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:q.textInputFocus,primary:9,secondary:[1033]}}));Mi(new Sb({id:"acceptSnippet",precondition:xo.InSnippetMode,handler:o=>o.finish()}));var JO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},BC=function(o,e){return function(t,i){e(t,i,o)}};let NE=class extends Rt{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,n,s,r,a,d,u,f,g,p){super(),this.textModel=e,this.selectedSuggestItem=t,this._textModelVersionId=i,this._positions=n,this._debounceValue=s,this._suggestPreviewEnabled=r,this._suggestPreviewMode=a,this._inlineSuggestMode=d,this._enabled=u,this._instantiationService=f,this._commandService=g,this._languageConfigurationService=p,this._source=this._register(this._instantiationService.createInstance(RE,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=Yo(this,!1),this._forceUpdateExplicitlySignal=Gw(this),this._selectedInlineCompletionId=Yo(this,void 0),this._primaryPosition=Wn(this,b=>this._positions.read(b)[0]??new Li(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([ol.Redo,ol.Undo,ol.AcceptWord]),this._fetchInlineCompletionsPromise=YA({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:_l.Automatic}),handleChange:(b,y)=>(b.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(b.change))?y.preserveCurrentCompletion=!0:b.didChange(this._forceUpdateExplicitlySignal)&&(y.inlineCompletionTriggerKind=_l.Explicit),!0)},(b,y)=>{if(this._forceUpdateExplicitlySignal.read(b),!(this._enabled.read(b)&&this.selectedSuggestItem.read(b)||this._isActive.read(b))){this._source.cancelUpdate();return}this._textModelVersionId.read(b);const A=this._source.suggestWidgetInlineCompletions.get(),I=this.selectedSuggestItem.read(b);if(A&&!I){const H=this._source.inlineCompletions.get();Xu(X=>{(!H||A.request.versionId>H.request.versionId)&&this._source.inlineCompletions.set(A.clone(),X),this._source.clearSuggestWidgetInlineCompletions(X)})}const M=this._primaryPosition.read(b),R={triggerKind:y.inlineCompletionTriggerKind,selectedSuggestionInfo:I==null?void 0:I.toSelectedSuggestionInfo()},T=this.selectedInlineCompletion.get(),V=y.preserveCurrentCompletion||T!=null&&T.forwardStable?T:void 0;return this._source.fetch(M,R,V)}),this._filteredInlineCompletionItems=ul({owner:this,equalsFn:l1()},b=>{const y=this._source.inlineCompletions.read(b);if(!y)return[];const w=this._primaryPosition.read(b);return y.inlineCompletions.filter(I=>I.isVisible(this.textModel,w,b))}),this.selectedInlineCompletionIndex=Wn(this,b=>{const y=this._selectedInlineCompletionId.read(b),w=this._filteredInlineCompletionItems.read(b),A=this._selectedInlineCompletionId===void 0?-1:w.findIndex(I=>I.semanticId===y);return A===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):A}),this.selectedInlineCompletion=Wn(this,b=>{const y=this._filteredInlineCompletionItems.read(b),w=this.selectedInlineCompletionIndex.read(b);return y[w]}),this.activeCommands=ul({owner:this,equalsFn:l1()},b=>{var y;return((y=this.selectedInlineCompletion.read(b))==null?void 0:y.inlineCompletion.source.inlineCompletions.commands)??[]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,b=>b==null?void 0:b.request.context.triggerKind),this.inlineCompletionsCount=Wn(this,b=>{if(this.lastTriggerKind.read(b)===_l.Explicit)return this._filteredInlineCompletionItems.read(b).length}),this.state=ul({owner:this,equalsFn:(b,y)=>!b||!y?b===y:hD(b.ghostTexts,y.ghostTexts)&&b.inlineCompletion===y.inlineCompletion&&b.suggestItem===y.suggestItem},b=>{const y=this.textModel,w=this.selectedSuggestItem.read(b);if(w){const A=Wd(w.toSingleTextEdit(),y),I=this._computeAugmentation(A,b);if(!this._suggestPreviewEnabled.read(b)&&!I)return;const R=(I==null?void 0:I.edit)??A,T=I?I.edit.text.length-A.text.length:0,V=this._suggestPreviewMode.read(b),H=this._positions.read(b),X=[R,...FC(this.textModel,H,R)],se=X.map((J,ue)=>mD(J,y,V,H[ue],T)).filter(Yx),he=se[0]??new Qg(R.range.endLineNumber,[]);return{edits:X,primaryGhostText:he,ghostTexts:se,inlineCompletion:I==null?void 0:I.completion,suggestItem:w}}else{if(!this._isActive.read(b))return;const A=this.selectedInlineCompletion.read(b);if(!A)return;const I=A.toSingleTextEdit(b),M=this._inlineSuggestMode.read(b),R=this._positions.read(b),T=[I,...FC(this.textModel,R,I)],V=T.map((H,X)=>mD(H,y,M,R[X],0)).filter(Yx);return V[0]?{edits:T,primaryGhostText:V[0],ghostTexts:V,inlineCompletion:A,suggestItem:void 0}:void 0}}),this.ghostTexts=ul({owner:this,equalsFn:hD},b=>{const y=this.state.read(b);if(y)return y.ghostTexts}),this.primaryGhostText=ul({owner:this,equalsFn:mB},b=>{const y=this.state.read(b);if(y)return y==null?void 0:y.primaryGhostText}),this._register(QA(this._fetchInlineCompletionsPromise));let C;this._register(rs(b=>{var A,I;const y=this.state.read(b),w=y==null?void 0:y.inlineCompletion;if((w==null?void 0:w.semanticId)!==(C==null?void 0:C.semanticId)&&(C=w,w)){const M=w.inlineCompletion,R=M.source;(I=(A=R.provider).handleItemDidShow)==null||I.call(A,R.inlineCompletions,M.sourceInlineCompletion,M.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?ol.Undo:e!=null&&e.isRedoing?ol.Redo:this.isAcceptingPartially?ol.AcceptWord:ol.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){Fm(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){Fm(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(Yx);return W4(s,a=>{let d=a.toSingleTextEdit(t);return d=Wd(d,i,Q.fromPositions(d.range.getStartPosition(),e.range.getEndPosition())),CB(d,e)?{completion:a,edit:d}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){var n;if(e.getModel()!==this.textModel)throw new O0;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",[cs.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=xo.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=LD(s).map(a=>Ui.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>cs.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,_s),i.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,(t,i)=>{const n=this.textModel.getLanguageIdAtPosition(t.lineNumber,t.column),s=this._languageConfigurationService.getLanguageConfiguration(n),r=new RegExp(s.wordDefinition.source,s.wordDefinition.flags.replace("g","")),a=i.match(r);let d=0;a&&a.index!==void 0?a.index===0?d=a[0].length:d=a.index:d=i.length;const f=/\s+/g.exec(i);return f&&f.index!==void 0&&f.index+f[0].length<d&&(d=f.index+f[0].length),d},0)}async acceptNextLine(e){await this._acceptNext(e,(t,i)=>{const n=i.match(/\n/);return n&&n.index!==void 0?n.index+1:i.length},1)}async _acceptNext(e,t,i){if(e.getModel()!==this.textModel)throw new O0;const n=this.state.get();if(!n||n.primaryGhostText.isEmpty()||!n.inlineCompletion)return;const s=n.primaryGhostText,r=n.inlineCompletion.toInlineCompletion(void 0);if(r.snippetInfo||r.filterText!==r.insertText){await this.accept(e);return}const a=s.parts[0],d=new Li(s.lineNumber,a.column),u=a.text,f=t(d,u);if(f===u.length&&s.parts.length===1){this.accept(e);return}const g=u.substring(0,f),p=this._positions.get(),C=p[0];r.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const b=Q.fromPositions(C,d),y=e.getModel().getValueInRange(b)+g,w=new Dl(b,y),A=[w,...FC(this.textModel,p,w)],I=LD(A).map(M=>Ui.fromPositions(M));e.executeEdits("inlineSuggestion.accept",A.map(M=>cs.replace(M.range,M.text))),e.setSelections(I,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const b=Q.fromPositions(r.range.getStartPosition(),Bm.ofText(g).addToPosition(d)),y=e.getModel().getValueInRange(b,1);r.source.provider.handlePartialAccept(r.source.inlineCompletions,r.sourceInlineCompletion,y.length,{kind:i})}}finally{r.source.removeRef()}}handleSuggestAccepted(e){var s,r;const t=Wd(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})}};NE=JO([BC(9,nn),BC(10,zs),BC(11,Vs)],NE);var ol;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(ol||(ol={}));function FC(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(Q.fromPositions(i,r)),d=fD(i,s);if(d.lineNumber<1)return qn(new O0(`positionWithinTextEdit line number should be bigger than 0.
|
|
36
|
-
Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const u=eH(t.text,d);return n.map(f=>{const g=SO(fD(f,s),r),p=o.getValueInRange(Q.fromPositions(f,g)),C=Rp(a,p),b=Q.fromPositions(f,f.delta(0,C));return new Dl(b,u)})}function eH(o,e){let t="";const i=V4(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 LD(o){const e=z4.createSortPermutation(o,Tp(s=>s.range,Q.compareRangesUsingStarts)),i=new jA(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var tH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ID=function(o,e){return function(t,i){e(t,i,o)}},Xf;class K9{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 PD extends K9{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class iH extends K9{constructor(){super("recentlyUsed"),this._cache=new Bp(300,.66),this._seq=0}memorize(e,t,i){const n=`${e.getLanguageId()}/${i.textLabel}`;this._cache.set(n,{touch:this._seq++,type:i.completion.kind,insertText:i.completion.insertText})}select(e,t,i){if(i.length===0)return 0;const n=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(n))return super.select(e,t,i);const s=i[0].score[0];let r=-1,a=-1,d=-1;for(let u=0;u<i.length&&i[u].score[0]===s;u++){const f=`${e.getLanguageId()}/${i[u].textLabel}`,g=this._cache.peek(f);if(g&&g.touch>d&&g.type===i[u].completion.kind&&g.insertText===i[u].completion.insertText&&(d=g.touch,a=u),i[u].completion.preselect&&r===-1)return r=u}return a!==-1?a:r!==-1?r:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();const t=0;for(const[i,n]of e)n.touch=t,n.type=typeof n.type=="number"?n.type:Kw.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class nH extends K9{constructor(){super("recentlyUsedByPrefix"),this._trie=j4.forStrings(),this._seq=0}memorize(e,t,i){const{word:n}=e.getWordUntilPosition(t),s=`${e.getLanguageId()}/${n}`;this._trie.set(s,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:n}=e.getWordUntilPosition(t);if(!n)return super.select(e,t,i);const s=`${e.getLanguageId()}/${n}`;let r=this._trie.get(s);if(r||(r=this._trie.findSubstr(s)),r)for(let a=0;a<i.length;a++){const{kind:d,insertText:u}=i[a].completion;if(d===r.type&&u===r.insertText)return a}return super.select(e,t,i)}toJSON(){const e=[];return this._trie.forEach((t,i)=>e.push([i,t])),e.sort((t,i)=>-(t[1].touch-i[1].touch)).forEach((t,i)=>t[1].touch=i),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type=typeof i.type=="number"?i.type:Kw.fromString(i.type),this._trie.set(t,i)}}}var Bc;let OE=(Bc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new Tt,this._persistSoon=new Ps(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===Ow.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=Xf._strategyCtors.get(i)||PD;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,d=this._storageService.get(`${Xf._storagePrefix}/${i}`,a);d&&this._strategy.fromJSON(JSON.parse(d))}catch{}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${Xf._storagePrefix}/${this._strategy.name}`,i,t,1)}}},Xf=Bc,Bc._strategyCtors=new Map([["recentlyUsedByPrefix",nH],["recentlyUsed",iH],["first",PD]]),Bc._storagePrefix="suggest/memories",Bc);OE=Xf=tH([ID(0,Gc),ID(1,ss)],OE);const Db=Ml("ISuggestMemories");Rl(Db,OE,1);var sH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},oH=function(o,e){return function(t,i){e(t,i,o)}},HE,au;let pv=(au=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=HE.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)}},HE=au,au.AtEnd=new En("atEndOfWord",!1),au);pv=HE=sH([oH(1,Fn)],pv);var rH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},aH=function(o,e){return function(t,i){e(t,i,o)}},Yf,lu;let ef=(lu=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=Yf.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(Yf._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=Yf._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},Yf=lu,lu.OtherSuggestions=new En("hasOtherSuggestions",!1),lu);ef=Yf=rH([aH(1,Fn)],ef);class lH{constructor(e,t,i,n){this._disposables=new Tt,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||!Xo(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new km;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 or=class or{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>or._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>or._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>=or._maxRounds){e();break}if(!n){e();break}const d=i.bracketPairs.findNextBracket(n);if(!d){e();break}if(Date.now()-a>or._maxDuration){setTimeout(()=>or._bracketsRightYield(e,t+1,i,n,s));break}if(d.bracketInfo.isOpeningBracket){const f=d.bracketInfo.bracketText,g=r.has(f)?r.get(f):0;r.set(f,g+1)}else{const f=d.bracketInfo.getOpeningBrackets()[0].bracketText;let g=r.has(f)?r.get(f):0;if(g-=1,r.set(f,Math.max(0,g)),g<0){let p=s.get(f);p||(p=new JA,s.set(f,p)),p.push(d.range)}}n=d.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,n,s,r){const a=new Map,d=Date.now();for(;;){if(t>=or._maxRounds&&s.size===0){e();break}if(!n){e();break}const u=i.bracketPairs.findPrevBracket(n);if(!u){e();break}if(Date.now()-d>or._maxDuration){setTimeout(()=>or._bracketsLeftYield(e,t+1,i,n,s,r));break}if(u.bracketInfo.isOpeningBracket){const g=u.bracketInfo.bracketText;let p=a.has(g)?a.get(g):0;if(p-=1,a.set(g,Math.max(0,p)),p<0){const C=s.get(g);if(C){const b=C.shift();C.size===0&&s.delete(g);const y=Q.fromPositions(u.range.getEndPosition(),b.getStartPosition()),w=Q.fromPositions(u.range.getStartPosition(),b.getEndPosition());r.push({range:y}),r.push({range:w}),or._addBracketLeading(i,w,r)}}}else{const g=u.bracketInfo.getOpeningBrackets()[0].bracketText,p=a.has(g)?a.get(g):0;a.set(g,p+1)}n=u.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const n=t.startLineNumber,s=e.getLineFirstNonWhitespaceColumn(n);s!==0&&s!==t.startColumn&&(i.push({range:Q.fromPositions(new Li(n,s),t.getEndPosition())}),i.push({range:Q.fromPositions(new Li(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:Q.fromPositions(new Li(r,a),t.getEndPosition())}),i.push({range:Q.fromPositions(new Li(r,1),t.getEndPosition())}))}}};or._maxDuration=30,or._maxRounds=2;let xv=or;const Aa=class Aa{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return Aa.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return Aa.None;const[s]=await new xv().provideSelectionRanges(i,[n]);if(s.length===0)return Aa.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return Aa.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends Aa{distance(d,u){if(!n.equals(t.getPosition()))return 0;if(u.kind===17)return 2<<20;const f=typeof u.label=="string"?u.label:u.label.label,g=r[f];if($4(g))return 2<<20;const p=Lm(g,Q.fromPositions(d),Q.compareRangesUsingStarts),C=p>=0?g[p]:g[Math.max(0,~p-1)];let b=s.length;for(const y of s){if(!Q.containsRange(y.range,C))break;b-=1}return b}}}};Aa.None=new class extends Aa{distance(){return 0}};let mv=Aa,TD=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class oc{constructor(e,t,i,n,s,r,a=ek.default,d=void 0){this.clipboardText=d,this._snippetCompareFn=oc._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=oc._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=oc._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){(this._lineContext.leadingLineContent!==e.leadingLineContent||this._lineContext.characterCountDelta!==e.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta<e.characterCountDelta&&this._filteredItems?2:1,this._lineContext=e)}get items(){return this._ensureCachedState(),this._filteredItems}getItemsByProvider(){return this._ensureCachedState(),this._itemsByProvider}getIncompleteProvider(){this._ensureCachedState();const e=new Set;for(const[t,i]of this.getItemsByProvider())i.length>0&&i[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:i}=this._lineContext;let n="",s="";const r=this._refilterKind===1?this._items:this._filteredItems,a=[],d=!this._options.filterGraceful||r.length>2e3?tk:U4;for(let u=0;u<r.length;u++){const f=r[u];if(f.isInvalid)continue;const g=this._itemsByProvider.get(f.provider);g?g.push(f):this._itemsByProvider.set(f.provider,[f]);const p=f.position.column-f.editStart.column,C=p+i-(f.position.column-this._column);if(n.length!==C&&(n=C===0?"":t.slice(-C),s=n.toLowerCase()),f.word=n,C===0)f.score=Mg.Default;else{let b=0;for(;b<p;){const y=n.charCodeAt(b);if(y===32||y===9)b+=1;else break}if(b>=C)f.score=Mg.Default;else if(typeof f.completion.filterText=="string"){const y=d(n,s,b,f.completion.filterText,f.filterTextLow,0,this._fuzzyScoreOptions);if(!y)continue;q4(f.completion.filterText,f.textLabel)===0?f.score=y:(f.score=G4(n,s,b,f.textLabel,f.labelLow,0),f.score[0]=y[0])}else{const y=d(n,s,b,f.textLabel,f.labelLow,0,this._fuzzyScoreOptions);if(!y)continue;f.score=y}}f.idx=u,f.distance=this._wordDistance.distance(f.position,f.completion),a.push(f),e.push(f.textLabel.length)}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?K4(e.length-.85,e,(u,f)=>u-f):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]<t.score[0]?1:e.distance<t.distance?-1:e.distance>t.distance?1:e.idx<t.idx?-1:e.idx>t.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return 1;if(t.completion.kind===27)return-1}return oc._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 oc._compareCompletionItems(e,t)}}var cH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Xl=function(o,e){return function(t,i){e(t,i,o)}},WE;class hd{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 dH(o,e,t){if(!e.getContextKeyValue(No.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(No.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function uH(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(No.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let vv=WE=class{constructor(e,t,i,n,s,r,a,d,u){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=n,this._logService=s,this._contextKeyService=r,this._configurationService=a,this._languageFeaturesService=d,this._envService=u,this._toDispose=new Tt,this._triggerCharacterListener=new Tt,this._triggerQuickSuggest=new Dp,this._triggerState=void 0,this._completionDisposables=new Tt,this._onDidCancel=new rn,this._onDidTrigger=new rn,this._onDidSuggest=new rn,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Ui(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let f=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{f=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{f=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(g=>{f||this._onCursorChange(g)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!f&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){uo(this._triggerCharacterListener),uo([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(!uH(this._editor,this._contextKeyService,this._configurationService)||hd.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="";X4(i.charCodeAt(i.length-1))?Y4(i.charCodeAt(i.length-2))&&(n=i.substr(i.length-2)):n=i.charAt(i.length-1);const s=e.get(n);if(s){const a=new Map;if(this._completionModel)for(const[d,u]of this._completionModel.getItemsByProvider())s.has(d)||a.set(d,u);this.trigger({auto:!0,triggerKind:1,triggerCharacter:n,retrigger:!!this._completionModel,clipboardText:(r=this._completionModel)==null?void 0:r.clipboardText,completionOptions:{providerFilter:s,providerItemsToReuse:a}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){var t;this._triggerState!==void 0&&(this._triggerQuickSuggest.cancel(),(t=this._requestToken)==null||t.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!=="keyboard"&&e.source!=="deleteLeft"){this.cancel();return}this._triggerState===void 0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var e;Xh.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=xo.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!hd.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(!Xh.isAllOff(n)){if(!Xh.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(Xh.valueFor(n,r)!=="on")return}dH(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){Ln(this._editor.hasModel()),Ln(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new hd(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var p,C,b;if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new hd(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 qs;const s=this._editor.getOption(113);let r=1;switch(s){case"top":r=0;break;case"bottom":r=2;break}const{itemKind:a,showDeprecated:d}=WE.createSuggestFilter(this._editor),u=new Jg(r,((p=e.completionOptions)==null?void 0:p.kindFilter)??a,(C=e.completionOptions)==null?void 0:C.providerFilter,(b=e.completionOptions)==null?void 0:b.providerItemsToReuse,d),f=mv.create(this._editorWorkerService,this._editor),g=q9(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),u,n,this._requestToken.token);Promise.all([g,f]).then(async([y,w])=>{var T;if((T=this._requestToken)==null||T.dispose(),!this._editor.hasModel())return;let A=e==null?void 0:e.clipboardText;if(!A&&y.needsClipboard&&(A=await this._clipboardService.readText()),this._triggerState===void 0)return;const I=this._editor.getModel(),M=new hd(I,this._editor.getPosition(),e),R={...ek.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new oc(y.items,this._context.column,{leadingLineContent:M.leadingLineContent,characterCountDelta:M.column-this._context.column},w,this._editor.getOption(119),this._editor.getOption(113),R,A),this._completionDisposables.add(y.disposable),this._onNewContext(M),this._reportDurationsTelemetry(y.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const V of y.items)V.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${V.provider._debugDisplayName}`,V.completion)}).catch(qn)}_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(eo(e.leadingLineContent)!==eo(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(hd.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=hd.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})}}}}};vv=WE=cH([Xl(1,Nl),Xl(2,lf),Xl(3,ua),Xl(4,Yu),Xl(5,Fn),Xl(6,ss),Xl(7,Ii),Xl(8,Z4)],vv);const c_=class c_{constructor(e,t){this._disposables=new Tt,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType(()=>{if(this._locked||!e.hasModel())return;const i=e.getSelections(),n=i.length;let s=!1;for(let a=0;a<n;a++)if(!i[a].isEmpty()){s=!0;break}if(!s){this._lastOvertyped.length!==0&&(this._lastOvertyped.length=0);return}this._lastOvertyped=[];const r=e.getModel();for(let a=0;a<n;a++){const d=i[a];if(r.getValueLengthInRange(d)>c_._maxSelectionLength)return;this._lastOvertyped[a]={value:r.getValueInRange(d),multiline:d.startLineNumber!==d.endLineNumber}}})),this._disposables.add(t.onDidTrigger(i=>{this._locked=!0})),this._disposables.add(t.onDidCancel(i=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e<this._lastOvertyped.length)return this._lastOvertyped[e]}dispose(){this._disposables.dispose()}};c_._maxSelectionLength=51200;let zE=c_;var hH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},LC=function(o,e){return function(t,i){e(t,i,o)}};let VE=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new Tt,this.element=ui(e,mi(".suggest-status-bar"));const r=(a=>a instanceof N0?i.createInstance(Q4,a,{useComma:!0}):void 0);this._leftActions=new Bg(this.element,{actionViewItemProvider:r}),this._rightActions=new Bg(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()}};VE=hH([LC(2,nn),LC(3,Zu),LC(4,Fn)],VE);var fH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},gH=function(o,e){return function(t,i){e(t,i,o)}};function Z9(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let jE=class{constructor(e,t){this._editor=e,this._onDidClose=new rn,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new rn,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new Tt,this._renderDisposeable=new Tt,this._borderWidth=1,this._size=new Zn(330,0),this.domNode=mi(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(uf,{editor:e}),this._body=mi(".body"),this._scrollbar=new ik(this._body,{alwaysConsumeMouseWheel:!0}),ui(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=ui(this._body,mi(".header")),this._close=ui(this._header,mi("span"+Mn.asCSSSelector(Zi.close))),this._close.title=S("details.close","Close"),this._type=ui(this._header,mi("p.type")),this._docs=ui(this._body,mi("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(50)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(50),i=t.getMassagedFontFamily(),n=e.get(120)||t.fontSize,s=e.get(121)||t.lineHeight,r=t.fontWeight,a=`${n}px`,d=`${s}px`;this.domNode.style.fontSize=a,this.domNode.style.lineHeight=`${s/n}`,this.domNode.style.fontWeight=r,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=d,this._close.style.width=d}getLayoutInfo(){const e=this._editor.getOption(121)||this._editor.getOption(50).lineHeight,t=this._borderWidth,i=t*2;return{lineHeight:e,borderWidth:t,borderHeight:i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=S("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(e,t){var s;this._renderDisposeable.clear();let{detail:i,documentation:n}=e.completion;if(t){let r="";r+=`score: ${e.score[0]}
|
|
37
|
-
`,r+=`prefix: ${e.word??"(no prefix)"}
|
|
38
|
-
`,r+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel}
|
|
39
|
-
`,r+=`distance: ${e.distance} (localityBonus-setting)
|
|
40
|
-
`,r+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"}
|
|
41
|
-
`,r+=`commit_chars: ${(s=e.completion.commitCharacters)==null?void 0:s.join("")}
|
|
42
|
-
`,n=new lo().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!Z9(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,Lr(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else Wa(this._type),this._type.title="",Uo(this._type),this.domNode.classList.add("no-type");if(Wa(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),Wa(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 Zn(e,t);Zn.equals(i,this._size)||(this._size=i,J4(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}};jE=fH([gH(1,nn)],jE);class pH{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new Tt,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new k9,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let i,n,s=0,r=0;this._disposables.add(this._resizable.onDidWillResize(()=>{i=this._topLeft,n=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(a=>{if(i&&n){this.widget.layout(a.dimension.width,a.dimension.height);let d=!1;a.west&&(r=n.width-a.dimension.width,d=!0),a.north&&(s=n.height-a.dimension.height,d=!0),d&&this._applyTopLeft({top:i.top+s,left:i.left+r})}a.done&&(i=void 0,n=void 0,s=0,r=0,this._userSize=a.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{this._anchorBox&&this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||(this._editor.addOverlayWidget(this),this._added=!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){const i=e.getBoundingClientRect();this._anchorBox=i,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,t)}_placeAtAnchor(e,t,i){const n=Ip(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new Zn(220,2*s.lineHeight),a=e.top,d=(function(){const T=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),V=-s.borderWidth+e.left+e.width,H=new Zn(T,n.height-e.top-s.borderHeight-s.verticalPadding),X=H.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:V,fit:T-t.width,maxSizeTop:H,maxSizeBottom:X,minSize:r.with(Math.min(T,r.width))}})(),u=(function(){const T=e.left-s.borderWidth-s.horizontalPadding,V=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),H=new Zn(T,n.height-e.top-s.borderHeight-s.verticalPadding),X=H.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:V,fit:T-t.width,maxSizeTop:H,maxSizeBottom:X,minSize:r.with(Math.min(T,r.width))}})(),f=(function(){const T=e.left,V=-s.borderWidth+e.top+e.height,H=new Zn(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:V,left:T,fit:H.height-t.height,maxSizeBottom:H,maxSizeTop:H,minSize:r.with(H.width)}})(),g=[d,u,f],p=g.find(T=>T.fit>=0)??g.sort((T,V)=>V.fit-T.fit)[0],C=e.top+e.height-s.borderHeight;let b,y=t.height;const w=Math.max(p.maxSizeTop.height,p.maxSizeBottom.height);y>w&&(y=w);let A;i?y<=p.maxSizeTop.height?(b=!0,A=p.maxSizeTop):(b=!1,A=p.maxSizeBottom):y<=p.maxSizeBottom.height?(b=!1,A=p.maxSizeBottom):(b=!0,A=p.maxSizeTop);let{top:I,left:M}=p;!b&&y>e.height&&(I=C-y);const R=this._editor.getDomNode();if(R){const T=R.getBoundingClientRect();I-=T.top,M-=T.left}this._applyTopLeft({left:M,top:I}),this._resizable.enableSashes(!b,p===d,b,p!==d),this._resizable.minSize=p.minSize,this._resizable.maxSize=A,this._resizable.layout(y,Math.min(A.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var Oa;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(Oa||(Oa={}));const xH=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Px(o,e,t,i,n){if(Mn.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(jn.isUri(n))return[];const s=i===Oa.ROOT_FOLDER?["rootfolder-icon"]:i===Oa.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===Co.data)r=Im.parseMetaData(t).get(Im.META_DATA_LABEL);else{const a=t.path.match(xH);a?(r=Tx(a[2].toLowerCase()),a[1]&&s.push(`${Tx(a[1].toLowerCase())}-name-dir-icon`)):r=Tx(t.authority.toLowerCase())}if(i===Oa.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===Oa.FOLDER)s.push(`${r}-name-folder-icon`);else{if(r){if(s.push(`${r}-name-file-icon`),s.push("name-file-icon"),r.length<=255){const d=r.split(".");for(let u=1;u<d.length;u++)s.push(`${d.slice(u).join(".")}-ext-file-icon`)}s.push("ext-file-icon")}const a=mH(o,e,t);a&&s.push(`${Tx(a)}-lang-file-icon`)}}return s}function mH(o,e,t){if(!t)return null;let i=null;if(t.scheme===Co.data){const s=Im.parseMetaData(t).get(Im.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==Rg?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function Tx(o){return o.replace(/[\s]/g,"/")}var vH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},IC=function(o,e){return function(t,i){e(t,i,o)}};function EB(o){return`suggest-aria-id:${o}`}const _H=ms("suggest-more-info",Zi.chevronRight,S("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var ta;const bH=new(ta=class{extract(e,t){if(e.textLabel.match(ta._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(ta._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=ta._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},ta._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*\))/,ta._regexStrict=new RegExp(`^${ta._regexRelaxed.source}$`,"i"),ta);let $E=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new rn,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new Tt,i=e;i.classList.add("show-file-icons");const n=ui(e,mi(".icon")),s=ui(n,mi("span.colorspan")),r=ui(e,mi(".contents")),a=ui(r,mi(".main")),d=ui(a,mi(".icon-label.codicon")),u=ui(a,mi("span.left")),f=ui(a,mi("span.right")),g=new CA(u,{supportHighlights:!0,supportIcons:!0});t.add(g);const p=ui(u,mi("span.signature-label")),C=ui(u,mi("span.qualifier-label")),b=ui(f,mi("span.details-label")),y=ui(f,mi("span.readMore"+Mn.asCSSSelector(_H)));return y.title=S("readMore","Read More"),{root:i,left:u,right:f,icon:n,colorspan:s,iconLabel:g,iconContainer:d,parametersLabel:p,qualifierLabel:C,detailsLabel:b,readMore:y,disposables:t,configureFont:()=>{const A=this._editor.getOptions(),I=A.get(50),M=I.getMassagedFontFamily(),R=I.fontFeatureSettings,T=A.get(120)||I.fontSize,V=A.get(121)||I.lineHeight,H=I.fontWeight,X=I.letterSpacing,se=`${T}px`,he=`${V}px`,J=`${X}px`;i.style.fontSize=se,i.style.fontWeight=H,i.style.letterSpacing=J,a.style.fontFamily=M,a.style.fontFeatureSettings=R,a.style.lineHeight=he,n.style.height=he,n.style.width=he,y.style.height=he,y.style.width=he}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=EB(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:X_(e.score)},r=[];if(n.kind===19&&bH.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=Px(this._modelService,this._languageService,jn.from({scheme:"fake",path:e.textLabel}),Oa.FILE),d=Px(this._modelService,this._languageService,jn.from({scheme:"fake",path:n.detail}),Oa.FILE);s.extraClasses=a.length>d.length?a:d}else n.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",s.extraClasses=[Px(this._modelService,this._languageService,jn.from({scheme:"fake",path:e.textLabel}),Oa.FOLDER),Px(this._modelService,this._languageService,jn.from({scheme:"fake",path:n.detail}),Oa.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...Mn.asClassNameArray(Kw.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=PC(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=PC(n.label.detail||""),i.detailsLabel.textContent=PC(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?Lr(i.detailsLabel):Uo(i.detailsLabel),Z9(e)?(i.right.classList.add("can-expand-details"),Lr(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"),Uo(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};$E=vH([IC(1,vo),IC(2,ha),IC(3,Wr)],$E);function PC(o){return o.replace(/\r\n|\r|\n/g,"")}var CH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Mx=function(o,e){return function(t,i){e(t,i,o)}},Wh;vi("editorSuggestWidget.background",nk,S("editorSuggestWidgetBackground","Background color of the suggest widget."));vi("editorSuggestWidget.border",eL,S("editorSuggestWidgetBorder","Border color of the suggest widget."));const EH=vi("editorSuggestWidget.foreground",Mp,S("editorSuggestWidgetForeground","Foreground color of the suggest widget."));vi("editorSuggestWidget.selectedForeground",sk,S("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));vi("editorSuggestWidget.selectedIconForeground",tL,S("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const yH=vi("editorSuggestWidget.selectedBackground",ok,S("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));vi("editorSuggestWidget.highlightForeground",rk,S("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));vi("editorSuggestWidget.focusHighlightForeground",iL,S("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));vi("editorSuggestWidgetStatus.foreground",za(EH,.5),S("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class wH{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Hr}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(Zn.is(t))return Zn.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}var Fc;let UE=(Fc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Jo,this._pendingShowDetails=new Jo,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Dp,this._disposables=new Tt,this._onDidSelect=new KS,this._onDidFocus=new KS,this._onDidHide=new rn,this._onDidShow=new rn,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new rn,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new k9,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new SH(this,e),this._persistedSize=new wH(t,e);class r{constructor(C,b,y=!1,w=!1){this.persistedSize=C,this.currentSize=b,this.persistHeight=y,this.persistWidth=w}}let a;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),a=new r(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(p=>{var C,b;if(this._resize(p.dimension.width,p.dimension.height),a&&(a.persistHeight=a.persistHeight||!!p.north||!!p.south,a.persistWidth=a.persistWidth||!!p.east||!!p.west),!!p.done){if(a){const{itemHeight:y,defaultSize:w}=this.getLayoutInfo(),A=Math.round(y/2);let{width:I,height:M}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-M)<=A)&&(M=((C=a.persistedSize)==null?void 0:C.height)??w.height),(!a.persistWidth||Math.abs(a.currentSize.width-I)<=A)&&(I=((b=a.persistedSize)==null?void 0:b.width)??w.width),this._persistedSize.store(new Zn(I,M))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=ui(this.element.domNode,mi(".message")),this._listElement=ui(this.element.domNode,mi(".tree"));const d=this._disposables.add(s.createInstance(jE,this.editor));d.onDidClose(this.toggleDetails,this,this._disposables),this._details=new pH(d,this.editor);const u=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);u();const f=s.createInstance($E,this.editor);this._disposables.add(f),this._disposables.add(f.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Mw("SuggestWidget",this._listElement,{getHeight:p=>this.getLayoutInfo().itemHeight,getTemplateId:p=>"suggestion"},[f],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>S("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:p=>{let C=p.textLabel;if(typeof p.completion.label!="string"){const{detail:A,description:I}=p.completion.label;A&&I?C=S("label.full","{0} {1}, {2}",C,A,I):A?C=S("label.detail","{0} {1}",C,A):I&&(C=S("label.desc","{0}, {1}",C,I))}if(!p.isResolved||!this._isDetailsVisible())return C;const{documentation:b,detail:y}=p.completion,w=qw("{0}{1}",y||"",b?typeof b=="string"?b:b.value:"");return S("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",C,w)}}}),this._list.style(ak({listInactiveFocusBackground:yH,listInactiveFocusOutline:Bu})),this._status=s.createInstance(VE,this.element.domNode,bc);const g=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(119).showStatusBar);g(),this._disposables.add(n.onDidColorThemeChange(p=>this._onThemeChange(p))),this._onThemeChange(n.getColorTheme()),this._disposables.add(this._list.onMouseDown(p=>this._onListMouseDownOrTap(p))),this._disposables.add(this._list.onTap(p=>this._onListMouseDownOrTap(p))),this._disposables.add(this._list.onDidChangeSelection(p=>this._onListSelection(p))),this._disposables.add(this._list.onDidChangeFocus(p=>this._onListFocus(p))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(p=>{p.hasChanged(119)&&(g(),u()),this._completionModel&&(p.hasChanged(50)||p.hasChanged(120)||p.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=Ki.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Ki.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Ki.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Ki.HasFocusedSuggestion.bindTo(i),this._disposables.add(Sl(this._details.widget.domNode,"keydown",p=>{this._onDetailsKeydown.fire(p)})),this._disposables.add(this.editor.onMouseDown(p=>this._onEditorMouseDown(p)))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(e=this._loadingTimeout)==null||e.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(e){typeof e.element>"u"||typeof e.index>"u"||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=Fg(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=Us(async s=>{const r=kg(()=>{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:EB(i)}))}).catch(qn)),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:Uo(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=Wh.LOADING_MESSAGE,Uo(this._listElement,this._status.element),Lr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,P0(Wh.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=Wh.NO_SUGGESTIONS_MESSAGE,Uo(this._listElement,this._status.element),Lr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,P0(Wh.NO_SUGGESTIONS_MESSAGE);break;case 3:Uo(this._messageElement),Lr(this._listElement,this._status.element),this._show();break;case 4:Uo(this._messageElement),Lr(this._listElement,this._status.element),this._show();break;case 5:Uo(this._messageElement),Lr(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=kg(()=>this._setState(1),t)))}showSuggestions(e,t,i,n,s){var d,u;if(this._contentWidget.setPosition(this.editor.getPosition()),(d=this._loadingTimeout)==null||d.dispose(),(u=this._currentSuggestionDetails)==null||u.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&this._state!==2&&this._state!==0){this._setState(4);return}const r=this._completionModel.items.length,a=r===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(r>1),a){this._setState(n?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus(s?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=ZS(Id(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")):(Z9(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=ZS(Id(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=Ip(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 Zn(s,n),this._contentWidget.setPreference(2);else{const d=t.width-i.borderHeight-2*i.horizontalPadding;s>d&&(s=d);const u=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:s,f=i.statusBarHeight+this._list.contentHeight+i.borderHeight,g=i.itemHeight+i.statusBarHeight,p=yo(this.editor.getDomNode()),C=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),b=p.top+C.top+C.height,y=Math.min(t.height-b-i.verticalPadding,f),w=p.top+C.top-i.verticalPadding,A=Math.min(w,f);let I=Math.min(Math.max(A,y)+i.borderHeight,f);n===((r=this._cappedHeight)==null?void 0:r.capped)&&(n=this._cappedHeight.wanted),n<g&&(n=g),n>I&&(n=I),n>y||this._forceRenderingAbove&&w>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),I=A):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),I=y),this.element.preferredSize=new Zn(u,i.defaultSize.height),this.element.maxSize=new Zn(d,I),this.element.minSize=new Zn(220,g),this._cappedHeight=n===f?{wanted:((a=this._cappedHeight)==null?void 0:a.wanted)??e.height,capped:n}:void 0}this._resize(s,n)}_resize(e,t){const{width:i,height:n}=this.element.maxSize;e=Math.min(i,e),t=Math.min(n,t);const{statusBarHeight:s}=this.getLayoutInfo();this._list.layout(t-s,e),this._listElement.style.height=`${t-s}px`,this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var e;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,((e=this._contentWidget.getPosition())==null?void 0:e.preference[0])===2)}getLayoutInfo(){const e=this.editor.getOption(50),t=nL(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 Zn(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}},Wh=Fc,Fc.LOADING_MESSAGE=S("suggestWidget.loading","Loading..."),Fc.NO_SUGGESTIONS_MESSAGE=S("suggestWidget.noSuggestions","No suggestions."),Fc);UE=Wh=CH([Mx(1,Gc),Mx(2,Fn),Mx(3,Wr),Mx(4,nn)],UE);class SH{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 Zn(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 DH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ah=function(o,e){return function(t,i){e(t,i,o)}},qE;class AH{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=mn.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(Q.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 cu;let Pr=(cu=class{static get(e){return e.getContribution(qE.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 Jo,this._toDispose=new Tt,this._selectors=new kH(g=>g.priority),this._onWillInsertSuggestItem=new rn,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(vv,this.editor),this._selectors.register({priority:0,select:(g,p,C)=>this._memoryService.select(g,p,C)});const d=Ki.InsertMode.bindTo(n);d.set(e.getOption(119).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>d.set(e.getOption(119).insertMode))),this.widget=this._toDispose.add(new iC(Id(e.getDomNode()),()=>{const g=this._instantiationService.createInstance(UE,this.editor);this._toDispose.add(g),this._toDispose.add(g.onDidSelect(w=>this._insertSuggestion(w,0),this));const p=new lH(this.editor,g,this.model,w=>this._insertSuggestion(w,2));this._toDispose.add(p);const C=Ki.MakesTextEdit.bindTo(this._contextKeyService),b=Ki.HasInsertAndReplaceRange.bindTo(this._contextKeyService),y=Ki.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(is(()=>{C.reset(),b.reset(),y.reset()})),this._toDispose.add(g.onDidFocus(({item:w})=>{const A=this.editor.getPosition(),I=w.editStart.column,M=A.column;let R=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!w.completion.additionalTextEdits&&!(w.completion.insertTextRules&4)&&M-I===w.completion.insertText.length&&(R=this.editor.getModel().getValueInRange({startLineNumber:A.lineNumber,startColumn:I,endLineNumber:A.lineNumber,endColumn:M})!==w.completion.insertText),C.set(R),b.set(!Li.equals(w.editInsertEnd,w.editReplaceEnd)),y.set(!!w.provider.resolveCompletionItem||!!w.completion.documentation||w.completion.detail!==w.completion.label)})),this._toDispose.add(g.onDetailsKeyDown(w=>{if(w.toKeyCodeChord().equals(new XS(!0,!1,!1,!1,33))||$a&&w.toKeyCodeChord().equals(new XS(!1,!1,!1,!0,33))){w.stopPropagation();return}w.toKeyCodeChord().isModifierKey()||this.editor.focus()})),g})),this._overtypingCapturer=this._toDispose.add(new iC(Id(e.getDomNode()),()=>this._toDispose.add(new zE(this.editor,this.model)))),this._alternatives=this._toDispose.add(new iC(Id(e.getDomNode()),()=>this._toDispose.add(new ef(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(pv,e)),this._toDispose.add(this.model.onDidTrigger(g=>{this.widget.value.showTriggered(g.auto,g.shy?250:50),this._lineSuffix.value=new AH(this.editor.getModel(),g.position)})),this._toDispose.add(this.model.onDidSuggest(g=>{if(g.triggerOptions.shy)return;let p=-1;for(const b of this._selectors.itemsOrderedByPriorityDesc)if(p=b.select(this.editor.getModel(),this.editor.getPosition(),g.completionModel.items),p!==-1)break;if(p===-1&&(p=0),this.model.state===0)return;let C=!1;if(g.triggerOptions.auto){const b=this.editor.getOption(119);b.selectionMode==="never"||b.selectionMode==="always"?C=b.selectionMode==="never":b.selectionMode==="whenTriggerCharacter"?C=g.triggerOptions.triggerKind!==1:b.selectionMode==="whenQuickSuggestion"&&(C=g.triggerOptions.triggerKind===1&&!g.triggerOptions.refilter)}this.widget.value.showSuggestions(g.completionModel,p,g.isFrozen,g.triggerOptions.auto,C)})),this._toDispose.add(this.model.onDidCancel(g=>{g.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const u=Ki.AcceptSuggestionsOnEnter.bindTo(n),f=()=>{const g=this.editor.getOption(1);u.set(g==="on"||g==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>f())),f()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const i=xo.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const n=this.editor.getModel(),s=n.getAlternativeVersionId(),{item:r}=e,a=[],d=new qs;t&1||this.editor.pushUndoStop();const u=this.getOverwriteInfo(r,!!(t&8));this._memoryService.memorize(n,this.editor.getPosition(),r);const f=r.isResolved;let g=-1,p=-1;if(Array.isArray(r.completion.additionalTextEdits)){this.model.cancel();const b=T0.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(y=>{let w=Q.lift(y.range);if(w.startLineNumber===r.position.lineNumber&&w.startColumn>r.position.column){const A=this.editor.getPosition().column-r.position.column,I=A,M=Q.spansMultipleLines(w)?0:A;w=new Q(w.startLineNumber,w.startColumn+I,w.endLineNumber,w.endColumn+M)}return cs.replaceMove(w,y.text)})),b.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!f){const b=new Oo;let y;const w=n.onDidChangeContent(R=>{if(R.isFlush){d.cancel(),w.dispose();return}for(const T of R.changes){const V=Q.getEndPosition(T.range);(!y||Li.isBefore(V,y))&&(y=V)}}),A=t;t|=2;let I=!1;const M=this.editor.onWillType(()=>{M.dispose(),I=!0,A&2||this.editor.pushUndoStop()});a.push(r.resolve(d.token).then(()=>{if(!r.completion.additionalTextEdits||d.token.isCancellationRequested)return;if(y&&r.completion.additionalTextEdits.some(T=>Li.isBefore(y,Q.getStartPosition(T.range))))return!1;I&&this.editor.pushUndoStop();const R=T0.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(T=>cs.replaceMove(Q.lift(T.range),T.text))),R.restoreRelativeVerticalPositionOfCursor(this.editor),(I||!(A&2))&&this.editor.pushUndoStop(),!0}).then(R=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",b.elapsed(),R),p=R===!0?1:R===!1?0:-2}).finally(()=>{w.dispose(),M.dispose()}))}let{insertText:C}=r.completion;if(r.completion.insertTextRules&4||(C=Nu.escape(C)),this.model.cancel(),i.insert(C,{overwriteBefore:u.overwriteBefore,overwriteAfter:u.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(r.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),t&2||this.editor.pushUndoStop(),r.completion.command)if(r.completion.command.id===_v.id)this.model.trigger({auto:!0,retrigger:!0});else{const b=new Oo;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(y=>{r.completion.extensionId?_s(y):qn(y)}).finally(()=>{g=b.elapsed()}))}t&4&&this._alternatives.value.set(e,b=>{for(d.cancel();n.canUndo();){s!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(b,3|(t&8?8:0));break}}),this._alertCompletionItem(r),Promise.all(a).finally(()=>{this._reportSuggestionAcceptedTelemetry(r,n,f,g,p,e.index,e.model.items),this.model.clear(),d.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,n,s,r,a){var p;if(Math.floor(Math.random()*100)===0)return;const d=new Map;for(let C=0;C<Math.min(30,a.length);C++){const b=a[C].textLabel;d.has(b)?d.get(b).push(C):d.set(b,[C])}const u=d.get(e.textLabel),g=u&&u.length>1?u[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:((p=e.extensionId)==null?void 0:p.value)??"unknown",providerId:e.provider._debugDisplayName??"unknown",kind:e.completion.kind,basenameHash:NA(Ua(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:sL(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:g})}getOverwriteInfo(e,t){Ln(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(Xo(e.completion.additionalTextEdits)){const t=S("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);Nr(t)}}triggerSuggest(e,t,i){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:i?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},n=s=>{if(s.completion.insertTextRules&4||s.completion.additionalTextEdits)return!0;const r=this.editor.getPosition(),a=s.editStart.column,d=r.column;return d-a!==s.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:r.lineNumber,startColumn:a,endLineNumber:r.lineNumber,endColumn:d})!==s.completion.insertText};Is.once(this.model.onDidTrigger)(s=>{const r=[];Is.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{uo(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(uo(r),a.items.length===0){i();return}const d=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),a.items),u=a.items[d];if(!n(u)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:d,item:u,model:a},7)},void 0,r)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let n=0;e&&(n|=4),t&&(n|=8),this._insertSuggestion(i,n)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}},qE=cu,cu.ID="editor.contrib.suggestController",cu);Pr=qE=DH([Ah(1,Db),Ah(2,zs),Ah(3,Fn),Ah(4,nn),Ah(5,Yu),Ah(6,ua)],Pr);class kH{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 d_=class d_ extends _t{constructor(){super({id:d_.id,label:S("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:qe.and(q.writable,q.hasCompletionItemProvider,Ki.Visible.toNegated()),kbOpts:{kbExpr:q.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=Pr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};d_.id="editor.action.triggerSuggest";let _v=d_;un(Pr.ID,Pr,2);Fe(_v);const er=190,_o=Ao.bindToContribution(Pr.get);Mi(new _o({id:"acceptSelectedSuggestion",precondition:qe.and(Ki.Visible,Ki.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:qe.and(Ki.Visible,q.textInputFocus),weight:er},{primary:3,kbExpr:qe.and(Ki.Visible,q.textInputFocus,Ki.AcceptSuggestionsOnEnter,Ki.MakesTextEdit),weight:er}],menuOpts:[{menuId:bc,title:S("accept.insert","Insert"),group:"left",order:1,when:Ki.HasInsertAndReplaceRange.toNegated()},{menuId:bc,title:S("accept.insert","Insert"),group:"left",order:1,when:qe.and(Ki.HasInsertAndReplaceRange,Ki.InsertMode.isEqualTo("insert"))},{menuId:bc,title:S("accept.replace","Replace"),group:"left",order:1,when:qe.and(Ki.HasInsertAndReplaceRange,Ki.InsertMode.isEqualTo("replace"))}]}));Mi(new _o({id:"acceptAlternativeSelectedSuggestion",precondition:qe.and(Ki.Visible,q.textInputFocus,Ki.HasFocusedSuggestion),kbOpts:{weight:er,kbExpr:q.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:bc,group:"left",order:2,when:qe.and(Ki.HasInsertAndReplaceRange,Ki.InsertMode.isEqualTo("insert")),title:S("accept.replace","Replace")},{menuId:bc,group:"left",order:2,when:qe.and(Ki.HasInsertAndReplaceRange,Ki.InsertMode.isEqualTo("replace")),title:S("accept.insert","Insert")}]}));Qn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");Mi(new _o({id:"hideSuggestWidget",precondition:Ki.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:er,kbExpr:q.textInputFocus,primary:9,secondary:[1033]}}));Mi(new _o({id:"selectNextSuggestion",precondition:qe.and(Ki.Visible,qe.or(Ki.MultipleSuggestions,Ki.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:er,kbExpr:q.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Mi(new _o({id:"selectNextPageSuggestion",precondition:qe.and(Ki.Visible,qe.or(Ki.MultipleSuggestions,Ki.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:er,kbExpr:q.textInputFocus,primary:12,secondary:[2060]}}));Mi(new _o({id:"selectLastSuggestion",precondition:qe.and(Ki.Visible,qe.or(Ki.MultipleSuggestions,Ki.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Mi(new _o({id:"selectPrevSuggestion",precondition:qe.and(Ki.Visible,qe.or(Ki.MultipleSuggestions,Ki.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:er,kbExpr:q.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Mi(new _o({id:"selectPrevPageSuggestion",precondition:qe.and(Ki.Visible,qe.or(Ki.MultipleSuggestions,Ki.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:er,kbExpr:q.textInputFocus,primary:11,secondary:[2059]}}));Mi(new _o({id:"selectFirstSuggestion",precondition:qe.and(Ki.Visible,qe.or(Ki.MultipleSuggestions,Ki.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Mi(new _o({id:"focusSuggestion",precondition:qe.and(Ki.Visible,Ki.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:er,kbExpr:q.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Mi(new _o({id:"focusAndAcceptSuggestion",precondition:qe.and(Ki.Visible,Ki.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Mi(new _o({id:"toggleSuggestionDetails",precondition:qe.and(Ki.Visible,Ki.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:er,kbExpr:q.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:bc,group:"right",order:1,when:qe.and(Ki.DetailsVisible,Ki.CanResolve),title:S("detail.more","Show Less")},{menuId:bc,group:"right",order:1,when:qe.and(Ki.DetailsVisible.toNegated(),Ki.CanResolve),title:S("detail.less","Show More")}]}));Mi(new _o({id:"toggleExplainMode",precondition:Ki.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Mi(new _o({id:"toggleSuggestionFocus",precondition:Ki.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:er,kbExpr:q.textInputFocus,primary:2570,mac:{primary:778}}}));Mi(new _o({id:"insertBestCompletion",precondition:qe.and(q.textInputFocus,qe.equals("config.editor.tabCompletion","on"),pv.AtEnd,Ki.Visible.toNegated(),ef.OtherSuggestions.toNegated(),xo.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(OA(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:er,primary:2}}));Mi(new _o({id:"insertNextSuggestion",precondition:qe.and(q.textInputFocus,qe.equals("config.editor.tabCompletion","on"),ef.OtherSuggestions,Ki.Visible.toNegated(),xo.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:er,kbExpr:q.textInputFocus,primary:2}}));Mi(new _o({id:"insertPrevSuggestion",precondition:qe.and(q.textInputFocus,qe.equals("config.editor.tabCompletion","on"),ef.OtherSuggestions,Ki.Visible.toNegated(),xo.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:er,kbExpr:q.textInputFocus,primary:1026}}));Fe(class extends _t{constructor(){super({id:"editor.action.resetSuggestSize",label:S("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(o,e){var t;(t=Pr.get(e))==null||t.resetWidgetSize()}});class BH extends Rt{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 rn),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=Pr.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(a,d,u)=>{const f=this.editor.getModel();if(!f)return-1;const g=this.suggestControllerPreselector(),p=g?Wd(g,f):void 0;if(!p)return-1;const C=Li.lift(d),b=u.map((w,A)=>{const I=mg.fromSuggestion(n,f,C,w,this.isShiftKeyPressed),M=Wd(I.toSingleTextEdit(),f),R=CB(p,M);return{index:A,valid:R,prefixLength:M.text.length,suggestItem:w}}).filter(w=>w&&w.valid&&w.prefixLength>0),y=oL(b,Tp(w=>w.prefixLength,Z_));return y?y.index:-1}}));let s=!1;const r=()=>{s||(s=!0,this._register(n.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(n.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(n.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(Is.once(n.model.onDidTrigger)(a=>{r()})),this._register(n.onWillInsertSuggestItem(a=>{const d=this.editor.getPosition(),u=this.editor.getModel();if(!d||!u)return;const f=mg.fromSuggestion(n,u,d,a.item,this.isShiftKeyPressed);this.onWillAccept(f)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!FH(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=Pr.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 mg.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=Pr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=Pr.get(this.editor);e==null||e.forceRenderingAbove()}}class mg{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const u=new Nu().parse(r);u.children.length<100&&gv.adjustWhitespace(t,i,!0,u),r=u.toString(),a=!0}const d=e.getOverwriteInfo(n,s);return new mg(Q.fromPositions(i.delta(0,-d.overwriteBefore),i.delta(0,Math.max(d.overwriteAfter,0))),r,n.completion.kind,a)}constructor(e,t,i,n){this.range=e,this.insertText=t,this.completionItemKind=i,this.isSnippetText=n}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new rL(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new Dl(this.range,this.insertText)}}function FH(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var LH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},il=function(o,e){return function(t,i){e(t,i,o)}},GE,du;let fr=(du=class extends Rt{static get(e){return e.getContribution(GE.ID)}constructor(e,t,i,n,s,r,a,d,u,f){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=n,this._commandService=s,this._debounceService=r,this._languageFeaturesService=a,this._accessibilitySignalService=d,this._keybindingService=u,this._accessibilityService=f,this._editorObs=Ia(this.editor),this._positions=Wn(this,p=>{var C;return((C=this._editorObs.selections.read(p))==null?void 0:C.map(b=>b.getEndPosition()))??[new Li(1,1)]}),this._suggestWidgetAdaptor=this._register(new BH(this.editor,()=>{var p,C;return this._editorObs.forceUpdate(),(C=(p=this.model.get())==null?void 0:p.selectedInlineCompletion.get())==null?void 0:C.toSingleTextEdit(void 0)},p=>this._editorObs.forceUpdate(C=>{var b;(b=this.model.get())==null||b.handleSuggestAccepted(p)}))),this._suggestWidgetSelectedItem=Io(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(C=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=Io(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=Io(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=Wn(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=Hc(this,p=>{if(this._editorObs.isReadonly.read(p))return;const C=this._editorObs.model.read(p);return C?this._instantiationService.createInstance(NE,C,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,Io(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),Io(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),Io(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=Wn(this,p=>{const C=this.model.read(p);return(C==null?void 0:C.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=IH(this._ghostTexts,this._store),this._ghostTextWidgets=aL(this,this._stablizedGhostTexts,(p,C)=>C.add(this._instantiationService.createInstance(ME,this.editor,{ghostText:p,minReservedLineCount:gl(0),targetTextModel:this.model.map(b=>b==null?void 0:b.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=Gw(this),this._fontFamily=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new No(this._contextKeyService,this.model)),this._register(YS(this._editorObs.onDidType,(p,C)=>{var b;this._enabled.get()&&((b=this.model.get())==null||b.trigger())})),this._register(this._commandService.onDidExecuteCommand(p=>{new Set([Qx.Tab.id,Qx.DeleteLeft.id,Qx.DeleteRight.id,F5,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(b=>{var y;(y=this.model.get())==null||y.trigger(b)})})),this._register(YS(this._editorObs.selections,(p,C)=>{var b;C.some(y=>y.reason===3||y.source==="api")&&((b=this.model.get())==null||b.stop())})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||K0.dropDownVisible||Xu(p=>{var C;(C=this.model.get())==null||C.stop(p)})})),this._register(rs(p=>{var b;const C=(b=this.model.read(p))==null?void 0:b.state.read(p);C!=null&&C.suggestItem?C.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(is(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const g=G_(this,(p,C)=>{var w;const b=this.model.read(p),y=b==null?void 0:b.state.read(p);return this._suggestWidgetSelectedItem.get()?C:(w=y==null?void 0:y.inlineCompletion)==null?void 0:w.semanticId});this._register(lL(Wn(p=>(this._playAccessibilitySignal.read(p),g.read(p),{})),async(p,C,b)=>{const y=this.model.get(),w=y==null?void 0:y.state.get();if(!w||!y)return;const A=y.textModel.getLineContent(w.primaryGhostText.lineNumber);await eb(50,c1(b)),await cL(this._suggestWidgetSelectedItem,$f,()=>!1,c1(b)),await this._accessibilitySignalService.playSignal(WA.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(w.primaryGhostText.renderForScreenReader(A))})),this._register(new eE(this.editor,this.model,this._instantiationService)),this._register(EO(Wn(p=>{const C=this._fontFamily.read(p);return C===""||C==="default"?"":`
|
|
43
|
-
.monaco-editor .ghost-text-decoration,
|
|
44
|
-
.monaco-editor .ghost-text-decoration-preview,
|
|
45
|
-
.monaco-editor .ghost-text {
|
|
46
|
-
font-family: ${C};
|
|
47
|
-
}`}))),this._register(this._configurationService.onDidChangeConfiguration(p=>{p.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})})),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAccessibilitySignal(e){this._playAccessibilitySignal.trigger(e)}_provideScreenReaderUpdate(e){const t=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),i=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let n;!t&&i&&this.editor.getOption(150)&&(n=S("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),Nr(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 Li(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},GE=du,du.ID="editor.contrib.inlineCompletionsController",du);fr=GE=LH([il(1,nn),il(2,Fn),il(3,ss),il(4,zs),il(5,gr),il(6,Ii),il(7,HA),il(8,Ds),il(9,K_)],fr);function IH(o,e){const t=Yo("result",[]),i=[];return e.add(rs(n=>{const s=o.read(n);Xu(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=Yo("item",s[a]));t.set([...i],r)}i.forEach((a,d)=>a.set(s[d],r))})})),t}const u_=class u_ extends _t{constructor(){super({id:u_.ID,label:S("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:qe.and(q.writable,No.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=fr.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};u_.ID=I5;let KE=u_;const h_=class h_ extends _t{constructor(){super({id:h_.ID,label:S("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:qe.and(q.writable,No.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=fr.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};h_.ID=L5;let ZE=h_;class PH extends _t{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:S("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:q.writable})}async run(e,t){const i=fr.get(t);await lk(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 TH extends _t{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:S("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:qe.and(q.writable,No.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:qe.and(q.writable,No.inlineSuggestionVisible)},menuOpts:[{menuId:ni.InlineSuggestionToolbar,title:S("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=fr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class MH extends _t{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:S("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:qe.and(q.writable,No.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:ni.InlineSuggestionToolbar,title:S("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=fr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class RH extends _t{constructor(){super({id:F5,label:S("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:No.inlineSuggestionVisible,menuOpts:[{menuId:ni.InlineSuggestionToolbar,title:S("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:qe.and(No.inlineSuggestionVisible,q.tabMovesFocus.toNegated(),No.inlineSuggestionHasIndentationLessThanTabSize,Ki.Visible.toNegated(),q.hoverFocused.toNegated())}})}async run(e,t){var n;const i=fr.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const f_=class f_ extends _t{constructor(){super({id:f_.ID,label:S("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:No.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=fr.get(t);Xu(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};f_.ID="editor.action.inlineSuggest.hide";let XE=f_;const g_=class g_ extends Do{constructor(){super({id:g_.ID,title:S("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:ni.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:qe.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(ss),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};g_.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let YE=g_;var NH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Hf=function(o,e){return function(t,i){e(t,i,o)}};class OH{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 QE=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=fr.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 lm(1e3,this,Q.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 lm(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new lm(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=fr.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new OH(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new Tt,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(K0,this._editor,!1,gl(null),s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.activeCommands),a=r.getDomNode();e.fragment.appendChild(a),s.triggerExplicitly(),i.add(r);const d={hoverPart:n,hoverElement:a,dispose(){i.dispose()}};return new zu([d])}renderScreenReaderText(e,t){const i=new Tt,n=mi,s=n("div.hover-row.markdown-hover"),r=ui(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new uf({editor:this._editor},this._languageService,this._openerService)),d=u=>{i.add(a.onDidRenderAsync(()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}));const f=S("inlineSuggestionFollows","Suggestion:"),g=i.add(a.render(new lo().appendText(f).appendCodeblock("text",u)));r.replaceChildren(g.element)};return i.add(rs(u=>{var g;const f=(g=t.controller.model.read(u))==null?void 0:g.primaryGhostText.read(u);if(f){const p=this._editor.getModel().getLineContent(f.lineNumber);d(f.renderForScreenReader(p))}else Dm(r)})),e.fragment.appendChild(s),i}};QE=NH([Hf(1,ha),Hf(2,da),Hf(3,K_),Hf(4,nn),Hf(5,ua)],QE);class HH{}const Ab=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}};un(fr.ID,fr,3);Fe(PH);Fe(KE);Fe(ZE);Fe(TH);Fe(MH);Fe(RH);Fe(XE);Vn(YE);th.register(QE);Ab.register(new HH);var WH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},TC=function(o,e){return function(t,i){e(t,i,o)}},Qf,Lc;let ep=(Lc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new Tt,this.toUnhookForKeyboard=new Tt,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new _b(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=>{qn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(Qf.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 ck(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Us(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){qn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?Q.lift(n[0].originSelectionRange):new Q(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:d}of n)d&&(a=Q.plusRange(a,d));this.addDecoration(a,new lo().appendText(S("multipleResults","Click to show {0} definitions.",n.length)))}else{const a=n[0];if(!a.uri)return;this.textModelResolverService.createModelReference(a.uri).then(d=>{if(!d.object||!d.object.textEditorModel){d.dispose();return}const{object:{textEditorModel:u}}=d,{startLineNumber:f}=a.range;if(f<1||f>u.getLineCount()){d.dispose();return}const g=this.getPreviewValue(u,f,a),p=this.languageService.guessLanguageIdByFilepathOrFirstLine(u.uri);this.addDecoration(s,g?new lo().appendCodeblock(p||"",g):void 0),d.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=Qf.MAX_SOURCE_PREVIEW_LINES&&(n=this.getPreviewRangeBasedOnIndentation(e,t)),this.stripIndentationFromPreviewRange(e,t,n)}stripIndentationFromPreviewRange(e,t,i){let s=e.getLineFirstNonWhitespaceColumn(t);for(let a=t+1;a<i.endLineNumber;a++){const d=e.getLineFirstNonWhitespaceColumn(a);s=Math.min(s,d)}return e.getValueInRange(i).replace(new RegExp(`^\\s{${s-1}}`,"gm"),"").trim()}getPreviewRangeBasedOnIndentation(e,t){const i=e.getLineFirstNonWhitespaceColumn(t),n=Math.min(e.getLineCount(),t+Qf.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new Q(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 Uw)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?Zp(this.languageFeaturesService.definitionProvider,i,e,!1,t):Promise.resolve(null)}gotoDefinition(e,t){return this.editor.setPosition(e),this.editor.invokeWithinContext(i=>{const n=!t&&this.editor.getOption(89)&&!this.isInPeekEditor(i);return new Yp({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(Fn);return wo.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},Qf=Lc,Lc.ID="editor.contrib.gotodefinitionatposition",Lc.MAX_SOURCE_PREVIEW_LINES=8,Lc);ep=Qf=WH([TC(1,fa),TC(2,ha),TC(3,Ii)],ep);un(ep.ID,ep,2);var yB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};class MD{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let JE=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new rn,this.onDidChange=this._onDidChange.event,this._dispoables=new Tt,this._markers=[],this._nextIdx=-1,jn.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),s=(a,d)=>{let u=QS(a.resource.toString(),d.resource.toString());return u===0&&(n==="position"?u=Q.compareRangesUsingStarts(a,d)||ho.compare(a.severity,d.severity):u=ho.compare(a.severity,d.severity)||Q.compareRangesUsingStarts(a,d)),u},r=()=>{this._markers=this._markerService.read({resource:jn.isUri(e)?e:void 0,severities:ho.Error|ho.Warning|ho.Info}),typeof e=="function"&&(this._markers=this._markers.filter(a=>this._resourceFilter(a.resource))),this._markers.sort(s)};r(),this._dispoables.add(t.onMarkerChanged(a=>{(!this._resourceFilter||a.some(d=>this._resourceFilter(d)))&&(r(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e?!0:!this._resourceFilter||!e?!1:this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new MD(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=Lm(this._markers,{resource:e.uri},(r,a)=>QS(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=Q.lift(this._markers[r]);if(a.isEmpty()){const d=e.getWordAtPosition(a.getStartPosition());d&&(a=new Q(a.startLineNumber,d.startColumn,a.startLineNumber,d.endColumn))}if(t&&(a.containsPosition(t)||t.isBeforeOrEqual(a.getStartPosition()))){this._nextIdx=r,n=!0;break}if(this._markers[r].resource.toString()!==e.uri.toString())break}n||(this._nextIdx=i?0:this._markers.length-1),this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(e,t,i){if(this._markers.length===0)return!1;const n=this._nextIdx;return this._nextIdx===-1?this._initIdx(t,i,e):e?this._nextIdx=(this._nextIdx+1)%this._markers.length:e||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),n!==this._nextIdx}find(e,t){let i=this._markers.findIndex(n=>n.resource.toString()===e.toString());if(!(i<0)){for(;i<this._markers.length;i++)if(Q.containsPosition(this._markers[i],t))return new MD(this._markers[i],i+1,this._markers.length)}}};JE=yB([bv(1,Nw),bv(2,ss)],JE);const wB=Ml("IMarkerNavigationService");let ey=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new JA}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new JE(e,this._markerService,this._configService)}};ey=yB([bv(0,Nw),bv(1,ss)],ey);Rl(wB,ey,1);var ty;(function(o){function e(t){switch(t){case px.Ignore:return"severity-ignore "+Mn.asClassName(Zi.info);case px.Info:return Mn.asClassName(Zi.info);case px.Warning:return Mn.asClassName(Zi.warning);case px.Error:return Mn.asClassName(Zi.error);default:return""}}o.className=e})(ty||(ty={}));var zH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},kh=function(o,e){return function(t,i){e(t,i,o)}},iy;class VH{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 Tt,this._editor=t;const r=document.createElement("div");r.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),r.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),r.appendChild(this._relatedBlock),this._disposables.add(Sl(this._relatedBlock,"click",a=>{a.preventDefault();const d=this._relatedDiagnostics.get(a.target);d&&i(d)})),this._scrollable=new xL(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(){uo(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=J_(i);this._lines=a.length,this._longestLineLength=0;for(const p of a)this._longestLineLength=Math.max(p.length+r,this._longestLineLength);Wa(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let d=this._messageBlock;for(const p of a)d=document.createElement("div"),d.innerText=p,p===""&&(d.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(d);if(t||s){const p=document.createElement("span");if(p.classList.add("details"),d.appendChild(p),t){const C=document.createElement("span");C.innerText=t,C.classList.add("source"),p.appendChild(C)}if(s)if(typeof s=="string"){const C=document.createElement("span");C.innerText=`(${s})`,C.classList.add("code"),p.appendChild(C)}else{this._codeLink=mi("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=b=>{this._openerService.open(s.target,{allowCommands:!0}),b.preventDefault(),b.stopPropagation()};const C=ui(this._codeLink,mi("span"));C.innerText=s.value,p.appendChild(this._codeLink)}}if(Wa(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),Xo(n)){const p=this._relatedBlock.appendChild(document.createElement("div"));p.style.paddingTop=`${Math.floor(this._editor.getOption(67)*.66)}px`,this._lines+=1;for(const C of n){const b=document.createElement("div"),y=document.createElement("a");y.classList.add("filename"),y.innerText=`${this._labelService.getUriBasenameLabel(C.resource)}(${C.startLineNumber}, ${C.startColumn}): `,y.title=this._labelService.getUriLabel(C.resource),this._relatedDiagnostics.set(y,C);const w=document.createElement("span");w.innerText=C.message,b.appendChild(y),b.appendChild(w),this._lines+=1,p.appendChild(b)}}const u=this._editor.getOption(50),f=Math.ceil(u.typicalFullwidthCharacterWidth*this._longestLineLength*.75),g=u.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:f,scrollHeight:g})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case ho.Error:t=S("Error","Error");break;case ho.Warning:t=S("Warning","Warning");break;case ho.Info:t=S("Info","Info");break;case ho.Hint:t=S("Hint","Hint");break}let i=S("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const n=this._editor.getModel();return n&&e.startLineNumber<=n.getLineCount()&&e.startLineNumber>=1&&(i=`${n.getLineContent(e.startLineNumber)}, ${i}`),i}}var uu;let tp=(uu=class extends Ym{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 Tt,this._onDidSelectRelatedInformation=new rn,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=ho.Warning,this._backgroundColor=pn.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(qH);let t=ny,i=jH;this._severity===ho.Warning?(t=hm,i=$H):this._severity===ho.Info&&(t=sy,i=UH);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(V5),secondaryHeadingColor:e.getColor(j5)})}_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(iy.TitleMenu,this._contextKeyService);Ww(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=ui(e,mi(""))}_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 VH(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=Q.lift(e),s=this.editor.getPosition(),r=s&&n.containsPosition(s)?s:n.getStartPosition();super.show(r,this.computeRequiredHeight());const a=this.editor.getModel();if(a){const d=i>1?S("problems","{0} of {1} problems",t,i):S("change","{0} of {1} problem",t,i);this.setTitle(Ua(a.uri),d)}this._icon.className=`codicon ${ty.className(ho.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()}},iy=uu,uu.TitleMenu=new ni("gotoErrorTitleMenu"),uu);tp=iy=zH([kh(1,Wr),kh(2,da),kh(3,Zu),kh(4,nn),kh(5,Fn),kh(6,Tg)],tp);const RD=Zw(uL,dL),ND=Zw(fL,hL),OD=Zw(n1,gL),ny=vi("editorMarkerNavigationError.background",{dark:RD,light:RD,hcDark:wl,hcLight:wl},S("editorMarkerNavigationError","Editor marker navigation widget error color.")),jH=vi("editorMarkerNavigationError.headerBackground",{dark:za(ny,.1),light:za(ny,.1),hcDark:null,hcLight:null},S("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),hm=vi("editorMarkerNavigationWarning.background",{dark:ND,light:ND,hcDark:wl,hcLight:wl},S("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),$H=vi("editorMarkerNavigationWarning.headerBackground",{dark:za(hm,.1),light:za(hm,.1),hcDark:"#0C141F",hcLight:za(hm,.2)},S("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),sy=vi("editorMarkerNavigationInfo.background",{dark:OD,light:OD,hcDark:wl,hcLight:wl},S("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),UH=vi("editorMarkerNavigationInfo.headerBackground",{dark:za(sy,.1),light:za(sy,.1),hcDark:null,hcLight:null},S("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),qH=vi("editorMarkerNavigation.background",pL,S("editorMarkerNavigationBackground","Editor marker navigation widget background."));var GH=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Rx=function(o,e){return function(t,i){e(t,i,o)}},Jf,hu;let $u=(hu=class{static get(e){return e.getContribution(Jf.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new Tt,this._editor=e,this._widgetVisible=SB.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(tp,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)||!Q.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:Q.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 Li(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=Jf.get(r))==null||i.close(),(n=Jf.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},Jf=hu,hu.ID="editor.contrib.markerController",hu);$u=Jf=GH([Rx(1,wB),Rx(2,Fn),Rx(3,bs),Rx(4,nn)],$u);class kb extends _t{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=$u.get(t))==null||i.nagivate(this._next,this._multiFile))}}const bd=class bd extends kb{constructor(){super(!0,!1,{id:bd.ID,label:bd.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:578,weight:100},menuOpts:{menuId:tp.TitleMenu,title:bd.LABEL,icon:ms("marker-navigation-next",Zi.arrowDown,S("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};bd.ID="editor.action.marker.next",bd.LABEL=S("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let Cv=bd;const Cd=class Cd extends kb{constructor(){super(!1,!1,{id:Cd.ID,label:Cd.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:1602,weight:100},menuOpts:{menuId:tp.TitleMenu,title:Cd.LABEL,icon:ms("marker-navigation-previous",Zi.arrowUp,S("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};Cd.ID="editor.action.marker.prev",Cd.LABEL=S("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let oy=Cd;class KH extends kb{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:S("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:66,weight:100},menuOpts:{menuId:ni.MenubarGoMenu,title:S({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class ZH extends kb{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:S("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:1090,weight:100},menuOpts:{menuId:ni.MenubarGoMenu,title:S({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}un($u.ID,$u,4);Fe(Cv);Fe(oy);Fe(KH);Fe(ZH);const SB=new En("markersNavigationVisible",!1),XH=Ao.bindToContribution($u.get);Mi(new XH({id:"closeMarkersNavigation",precondition:SB,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:q.focus,primary:9,secondary:[1033]}}));var Kr;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(Kr||(Kr={}));class YH extends _t{constructor(){super({id:B5,label:S({key:"showOrFocusHover",comment:["Label for action that will trigger the showing/focusing of a hover in the editor.","If the hover is not visible, it will show the hover.","This allows for users to show the hover without using the mouse."]},"Show or Focus Hover"),metadata:{description:ki("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:[Kr.NoAutoFocus,Kr.FocusIfVisible,Kr.AutoFocusImmediately],enumDescriptions:[S("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),S("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),S("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:Kr.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=ro.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=Kr.FocusIfVisible;Object.values(Kr).includes(s)?r=s:typeof s=="boolean"&&s&&(r=Kr.AutoFocusImmediately);const a=u=>{const f=t.getPosition(),g=new Q(f.lineNumber,f.column,f.lineNumber,f.column);n.showContentHover(g,1,1,u)},d=t.getOption(2)===2;n.isHoverVisible?r!==Kr.NoAutoFocus?n.focus():a(d):a(d||r===Kr.AutoFocusImmediately)}}class QH extends _t{constructor(){super({id:pM,label:S({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0,metadata:{description:ki("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=ro.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new Q(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 JH extends _t{constructor(){super({id:xM,label:S({key:"scrollUpHover",comment:["Action that allows to scroll up in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:16,weight:100},metadata:{description:ki("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.scrollUp()}}class eW extends _t{constructor(){super({id:mM,label:S({key:"scrollDownHover",comment:["Action that allows to scroll down in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:18,weight:100},metadata:{description:ki("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.scrollDown()}}class tW extends _t{constructor(){super({id:vM,label:S({key:"scrollLeftHover",comment:["Action that allows to scroll left in the hover widget with the left arrow when the hover widget is focused."]},"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:15,weight:100},metadata:{description:ki("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.scrollLeft()}}class iW extends _t{constructor(){super({id:_M,label:S({key:"scrollRightHover",comment:["Action that allows to scroll right in the hover widget with the right arrow when the hover widget is focused."]},"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:17,weight:100},metadata:{description:ki("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.scrollRight()}}class nW extends _t{constructor(){super({id:bM,label:S({key:"pageUpHover",comment:["Action that allows to page up in the hover widget with the page up command when the hover widget is focused."]},"Page Up Hover"),alias:"Page Up Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:ki("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.pageUp()}}class sW extends _t{constructor(){super({id:CM,label:S({key:"pageDownHover",comment:["Action that allows to page down in the hover widget with the page down command when the hover widget is focused."]},"Page Down Hover"),alias:"Page Down Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:ki("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.pageDown()}}class oW extends _t{constructor(){super({id:EM,label:S({key:"goToTopHover",comment:["Action that allows to go to the top of the hover widget with the home command when the hover widget is focused."]},"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:ki("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.goToTop()}}class rW extends _t{constructor(){super({id:yM,label:S({key:"goToBottomHover",comment:["Action that allows to go to the bottom in the hover widget with the end command when the hover widget is focused."]},"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:ki("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=ro.get(t);i&&i.goToBottom()}}class aW extends _t{constructor(){super({id:xb,label:wM,alias:"Increase Hover Verbosity Level",precondition:q.hoverVisible})}run(e,t,i){const n=ro.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(dr.Increase,s,i==null?void 0:i.focus)}}class lW extends _t{constructor(){super({id:mb,label:SM,alias:"Decrease Hover Verbosity Level",precondition:q.hoverVisible})}run(e,t,i){var r;const n=ro.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=ro.get(t))==null||r.updateHoverVerbosityLevel(dr.Decrease,s,i==null?void 0:i.focus)}}var cW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},MC=function(o,e){return function(t,i){e(t,i,o)}};const _r=mi;class dW{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 HD={type:1,filter:{include:Xn.QuickFix},triggerAction:Ho.QuickFixHover};let ry=class{constructor(e,t,i,n){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=n,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,s=i.getLineMaxColumn(n),r=[];for(const a of t){const d=a.range.startLineNumber===n?a.range.startColumn:1,u=a.range.endLineNumber===n?a.range.endColumn:s,f=this._markerDecorationsService.getMarker(i.uri,a);if(!f)continue;const g=new Q(e.range.startLineNumber,d,e.range.startLineNumber,u);r.push(new dW(this,g,f))}return r}renderHoverParts(e,t){if(!t.length)return new zu([]);const i=new Tt,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)=>ho.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new zu(n)}_renderMarkerHover(e){const t=new Tt,i=_r("div.hover-row"),n=ui(i,_r("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:d}=e.marker;this._editor.applyFontInfo(n);const u=ui(n,_r("span"));if(u.style.whiteSpace="pre-wrap",u.innerText=r,s||a)if(a&&typeof a!="string"){const g=_r("span");if(s){const y=ui(g,_r("span"));y.innerText=s}const p=ui(g,_r("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(Bn(p,"click",y=>{this._openerService.open(a.target,{allowCommands:!0}),y.preventDefault(),y.stopPropagation()}));const C=ui(p,_r("span"));C.innerText=a.value;const b=ui(n,g);b.style.opacity="0.6",b.style.paddingLeft="6px"}else{const g=ui(n,_r("span"));g.style.opacity="0.6",g.style.paddingLeft="6px",g.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(Xo(d))for(const{message:g,resource:p,startLineNumber:C,startColumn:b}of d){const y=ui(n,_r("div"));y.style.marginTop="8px";const w=ui(y,_r("a"));w.innerText=`${Ua(p)}(${C}, ${b}): `,w.style.cursor="pointer",t.add(Bn(w,"click",I=>{if(I.stopPropagation(),I.preventDefault(),this._openerService){const M={selection:{startLineNumber:C,startColumn:b}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:M}).catch(qn)}}));const A=ui(y,_r("span"));A.innerText=g,this._editor.applyFontInfo(A)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===ho.Error||t.marker.severity===ho.Warning||t.marker.severity===ho.Info){const n=$u.get(this._editor);n&&e.statusBar.addAction({label:S("view problem","View Problem"),commandId:Cv.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(_r("div"));this.recentMarkerCodeActionsInfo&&(JS.makeKey(this.recentMarkerCodeActionsInfo.marker)===JS.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=S("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?Rt.None:kg(()=>n.textContent=S("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(is(()=>r.cancel())),r.then(a=>{if(s.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:a.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){a.dispose(),n.textContent=S("noQuickFixes","No quick fixes available");return}n.style.display="none";let d=!1;i.add(is(()=>{d||a.dispose()})),e.statusBar.addAction({label:S("quick fixes","Quick Fix..."),commandId:w9,run:u=>{d=!0;const f=q0.get(this._editor),g=yo(u);e.hide(),f==null||f.showCodeActions(HD,a,{x:g.left,y:g.top,width:g.width,height:g.height})}})},qn)}}getCodeActions(e){return Us(t=>qh(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new Q(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),HD,fl.None,t))}};ry=cW([MC(1,mL),MC(2,da),MC(3,Ii)],ry);class uW{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=wm.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)??wm.Center;if(!n&&a!==this._laneOrLine)continue;const d=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!d||Pg(d)||i.push(...bA(d).map(e))}return i}}var hW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},ay;const zD=mi;var fu;let ly=(fu=class extends Rt{constructor(e,t,i){super(),this._renderDisposeables=this._register(new Tt),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new _A),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new uf({editor:this._editor},t,i)),this._computer=new uW(this._editor),this._hoverOperation=this._register(new P5(this._editor,this._computer)),this._register(this._hoverOperation.onResult(n=>{this._withResult(n.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(50)&&this._updateFont()})),this._register(Sl(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return ay.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=zD("div.hover-row.markdown-hover"),r=ui(s,zD("div.hover-contents")),a=this._renderDisposeables.add(this._markdownRenderer.render(n.value));r.appendChild(a.element),i.appendChild(s)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),n=this._editor.getScrollTop(),s=this._editor.getOption(67),r=this._hover.containerDomNode.clientHeight,a=i-n-(r-s)/2,d=t.glyphMarginLeft+t.glyphMarginWidth+(this._computer.lane==="lineNo"?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${d}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(a),0)}px`}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!vb(t,e.x,e.y))&&this.hide()}},ay=fu,fu.ID="editor.contrib.modesGlyphHoverWidget",fu);ly=ay=hW([WD(1,ha),WD(2,da)],ly);var fW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},w0;let Ev=(w0=class extends Rt{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Tt,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new Ps(()=>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?vb(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(ly,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},w0.ID="editor.contrib.marginHover",w0);Ev=fW([gW(1,nn)],Ev);class pW{}class xW{}class mW{}un(ro.ID,ro,2);un(Ev.ID,Ev,2);Fe(YH);Fe(QH);Fe(JH);Fe(eW);Fe(tW);Fe(iW);Fe(nW);Fe(sW);Fe(oW);Fe(rW);Fe(aW);Fe(lW);th.register(Zg);th.register(ry);U_((o,e)=>{const t=o.getColor(vL);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)}; }`))});Ab.register(new pW);Ab.register(new xW);Ab.register(new mW);function Lo(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function vg(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 DB(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 _L(o,n,e);for(i=Math.min(i,o.getLineCount());t<=i&&s.shouldIgnore(t);)t++;if(t>i-1)return[];const{tabSize:r,indentSize:a,insertSpaces:d}=o.getOptions(),u=(y,w)=>(w=w||1,H0.shiftIndent(y,y.length+w,r,a,d)),f=(y,w)=>(w=w||1,H0.unshiftIndent(y,y.length+w,r,a,d)),g=[],p=o.getLineContent(t);let C=eo(p),b=C;s.shouldIncrease(t)?(b=u(b),C=u(C)):s.shouldIndentNextLine(t)&&(b=u(b)),t++;for(let y=t;y<=i;y++){if(vW(o,y))continue;const w=o.getLineContent(y),A=eo(w),I=b;s.shouldDecrease(y,I)&&(b=f(b),C=f(C)),A!==b&&g.push(cs.replaceMove(new Ui(y,1,y,A.length+1),bL(b,a,d))),!s.shouldIgnore(y)&&(s.shouldIncrease(y,I)?(C=u(C),b=C):s.shouldIndentNextLine(y,I)?b=u(b):b=C)}return g}function vW(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var _W=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},bW=function(o,e){return function(t,i){e(t,i,o)}};const p_=class p_ extends _t{constructor(){super({id:p_.ID,label:S("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:q.writable,metadata:{description:ki("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 SW(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};p_.ID="editor.action.indentationToSpaces";let cy=p_;const x_=class x_ extends _t{constructor(){super({id:x_.ID,label:S("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:q.writable,metadata:{description:ki("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 DW(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};x_.ID="editor.action.indentationToTabs";let dy=x_;class X9 extends _t{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Tl),n=e.get(vo),s=t.getModel();if(!s)return;const r=n.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget),a=s.getOptions(),d=[1,2,3,4,5,6,7,8].map(f=>({id:f.toString(),label:f.toString(),description:f===r.tabSize&&f===a.tabSize?S("configuredTabSize","Configured Tab Size"):f===r.tabSize?S("defaultTabSize","Default Tab Size"):f===a.tabSize?S("currentTabSize","Current Tab Size"):void 0})),u=Math.min(s.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(d,{placeHolder:S({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:d[u]}).then(f=>{if(f&&s&&!s.isDisposed()){const g=parseInt(f.label,10);this.displaySizeOnly?s.updateOptions({tabSize:g}):s.updateOptions({tabSize:g,indentSize:g,insertSpaces:this.insertSpaces})}})},50)}}const m_=class m_ extends X9{constructor(){super(!1,!1,{id:m_.ID,label:S("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:ki("indentUsingTabsDescription","Use indentation with tabs.")}})}};m_.ID="editor.action.indentUsingTabs";let uy=m_;const v_=class v_ extends X9{constructor(){super(!0,!1,{id:v_.ID,label:S("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:ki("indentUsingSpacesDescription","Use indentation with spaces.")}})}};v_.ID="editor.action.indentUsingSpaces";let hy=v_;const __=class __ extends X9{constructor(){super(!0,!0,{id:__.ID,label:S("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:ki("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};__.ID="editor.action.changeTabDisplaySize";let fy=__;const b_=class b_ extends _t{constructor(){super({id:b_.ID,label:S("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:ki("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(vo),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};b_.ID="editor.action.detectIndentation";let gy=b_;class CW extends _t{constructor(){super({id:"editor.action.reindentlines",label:S("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:q.writable,metadata:{description:ki("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(Vs),n=t.getModel();if(!n)return;const s=DB(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class EW extends _t{constructor(){super({id:"editor.action.reindentselectedlines",label:S("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:q.writable,metadata:{description:ki("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(Vs),n=t.getModel();if(!n)return;const s=t.getSelections();if(s===null)return;const r=[];for(const a of s){let d=a.startLineNumber,u=a.endLineNumber;if(d!==u&&a.endColumn===1&&u--,d===1){if(d===u)continue}else d--;const f=DB(n,i,d,u);r.push(...f)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class yW{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(Q.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 S0;let yv=(S0=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new Tt,this.callOnModel=new Tt,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)||wW(i,e)||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:r,indentSize:a,insertSpaces:d}=i.getOptions(),u=[],f={shiftIndent:b=>H0.shiftIndent(b,b.length+1,r,a,d),unshiftIndent:b=>H0.unshiftIndent(b,b.length+1,r,a,d)};let g=e.startLineNumber;for(;g<=e.endLineNumber;){if(this.shouldIgnoreLine(i,g)){g++;continue}break}if(g>e.endLineNumber)return;let p=i.getLineContent(g);if(!/\S/.test(p.substring(0,e.startColumn-1))){const b=lg(s,i,i.getLanguageId(),g,f,this._languageConfigurationService);if(b!==null){const y=eo(p),w=Lo(b,r),A=Lo(y,r);if(w!==A){const I=vg(w,r,d);u.push({range:new Q(g,1,g,y.length+1),text:I}),p=I+p.substring(y.length)}else{const I=dk(i,g,this._languageConfigurationService);if(I===0||I===8)return}}}const C=g;for(;g<e.endLineNumber;){if(!/\S/.test(i.getLineContent(g+1))){g++;continue}break}if(g!==e.endLineNumber){const y=lg(s,{tokenization:{getLineTokens:w=>i.tokenization.getLineTokens(w),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(w,A)=>i.getLanguageIdAtPosition(w,A)},getLineContent:w=>w===C?p:i.getLineContent(w)},i.getLanguageId(),g+1,f,this._languageConfigurationService);if(y!==null){const w=Lo(y,r),A=Lo(eo(i.getLineContent(g+1)),r);if(w!==A){const I=w-A;for(let M=g+1;M<=e.endLineNumber;M++){const R=i.getLineContent(M),T=eo(R),H=Lo(T,r)+I,X=vg(H,r,d);X!==T&&u.push({range:new Q(M,1,M,T.length+1),text:X})}}}}if(u.length>0){this.editor.pushUndoStop();const b=new yW(u,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",b),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(e,t){const i=s=>s.trim().length===0;let n=!0;if(t.startLineNumber===t.endLineNumber){const r=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);n=i(r)}else for(let s=t.startLineNumber;s<=t.endLineNumber;s++){const r=e.getLineContent(s);if(s===t.startLineNumber){const a=r.substring(t.startColumn-1);n=i(a)}else if(s===t.endLineNumber){const a=r.substring(0,t.endColumn-1);n=i(a)}else n=e.getLineFirstNonWhitespaceColumn(s)===0;if(!n)break}return n}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(i===0)return!0;const n=e.tokenization.getLineTokens(t);if(n.getCount()>0){const s=n.findTokenIndexAtOffset(i);if(s>=0&&n.getStandardTokenType(s)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}},S0.ID="editor.contrib.autoIndentOnPaste",S0);yv=_W([bW(1,Vs)],yv);function wW(o,e){const t=i=>CL(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function AB(o,e,t,i){if(o.getLineCount()===1&&o.getLineMaxColumn(1)===1)return;let n="";for(let r=0;r<t;r++)n+=" ";const s=new RegExp(n,"gi");for(let r=1,a=o.getLineCount();r<=a;r++){let d=o.getLineFirstNonWhitespaceColumn(r);if(d===0&&(d=o.getLineMaxColumn(r)),d===1)continue;const u=new Q(r,1,r,d),f=o.getValueInRange(u),g=i?f.replace(/\t/ig,n):f.replace(s," ");e.addEditOperation(u,g)}}class SW{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),AB(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class DW{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),AB(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}un(yv.ID,yv,2);Fe(cy);Fe(dy);Fe(uy);Fe(hy);Fe(fy);Fe(gy);Fe(CW);Fe(EW);un(Yg.ID,Yg,1);th.register(tv);class AW{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 Ui(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new Ui(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var kW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},fm,Ic;let tf=(Ic=class{static get(e){return e.getContribution(fm.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var d;(d=this.currentRequest)==null||d.cancel();const i=this.editor.getSelection(),n=this.editor.getModel();if(!n||!i)return;let s=i;if(s.startLineNumber!==s.endLineNumber)return;const r=new ck(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=Us(u=>this.editorWorkerService.navigateValueSet(a,s,t)),this.currentRequest.then(u=>{var b;if(!u||!u.range||!u.value||!r.validate(this.editor))return;const f=Q.lift(u.range);let g=u.range;const p=u.value.length-(s.endColumn-s.startColumn);g={startLineNumber:g.startLineNumber,startColumn:g.startColumn,endLineNumber:g.endLineNumber,endColumn:g.startColumn+u.value.length},p>1&&(s=new Ui(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const C=new AW(f,s,u.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,C),this.editor.pushUndoStop(),this.decorations.set([{range:g,options:fm.DECORATION}]),(b=this.decorationRemover)==null||b.cancel(),this.decorationRemover=eb(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(qn)}).catch(qn)):Promise.resolve(void 0)}},fm=Ic,Ic.ID="editor.contrib.inPlaceReplaceController",Ic.DECORATION=mn.register({description:"in-place-replace",className:"valueSetReplacement"}),Ic);tf=fm=kW([BW(1,Nl)],tf);class FW extends _t{constructor(){super({id:"editor.action.inPlaceReplace.up",label:S("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=tf.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class LW extends _t{constructor(){super({id:"editor.action.inPlaceReplace.down",label:S("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=tf.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}un(tf.ID,tf,4);Fe(FW);Fe(LW);class IW extends _t{constructor(){super({id:"expandLineSelection",label:S("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:q.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,Xw.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}Fe(IW);class PW{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=TW(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 TW(o,e,t){e.sort((a,d)=>a.lineNumber===d.lineNumber?a.column-d.column:a.lineNumber-d.lineNumber);for(let a=e.length-2;a>=0;a--)e[a].lineNumber===e[a+1].lineNumber&&e.splice(a,1);const i=[];let n=0,s=0;const r=e.length;for(let a=1,d=o.getLineCount();a<=d;a++){const u=o.getLineContent(a),f=u.length+1;let g=0;if(s<r&&e[s].lineNumber===a&&(g=e[s].column,s++,g===f)||u.length===0)continue;const p=Jx(u);let C=0;if(p===-1)C=1;else if(p!==u.length-1)C=p+2;else continue;if(!t){if(!o.tokenization.hasAccurateTokensForLine(a))continue;const b=o.tokenization.getLineTokens(a),y=b.getStandardTokenType(b.findTokenIndexAtOffset(C));if(y===2||y===3)continue}C=Math.max(g,C),i[n++]=cs.delete(new Q(a,C,a,f))}return i}class kB{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 Q(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
|
|
49
|
-
`):this._isCopyingDown?t.addEditOperation(new Q(i.startLineNumber,1,i.startLineNumber,1),s+`
|
|
50
|
-
`):t.addEditOperation(new Q(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=Ui.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var MW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},RW=function(o,e){return function(t,i){e(t,i,o)}};let py=class{constructor(e,t,i,n){this._languageConfigurationService=n,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=()=>e.getLanguageId(),n=(g,p)=>e.getLanguageIdAtPosition(g,p),s=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===s){this._selectionId=t.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let r=this._selection;r.startLineNumber<r.endLineNumber&&r.endColumn===1&&(this._moveEndPositionDown=!0,r=r.setEndPosition(r.endLineNumber-1,e.getLineMaxColumn(r.endLineNumber-1)));const{tabSize:a,indentSize:d,insertSpaces:u}=e.getOptions(),f=this.buildIndentConverter(a,d,u);if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){const g=r.startLineNumber,p=this._isMovingDown?g+1:g-1;e.getLineMaxColumn(p)===1?t.addEditOperation(new Q(1,1,1,1),null):(t.addEditOperation(new Q(g,1,g,1),e.getLineContent(p)),t.addEditOperation(new Q(p,1,p,e.getLineMaxColumn(p)),null)),r=new Ui(p,1,p,1)}else{let g,p;if(this._isMovingDown){g=r.endLineNumber+1,p=e.getLineContent(g),t.addEditOperation(new Q(g-1,e.getLineMaxColumn(g-1),g,e.getLineMaxColumn(g)),null);let C=p;if(this.shouldAutoIndent(e,r)){const b=this.matchEnterRule(e,f,a,g,r.startLineNumber-1);if(b!==null){const w=eo(e.getLineContent(g)),A=b+Lo(w,a);C=vg(A,a,u)+this.trimStart(p)}else{const w={tokenization:{getLineTokens:I=>I===r.startLineNumber?e.tokenization.getLineTokens(g):e.tokenization.getLineTokens(I),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:I=>I===r.startLineNumber?e.getLineContent(g):e.getLineContent(I)},A=lg(this._autoIndent,w,e.getLanguageIdAtPosition(g,1),r.startLineNumber,f,this._languageConfigurationService);if(A!==null){const I=eo(e.getLineContent(g)),M=Lo(A,a),R=Lo(I,a);M!==R&&(C=vg(M,a,u)+this.trimStart(p))}}t.addEditOperation(new Q(r.startLineNumber,1,r.startLineNumber,1),C+`
|
|
52
|
-
`);const y=this.matchEnterRuleMovingDown(e,f,a,r.startLineNumber,g,C);if(y!==null)y!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,y);else{const w={tokenization:{getLineTokens:I=>I===r.startLineNumber?e.tokenization.getLineTokens(g):I>=r.startLineNumber+1&&I<=r.endLineNumber+1?e.tokenization.getLineTokens(I-1):e.tokenization.getLineTokens(I),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:I=>I===r.startLineNumber?C:I>=r.startLineNumber+1&&I<=r.endLineNumber+1?e.getLineContent(I-1):e.getLineContent(I)},A=lg(this._autoIndent,w,e.getLanguageIdAtPosition(g,1),r.startLineNumber+1,f,this._languageConfigurationService);if(A!==null){const I=eo(e.getLineContent(r.startLineNumber)),M=Lo(A,a),R=Lo(I,a);if(M!==R){const T=M-R;this.getIndentEditsOfMovingBlock(e,t,r,a,u,T)}}}}else t.addEditOperation(new Q(r.startLineNumber,1,r.startLineNumber,1),C+`
|
|
53
|
-
`)}else if(g=r.startLineNumber-1,p=e.getLineContent(g),t.addEditOperation(new Q(g,1,g+1,1),null),t.addEditOperation(new Q(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
|
|
54
|
-
`+p),this.shouldAutoIndent(e,r)){const C={tokenization:{getLineTokens:y=>y===g?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(y),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:y=>y===g?e.getLineContent(r.startLineNumber):e.getLineContent(y)},b=this.matchEnterRule(e,f,a,r.startLineNumber,r.startLineNumber-2);if(b!==null)b!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,b);else{const y=lg(this._autoIndent,C,e.getLanguageIdAtPosition(r.startLineNumber,1),g,f,this._languageConfigurationService);if(y!==null){const w=eo(e.getLineContent(r.startLineNumber)),A=Lo(y,a),I=Lo(w,a);if(A!==I){const M=A-I;this.getIndentEditsOfMovingBlock(e,t,r,a,u,M)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>H0.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>H0.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===xx.None||s.indentAction===xx.Indent?r=s.indentation+s.appendText:s.indentAction===xx.IndentOutdent?r=s.indentation:s.indentAction===xx.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const d=eo(e.getLineContent(n));let u=eo(r);const f=dk(e,n,this._languageConfigurationService);f!==null&&f&2&&(u=t.unshiftIndent(u));const g=Lo(u,i),p=Lo(d,i);return g-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(Jx(r)>=0){const a=e.getLineMaxColumn(s),d=nC(this._autoIndent,e,new Q(s,a,s,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,d)}else{let a=n-1;for(;a>=1;){const f=e.getLineContent(a);if(Jx(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const d=e.getLineMaxColumn(a),u=nC(this._autoIndent,e,new Q(a,d,a,d),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,u)}}matchEnterRule(e,t,i,n,s,r){let a=s;for(;a>=1;){let f;if(a===s&&r!==void 0?f=r:f=e.getLineContent(a),Jx(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const d=e.getLineMaxColumn(a),u=nC(this._autoIndent,e,new Q(a,d,a,d),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,u)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1),n=e.getLanguageIdAtPosition(t.endLineNumber,1);return!(i!==n||this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport===null)}getIndentEditsOfMovingBlock(e,t,i,n,s,r){for(let a=i.startLineNumber;a<=i.endLineNumber;a++){const d=e.getLineContent(a),u=eo(d),g=Lo(u,n)+r,p=vg(g,n,s);p!==u&&(t.addEditOperation(new Q(a,1,a,u.length+1),p),a===i.endLineNumber&&i.endColumn<=u.length+1&&p===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber<i.endLineNumber&&(i=i.setEndPosition(i.endLineNumber,2)),i}};py=MW([RW(3,Vs)],py);const s0=class s0{static getCollator(){return s0._COLLATOR||(s0._COLLATOR=new Intl.Collator),s0._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=NW(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=BB(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}};s0._COLLATOR=null;let ip=s0;function BB(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(ip.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function NW(o,e,t){const i=BB(o,e,t);return i?cs.replace(new Q(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
|
|
55
|
-
`)):null}class FB extends _t{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)=>Q.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 kB(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class OW extends FB{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:S("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:ni.MenubarSelectionMenu,group:"2_line",title:S({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class HW extends FB{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:S("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:ni.MenubarSelectionMenu,group:"2_line",title:S({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class WW extends _t{constructor(){super({id:"editor.action.duplicateSelection",label:S("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:q.writable,menuOpts:{menuId:ni.MenubarSelectionMenu,group:"2_line",title:S({key:"miDuplicateSelection",comment:["&& denotes a mnemonic"]},"&&Duplicate Selection"),order:5}})}run(e,t,i){if(!t.hasModel())return;const n=[],s=t.getSelections(),r=t.getModel();for(const a of s)if(a.isEmpty())n.push(new kB(a,!0));else{const d=new Ui(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new EL(d,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class LB extends _t{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(Vs),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new py(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class zW extends LB{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:S("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:ni.MenubarSelectionMenu,group:"2_line",title:S({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class VW extends LB{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:S("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:ni.MenubarSelectionMenu,group:"2_line",title:S({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class IB extends _t{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 Ui(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!ip.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new ip(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class jW extends IB{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:S("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:q.writable})}}class $W extends IB{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:S("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:q.writable})}}class UW extends _t{constructor(){super({id:"editor.action.removeDuplicateLines",label:S("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:q.writable})}run(e,t){if(!t.hasModel())return;const i=t.getModel();if(i.getLineCount()===1&&i.getLineMaxColumn(1)===1)return;const n=[],s=[];let r=0,a=!0,d=t.getSelections();d.length===1&&d[0].isEmpty()&&(d=[new Ui(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(const u of d){const f=new Set,g=[];for(let y=u.startLineNumber;y<=u.endLineNumber;y++){const w=i.getLineContent(y);f.has(w)||(g.push(w),f.add(w))}const p=new Ui(u.startLineNumber,1,u.endLineNumber,i.getLineMaxColumn(u.endLineNumber)),C=u.startLineNumber-r,b=new Ui(C,1,C+g.length-1,g[g.length-1].length);n.push(cs.replace(p,g.join(`
|
|
56
|
-
`))),s.push(b),r+=u.endLineNumber-u.startLineNumber+1-g.length}t.pushUndoStop(),t.executeEdits(this.id,n,a?s:void 0),t.pushUndoStop()}}const C_=class C_ extends _t{constructor(){super({id:C_.ID,label:S("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(f=>new Li(f.positionLineNumber,f.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(ss),a=t.getModel(),d=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),u=new PW(s,n,d);t.pushUndoStop(),t.executeCommands(this.id,[u]),t.pushUndoStop()}};C_.ID="editor.action.trimTrailingWhitespace";let xy=C_;class qW extends _t{constructor(){super({id:"editor.action.deleteLines",label:S("lines.delete","Delete Line"),alias:"Delete Line",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),n=t.getModel();if(n.getLineCount()===1&&n.getLineMaxColumn(1)===1)return;let s=0;const r=[],a=[];for(let d=0,u=i.length;d<u;d++){const f=i[d];let g=f.startLineNumber,p=f.endLineNumber,C=1,b=n.getLineMaxColumn(p);p<n.getLineCount()?(p+=1,b=1):g>1&&(g-=1,C=n.getLineMaxColumn(g)),r.push(cs.replace(new Ui(g,C,p,b),"")),a.push(new Ui(g-s,f.positionColumn,g-s,f.positionColumn)),s+=f.endLineNumber-f.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,r,a),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map(s=>{let r=s.endLineNumber;return s.startLineNumber<s.endLineNumber&&s.endColumn===1&&(r-=1),{startLineNumber:s.startLineNumber,selectionStartColumn:s.selectionStartColumn,endLineNumber:r,positionColumn:s.positionColumn}});t.sort((s,r)=>s.startLineNumber===r.startLineNumber?s.endLineNumber-r.endLineNumber:s.startLineNumber-r.startLineNumber);const i=[];let n=t[0];for(let s=1;s<t.length;s++)n.endLineNumber+1>=t[s].startLineNumber?n.endLineNumber=t[s].endLineNumber:(i.push(n),n=t[s]);return i.push(n),i}}class GW extends _t{constructor(){super({id:"editor.action.indentLines",label:S("lines.indent","Indent Line"),alias:"Indent Line",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,yL.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class KW extends _t{constructor(){super({id:"editor.action.outdentLines",label:S("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2140,weight:100}})}run(e,t){Qx.Outdent.runEditorCommand(e,t,null)}}class ZW extends _t{constructor(){super({id:"editor.action.insertLineBefore",label:S("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,uk.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class XW extends _t{constructor(){super({id:"editor.action.insertLineAfter",label:S("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,uk.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class PB extends _t{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),s=[];for(let d=0,u=n.length-1;d<u;d++){const f=n[d],g=n[d+1];Q.intersectRanges(f,g)===null?s.push(f):n[d+1]=Q.plusRange(f,g)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(d=>cs.replace(d,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class YW extends PB{constructor(){super({id:"deleteAllLeft",label:S("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];let s=0;return t.forEach(r=>{let a;if(r.endColumn===1&&s>0){const d=r.startLineNumber-s;a=new Ui(d,r.startColumn,d,r.startColumn)}else a=new Ui(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(Q.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 Q(r,a,s.startLineNumber,1)}else return new Q(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new Q(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class QW extends PB{constructor(){super({id:"deleteAllRight",label:S("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];for(let s=0,r=t.length,a=0;s<r;s++){const d=t[s],u=new Ui(d.startLineNumber-a,d.startColumn,d.startLineNumber-a,d.startColumn);d.intersectRanges(e)?i=u:n.push(u)}return i&&n.unshift(i),n}_getRangesToDelete(e){const t=e.getModel();if(t===null)return[];const i=e.getSelections();if(i===null)return[];const n=i.map(s=>{if(s.isEmpty()){const r=t.getLineMaxColumn(s.startLineNumber);return s.startColumn===r?new Q(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new Q(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(Q.compareRangesUsingStarts),n}}class JW extends _t{constructor(){super({id:"editor.action.joinLines",label:S("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:q.writable,kbOpts:{kbExpr:q.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(Q.compareRangesUsingStarts);const s=[],r=i.reduce((p,C)=>p.isEmpty()?p.endLineNumber===C.startLineNumber?(n.equalsSelection(p)&&(n=C),C):C.startLineNumber>p.endLineNumber+1?(s.push(p),C):new Ui(p.startLineNumber,p.startColumn,C.endLineNumber,C.endColumn):C.startLineNumber>p.endLineNumber?(s.push(p),C):new Ui(p.startLineNumber,p.startColumn,C.endLineNumber,C.endColumn));s.push(r);const a=t.getModel();if(a===null)return;const d=[],u=[];let f=n,g=0;for(let p=0,C=s.length;p<C;p++){const b=s[p],y=b.startLineNumber,w=1;let A=0,I,M;const R=a.getLineLength(b.endLineNumber)-b.endColumn;if(b.isEmpty()||b.startLineNumber===b.endLineNumber){const H=b.getStartPosition();H.lineNumber<a.getLineCount()?(I=y+1,M=a.getLineMaxColumn(I)):(I=H.lineNumber,M=a.getLineMaxColumn(H.lineNumber))}else I=b.endLineNumber,M=a.getLineMaxColumn(I);let T=a.getLineContent(y);for(let H=y+1;H<=I;H++){const X=a.getLineContent(H),se=a.getLineFirstNonWhitespaceColumn(H);if(se>=1){let he=!0;T===""&&(he=!1),he&&(T.charAt(T.length-1)===" "||T.charAt(T.length-1)===" ")&&(he=!1,T=T.replace(/[\s\uFEFF\xA0]+$/g," "));const J=X.substr(se-1);T+=(he?" ":"")+J,he?A=J.length+1:A=J.length}else A=0}const V=new Q(y,w,I,M);if(!V.isEmpty()){let H;b.isEmpty()?(d.push(cs.replace(V,T)),H=new Ui(V.startLineNumber-g,T.length-A+1,y-g,T.length-A+1)):b.startLineNumber===b.endLineNumber?(d.push(cs.replace(V,T)),H=new Ui(b.startLineNumber-g,b.startColumn,b.endLineNumber-g,b.endColumn)):(d.push(cs.replace(V,T)),H=new Ui(b.startLineNumber-g,b.startColumn,b.startLineNumber-g,T.length-R)),Q.intersectRanges(V,n)!==null?f=H:u.push(H)}g+=V.endLineNumber-V.startLineNumber}u.unshift(f),t.pushUndoStop(),t.executeEdits(this.id,d,u),t.pushUndoStop()}}class ez extends _t{constructor(){super({id:"editor.action.transpose",label:S("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:q.writable})}run(e,t){const i=t.getSelections();if(i===null)return;const n=t.getModel();if(n===null)return;const s=[];for(let r=0,a=i.length;r<a;r++){const d=i[r];if(!d.isEmpty())continue;const u=d.getStartPosition(),f=n.getLineMaxColumn(u.lineNumber);if(u.column>=f){if(u.lineNumber===n.getLineCount())continue;const g=new Q(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new wp(new Ui(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p))}else{const g=new Q(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new BA(g,p,new Ui(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class sh extends _t{run(e,t){const i=t.getSelections();if(i===null)return;const n=t.getModel();if(n===null)return;const s=t.getOption(132),r=[];for(const a of i)if(a.isEmpty()){const d=a.getStartPosition(),u=t.getConfiguredWordAtPosition(d);if(!u)continue;const f=new Q(d.lineNumber,u.startColumn,d.lineNumber,u.endColumn),g=n.getValueInRange(f);r.push(cs.replace(f,this._modifyText(g,s)))}else{const d=n.getValueInRange(a);r.push(cs.replace(a,this._modifyText(d,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class tz extends sh{constructor(){super({id:"editor.action.transformToUppercase",label:S("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:q.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class iz extends sh{constructor(){super({id:"editor.action.transformToLowercase",label:S("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:q.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class El{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 E_=class E_ extends sh{constructor(){super({id:"editor.action.transformToTitlecase",label:S("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:q.writable})}_modifyText(e,t){const i=E_.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};E_.titleBoundary=new El("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let wv=E_;const o0=class o0 extends sh{constructor(){super({id:"editor.action.transformToSnakecase",label:S("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:q.writable})}_modifyText(e,t){const i=o0.caseBoundary.get(),n=o0.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};o0.caseBoundary=new El("(\\p{Ll})(\\p{Lu})","gmu"),o0.singleLetters=new El("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let _g=o0;const y_=class y_ extends sh{constructor(){super({id:"editor.action.transformToCamelcase",label:S("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:q.writable})}_modifyText(e,t){const i=y_.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("")}};y_.wordBoundary=new El("[_\\s-]","gm");let Sv=y_;const r0=class r0 extends sh{constructor(){super({id:"editor.action.transformToPascalcase",label:S("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:q.writable})}_modifyText(e,t){const i=r0.wordBoundary.get(),n=r0.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("")}};r0.wordBoundary=new El("[_\\s-]","gm"),r0.wordBoundaryToMaintain=new El("(?<=\\.)","gm");let Dv=r0;const sc=class sc extends sh{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:S("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:q.writable})}_modifyText(e,t){const i=sc.caseBoundary.get(),n=sc.singleLetters.get(),s=sc.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};sc.caseBoundary=new El("(\\p{Ll})(\\p{Lu})","gmu"),sc.singleLetters=new El("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),sc.underscoreBoundary=new El("(\\S)(_)(\\S)","gm");let Av=sc;Fe(OW);Fe(HW);Fe(WW);Fe(zW);Fe(VW);Fe(jW);Fe($W);Fe(UW);Fe(xy);Fe(qW);Fe(GW);Fe(KW);Fe(ZW);Fe(XW);Fe(YW);Fe(QW);Fe(JW);Fe(ez);Fe(tz);Fe(iz);_g.caseBoundary.isSupported()&&_g.singleLetters.isSupported()&&Fe(_g);Sv.wordBoundary.isSupported()&&Fe(Sv);Dv.wordBoundary.isSupported()&&Fe(Dv);wv.titleBoundary.isSupported()&&Fe(wv);Av.isSupported()&&Fe(Av);var nz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Nx=function(o,e){return function(t,i){e(t,i,o)}},gm;const TB=new En("LinkedEditingInputVisible",!1),sz="linked-editing-decoration";var Pc;let nf=(Pc=class extends Rt{static get(e){return e.getContribution(gm.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new Tt),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=TB.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 Tt),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(Is.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new Oc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new Oc(0),a=d=>{this._rangeSyncTriggerPromise=r.trigger(()=>this._syncRanges(d))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{s()})),this._localToDispose.add(this._editor.onDidChangeModelContent(d=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const u=this._currentDecorations.getRange(0);if(u&&d.changes.every(f=>u.intersectRanges(f.range))){a(this._syncRangesToken);return}}s()})),this._localToDispose.add({dispose:()=>{n.dispose(),r.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||this._currentDecorations.length===0)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const n=t.getValueInRange(i);if(this._currentWordPattern){const r=n.match(this._currentWordPattern);if((r?r[0].length:0)!==n.length)return this.clearRanges()}const s=[];for(let r=1,a=this._currentDecorations.length;r<a;r++){const d=this._currentDecorations.getRange(r);if(d)if(d.startLineNumber!==d.endLineNumber)s.push({range:d,text:n});else{let u=t.getValueInRange(d),f=n,g=d.startColumn,p=d.endColumn;const C=Rp(u,f);g+=C,u=u.substr(C),f=f.substr(C);const b=wL(u,f);p-=b,u=u.substr(0,u.length-b),f=f.substr(0,f.length-b),(g!==p||f.length!==0)&&s.push({range:new Q(d.startLineNumber,g,d.endLineNumber,p),text:f})}}if(s.length!==0)try{this._editor.popUndoStop(),this._ignoreChangeEvent=!0;const r=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits("linkedEditing",s),this._editor._getViewModel().setPrevEditOperationType(r)}finally{this._ignoreChangeEvent=!1}}dispose(){this.clearRanges(),super.dispose()}clearRanges(){this._visibleContextKey.set(!1),this._currentDecorations.clear(),this._currentRequestCts&&(this._currentRequestCts.cancel(),this._currentRequestCts=null,this._currentRequestPosition=null)}async updateRanges(e=!1){if(!this._editor.hasModel()){this.clearRanges();return}const t=this._editor.getPosition();if(!this._enabled&&!e||this._editor.getSelections().length>1){this.clearRanges();return}const i=this._editor.getModel(),n=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===n){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const r=this._currentDecorations.getRange(0);if(r&&r.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=n;const s=this._currentRequestCts=new qs;try{const r=new Oo(!1),a=await MB(this._providers,i,t,s.token);if(this._debounceInformation.update(i,r.elapsed()),s!==this._currentRequestCts||(this._currentRequestCts=null,n!==i.getVersionId()))return;let d=[];a!=null&&a.ranges&&(d=a.ranges),this._currentWordPattern=(a==null?void 0:a.wordPattern)||this._languageWordPattern;let u=!1;for(let g=0,p=d.length;g<p;g++)if(Q.containsPosition(d[g],t)){if(u=!0,g!==0){const C=d[g];d.splice(g,1),d.unshift(C)}break}if(!u){this.clearRanges();return}const f=d.map(g=>({range:g,options:gm.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(f),this._syncRangesToken++}catch(r){qc(r)||qn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},gm=Pc,Pc.ID="editor.contrib.linkedEditing",Pc.DECORATION=mn.register({description:"linked-editing",stickiness:0,className:sz}),Pc);nf=gm=nz([Nx(1,Fn),Nx(2,Ii),Nx(3,Vs),Nx(4,gr)],nf);class oz extends _t{constructor(){super({id:"editor.action.linkedEditing",label:S("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:qe.and(q.writable,q.hasRenameProvider),kbOpts:{kbExpr:q.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(bs),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return jn.isUri(n)&&Li.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))))},qn):super.runCommand(e,t)}run(e,t){const i=nf.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const rz=Ao.bindToContribution(nf.get);Mi(new rz({id:"cancelLinkedEditingInput",precondition:TB,handler:o=>o.clearRanges(),kbOpts:{kbExpr:q.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function MB(o,e,t,i){const n=o.ordered(e);return Yw(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){_s(r);return}}),s=>!!s&&Xo(s==null?void 0:s.ranges))}vi("editor.linkedEditingBackground",{dark:pn.fromHex("#f00").transparent(.3),light:pn.fromHex("#f00").transparent(.3),hcDark:pn.fromHex("#f00").transparent(.3),hcLight:pn.white},S("editorLinkedEditingBackground","Background color when the editor auto renames on type."));ko("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(Ii);return MB(i,e,t,an.None)});un(nf.ID,nf,1);Fe(oz);let az=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 kv{constructor(e){this._disposables=new Tt;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new az(r,n));t=kv._union(t,s),XA(i)&&this._disposables.add(i)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const i=[];let n,s,r,a;for(n=0,r=0,s=e.length,a=t.length;n<s&&r<a;){const d=e[n],u=t[r];if(Q.areIntersectingOrTouching(d.range,u.range)){n++;continue}Q.compareRangesUsingStarts(d.range,u.range)<0?(i.push(d),n++):(i.push(u),r++)}for(;n<s;n++)i.push(e[n]);for(;r<a;r++)i.push(t[r]);return i}}function RB(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])},_s));return Promise.all(n).then(()=>{const s=new kv(yl(i));return t.isCancellationRequested?(s.dispose(),new kv([])):s})}Qn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;Ln(t instanceof jn),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(Ii),s=o.get(vo).getModel(t);if(!s)return[];const r=await RB(n,s,an.None);if(!r)return[];for(let d=0;d<Math.min(i,r.links.length);d++)await r.links[d].resolve(an.None);const a=r.links.slice(0);return r.dispose(),a});var lz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ox=function(o,e){return function(t,i){e(t,i,o)}},my,gu;let np=(gu=class extends Rt{static get(e){return e.getContribution(my.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 Ps(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new _b(e));this._register(r.onMouseMoveOrRelevantKeyDown(([a,d])=>{this._onEditorMouseMove(a,d)})),this._register(r.onExecute(a=>{this.onEditorMouseUp(a)})),this._register(r.onCancel(a=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(a=>{a.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(a=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(a=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(a=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(a=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(71))return;const e=this.editor.getModel();if(!e.isTooLargeForSyncing()&&this.providers.has(e)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=Us(t=>RB(this.providers,e,t));try{const t=new Oo(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){qn(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(d0.decoration(r,t));this.editor.changeDecorations(r=>{const a=r.deltaDecorations(i,s);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let d=0,u=a.length;d<u;d++){const f=new d0(e[d],a[d]);this.currentOccurrences[f.decorationId]=f}})}_onEditorMouseMove(e,t){const i=this.editor.getOption(78)==="altKey";if(this.isEnabled(e,t)){this.cleanUpActiveLinkDecoration();const n=this.getLinkOccurrence(e.target.position);n&&this.editor.changeDecorations(s=>{n.activate(s,i),this.activeLinkDecorationId=n.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e=this.editor.getOption(78)==="altKey";if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(i=>{t.deactivate(i,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:n}=e;n.resolve(an.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===Co.file&&s.startsWith(`${Co.file}:`)){const a=jn.parse(s);if(a.scheme===Co.file){const d=SL(a);let u=null;d.startsWith("/./")||d.startsWith("\\.\\")?u=`.${d.substr(1)}`:(d.startsWith("//./")||d.startsWith("\\\\.\\"))&&(u=`.${d.substr(2)}`),u&&(s=DL(r,u))}}}return this.openerService.open(s,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},s=>{const r=s instanceof Error?s.message:s;r==="invalid"?this.notificationService.warn(S("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):r==="missing"?this.notificationService.warn(S("missing.url","Failed to open this link because its target is missing.")):qn(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()}},my=gu,gu.ID="editor.linkDetector",gu);np=my=lz([Ox(1,da),Ox(2,mo),Ox(3,Ii),Ox(4,gr)],np);const VD={general:mn.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:mn.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class d0{static decoration(e,t){return{range:e.range,options:d0._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?VD.active:VD.general};return n.hoverMessage=cz(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,d0._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,d0._getOptions(this.link,t,!1))}}function cz(o,e){const t=o.url&&/^command:/i.test(o.url.toString()),i=o.tooltip?o.tooltip:t?S("links.navigate.executeCmd","Execute command"):S("links.navigate.follow","Follow link"),n=e?$a?S("links.navigate.kb.meta.mac","cmd + click"):S("links.navigate.kb.meta","ctrl + click"):$a?S("links.navigate.kb.alt.mac","option + click"):S("links.navigate.kb.alt","alt + click");if(o.url){let s="";if(/^command:/i.test(o.url.toString())){const a=o.url.toString().match(/^command:([^?#]+)/);if(a){const d=a[1];s=S("tooltip.explanation","Execute command {0}",d)}}return new lo("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new lo().appendText(`${i} (${n})`)}class dz extends _t{constructor(){super({id:"editor.action.openLink",label:S("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=np.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)}}}un(np.ID,np,1);Fe(dz);const SS=class SS extends Rt{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})}))}};SS.ID="editor.contrib.longLinesHelper";let Bv=SS;un(Bv.ID,Bv,2);const uz=vi("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},S("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);vi("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},S("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0);vi("editor.wordHighlightTextBackground",uz,S("wordHighlightText","Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const hz=vi("editor.wordHighlightBorder",{light:null,dark:null,hcDark:Bu,hcLight:Bu},S("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));vi("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:Bu,hcLight:Bu},S("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));vi("editor.wordHighlightTextBorder",hz,S("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const fz=vi("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",S("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),gz=vi("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",S("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),pz=vi("editorOverviewRuler.wordHighlightTextForeground",hk,S("overviewRulerWordHighlightTextForeground","Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),xz=mn.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:Bs(gz),position:Ha.Center},minimap:{color:Bs(tb),position:1}}),mz=mn.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:Bs(pz),position:Ha.Center},minimap:{color:Bs(tb),position:1}}),vz=mn.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:Bs(hk),position:Ha.Center},minimap:{color:Bs(tb),position:1}}),_z=mn.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),bz=mn.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:Bs(fz),position:Ha.Center},minimap:{color:Bs(tb),position:1}});function Cz(o){return o===Pm.Write?xz:o===Pm.Text?mz:bz}function Ez(o){return o?_z:vz}U_((o,e)=>{const t=o.getColor(AL);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var yz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},wz=function(o,e){return function(t,i){e(t,i,o)}},vy;function Kc(o,e){const t=e.filter(i=>!o.find(n=>n.equals(i)));if(t.length>=1){const i=t.map(s=>`line ${s.viewState.position.lineNumber} column ${s.viewState.position.column}`).join(", "),n=t.length===1?S("cursorAdded","Cursor added: {0}",i):S("cursorsAdded","Cursors added: {0}",i);P0(n)}}class Sz extends _t{constructor(){super({id:"editor.action.insertCursorAbove",label:S("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:ni.MenubarSelectionMenu,group:"3_multi",title:S({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})}run(e,t,i){if(!t.hasModel())return;let n=!0;i&&i.logicalLine===!1&&(n=!1);const s=t._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const r=s.getCursorStates();s.setCursorStates(i.source,3,Xw.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Kc(r,s.getCursorStates())}}class Dz extends _t{constructor(){super({id:"editor.action.insertCursorBelow",label:S("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:ni.MenubarSelectionMenu,group:"3_multi",title:S({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})}run(e,t,i){if(!t.hasModel())return;let n=!0;i&&i.logicalLine===!1&&(n=!1);const s=t._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const r=s.getCursorStates();s.setCursorStates(i.source,3,Xw.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Kc(r,s.getCursorStates())}}class Az extends _t{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:S("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:ni.MenubarSelectionMenu,group:"3_multi",title:S({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,i){if(!e.isEmpty()){for(let n=e.startLineNumber;n<e.endLineNumber;n++){const s=t.getLineMaxColumn(n);i.push(new Ui(n,s,n,s))}e.endColumn>1&&i.push(new Ui(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=t.getSelections(),s=t._getViewModel(),r=s.getCursorStates(),a=[];n.forEach(d=>this.getCursorsForSelection(d,i,a)),a.length>0&&t.setSelections(a),Kc(r,s.getCursorStates())}}class kz extends _t{constructor(){super({id:"editor.action.addCursorsToBottom",label:S("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=t.getModel().getLineCount(),s=[];for(let d=i[0].startLineNumber;d<=n;d++)s.push(new Ui(d,i[0].startColumn,d,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),Kc(a,r.getCursorStates())}}class Bz extends _t{constructor(){super({id:"editor.action.addCursorsToTop",label:S("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=[];for(let a=i[0].startLineNumber;a>=1;a--)n.push(new Ui(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),Kc(r,s.getCursorStates())}}class Hx{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class sp{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new sp(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let n=!1,s,r;const a=e.getSelections();a.length===1&&a[0].isEmpty()?(n=!0,s=!0,r=!0):(s=i.wholeWord,r=i.matchCase);const d=e.getSelection();let u,f=null;if(d.isEmpty()){const g=e.getConfiguredWordAtPosition(d.getStartPosition());if(!g)return null;u=g.word,f=new Ui(d.startLineNumber,g.startColumn,d.startLineNumber,g.endColumn)}else u=e.getModel().getValueInRange(d).replace(/\r\n/g,`
|
|
57
|
-
`);return new sp(e,t,n,u,s,r,f)}constructor(e,t,i,n,s,r,a){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=n,this.wholeWord=s,this.matchCase=r,this.currentMatch=a}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new Hx(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 Hx(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 Ui(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 Hx(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 Hx(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 Ui(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 w_=class w_ extends Rt{static get(e){return e.getContribution(w_.ID)}constructor(e){super(),this._sessionDispose=this._register(new Tt),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=sp.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 Ui(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(!NB(this._editor.getModel(),t,n)){const r=this._editor.getModel(),a=[];for(let d=0,u=t.length;d<u;d++)a[d]=this._expandEmptyToWord(r,t[d]);this._editor.setSelections(a);return}}}this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(e){if(!this._editor.hasModel())return;let t=null;const i=e.getState();if(i.isRevealed&&i.searchString.length>0&&i.isRegex){const n=this._editor.getModel();i.searchScope?t=n.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824):t=n.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const n=this._editor.getSelection();for(let s=0,r=t.length;s<r;s++){const a=t[s];if(a.range.intersectRanges(n)){t[s]=t[0],t[0]=a;break}}this._setSelections(t.map(s=>new Ui(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};w_.ID="editor.contrib.multiCursorController";let sf=w_;class vf extends _t{run(e,t){const i=sf.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=So.get(t);if(r)this._run(i,r);else{const a=e.get(nn).createInstance(So,t);this._run(i,a),a.dispose()}Kc(s,n.getCursorStates())}}}class Fz extends vf{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:S("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:2082,weight:100},menuOpts:{menuId:ni.MenubarSelectionMenu,group:"3_multi",title:S({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class Lz extends vf{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:S("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:ni.MenubarSelectionMenu,group:"3_multi",title:S({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class Iz extends vf{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:S("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:Ss(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class Pz extends vf{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:S("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}}class Tz extends vf{constructor(){super({id:"editor.action.selectHighlights",label:S("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:3114,weight:100},menuOpts:{menuId:ni.MenubarSelectionMenu,group:"3_multi",title:S({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class Mz extends vf{constructor(){super({id:"editor.action.changeAll",label:S("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:qe.and(q.writable,q.editorTextFocus),kbOpts:{kbExpr:q.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class Rz{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(Q.compareRangesUsingStarts)),this._cachedFindMatches}}var pu;let Fv=(pu=class extends Rt{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new Ps(()=>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=So.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(vy._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=sf.get(i);if(!s)return null;const r=So.get(i);if(!r)return null;let a=s.getSession(r);if(!a){const f=i.getSelections();if(f.length>1){const p=r.getState().matchCase;if(!NB(i.getModel(),f,p))return null}a=sp.create(i,r)}if(!a||a.currentMatch||/^[ \t]+$/.test(a.searchText)||a.searchText.length>200)return null;const d=r.getState(),u=d.matchCase;if(d.isRevealed){let f=d.searchString;u||(f=f.toLowerCase());let g=a.searchText;if(u||(g=g.toLowerCase()),f===g&&a.matchCase===d.matchCase&&a.wholeWord===d.wholeWord&&!d.isRegex)return null}return new Rz(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(Q.compareRangesUsingStarts);const s=[];for(let u=0,f=0,g=i.length,p=n.length;u<g;){const C=i[u];if(f>=p)s.push(C),u++;else{const b=Q.compareRangesUsingStarts(C,n[f]);b<0?((n[f].isEmpty()||!Q.areIntersecting(C,n[f]))&&s.push(C),u++):(b>0||u++,f++)}}const r=this.editor.getOption(81)!=="off",a=this._languageFeaturesService.documentHighlightProvider.has(t)&&r,d=s.map(u=>({range:u,options:Ez(a)}));this._decorations.set(d)}dispose(){this._setState(null),super.dispose()}},vy=pu,pu.ID="editor.contrib.selectionHighlighter",pu);Fv=vy=yz([wz(1,Ii)],Fv);function NB(o,e,t){const i=jD(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=jD(o,r,!t);if(i!==a)return!1}return!0}function jD(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class Nz extends _t{constructor(){super({id:"editor.action.focusNextCursor",label:S("mutlicursor.focusNextCursor","Focus Next Cursor"),metadata:{description:S("mutlicursor.focusNextCursor.description","Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=Array.from(n.getCursorStates()),r=s.shift();r&&(s.push(r),n.setCursorStates(i.source,3,s),n.revealPrimaryCursor(i.source,!0),Kc(s,n.getCursorStates()))}}class Oz extends _t{constructor(){super({id:"editor.action.focusPreviousCursor",label:S("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),metadata:{description:S("mutlicursor.focusPreviousCursor.description","Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=Array.from(n.getCursorStates()),r=s.pop();r&&(s.unshift(r),n.setCursorStates(i.source,3,s),n.revealPrimaryCursor(i.source,!0),Kc(s,n.getCursorStates()))}}un(sf.ID,sf,4);un(Fv.ID,Fv,1);Fe(Sz);Fe(Dz);Fe(Az);Fe(Fz);Fe(Lz);Fe(Iz);Fe(Pz);Fe(Tz);Fe(Mz);Fe(kz);Fe(Bz);Fe(Nz);Fe(Oz);const Hz="editor.action.inlineEdit.accept",Wz="editor.action.inlineEdit.reject",zz="editor.action.inlineEdit.jumpTo",Vz="editor.action.inlineEdit.jumpBack";var jz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$z=function(o,e){return function(t,i){e(t,i,o)}};const RC="inline-edit";let _y=class extends Rt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Yo(this,!1),this.currentTextModel=Io(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Wn(this,n=>{var I;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=(I=this.model.range)==null?void 0:I.read(n);a&&a.startLineNumber===a.endLineNumber&&a.startColumn===a.endColumn&&(a=void 0);const d=(a?a.startLineNumber===a.endLineNumber:!0)&&r.parts.length===1&&r.parts[0].lines.length===1,u=r.parts.length===1&&r.parts[0].lines.every(M=>M.length===0),f=[],g=[];function p(M,R){if(g.length>0){const T=g[g.length-1];R&&T.decorations.push(new Og(T.content.length+1,T.content.length+1+M[0].length,R,0)),T.content+=M[0],M=M.slice(1)}for(const T of M)g.push({content:T,decorations:R?[new Og(1,T.length+1,R,0)]:[]})}const C=s.getLineContent(r.lineNumber);let b,y=0;if(!u&&(d||!a)){for(const M of r.parts){let R=M.lines;a&&!d&&(p(R,RC),R=[]),b===void 0?(f.push({column:M.column,text:R[0],preview:M.preview}),R=R.slice(1)):p([C.substring(y,M.column-1)],void 0),R.length>0&&(p(R,RC),b===void 0&&M.column<=C.length&&(b=M.column)),y=M.column-1}b!==void 0&&p([C.substring(y)],void 0)}const w=b!==void 0?new vB(b,C.length+1):void 0,A=d||!a?r.lineNumber:a.endLineNumber-1;return{inlineTexts:f,additionalLines:g,hiddenRange:w,lineNumber:A,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s,range:a,isSingleLine:d,isPureRemove:u}}),this.decorations=Wn(this,n=>{const s=this.uiState.read(n);if(!s)return[];const r=[];if(s.hiddenRange&&r.push({range:s.hiddenRange.toRange(s.lineNumber),options:{inlineClassName:"inline-edit-hidden",description:"inline-edit-hidden"}}),s.range){const a=[];if(s.isSingleLine)a.push(s.range);else if(!s.isPureRemove){const d=s.range.endLineNumber-s.range.startLineNumber;for(let u=0;u<d;u++){const f=s.range.startLineNumber+u,g=s.targetTextModel.getLineFirstNonWhitespaceColumn(f),p=s.targetTextModel.getLineLastNonWhitespaceColumn(f),C=new Q(f,g,f,p);a.push(C)}}for(const d of a)r.push({range:d,options:Qw})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new Q(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:Jw})}for(const a of s.inlineTexts)r.push({range:Q.fromPositions(new Li(s.lineNumber,a.column)),options:{description:RC,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:jh.Left},showIfCollapsed:!0}});return r}),this._register(is(()=>{this.isDisposed.set(!0,void 0)})),this._register(_B(this.editor,this.decorations))}};_y=jz([$z(2,ha)],_y);var Y9=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fa=function(o,e){return function(t,i){e(t,i,o)}},pm;let by=class extends Rt{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=Wn(this,n=>{var d,u;const s=(d=this.model.read(n))==null?void 0:d.model.ghostText.read(n);if(!this.alwaysShowToolbar.read(n)||!s||s.parts.length===0)return this.sessionPosition=void 0,null;const r=s.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==s.lineNumber&&(this.sessionPosition=void 0);const a=new Li(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Lp((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(Cy,this.editor,!0,this.position));e.addContentWidget(a),s.add(is(()=>e.removeContentWidget(a)))}))}};by=Y9([Fa(2,nn)],by);var Tc;let Cy=(Tc=class extends Rt{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${pm.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Fr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[Fr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(ni.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(Ey,this.nodes.toolBar,this.editor,ni.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,d)=>{if(a instanceof N0)return n.createInstance(Uz,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{pm._dropDownVisible=a})),this._register(rs(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(rs(a=>{const d=[];for(const[u,f]of this.inlineCompletionsActionsMenus.getActions())for(const g of f)g instanceof N0&&d.push(g);d.length>0&&d.unshift(new Ig),this.toolBar.setAdditionalSecondaryActions(d)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},pm=Tc,Tc._dropDownVisible=!1,Tc.id=0,Tc);Cy=pm=Y9([Fa(3,nn),Fa(4,Fn),Fa(5,Zu)],Cy);class Uz extends pA{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Fr("div.keybinding").root;this._register(new Pw(t,Tw,{disableTitle:!0,...xA})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let Ey=class extends mA{constructor(e,t,i,n,s,r,a,d,u,f){super(e,{resetMenu:i,...n},s,r,a,d,u,f),this.editor=t,this.menuId=i,this.options2=n,this.menuService=s,this.contextKeyService=r,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this._store.add(this.editor.onDidChangeCursorPosition(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,n,s,r,a,d,u;const e=[],t=[];Ww(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(s=(n=this.options2)==null?void 0:n.toolbarOptions)==null?void 0:s.primaryGroup,(a=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:a.shouldInlineSubmenu,(u=(d=this.options2)==null?void 0:d.toolbarOptions)==null?void 0:u.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){ja(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};Ey=Y9([Fa(4,Zu),Fa(5,Fn),Fa(6,af),Fa(7,Ds),Fa(8,zs),Fa(9,ua)],Ey);var OB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},xm=function(o,e){return function(t,i){e(t,i,o)}},eg,yy;function*qz(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function NC(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 xu;let wy=(xu=class extends Rt{static _createUniqueUri(){return jn.from({scheme:"inline-edit-widget",path:new Date().toString()+String(eg._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=Wn(this,r=>{const a=this._model.read(r);if(!a||a.text.length===0||a.range.startLineNumber===a.range.endLineNumber&&!(a.range.startColumn===a.range.endColumn&&a.range.startColumn===1))return null;const d=this._editor.getModel();if(!d)return null;const u=Array.from(qz(a.range.startLineNumber,a.range.endLineNumber+1)),f=u.map(y=>d.getLineLastNonWhitespaceColumn(y)),g=Math.max(...f),p=u[f.indexOf(g)],C=new Li(p,g);return{top:a.range.startLineNumber,left:C}}),this._text=Wn(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const d=NC(a.text.split(`
|
|
58
|
-
`));return{text:d.text.join(`
|
|
59
|
-
`),shift:d.shift}}),this._originalModel=Hc(()=>this._modelService.createModel("",null,eg._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Hc(()=>this._modelService.createModel("",null,eg._createUniqueUri())).keepObserved(this._store),this._diff=Wn(this,r=>{var a,d;return(d=(a=this._diffPromise.read(r))==null?void 0:a.promiseResult.read(r))==null?void 0:d.data}),this._diffPromise=Wn(this,r=>{const a=this._model.read(r);if(!a)return;const d=this._editor.getModel();if(!d)return;const u=NC(d.getValueInRange(a.range).split(`
|
|
60
|
-
`)).text.join(`
|
|
61
|
-
`),f=NC(a.text.split(`
|
|
62
|
-
`)).text.join(`
|
|
63
|
-
`);this._originalModel.get().setValue(u),this._modifiedModel.get().setValue(f);const g=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return fk.fromFn(async()=>{const p=await g.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},an.None);if(!p.identical)return p.changes})}),this._register(Lp((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const u=a.add(this._instantiationService.createInstance(Sy,this._editor,this._position,this._text.map(f=>f.text),this._text.map(f=>f.shift),this._diff));e.addOverlayWidget(u),a.add(is(()=>e.removeOverlayWidget(u)))}))}},eg=xu,xu._modelId=0,xu);wy=eg=OB([xm(2,nn),xm(3,e9),xm(4,vo)],wy);var mu;let Sy=(mu=class extends Rt{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${yy.id++}`,this.allowEditorOverflow=!1,this._nodes=mi("div.inlineEditSideBySide",void 0),this._scrollChanged=Pd("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(Hr,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=Ia(this._previewEditor),this._editorObs=Ia(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(dc,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??Rg,dc.DEFAULT_CREATION_OPTIONS,null)),this._setText=Wn(d=>{const u=this._text.read(d);u&&this._previewTextModel.setValue(u)}).recomputeInitiallyAndOnChange(this._store),this._decorations=Wn(this,d=>{this._setText.read(d);const u=this._position.read(d);if(!u)return{org:[],mod:[]};const f=this._diff.read(d);if(!f)return{org:[],mod:[]};const g=[],p=[];if(f.length===1&&f[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const C=this._shift.get(),b=y=>new Q(y.startLineNumber+u.top-1,y.startColumn+C,y.endLineNumber+u.top-1,y.endColumn+C);for(const y of f)if(y.original.isEmpty||g.push({range:b(y.original.toInclusiveRange()),options:Jw}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:gk}),y.modified.isEmpty||y.original.isEmpty)y.original.isEmpty||g.push({range:b(y.original.toInclusiveRange()),options:pk}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:xk});else for(const w of y.innerChanges||[])y.original.contains(w.originalRange.startLineNumber)&&g.push({range:b(w.originalRange),options:w.originalRange.isEmpty()?mk:Qw}),y.modified.contains(w.modifiedRange.startLineNumber)&&p.push({range:w.modifiedRange,options:w.modifiedRange.isEmpty()?vk:_k});return{org:g,mod:p}}),this._originalDecorations=Wn(this,d=>this._decorations.read(d).org),this._modifiedDecorations=Wn(this,d=>this._decorations.read(d).mod),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register(rs(d=>{const u=this._previewEditorObs.contentWidth.read(d),f=this._text.read(d).split(`
|
|
64
|
-
`).length-1,g=this._editor.getOption(67)*f;u<=0||this._previewEditor.layout({height:g,width:u})})),this._register(rs(d=>{this._position.read(d),this._editor.layoutOverlayWidget(this)})),this._register(rs(d=>{this._scrollChanged.read(d),this._position.read(d)&&this._editor.layoutOverlayWidget(this)}))}getId(){return this.id}getDomNode(){return this._nodes}getPosition(){const e=this._position.get();if(!e)return null;const t=this._editor.getLayoutInfo(),i=this._editor.getScrolledVisiblePosition(new Li(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}}}},yy=mu,mu.id=0,mu);Sy=yy=OB([xm(5,nn)],Sy);var Gz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},fd=function(o,e){return function(t,i){e(t,i,o)}},tg,cr;let fo=(cr=class extends Rt{static get(e){return e.getContribution(tg.ID)}constructor(e,t,i,n,s,r,a,d){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=n,this._commandService=s,this._configurationService=r,this._diffProviderFactoryService=a,this._modelService=d,this._isVisibleContext=tg.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=tg.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=Yo(this,void 0),this._currentWidget=Hc(this._currentEdit,b=>{const y=this._currentEdit.read(b);if(!y)return;const w=y.range.endLineNumber,A=y.range.endColumn,I=y.text.endsWith(`
|
|
65
|
-
`)&&!(y.range.startLineNumber===y.range.endLineNumber&&y.range.startColumn===y.range.endColumn)?y.text.slice(0,-1):y.text,M=new Qg(w,[new cv(A,I,!1)]),R=y.range.startLineNumber===y.range.endLineNumber&&M.parts.length===1&&M.parts[0].lines.length===1,T=y.text==="";return!R&&!T?void 0:this.instantiationService.createInstance(_y,this.editor,{ghostText:gl(M),minReservedLineCount:gl(0),targetTextModel:gl(this.editor.getModel()??void 0),range:gl(y.range)})}),this._isAccepting=Yo(this,!1),this._enabled=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const u=Pd("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(rs(b=>{this._enabled.read(b)&&(u.read(b),!this._isAccepting.read(b)&&this.getInlineEdit(e,!0))}));const f=Io(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(rs(b=>{if(!this._enabled.read(b))return;const y=f.read(b);y&&this.checkCursorPosition(y)})),this._register(rs(b=>{const y=this._currentEdit.read(b);if(this._isCursorAtInlineEditContext.set(!1),!y){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const w=e.getPosition();w&&this.checkCursorPosition(w)}));const g=Pd("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(rs(async b=>{var y;this._enabled.read(b)&&(g.read(b),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((y=this._currentRequestCts)==null||y.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const p=Pd("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(rs(b=>{this._enabled.read(b)&&(p.read(b),this.getInlineEdit(e,!0))}));const C=this._register(VA());this._register(rs(b=>{const y=this._fontFamily.read(b);C.setStyle(y===""||y==="default"?"":`
|
|
66
|
-
.monaco-editor .inline-edit-decoration,
|
|
67
|
-
.monaco-editor .inline-edit-decoration-preview,
|
|
68
|
-
.monaco-editor .inline-edit {
|
|
69
|
-
font-family: ${y};
|
|
70
|
-
}`)})),this._register(new by(this.editor,this._currentWidget,this.instantiationService)),this._register(new wy(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(Q.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 qs;const a=this._currentRequestCts.token,d=t?e8.Automatic:e8.Invoke;if(t&&await Kz(50,a),a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)return;const f=await r.provideInlineEdit(i,{triggerKind:d},a);if(f&&!(a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)&&this.validateInlineEdit(e,f))return f}async getInlineEdit(e,t){this._isCursorAtInlineEditContext.set(!1),await this.clear();const i=await this.fetchInlineEdit(e,t);i&&this._currentEdit.set(i,void 0)}async trigger(){await this.getInlineEdit(this.editor,!1)}async jumpBack(){this._jumpBackPosition&&(this.editor.setPosition(this._jumpBackPosition),this.editor.revealPositionInCenterIfOutsideViewport(this._jumpBackPosition))}async accept(){this._isAccepting.set(!0,void 0);const e=this._currentEdit.get();if(!e)return;let t=e.text;e.text.startsWith(`
|
|
72
|
-
`)&&(t=e.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[cs.replace(Q.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,_s),this.freeEdit(e),Xu(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=Li.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,_s),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)}},tg=cr,cr.ID="editor.contrib.inlineEditController",cr.inlineEditVisibleKey="inlineEditVisible",cr.inlineEditVisibleContext=new En(cr.inlineEditVisibleKey,!1),cr.cursorAtInlineEditKey="cursorAtInlineEdit",cr.cursorAtInlineEditContext=new En(cr.cursorAtInlineEditKey,!1),cr);fo=tg=Gz([fd(1,nn),fd(2,Fn),fd(3,Ii),fd(4,zs),fd(5,ss),fd(6,e9),fd(7,vo)],fo);function Kz(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 Zz=class extends _t{constructor(){super({id:Hz,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:qe.and(q.writable,fo.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:qe.and(q.writable,fo.inlineEditVisibleContext,fo.cursorAtInlineEditContext)}],menuOpts:[{menuId:ni.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=fo.get(t);await(i==null?void 0:i.accept())}};class Xz extends _t{constructor(){const e=qe.and(q.writable,qe.not(fo.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=fo.get(t);i==null||i.trigger()}}class Yz extends _t{constructor(){const e=qe.and(q.writable,fo.inlineEditVisibleContext,qe.not(fo.cursorAtInlineEditKey));super({id:zz,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:ni.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=fo.get(t);i==null||i.jumpToCurrent()}}class Qz extends _t{constructor(){const e=qe.and(q.writable,fo.cursorAtInlineEditContext);super({id:Vz,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:ni.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=fo.get(t);i==null||i.jumpBack()}}class Jz extends _t{constructor(){const e=qe.and(q.writable,fo.inlineEditVisibleContext);super({id:Wz,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:ni.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=fo.get(t);await(i==null?void 0:i.clear())}}Fe(Zz);Fe(Jz);Fe(Yz);Fe(Qz);Fe(Xz);un(fo.ID,fo,3);const eV="editor.action.inlineEdits.accept",tV="editor.action.inlineEdits.showPrevious",iV="editor.action.inlineEdits.showNext",of=new En("inlineEditsVisible",!1,S("inlineEditsVisible","Whether an inline edit is visible")),nV=new En("inlineEditsIsPinned",!1,S("isPinned","Whether an inline edit is visible")),DS=class DS extends Rt{constructor(e){super(),this._editor=e,this._editorObs=Ia(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=ul({owner:this,equalsFn:bk},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=sV(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=vA((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=Fr("div.editorPlaceholder");i.add(rs(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(rs(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(rs(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:gl(0),position:gl(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};DS.ID="editor.contrib.placeholderText";let op=DS;function sV(o,e){return G_(o,(t,i)=>i===!0?!0:e(t))}var oV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},rV=function(o,e){return function(t,i){e(t,i,o)}};class aV{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let Dy=class extends Rt{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=Ia(this._editor),this._elements=Fr("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[Fr("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[Fr("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),Fr("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),Fr("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),vh("svg",{style:{overflow:"visible",pointerEvents:"none"}},[vh("defs",[vh("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[vh("stop",{offset:"0%",class:"gradient-stop"}),vh("stop",{offset:"100%",class:"gradient-stop"})])]),vh("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(dc,"",Rg,dc.DEFAULT_CREATION_OPTIONS,null)),this._setText=Wn(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(dc,"",Rg,dc.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(Hr,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:kL},{contributions:BL.getSomeEditorContributions([Pr.ID,op.ID,X0.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(Hr,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=Ia(this._previewEditor),this._decorations=Wn(this,r=>{var f;this._setText.read(r);const a=(f=this._edit.read(r))==null?void 0:f.changes;if(!a)return[];const d=[],u=[];if(a.length===1&&a[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const g of a)if(g.original.isEmpty||d.push({range:g.original.toInclusiveRange(),options:Jw}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:gk}),g.modified.isEmpty||g.original.isEmpty)g.original.isEmpty||d.push({range:g.original.toInclusiveRange(),options:pk}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:xk});else for(const p of g.innerChanges||[])g.original.contains(p.originalRange.startLineNumber)&&d.push({range:p.originalRange,options:p.originalRange.isEmpty()?mk:Qw}),g.modified.contains(p.modifiedRange.startLineNumber)&&u.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?vk:_k});return u}),this._layout1=Wn(this,r=>{const a=this._editor.getModel(),d=this._edit.read(r);if(!d)return null;const u=d.range;let f=0;for(let C=u.startLineNumber;C<u.endLineNumberExclusive;C++){const b=a.getLineMaxColumn(C),y=this._editor.getOffsetForColumn(C,b);f=Math.max(f,y)}return{left:this._editor.getLayoutInfo().contentLeft+f}}),this._layout=Wn(this,r=>{const a=this._edit.read(r);if(!a)return null;const d=a.range,u=this._editorObs.scrollLeft.read(r),f=this._layout1.read(r).left+20-u,g=this._editor.getTopForLineNumber(d.startLineNumber)-this._editorObs.scrollTop.read(r),p=this._editor.getTopForLineNumber(d.endLineNumberExclusive)-this._editorObs.scrollTop.read(r),C=new Yh(f,g),b=new Yh(f,p),y=p-g,w=50,A=this._editor.getOption(67)*a.newLines.length,I=y-A,M=new Yh(f+w,g+I/2),R=new Yh(f+w,p-I/2);return{topCode:C,bottomCode:b,codeHeight:y,topEdit:M,bottomEdit:R,editHeight:A}});const s=Wn(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(FL(this._elements.root,{display:Wn(this,r=>s.read(r)?"block":"none")})),this._register(LL(this._editor.getDomNode(),this._elements.root)),this._register(Ia(e).createOverlayWidget({domNode:this._elements.root,position:gl(null),allowEditorOverflow:!1,minContentWidthInPx:Wn(r=>{var u;const a=(u=this._layout1.read(r))==null?void 0:u.left;if(a===void 0)return 0;const d=this._previewEditorObs.contentWidth.read(r);return a+d})})),this._previewEditor.setModel(this._previewTextModel),this._register(this._previewEditorObs.setDecorations(this._decorations)),this._register(rs(r=>{const a=this._layout.read(r);if(!a)return;const{topCode:d,bottomCode:u,topEdit:f,bottomEdit:g,editHeight:p}=a,C=10,b=0,y=40,w=new cV().moveTo(d).lineTo(d.deltaX(C)).curveTo(d.deltaX(C+y),f.deltaX(-y-b),f.deltaX(-b)).lineTo(f).lineTo(g).lineTo(g.deltaX(-b)).curveTo(g.deltaX(-y-b),u.deltaX(C+y),u.deltaX(C)).lineTo(u).build();this._elements.path.setAttribute("d",w),this._elements.editorContainer.style.top=`${f.y}px`,this._elements.editorContainer.style.left=`${f.x}px`,this._elements.editorContainer.style.height=`${p}px`;const A=this._previewEditorObs.contentWidth.read(r);this._previewEditor.layout({height:p,width:A})})),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(dV(lV(this._userPrompt,r=>r??"",r=>r),Ia(this._promptEditor).value)),this._register(rs(r=>{const a=Ia(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};Dy=oV([rV(3,nn)],Dy);function lV(o,e,t){return Ck(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class Yh{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new Yh(this.x+e,this.y)}}class cV{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 dV(o,e){const t=new Tt;return t.add(rs(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(rs(i=>{const n=e.read(i);o.set(n,void 0)})),t}var uV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},OC=function(o,e){return function(t,i){e(t,i,o)}},ig,vu;let Ay=(vu=class extends Rt{static _createUniqueUri(){return jn.from({scheme:"inline-edits",path:new Date().toString()+String(ig._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=Gw(this),this._selectedInlineCompletionId=Yo(this,void 0),this._isActive=Yo(this,!1),this._originalModel=Hc(()=>this._modelService.createModel("",null,ig._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Hc(()=>this._modelService.createModel("",null,ig._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new fV(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(d=>!!d),this.userPrompt=Yo(this,void 0),this.inlineEdit=Wn(this,d=>{var u,f;return(f=(u=this._inlineEdit.read(d))==null?void 0:u.promiseResult.read(d))==null?void 0:f.data}),this._inlineEdit=Wn(this,d=>{const u=this.selectedInlineEdit.read(d);if(!u)return;const f=u.inlineCompletion.range;if(u.inlineCompletion.insertText.trim()==="")return;let g=u.inlineCompletion.insertText.split(/\r\n|\r|\n/);function p(w){var I;const A=((I=w[0].match(/^\s*/))==null?void 0:I[0])??"";return w.map(M=>M.replace(new RegExp("^"+A),""))}g=p(g);let b=this.textModel.getValueInRange(f).split(/\r\n|\r|\n/);b=p(b),this._originalModel.get().setValue(b.join(`
|
|
74
|
-
`)),this._modifiedModel.get().setValue(g.join(`
|
|
75
|
-
`));const y=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return fk.fromFn(async()=>{const w=await y.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},an.None);if(!w.identical)return new aV(IL.fromRangeInclusive(f),p(g),w.changes)})}),this._fetchStore=this._register(new Tt),this._inlineEditsFetchResult=a1(this,void 0),this._inlineEdits=ul({owner:this,equalsFn:bk},d=>{var u;return((u=this._inlineEditsFetchResult.read(d))==null?void 0:u.completions.map(f=>new hV(f)))??[]}),this._fetchInlineEditsPromise=YA({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:_l.Automatic}),handleChange:(d,u)=>(d.didChange(this._forceUpdateExplicitlySignal)&&(u.inlineCompletionTriggerKind=_l.Explicit),!0)},async(d,u)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(d),this._textModelVersionId.read(d);function f(y,w){return w(y)}const g=this._pinnedRange.range.read(d)??f(this._selection.read(d),y=>y.isEmpty()?void 0:y);if(!g){this._inlineEditsFetchResult.set(void 0,void 0),this.userPrompt.set(void 0,void 0);return}const p={triggerKind:u.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(d)},C=c1(this._fetchStore);await eb(200,C);const b=await bB(this.languageFeaturesService.inlineCompletionsProvider,g,this.textModel,p,C);C.isCancellationRequested||this._inlineEditsFetchResult.set(b,void 0)}),this._filteredInlineEditItems=ul({owner:this,equalsFn:l1()},d=>this._inlineEdits.read(d)),this.selectedInlineCompletionIndex=Wn(this,d=>{const u=this._selectedInlineCompletionId.read(d),f=this._filteredInlineEditItems.read(d),g=this._selectedInlineCompletionId===void 0?-1:f.findIndex(p=>p.semanticId===u);return g===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):g}),this.selectedInlineEdit=Wn(this,d=>{const u=this._filteredInlineEditItems.read(d),f=this.selectedInlineCompletionIndex.read(d);return u[f]}),this._register(QA(this._fetchInlineEditsPromise))}async triggerExplicitly(e){Fm(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){Fm(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 O0;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},ig=vu,vu._modelId=0,vu);Ay=ig=uV([OC(4,Ii),OC(5,e9),OC(6,vo)],Ay);class hV{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class fV extends Rt{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Yo(this,[]),this.range=Wn(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(is(()=>{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 gV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Wf=function(o,e){return function(t,i){e(t,i,o)}},ky,_u;let Ll=(_u=class extends Rt{static get(e){return e.getContribution(ky.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=PL("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Ia(this.editor),this._selection=Wn(this,a=>this._editorObs.cursorSelection.read(a)??new Ui(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=Hc(this,a=>{if(!this._enabled.read(a)||this._editorObs.isReadonly.read(a))return;const d=this._editorObs.model.read(a);return d?this._instantiationService.createInstance(d1(Ay,a),d,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=G_(this,(a,d)=>{var u;return d||((u=this.model.read(a))==null?void 0:u.inlineEdit.read(a))!==void 0}),this._widget=Hc(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(d1(Dy,a),this.editor,this.model.map((d,u)=>d==null?void 0:d.inlineEdit.read(u)),pV(d=>{var u;return((u=this.model.read(d))==null?void 0:u.userPrompt)??Yo("empty","")}))}),this._register(t8(of,this._contextKeyService,a=>{var d;return!!((d=this.model.read(a))!=null&&d.inlineEdit.read(a))})),this._register(t8(nV,this._contextKeyService,a=>{var d;return!!((d=this.model.read(a))!=null&&d.isPinned.read(a))})),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}},ky=_u,_u.ID="editor.contrib.inlineEditsController",_u);Ll=ky=gV([Wf(1,nn),Wf(2,Fn),Wf(3,gr),Wf(4,Ii),Wf(5,ss)],Ll);function pV(o){return Ck(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function Jp(o){return{label:o.value,alias:o.original}}const S_=class S_ extends _t{constructor(){super({id:S_.ID,...Jp(ki("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:qe.and(q.writable,of),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Ll.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};S_.ID=iV;let By=S_;const D_=class D_ extends _t{constructor(){super({id:D_.ID,...Jp(ki("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:qe.and(q.writable,of),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Ll.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};D_.ID=tV;let Fy=D_;class xV extends _t{constructor(){super({id:"editor.action.inlineEdits.trigger",...Jp(ki("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:q.writable})}async run(e,t){const i=Ll.get(t);await lk(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class mV extends _t{constructor(){super({id:eV,...Jp(ki("action.inlineEdits.accept","Accept Inline Edit")),precondition:of,menuOpts:{menuId:ni.InlineEditsActions,title:S("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Zi.check},kbOpts:{primary:2058,weight:2e4,kbExpr:of}})}async run(e,t){var n;t instanceof Hr&&(t=t.getParentEditor());const i=Ll.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const A_=class A_ extends _t{constructor(){super({id:A_.ID,...Jp(ki("action.inlineEdits.hide","Hide Inline Edit")),precondition:of,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Ll.get(t);Xu(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};A_.ID="editor.action.inlineEdits.hide";let Ly=A_;un(Ll.ID,Ll,3);Fe(xV);Fe(By);Fe(Fy);Fe(mV);Fe(Ly);const Uu={Visible:new En("parameterHintsVisible",!1),MultipleSignatures:new En("parameterHintsMultipleSignatures",!1)};async function HB(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){_s(a)}}Qn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;Ln(jn.isUri(t)),Ln(Li.isIPosition(i)),Ln(typeof n=="string"||!n);const s=o.get(Ii),r=await o.get(fa).createModelReference(t);try{const a=await HB(s.signatureHelpProvider,r.object.textEditorModel,Li.lift(i),{triggerKind:mc.Invoke,isRetrigger:!1,triggerCharacter:n},an.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var tc;(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})(tc||(tc={}));const k_=class k_ extends Rt{constructor(e,t,i=k_.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new rn),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=tc.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Jo),this.triggerChars=new km,this.retriggerChars=new km,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Oc(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=tc.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(qn)}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 tc.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(vV);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 tc.Pending(Us(d=>HB(this.providers,r,a,s,d)),i);try{const d=await this.state.request;return e!==this.triggerId?(d==null||d.dispose(),!1):!d||!d.value.signatures||d.value.signatures.length===0?(d==null||d.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new tc.Active(d.value),this._lastSignatureHelpResult.value=d,this._onChangedHints.fire(this.state.hints),!0)}catch(d){return e===this.triggerId&&(this.state=tc.Default),qn(d),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const i of t.signatureHelpTriggerCharacters||[])if(i.length){const n=i.charCodeAt(0);this.triggerChars.add(n),this.retriggerChars.add(n)}for(const i of t.signatureHelpRetriggerCharacters||[])i.length&&this.retriggerChars.add(i.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:mc.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:mc.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:mc.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};k_.DEFAULT_DELAY=120;let Iy=k_;function vV(o,e){switch(e.triggerKind){case mc.Invoke:return e;case mc.ContentChange:return o;case mc.TriggerCharacter:default:return e}}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},Wx=function(o,e){return function(t,i){e(t,i,o)}},Py;const Wo=mi,bV=ms("parameter-hints-next",Zi.chevronDown,S("parameterHintsNextIcon","Icon for show next parameter hint.")),CV=ms("parameter-hints-previous",Zi.chevronUp,S("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var bu;let Ty=(bu=class extends Rt{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new Tt),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new uf({editor:e},s,n)),this.keyVisible=Uu.Visible.bindTo(i),this.keyMultipleSignatures=Uu.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=Wo(".editor-widget.parameter-hints-widget"),t=ui(e,Wo(".phwrapper"));t.tabIndex=-1;const i=ui(t,Wo(".controls")),n=ui(i,Wo(".button"+Mn.asCSSSelector(CV))),s=ui(i,Wo(".overloads")),r=ui(i,Wo(".button"+Mn.asCSSSelector(bV)));this._register(Bn(n,"click",p=>{Am.stop(p),this.previous()})),this._register(Bn(r,"click",p=>{Am.stop(p),this.next()}));const a=Wo(".body"),d=new ik(a,{alwaysConsumeMouseWheel:!0});this._register(d),t.appendChild(d.getDomNode());const u=ui(a,Wo(".signature")),f=ui(a,Wo(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:u,overloads:s,docs:f,scrollbar:d},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(p=>{this.visible&&this.editor.layoutContentWidget(this)}));const g=()=>{if(!this.domNodes)return;const p=this.editor.getOption(50),C=this.domNodes.element;C.style.fontSize=`${p.fontSize}px`,C.style.lineHeight=`${p.lineHeight/p.fontSize}`,C.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",p.fontFamily),C.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",Hw.fontFamily)};g(),this._register(Is.chain(this.editor.onDidChangeConfiguration.bind(this.editor),p=>p.filter(C=>C.hasChanged(50)))(g)),this._register(this.editor.onDidLayoutChange(p=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{var e;(e=this.domNodes)==null||e.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){var e;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,(e=this.domNodes)==null||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){if(this.renderDisposeables.clear(),!this.domNodes)return;const t=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",t),this.keyMultipleSignatures.set(t),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const i=e.signatures[e.activeSignature];if(!i)return;const n=ui(this.domNodes.signature,Wo(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const u=ui(n,Wo("span"));u.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const u=Wo("span.documentation");if(typeof a.documentation=="string")u.textContent=a.documentation;else{const f=this.renderMarkdownDocs(a.documentation);u.appendChild(f.element)}ui(this.domNodes.docs,Wo("p",{},u))}if(i.documentation!==void 0)if(typeof i.documentation=="string")ui(this.domNodes.docs,Wo("p",{},i.documentation));else{const u=this.renderMarkdownDocs(i.documentation);ui(this.domNodes.docs,u.element)}const d=this.hasDocs(i,a);if(this.domNodes.signature.classList.toggle("has-docs",d),this.domNodes.docs.classList.toggle("empty",!d),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,a){let u="";const f=i.parameters[r];Array.isArray(f.label)?u=i.label.substring(f.label[0],f.label[1]):u=f.label,f.documentation&&(u+=typeof f.documentation=="string"?`, ${f.documentation}`:`, ${f.documentation.value}`),i.documentation&&(u+=typeof i.documentation=="string"?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==u&&(Nr(S("hint","{0}, hint",u)),this.announcedLabel=u)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new Oo,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"&&$h(t.documentation).length>0||t&&typeof t.documentation=="object"&&$h(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&$h(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&$h(e.documentation.value).length>0)}renderParameters(e,t,i){const[n,s]=this.getParameterLabelOffsets(t,i),r=document.createElement("span");r.textContent=t.label.substring(0,n);const a=document.createElement("span");a.textContent=t.label.substring(n,s),a.className="parameter active";const d=document.createElement("span");d.textContent=t.label.substring(s),ui(e,r,a,d)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const n=new RegExp(`(\\W|^)${Lg(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 Py.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)}},Py=bu,bu.ID="editor.widget.parameterHintsWidget",bu);Ty=Py=_V([Wx(2,Fn),Wx(3,da),Wx(4,ha),Wx(5,ua)],Ty);vi("editorHoverWidget.highlightForeground",rk,S("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var EV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},My,Cu;let rf=(Cu=class extends Rt{static get(e){return e.getContribution(My.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new Iy(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 Lw(()=>this._register(t.createInstance(Ty,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)}},My=Cu,Cu.ID="editor.controller.parameterHints",Cu);rf=My=EV([$D(1,nn),$D(2,Ii)],rf);class yV extends _t{constructor(){super({id:"editor.action.triggerParameterHints",label:S("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:q.hasSignatureHelpProvider,kbOpts:{kbExpr:q.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=rf.get(t);i==null||i.trigger({triggerKind:mc.Invoke})}}un(rf.ID,rf,2);Fe(yV);const Q9=175,J9=Ao.bindToContribution(rf.get);Mi(new J9({id:"closeParameterHints",precondition:Uu.Visible,handler:o=>o.cancel(),kbOpts:{weight:Q9,kbExpr:q.focus,primary:9,secondary:[1033]}}));Mi(new J9({id:"showPrevParameterHint",precondition:qe.and(Uu.Visible,Uu.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:Q9,kbExpr:q.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));Mi(new J9({id:"showNextParameterHint",precondition:qe.and(Uu.Visible,Uu.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:Q9,kbExpr:q.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));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},SV=function(o,e){return function(t,i){e(t,i,o)}};class DV{constructor(e){this.instantiationService=e}init(...e){}}function AV(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=Lp((n,s)=>{const r=d1(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function kV(o){return TL()?AV(o,Ry):o()}let Ry=class extends DV{constructor(e,t){super(t),this.init(e)}};Ry=wV([SV(1,nn)],Ry);un(op.ID,kV(()=>op),0);vi("editor.placeholder.foreground",ML,S("placeholderForeground","Foreground color of the placeholder text in the editor."));var BV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zx=function(o,e){return function(t,i){e(t,i,o)}};const _f=new En("renameInputVisible",!1,S("renameInputVisible","Whether the rename input widget is visible"));new En("renameInputFocused",!1,S("renameInputFocused","Whether the rename input widget is focused"));let Ny=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 Tt,this._visibleContextKey=_f.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new Oo,this._inputWithButton=new FV,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 eS(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(RL),i=e.getColor(NL);this._domNode.style.backgroundColor=String(e.getColor(nk)??""),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(OL)??"");const n=e.getColor(HL);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(i8)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(i8)??""),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;Ln(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=Ip(this.getDomNode().ownerDocument.body),t=yo(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}=rp.getLayoutInfo({lineHeight:n}),r=this._nPxAvailableBelow>s*6?[2,1]:[1,2];return{position:this._position,preference:r}}beforeRender(){var i,n;const[e,t]=this._acceptKeybindings;return this._label.innerText=S({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",(i=this._keybindingService.lookupKeybinding(e))==null?void 0:i.getLabel(),(n=this._keybindingService.lookupKeybinding(t))==null?void 0:n.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(e===null){this.cancelInput(!0,"afterRender (because position is null)");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;Ln(this._renameCandidateListView),Ln(this._nPxAvailableAbove!==void 0),Ln(this._nPxAvailableBelow!==void 0);const t=Vh(this._inputWithButton.domNode),i=Vh(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:yr(this._inputWithButton.domNode)})}acceptInput(e){var t;this._trace("invoking acceptInput"),(t=this._currentAcceptInput)==null||t.call(this,e)}cancelInput(e,t){var i;(i=this._currentCancelInput)==null||i.call(this,e)}focusNextRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(e,t,i,n,s){const{start:r,end:a}=this._getSelection(e,t);this._renameCts=s;const d=new Tt;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,n===void 0?this._inputWithButton.button.style.display="none":(this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=n,this._requestRenameCandidates(t,!1),d.add(Bn(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),d.add(Bn(this._inputWithButton.button,as.KEY_DOWN,f=>{const g=new t9(f);(g.equals(3)||g.equals(10))&&(g.stopPropagation(),g.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new Li(e.startLineNumber,e.startColumn),this._currentName=t,this._inputWithButton.input.value=t,this._inputWithButton.input.setAttribute("selectionStart",r.toString()),this._inputWithButton.input.setAttribute("selectionEnd",a.toString()),this._inputWithButton.input.size=Math.max((e.endColumn-e.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),d.add(is(()=>{this._renameCts=void 0,s.dispose(!0)})),d.add(is(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),d.add(is(()=>this._candidates.clear()));const u=new V_;return u.p.finally(()=>{d.dispose(),this._hide()}),this._currentCancelInput=f=>{var g;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(g=this._renameCandidateListView)==null||g.clearCandidates(),u.complete(f),!0},this._currentAcceptInput=f=>{this._trace("invoking _currentAcceptInput"),Ln(this._renameCandidateListView!==void 0);const g=this._renameCandidateListView.nCandidates;let p,C;const b=this._renameCandidateListView.focusedCandidate;if(b!==void 0?(this._trace("using new name from renameSuggestion"),p=b,C={k:"renameSuggestion"}):(this._trace("using new name from inputField"),p=this._inputWithButton.input.value,C=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),p===t||p.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),u.complete({newName:p,wantsPreview:i&&f,stats:{source:C,nRenameSuggestions:g,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},d.add(s.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),d.add(this._editor.onDidBlurEditorWidget(()=>{var f;return this.cancelInput(!((f=this._domNode)!=null&&f.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),u.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),Ln(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new qs;const i=t?u1.Invoke:u1.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){Ln(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!Q.isEmpty(i)&&!Q.spansMultipleLines(i)&&Q.containsRange(e,i)&&(n=Math.max(0,i.startColumn-e.startColumn),s=Math.min(e.endColumn,i.endColumn)-e.startColumn),{start:n,end:s}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute("selectionStart")),parseInt(this._inputWithButton.input.getAttribute("selectionEnd")))},100)}async _updateRenameCandidates(e,t,i){const n=(...u)=>this._trace("_updateRenameCandidates",...u);n("start");const s=await Sp(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),s===void 0){n("returning early - received updateRenameCandidates results - undefined");return}const r=s.flatMap(u=>u.status==="fulfilled"&&Yx(u.value)?u.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=lA(r,u=>u.newSymbolName);n(`distinct candidates - ${a.length} candidates.`);const d=a.filter(({newSymbolName:u})=>u.trim().length>0&&u!==this._inputWithButton.input.value&&u!==t&&!this._candidates.has(u));if(n(`valid distinct candidates - ${r.length} candidates.`),d.forEach(u=>this._candidates.add(u.newSymbolName)),d.length<1){n("returning early - no valid distinct candidates");return}n("setting candidates"),this._renameCandidateListView.setCandidates(d),n("asking editor to re-layout"),this._editor.layoutContentWidget(this)}_hide(){this._trace("invoked _hide"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){const e=this._editor.getVisibleRanges();let t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace("RenameWidget",...e)}};Ny=BV([zx(2,Wr),zx(3,Ds),zx(4,Fn),zx(5,Yu)],Ny);class eS{constructor(e,t){this._disposables=new Tt,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=eS._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(ak({listInactiveFocusForeground:sk,listInactiveFocusBackground:ok}))}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`,P0(S("renameSuggestionsReceivedAria","Received {0} rename suggestions",e.length))}clearCandidates(){this._listContainer.style.height="0px",this._listContainer.style.width="0px",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;const e=this._listWidget.getSelectedElements()[0];if(e!==void 0)return e.newSymbolName;const t=this._listWidget.getFocusedElements()[0];if(t!==void 0)return t.newSymbolName}focusNext(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();if(e.length===0)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;if(e[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;{this._listWidget.focusNext();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}focusPrevious(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();if(e.length===0){this._listWidget.focusLast();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}else{if(e[0]===0)return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:e}=rp.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 rp(r,i)}renderElement(r,a,d){d.populate(r)}disposeTemplate(r){r.dispose()}};return new Mw("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class FV{constructor(){this._onDidInputChange=new rn,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new Tt}get domNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="rename-input-with-button",this._domNode.style.display="flex",this._domNode.style.flexDirection="row",this._domNode.style.alignItems="center",this._inputNode=document.createElement("input"),this._inputNode.className="rename-input",this._inputNode.type="text",this._inputNode.style.border="none",this._inputNode.setAttribute("aria-label",S("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._inputNode),this._buttonNode=document.createElement("div"),this._buttonNode.className="rename-suggestions-button",this._buttonNode.setAttribute("tabindex","0"),this._buttonGenHoverText=S("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=S("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=WL().setupManagedHover(Q_("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(Bn(this.input,as.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(Bn(this.input,as.KEY_DOWN,e=>{const t=new t9(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(Bn(this.input,as.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(Bn(this.input,as.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(Bn(this.input,as.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return Ln(this._inputNode),this._inputNode}get button(){return Ln(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=h1(Zi.sparkle)),Wa(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=h1(Zi.primitiveSquare)),Wa(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 Ag=class Ag{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=`${Ag._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=h1(Zi.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),KA(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(zL.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+Ag._PADDING*2}}dispose(){}};Ag._PADDING=2;let rp=Ag;var LV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Yl=function(o,e){return function(t,i){e(t,i,o)}},Oy;class tS{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 Q(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
|
|
76
|
-
`):void 0}:{range:Q.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join(`
|
|
77
|
-
`):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,i,n){const s=this._providers[t];if(!s)return{edits:[],rejectReason:i.join(`
|
|
78
|
-
`)};const r=await s.provideRenameEdits(this.model,this.position,e,n);if(r){if(r.rejectReason)return this._provideRenameEdits(e,t+1,i.concat(r.rejectReason),n)}else return this._provideRenameEdits(e,t+1,i.concat(S("no result","No result.")),n);return r}}async function IV(o,e,t,i){const n=new tS(e,t,o),s=await n.resolveRenameLocation(an.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,an.None)}var Eu;let $c=(Eu=class{static get(e){return e.getContribution(Oy.ID)}constructor(e,t,i,n,s,r,a,d,u){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=s,this._logService=r,this._configService=a,this._languageFeaturesService=d,this._telemetryService=u,this._disposableStore=new Tt,this._cts=new qs,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Ny,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var b,y;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new qs,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new tS(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new L0(this.editor,5,void 0,this._cts.token);let s;try{e("resolving rename location");const w=i.resolveRenameLocation(n.token);this._progressService.showWhile(w,250),s=await w,e("resolved rename location")}catch(w){w instanceof j_?e("resolve rename location cancelled",JSON.stringify(w,null," ")):(e("resolve rename location failed",w instanceof Error?w:JSON.stringify(w,null," ")),(typeof w=="string"||Zx(w))&&((b=Mo.get(this.editor))==null||b.showMessage(w||S("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),t)));return}finally{n.dispose()}if(!s){e("returning early - no loc");return}if(s.rejectReason){e(`returning early - rejected with reason: ${s.rejectReason}`,s.rejectReason),(y=Mo.get(this.editor))==null||y.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new L0(this.editor,5,s.range,this._cts.token),a=this.editor.getModel(),d=this._languageFeaturesService.newSymbolNamesProvider.all(a),u=await Promise.all(d.map(async w=>[w,await w.supportsAutomaticNewSymbolNamesTriggerKind??!1])),f=(w,A)=>{let I=u.slice();return w===u1.Automatic&&(I=I.filter(([M,R])=>R)),I.map(([M])=>M.provideNewSymbolNames(a,s.range,w,A))};e("creating rename input field and awaiting its result");const g=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),p=await this._renameWidget.getInput(s.range,s.text,g,d.length>0?f:void 0,r);if(e("received response from rename input field"),d.length>0&&this._reportTelemetry(d.length,a.getLanguageId(),p),typeof p=="boolean"){e(`returning early - rename input field response - ${p}`),p&&this.editor.focus(),r.dispose();return}this.editor.focus(),e("requesting rename edits");const C=Sp(i.provideRenameEdits(p.newName,r.token),r.token).then(async w=>{if(!w){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(w.rejectReason){e(`returning early - rejected with reason: ${w.rejectReason}`),this._notificationService.info(w.rejectReason);return}this.editor.setSelection(Q.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(w,{editor:this.editor,showPreview:p.wantsPreview,label:S("label","Renaming '{0}' to '{1}'",s==null?void 0:s.text,p.newName),code:"undoredo.rename",quotableLabel:S("quotableLabel","Renaming {0} to {1}",s==null?void 0:s.text,p.newName),respectAutoSaveConfig:!0}).then(A=>{e("edits applied"),A.ariaSummary&&Nr(S("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",s.text,p.newName,A.ariaSummary))}).catch(A=>{e(`error when applying edits ${JSON.stringify(A,null," ")}`),this._notificationService.error(S("rename.failedApply","Rename failed to apply edits")),this._logService.error(A)})},w=>{e("error when providing rename edits",JSON.stringify(w,null," ")),this._notificationService.error(S("rename.failed","Rename failed to compute edits")),this._logService.error(w)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(C,250),C}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,i){const n=typeof i=="boolean"?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:i.stats.source.k,nRenameSuggestions:i.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:i.stats.timeBeforeFirstInputFieldEdit,wantsPreview:i.wantsPreview,nRenameSuggestionsInvocations:i.stats.nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:i.stats.hadAutomaticRenameSuggestionsInvocation};this._telemetryService.publicLog2("renameInvokedEvent",n)}},Oy=Eu,Eu.ID="editor.contrib.renameController",Eu);$c=Oy=LV([Yl(1,nn),Yl(2,mo),Yl(3,W_),Yl(4,Ap),Yl(5,Yu),Yl(6,VL),Yl(7,Ii),Yl(8,ua)],$c);class PV extends _t{constructor(){super({id:"editor.action.rename",label:S("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:qe.and(q.writable,q.hasRenameProvider),kbOpts:{kbExpr:q.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(bs),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return jn.isUri(n)&&Li.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))))},qn):super.runCommand(e,t)}run(e,t){const i=e.get(Yu),n=$c.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}un($c.ID,$c,4);Fe(PV);const iS=Ao.bindToContribution($c.get);Mi(new iS({id:"acceptRenameInput",precondition:_f,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:qe.and(q.focus,qe.not("isComposing")),primary:3}}));Mi(new iS({id:"acceptRenameInputWithPreview",precondition:qe.and(_f,qe.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:qe.and(q.focus,qe.not("isComposing")),primary:2051}}));Mi(new iS({id:"cancelRenameInput",precondition:_f,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:q.focus,primary:9,secondary:[1033]}}));Vn(class extends Do{constructor(){super({id:"focusNextRenameSuggestion",title:{...ki("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:_f,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(bs).getFocusedCodeEditor();if(!t)return;const i=$c.get(t);i&&i.focusNextRenameSuggestion()}});Vn(class extends Do{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...ki("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:_f,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(bs).getFocusedCodeEditor();if(!t)return;const i=$c.get(t);i&&i.focusPreviousRenameSuggestion()}});ko("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;Ln(typeof n=="string");const{renameProvider:s}=o.get(Ii);return IV(s,e,t,n)});ko("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(Ii),s=await new tS(e,t,i).resolveRenameLocation(an.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});ca.as(kp.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:S("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var TV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},UD=function(o,e){return function(t,i){e(t,i,o)}},D0;let Lv=(D0=class extends Rt{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 Ps(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;const t=this.editor.getModel().getLanguageId();if(!t)return;const i=this.languageConfigurationService.getLanguageConfiguration(t).comments,n=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;if(!(!i&&!(n!=null&&n.markers)))return{foldingRules:n,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}}findSectionHeaders(){var i,n;if(!this.editor.hasModel()||!((i=this.options)!=null&&i.findMarkSectionHeaders)&&!((n=this.options)!=null&&n.findRegionSectionHeaders))return;const e=this.editor.getModel();if(e.isDisposed()||e.isTooLargeForSyncing())return;const t=e.getVersionId();this.editorWorkerService.findSectionHeaders(e.uri,this.options).then(s=>{e.isDisposed()||e.getVersionId()!==t||this.updateDecorations(s)})}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter(s=>{if(!s.shouldBeInComments)return!0;const r=t.validateRange(s.range),a=t.tokenization.getLineTokens(r.startLineNumber),d=a.findTokenIndexAtOffset(r.startColumn-1),u=a.getStandardTokenType(d);return a.getLanguageId(d)===t.getLanguageId()&&u===1}));const i=Object.values(this.currentOccurrences).map(s=>s.decorationId),n=e.map(s=>MV(s));this.editor.changeDecorations(s=>{const r=s.deltaDecorations(i,n);this.currentOccurrences={};for(let a=0,d=r.length;a<d;a++){const u={sectionHeader:e[a],decorationId:r[a]};this.currentOccurrences[u.decorationId]=u}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}},D0.ID="editor.sectionHeaderDetector",D0);Lv=TV([UD(1,Vs),UD(2,Nl)],Lv);function MV(o){return{range:o.range,options:mn.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}un(Lv.ID,Lv,1);function RV(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 NV(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return jL()||RV(e),$L.wrap(e)}function WB(o){const e=new Uint32Array(OV(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 NV(e)}function OV(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 Bb(o){return o&&!!o.data}function zB(o){return o&&Array.isArray(o.edits)}class HV{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function VB(o,e){return o.has(e)}function WV(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function jB(o,e,t,i,n){const s=WV(o,e),r=await Promise.all(s.map(async a=>{let d,u=null;try{d=await a.provideDocumentSemanticTokens(e,a===t?i:null,n)}catch(f){u=f,d=null}return(!d||!Bb(d)&&!zB(d))&&(d=null),new HV(a,d,u)}));for(const a of r){if(a.error)throw a.error;if(a.tokens)return a}return r.length>0?r[0]:null}function zV(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class VV{constructor(e,t){this.provider=e,this.tokens=t}}function jV(o,e){return o.has(e)}function $B(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function nS(o,e,t,i){const n=$B(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(d){_s(d),a=null}return(!a||!Bb(a))&&(a=null),new VV(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}Qn.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;Ln(t instanceof jn);const i=o.get(vo).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Ii),s=zV(n,i);return s?s[0].getLegend():o.get(zs).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});Qn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;Ln(t instanceof jn);const i=o.get(vo).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Ii);if(!VB(n,i))return o.get(zs).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await jB(n,i,null,null,an.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!Bb(a))return;const d=WB({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),d});Qn.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;Ln(t instanceof jn);const n=o.get(vo).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Ii),r=$B(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!Q.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 nS(s,n,Q.lift(i),an.None);if(a)return a.provider.getLegend()});Qn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;Ln(t instanceof jn),Ln(Q.isIRange(i));const n=o.get(vo).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Ii),r=await nS(s,n,Q.lift(i),an.None);if(!(!r||!r.tokens))return WB({id:0,type:"full",data:r.tokens.data})});const sS="editor.semanticHighlighting";function mm(o,e,t){var n;const i=(n=t.getValue(sS,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var UB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},La=function(o,e){return function(t,i){e(t,i,o)}},ec;let Hy=class extends Rt{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=f=>{this._watchers[f.uri.toString()]=new Wy(f,e,i,s,r)},d=(f,g)=>{g.dispose(),delete this._watchers[f.uri.toString()]},u=()=>{for(const f of t.getModels()){const g=this._watchers[f.uri.toString()];mm(f,i,n)?g||a(f):g&&d(f,g)}};t.getModels().forEach(f=>{mm(f,i,n)&&a(f)}),this._register(t.onModelAdded(f=>{mm(f,i,n)&&a(f)})),this._register(t.onModelRemoved(f=>{const g=this._watchers[f.uri.toString()];g&&d(f,g)})),this._register(n.onDidChangeConfiguration(f=>{f.affectsConfiguration(sS)&&u()})),this._register(i.onDidColorThemeChange(u))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};Hy=UB([La(0,i9),La(1,vo),La(2,Wr),La(3,ss),La(4,gr),La(5,Ii)],Hy);var Mc;let Wy=(Mc=class extends Rt{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:ec.REQUEST_MIN_DELAY,max:ec.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new Ps(()=>this._fetchDocumentSemanticTokensNow(),ec.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=()=>{uo(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),uo(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!VB(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new qs,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=jB(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const s=[],r=this._model.onDidChangeContent(d=>{s.push(d)}),a=new Oo(!1);n.then(d=>{if(this._debounceInformation.update(this._model,a.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),!d)this._setDocumentSemanticTokens(null,null,null,s);else{const{provider:u,tokens:f}=d,g=this._semanticTokensStylingService.getStyling(u);this._setDocumentSemanticTokens(u,f||null,g,s)}},d=>{d&&(qc(d)||typeof d.message=="string"&&d.message.indexOf("busy")!==-1)||qn(d),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),(s.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,n,s){s=Math.min(s,i.length-n,e.length-t);for(let r=0;r<s;r++)i[n+r]=e[t+r]}_setDocumentSemanticTokens(e,t,i,n){const s=this._currentDocumentResponse,r=()=>{(n.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!i){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),r();return}if(zB(t)){if(!s){this._model.tokenization.setSemanticTokens(null,!0);return}if(t.edits.length===0)t={resultId:t.resultId,data:s.data};else{let a=0;for(const p of t.edits)a+=(p.data?p.data.length:0)-p.deleteCount;const d=s.data,u=new Uint32Array(d.length+a);let f=d.length,g=u.length;for(let p=t.edits.length-1;p>=0;p--){const C=t.edits[p];if(C.start>d.length){i.warnInvalidEditStart(s.resultId,t.resultId,p,C.start,d.length),this._model.tokenization.setSemanticTokens(null,!0);return}const b=f-(C.start+C.deleteCount);b>0&&(ec._copy(d,f-b,u,g-b,b),g-=b),C.data&&(ec._copy(C.data,0,u,g-C.data.length,C.data.length),g-=C.data.length),f=C.start}f>0&&ec._copy(d,0,u,0,f),t={resultId:t.resultId,data:u}}}if(Bb(t)){this._currentDocumentResponse=new $V(e,t.resultId,t.data);const a=Ek(t,i,this._model.getLanguageId());if(n.length>0)for(const d of n)for(const u of a)for(const f of d.changes)u.applyEdit(f.range,f.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}},ec=Mc,Mc.REQUEST_MIN_DELAY=300,Mc.REQUEST_MAX_DELAY=2e3,Mc);Wy=ec=UB([La(1,i9),La(2,Wr),La(3,gr),La(4,Ii)],Wy);class $V{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}df(Hy);var UV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zf=function(o,e){return function(t,i){e(t,i,o)}},A0;let Iv=(A0=class extends Rt{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 Ps(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const a=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{a()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),a()})),this._register(this._editor.onDidChangeModelContent(d=>{this._cancelAll(),a()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),a()})),this._register(this._configurationService.onDidChangeConfiguration(d=>{d.affectsConfiguration(sS)&&(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(!mm(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!jV(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=Us(r=>Promise.resolve(nS(this._provider,e,t,r))),s=new Oo(!1);return n.then(r=>{if(this._debounceInformation.update(e,s.elapsed()),!r||!r.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:a,tokens:d}=r,u=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,Ek(d,u,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},A0.ID="editor.contrib.viewportSemanticTokens",A0);Iv=UV([zf(1,i9),zf(2,Wr),zf(3,ss),zf(4,gr),zf(5,Ii)],Iv);un(Iv.ID,Iv,1);class qV{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s),this.selectSubwords&&this._addInWordRanges(s,e,n),this._addWordRanges(s,e,n),this._addWhitespaceLine(s,e,n),s.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const n=t.getWordAtPosition(i);if(!n)return;const{word:s,startColumn:r}=n,a=i.column-r;let d=a,u=a,f=0;for(;d>=0;d--){const g=s.charCodeAt(d);if(d!==a&&(g===95||g===45))break;if(n8(g)&&s8(f))break;f=g}for(d+=1;u<s.length;u++){const g=s.charCodeAt(u);if(s8(g)&&n8(f))break;if(g===95||g===45)break;f=g}d<u&&e.push({range:new Q(i.lineNumber,r+d,i.lineNumber,r+u)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new Q(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 Q(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var GV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},KV=function(o,e){return function(t,i){e(t,i,o)}},zy;class oS{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 oS(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var yu;let ap=(yu=class{static get(e){return e.getContribution(zy.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 GB(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),an.None).then(s=>{var r;if(!(!Xo(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!ja(this._editor.getSelections(),t,(a,d)=>a.equalsSelection(d)))){for(let a=0;a<s.length;a++)s[a]=s[a].filter(d=>d.containsPosition(t[a].getStartPosition())&&d.containsPosition(t[a].getEndPosition())),s[a].unshift(t[a]);this._state=s.map(a=>new oS(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=>Ui.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},zy=yu,yu.ID="editor.contrib.smartSelectController",yu);ap=zy=GV([KV(1,Ii)],ap);class qB extends _t{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=ap.get(t);i&&await i.run(this._forward)}}class ZV extends qB{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:S("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:ni.MenubarSelectionMenu,group:"1_basic",title:S({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}Qn.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class XV extends qB{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:S("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:ni.MenubarSelectionMenu,group:"1_basic",title:S({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}un(ap.ID,ap,4);Fe(ZV);Fe(XV);async function GB(o,e,t,i,n){const s=o.all(e).concat(new qV(i.selectSubwords));s.length===1&&s.unshift(new xv);const r=[],a=[];for(const d of s)r.push(Promise.resolve(d.provideSelectionRanges(e,t,n)).then(u=>{if(Xo(u)&&u.length===t.length)for(let f=0;f<t.length;f++){a[f]||(a[f]=[]);for(const g of u[f])Q.isIRange(g.range)&&Q.containsPosition(g.range,t[f])&&a[f].push(Q.lift(g.range))}},_s));return await Promise.all(r),a.map(d=>{if(d.length===0)return[];d.sort((p,C)=>Li.isBefore(p.getStartPosition(),C.getStartPosition())?1:Li.isBefore(C.getStartPosition(),p.getStartPosition())||Li.isBefore(p.getEndPosition(),C.getEndPosition())?-1:Li.isBefore(C.getEndPosition(),p.getEndPosition())?1:0);const u=[];let f;for(const p of d)(!f||Q.containsRange(p,f)&&!Q.equalsRange(p,f))&&(u.push(p),f=p);if(!i.selectLeadingAndTrailingWhitespace)return u;const g=[u[0]];for(let p=1;p<u.length;p++){const C=u[p-1],b=u[p];if(b.startLineNumber!==C.startLineNumber||b.endLineNumber!==C.endLineNumber){const y=new Q(C.startLineNumber,e.getLineFirstNonWhitespaceColumn(C.startLineNumber),C.endLineNumber,e.getLineLastNonWhitespaceColumn(C.endLineNumber));y.containsRange(C)&&!y.equalsRange(C)&&b.containsRange(y)&&!b.equalsRange(y)&&g.push(y);const w=new Q(C.startLineNumber,1,C.endLineNumber,e.getLineMaxColumn(C.endLineNumber));w.containsRange(C)&&!w.equalsRange(y)&&b.containsRange(w)&&!b.equalsRange(w)&&g.push(w)}g.push(b)}return g})}Qn.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;Ln(jn.isUri(t));const n=o.get(Ii).selectionRangeProvider,s=await o.get(fa).createModelReference(t);try{return GB(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},an.None)}finally{s.dispose()}});const YV=Object.freeze({View:ki("view","View"),Help:ki("help","Help"),Test:ki("test","Test"),File:ki("file","File"),Preferences:ki("preferences","Preferences"),Developer:ki({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class bg{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&&ja(this.startLineNumbers,e.startLineNumbers)&&ja(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new bg([],[],0)}}const qD=$A("stickyScrollViewLayer",{createHTML:o=>o}),HC="data-sticky-line-index",GD="data-sticky-is-line",QV="data-sticky-is-line-number",KD="data-sticky-is-folding-icon";class JV extends Rt{constructor(e){super(),this._editor=e,this._foldingIconStore=new Tt,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 Hr),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(116).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(116)&&t(),i.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))})),this._register(this._editor.onDidScrollChange(i=>{i.scrollLeftChanged&&t(),i.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange(i=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,i){if(i===void 0&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const n=this._isWidgetHeightZero(e),s=n?void 0:e,r=n?0:this._findLineToRebuildWidgetFrom(e,i);this._renderRootNode(s,t,r),this._previousState=e}_isWidgetHeightZero(e){if(!e)return!0;const t=e.startLineNumbers.length*this._lineHeight+e.lastLineRelativePosition;if(t>0){this._lastLineRelativePosition=e.lastLineRelativePosition;const i=[...e.startLineNumbers];e.showEndForLine!==null&&(i[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];return t===0}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(t!==void 0)return t;const i=this._previousState,n=e.startLineNumbers.findIndex(s=>!i.startLineNumbers.includes(s));return n===-1?0:n}_updateWidgetWidth(){const e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-e.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${e.width-e.verticalScrollbarWidth}px`}_clearStickyLinesFromLine(e){this._foldingIconStore.clear();for(let t=e;t<this._renderedStickyLines.length;t++){const i=this._renderedStickyLines[t];i.lineNumberDomNode.remove(),i.lineDomNode.remove()}this._renderedStickyLines=this._renderedStickyLines.slice(0,e),this._rootDomNode.style.display="none"}_useFoldingOpacityTransition(e){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${e?.5:0}s`)}_setFoldingIconsVisibility(e){for(const t of this._renderedStickyLines){const i=t.foldingIcon;i&&i.setVisible(e?!0:i.isCollapsed)}}async _renderRootNode(e,t,i){if(this._clearStickyLinesFromLine(i),!e)return;for(const a of this._renderedStickyLines)this._updateTopAndZIndexOfStickyLine(a);const n=this._editor.getLayoutInfo(),s=this._lineNumbers.slice(i);for(const[a,d]of s.entries()){const u=this._renderChildNode(a+i,d,t,n);u&&(this._linesDomNode.appendChild(u.lineDomNode),this._lineNumbersDomNode.appendChild(u.lineNumberDomNode),this._renderedStickyLines.push(u))}t&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin));const r=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${r}px`,this._linesDomNodeScrollable.style.height=`${r}px`,this._rootDomNode.style.height=`${r}px`,this._rootDomNode.style.marginLeft="0px",this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(a=>a.scrollWidth))+n.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){this._editor.getOption(111)==="mouseover"&&(this._foldingIconStore.add(Bn(this._lineNumbersDomNode,as.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(Bn(this._lineNumbersDomNode,as.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 Li(t,1)).lineNumber,a=s.getViewLineRenderingData(r),d=this._editor.getOption(68);let u;try{u=Og.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{u=[]}const f=new GA(!0,!0,a.content,a.continuesWithWrappedLine,a.isBasicASCII,a.containsRTL,0,a.tokens,u,a.tabSize,a.startVisibleColumn,1,1,1,500,"none",!0,!0,null),g=new UA(2e3),p=qA(f,g);let C;qD?C=qD.createHTML(g.build()):C=g.build();const b=document.createElement("span");b.setAttribute(HC,String(e)),b.setAttribute(GD,""),b.setAttribute("role","listitem"),b.tabIndex=0,b.className="sticky-line-content",b.classList.add(`stickyLine${t}`),b.style.lineHeight=`${this._lineHeight}px`,b.innerHTML=C;const y=document.createElement("span");y.setAttribute(HC,String(e)),y.setAttribute(QV,""),y.className="sticky-line-number",y.style.lineHeight=`${this._lineHeight}px`;const w=n.contentLeft;y.style.width=`${w}px`;const A=document.createElement("span");d.renderType===1||d.renderType===3&&t%10===0?A.innerText=t.toString():d.renderType===2&&(A.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),A.className="sticky-line-number-inner",A.style.lineHeight=`${this._lineHeight}px`,A.style.width=`${n.lineNumbersWidth}px`,A.style.paddingLeft=`${n.lineNumbersLeft}px`,y.appendChild(A);const I=this._renderFoldingIconForLine(i,t);I&&y.appendChild(I.domNode),this._editor.applyFontInfo(b),this._editor.applyFontInfo(A),y.style.lineHeight=`${this._lineHeight}px`,b.style.lineHeight=`${this._lineHeight}px`,y.style.height=`${this._lineHeight}px`,b.style.height=`${this._lineHeight}px`;const M=new ej(e,t,b,y,I,p.characterMapping,b.scrollWidth);return this._updateTopAndZIndexOfStickyLine(M)}_updateTopAndZIndexOfStickyLine(e){var f;const t=e.index,i=e.lineDomNode,n=e.lineNumberDomNode,s=t===this._lineNumbers.length-1,r="0",a="1";i.style.zIndex=s?r:a,n.style.zIndex=s?r:a;const d=`${t*this._lineHeight+this._lastLineRelativePosition+((f=e.foldingIcon)!=null&&f.isCollapsed?1:0)}px`,u=`${t*this._lineHeight}px`;return i.style.top=s?d:u,n.style.top=s?d:u,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(111);if(!e||i==="never")return;const n=e.regions,s=n.findRange(t),r=n.getStartLineNumber(s);if(!(t===r))return;const d=n.isCollapsed(s),u=new tj(d,r,n.getEndLineNumber(s),this._lineHeight);return u.setVisible(this._isOnGlyphMargin?!0:d||i==="always"),u.domNode.setAttribute(KD,""),u}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e<this._renderedStickyLines.length&&this._renderedStickyLines[e].lineDomNode.focus()}getEditorPositionFromNode(e){if(!e||e.children.length>0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=UL(t.characterMapping,e,0);return new Li(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,HC);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,GD)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,KD)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class ej{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 tj{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=Mn.asClassName(e?ov:sv)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class Cg{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class Pv{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class KB{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var Fb=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},lp=function(o,e){return function(t,i){e(t,i,o)}},Eg;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(Eg||(Eg={}));var pc;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(pc||(pc={}));let Vy=class extends Rt{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Oc(300)),this._updateOperation=this._register(new Tt),this._editor.getOption(116).defaultModel){case Eg.OUTLINE_MODEL:this._modelProviders.push(new jy(this._editor,n));case Eg.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new Uy(this._editor,t,n));case Eg.INDENTATION_MODEL:this._modelProviders.push(new $y(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 pc.CANCELED:return this._updateOperation.clear(),null;case pc.VALID:return t.stickyModel}}return null}).catch(t=>(qn(t),null))}};Vy=Fb([lp(2,nn),lp(3,Ii)],Vy);class ZB extends Rt{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,pc.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=Us(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?pc.CANCELED:(this._stickyModel=this.createStickyModel(e,i),pc.VALID):this._invalid()).then(void 0,i=>(qn(i),pc.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let jy=class extends ZB{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return rl.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 KB(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(ml.first(e.children.values())instanceof xB){const a=ml.find(e.children.values(),d=>d.id===t);if(a)i=a.children;else{let d="",u=-1,f;for(const[g,p]of e.children.entries()){const C=this._findSumOfRangesOfGroup(p);C>u&&(f=p,u=C,d=p.id)}t=d,i=f.children}}else i=e.children;const n=[],s=Array.from(i.values()).sort((a,d)=>{const u=new Cg(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),f=new Cg(d.symbol.range.startLineNumber,d.symbol.range.endLineNumber);return this._comparator(u,f)});for(const a of s)n.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new Pv(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 Cg(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new Pv(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 IE?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};jy=Fb([lp(1,Ii)],jy);class XB extends ZB{constructor(e){super(e),this._foldingLimitReporter=new fB(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new KB(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new Pv(void 0,[],void 0);for(let s=0;s<t;s++){const r=e.getParentIndex(s);let a;r!==-1?a=i[r]:a=n;const d=new Pv(new Cg(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(d),i.push(d)}return n}}let $y=class extends XB{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new $9(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};$y=Fb([lp(1,Vs)],$y);let Uy=class extends XB{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=jc.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new U9(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}};Uy=Fb([lp(2,Ii)],Uy);var ij=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ZD=function(o,e){return function(t,i){e(t,i,o)}};class nj{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let qy=class extends Rt{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new rn),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new Tt),this._updateSoon=this._register(new Ps(()=>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(is(()=>{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 Vy(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new qs,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return e===-1?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,n,s){if(t.children.length===0)return;let r=s;const a=[];for(let f=0;f<t.children.length;f++){const g=t.children[f];g.range&&a.push(g.range.startLineNumber)}const d=this.updateIndex(Lm(a,e.startLineNumber,(f,g)=>f-g)),u=this.updateIndex(Lm(a,e.startLineNumber+n,(f,g)=>f-g));for(let f=d;f<=u;f++){const g=t.children[f];if(!g)return;if(g.range){const p=g.range.startLineNumber,C=g.range.endLineNumber;e.startLineNumber<=C+1&&p-1<=e.endLineNumber&&p!==r&&(r=p,i.push(new nj(p,C-1,n+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,g,i,n+1,p))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,g,i,n,s)}}getCandidateStickyLinesIntersecting(e){var n,s;if(!((n=this._model)!=null&&n.element))return[];let t=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,-1);const i=(s=this._editor._getViewModel())==null?void 0:s.getHiddenAreas();if(i)for(const r of i)t=t.filter(a=>!(a.startLineNumber>=r.startLineNumber&&a.endLineNumber<=r.endLineNumber+1));return t}};qy=ij([ZD(1,Ii),ZD(2,Vs)],qy);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},Bh=function(o,e){return function(t,i){e(t,i,o)}},Gy,wu;let Il=(wu=class extends Rt{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 Tt,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 JV(this._editor),this._stickyLineCandidateProvider=new qy(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=bg.Empty,this._onDidResize(),this._readConfiguration();const d=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(f=>{this._readConfigurationChange(f)})),this._register(Bn(d,as.CONTEXT_MENU,async f=>{this._onContextMenu(Id(d),f)})),this._stickyScrollFocusedContextKey=q.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=q.stickyScrollVisible.bindTo(this._contextKeyService);const u=this._register(I0(d));this._register(u.onDidBlur(f=>{this._positionRevealed===!1&&d.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(u.onDidFocus(f=>{this.focus()})),this._registerMouseListeners(),this._register(Bn(d,as.MOUSE_DOWN,f=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(Gy.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 Tt,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(Q.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new Tt),t=this._register(new _b(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 Q(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(Sl(n,as.CLICK,s=>{if(s.ctrlKey||s.altKey||s.metaKey||!s.leftButton)return;if(s.shiftKey){const u=this._stickyScrollWidget.getLineIndexFromChildDomNode(s.target);if(u===null)return;const f=new Li(this._endLineNumbers[u],1);this._revealLineInCenterIfOutsideViewport(f);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(s.target)){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);this._toggleFoldingRegionForLine(u);return}if(!this._stickyScrollWidget.isInStickyLine(s.target))return;let d=this._stickyScrollWidget.getEditorPositionFromNode(s.target);if(!d){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);if(u===null)return;d=new Li(u,1)}this._revealPosition(d)})),this._register(Sl(n,as.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(Bn(n,as.MOUSE_LEAVE,s=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([s,r])=>{const a=i(s);if(!a||!s.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}const{range:d,textElement:u}=a;if(!d.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=d,e.clear();else if(u.style.textDecoration==="underline")return;const f=new qs;e.add(is(()=>f.dispose(!0)));let g;Zp(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Li(d.startLineNumber,d.startColumn+1),!1,f.token).then((p=>{if(!f.token.isCancellationRequested)if(p.length!==0){this._candidateDefinitionsLength=p.length;const C=u;g!==C?(e.clear(),g=C,g.style.textDecoration="underline",e.add(is(()=>{g.style.textDecoration="none"}))):g||(g=C,g.style.textDecoration="underline",e.add(is(()=>{g.style.textDecoration="none"})))}else e.clear()}))})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async s=>{if(s.target.type!==12||s.target.detail!==this._stickyScrollWidget.getId())return;const r=this._stickyScrollWidget.getEditorPositionFromNode(s.target.element);r&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:r.lineNumber,column:1})),this._instaService.invokeFunction(X5,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new qL(e,t);this._contextMenuService.showContextMenu({menuId:ni.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;z9(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=jc.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=bg.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(116).maxLineCount),i=this._editor.getScrollTop();let n=0;const s=[],r=[],a=this._editor.getVisibleRanges();if(a.length!==0){const d=new Cg(a[0].startLineNumber,a[a.length-1].endLineNumber),u=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(d);for(const f of u){const g=f.startLineNumber,p=f.endLineNumber,C=f.nestingDepth;if(p-g>0){const b=(C-1)*e,y=C*e,w=this._editor.getBottomForLineNumber(g)-i,A=this._editor.getTopForLineNumber(p)-i,I=this._editor.getBottomForLineNumber(p)-i;if(b>A&&b<=I){s.push(g),r.push(p+1),n=I-y;break}else y>w&&y<=I&&(s.push(g),r.push(p+1));if(s.length===t)break}}}return this._endLineNumbers=r,new bg(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},Gy=wu,wu.ID="store.contrib.stickyScrollController",wu);Il=Gy=sj([Bh(1,af),Bh(2,Ii),Bh(3,nn),Bh(4,Vs),Bh(5,gr),Bh(6,Fn)],Il);class oj extends Do{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...ki("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:S({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:ki("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:YV.View,toggled:{condition:qe.equals("config.editor.stickyScroll.enabled",!0),title:S("stickyScroll","Sticky Scroll"),mnemonicTitle:S({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:ni.CommandPalette},{id:ni.MenubarAppearanceMenu,group:"4_editor",order:3},{id:ni.StickyScrollContext}]})}async run(e){const t=e.get(ss),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const Lb=100;class rj extends la{constructor(){super({id:"editor.action.focusStickyScroll",title:{...ki("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:S({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:qe.and(qe.has("config.editor.stickyScroll.enabled"),q.stickyScrollVisible),menu:[{id:ni.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focus()}}class aj extends la{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:ki("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Lb,primary:18}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusNext()}}class lj extends la{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:ki("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Lb,primary:16}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusPrevious()}}class cj extends la{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:ki("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Lb,primary:3}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.goToFocused()}}class dj extends la{constructor(){super({id:"editor.action.selectEditor",title:ki("selectEditor.title","Select Editor"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Lb,primary:9}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.selectEditor()}}un(Il.ID,Il,1);Vn(oj);Vn(rj);Vn(lj);Vn(aj);Vn(cj);Vn(dj);var YB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ng=function(o,e){return function(t,i){e(t,i,o)}};class uj{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 Ky=class extends GL{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=ml.slice(t,i),s=ml.slice(t,0,i);let r=5;for(const a of ml.concat(n,s)){if(a.score===Mg.Default)continue;const d=new Q(a.editStart.lineNumber,a.editStart.column,a.editInsertEnd.lineNumber,a.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),u=a.completion.insertTextRules&&a.completion.insertTextRules&4?{snippet:a.completion.insertText}:a.completion.insertText;e.push(new uj(d,u,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(an.None)}return e}};Ky=YB([ng(5,Db)],Ky);let Zy=class extends Rt{constructor(e,t,i,n){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=i,this._editorService=n,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,i,n){var C;if(i.selectedSuggestionInfo)return;let s;for(const b of this._editorService.listCodeEditors())if(b.getModel()===e){s=b;break}if(!s)return;const r=s.getOption(90);if(Xh.isAllOff(r))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const a=e.tokenization.getLineTokens(t.lineNumber),d=a.getStandardTokenType(a.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(Xh.valueFor(r,d)!=="inline")return;let u=e.getWordAtPosition(t),f;if(u!=null&&u.word||(f=this._getTriggerCharacterInfo(e,t)),!(u!=null&&u.word)&&!f||(u||(u=e.getWordUntilPosition(t)),u.endColumn!==t.column))return;let g;const p=e.getValueInRange(new Q(t.lineNumber,1,t.lineNumber,t.column));if(!f&&((C=this._lastResult)!=null&&C.canBeReused(e,t.lineNumber,u))){const b=new TD(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=b,this._lastResult.acquire(),g=this._lastResult}else{const b=await q9(this._languageFeatureService.completionProvider,e,t,new Jg(void 0,vv.createSuggestFilter(s).itemKind,f==null?void 0:f.providers),f&&{triggerKind:1,triggerCharacter:f.ch},n);let y;b.needsClipboard&&(y=await this._clipboardService.readText());const w=new oc(b.items,t.column,new TD(p,0),mv.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},y);g=new Ky(e,t.lineNumber,u,w,b,this._suggestMemoryService)}return this._lastResult=g,g}handleItemDidShow(e,t){t.completion.resolve(an.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(Q.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}}};Zy=YB([ng(0,Ii),ng(1,lf),ng(2,Db),ng(3,bs)],Zy);df(Zy);class hj extends _t{constructor(){super({id:"editor.action.forceRetokenize",label:S("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const n=new Oo;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}Fe(hj);const B_=class B_ extends Do{constructor(){super({id:B_.ID,title:ki({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:ki("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=!o8.getTabFocusMode();o8.setTabFocusMode(t),t?Nr(S("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):Nr(S("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};B_.ID="editor.action.toggleTabFocusMode";let Xy=B_;Vn(Xy);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},XD=function(o,e){return function(t,i){e(t,i,o)}};let Yy=class extends Rt{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=ui(e,mi("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??Q_("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new sC(this.el,"click")),a=this._register(new sC(this.el,"keypress")),d=Is.chain(a.event,g=>g.map(p=>new t9(p)).filter(p=>p.keyCode===3)),u=this._register(new sC(this.el,KL.Tap)).event;this._register(uA.addTarget(this.el));const f=Is.any(r.event,d,u);this._register(f(g=>{this.enabled&&(Am.stop(g,!0),i!=null&&i.opener?i.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e??"":!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};Yy=fj([XD(3,Pp),XD(4,da)],Yy);var QB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},JB=function(o,e){return function(t,i){e(t,i,o)}};const gj=26;let Qy=class extends Rt{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Jy))}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,gj)}};Qy=QB([JB(1,nn)],Qy);let Jy=class extends Rt{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(uf,{}),this.element=mi("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=mi("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Wa(this.element)}show(e){Wa(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=ui(this.element,mi("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(mi(`div${Mn.asCSSSelector(e.icon)}`));const n=ui(this.element,mi("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=ui(this.element,mi("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(Yy,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=ui(this.element,mi("div.action-container"));this.actionBar=this._register(new Bg(s)),this.actionBar.push(this._register(new R0("banner.close","Close Banner",Mn.asClassName(PA),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Jy=QB([JB(0,nn)],Jy);var rS=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},u0=function(o,e){return function(t,i){e(t,i,o)}};const pj=ms("extensions-warning-message",Zi.warning,S("warningIcon","Icon shown with a warning message in the extensions editor."));var k0;let cp=(k0=class extends Rt{constructor(e,t,i,n){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=s=>{if(s&&s.hasMore){if(this._bannerClosed)return;const r=Math.max(s.ambiguousCharacterCount,s.nonBasicAsciiCharacterCount,s.invisibleCharacterCount);let a;if(s.nonBasicAsciiCharacterCount>=r)a={message:S("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new up};else if(s.ambiguousCharacterCount>=r)a={message:S("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new qu};else if(s.invisibleCharacterCount>=r)a={message:S("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new dp};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:pj,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(Qy,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=xj(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"?ZL:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new ew(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new mj(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},k0.ID="editor.contrib.unicodeHighlighter",k0);cp=rS([u0(1,Nl),u0(2,XL),u0(3,nn)],cp);function xj(o,e){return{nonBasicASCII:e.nonBasicASCII===oC?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===oC?!o:e.includeComments,includeStrings:e.includeStrings===oC?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let ew=class extends Rt{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 Ps(()=>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:Tv.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!yk(t,e))return null;const i=t.getValueInRange(e.range);return{reason:tF(i,this._options),inComment:Sk(t,e),inString:wk(t,e)}}};ew=rS([u0(3,Nl)],ew);class mj extends Rt{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 Ps(()=>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=Dk.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:Tv.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 yk(t,e)?{reason:tF(i,this._options),inComment:Sk(t,e),inString:wk(t,e)}:null}}const eF=S("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let tw=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(cp.ID);if(!n)return[];const s=[],r=new Set;let a=300;for(const d of t){const u=n.getDecorationInfo(d);if(!u)continue;const g=i.getValueInRange(d.range).codePointAt(0),p=WC(g);let C;switch(u.reason.kind){case 0:{ZA(u.reason.confusableWith)?C=S("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",p,WC(u.reason.confusableWith.codePointAt(0))):C=S("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",p,WC(u.reason.confusableWith.codePointAt(0)));break}case 1:C=S("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",p);break;case 2:C=S("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",p);break}if(r.has(C))continue;r.add(C);const b={codePoint:g,reason:u.reason,inComment:u.inComment,inString:u.inString},y=S("unicodeHighlight.adjustSettings","Adjust settings"),w=`command:${Mv.ID}?${encodeURIComponent(JSON.stringify(b))}`,A=new lo("",!0).appendMarkdown(C).appendText(" ").appendLink(w,y,eF);s.push(new Ir(this,d.range,[A],!1,a++))}return s}renderHoverParts(e,t){return qM(e,t,this._editor,this._languageService,this._openerService)}};tw=rS([u0(1,ha),u0(2,da)],tw);function iw(o){return`U+${o.toString(16).padStart(4,"0")}`}function WC(o){let e=`\`${iw(o)}\``;return Ak.isInvisibleCharacter(o)||(e+=` "${`${vj(o)}`}"`),e}function vj(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function tF(o,e){return Dk.computeUnicodeHighlightReason(o,e)}const F_=class F_{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=mn.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}};F_.instance=new F_;let Tv=F_;class _j extends _t{constructor(){super({id:qu.ID,label:S("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e==null?void 0:e.get(ss);n&&this.runAction(n)}async runAction(e){await e.updateValue(Al.includeComments,!1,2)}}class bj extends _t{constructor(){super({id:qu.ID,label:S("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e==null?void 0:e.get(ss);n&&this.runAction(n)}async runAction(e){await e.updateValue(Al.includeStrings,!1,2)}}const L_=class L_ extends _t{constructor(){super({id:L_.ID,label:S("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(ss);n&&this.runAction(n)}async runAction(e){await e.updateValue(Al.ambiguousCharacters,!1,2)}};L_.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let qu=L_;const I_=class I_ extends _t{constructor(){super({id:I_.ID,label:S("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(ss);n&&this.runAction(n)}async runAction(e){await e.updateValue(Al.invisibleCharacters,!1,2)}};I_.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let dp=I_;const P_=class P_ extends _t{constructor(){super({id:P_.ID,label:S("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(ss);n&&this.runAction(n)}async runAction(e){await e.updateValue(Al.nonBasicASCII,!1,2)}};P_.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let up=P_;const T_=class T_ extends _t{constructor(){super({id:T_.ID,label:S("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,i){const{codePoint:n,reason:s,inString:r,inComment:a}=i,d=String.fromCodePoint(n),u=e.get(Tl),f=e.get(ss);function g(b){return Ak.isInvisibleCharacter(b)?S("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",iw(b)):S("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${iw(b)} "${d}"`)}const p=[];if(s.kind===0)for(const b of s.notAmbiguousInLocales)p.push({label:S("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',b),run:async()=>{Ej(f,[b])}});if(p.push({label:g(n),run:()=>Cj(f,[n])}),a){const b=new _j;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(r){const b=new bj;p.push({label:b.label,run:async()=>b.runAction(f)})}if(s.kind===0){const b=new qu;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(s.kind===1){const b=new dp;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(s.kind===2){const b=new up;p.push({label:b.label,run:async()=>b.runAction(f)})}else yj(s);const C=await u.pick(p,{title:eF});C&&await C.run()}};T_.ID="editor.action.unicodeHighlight.showExcludeOptions";let Mv=T_;async function Cj(o,e){const t=o.getValue(Al.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(Al.allowedCharacters,i,2)}async function Ej(o,e){var n;const t=(n=o.inspect(Al.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(Al.allowedLocales,i,2)}function yj(o){throw new Error(`Unexpected value: ${o}`)}Fe(qu);Fe(dp);Fe(up);Fe(Mv);un(cp.ID,cp,1);th.register(tw);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},YD=function(o,e){return function(t,i){e(t,i,o)}};const iF="ignoreUnusualLineTerminators";function Sj(o,e,t){o.setModelProperty(e.uri,iF,t)}function Dj(o,e){return o.getModelProperty(e.uri,iF)}var B0;let Rv=(B0=class extends Rt{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()||Dj(this._codeEditorService,e)===!0||this._editor.getOption(92))return;if(this._config==="auto"){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=await this._dialogService.confirm({title:S("unusualLineTerminators.title","Unusual Line Terminators"),message:S("unusualLineTerminators.message","Detected unusual line terminators"),detail:S("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",Ua(e.uri)),primaryButton:S({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:S("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){Sj(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},B0.ID="editor.contrib.unusualLineTerminatorsDetector",B0);Rv=wj([YD(1,n9),YD(2,bs)],Rv);un(Rv.ID,Rv,1);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},kj=function(o,e){return function(t,i){e(t,i,o)}};class QD{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,r8,!1).map(a=>({range:a.range,kind:Pm.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new Nc,r=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!r)return Promise.resolve(s);for(const a of[e,...i]){if(a.isDisposed())continue;const u=a.findMatches(r.word,!0,!1,!0,r8,!1).map(f=>({range:f.range,kind:Pm.Text}));u&&s.set(a.uri,u)}return s}}let nw=class extends Rt{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new QD)),this._register(e.multiDocumentHighlightProvider.register("*",new QD))}};nw=Aj([kj(0,Ii)],nw);var nF=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},vm=function(o,e){return function(t,i){e(t,i,o)}},fs,sw;const aS=new En("hasWordHighlights",!1);function sF(o,e,t,i){const n=o.ordered(e);return Yw(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,_s)),s=>s!=null).then(s=>{if(s){const r=new Nc;return r.set(e.uri,s),r}return new Nc})}function Bj(o,e,t,i,n,s){const r=o.ordered(e);return Yw(r.map(a=>()=>{const d=s.filter(u=>QL(u)).filter(u=>JL(a.selector,u.uri,u.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,d,n)).then(void 0,_s)}),a=>a!=null)}class oF{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=Us(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new Q(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const n=t.startLineNumber,s=t.startColumn,r=t.endColumn,a=this._getCurrentWordRange(e,t);let d=!!(this._wordRange&&this._wordRange.equalsRange(a));for(let u=0,f=i.length;!d&&u<f;u++){const g=i.getRange(u);g&&g.startLineNumber===n&&g.startColumn<=s&&g.endColumn>=r&&(d=!0)}return d}cancel(){this.result.cancel()}}class Fj extends oF{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return sF(this._providers,e,t.getPosition(),n).then(s=>s||new Nc)}}class Lj extends oF{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return Bj(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new Nc)}}function Ij(o,e,t,i,n){return new Fj(e,t,n,o)}function Pj(o,e,t,i,n,s){return new Lj(e,t,n,o,s)}ko("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(Ii),n=await sF(i.documentHighlightProvider,e,t,an.None);return n==null?void 0:n.get(e.uri)});var Rc;let ow=(Rc=class{constructor(e,t,i,n,s){this.toUnhook=new Tt,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Nc,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new Oc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=aS.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=>{YL(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():fs.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(r=>{var d,u;const a=this.editor.getOption(81);if(this.occurrencesHighlight!==a)switch(this.occurrencesHighlight=a,a){case"off":this._stopAll();break;case"singleFile":this._stopAll((u=(d=fs.query)==null?void 0:d.modelInfo)==null?void 0:u.model);break;case"multiFile":fs.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,fs.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(Q.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);Nr(`${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);Nr(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=fs.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),fs.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()||Sm(n.getModel().uri,e==null?void 0:e.uri))continue;const s=fs.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=Uc.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)fs.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==Co.vscodeNotebookCell&&((i=(t=fs.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==Co.vscodeNotebookCell?(fs.query=null,this._run()):(n=fs.query)!=null&&n.modelInfo&&(fs.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)!==Co.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===Co.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const d=a.getModel();d&&d!==e&&d.uri.scheme===Co.vscodeNotebookCell&&s.push(d)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!kk(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){fs.query=null,this._stopAll();return}const a=r.startColumn,d=r.endColumn,u=this._getWord();if(!u||u.startColumn>a||u.endColumn<d){fs.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),fs.query={modelInfo:{model:this.model,selection:r},word:u}}else if(!fs.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(Sm(this.editor.getModel().uri,(n=fs.query.modelInfo)==null?void 0:n.model.uri)){if(!e){const d=this.decorations.getRanges();for(const u of d)if(u.containsPosition(this.editor.getPosition()))return}this._stopAll(e?this.model:void 0);const r=++this.workerRequestTokenId;this.workerRequestCompleted=!1;const a=this.getOtherModelsToHighlight(this.editor.getModel());if(!fs.query||!fs.query.modelInfo||fs.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(fs.query.modelInfo.model,fs.query.modelInfo.selection,fs.query.word,a),(s=this.workerRequest)==null||s.result.then(d=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=d||[],this._beginRenderDecorations())},qn)}}computeWithModel(e,t,i,n){return n.length?Pj(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):Ij(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=Uc.get(s);if(!r)continue;const a=[],d=(t=s.getModel())==null?void 0:t.uri;if(d&&this.workerRequestValue.has(d)){const u=fs.storedDecorationIDs.get(d),f=this.workerRequestValue.get(d);if(f)for(const p of f)p.range&&a.push({range:p.range,options:Cz(p.kind)});let g=[];s.changeDecorations(p=>{g=p.deltaDecorations(u??[],a)}),fs.storedDecorationIDs=fs.storedDecorationIDs.set(d,g),a.length>0&&((i=r.wordHighlighter)==null||i.decorations.set(a),(n=r.wordHighlighter)==null||n._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}},fs=Rc,Rc.storedDecorationIDs=new Nc,Rc.query=null,Rc);ow=fs=nF([vm(4,bs)],ow);var Su;let Uc=(Su=class extends Rt{static get(e){return e.getContribution(sw.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new ow(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()}},sw=Su,Su.ID="editor.contrib.wordHighlighter",Su);Uc=sw=nF([vm(1,Fn),vm(2,Ii),vm(3,bs)],Uc);class rF extends _t{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Uc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class Tj extends rF{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:S("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:aS,kbOpts:{kbExpr:q.editorTextFocus,primary:65,weight:100}})}}class Mj extends rF{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:S("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:aS,kbOpts:{kbExpr:q.editorTextFocus,primary:1089,weight:100}})}}class Rj extends _t{constructor(){super({id:"editor.action.wordHighlight.trigger",label:S("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=Uc.get(t);n&&n.restoreViewState(!0)}}un(Uc.ID,Uc,0);Fe(Tj);Fe(Mj);Fe(Rj);df(nw);class Ib extends Ao{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Qu(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,d=r.map(u=>{const f=new Li(u.positionLineNumber,u.positionColumn),g=this._move(n,s,f,this._wordNavigationType,a);return this._moveTo(u,g,this._inSelectionMode)});if(s.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,d.map(u=>e7.fromModelSelection(u))),d.length===1){const u=new Li(d[0].positionLineNumber,d[0].positionColumn);t.revealPosition(u,0)}}_moveTo(e,t,i){return i?new Ui(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Ui(t.lineNumber,t.column,t.lineNumber,t.column)}}class Zc extends Ib{_move(e,t,i,n,s){return Op.moveWordLeft(e,t,i,n,s)}}class Xc extends Ib{_move(e,t,i,n,s){return Op.moveWordRight(e,t,i,n)}}class Nj extends Zc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class Oj extends Zc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class Hj extends Zc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:qe.and(q.textInputFocus,(e=qe.and(ib,nb))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class Wj extends Zc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class zj extends Zc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class Vj extends Zc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:qe.and(q.textInputFocus,(e=qe.and(ib,nb))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class jj extends Zc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(sb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class $j extends Zc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(sb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Uj extends Xc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class qj extends Xc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:qe.and(q.textInputFocus,(e=qe.and(ib,nb))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class Gj extends Xc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class Kj extends Xc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class Zj extends Xc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:qe.and(q.textInputFocus,(e=qe.and(ib,nb))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class Xj extends Xc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class Yj extends Xc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(sb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Qj extends Xc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(sb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Pb extends Ao{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(Vs);if(!t.hasModel())return;const s=Qu(t.getOption(132),t.getOption(131)),r=t.getModel(),a=t.getSelections(),d=t.getOption(6),u=t.getOption(11),f=n.getLanguageConfiguration(r.getLanguageId()).getAutoClosingPairs(),g=t._getViewModel(),p=a.map(C=>{const b=this._delete({wordSeparators:s,model:r,selection:C,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:d,autoClosingQuotes:u,autoClosingPairs:f,autoClosedCharacters:g.getCursorAutoClosedCharacters()},this._wordNavigationType);return new wp(b,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class lS extends Pb{_delete(e,t){const i=Op.deleteWordLeft(e,t);return i||new Q(1,1,1,1)}}class cS extends Pb{_delete(e,t){const i=Op.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new Q(n,s,n,s)}}class Jj extends lS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:q.writable})}}class e$ extends lS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:q.writable})}}class t$ extends lS{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class i$ extends cS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:q.writable})}}class n$ extends cS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:q.writable})}}class s$ extends cS{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class o$ extends _t{constructor(){super({id:"deleteInsideWord",precondition:q.writable,label:S("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=Qu(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(d=>{const u=Op.deleteInsideWord(n,s,d);return new wp(u,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}Mi(new Nj);Mi(new Oj);Mi(new Hj);Mi(new Wj);Mi(new zj);Mi(new Vj);Mi(new Uj);Mi(new qj);Mi(new Gj);Mi(new Kj);Mi(new Zj);Mi(new Xj);Mi(new jj);Mi(new $j);Mi(new Yj);Mi(new Qj);Mi(new Jj);Mi(new e$);Mi(new t$);Mi(new i$);Mi(new n$);Mi(new s$);Fe(o$);class r$ extends Pb{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=ob.deleteWordPartLeft(e);return i||new Q(1,1,1,1)}}class a$ extends Pb{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=ob.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new Q(n,s,n,s)}}class aF extends Ib{_move(e,t,i,n,s){return ob.moveWordPartLeft(e,t,i,s)}}class l$ extends aF{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}Qn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class c$ extends aF{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}Qn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class lF extends Ib{_move(e,t,i,n,s){return ob.moveWordPartRight(e,t,i)}}class d$ extends lF{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class u$ extends lF{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}Mi(new r$);Mi(new a$);Mi(new l$);Mi(new c$);Mi(new d$);Mi(new u$);const AS=class AS extends Rt{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=Mo.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new lo(S("editor.simple.readonly","Cannot edit in read-only input")):t=new lo(S("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};AS.ID="editor.contrib.readOnlyMessageController";let Nv=AS;un(Nv.ID,Nv,2);var h$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},JD=function(o,e){return function(t,i){e(t,i,o)}};let rw=class extends Rt{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Yo(this,void 0);const n=Pd("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=Pd("_textModel.onDidChangeContent",Is.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(Lp(async(r,a)=>{n.read(r),s.read(r);const d=a.add(new n7),u=await this._outlineModelService.getOrCreate(this._textModel,d.token);a.isDisposed||this._currentModel.set(u,void 0)}))}getBreadcrumbItems(e,t){const i=this._currentModel.read(t);if(!i)return[];const n=i.asListOfDocumentSymbols().filter(s=>e.contains(s.range.startLineNumber)&&!e.contains(s.range.endLineNumber));return n.sort(i7(Tp(s=>s.range.endLineNumber-s.range.startLineNumber,Z_))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};rw=h$([JD(1,Ii),JD(2,Qp)],rw);t7.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(rw,o));const kS=class kS extends Rt{constructor(e){super(),this.editor=e,this.widget=null,o1&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new aw(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};kS.ID="editor.contrib.iPadShowKeyboard";let Ov=kS;const M_=class M_ extends Rt{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Bn(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(Bn(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return M_.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};M_.ID="editor.contrib.ShowKeyboardWidget";let aw=M_;un(Ov.ID,Ov,3);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},e2=function(o,e){return function(t,i){e(t,i,o)}},lw,Du;let hp=(Du=class extends Rt{static get(e){return e.getContribution(lw.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(Y_.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 cw(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},lw=Du,Du.ID="editor.contrib.inspectTokens",Du);hp=lw=f$([e2(1,Bk),e2(2,ha)],hp);class g$ extends _t{constructor(){super({id:"editor.action.inspectTokens",label:a7.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=hp.get(t);i==null||i.launch()}}function p$(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 x$(o,e){const t=Y_.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>s7,tokenize:(n,s,r)=>r7(e,r),tokenizeEncoded:(n,s,r)=>o7(i,r)}}const R_=class R_ extends Rt{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=x$(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 R_._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let d=t.tokens1.length-1;d>=0;d--){const u=t.tokens1[d];if(e.column-1>=u.offset){i=d;break}}let n=0;for(let d=t.tokens2.length>>>1;d>=0;d--)if(e.column-1>=t.tokens2[d<<1]){n=d;break}const s=this._model.getLineContent(e.lineNumber);let r="";if(i<t.tokens1.length){const d=t.tokens1[i].offset,u=i+1<t.tokens1.length?t.tokens1[i+1].offset:s.length;r=s.substring(d,u)}Dm(this._domNode,mi("h2.tm-token",void 0,p$(r),mi("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),ui(this._domNode,mi("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;ui(this._domNode,mi("table.tm-metadata-table",void 0,mi("tbody",void 0,mi("tr",void 0,mi("td.tm-metadata-key",void 0,"language"),mi("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),mi("tr",void 0,mi("td.tm-metadata-key",void 0,"token type"),mi("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),mi("tr",void 0,mi("td.tm-metadata-key",void 0,"font style"),mi("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),mi("tr",void 0,mi("td.tm-metadata-key",void 0,"foreground"),mi("td.tm-metadata-value",void 0,`${a?pn.Format.CSS.formatHex(a.foreground):"-?-"}`)),mi("tr",void 0,mi("td.tm-metadata-key",void 0,"background"),mi("td.tm-metadata-value",void 0,`${a?pn.Format.CSS.formatHex(a.background):"-?-"}`))))),ui(this._domNode,mi("hr.tokens-inspect-separator")),i<t.tokens1.length&&ui(this._domNode,mi("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=Y_.getColorMap(),i=Tf.getLanguageId(e),n=Tf.getTokenType(e),s=Tf.getFontStyle(e),r=Tf.getForeground(e),a=Tf.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]}}};R_._ID="editor.contrib.inspectTokensWidget";let cw=R_;un(hp.ID,hp,4);Fe(g$);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},t2=function(o,e){return function(t,i){e(t,i,o)}},sg,Au;let dw=(Au=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=ca.as(Hp.Quickaccess)}provide(e){const t=new Tt;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(sg.PREFIX.length));n&&n.prefix&&n.prefix!==sg.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==sg.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort((t,i)=>t.prefix.localeCompare(i.prefix)).flatMap(t=>this.createPicks(t))}createPicks(e){return e.helpEntries.map(t=>{const i=t.prefix||e.prefix,n=i||"…";return{prefix:i,label:n,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:S("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},sg=Au,Au.PREFIX="?",Au);dw=sg=m$([t2(0,Tl),t2(1,Ds)],dw);ca.as(Hp.Quickaccess).registerQuickAccessProvider({ctor:dw,prefix:"",helpEntries:[{description:l7.helpQuickAccessActionLabel}]});class cF{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new Tt;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new Jo);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 Tt,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=Fk(s);if(a){let d=s.saveViewState()??void 0;n.add(a.onDidChangeCursorPosition(()=>{d=s.saveViewState()??void 0})),r.restoreViewState=()=>{d&&s===this.activeTextEditorControl&&s.restoreViewState(d)},n.add(Lk(t.onCancellationRequested)(()=>{var u;return(u=r.restoreViewState)==null?void 0:u.call(r)}))}n.add(is(()=>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&&P0(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return kk(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:Bs(RA),position:Ha.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 N_=class N_ extends cF{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=S("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,Rt.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new Tt;s.add(t.onDidAccept(d=>{const[u]=t.selectedItems;if(u){if(!this.isValidLineNumber(n,u.lineNumber))return;this.gotoLocation(e,{range:this.toRange(u.lineNumber,u.column),keyMods:t.keyMods,preserveFocus:d.inBackground}),d.inBackground||t.hide()}}));const r=()=>{const d=this.parsePosition(n,t.value.trim().substr(N_.PREFIX.length)),u=this.getPickLabel(n,d.lineNumber,d.column);if(t.items=[{lineNumber:d.lineNumber,column:d.column,label:u}],t.ariaLabel=u,!this.isValidLineNumber(n,d.lineNumber)){this.clearDecorations(n);return}const f=this.toRange(d.lineNumber,d.column);n.revealRangeInCenter(f,0),this.addDecorations(n,f)};r(),s.add(t.onDidChangeValue(()=>r()));const a=Fk(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(is(()=>a.updateOptions({lineNumbers:"relative"})))),s}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const i=t.split(/,|:|#/).map(s=>parseInt(s,10)).filter(s=>!isNaN(s)),n=this.lineCount(e)+1;return{lineNumber:i[0]>0?i[0]:n+i[0],column:i[1]}}getPickLabel(e,t,i){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,i)?S("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):S("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},s=this.lineCount(e);return s>1?S("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,s):S("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",n.lineNumber,n.column)}isValidLineNumber(e,t){return!t||typeof t!="number"?!1:t>0&&t<=this.lineCount(e)}isValidColumn(e,t,i){if(!i||typeof i!="number")return!1;const n=this.getModel(e);if(!n)return!1;const s={lineNumber:t,column:i};return n.validatePosition(s).equals(s)}lineCount(e){var t;return((t=this.getModel(e))==null?void 0:t.getLineCount())??0}};N_.PREFIX=":";let uw=N_;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},_$=function(o,e){return function(t,i){e(t,i,o)}};let fp=class extends uw{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=Is.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};fp=v$([_$(0,bs)],fp);var ku;let dF=(ku=class extends _t{constructor(){super({id:ku.ID,label:Ik.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Tl).quickAccess.show(fp.PREFIX)}},ku.ID="editor.action.gotoLine",ku);Fe(dF);ca.as(Hp.Quickaccess).registerQuickAccessProvider({ctor:fp,prefix:fp.PREFIX,helpEntries:[{description:Ik.gotoLineActionLabel,commandId:dF.ID}]});const uF=[void 0,[]];function zC(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?b$(o,n.values,t,i):hF(o,e,t,i)}function b$(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,d]=hF(o,r,t,i);if(typeof a!="number")return uF;n+=a,s.push(...d)}return[n,C$(s)]}function hF(o,e,t,i){const n=tk(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],X_(n)]:uF}function C$(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!E$(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 E$(o,e){return!(o.end<e.start||e.end<o.start)}function i2(o){return o.startsWith('"')&&o.endsWith('"')}const fF=" ";function hw(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=n2(o),s=t.indexOf(f1)>=0,r=i2(o);let a;const d=o.split(fF);if(d.length>1)for(const u of d){const f=i2(u),{pathNormalized:g,normalized:p,normalizedLowercase:C}=n2(u);p&&(a||(a=[]),a.push({original:u,originalLowercase:u.toLowerCase(),pathNormalized:g,normalized:p,normalizedLowercase:C,expectContiguousMatch:f}))}return{original:o,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:n,values:a,containsPathSeparator:s,expectContiguousMatch:r}}function n2(o){let e;z_?e=o.replace(/\//g,f1):e=o.replace(/\\/g,f1);const t=c7(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function s2(o){return Array.isArray(o)?hw(o.map(e=>e.original).join(fF)):hw(o.original)}var y$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},o2=function(o,e){return function(t,i){e(t,i,o)}},_m,ia;let zd=(ia=class extends cF{constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,S("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),Rt.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):Rt.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new Tt;return this.provideLabelPick(i,S("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),(async()=>!await this.waitForLanguageSymbolRegistry(t,s)||n.isCancellationRequested||s.add(this.doProvideWithEditorSymbols(e,t,i,n)))(),s}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}async waitForLanguageSymbolRegistry(e,t){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;const i=new V_,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(is(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var g;const r=e.editor,a=new Tt;a.add(i.onDidAccept(p=>{var b;const[C]=i.selectedItems;C&&C.range&&(this.gotoLocation(e,{range:C.range.selection,keyMods:i.keyMods,preserveFocus:p.inBackground}),(b=s==null?void 0:s.handleAccept)==null||b.call(s,C),p.inBackground||i.hide())})),a.add(i.onDidTriggerItemButton(({item:p})=>{p&&p.range&&(this.gotoLocation(e,{range:p.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())}));const d=this.getDocumentSymbols(t,n);let u;const f=async p=>{u==null||u.dispose(!0),i.busy=!1,u=new qs(n),i.busy=!0;try{const C=hw(i.value.substr(_m.PREFIX.length).trim()),b=await this.doGetSymbolPicks(d,C,void 0,u.token,t);if(n.isCancellationRequested)return;if(b.length>0){if(i.items=b,p&&C.original.length===0){const y=f7(b,w=>!!(w.type!=="separator"&&w.range&&Q.containsPosition(w.range.decoration,p)));y&&(i.activeItems=[y])}}else C.original.length>0?this.provideLabelPick(i,S("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,S("noSymbolResults","No editor symbols"))}finally{n.isCancellationRequested||(i.busy=!1)}};return a.add(i.onDidChangeValue(()=>f(void 0))),f((g=r.getSelection())==null?void 0:g.getPosition()),a.add(i.onDidChangeActive(()=>{const[p]=i.activeItems;p&&p.range&&(r.revealRangeInCenter(p.range.selection,0),this.addDecorations(r,p.range.decoration))})),a}async doGetSymbolPicks(e,t,i,n,s){var w,A;const r=await e;if(n.isCancellationRequested)return[];const a=t.original.indexOf(_m.SCOPE_PREFIX)===0,d=a?1:0;let u,f;t.values&&t.values.length>1?(u=s2(t.values[0]),f=s2(t.values.slice(1))):u=t;let g;const p=(A=(w=this.options)==null?void 0:w.openSideBySideDirection)==null?void 0:A.call(w);p&&(g=[{iconClass:p==="right"?Mn.asClassName(Zi.splitHorizontal):Mn.asClassName(Zi.splitVertical),tooltip:p==="right"?S("openToSide","Open to the Side"):S("openToBottom","Open to the Bottom")}]);const C=[];for(let I=0;I<r.length;I++){const M=r[I],R=d7(M.name),T=`$(${u7.toIcon(M.kind).id}) ${R}`,V=T.length-R.length;let H=M.containerName;i!=null&&i.extraContainerLabel&&(H?H=`${i.extraContainerLabel} • ${H}`:H=i.extraContainerLabel);let X,se,he,J;if(t.original.length>d){let be=!1;if(u!==t&&([X,se]=zC(T,{...t,values:void 0},d,V),typeof X=="number"&&(be=!0)),typeof X!="number"&&([X,se]=zC(T,u,d,V),typeof X!="number"))continue;if(!be&&f){if(H&&f.original.length>0&&([he,J]=zC(H,f)),typeof he!="number")continue;typeof X=="number"&&(X+=he)}}const ue=M.tags&&M.tags.indexOf(1)>=0;C.push({index:I,kind:M.kind,score:X,label:T,ariaLabel:h7(M.name,M.kind),description:H,highlights:ue?void 0:{label:se,description:J},range:{selection:Q.collapseToStart(M.selectionRange),decoration:M.range},uri:s.uri,symbolName:R,strikethrough:ue,buttons:g})}const b=C.sort((I,M)=>a?this.compareByKindAndScore(I,M):this.compareByScore(I,M));let y=[];if(a){let T=function(){M&&typeof I=="number"&&R>0&&(M.label=qw(jC[I]||VC,R))},I,M,R=0;for(const V of b)I!==V.kind?(T(),I=V.kind,R=1,M={type:"separator"},y.push(M)):R++,y.push(V);T()}else b.length>0&&(y=[{label:S("symbols","symbols ({0})",C.length),type:"separator"},...b]);return y}compareByScore(e,t){if(typeof e.score!="number"&&typeof t.score=="number")return 1;if(typeof e.score=="number"&&typeof t.score!="number")return-1;if(typeof e.score=="number"&&typeof t.score=="number"){if(e.score>t.score)return-1;if(e.score<t.score)return 1}return e.index<t.index?-1:e.index>t.index?1:0}compareByKindAndScore(e,t){const i=jC[e.kind]||VC,n=jC[t.kind]||VC,s=i.localeCompare(n);return s===0?this.compareByScore(e,t):s}async getDocumentSymbols(e,t){const i=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()}},_m=ia,ia.PREFIX="@",ia.SCOPE_PREFIX=":",ia.PREFIX_BY_CATEGORY=`${ia.PREFIX}${ia.SCOPE_PREFIX}`,ia);zd=_m=y$([o2(0,Ii),o2(1,Qp)],zd);const VC=S("property","properties ({0})"),jC={5:S("method","methods ({0})"),11:S("function","functions ({0})"),8:S("_constructor","constructors ({0})"),12:S("variable","variables ({0})"),4:S("class","classes ({0})"),22:S("struct","structs ({0})"),23:S("event","events ({0})"),24:S("operator","operators ({0})"),10:S("interface","interfaces ({0})"),2:S("namespace","namespaces ({0})"),3:S("package","packages ({0})"),25:S("typeParameter","type parameters ({0})"),1:S("modules","modules ({0})"),6:S("property","properties ({0})"),9:S("enum","enumerations ({0})"),21:S("enumMember","enumeration members ({0})"),14:S("string","strings ({0})"),0:S("file","files ({0})"),17:S("array","arrays ({0})"),15:S("number","numbers ({0})"),16:S("boolean","booleans ({0})"),18:S("object","objects ({0})"),19:S("key","keys ({0})"),7:S("field","fields ({0})"),13:S("constant","constants ({0})")};var w$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$C=function(o,e){return function(t,i){e(t,i,o)}};let fw=class extends zd{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=Is.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};fw=w$([$C(0,bs),$C(1,Ii),$C(2,Qp)],fw);const O_=class O_ extends _t{constructor(){super({id:O_.ID,label:g1.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:q.hasDocumentSymbolProvider,kbOpts:{kbExpr:q.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Tl).quickAccess.show(zd.PREFIX,{itemActivation:g7.NONE})}};O_.ID="editor.action.quickOutline";let Hv=O_;Fe(Hv);ca.as(Hp.Quickaccess).registerQuickAccessProvider({ctor:fw,prefix:zd.PREFIX,helpEntries:[{description:g1.quickOutlineActionLabel,prefix:zd.PREFIX,commandId:Hv.ID},{description:g1.quickOutlineByCategoryActionLabel,prefix:zd.PREFIX_BY_CATEGORY}]});function S$(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class yg{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){const i=this.computeEmbedding(e),n=new Map,s=[];for(const[r,a]of this.documents){if(t.isCancellationRequested)return[];for(const d of a.chunks){const u=this.computeSimilarityScore(d,i,n);u>0&&s.push({key:r,score:u})}}return s}static termFrequencies(e){return S$(yg.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=yg.termFrequencies(n);for(const r of s.keys())this.chunkOccurrences.set(r,(this.chunkOccurrences.get(r)??0)+1);i.push({text:n,tf:s})}this.chunkCount+=i.length,this.documents.set(t.key,{chunks:i})}return this}deleteDocument(e){const t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(const i of t.chunks)for(const n of i.tf.keys()){const s=this.chunkOccurrences.get(n);if(typeof s=="number"){const r=s-1;r<=0?this.chunkOccurrences.delete(n):this.chunkOccurrences.set(n,r)}}}}computeSimilarityScore(e,t,i){let n=0;for(const[s,r]of Object.entries(t)){const a=e.tf.get(s);if(!a)continue;let d=i.get(s);typeof d!="number"&&(d=this.computeIdf(s),i.set(s,d));const u=a*d;n+=u*r}return n}computeEmbedding(e){const t=yg.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 D$(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 Qh;(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"})(Qh||(Qh={}));function UC(o){return Array.isArray(o.items)}function r2(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class A$ extends Rt{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var u;const n=new Tt;e.canAcceptInBackground=!!((u=this.options)!=null&&u.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new Jo),a=async()=>{var w;const f=r.value=new Tt;s==null||s.dispose(!0),e.busy=!1,s=new qs(t);const g=s.token;let p=e.value.substring(this.prefix.length);(w=this.options)!=null&&w.shouldSkipTrimPickFilter||(p=p.trim());const C=this._getPicks(p,f,g,i),b=(A,I)=>{var T;let M,R;if(UC(A)?(M=A.items,R=A.active):M=A,M.length===0){if(I)return!1;(p.length>0||e.hideInput)&&((T=this.options)!=null&&T.noResultsPick)&&(p7(this.options.noResultsPick)?M=[this.options.noResultsPick(p)]:M=[this.options.noResultsPick])}return e.items=M,R&&(e.activeItems=[R]),!0},y=async A=>{let I=!1,M=!1;await Promise.all([(async()=>{typeof A.mergeDelay=="number"&&(await eb(A.mergeDelay),g.isCancellationRequested)||M||(I=b(A.picks,!0))})(),(async()=>{e.busy=!0;try{const R=await A.additionalPicks;if(g.isCancellationRequested)return;let T,V;UC(A.picks)?(T=A.picks.items,V=A.picks.active):T=A.picks;let H,X;if(UC(R)?(H=R.items,X=R.active):H=R,H.length>0||!I){let se;if(!V&&!X){const he=e.activeItems[0];he&&T.indexOf(he)!==-1&&(se=he)}b({items:[...T,...H],active:V||X||se})}}finally{g.isCancellationRequested||(e.busy=!1),M=!0}})()])};if(C!==null)if(r2(C))await y(C);else if(!(C instanceof Promise))b(C);else{e.busy=!0;try{const A=await C;if(g.isCancellationRequested)return;r2(A)?await y(A):b(A)}finally{g.isCancellationRequested||(e.busy=!1)}}};n.add(e.onDidChangeValue(()=>a())),a(),n.add(e.onDidAccept(f=>{var p;if(i!=null&&i.handleAccept){f.inBackground||e.hide(),(p=i.handleAccept)==null||p.call(i,e.activeItems[0]);return}const[g]=e.selectedItems;typeof(g==null?void 0:g.accept)=="function"&&(f.inBackground||e.hide(),g.accept(e.keyMods,f))}));const d=async(f,g)=>{var C;if(typeof g.trigger!="function")return;const p=((C=g.buttons)==null?void 0:C.indexOf(f))??-1;if(p>=0){const b=g.trigger(p,e.keyMods),y=typeof b=="number"?b:await b;if(t.isCancellationRequested)return;switch(y){case Qh.NO_ACTION:break;case Qh.CLOSE_PICKER:e.hide();break;case Qh.REFRESH_PICKER:a();break;case Qh.REMOVE_ITEM:{const w=e.items.indexOf(g);if(w!==-1){const A=e.items.slice(),I=A.splice(w,1),M=e.activeItems.filter(T=>T!==I[0]),R=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=A,M&&(e.activeItems=M),e.keepScrollPosition=R}break}}}};return n.add(e.onDidTriggerItemButton(({button:f,item:g})=>d(f,g))),n.add(e.onDidTriggerSeparatorButton(({button:f,separator:g})=>d(f,g))),n}}var gF=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},rc=function(o,e){return function(t,i){e(t,i,o)}},xd,Es,Ma;let gw=(Ma=class extends A${constructor(e,t,i,n,s,r){super(xd.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(pw)),this.options=e}async _getPicks(e,t,i,n){var C,b;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=Lk(()=>{const y=new yg;y.updateDocuments(s.map(A=>({key:A.commandId,textChunks:[this.getTfIdfChunk(A)]})));const w=y.calculateScores(e,i);return D$(w).filter(A=>A.score>xd.TFIDF_THRESHOLD).slice(0,xd.TFIDF_MAX_RESULTS)}),a=[];for(const y of s){const w=xd.WORD_FILTER(e,y.label)??void 0,A=y.commandAlias?xd.WORD_FILTER(e,y.commandAlias)??void 0:void 0;if(w||A)y.highlights={label:w,detail:this.options.showAlias?A:void 0},a.push(y);else if(e===y.commandId)a.push(y);else if(e.length>=3){const I=r();if(i.isCancellationRequested)return[];const M=I.find(R=>R.key===y.commandId);M&&(y.tfIdfScore=M.score,a.push(y))}}const d=new Map;for(const y of a){const w=d.get(y.label);w?(y.description=y.commandId,w.description=w.commandId):d.set(y.label,y)}a.sort((y,w)=>{if(y.tfIdfScore&&w.tfIdfScore)return y.tfIdfScore===w.tfIdfScore?y.label.localeCompare(w.label):w.tfIdfScore-y.tfIdfScore;if(y.tfIdfScore)return 1;if(w.tfIdfScore)return-1;const A=this.commandsHistory.peek(y.commandId),I=this.commandsHistory.peek(w.commandId);if(A&&I)return A>I?-1:1;if(A)return-1;if(I)return 1;if(this.options.suggestedCommandIds){const M=this.options.suggestedCommandIds.has(y.commandId),R=this.options.suggestedCommandIds.has(w.commandId);if(M&&R)return 0;if(M)return-1;if(R)return 1}return y.label.localeCompare(w.label)});const u=[];let f=!1,g=!0,p=!!this.options.suggestedCommandIds;for(let y=0;y<a.length;y++){const w=a[y];y===0&&this.commandsHistory.peek(w.commandId)&&(u.push({type:"separator",label:S("recentlyUsed","recently used")}),f=!0),g&&w.tfIdfScore!==void 0&&(u.push({type:"separator",label:S("suggested","similar commands")}),g=!1),p&&w.tfIdfScore===void 0&&!this.commandsHistory.peek(w.commandId)&&((C=this.options.suggestedCommandIds)!=null&&C.has(w.commandId))&&(u.push({type:"separator",label:S("commonlyUsed","commonly used")}),f=!0,p=!1),f&&w.tfIdfScore===void 0&&!this.commandsHistory.peek(w.commandId)&&!((b=this.options.suggestedCommandIds)!=null&&b.has(w.commandId))&&(u.push({type:"separator",label:S("morecCommands","other commands")}),f=!1),u.push(this.toCommandPick(w,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:u,additionalPicks:(async()=>{var A;const y=await this.getAdditionalCommandPicks(s,a,e,i);if(i.isCancellationRequested)return[];const w=y.map(I=>this.toCommandPick(I,n));return g&&((A=w[0])==null?void 0:A.type)!=="separator"&&w.unshift({type:"separator",label:S("suggested","similar commands")}),w})()}:u}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?S("commandPickAriaLabelWithKeybinding","{0}, {1}",e.label,i.getAriaLabel()):e.label;return{...e,ariaLabel:n,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:i,accept:async()=>{var s;this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:(t==null?void 0:t.from)??"quick open"});try{(s=e.args)!=null&&s.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(r){qc(r)||this.dialogService.error(S("canNotRun","Command '{0}' resulted in an error",e.label),Um(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}},xd=Ma,Ma.PREFIX=">",Ma.TFIDF_THRESHOLD=.5,Ma.TFIDF_MAX_RESULTS=5,Ma.WORD_FILTER=x7(_7,v7,m7),Ma);gw=xd=gF([rc(1,nn),rc(2,Ds),rc(3,zs),rc(4,ua),rc(5,n9)],gw);var na;let pw=(na=class extends Rt{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===Ow.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Es.getConfiguredCommandHistoryLength(this.configurationService),Es.cache&&Es.cache.limit!==this.configuredCommandsHistoryLength&&(Es.cache.limit=this.configuredCommandsHistoryLength,Es.hasChanges=!0))}load(){const e=this.storageService.get(Es.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=Es.cache=new Bp(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))}Es.counter=this.storageService.getNumber(Es.PREF_KEY_COUNTER,0,Es.counter)}push(e){Es.cache&&(Es.cache.set(e,Es.counter++),Es.hasChanges=!0)}peek(e){var t;return(t=Es.cache)==null?void 0:t.peek(e)}saveState(){if(!Es.cache||!Es.hasChanges)return;const e={usesLRU:!0,entries:[]};Es.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(Es.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(Es.PREF_KEY_COUNTER,Es.counter,0,0),Es.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:Es.DEFAULT_COMMANDS_HISTORY_LENGTH}},Es=na,na.DEFAULT_COMMANDS_HISTORY_LENGTH=50,na.PREF_KEY_CACHE="commandPalette.mru.cache",na.PREF_KEY_COUNTER="commandPalette.mru.counter",na.counter=1,na.hasChanges=!1,na);pw=Es=gF([rc(0,Gc),rc(1,ss),rc(2,Yu)],pw);class k$ extends gw{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&&(b7(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:C7(n.label)||n.id})}return t}}var B$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fh=function(o,e){return function(t,i){e(t,i,o)}};let gp=class extends k${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[]}};gp=B$([Fh(0,nn),Fh(1,bs),Fh(2,Ds),Fh(3,zs),Fh(4,ua),Fh(5,n9)],gp);const H_=class H_ extends _t{constructor(){super({id:H_.ID,label:Pk.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(Tl).quickAccess.show(gp.PREFIX)}};H_.ID="editor.action.quickCommand";let Wv=H_;Fe(Wv);ca.as(Hp.Quickaccess).registerQuickAccessProvider({ctor:gp,prefix:gp.PREFIX,helpEntries:[{description:Pk.quickCommandHelp,commandId:Wv.ID}]});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},Lh=function(o,e){return function(t,i){e(t,i,o)}};let xw=class extends Vu{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};xw=F$([Lh(1,Fn),Lh(2,bs),Lh(3,mo),Lh(4,nn),Lh(5,Gc),Lh(6,ss)],xw);un(Vu.ID,xw,4);class L$ extends _t{constructor(){super({id:"editor.action.toggleHighContrast",label:E7.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(Bk),n=i.getColorTheme();Fg(n.type)?(i.setTheme(this._originalThemeName||(a8(n.type)?y7:w7)),this._originalThemeName=null):(i.setTheme(a8(n.type)?S7:D7),this._originalThemeName=n.themeName)}}Fe(L$);const pF="she-theme";function I$(){return localStorage.getItem(pF)??"system"}function P$(o){localStorage.setItem(pF,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o),window.dispatchEvent(new CustomEvent("she:theme-changed"))}function Jh(){const o=document.documentElement.getAttribute("data-theme");return o==="light"?"vs":o==="dark"||window.matchMedia("(prefers-color-scheme: dark)").matches?"vs-dark":"vs"}let mw=null;function T$(o){mw=o}function M$(o={}){return{"Content-Type":"application/json",...o}}async function $t(o,e,t){const i=await fetch(e,{method:o,headers:M$(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw mw&&mw(),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 R$(){return await(await fetch("/she/auth/mode")).json()}async function N$(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 O$(){await fetch("/she/auth/logout",{method:"POST"})}async function H$(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 W$(){return $t("GET","/she/scripts/tree")}function Vx(o){return $t("GET",`/she/scripts/${o}`)}function Ql(o,e){return $t("PUT",`/she/scripts/${o}`,{content:e})}function a2(o,e={}){const t=new URLSearchParams({q:o});return e.regex&&t.set("regex","true"),e.caseSensitive&&t.set("caseSensitive","true"),e.mode&&t.set("mode",e.mode),$t("GET",`/she/scripts/search?${t}`)}function jx(o){return $t("DELETE",`/she/scripts/${o}`)}function l2(o,e){return $t("POST",`/she/scripts/${o}/rename`,{newPath:e})}function z$(o){return $t("POST","/she/scripts/mkdir",{path:o})}function V$(){return $t("GET","/she/git/status")}function e0(){return $t("GET","/she/status")}function xF(){return $t("POST","/she/restart")}function j$(){return $t("POST","/she/update")}function $$(){return $t("POST","/she/check-update")}function U$(o,e){return $t("POST","/she/git/commit",{path:o,message:e})}function c2(o,e){return $t("POST","/she/git/commit",{files:o,message:e})}function d2(o){return $t("POST","/she/git/commit",{message:o})}function $x(o){return $t("POST","/she/git/push",{remote:o})}function q$(o,e){return $t("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function G$(o,e){return $t("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function Pl(){return $t("GET","/she/config")}function pp(o){return $t("PUT","/she/config",o)}function oh(o){return o.split("/").map(encodeURIComponent).join("/")}function mF(){return $t("GET","/she/db/docs")}function K$(o){return $t("GET",`/she/db/docs/${oh(o)}`)}function u2(o,e){return $t("PUT",`/she/db/docs/${oh(o)}`,e)}function Z$(o){return $t("DELETE",`/she/db/docs/${oh(o)}`)}function vF(){return $t("GET","/she/db/views")}function X$(o){return $t("GET",`/she/db/views/${oh(o)}`)}function h2(o,e){return $t("PUT",`/she/db/views/${oh(o)}`,e)}function Y$(o){return $t("DELETE",`/she/db/views/${oh(o)}`)}function Q$(){return $t("GET","/she/deps")}function J$(o){return $t("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function eU(o,e){return $t("POST","/she/deps/install",{name:o,version:null})}function tU(o){return $t("POST","/she/deps/remove",{name:o})}function iU(o){return $t("POST","/she/deps/update",{name:o})}function _F(){return $t("GET","/she/deps/outdated")}function nU(){return $t("POST","/she/deps/check-outdated")}function sU(){return $t("GET","/she/ai/conversations")}function f2(o){return $t("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function oU(o,e,t){return $t("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function rU(o){return $t("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function qC(o){return $t("GET",`/she/db/views/${oh(o)}/result`)}function dS(){return $t("GET","/she/matter/devices")}function bm(o){return $t("GET",`/she/matter/devices/${o}`)}function aU(o){return $t("POST","/she/matter/commission",o)}function lU(o){return $t("DELETE",`/she/matter/devices/${o}`)}function cU(o,e,t,i,n){return $t("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function bF(){return $t("GET","/she/mqtt/state")}function g2(o,e,t=!1,i=0){return $t("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function CF(){return $t("GET","/she/ai/config")}function EF(){return $t("GET","/she/ai/models")}function vw(o){return $t("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function yF(o){return $t("POST","/she/ai/prompt",o)}async function wF(o,e,t,i){const s=await fetch("/she/ai/chat/stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o),signal:t});if(!s.ok){const u=await s.json().catch(()=>({error:s.statusText}));throw new Error(u.error??s.statusText)}const r=s.body.getReader(),a=new TextDecoder;let d="";try{for(;;){const{done:u,value:f}=await r.read();if(u)break;d+=a.decode(f,{stream:!0});const g=d.split(`
|
|
79
|
-
`);d=g.pop()??"";for(const p of g){if(!p.startsWith("data: "))continue;const C=p.slice(6).trim();if(C==="[DONE]")return;try{const b=JSON.parse(C);if(b.error)throw new Error(b.error);if(b.type==="tool_call"||b.type==="tool_result"){i==null||i({type:b.type,name:b.name??"",args:b.args,content:b.content});continue}b.token&&e(b.token)}catch(b){if(b instanceof SyntaxError)continue;throw b}}}}finally{r.releaseLock()}}function Tb(){return $t("GET","/she/broker/status")}function dU(){return $t("GET","/she/broker/local/check")}function uU(){return $t("GET","/she/broker/ip-addresses")}function uS(){return $t("GET","/she/broker/config")}function hU(o=500){return $t("GET",`/she/broker/logs?limit=${o}`)}function SF(o){return $t("PUT","/she/broker/config",o)}function DF(){return $t("POST","/she/broker/reload")}function fU(){return $t("POST","/she/broker/restart")}function gU(){return $t("POST","/she/broker/wizard/deactivate")}function pU(){return $t("POST","/she/broker/wizard/reinit")}function xU(){return $t("GET","/she/broker/wizard/diagnose")}function mU(){return $t("GET","/she/broker/users")}function vU(o,e){return $t("POST","/she/broker/users",{username:o,password:e})}function _U(o){return $t("DELETE",`/she/broker/users/${encodeURIComponent(o)}`)}function bU(o,e){return $t("PUT",`/she/broker/users/${encodeURIComponent(o)}/password`,{password:e})}function CU(o,e){return $t("POST",`/she/broker/users/${encodeURIComponent(o)}/roles`,{rolename:e})}function EU(o,e){return $t("DELETE",`/she/broker/users/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function AF(){return $t("GET","/she/broker/roles")}function yU(o){return $t("POST","/she/broker/roles",{rolename:o})}function wU(o){return $t("DELETE",`/she/broker/roles/${encodeURIComponent(o)}`)}function SU(o,e){return $t("POST",`/she/broker/roles/${encodeURIComponent(o)}/acls`,e)}function DU(o,e,t){return $t("DELETE",`/she/broker/roles/${encodeURIComponent(o)}/acls`,{acltype:e,topic:t})}function AU(){return $t("GET","/she/broker/groups")}function kU(o){return $t("POST","/she/broker/groups",{groupname:o})}function BU(o){return $t("DELETE",`/she/broker/groups/${encodeURIComponent(o)}`)}function p2(o,e){return $t("POST",`/she/broker/groups/${encodeURIComponent(o)}/clients`,{username:e})}function x2(o,e){return $t("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/clients/${encodeURIComponent(e)}`)}function FU(o,e){return $t("POST",`/she/broker/groups/${encodeURIComponent(o)}/roles`,{rolename:e})}function LU(o,e){return $t("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function IU(){return $t("GET","/she/broker/acl-defaults")}function PU(o){return $t("PUT","/she/broker/acl-defaults",{acls:o})}function TU(o){return $t("GET",`/she/broker/acl-check?${new URLSearchParams({topic:o})}`)}function MU(){return $t("GET","/she/broker/anonymous-group")}function RU(o){return $t("PUT","/she/broker/anonymous-group",{groupname:o})}function NU(){return $t("GET","/she/broker/ca/server")}function OU(o){return $t("POST","/she/broker/ca/server/generate",o)}function HU(o){return $t("POST","/she/broker/ca/server/csr",o)}function GC(o){return $t("POST","/she/broker/ca/server/import",o)}function WU(){return $t("GET","/she/broker/ca/trusted")}function zU(o){return $t("POST","/she/broker/ca/trusted",{pem:o})}function VU(o){return $t("DELETE",`/she/broker/ca/trusted/${encodeURIComponent(o)}`)}function jU(o){return $t("GET",`/she/broker/fs/complete?path=${encodeURIComponent(o)}`)}function $U(o){return $t("POST","/she/broker/ca/server/pathlink",o)}function UU(o){return $t("POST","/she/broker/ca/trusted/addpath",{path:o})}const qU=2e3,Cm=[],GU=500,Em=[];function kF(){return Cm.slice()}function KU(){return Em.slice()}let xc=null;const zv=new Set,t0=new Map;let _w=null;function xp(){let o=zv.size;for(const e of t0.values())o+=e.size;return o}function ZU(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function hS(){if(xc)return;const o=ZU(),e=new WebSocket(o);xc=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};Cm.length>=qU&&Cm.shift(),Cm.push(s),zv.forEach(r=>r(s))}if(i.type==="brokerLog"){const s={level:i.level,msg:i.msg,ts:i.ts};Em.length>=GU&&Em.shift(),Em.push(s)}const n=t0.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{xc===e&&(xc=null),xp()>0&&(_w=setTimeout(hS,3e3))},e.onerror=()=>{e.close()}}function BF(){_w&&clearTimeout(_w),xc==null||xc.close(),xc=null}function fS(o){return zv.add(o),xp()===1&&hS(),()=>{zv.delete(o),xp()===0&&BF()}}function hr(o,e){return t0.has(o)||t0.set(o,new Set),t0.get(o).add(e),xp()===1&&hS(),()=>{var t;(t=t0.get(o))==null||t.delete(e),xp()===0&&BF()}}var XU=B('<button class="cancel svelte-1eh8v5n">Cancel</button>'),YU=B('<div class="backdrop svelte-1eh8v5n" role="presentation"></div> <div class="dialog svelte-1eh8v5n" role="dialog" aria-modal="true"><p class="svelte-1eh8v5n"> </p> <div class="actions svelte-1eh8v5n"><!> <button> </button></div></div>',1);function Yc(o,e){js(e,!0);let t=F(!1),i=F(""),n=F("Confirm"),s=F(!1),r=F(!1),a=null;function d(y,w){return m(i,y,!0),m(n,(w==null?void 0:w.confirm)??(w!=null&&w.alert?"OK":"Confirm"),!0),m(s,(w==null?void 0:w.danger)??!1,!0),m(r,(w==null?void 0:w.alert)??!1,!0),m(t,!0),new Promise(A=>a=A)}function u(y){m(t,!1),a==null||a(y),a=null}function f(y){c(t)&&(y.key==="Escape"&&u(!1),y.key==="Enter"&&u(!0))}var g={show:d},p=ws();xs("keydown",Rd,f);var C=Et(p);{var b=y=>{var w=YU(),A=Et(w),I=v(A,2),M=_(I),R=_(M),T=v(M,2),V=_(T);{var H=J=>{var ue=XU();U("click",ue,()=>u(!1)),D(J,ue)};z(V,J=>{c(r)||J(H)})}var X=v(V,2);let se;var he=_(X);j(()=>{W(R,c(i)),se=kt(X,1,"svelte-1eh8v5n",null,se,{danger:c(s)}),W(he,c(n))}),U("click",A,()=>u(!1)),U("click",X,()=>u(!0)),D(y,w)};z(C,y=>{c(t)&&y(b)})}return D(o,p),$s(g)}Ys(["click"]);var QU=B('<div class="backdrop svelte-1vi95tb" role="presentation"></div> <div class="dialog svelte-1vi95tb" role="dialog" aria-modal="true"><p class="svelte-1vi95tb"> </p> <input class="svelte-1vi95tb"/> <div class="actions svelte-1vi95tb"><button class="cancel svelte-1vi95tb">Cancel</button> <button class="svelte-1vi95tb"> </button></div></div>',1);function JU(o,e){js(e,!0);let t=F(!1),i=F(""),n=F(""),s=F("OK"),r=F(""),a=null,d=F(void 0);function u(A,I){return m(i,A,!0),m(n,(I==null?void 0:I.placeholder)??"",!0),m(s,(I==null?void 0:I.confirm)??"OK",!0),m(r,(I==null?void 0:I.initial)??"",!0),m(t,!0),setTimeout(()=>{if(c(d)){c(d).focus();const M=c(d).value.length;c(d).setSelectionRange(M,M)}},0),new Promise(M=>a=M)}function f(){const A=c(r).trim();A&&(m(t,!1),a==null||a(A),a=null,m(r,""))}function g(){m(t,!1),a==null||a(null),a=null,m(r,"")}function p(A){c(t)&&A.key==="Escape"&&(A.stopPropagation(),g())}var C={show:u},b=ws();xs("keydown",Rd,p);var y=Et(b);{var w=A=>{var I=QU(),M=Et(I),R=v(M,2),T=_(R),V=_(T),H=v(T,2);gs(H,ue=>m(d,ue),()=>c(d));var X=v(H,2),se=_(X),he=v(se,2),J=_(he);j(ue=>{W(V,c(i)),ln(H,"placeholder",c(n)),he.disabled=ue,W(J,c(s))},[()=>!c(r).trim()]),U("click",M,g),U("keydown",H,ue=>{ue.key==="Enter"&&(ue.preventDefault(),f())}),Vt(H,()=>c(r),ue=>m(r,ue)),U("click",se,g),U("click",he,f),D(A,I)};z(y,A=>{c(t)&&A(w)})}return D(o,b),$s(C)}Ys(["click","keydown"]);function gS(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var KC,m2;function eq(){if(m2)return KC;m2=1;function o(K){return K instanceof Map?K.clear=K.delete=K.set=function(){throw new Error("map is read-only")}:K instanceof Set&&(K.add=K.clear=K.delete=function(){throw new Error("set is read-only")}),Object.freeze(K),Object.getOwnPropertyNames(K).forEach(De=>{const Qe=K[De],tt=typeof Qe;(tt==="object"||tt==="function")&&!Object.isFrozen(Qe)&&o(Qe)}),K}class e{constructor(De){De.data===void 0&&(De.data={}),this.data=De.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(K){return K.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function i(K,...De){const Qe=Object.create(null);for(const tt in K)Qe[tt]=K[tt];return De.forEach(function(tt){for(const Gt in tt)Qe[Gt]=tt[Gt]}),Qe}const n="</span>",s=K=>!!K.scope,r=(K,{prefix:De})=>{if(K.startsWith("language:"))return K.replace("language:","language-");if(K.includes(".")){const Qe=K.split(".");return[`${De}${Qe.shift()}`,...Qe.map((tt,Gt)=>`${tt}${"_".repeat(Gt+1)}`)].join(" ")}return`${De}${K}`};class a{constructor(De,Qe){this.buffer="",this.classPrefix=Qe.classPrefix,De.walk(this)}addText(De){this.buffer+=t(De)}openNode(De){if(!s(De))return;const Qe=r(De.scope,{prefix:this.classPrefix});this.span(Qe)}closeNode(De){s(De)&&(this.buffer+=n)}value(){return this.buffer}span(De){this.buffer+=`<span class="${De}">`}}const d=(K={})=>{const De={children:[]};return Object.assign(De,K),De};class u{constructor(){this.rootNode=d(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(De){this.top.children.push(De)}openNode(De){const Qe=d({scope:De});this.add(Qe),this.stack.push(Qe)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(De){return this.constructor._walk(De,this.rootNode)}static _walk(De,Qe){return typeof Qe=="string"?De.addText(Qe):Qe.children&&(De.openNode(Qe),Qe.children.forEach(tt=>this._walk(De,tt)),De.closeNode(Qe)),De}static _collapse(De){typeof De!="string"&&De.children&&(De.children.every(Qe=>typeof Qe=="string")?De.children=[De.children.join("")]:De.children.forEach(Qe=>{u._collapse(Qe)}))}}class f extends u{constructor(De){super(),this.options=De}addText(De){De!==""&&this.add(De)}startScope(De){this.openNode(De)}endScope(){this.closeNode()}__addSublanguage(De,Qe){const tt=De.root;Qe&&(tt.scope=`language:${Qe}`),this.add(tt)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function g(K){return K?typeof K=="string"?K:K.source:null}function p(K){return y("(?=",K,")")}function C(K){return y("(?:",K,")*")}function b(K){return y("(?:",K,")?")}function y(...K){return K.map(Qe=>g(Qe)).join("")}function w(K){const De=K[K.length-1];return typeof De=="object"&&De.constructor===Object?(K.splice(K.length-1,1),De):{}}function A(...K){return"("+(w(K).capture?"":"?:")+K.map(tt=>g(tt)).join("|")+")"}function I(K){return new RegExp(K.toString()+"|").exec("").length-1}function M(K,De){const Qe=K&&K.exec(De);return Qe&&Qe.index===0}const R=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function T(K,{joinWith:De}){let Qe=0;return K.map(tt=>{Qe+=1;const Gt=Qe;let ci=g(tt),vt="";for(;ci.length>0;){const dt=R.exec(ci);if(!dt){vt+=ci;break}vt+=ci.substring(0,dt.index),ci=ci.substring(dt.index+dt[0].length),dt[0][0]==="\\"&&dt[1]?vt+="\\"+String(Number(dt[1])+Gt):(vt+=dt[0],dt[0]==="("&&Qe++)}return vt}).map(tt=>`(${tt})`).join(De)}const V=/\b\B/,H="[a-zA-Z]\\w*",X="[a-zA-Z_]\\w*",se="\\b\\d+(\\.\\d+)?",he="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",J="\\b(0b[01]+)",ue="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",be=(K={})=>{const De=/^#![ ]*\//;return K.binary&&(K.begin=y(De,/.*\b/,K.binary,/\b.*/)),i({scope:"meta",begin:De,end:/$/,relevance:0,"on:begin":(Qe,tt)=>{Qe.index!==0&&tt.ignoreMatch()}},K)},re={begin:"\\\\[\\s\\S]",relevance:0},ce={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[re]},ke={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[re]},Pe={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/},xe=function(K,De,Qe={}){const tt=i({scope:"comment",begin:K,end:De,contains:[]},Qe);tt.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 Gt=A("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return tt.contains.push({begin:y(/[ ]+/,"(",Gt,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),tt},He=xe("//","$"),Ue=xe("/\\*","\\*/"),ve=xe("#","$"),mt={scope:"number",begin:se,relevance:0},Mt={scope:"number",begin:he,relevance:0},st={scope:"number",begin:J,relevance:0},yt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[re,{begin:/\[/,end:/\]/,relevance:0,contains:[re]}]},Ce={scope:"title",begin:H,relevance:0},Nt={scope:"title",begin:X,relevance:0},si={begin:"\\.\\s*"+X,relevance:0};var et=Object.freeze({__proto__:null,APOS_STRING_MODE:ce,BACKSLASH_ESCAPE:re,BINARY_NUMBER_MODE:st,BINARY_NUMBER_RE:J,COMMENT:xe,C_BLOCK_COMMENT_MODE:Ue,C_LINE_COMMENT_MODE:He,C_NUMBER_MODE:Mt,C_NUMBER_RE:he,END_SAME_AS_BEGIN:function(K){return Object.assign(K,{"on:begin":(De,Qe)=>{Qe.data._beginMatch=De[1]},"on:end":(De,Qe)=>{Qe.data._beginMatch!==De[1]&&Qe.ignoreMatch()}})},HASH_COMMENT_MODE:ve,IDENT_RE:H,MATCH_NOTHING_RE:V,METHOD_GUARD:si,NUMBER_MODE:mt,NUMBER_RE:se,PHRASAL_WORDS_MODE:Pe,QUOTE_STRING_MODE:ke,REGEXP_MODE:yt,RE_STARTERS_RE:ue,SHEBANG:be,TITLE_MODE:Ce,UNDERSCORE_IDENT_RE:X,UNDERSCORE_TITLE_MODE:Nt});function St(K,De){K.input[K.index-1]==="."&&De.ignoreMatch()}function Qt(K,De){K.className!==void 0&&(K.scope=K.className,delete K.className)}function fi(K,De){De&&K.beginKeywords&&(K.begin="\\b("+K.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",K.__beforeBegin=St,K.keywords=K.keywords||K.beginKeywords,delete K.beginKeywords,K.relevance===void 0&&(K.relevance=0))}function oi(K,De){Array.isArray(K.illegal)&&(K.illegal=A(...K.illegal))}function Bi(K,De){if(K.match){if(K.begin||K.end)throw new Error("begin & end are not supported with match");K.begin=K.match,delete K.match}}function _i(K,De){K.relevance===void 0&&(K.relevance=1)}const Ke=(K,De)=>{if(!K.beforeMatch)return;if(K.starts)throw new Error("beforeMatch cannot be used with starts");const Qe=Object.assign({},K);Object.keys(K).forEach(tt=>{delete K[tt]}),K.keywords=Qe.keywords,K.begin=y(Qe.beforeMatch,p(Qe.begin)),K.starts={relevance:0,contains:[Object.assign(Qe,{endsParent:!0})]},K.relevance=0,delete Qe.beforeMatch},ye=["of","and","for","in","not","or","if","then","parent","list","value"],ti="keyword";function Ei(K,De,Qe=ti){const tt=Object.create(null);return typeof K=="string"?Gt(Qe,K.split(" ")):Array.isArray(K)?Gt(Qe,K):Object.keys(K).forEach(function(ci){Object.assign(tt,Ei(K[ci],De,ci))}),tt;function Gt(ci,vt){De&&(vt=vt.map(dt=>dt.toLowerCase())),vt.forEach(function(dt){const Y=dt.split("|");tt[Y[0]]=[ci,Jt(Y[0],Y[1])]})}}function Jt(K,De){return De?Number(De):Vi(K)?0:1}function Vi(K){return ye.includes(K.toLowerCase())}const Yi={},Ti=K=>{console.error(K)},wn=(K,...De)=>{console.log(`WARN: ${K}`,...De)},cn=(K,De)=>{Yi[`${K}/${De}`]||(console.log(`Deprecated as of ${K}. ${De}`),Yi[`${K}/${De}`]=!0)},gn=new Error;function hn(K,De,{key:Qe}){let tt=0;const Gt=K[Qe],ci={},vt={};for(let dt=1;dt<=De.length;dt++)vt[dt+tt]=Gt[dt],ci[dt+tt]=!0,tt+=I(De[dt-1]);K[Qe]=vt,K[Qe]._emit=ci,K[Qe]._multi=!0}function ft(K){if(Array.isArray(K.begin)){if(K.skip||K.excludeBegin||K.returnBegin)throw Ti("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),gn;if(typeof K.beginScope!="object"||K.beginScope===null)throw Ti("beginScope must be object"),gn;hn(K,K.begin,{key:"beginScope"}),K.begin=T(K.begin,{joinWith:""})}}function Ut(K){if(Array.isArray(K.end)){if(K.skip||K.excludeEnd||K.returnEnd)throw Ti("skip, excludeEnd, returnEnd not compatible with endScope: {}"),gn;if(typeof K.endScope!="object"||K.endScope===null)throw Ti("endScope must be object"),gn;hn(K,K.end,{key:"endScope"}),K.end=T(K.end,{joinWith:""})}}function Ri(K){K.scope&&typeof K.scope=="object"&&K.scope!==null&&(K.beginScope=K.scope,delete K.scope)}function qi(K){Ri(K),typeof K.beginScope=="string"&&(K.beginScope={_wrap:K.beginScope}),typeof K.endScope=="string"&&(K.endScope={_wrap:K.endScope}),ft(K),Ut(K)}function bi(K){function De(vt,dt){return new RegExp(g(vt),"m"+(K.case_insensitive?"i":"")+(K.unicodeRegex?"u":"")+(dt?"g":""))}class Qe{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(dt,Y){Y.position=this.position++,this.matchIndexes[this.matchAt]=Y,this.regexes.push([Y,dt]),this.matchAt+=I(dt)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const dt=this.regexes.map(Y=>Y[1]);this.matcherRe=De(T(dt,{joinWith:"|"}),!0),this.lastIndex=0}exec(dt){this.matcherRe.lastIndex=this.lastIndex;const Y=this.matcherRe.exec(dt);if(!Y)return null;const Te=Y.findIndex((we,di)=>di>0&&we!==void 0),lt=this.matchIndexes[Te];return Y.splice(0,Te),Object.assign(Y,lt)}}class tt{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(dt){if(this.multiRegexes[dt])return this.multiRegexes[dt];const Y=new Qe;return this.rules.slice(dt).forEach(([Te,lt])=>Y.addRule(Te,lt)),Y.compile(),this.multiRegexes[dt]=Y,Y}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(dt,Y){this.rules.push([dt,Y]),Y.type==="begin"&&this.count++}exec(dt){const Y=this.getMatcher(this.regexIndex);Y.lastIndex=this.lastIndex;let Te=Y.exec(dt);if(this.resumingScanAtSamePosition()&&!(Te&&Te.index===this.lastIndex)){const lt=this.getMatcher(0);lt.lastIndex=this.lastIndex+1,Te=lt.exec(dt)}return Te&&(this.regexIndex+=Te.position+1,this.regexIndex===this.count&&this.considerAll()),Te}}function Gt(vt){const dt=new tt;return vt.contains.forEach(Y=>dt.addRule(Y.begin,{rule:Y,type:"begin"})),vt.terminatorEnd&&dt.addRule(vt.terminatorEnd,{type:"end"}),vt.illegal&&dt.addRule(vt.illegal,{type:"illegal"}),dt}function ci(vt,dt){const Y=vt;if(vt.isCompiled)return Y;[Qt,Bi,qi,Ke].forEach(lt=>lt(vt,dt)),K.compilerExtensions.forEach(lt=>lt(vt,dt)),vt.__beforeBegin=null,[fi,oi,_i].forEach(lt=>lt(vt,dt)),vt.isCompiled=!0;let Te=null;return typeof vt.keywords=="object"&&vt.keywords.$pattern&&(vt.keywords=Object.assign({},vt.keywords),Te=vt.keywords.$pattern,delete vt.keywords.$pattern),Te=Te||/\w+/,vt.keywords&&(vt.keywords=Ei(vt.keywords,K.case_insensitive)),Y.keywordPatternRe=De(Te,!0),dt&&(vt.begin||(vt.begin=/\B|\b/),Y.beginRe=De(Y.begin),!vt.end&&!vt.endsWithParent&&(vt.end=/\B|\b/),vt.end&&(Y.endRe=De(Y.end)),Y.terminatorEnd=g(Y.end)||"",vt.endsWithParent&&dt.terminatorEnd&&(Y.terminatorEnd+=(vt.end?"|":"")+dt.terminatorEnd)),vt.illegal&&(Y.illegalRe=De(vt.illegal)),vt.contains||(vt.contains=[]),vt.contains=[].concat(...vt.contains.map(function(lt){return ji(lt==="self"?vt:lt)})),vt.contains.forEach(function(lt){ci(lt,Y)}),vt.starts&&ci(vt.starts,dt),Y.matcher=Gt(Y),Y}if(K.compilerExtensions||(K.compilerExtensions=[]),K.contains&&K.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return K.classNameAliases=i(K.classNameAliases||{}),ci(K)}function Wi(K){return K?K.endsWithParent||Wi(K.starts):!1}function ji(K){return K.variants&&!K.cachedVariants&&(K.cachedVariants=K.variants.map(function(De){return i(K,{variants:null},De)})),K.cachedVariants?K.cachedVariants:Wi(K)?i(K,{starts:K.starts?i(K.starts):null}):Object.isFrozen(K)?i(K):K}var Ji="11.11.1";class Si extends Error{constructor(De,Qe){super(De),this.name="HTMLInjectionError",this.html=Qe}}const $i=t,ze=i,qt=Symbol("nomatch"),Fi=7,zi=function(K){const De=Object.create(null),Qe=Object.create(null),tt=[];let Gt=!0;const ci="Could not find the language '{}', did you forget to load/include a language module?",vt={disableAutodetect:!0,name:"Plain text",contains:[]};let dt={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function Y(P){return dt.noHighlightRe.test(P)}function Te(P){let N=P.className+" ";N+=P.parentNode?P.parentNode.className:"";const $=dt.languageDetectRe.exec(N);if($){const oe=Xt($[1]);return oe||(wn(ci.replace("{}",$[1])),wn("Falling back to no-highlight mode for this block.",P)),oe?$[1]:"no-highlight"}return N.split(/\s+/).find(oe=>Y(oe)||Xt(oe))}function lt(P,N,$){let oe="",ne="";typeof N=="object"?(oe=P,$=N.ignoreIllegals,ne=N.language):(cn("10.7.0","highlight(lang, code, ...args) has been deprecated."),cn("10.7.0",`Please use highlight(code, options) instead.
|
|
80
|
-
https://github.com/highlightjs/highlight.js/issues/2277`),ne=P,oe=N),$===void 0&&($=!0);const ie={code:oe,language:ne};Ot("before:highlight",ie);const ae=ie.result?ie.result:we(ie.language,ie.code,$);return ae.code=ie.code,Ot("after:highlight",ae),ae}function we(P,N,$,oe){const ne=Object.create(null);function ie(fe,Ve){return fe.keywords[Ve]}function ae(){if(!Ie.keywords){Re.addText(Ne);return}let fe=0;Ie.keywordPatternRe.lastIndex=0;let Ve=Ie.keywordPatternRe.exec(Ne),Ct="";for(;Ve;){Ct+=Ne.substring(fe,Ve.index);const Wt=We.case_insensitive?Ve[0].toLowerCase():Ve[0],bt=ie(Ie,Wt);if(bt){const[gi,Ai]=bt;if(Re.addText(Ct),Ct="",ne[Wt]=(ne[Wt]||0)+1,ne[Wt]<=Fi&&(it+=Ai),gi.startsWith("_"))Ct+=Ve[0];else{const Xi=We.classNameAliases[gi]||gi;_e(Ve[0],Xi)}}else Ct+=Ve[0];fe=Ie.keywordPatternRe.lastIndex,Ve=Ie.keywordPatternRe.exec(Ne)}Ct+=Ne.substring(fe),Re.addText(Ct)}function Je(){if(Ne==="")return;let fe=null;if(typeof Ie.subLanguage=="string"){if(!De[Ie.subLanguage]){Re.addText(Ne);return}fe=we(Ie.subLanguage,Ne,!0,ge[Ie.subLanguage]),ge[Ie.subLanguage]=fe._top}else fe=Lt(Ne,Ie.subLanguage.length?Ie.subLanguage:null);Ie.relevance>0&&(it+=fe.relevance),Re.__addSublanguage(fe._emitter,fe.language)}function Le(){Ie.subLanguage!=null?Je():ae(),Ne=""}function _e(fe,Ve){fe!==""&&(Re.startScope(Ve),Re.addText(fe),Re.endScope())}function Ze(fe,Ve){let Ct=1;const Wt=Ve.length-1;for(;Ct<=Wt;){if(!fe._emit[Ct]){Ct++;continue}const bt=We.classNameAliases[fe[Ct]]||fe[Ct],gi=Ve[Ct];bt?_e(gi,bt):(Ne=gi,ae(),Ne=""),Ct++}}function Me(fe,Ve){return fe.scope&&typeof fe.scope=="string"&&Re.openNode(We.classNameAliases[fe.scope]||fe.scope),fe.beginScope&&(fe.beginScope._wrap?(_e(Ne,We.classNameAliases[fe.beginScope._wrap]||fe.beginScope._wrap),Ne=""):fe.beginScope._multi&&(Ze(fe.beginScope,Ve),Ne="")),Ie=Object.create(fe,{parent:{value:Ie}}),Ie}function ct(fe,Ve,Ct){let Wt=M(fe.endRe,Ct);if(Wt){if(fe["on:end"]){const bt=new e(fe);fe["on:end"](Ve,bt),bt.isMatchIgnored&&(Wt=!1)}if(Wt){for(;fe.endsParent&&fe.parent;)fe=fe.parent;return fe}}if(fe.endsWithParent)return ct(fe.parent,Ve,Ct)}function Zt(fe){return Ie.matcher.regexIndex===0?(Ne+=fe[0],1):(ut=!0,0)}function Z(fe){const Ve=fe[0],Ct=fe.rule,Wt=new e(Ct),bt=[Ct.__beforeBegin,Ct["on:begin"]];for(const gi of bt)if(gi&&(gi(fe,Wt),Wt.isMatchIgnored))return Zt(Ve);return Ct.skip?Ne+=Ve:(Ct.excludeBegin&&(Ne+=Ve),Le(),!Ct.returnBegin&&!Ct.excludeBegin&&(Ne=Ve)),Me(Ct,fe),Ct.returnBegin?0:Ve.length}function le(fe){const Ve=fe[0],Ct=N.substring(fe.index),Wt=ct(Ie,fe,Ct);if(!Wt)return qt;const bt=Ie;Ie.endScope&&Ie.endScope._wrap?(Le(),_e(Ve,Ie.endScope._wrap)):Ie.endScope&&Ie.endScope._multi?(Le(),Ze(Ie.endScope,fe)):bt.skip?Ne+=Ve:(bt.returnEnd||bt.excludeEnd||(Ne+=Ve),Le(),bt.excludeEnd&&(Ne=Ve));do Ie.scope&&Re.closeNode(),!Ie.skip&&!Ie.subLanguage&&(it+=Ie.relevance),Ie=Ie.parent;while(Ie!==Wt.parent);return Wt.starts&&Me(Wt.starts,fe),bt.returnEnd?0:Ve.length}function $e(){const fe=[];for(let Ve=Ie;Ve!==We;Ve=Ve.parent)Ve.scope&&fe.unshift(Ve.scope);fe.forEach(Ve=>Re.openNode(Ve))}let Pt={};function Ee(fe,Ve){const Ct=Ve&&Ve[0];if(Ne+=fe,Ct==null)return Le(),0;if(Pt.type==="begin"&&Ve.type==="end"&&Pt.index===Ve.index&&Ct===""){if(Ne+=N.slice(Ve.index,Ve.index+1),!Gt){const Wt=new Error(`0 width match regex (${P})`);throw Wt.languageName=P,Wt.badRule=Pt.rule,Wt}return 1}if(Pt=Ve,Ve.type==="begin")return Z(Ve);if(Ve.type==="illegal"&&!$){const Wt=new Error('Illegal lexeme "'+Ct+'" for mode "'+(Ie.scope||"<unnamed>")+'"');throw Wt.mode=Ie,Wt}else if(Ve.type==="end"){const Wt=le(Ve);if(Wt!==qt)return Wt}if(Ve.type==="illegal"&&Ct==="")return Ne+=`
|
|
81
|
-
`,1;if(Oe>1e5&&Oe>Ve.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Ne+=Ct,Ct.length}const We=Xt(P);if(!We)throw Ti(ci.replace("{}",P)),new Error('Unknown language: "'+P+'"');const wt=bi(We);let gt="",Ie=oe||wt;const ge={},Re=new dt.__emitter(dt);$e();let Ne="",it=0,at=0,Oe=0,ut=!1;try{if(We.__emitTokens)We.__emitTokens(N,Re);else{for(Ie.matcher.considerAll();;){Oe++,ut?ut=!1:Ie.matcher.considerAll(),Ie.matcher.lastIndex=at;const fe=Ie.matcher.exec(N);if(!fe)break;const Ve=N.substring(at,fe.index),Ct=Ee(Ve,fe);at=fe.index+Ct}Ee(N.substring(at))}return Re.finalize(),gt=Re.toHTML(),{language:P,value:gt,relevance:it,illegal:!1,_emitter:Re,_top:Ie}}catch(fe){if(fe.message&&fe.message.includes("Illegal"))return{language:P,value:$i(N),illegal:!0,relevance:0,_illegalBy:{message:fe.message,index:at,context:N.slice(at-100,at+100),mode:fe.mode,resultSoFar:gt},_emitter:Re};if(Gt)return{language:P,value:$i(N),illegal:!1,relevance:0,errorRaised:fe,_emitter:Re,_top:Ie};throw fe}}function di(P){const N={value:$i(P),illegal:!1,relevance:0,_top:vt,_emitter:new dt.__emitter(dt)};return N._emitter.addText(P),N}function Lt(P,N){N=N||dt.languages||Object.keys(De);const $=di(P),oe=N.filter(Xt).filter(Ge).map(Le=>we(Le,P,!1));oe.unshift($);const ne=oe.sort((Le,_e)=>{if(Le.relevance!==_e.relevance)return _e.relevance-Le.relevance;if(Le.language&&_e.language){if(Xt(Le.language).supersetOf===_e.language)return 1;if(Xt(_e.language).supersetOf===Le.language)return-1}return 0}),[ie,ae]=ne,Je=ie;return Je.secondBest=ae,Je}function te(P,N,$){const oe=N&&Qe[N]||$;P.classList.add("hljs"),P.classList.add(`language-${oe}`)}function Ye(P){let N=null;const $=Te(P);if(Y($))return;if(Ot("before:highlightElement",{el:P,language:$}),P.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",P);return}if(P.children.length>0&&(dt.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(P)),dt.throwUnescapedHTML))throw new Si("One of your code blocks includes unescaped HTML.",P.innerHTML);N=P;const oe=N.textContent,ne=$?lt(oe,{language:$,ignoreIllegals:!0}):Lt(oe);P.innerHTML=ne.value,P.dataset.highlighted="yes",te(P,$,ne.language),P.result={language:ne.language,re:ne.relevance,relevance:ne.relevance},ne.secondBest&&(P.secondBest={language:ne.secondBest.language,relevance:ne.secondBest.relevance}),Ot("after:highlightElement",{el:P,result:ne,text:oe})}function Bt(P){dt=ze(dt,P)}const It=()=>{je(),cn("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Dt(){je(),cn("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Be=!1;function je(){function P(){je()}if(document.readyState==="loading"){Be||window.addEventListener("DOMContentLoaded",P,!1),Be=!0;return}document.querySelectorAll(dt.cssSelector).forEach(Ye)}function Kt(P,N){let $=null;try{$=N(K)}catch(oe){if(Ti("Language definition for '{}' could not be registered.".replace("{}",P)),Gt)Ti(oe);else throw oe;$=vt}$.name||($.name=P),De[P]=$,$.rawDefinition=N.bind(null,K),$.aliases&&pe($.aliases,{languageName:P})}function ri(P){delete De[P];for(const N of Object.keys(Qe))Qe[N]===P&&delete Qe[N]}function hi(){return Object.keys(De)}function Xt(P){return P=(P||"").toLowerCase(),De[P]||De[Qe[P]]}function pe(P,{languageName:N}){typeof P=="string"&&(P=[P]),P.forEach($=>{Qe[$.toLowerCase()]=N})}function Ge(P){const N=Xt(P);return N&&!N.disableAutodetect}function ot(P){P["before:highlightBlock"]&&!P["before:highlightElement"]&&(P["before:highlightElement"]=N=>{P["before:highlightBlock"](Object.assign({block:N.el},N))}),P["after:highlightBlock"]&&!P["after:highlightElement"]&&(P["after:highlightElement"]=N=>{P["after:highlightBlock"](Object.assign({block:N.el},N))})}function rt(P){ot(P),tt.push(P)}function jt(P){const N=tt.indexOf(P);N!==-1&&tt.splice(N,1)}function Ot(P,N){const $=P;tt.forEach(function(oe){oe[$]&&oe[$](N)})}function Ci(P){return cn("10.7.0","highlightBlock will be removed entirely in v12.0"),cn("10.7.0","Please use highlightElement now."),Ye(P)}Object.assign(K,{highlight:lt,highlightAuto:Lt,highlightAll:je,highlightElement:Ye,highlightBlock:Ci,configure:Bt,initHighlighting:It,initHighlightingOnLoad:Dt,registerLanguage:Kt,unregisterLanguage:ri,listLanguages:hi,getLanguage:Xt,registerAliases:pe,autoDetection:Ge,inherit:ze,addPlugin:rt,removePlugin:jt}),K.debugMode=function(){Gt=!1},K.safeMode=function(){Gt=!0},K.versionString=Ji,K.regex={concat:y,lookahead:p,either:A,optional:b,anyNumberOfTimes:C};for(const P in et)typeof et[P]=="object"&&o(et[P]);return Object.assign(K,et),K},Di=zi({});return Di.newInstance=()=>zi({}),KC=Di,Di.HighlightJS=Di,Di.default=Di,KC}var tq=eq();const Vv=gS(tq),v2="[A-Za-z$_][0-9A-Za-z$_]*",iq=["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"],nq=["true","false","null","undefined","NaN","Infinity"],FF=["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"],LF=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],IF=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],sq=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],oq=[].concat(IF,FF,LF);function PF(o){const e=o.regex,t=(xe,{after:He})=>{const Ue="</"+xe[0].slice(1);return xe.input.indexOf(Ue,He)!==-1},i=v2,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(xe,He)=>{const Ue=xe[0].length+xe.index,ve=xe.input[Ue];if(ve==="<"||ve===","){He.ignoreMatch();return}ve===">"&&(t(xe,{after:Ue})||He.ignoreMatch());let mt;const Mt=xe.input.substring(Ue);if(mt=Mt.match(/^\s*=/)){He.ignoreMatch();return}if((mt=Mt.match(/^\s+extends\s+/))&&mt.index===0){He.ignoreMatch();return}}},a={$pattern:v2,keyword:iq,literal:nq,built_in:oq,"variable.language":sq},d="[0-9](_?[0-9])*",u=`\\.(${d})`,f="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${f})((${u})|\\.)?|(${u}))[eE][+-]?(${d})\\b`},{begin:`\\b(${f})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},C={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"css"}},y={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},w={className:"string",begin:"`",end:"`",contains:[o.BACKSLASH_ESCAPE,p]},I={className:"comment",variants:[o.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),o.C_BLOCK_COMMENT_MODE,o.C_LINE_COMMENT_MODE]},M=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,C,b,y,w,{match:/\$\d+/},g];p.contains=M.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(M)});const R=[].concat(I,p.contains),T=R.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(R)}]),V={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:T},H={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},X={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:{_:[...FF,...LF]}},se={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},he={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[V],illegal:/%/},J={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ue(xe){return e.concat("(?!",xe.join("|"),")")}const be={match:e.concat(/\b/,ue([...IF,"super","import"].map(xe=>`${xe}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},re={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ce={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},V]},ke="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Pe={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(ke)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[V]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:T,CLASS_REFERENCE:X},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),se,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,C,b,y,w,I,{match:/\$\d+/},g,X,{scope:"attr",match:i+e.lookahead(":"),relevance:0},Pe,{begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[I,o.REGEXP_MODE,{className:"function",begin:ke,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:T}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:n.begin,end:n.end},{match:s},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},he,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[V,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},re,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[V]},be,J,H,ce,{match:/\$[(.]/}]}}function pS(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var rh=pS();function TF(o){rh=o}var _d={exec:()=>null};function Ih(o){let e=[];return t=>{let i=Math.max(0,Math.min(3,t-1)),n=e[i];return n||(n=o(i),e[i]=n),n}}function Yn(o,e=""){let t=typeof o=="string"?o:o.source,i={replace:(n,s)=>{let r=typeof s=="string"?s:s.source;return r=r.replace(Eo.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var rq=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),Eo={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:Ih(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Ih(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:Ih(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:Ih(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:Ih(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:Ih(o=>new RegExp(`^ {0,${o}}>`))},aq=/^(?:[ \t]*(?:\n|$))+/,lq=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,cq=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,ex=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,dq=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,xS=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,MF=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,RF=Yn(MF).replace(/bull/g,xS).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(),uq=Yn(MF).replace(/bull/g,xS).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(),mS=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,hq=/^[^\n]+/,vS=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,fq=Yn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",vS).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),gq=Yn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,xS).getRegex(),Mb="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",_S=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,pq=Yn("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",_S).replace("tag",Mb).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),NF=Yn(mS).replace("hr",ex).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",Mb).getRegex(),xq=Yn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",NF).getRegex(),bS={blockquote:xq,code:lq,def:fq,fences:cq,heading:dq,hr:ex,html:pq,lheading:RF,list:gq,newline:aq,paragraph:NF,table:_d,text:hq},_2=Yn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",ex).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",Mb).getRegex(),mq={...bS,lheading:uq,table:_2,paragraph:Yn(mS).replace("hr",ex).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",_2).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",Mb).getRegex()},vq={...bS,html:Yn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",_S).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:_d,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Yn(mS).replace("hr",ex).replace("heading",` *#{1,6} *[^
|
|
82
|
-
]`).replace("lheading",RF).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},_q=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,bq=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,OF=/^( {2,}|\\)\n(?!\s*$)/,Cq=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,bf=/[\p{P}\p{S}]/u,Rb=/[\s\p{P}\p{S}]/u,CS=/[^\s\p{P}\p{S}]/u,Eq=Yn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Rb).getRegex(),HF=/(?!~)[\p{P}\p{S}]/u,yq=/(?!~)[\s\p{P}\p{S}]/u,wq=/(?:[^\s\p{P}\p{S}]|~)/u,Sq=Yn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",rq?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),WF=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Dq=Yn(WF,"u").replace(/punct/g,bf).getRegex(),Aq=Yn(WF,"u").replace(/punct/g,HF).getRegex(),zF="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",kq=Yn(zF,"gu").replace(/notPunctSpace/g,CS).replace(/punctSpace/g,Rb).replace(/punct/g,bf).getRegex(),Bq=Yn(zF,"gu").replace(/notPunctSpace/g,wq).replace(/punctSpace/g,yq).replace(/punct/g,HF).getRegex(),Fq=Yn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,CS).replace(/punctSpace/g,Rb).replace(/punct/g,bf).getRegex(),Lq=Yn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,bf).getRegex(),Iq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",Pq=Yn(Iq,"gu").replace(/notPunctSpace/g,CS).replace(/punctSpace/g,Rb).replace(/punct/g,bf).getRegex(),Tq=Yn(/\\(punct)/,"gu").replace(/punct/g,bf).getRegex(),Mq=Yn(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Rq=Yn(_S).replace("(?:-->|$)","-->").getRegex(),Nq=Yn("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Rq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),jv=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Oq=Yn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",jv).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),VF=Yn(/^!?\[(label)\]\[(ref)\]/).replace("label",jv).replace("ref",vS).getRegex(),jF=Yn(/^!?\[(ref)\](?:\[\])?/).replace("ref",vS).getRegex(),Hq=Yn("reflink|nolink(?!\\()","g").replace("reflink",VF).replace("nolink",jF).getRegex(),b2=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,ES={_backpedal:_d,anyPunctuation:Tq,autolink:Mq,blockSkip:Sq,br:OF,code:bq,del:_d,delLDelim:_d,delRDelim:_d,emStrongLDelim:Dq,emStrongRDelimAst:kq,emStrongRDelimUnd:Fq,escape:_q,link:Oq,nolink:jF,punctuation:Eq,reflink:VF,reflinkSearch:Hq,tag:Nq,text:Cq,url:_d},Wq={...ES,link:Yn(/^!?\[(label)\]\((.*?)\)/).replace("label",jv).getRegex(),reflink:Yn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",jv).getRegex()},bw={...ES,emStrongRDelimAst:Bq,emStrongLDelim:Aq,delLDelim:Lq,delRDelim:Pq,url:Yn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",b2).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:Yn(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",b2).getRegex()},zq={...bw,br:Yn(OF).replace("{2,}","*").getRegex(),text:Yn(bw.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Ux={normal:bS,gfm:mq,pedantic:vq},Vf={normal:ES,gfm:bw,breaks:zq,pedantic:Wq},Vq={"&":"&","<":"<",">":">",'"':""","'":"'"},C2=o=>Vq[o];function ya(o,e){if(e){if(Eo.escapeTest.test(o))return o.replace(Eo.escapeReplace,C2)}else if(Eo.escapeTestNoEncode.test(o))return o.replace(Eo.escapeReplaceNoEncode,C2);return o}function E2(o){try{o=encodeURI(o).replace(Eo.percentDecode,"%")}catch{return null}return o}function y2(o,e){var s;let t=o.replace(Eo.findPipe,(r,a,d)=>{let u=!1,f=a;for(;--f>=0&&d[f]==="\\";)u=!u;return u?"|":" |"}),i=t.split(Eo.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(Eo.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 w2(o){let e=o.split(`
|
|
83
|
-
`),t=e.length-1;for(;t>=0&&Eo.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
|
|
84
|
-
`)}function jq(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 $q(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 S2(o,e,t,i,n){let s=e.href,r=e.title||null,a=o[1].replace(n.other.outputLinkReplace,"$1");i.state.inLink=!0;let d={type:o[0].charAt(0)==="!"?"image":"link",raw:t,href:s,title:r,text:a,tokens:i.inlineTokens(a)};return i.state.inLink=!1,d}function Uq(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 $v=class{constructor(o){kn(this,"options");kn(this,"rules");kn(this,"lexer");this.options=o||rh}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]:w2(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=Uq(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=[],d;for(d=0;d<t.length;d++)if(this.rules.other.blockquoteStart.test(t[d]))a.push(t[d]),r=!0;else if(!r)a.push(t[d]);else break;t=t.slice(d);let u=a.join(`
|
|
91
|
-
`),f=u.replace(this.rules.other.blockquoteSetextReplace,`
|
|
92
|
-
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");i=i?`${i}
|
|
93
|
-
${u}`:u,n=n?`${n}
|
|
94
|
-
${f}`:f;let g=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(f,s,!0),this.lexer.state.top=g,t.length===0)break;let p=s.at(-1);if((p==null?void 0:p.type)==="code")break;if((p==null?void 0:p.type)==="blockquote"){let C=p,b=C.raw+`
|
|
95
|
-
`+t.join(`
|
|
96
|
-
`),y=this.blockquote(b);s[s.length-1]=y,i=i.substring(0,i.length-C.raw.length)+y.raw,n=n.substring(0,n.length-C.text.length)+y.text;break}else if((p==null?void 0:p.type)==="list"){let C=p,b=C.raw+`
|
|
97
|
-
`+t.join(`
|
|
98
|
-
`),y=this.list(b);s[s.length-1]=y,i=i.substring(0,i.length-p.raw.length)+y.raw,n=n.substring(0,n.length-C.raw.length)+y.raw,t=b.substring(s.at(-1).raw.length).split(`
|
|
99
|
-
`);continue}}return{type:"blockquote",raw:i,tokens:s,text:n}}}list(o){let e=this.rules.block.list.exec(o);if(e){let t=e[1].trim(),i=t.length>1,n={type:"list",raw:"",ordered:i,start:i?+t.slice(0,-1):"",loose:!1,items:[]};t=i?`\\d{1,9}\\${t.slice(-1)}`:`\\${t}`,this.options.pedantic&&(t=i?t:"[*+-]");let s=this.rules.other.listItemRegex(t),r=!1;for(;o;){let d=!1,u="",f="";if(!(e=s.exec(o))||this.rules.block.hr.test(o))break;u=e[0],o=o.substring(u.length);let g=$q(e[2].split(`
|
|
100
|
-
`,1)[0],e[1].length),p=o.split(`
|
|
101
|
-
`,1)[0],C=!g.trim(),b=0;if(this.options.pedantic?(b=2,f=g.trimStart()):C?b=e[1].length+1:(b=g.search(this.rules.other.nonSpaceChar),b=b>4?1:b,f=g.slice(b),b+=e[1].length),C&&this.rules.other.blankLine.test(p)&&(u+=p+`
|
|
102
|
-
`,o=o.substring(p.length+1),d=!0),!d){let y=this.rules.other.nextBulletRegex(b),w=this.rules.other.hrRegex(b),A=this.rules.other.fencesBeginRegex(b),I=this.rules.other.headingBeginRegex(b),M=this.rules.other.htmlBeginRegex(b),R=this.rules.other.blockquoteBeginRegex(b);for(;o;){let T=o.split(`
|
|
103
|
-
`,1)[0],V;if(p=T,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),V=p):V=p.replace(this.rules.other.tabCharGlobal," "),A.test(p)||I.test(p)||M.test(p)||R.test(p)||y.test(p)||w.test(p))break;if(V.search(this.rules.other.nonSpaceChar)>=b||!p.trim())f+=`
|
|
104
|
-
`+V.slice(b);else{if(C||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||A.test(g)||I.test(g)||w.test(g))break;f+=`
|
|
105
|
-
`+p}C=!p.trim(),u+=T+`
|
|
106
|
-
`,o=o.substring(T.length+1),g=V.slice(b)}}n.loose||(r?n.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(r=!0)),n.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(f),loose:!1,text:f,tokens:[]}),n.raw+=u}let a=n.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;n.raw=n.raw.trimEnd();for(let d of n.items){this.lexer.state.top=!1,d.tokens=this.lexer.blockTokens(d.text,[]);let u=d.tokens[0];if(d.task&&((u==null?void 0:u.type)==="text"||(u==null?void 0:u.type)==="paragraph")){d.text=d.text.replace(this.rules.other.listReplaceTask,""),u.raw=u.raw.replace(this.rules.other.listReplaceTask,""),u.text=u.text.replace(this.rules.other.listReplaceTask,"");for(let g=this.lexer.inlineQueue.length-1;g>=0;g--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[g].src)){this.lexer.inlineQueue[g].src=this.lexer.inlineQueue[g].src.replace(this.rules.other.listReplaceTask,"");break}let f=this.rules.other.listTaskCheckbox.exec(d.raw);if(f){let g={type:"checkbox",raw:f[0]+" ",checked:f[0]!=="[ ]"};d.checked=g.checked,n.loose?d.tokens[0]&&["paragraph","text"].includes(d.tokens[0].type)&&"tokens"in d.tokens[0]&&d.tokens[0].tokens?(d.tokens[0].raw=g.raw+d.tokens[0].raw,d.tokens[0].text=g.raw+d.tokens[0].text,d.tokens[0].tokens.unshift(g)):d.tokens.unshift({type:"paragraph",raw:g.raw,text:g.raw,tokens:[g]}):d.tokens.unshift(g)}}else d.task&&(d.task=!1);if(!n.loose){let f=d.tokens.filter(p=>p.type==="space"),g=f.length>0&&f.some(p=>this.rules.other.anyLine.test(p.raw));n.loose=g}}if(n.loose)for(let d of n.items){d.loose=!0;for(let u of d.tokens)u.type==="text"&&(u.type="paragraph")}return n}}html(o){let e=this.rules.block.html.exec(o);if(e){let t=w2(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=y2(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(y2(a,s.header.length).map((d,u)=>({text:d,tokens:this.lexer.inline(d),header:!1,align:s.align[u]})));return s}}lheading(o){let e=this.rules.block.lheading.exec(o);if(e){let t=e[1].trim();return{type:"heading",raw: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=jq(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)),S2(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 S2(t,n,t[0],this.lexer,this.rules)}}emStrong(o,e,t=""){let i=this.rules.inline.emStrongLDelim.exec(o);if(!(!i||!i[1]&&!i[2]&&!i[3]&&!i[4]||i[4]&&t.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[3])||!t||this.rules.inline.punctuation.exec(t))){let n=[...i[0]].length-1,s,r,a=n,d=0,u=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,e=e.slice(-1*o.length+n);(i=u.exec(e))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(r=[...s].length,i[3]||i[4]){a+=r;continue}else if((i[5]||i[6])&&n%3&&!((n+r)%3)){d+=r;continue}if(a-=r,a>0)continue;r=Math.min(r,r+a+d);let f=[...i[0]][0].length,g=o.slice(0,n+i.index+f+r);if(Math.min(n,r)%2){let C=g.slice(1,-1);return{type:"em",raw:g,text:C,tokens:this.lexer.inlineTokens(C)}}let p=g.slice(2,-2);return{type:"strong",raw:g,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(o){let e=this.rules.inline.code.exec(o);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(t),n=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return i&&n&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:e[0],text:t}}}br(o){let e=this.rules.inline.br.exec(o);if(e)return{type:"br",raw:e[0]}}del(o,e,t=""){let i=this.rules.inline.delLDelim.exec(o);if(i&&(!i[1]||!t||this.rules.inline.punctuation.exec(t))){let n=[...i[0]].length-1,s,r,a=n,d=this.rules.inline.delRDelim;for(d.lastIndex=0,e=e.slice(-1*o.length+n);(i=d.exec(e))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s||(r=[...s].length,r!==n))continue;if(i[3]||i[4]){a+=r;continue}if(a-=r,a>0)continue;r=Math.min(r,r+a);let u=[...i[0]][0].length,f=o.slice(0,n+i.index+u+r),g=f.slice(n,-n);return{type:"del",raw:f,text:g,tokens:this.lexer.inlineTokens(g)}}}}autolink(o){let e=this.rules.inline.autolink.exec(o);if(e){let t,i;return e[2]==="@"?(t=e[1],i="mailto:"+t):(t=e[1],i=t),{type:"link",raw:e[0],text:t,href:i,tokens:[{type:"text",raw:t,text:t}]}}}url(o){var t;let e;if(e=this.rules.inline.url.exec(o)){let i,n;if(e[2]==="@")i=e[0],n="mailto:"+i;else{let s;do s=e[0],e[0]=((t=this.rules.inline._backpedal.exec(e[0]))==null?void 0:t[0])??"";while(s!==e[0]);i=e[0],e[1]==="www."?n="http://"+e[0]:n=e[0]}return{type:"link",raw:e[0],text:i,href:n,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(o){let e=this.rules.inline.text.exec(o);if(e){let t=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:t}}}},Jr=class Cw{constructor(e){kn(this,"tokens");kn(this,"options");kn(this,"state");kn(this,"inlineQueue");kn(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||rh,this.options.tokenizer=this.options.tokenizer||new $v,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:Eo,block:Ux.normal,inline:Vf.normal};this.options.pedantic?(t.block=Ux.pedantic,t.inline=Vf.pedantic):this.options.gfm&&(t.block=Ux.gfm,this.options.breaks?t.inline=Vf.breaks:t.inline=Vf.gfm),this.tokenizer.rules=t}static get rules(){return{block:Ux,inline:Vf}}static lex(e,t){return new Cw(t).lex(e)}static lexInline(e,t){return new Cw(t).inlineTokens(e)}lex(e){e=e.replace(Eo.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(Eo.tabCharGlobal," ").replace(Eo.spaceLine,""));let n=1/0;for(;e;){if(e.length<n)n=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let d;if((r=(s=this.options.extensions)==null?void 0:s.block)!=null&&r.some(f=>(d=f.call({lexer:this},e,t))?(e=e.substring(d.raw.length),t.push(d),!0):!1))continue;if(d=this.tokenizer.space(e)){e=e.substring(d.raw.length);let f=t.at(-1);d.raw.length===1&&f!==void 0?f.raw+=`
|
|
113
|
-
`:t.push(d);continue}if(d=this.tokenizer.code(e)){e=e.substring(d.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="paragraph"||(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
|
|
114
|
-
`)?"":`
|
|
115
|
-
`)+d.raw,f.text+=`
|
|
116
|
-
`+d.text,this.inlineQueue.at(-1).src=f.text):t.push(d);continue}if(d=this.tokenizer.fences(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.heading(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.hr(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.blockquote(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.list(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.html(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.def(e)){e=e.substring(d.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="paragraph"||(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
|
|
117
|
-
`)?"":`
|
|
118
|
-
`)+d.raw,f.text+=`
|
|
119
|
-
`+d.raw,this.inlineQueue.at(-1).src=f.text):this.tokens.links[d.tag]||(this.tokens.links[d.tag]={href:d.href,title:d.title},t.push(d));continue}if(d=this.tokenizer.table(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.lheading(e)){e=e.substring(d.raw.length),t.push(d);continue}let u=e;if((a=this.options.extensions)!=null&&a.startBlock){let f=1/0,g=e.slice(1),p;this.options.extensions.startBlock.forEach(C=>{p=C.call({lexer:this},g),typeof p=="number"&&p>=0&&(f=Math.min(f,p))}),f<1/0&&f>=0&&(u=e.substring(0,f+1))}if(this.state.top&&(d=this.tokenizer.paragraph(u))){let f=t.at(-1);i&&(f==null?void 0:f.type)==="paragraph"?(f.raw+=(f.raw.endsWith(`
|
|
120
|
-
`)?"":`
|
|
121
|
-
`)+d.raw,f.text+=`
|
|
122
|
-
`+d.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):t.push(d),i=u.length!==e.length,e=e.substring(d.raw.length);continue}if(d=this.tokenizer.text(e)){e=e.substring(d.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
|
|
123
|
-
`)?"":`
|
|
124
|
-
`)+d.raw,f.text+=`
|
|
125
|
-
`+d.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):t.push(d);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){var u,f,g,p,C;this.tokenizer.lexer=this;let i=e,n=null;if(this.tokens.links){let b=Object.keys(this.tokens.links);if(b.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(i))!==null;)b.includes(n[0].slice(n[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(n=this.tokenizer.rules.inline.anyPunctuation.exec(i))!==null;)i=i.slice(0,n.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let s;for(;(n=this.tokenizer.rules.inline.blockSkip.exec(i))!==null;)s=n[2]?n[2].length:0,i=i.slice(0,n.index+s)+"["+"a".repeat(n[0].length-s-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);i=((f=(u=this.options.hooks)==null?void 0:u.emStrongMask)==null?void 0:f.call({lexer:this},i))??i;let r=!1,a="",d=1/0;for(;e;){if(e.length<d)d=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(a=""),r=!1;let b;if((p=(g=this.options.extensions)==null?void 0:g.inline)!=null&&p.some(w=>(b=w.call({lexer:this},e,t))?(e=e.substring(b.raw.length),t.push(b),!0):!1))continue;if(b=this.tokenizer.escape(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.tag(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.link(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(b.raw.length);let w=t.at(-1);b.type==="text"&&(w==null?void 0:w.type)==="text"?(w.raw+=b.raw,w.text+=b.text):t.push(b);continue}if(b=this.tokenizer.emStrong(e,i,a)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.codespan(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.br(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.del(e,i,a)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.autolink(e)){e=e.substring(b.raw.length),t.push(b);continue}if(!this.state.inLink&&(b=this.tokenizer.url(e))){e=e.substring(b.raw.length),t.push(b);continue}let y=e;if((C=this.options.extensions)!=null&&C.startInline){let w=1/0,A=e.slice(1),I;this.options.extensions.startInline.forEach(M=>{I=M.call({lexer:this},A),typeof I=="number"&&I>=0&&(w=Math.min(w,I))}),w<1/0&&w>=0&&(y=e.substring(0,w+1))}if(b=this.tokenizer.inlineText(y)){e=e.substring(b.raw.length),b.raw.slice(-1)!=="_"&&(a=b.raw.slice(-1)),r=!0;let w=t.at(-1);(w==null?void 0:w.type)==="text"?(w.raw+=b.raw,w.text+=b.text):t.push(b);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t="Infinite loop on byte: "+e;if(this.options.silent)console.error(t);else throw new Error(t)}},Uv=class{constructor(o){kn(this,"options");kn(this,"parser");this.options=o||rh}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(Eo.notSpaceStart))==null?void 0:s[0],n=o.replace(Eo.endingNewline,"")+`
|
|
126
|
-
`;return i?'<pre><code class="language-'+ya(i)+'">'+(t?n:ya(n,!0))+`</code></pre>
|
|
127
|
-
`:"<pre><code>"+(t?n:ya(n,!0))+`</code></pre>
|
|
128
|
-
`}blockquote({tokens:o}){return`<blockquote>
|
|
129
|
-
${this.parser.parse(o)}</blockquote>
|
|
130
|
-
`}html({text:o}){return o}def(o){return""}heading({tokens:o,depth:e}){return`<h${e}>${this.parser.parseInline(o)}</h${e}>
|
|
131
|
-
`}hr(o){return`<hr>
|
|
132
|
-
`}list(o){let e=o.ordered,t=o.start,i="";for(let r=0;r<o.items.length;r++){let a=o.items[r];i+=this.listitem(a)}let n=e?"ol":"ul",s=e&&t!==1?' start="'+t+'"':"";return"<"+n+s+`>
|
|
133
|
-
`+i+"</"+n+`>
|
|
134
|
-
`}listitem(o){return`<li>${this.parser.parse(o.tokens)}</li>
|
|
135
|
-
`}checkbox({checked:o}){return"<input "+(o?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:o}){return`<p>${this.parser.parseInline(o)}</p>
|
|
136
|
-
`}table(o){let e="",t="";for(let n=0;n<o.header.length;n++)t+=this.tablecell(o.header[n]);e+=this.tablerow({text:t});let i="";for(let n=0;n<o.rows.length;n++){let s=o.rows[n];t="";for(let r=0;r<s.length;r++)t+=this.tablecell(s[r]);i+=this.tablerow({text:t})}return i&&(i=`<tbody>${i}</tbody>`),`<table>
|
|
137
|
-
<thead>
|
|
138
|
-
`+e+`</thead>
|
|
139
|
-
`+i+`</table>
|
|
140
|
-
`}tablerow({text:o}){return`<tr>
|
|
141
|
-
${o}</tr>
|
|
142
|
-
`}tablecell(o){let e=this.parser.parseInline(o.tokens),t=o.header?"th":"td";return(o.align?`<${t} align="${o.align}">`:`<${t}>`)+e+`</${t}>
|
|
143
|
-
`}strong({tokens:o}){return`<strong>${this.parser.parseInline(o)}</strong>`}em({tokens:o}){return`<em>${this.parser.parseInline(o)}</em>`}codespan({text:o}){return`<code>${ya(o,!0)}</code>`}br(o){return"<br>"}del({tokens:o}){return`<del>${this.parser.parseInline(o)}</del>`}link({href:o,title:e,tokens:t}){let i=this.parser.parseInline(t),n=E2(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+ya(e)+'"'),s+=">"+i+"</a>",s}image({href:o,title:e,text:t,tokens:i}){i&&(t=this.parser.parseInline(i,this.parser.textRenderer));let n=E2(o);if(n===null)return ya(t);o=n;let s=`<img src="${o}" alt="${ya(t)}"`;return e&&(s+=` title="${ya(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:ya(o.text)}},yS=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}},ea=class Ew{constructor(e){kn(this,"options");kn(this,"renderer");kn(this,"textRenderer");this.options=e||rh,this.options.renderer=this.options.renderer||new Uv,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new yS}static parse(e,t){return new Ew(t).parse(e)}static parseInline(e,t){return new Ew(t).parseInline(e)}parse(e){var i,n;this.renderer.parser=this;let t="";for(let s=0;s<e.length;s++){let r=e[s];if((n=(i=this.options.extensions)==null?void 0:i.renderers)!=null&&n[r.type]){let d=r,u=this.options.extensions.renderers[d.type].call({parser:this},d);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(d.type)){t+=u||"";continue}}let a=r;switch(a.type){case"space":{t+=this.renderer.space(a);break}case"hr":{t+=this.renderer.hr(a);break}case"heading":{t+=this.renderer.heading(a);break}case"code":{t+=this.renderer.code(a);break}case"table":{t+=this.renderer.table(a);break}case"blockquote":{t+=this.renderer.blockquote(a);break}case"list":{t+=this.renderer.list(a);break}case"checkbox":{t+=this.renderer.checkbox(a);break}case"html":{t+=this.renderer.html(a);break}case"def":{t+=this.renderer.def(a);break}case"paragraph":{t+=this.renderer.paragraph(a);break}case"text":{t+=this.renderer.text(a);break}default:{let d='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(d),"";throw new Error(d)}}}return t}parseInline(e,t=this.renderer){var n,s;this.renderer.parser=this;let i="";for(let r=0;r<e.length;r++){let a=e[r];if((s=(n=this.options.extensions)==null?void 0:n.renderers)!=null&&s[a.type]){let u=this.options.extensions.renderers[a.type].call({parser:this},a);if(u!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){i+=u||"";continue}}let d=a;switch(d.type){case"escape":{i+=t.text(d);break}case"html":{i+=t.html(d);break}case"link":{i+=t.link(d);break}case"image":{i+=t.image(d);break}case"checkbox":{i+=t.checkbox(d);break}case"strong":{i+=t.strong(d);break}case"em":{i+=t.em(d);break}case"codespan":{i+=t.codespan(d);break}case"br":{i+=t.br(d);break}case"del":{i+=t.del(d);break}case"text":{i+=t.text(d);break}default:{let u='Token with "'+d.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return i}},Kx,og=(Kx=class{constructor(o){kn(this,"options");kn(this,"block");this.options=o||rh}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?Jr.lex:Jr.lexInline}provideParser(o=this.block){return o?ea.parse:ea.parseInline}},kn(Kx,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),kn(Kx,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),Kx),qq=class{constructor(...o){kn(this,"defaults",pS());kn(this,"options",this.setOptions);kn(this,"parse",this.parseMarkdown(!0));kn(this,"parseInline",this.parseMarkdown(!1));kn(this,"Parser",ea);kn(this,"Renderer",Uv);kn(this,"TextRenderer",yS);kn(this,"Lexer",Jr);kn(this,"Tokenizer",$v);kn(this,"Hooks",og);this.use(...o)}walkTokens(o,e){var i,n;let t=[];for(let s of o)switch(t=t.concat(e.call(this,s)),s.type){case"table":{let r=s;for(let a of r.header)t=t.concat(this.walkTokens(a.tokens,e));for(let a of r.rows)for(let d of a)t=t.concat(this.walkTokens(d.tokens,e));break}case"list":{let r=s;t=t.concat(this.walkTokens(r.items,e));break}default:{let r=s;(n=(i=this.defaults.extensions)==null?void 0:i.childTokens)!=null&&n[r.type]?this.defaults.extensions.childTokens[r.type].forEach(a=>{let d=r[a].flat(1/0);t=t.concat(this.walkTokens(d,e))}):r.tokens&&(t=t.concat(this.walkTokens(r.tokens,e)))}}return t}use(...o){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return o.forEach(t=>{let i={...t};if(i.async=this.defaults.async||i.async||!1,t.extensions&&(t.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let s=e.renderers[n.name];s?e.renderers[n.name]=function(...r){let a=n.renderer.apply(this,r);return a===!1&&(a=s.apply(this,r)),a}:e.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=e[n.level];s?s.unshift(n.tokenizer):e[n.level]=[n.tokenizer],n.start&&(n.level==="block"?e.startBlock?e.startBlock.push(n.start):e.startBlock=[n.start]:n.level==="inline"&&(e.startInline?e.startInline.push(n.start):e.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(e.childTokens[n.name]=n.childTokens)}),i.extensions=e),t.renderer){let n=this.defaults.renderer||new Uv(this.defaults);for(let s in t.renderer){if(!(s in n))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let r=s,a=t.renderer[r],d=n[r];n[r]=(...u)=>{let f=a.apply(n,u);return f===!1&&(f=d.apply(n,u)),f||""}}i.renderer=n}if(t.tokenizer){let n=this.defaults.tokenizer||new $v(this.defaults);for(let s in t.tokenizer){if(!(s in n))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let r=s,a=t.tokenizer[r],d=n[r];n[r]=(...u)=>{let f=a.apply(n,u);return f===!1&&(f=d.apply(n,u)),f}}i.tokenizer=n}if(t.hooks){let n=this.defaults.hooks||new og;for(let s in t.hooks){if(!(s in n))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let r=s,a=t.hooks[r],d=n[r];og.passThroughHooks.has(s)?n[r]=u=>{if(this.defaults.async&&og.passThroughHooksRespectAsync.has(s))return(async()=>{let g=await a.call(n,u);return d.call(n,g)})();let f=a.call(n,u);return d.call(n,f)}:n[r]=(...u)=>{if(this.defaults.async)return(async()=>{let g=await a.apply(n,u);return g===!1&&(g=await d.apply(n,u)),g})();let f=a.apply(n,u);return f===!1&&(f=d.apply(n,u)),f}}i.hooks=n}if(t.walkTokens){let n=this.defaults.walkTokens,s=t.walkTokens;i.walkTokens=function(r){let a=[];return a.push(s.call(this,r)),n&&(a=a.concat(n.call(this,r))),a}}this.defaults={...this.defaults,...i}}),this}setOptions(o){return this.defaults={...this.defaults,...o},this}lexer(o,e){return Jr.lex(o,e??this.defaults)}parser(o,e){return ea.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?Jr.lex:Jr.lexInline)(r,n),d=n.hooks?await n.hooks.processAllTokens(a):a;n.walkTokens&&await Promise.all(this.walkTokens(d,n.walkTokens));let u=await(n.hooks?await n.hooks.provideParser(o):o?ea.parse:ea.parseInline)(d,n);return n.hooks?await n.hooks.postprocess(u):u})().catch(s);try{n.hooks&&(e=n.hooks.preprocess(e));let r=(n.hooks?n.hooks.provideLexer(o):o?Jr.lex:Jr.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?ea.parse:ea.parseInline)(r,n);return n.hooks&&(a=n.hooks.postprocess(a)),a}catch(r){return s(r)}}}onError(o,e){return t=>{if(t.message+=`
|
|
144
|
-
Please report this to https://github.com/markedjs/marked.`,o){let i="<p>An error occurred:</p><pre>"+ya(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Gu=new qq;function os(o,e){return Gu.parse(o,e)}os.options=os.setOptions=function(o){return Gu.setOptions(o),os.defaults=Gu.defaults,TF(os.defaults),os};os.getDefaults=pS;os.defaults=rh;os.use=function(...o){return Gu.use(...o),os.defaults=Gu.defaults,TF(os.defaults),os};os.walkTokens=function(o,e){return Gu.walkTokens(o,e)};os.parseInline=Gu.parseInline;os.Parser=ea;os.parser=ea.parse;os.Renderer=Uv;os.TextRenderer=yS;os.Lexer=Jr;os.lexer=Jr.lex;os.Tokenizer=$v;os.Hooks=og;os.parse=os;os.options;os.setOptions;os.use;os.walkTokens;os.parseInline;ea.parse;Jr.lex;var Gq=B('<span class="chat-model svelte-10ayso4"><!></span>'),Kq=B('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),Zq=B('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),Xq=B('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),Yq=B('<ul class="history-list svelte-10ayso4"></ul>'),Qq=B('<div class="history-panel svelte-10ayso4"><div class="history-hdr svelte-10ayso4"><span class="svelte-10ayso4">Conversations</span> <button class="new-conv-btn svelte-10ayso4">+ New</button></div> <!></div>'),Jq=B('<div class="unconfigured svelte-10ayso4">Configure an AI provider in the <strong class="svelte-10ayso4">Config</strong> tab to use the AI assistant.</div>'),eG=B('Chatting in context of <code class="svelte-10ayso4"> </code>',1),tG=B('<button class="chip svelte-10ayso4"> </button>'),iG=B('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),nG=B('<div class="msg-content user-text svelte-10ayso4"> </div>'),D2=B('<span class="tool-args svelte-10ayso4"> </span>'),A2=B('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),k2=B('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),B2=B('<div class="tool-events svelte-10ayso4"></div>'),F2=B('<div class="text-block svelte-10ayso4"></div>'),sG=B('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),oG=B('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),rG=B('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),aG=B('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),lG=B('<button class="expand-btn svelte-10ayso4"> </button>'),cG=B('<div class="code-block svelte-10ayso4"><div class="code-header svelte-10ayso4"><span class="code-lang svelte-10ayso4"> </span> <div class="code-actions svelte-10ayso4"><button class="svelte-10ayso4">Copy</button> <!></div></div> <div><pre class="svelte-10ayso4"><code class="hljs svelte-10ayso4"></code></pre> <!></div></div>'),dG=B('<!> <div class="msg-content svelte-10ayso4"></div>',1),uG=B("<div><!></div>"),hG=B('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),fG=B('<div class="code-block svelte-10ayso4"><div class="code-header svelte-10ayso4"><span class="code-lang svelte-10ayso4"> </span></div> <pre class="svelte-10ayso4"><code class="hljs svelte-10ayso4"></code></pre></div>'),gG=B('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),pG=B('<div class="chat-error svelte-10ayso4"> </div>'),xG=B('<span class="ctx-indicator svelte-10ayso4"><svg width="12" height="12" viewBox="0 0 12 12" class="svelte-10ayso4"><circle cx="6" cy="6" r="5" fill="none" stroke="var(--border-sub)" stroke-width="2" class="svelte-10ayso4"></circle><circle cx="6" cy="6" r="5" fill="none" stroke-width="2" stroke-dashoffset="7.85" stroke-linecap="round" class="svelte-10ayso4"></circle></svg></span>'),mG=B('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),vG=B('<span class="file-chip svelte-10ayso4"><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4" title="Remove from context">×</button></span>'),_G=B('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),bG=B('<button class="send-btn svelte-10ayso4">↑</button>'),CG=B('<option class="svelte-10ayso4"> </option>'),EG=B('<select class="model-select svelte-10ayso4"></select>'),yG=B('<span class="model-name svelte-10ayso4"> </span>'),wG=B('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),SG=B('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),DG=B('<p class="info-status svelte-10ayso4">Loading…</p>'),AG=B('<p class="info-status info-err svelte-10ayso4"> </p>'),kG=B('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),BG=B('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),FG=B('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),LG=B('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),IG=B('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),PG=B('<div class="running-model svelte-10ayso4"> </div>'),TG=B('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),MG=B('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),RG=B('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),NG=B('<div class="info-overlay svelte-10ayso4"><div class="info-popup svelte-10ayso4"><div class="info-popup-header svelte-10ayso4"><span class="svelte-10ayso4"> </span> <button title="Close" class="svelte-10ayso4">✕</button></div> <div class="info-popup-body svelte-10ayso4"><!></div></div></div>'),OG=B('<div class="chat-panel svelte-10ayso4"><div class="chat-header svelte-10ayso4"><span class="chat-title svelte-10ayso4">AI Assistant</span> <!> <button title="Conversation history"><svg width="13" height="13" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="svelte-10ayso4"><circle cx="8" cy="8" r="6" class="svelte-10ayso4"></circle><polyline points="8,5 8,8 10,10" class="svelte-10ayso4"></polyline></svg></button> <!></div> <!> <div class="messages svelte-10ayso4"><!> <!> <!> <!> <!></div> <!> <div class="context-row svelte-10ayso4"><label title="Include she API reference in context" class="svelte-10ayso4"><input type="checkbox" class="svelte-10ayso4"/><span class="checkmark svelte-10ayso4"></span> she API</label> <label title="Let the AI query MQTT state, sheDB documents and Matter devices on demand. Disables real-time streaming." class="svelte-10ayso4"><input type="checkbox" class="svelte-10ayso4"/><span class="checkmark svelte-10ayso4"></span> 😎 Agent</label> <span class="req-size svelte-10ayso4"> <!></span></div> <div class="files-row svelte-10ayso4"><!> <!> <button class="add-file-btn svelte-10ayso4" title="Attach file to context">+</button> <input type="file" multiple="" class="file-input-hidden svelte-10ayso4"/></div> <div><div><textarea rows="3" class="svelte-10ayso4"></textarea></div> <!></div> <!></div> <!>',1);function HG(o,e){js(e,!0),Vv.registerLanguage("javascript",PF),os.use({breaks:!0,gfm:!0});let t=Tu(e,"currentScript",3,null),i=Tu(e,"extraFiles",31,()=>Pi([])),n=F(Pi([])),s=F(null),r=F(""),a=F(!1),d=F(""),u=F(null);const f="she:conversationId";function g(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=F(Pi(localStorage.getItem(f)??g())),C=F(Pi([])),b=F(!1);Kn(()=>{localStorage.setItem(f,c(p))});let y=F(Pi([])),w=F(Pi(localStorage.getItem("she:selectedModel")??"")),A=F(null);const I=Ft(()=>{var Z;return c(A)!==null&&((Z=t())==null?void 0:Z.path)===c(A)});let M=F(Pi(new Set)),R=F(!1),T=F(null),V=F(!1),H=F(""),X=F(0),se=null,he=F(0);const J=["[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 ue=F(!0),be=F(!0),re=F(!0),ce=F(!1),ke,Pe=F(Pi([])),xe,He;const Ue=Ft(()=>({apiref:c(ue),tools:c(be)})),ve=Ft(()=>{var Z;return((Z=c(u))==null?void 0:Z.configured)??!1}),mt=Ft(()=>{var Z;return c(ve)||!!((Z=c(u))!=null&&Z.provider)&&!!c(w)}),Mt=Ft(()=>c(X)+new TextEncoder().encode(c(r)).length),st=Ft(()=>c(re)?t():null);Kn(()=>{var le;const Z=(le=t())==null?void 0:le.path;m(re,!0),c(A)!==null&&Z!==c(A)&&m(A,null)}),Kn(()=>{var Pt;if(!c(I))return;const Z=c(n).at(-1);if(!Z||Z.role!=="assistant")return;const $e=Ce(Z.content).find(Ee=>Ee.type==="code"&&Bi(Ee.lang));if($e){const Ee=_i($e.text);(Pt=e.onApply)==null||Pt.call(e,Ee?Ee.code:$e.text)}});async function yt(){try{const Z=await CF();m(u,Z,!0),Z.configured&&!c(w)&&m(w,Z.model,!0)}catch{}}Kn(()=>(window.addEventListener("she:config-changed",yt),()=>window.removeEventListener("she:config-changed",yt))),Kn(()=>{c(w)&&localStorage.setItem("she:selectedModel",c(w))}),Kn(()=>{var Z;(Z=c(u))!=null&&Z.provider&&EF().then(le=>{m(y,le.models,!0),!c(w)&&le.models.length>0&&m(w,le.models[0],!0)}).catch(()=>{})}),Kn(()=>{c(w),m(T,null),m(H,"")}),Kn(()=>{var le,$e;if(((le=c(u))==null?void 0:le.provider)!=="ollama")return;const Z=c(w)||(($e=c(u))==null?void 0:$e.model);!Z||c(T)||vw(Z).then(Pt=>{m(T,Pt,!0)}).catch(()=>{})}),Kn(()=>{if(!c(a))return;m(he,Math.floor(Math.random()*J.length),!0);const Z=setInterval(()=>{m(he,(c(he)+1)%J.length)},1e4);return()=>clearInterval(Z)}),Kn(()=>{var Z;He&&(c(n).length+(((Z=c(s))==null?void 0:Z.length)??0),requestAnimationFrame(()=>{He&&(He.scrollTop=He.scrollHeight)}))}),Kn(()=>{const Z=c(Ue),le=c(st),$e=i();c(mt)&&yF({context:Z,currentScript:le??null,extraFiles:$e.length>0?$e:void 0}).then(Pt=>{m(X,new TextEncoder().encode(Pt.prompt).length,!0)}).catch(()=>{})});function Ce(Z){const le=Z.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
145
|
-
$2
|
|
146
|
-
`),$e=[],Pt=/```(\w*)\n([\s\S]*?)```/g;let Ee=0,We;for(;(We=Pt.exec(le))!==null;)We.index>Ee&&$e.push({type:"text",text:le.slice(Ee,We.index)}),$e.push({type:"code",lang:We[1]||"text",text:We[2].trimEnd()}),Ee=We.index+We[0].length;return Ee<le.length&&$e.push({type:"text",text:le.slice(Ee)}),$e}const Nt=15;function si(Z){return Z.split(`
|
|
147
|
-
`).length>Nt}function Xe(Z){const le=new Set(c(M));le.has(Z)?le.delete(Z):le.add(Z),m(M,le,!0)}function et(Z,le){if(Bi(le))try{return Vv.highlight(Z,{language:"javascript"}).value}catch{}return Z.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function St(Z){return os.parse(Z)}function Qt(Z){const le=Z.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
148
|
-
$2
|
|
149
|
-
`),$e=[],Pt=/```(\w*)\n([\s\S]*?)```/g;let Ee=0,We;for(;(We=Pt.exec(le))!==null;)We.index>Ee&&$e.push({type:"text",text:le.slice(Ee,We.index)}),$e.push({type:"code",lang:We[1]||"text",text:We[2].trimEnd()}),Ee=We.index+We[0].length;const wt=le.slice(Ee),gt=wt.match(/```(\w*)\n([\s\S]*)$/);return gt?(gt.index>0&&$e.push({type:"text",text:wt.slice(0,gt.index)}),$e.push({type:"code",lang:gt[1]||"text",text:gt[2]})):wt&&$e.push({type:"text",text:wt}),$e}function fi(Z){navigator.clipboard.writeText(Z).catch(()=>{})}function oi(Z,le=!1){var $e;le&&t()&&m(A,t().path,!0),($e=e.onApply)==null||$e.call(e,Z)}function Bi(Z){return!Z||Z==="js"||Z==="javascript"}function _i(Z){const le=Z.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return le?{filename:le[1],code:Z.slice(le[0].length)}:null}function Ke(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 ye(){if(m(R,!0),!(c(T)||c(V))){m(V,!0),m(H,"");try{m(T,await vw(c(w)||c(u).model),!0)}catch(Z){m(H,Z.message,!0)}m(V,!1)}}function ti(Z){const le=Z.match(/\.([^.]+)$/);return le?le[1].toUpperCase():"?"}function Ei(Z){switch(Z){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return Z}}function Jt(Z){i(i().filter((le,$e)=>$e!==Z))}function Vi(){ke.click()}async function Yi(Z){if(!(!Z||Z.length===0))for(const le of Array.from(Z)){const $e=await le.text();i([...i(),{name:le.name,content:$e}])}}function Ti(Z){const le=Z.target;Yi(le.files),le.value=""}function wn(Z){var le;Z.preventDefault(),m(ce,!1),Yi(((le=Z.dataTransfer)==null?void 0:le.files)??null)}function cn(Z){var le;(le=Z.dataTransfer)!=null&&le.types.includes("Files")&&(Z.preventDefault(),m(ce,!0))}function gn(){m(ce,!1)}async function hn(){try{m(C,await sU(),!0)}catch{}}async function ft(){var le;if(c(n).length===0)return;const Z=((le=c(n).find($e=>$e.role==="user"))==null?void 0:le.content.slice(0,80))??c(p);try{await oU(c(p),Z,c(n)),await hn()}catch{}}async function Ut(Z){try{const le=await f2(Z);m(n,le.messages,!0),m(p,Z,!0),m(b,!1),m(d,"")}catch{}}async function Ri(Z){try{await rU(Z),await hn(),Z===c(p)&&qi()}catch{}}function qi(){m(n,[],!0),m(d,""),m(p,g(),!0),m(b,!1)}Xs(async()=>{yt();try{const Z=await f2(c(p));m(n,Z.messages,!0)}catch{}await hn()});async function bi(){const Z=c(r).trim();if(!Z||c(a))return;m(r,""),m(d,""),m(a,!0);const le={role:"user",content:Z};m(n,[...c(n),le],!0),se=new AbortController,m(Pe,[],!0);try{await wF({messages:c(n),currentScript:c(st),context:c(Ue),modelOverride:c(w)||void 0,extraFiles:i().length>0?i():void 0},$e=>{m(s,(c(s)??"")+$e)},se.signal,$e=>{m(Pe,[...c(Pe),$e],!0)}),m(n,[...c(n),{role:"assistant",content:c(s)??"",toolEvents:c(Pe).length>0?[...c(Pe)]:void 0}],!0),m(Pe,[],!0)}catch($e){if($e.name==="AbortError"){const Pt=c(s);Pt&&Pt.trim()&&m(n,[...c(n),{role:"assistant",content:Pt+`
|
|
150
|
-
|
|
151
|
-
*[stopped]*`,toolEvents:c(Pe).length>0?[...c(Pe)]:void 0}],!0)}else m(d,$e.message,!0)}finally{se=null,m(s,null),m(Pe,[],!0),m(a,!1),ft()}}function Wi(){se==null||se.abort()}function ji(Z){Z.key==="Enter"&&!Z.shiftKey&&(Z.preventDefault(),bi())}function Ji(){qi()}const Si=["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 $i(Z){m(r,Z,!0),xe==null||xe.focus()}var ze=OG(),qt=Et(ze),Fi=_(qt),zi=v(_(Fi),2);{var Di=Z=>{var le=Gq(),$e=_(le);{var Pt=wt=>{var gt=oo();j(()=>W(gt,`${c(u).provider??""} · ${(c(w)||c(u).model)??""}`)),D(wt,gt)},Ee=wt=>{var gt=oo();j(()=>W(gt,`${c(u).provider??""} · pick a model below`)),D(wt,gt)},We=wt=>{var gt=oo("Not configured");D(wt,gt)};z($e,wt=>{c(mt)?wt(Pt):c(u).provider?wt(Ee,1):wt(We,-1)})}j(()=>ln(le,"title",`Provider: ${c(u).provider??""}`)),D(Z,le)};z(zi,Z=>{c(u)&&Z(Di)})}var K=v(zi,2);let De;var Qe=v(K,2);{var tt=Z=>{var le=Kq();U("click",le,Ji),D(Z,le)};z(Qe,Z=>{c(n).length>0&&Z(tt)})}var Gt=v(Fi,2);{var ci=Z=>{var le=Qq(),$e=_(le),Pt=v(_($e),2),Ee=v($e,2);{var We=gt=>{var Ie=Zq();D(gt,Ie)},wt=gt=>{var Ie=Yq();ei(Ie,21,()=>c(C),ge=>ge.id,(ge,Re)=>{var Ne=Xq();let it;var at=_(Ne),Oe=_(at),ut=v(at,2);j(()=>{it=kt(Ne,1,"history-item svelte-10ayso4",null,it,{"history-active":c(Re).id===c(p)}),ln(at,"title",c(Re).id),W(Oe,c(Re).title||c(Re).id)}),U("click",at,()=>Ut(c(Re).id)),U("click",ut,()=>Ri(c(Re).id)),D(ge,Ne)}),D(gt,Ie)};z(Ee,gt=>{c(C).length===0?gt(We):gt(wt,-1)})}U("click",Pt,qi),D(Z,le)};z(Gt,Z=>{c(b)&&Z(ci)})}var vt=v(Gt,2),dt=_(vt);{var Y=Z=>{var le=Jq();D(Z,le)},Te=Z=>{var le=iG(),$e=_(le),Pt=_($e);{var Ee=gt=>{var Ie=eG(),ge=v(Et(Ie)),Re=_(ge);j(Ne=>W(Re,Ne),[()=>t().path.split("/").pop()]),D(gt,Ie)},We=gt=>{var Ie=oo("No script open. Ask a general she scripting question.");D(gt,Ie)};z(Pt,gt=>{t()?gt(Ee):gt(We,-1)})}var wt=v($e,2);ei(wt,17,()=>Si,Hi,(gt,Ie)=>{var ge=tG(),Re=_(ge);j(()=>W(Re,c(Ie))),U("click",ge,()=>$i(c(Ie))),D(gt,ge)}),D(Z,le)};z(dt,Z=>{c(ve)?c(n).length===0&&c(s)===null&&Z(Te,1):Z(Y)})}var lt=v(dt,2);ei(lt,17,()=>c(n),Hi,(Z,le,$e)=>{var Pt=uG(),Ee=_(Pt);{var We=gt=>{var Ie=nG(),ge=_(Ie);j(()=>W(ge,c(le).content)),D(gt,Ie)},wt=gt=>{const Ie=Ft(()=>Ce(c(le).content));var ge=dG(),Re=Et(ge);{var Ne=at=>{var Oe=B2();ei(Oe,21,()=>c(le).toolEvents,Hi,(ut,fe)=>{var Ve=ws(),Ct=Et(Ve);{var Wt=gi=>{var Ai=A2(),Xi=v(_(Ai),2),yi=_(Xi),ai=v(Xi,2);{var zt=Ht=>{var ii=D2(),pi=_(ii);j(tn=>W(pi,tn),[()=>Object.entries(c(fe).args).map(([tn,dn])=>`${tn}=${JSON.stringify(dn)}`).join(", ")]),D(Ht,ii)},At=Ft(()=>c(fe).args&&Object.keys(c(fe).args).length>0);z(ai,Ht=>{c(At)&&Ht(zt)})}j(Ht=>W(yi,Ht),[()=>c(fe).name.replace(/_/g," ")]),D(gi,Ai)},bt=gi=>{var Ai=k2(),Xi=v(_(Ai),2),yi=_(Xi);j(ai=>W(yi,ai),[()=>c(fe).name.replace(/_/g," ")]),D(gi,Ai)};z(Ct,gi=>{c(fe).type==="tool_call"?gi(Wt):gi(bt,-1)})}D(ut,Ve)}),D(at,Oe)};z(Re,at=>{var Oe;(Oe=c(le).toolEvents)!=null&&Oe.length&&at(Ne)})}var it=v(Re,2);ei(it,21,()=>c(Ie),Hi,(at,Oe,ut)=>{var fe=ws(),Ve=Et(fe);{var Ct=bt=>{var gi=F2();hc(gi,()=>St(c(Oe).text),!0),D(bt,gi)},Wt=bt=>{const gi=Ft(()=>Bi(c(Oe).lang)?_i(c(Oe).text):null),Ai=Ft(()=>c(gi)?c(gi).code:c(Oe).text),Xi=Ft(()=>`${$e}:${ut}`),yi=Ft(()=>si(c(Ai))),ai=Ft(()=>c(M).has(c(Xi)));var zt=cG(),At=_(zt),Ht=_(At),ii=_(Ht),pi=v(Ht,2),tn=_(pi),dn=v(tn,2);{var In=es=>{var Ms=sG();U("click",Ms,()=>e.onCreateFile(c(gi).filename,c(gi).code)),D(es,Ms)},Ni=es=>{var Ms=aG(),tr=Et(Ms),zr=v(tr,2);{var Xa=pr=>{var Vr=oG();D(pr,Vr)},zl=pr=>{var Vr=rG();U("click",Vr,()=>oi(c(Oe).text,!0)),D(pr,Vr)};z(zr,pr=>{c(I)?pr(Xa):pr(zl,-1)})}U("click",tr,()=>oi(c(Oe).text)),D(es,Ms)},An=Ft(()=>Bi(c(Oe).lang)&&t());z(dn,es=>{c(gi)&&e.onCreateFile?es(In):c(An)&&es(Ni,1)})}var Gn=v(At,2);let Pn;var Jn=_(Gn),Oi=_(Jn);hc(Oi,()=>et(c(Ai),c(Oe).lang??""),!0);var Gs=v(Jn,2);{var On=es=>{var Ms=lG(),tr=_(Ms);j(()=>W(tr,c(ai)?"▲ collapse":"▼ expand")),U("click",Ms,()=>Xe(c(Xi))),D(es,Ms)};z(Gs,es=>{c(yi)&&es(On)})}j(()=>{W(ii,c(gi)?`new: ${c(gi).filename}`:c(Oe).lang),Pn=kt(Gn,1,"code-body svelte-10ayso4",null,Pn,{collapsed:c(yi)&&!c(ai)})}),U("click",tn,()=>fi(c(Ai))),D(bt,zt)};z(Ve,bt=>{c(Oe).type==="text"?bt(Ct):bt(Wt,-1)})}D(at,fe)}),D(gt,ge)};z(Ee,gt=>{c(le).role==="user"?gt(We):gt(wt,-1)})}j(()=>kt(Pt,1,`message ${c(le).role??""}`,"svelte-10ayso4")),D(Z,Pt)});var we=v(lt,2);{var di=Z=>{var le=B2();ei(le,21,()=>c(Pe),Hi,($e,Pt)=>{var Ee=ws(),We=Et(Ee);{var wt=Ie=>{var ge=A2(),Re=v(_(ge),2),Ne=_(Re),it=v(Re,2);{var at=ut=>{var fe=D2(),Ve=_(fe);j(Ct=>W(Ve,Ct),[()=>Object.entries(c(Pt).args).map(([Ct,Wt])=>`${Ct}=${JSON.stringify(Wt)}`).join(", ")]),D(ut,fe)},Oe=Ft(()=>c(Pt).args&&Object.keys(c(Pt).args).length>0);z(it,ut=>{c(Oe)&&ut(at)})}j(ut=>W(Ne,ut),[()=>c(Pt).name.replace(/_/g," ")]),D(Ie,ge)},gt=Ie=>{var ge=k2(),Re=v(_(ge),2),Ne=_(Re);j(it=>W(Ne,it),[()=>c(Pt).name.replace(/_/g," ")]),D(Ie,ge)};z(We,Ie=>{c(Pt).type==="tool_call"?Ie(wt):Ie(gt,-1)})}D($e,Ee)}),D(Z,le)};z(we,Z=>{c(Pe).length>0&&Z(di)})}var Lt=v(we,2);{var te=Z=>{var le=hG(),$e=_(le),Pt=_($e),Ee=_(Pt);j(()=>W(Ee,J[c(he)])),D(Z,le)};z(Lt,Z=>{c(a)&&c(s)===null&&c(Pe).length===0&&Z(te)})}var Ye=v(Lt,2);{var Bt=Z=>{var le=gG(),$e=_(le);ei($e,21,()=>Qt(c(s)),Hi,(Pt,Ee)=>{var We=ws(),wt=Et(We);{var gt=ge=>{var Re=F2();hc(Re,()=>St(c(Ee).text),!0),D(ge,Re)},Ie=ge=>{var Re=fG(),Ne=_(Re),it=_(Ne),at=_(it),Oe=v(Ne,2),ut=_(Oe);hc(ut,()=>et(c(Ee).text,c(Ee).lang??""),!0),j(()=>W(at,c(Ee).lang)),D(ge,Re)};z(wt,ge=>{c(Ee).type==="text"?ge(gt):ge(Ie,-1)})}D(Pt,We)}),D(Z,le)};z(Ye,Z=>{c(s)!==null&&Z(Bt)})}gs(vt,Z=>He=Z,()=>He);var It=v(vt,2);{var Dt=Z=>{var le=pG(),$e=_(le);j(()=>W($e,c(d))),D(Z,le)};z(It,Z=>{c(d)&&Z(Dt)})}var Be=v(It,2),je=_(Be),Kt=_(je),ri=v(je,2),hi=_(ri),Xt=v(ri,2),pe=_(Xt),Ge=v(pe);{var ot=Z=>{const le=Ft(()=>Math.min(100,Math.round(c(Mt)/4/c(T).contextLength*100)));var $e=xG(),Pt=_($e),Ee=v(_(Pt));j((We,wt)=>{ln($e,"title",`~${c(le)??""}% of ${We??""} token context window used`),ln(Ee,"stroke",c(le)>80?"var(--fg-err)":c(le)>50?"var(--fg-warn)":"var(--fg-ok)"),ln(Ee,"stroke-dasharray",`${wt??""} 31.4`)},[()=>c(T).contextLength.toLocaleString(),()=>(c(le)/100*31.4).toFixed(1)]),D(Z,$e)};z(Ge,Z=>{var le;(le=c(T))!=null&&le.contextLength&&Z(ot)})}var rt=v(Be,2),jt=_(rt);{var Ot=Z=>{const le=Ft(()=>ti(t().path.split("/").pop()??t().path));var $e=mG();let Pt;var Ee=_($e),We=_(Ee),wt=v(Ee,2),gt=_(wt),Ie=v(wt,2),ge=_(Ie);j((Re,Ne)=>{Pt=kt($e,1,"file-chip svelte-10ayso4",null,Pt,{inactive:!c(re)}),kt(Ee,1,`badge badge-${Re??""}`,"svelte-10ayso4"),W(We,Ne),W(gt,t().path),ln(Ie,"title",c(re)?"Remove from context":"Re-add to context"),W(ge,c(re)?"×":"+")},[()=>c(le).toLowerCase(),()=>Ei(c(le))]),U("click",Ie,()=>m(re,!c(re))),D(Z,$e)};z(jt,Z=>{t()&&Z(Ot)})}var Ci=v(jt,2);ei(Ci,17,i,Hi,(Z,le,$e)=>{const Pt=Ft(()=>ti(c(le).name));var Ee=vG(),We=_(Ee),wt=_(We),gt=v(We,2),Ie=_(gt),ge=v(gt,2);j((Re,Ne)=>{kt(We,1,`badge badge-${Re??""}`,"svelte-10ayso4"),W(wt,Ne),W(Ie,c(le).name)},[()=>c(Pt).toLowerCase(),()=>Ei(c(Pt))]),U("click",ge,()=>Jt($e)),D(Z,Ee)});var P=v(Ci,2),N=v(P,2);gs(N,Z=>ke=Z,()=>ke);var $=v(rt,2);let oe;var ne=_($);let ie;var ae=_(ne);gs(ae,Z=>xe=Z,()=>xe);var Je=v(ne,2);{var Le=Z=>{var le=_G();U("click",le,Wi),D(Z,le)},_e=Z=>{var le=bG();j($e=>le.disabled=$e,[()=>!c(r).trim()||!c(mt)]),U("click",le,bi),D(Z,le)};z(Je,Z=>{c(a)?Z(Le):Z(_e,-1)})}var Ze=v($,2);{var Me=Z=>{var le=SG(),$e=_(le),Pt=_($e),Ee=v($e,2);{var We=ge=>{var Re=EG();ei(Re,21,()=>c(y),Hi,(Ne,it)=>{var at=CG(),Oe=_(at),ut={};j(()=>{W(Oe,c(it)),ut!==(ut=c(it))&&(at.value=(at.__value=c(it))??"")}),D(Ne,at)}),j(()=>Re.disabled=c(a)),Fs(Re,()=>c(w),Ne=>m(w,Ne)),D(ge,Re)},wt=ge=>{var Re=yG(),Ne=_(Re);j(()=>W(Ne,c(w)||c(u).model)),D(ge,Re)};z(Ee,ge=>{c(y).length>0?ge(We):ge(wt,-1)})}var gt=v(Ee,2);{var Ie=ge=>{var Re=wG();U("click",Re,ye),D(ge,Re)};z(gt,ge=>{c(u).provider==="ollama"&&ge(Ie)})}j(()=>W(Pt,c(u).provider)),D(Z,le)};z(Ze,Z=>{var le;(le=c(u))!=null&&le.provider&&(c(ve)||c(y).length>0)&&Z(Me)})}var ct=v(qt,2);{var Zt=Z=>{var le=NG(),$e=_(le),Pt=_($e),Ee=_(Pt),We=_(Ee),wt=v(Ee,2),gt=v(Pt,2),Ie=_(gt);{var ge=it=>{var at=DG();D(it,at)},Re=it=>{var at=AG(),Oe=_(at);j(()=>W(Oe,c(H))),D(it,at)},Ne=it=>{var at=RG(),Oe=_(at);{var ut=At=>{var Ht=kG(),ii=v(Et(Ht)),pi=_(ii);j(()=>W(pi,c(T).version)),D(At,Ht)};z(Oe,At=>{c(T).version&&At(ut)})}var fe=v(Oe,2);{var Ve=At=>{var Ht=BG(),ii=v(Et(Ht)),pi=_(ii);j(()=>W(pi,c(T).details.family)),D(At,Ht)};z(fe,At=>{var Ht;(Ht=c(T).details)!=null&&Ht.family&&At(Ve)})}var Ct=v(fe,2);{var Wt=At=>{var Ht=FG(),ii=v(Et(Ht)),pi=_(ii);j(()=>W(pi,c(T).details.parameter_size)),D(At,Ht)};z(Ct,At=>{var Ht;(Ht=c(T).details)!=null&&Ht.parameter_size&&At(Wt)})}var bt=v(Ct,2);{var gi=At=>{var Ht=LG(),ii=v(Et(Ht)),pi=_(ii);j(()=>W(pi,c(T).details.quantization_level)),D(At,Ht)};z(bt,At=>{var Ht;(Ht=c(T).details)!=null&&Ht.quantization_level&&At(gi)})}var Ai=v(bt,2);{var Xi=At=>{var Ht=IG(),ii=v(Et(Ht)),pi=_(ii);j(()=>W(pi,c(T).details.format)),D(At,Ht)};z(Ai,At=>{var Ht;(Ht=c(T).details)!=null&&Ht.format&&At(Xi)})}var yi=v(Ai,2);{var ai=At=>{var Ht=TG(),ii=v(Et(Ht),2);ei(ii,21,()=>c(T).running,Hi,(pi,tn)=>{var dn=PG(),In=_(dn);j(Ni=>W(In,`${c(tn).name??""} · ${Ni??""} VRAM`),[()=>Ke(c(tn).size_vram)]),D(pi,dn)}),D(At,Ht)},zt=At=>{var Ht=MG();D(At,Ht)};z(yi,At=>{c(T).running&&c(T).running.length>0?At(ai):c(T).running!==null&&At(zt,1)})}D(it,at)};z(Ie,it=>{c(V)?it(ge):c(H)?it(Re,1):c(T)&&it(Ne,2)})}j(()=>{var it;return W(We,`Ollama · ${(c(w)||((it=c(u))==null?void 0:it.model))??""}`)}),U("click",le,()=>m(R,!1)),U("click",$e,it=>it.stopPropagation()),U("click",wt,()=>m(R,!1)),D(Z,le)};z(ct,Z=>{c(R)&&Z(Zt)})}j(Z=>{De=kt(K,1,"icon-hdr-btn svelte-10ayso4",null,De,{active:c(b)}),W(pe,Z),oe=kt($,1,"input-row svelte-10ayso4",null,oe,{"drag-over":c(ce)}),ie=kt(ne,1,"textarea-wrap svelte-10ayso4",null,ie,{loading:c(a)}),ln(ae,"placeholder",c(mt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":c(ve)?"Select a model above to start chatting":"AI not configured"),ae.disabled=c(a)||!c(mt)},[()=>Ke(c(Mt))]),U("click",K,()=>m(b,!c(b))),ys(Kt,()=>c(ue),Z=>m(ue,Z)),ys(hi,()=>c(be),Z=>m(be,Z)),U("click",P,Vi),U("change",N,Ti),xs("dragover",$,cn),xs("dragleave",$,gn),xs("drop",$,wn),U("keydown",ae,ji),Vt(ae,()=>c(r),Z=>m(r,Z)),D(o,ze),$s()}Ys(["click","change","keydown"]);const WG={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"]},zG={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 yw=[],ww=[],Sw=[];const qv=new Map;let $F=[];const Dw=new Map,Aw=new Map;async function L2(){try{yw=(await bF()).map(e=>e.topic)}catch{}}async function I2(){try{const[o,e]=await Promise.all([mF(),vF()]);ww=o,Sw=e}catch{}}async function P2(){try{const o=await dS();$F=o.map(e=>e.nodeId),Dw.clear(),Aw.clear();for(const e of o)e.name&&(Dw.set(e.nodeId,e.name),Aw.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!qv.has(e.nodeId))try{qv.set(e.nodeId,await bm(e.nodeId))}catch{}}))}catch{}}function VG(o){const e=/(?:she\.mqtt\.(?:sub|pub|get|set|link|age|getProp|or|and|max|min|timer)|she\.(?:getValue|setValue|getProp))\s*\([^)]*?['"]([^'"]*)\s*$/,t=o.match(e);if(t)return{type:"mqtt",prefix:t[1]};const i=/she\.db\.sub\s*\([^)]*?['"]([^'"]*)\s*$/,n=o.match(i);if(n)return{type:"db",prefix:n[1],includeViews:!0};const s=/she\.db\.(?:get|set|extend|delete|prop|query)\s*\([^)]*?['"]([^'"]*)\s*$/,r=o.match(s);if(r)return{type:"db",prefix:r[1],includeViews:!1};const a=/she\.matter\.(?:sub|get|send|on)\s*\(\s*(.*)\s*$/,d=o.match(a);if(d){const u=d[1],f=jG(u),g=$G(u);if(f===0)return{type:"matter-nodeId",prefix:g};if(f===1){const p=Ph(u,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(f===2){const p=Ph(u,0),C=T2(u,1)??Ph(u,1);if(p&&C!==null)return{type:"matter-cluster",nodeId:p,endpointId:C}}if(f>=3){const p=Ph(u,0),C=T2(u,1)??Ph(u,1),b=Ph(u,2),y=/she\.matter\.send\s*\(/.test(o);if(p&&C!==null&&b)return{type:"matter-attr",nodeId:p,endpointId:C,cluster:b,isSend:y}}}return null}function jG(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 $G(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function Ph(o,e){var s;const i=(s=UF(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function T2(o,e){var s;const i=(s=UF(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function UF(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 Ku=md.CompletionItemKind;function UG(o,e){return(e?yw.filter(i=>i.startsWith(e)):yw).map(i=>({label:i,kind:Ku.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function qG(o,e,t){const i=t?[...ww,...Sw]:ww;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:Ku.Value,insertText:s,range:o,detail:Sw.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function GG(o,e){return $F.map(t=>{const i=Dw.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:Ku.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function qF(o){return Aw.get(o)??o}function KG(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 ZG(o,e){const t=qv.get(qF(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:Ku.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function XG(o,e,t){const i=qv.get(qF(e));if(!i)return[];const n=KG(i,t);return n?n.clusters.map(s=>({label:s.name,kind:Ku.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function YG(o,e,t){return(t?zG[e]??[]:WG[e]??[]).map(n=>({label:n,kind:t?Ku.Function:Ku.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let M2=!1;function QG(){M2||(M2=!0,L2(),I2(),P2(),setInterval(L2,15e3),setInterval(I2,1e4),setInterval(P2,6e4),md.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=VG(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:UG(a,i.prefix)};case"db":return{suggestions:qG(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:GG(a,i.prefix)};case"matter-endpointId":return{suggestions:ZG(a,i.nodeId)};case"matter-cluster":return{suggestions:XG(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:YG(a,i.cluster,i.isSend)};default:return null}}}))}var JG=B('<button class="svelte-1pyfjii">New file here</button> <button class="svelte-1pyfjii">New subfolder here</button> <hr class="svelte-1pyfjii"/> <button class="svelte-1pyfjii">Rename folder…</button> <button class="danger svelte-1pyfjii">Delete folder…</button>',1),eK=B('<button class="svelte-1pyfjii">Show git history</button>'),tK=B('<button class="svelte-1pyfjii">Open</button> <button class="svelte-1pyfjii">Rename…</button> <button class="svelte-1pyfjii">Add to AI context</button> <!> <hr class="svelte-1pyfjii"/> <button class="danger svelte-1pyfjii">Delete</button>',1),iK=B('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),nK=B('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),R2=B('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),sK=B('<ul class="tree-children svelte-1pyfjii"></ul>'),oK=B('<li class="tree-dir svelte-1pyfjii"><div role="treeitem" tabindex="-1" draggable="true"><button>›</button> <span role="button" tabindex="0"> </span> <!> <label class="lib-label svelte-1pyfjii" title="Library directory — files here are not auto-loaded as scripts"><input type="checkbox" class="svelte-1pyfjii"/> <span class="lib-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 3h8a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H3V3z"></path><line x1="3" y1="12" x2="13" y2="12"></line><line x1="6" y1="3" x2="6" y2="12"></line></svg></label> <label class="dis-label svelte-1pyfjii" title="Disable — scripts in this folder will not be executed"><input type="checkbox" class="svelte-1pyfjii"/> <span class="dis-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="6"></circle><line x1="3.8" y1="12.2" x2="12.2" y2="3.8"></line></svg></label></div> <!></li>'),rK=B('<span class="dirty-dot svelte-1pyfjii">●</span>'),aK=B('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),lK=B('<span class="err-dot svelte-1pyfjii">●</span>'),cK=B('<label><input type="checkbox" class="svelte-1pyfjii"/> <span class="dis-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="6"></circle><line x1="3.8" y1="12.2" x2="12.2" y2="3.8"></line></svg></label>'),dK=B('<span class="dis-spacer svelte-1pyfjii"></span>'),uK=B('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),hK=B('<div class="err svelte-1pyfjii"> </div>'),fK=B('<button title="Case sensitive">Aa</button> <button title="Use regex">.*</button> <button title="Replace">⇄</button>',1),gK=B('<div class="search-input-row svelte-1pyfjii"><input placeholder="Replace with…" class="svelte-1pyfjii"/> <button class="svelte-1pyfjii"> </button></div>'),pK=B('<div class="search-status svelte-1pyfjii">Searching…</div>'),xK=B('<div class="search-status search-err svelte-1pyfjii"> </div>'),mK=B('<div class="search-status svelte-1pyfjii">No results.</div>'),vK=B('<div class="search-status search-trunc svelte-1pyfjii">Showing first 500 matches.</div>'),_K=B('<button class="search-match-row svelte-1pyfjii"><span class="search-lnum svelte-1pyfjii"> </span> <span class="search-preview svelte-1pyfjii"> </span></button>'),bK=B('<div class="search-file-group svelte-1pyfjii"><button class="search-file-btn svelte-1pyfjii"><span class="search-fname svelte-1pyfjii"> </span> <span class="search-fcount svelte-1pyfjii"> </span></button> <!></div>'),ZC=B("<!> <!>",1),CK=B('<div class="search-status svelte-1pyfjii">No files found.</div>'),EK=B('<div class="search-status search-trunc svelte-1pyfjii">Showing first 200 results.</div>'),yK=B('<button class="search-match-row search-file-result svelte-1pyfjii"><span class="search-preview svelte-1pyfjii"> </span></button>'),wK=B('<label class="replace-item svelte-1pyfjii"><input type="checkbox" class="svelte-1pyfjii"/> <span class="replace-checkmark svelte-1pyfjii"></span> <span class="replace-item-path svelte-1pyfjii"> </span> <span class="replace-item-n svelte-1pyfjii"> </span></label>'),SK=B('<div class="replace-confirm svelte-1pyfjii"><div class="replace-confirm-hdr svelte-1pyfjii"><span> </span> <div class="replace-confirm-btns svelte-1pyfjii"><button class="svelte-1pyfjii">Apply</button> <button class="svelte-1pyfjii">Cancel</button></div></div> <div class="replace-confirm-list svelte-1pyfjii"></div></div>'),DK=B('<div class="search-panel svelte-1pyfjii"><div class="search-mode-bar svelte-1pyfjii"><button>Text</button> <button>Files</button> <button class="search-close-btn svelte-1pyfjii" title="Close">×</button></div> <div class="search-input-row svelte-1pyfjii"><input class="svelte-1pyfjii"/> <!></div> <!> <div class="search-results svelte-1pyfjii"><!></div> <!></div>'),AK=B('<div class="history-empty svelte-1pyfjii">Loading…</div>'),kK=B('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),BK=B('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),FK=B('<button class="history-load-more svelte-1pyfjii"> </button>'),LK=B('<div class="history-panel svelte-1pyfjii"><div class="history-resize-handle svelte-1pyfjii" role="separator"></div> <div class="history-hdr svelte-1pyfjii"><span class="history-title svelte-1pyfjii"> </span> <button class="history-close svelte-1pyfjii">✕</button></div> <div class="history-body svelte-1pyfjii"><!></div></div>'),IK=B('<span class="tab-dirty svelte-1pyfjii">●</span>'),PK=B('<div role="tab" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),TK=B('<div class="tab-bar-wrap svelte-1pyfjii"><button class="tab-scroll-btn svelte-1pyfjii" aria-label="Scroll tabs left">‹</button> <div class="tab-bar svelte-1pyfjii" role="tablist"></div> <button class="tab-scroll-btn svelte-1pyfjii" aria-label="Scroll tabs right">›</button></div>'),MK=B('<li class="changes-item svelte-1pyfjii"><label class="changes-cb-wrap svelte-1pyfjii"><input type="checkbox" class="changes-check svelte-1pyfjii"/> <span class="changes-checkmark svelte-1pyfjii"></span></label> <span class="changes-status svelte-1pyfjii"> </span> <span class="changes-file svelte-1pyfjii"> </span></li>'),RK=B('<div class="changes-err svelte-1pyfjii"> </div>'),NK=B('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii">Uncommitted changes</div> <ul class="changes-list svelte-1pyfjii"></ul> <div class="changes-commit-row svelte-1pyfjii"><input class="changes-msg-input svelte-1pyfjii" type="text" placeholder="Commit message…"/> <button class="changes-commit-btn svelte-1pyfjii"> </button></div> <!></div>',1),OK=B('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),HK=B('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii"> </div> <div class="changes-commit-row svelte-1pyfjii"><button class="changes-commit-btn svelte-1pyfjii">Push</button></div></div>',1),WK=B('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),zK=B('<span class="git-behind svelte-1pyfjii"> </span>'),VK=B('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),jK=B('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><button class="svelte-1pyfjii">Save</button> <button class="svelte-1pyfjii">Save & Commit</button></div>',1),$K=B('<button class="danger svelte-1pyfjii">Delete</button>'),UK=B(`<div class="welcome svelte-1pyfjii"><div class="welcome-inner svelte-1pyfjii"><div class="welcome-logo svelte-1pyfjii">she</div> <p class="welcome-sub svelte-1pyfjii">Smart Home Engine — a scriptable smart home automation engine</p> <div class="welcome-hint svelte-1pyfjii"><strong>Quick start:</strong> click <kbd class="svelte-1pyfjii">+ File</kbd> in the sidebar to create your first script,
|
|
152
|
-
or click an existing file to open it. Scripts run in a sandboxed VM with access to the <code class="svelte-1pyfjii">she</code> object for MQTT, scheduling, and more.</div> <div class="welcome-links svelte-1pyfjii"><a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-1pyfjii">GitHub</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/sandbox-api.md" target="_blank" rel="noopener" class="svelte-1pyfjii">API reference</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/README.md#Documentation" target="_blank" rel="noopener" class="svelte-1pyfjii">Documentation</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 & 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>`),qK=B('<button class="svelte-1pyfjii">Always accept in this session</button>'),GK=B('<button class="svelte-1pyfjii">Disable auto-accept</button>'),KK=B('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),ZK=B('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Proposed changes — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><div class="split-wrap svelte-1pyfjii"><div class="split-btn accept-split svelte-1pyfjii"><button class="split-main svelte-1pyfjii"> </button> <button class="split-arrow svelte-1pyfjii" aria-label="Accept options">▾</button></div> <!></div> <button class="discard-btn svelte-1pyfjii">Discard</button></div></div> <div class="diff-container svelte-1pyfjii"></div></div>'),XK=B('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),YK=B('<div class="diff-container svelte-1pyfjii"></div>'),QK=B('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Commit <code> </code> → current — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><button class="discard-btn svelte-1pyfjii">Close</button></div></div> <!></div>'),JK=B('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),eZ=B('<span class="log-file svelte-1pyfjii"> </span>'),tZ=B("<option> </option>"),iZ=B('<select class="log-filter-level svelte-1pyfjii"></select> <input class="log-filter-text svelte-1pyfjii" type="search" placeholder="Filter…"/> <label class="log-filter-regex svelte-1pyfjii" title="Interpret filter as a regular expression"><input type="checkbox" class="svelte-1pyfjii"/> <span class="log-filter-checkmark svelte-1pyfjii"></span> Regex</label> <button class="log-clear svelte-1pyfjii">Clear</button>',1),nZ=B('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),sZ=B('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),oZ=B('<div class="log-body svelte-1pyfjii"><!> <!></div>'),rZ=B('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),aZ=B('<!> <!> <!> <!> <div class="layout svelte-1pyfjii"><aside class="svelte-1pyfjii"><div class="toolbar svelte-1pyfjii"><button title="New script" class="svelte-1pyfjii">+ File</button> <button title="New folder" class="svelte-1pyfjii">+ Folder</button> <button title="Find in files / Find files (Ctrl+Shift+F)">⌕</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 lZ(o,e){js(e,!0);let t=F(Pi([])),i=F(Pi({})),n=F(null),s=F(null),r=F(null),a=F(null),d=F(Pi([])),u=F(null),f=F(!1),g=F(""),p=F(!1),C=F(!0),b=F(null),y=F(!1),w=F(!1),A=F(null),I=F(Pi([])),M=F(!1),R=F(30),T=F(void 0),V=null,H=null,X=null,se=F(!1),he=F(""),J=F(!1),ue=F(void 0),be=F(Pi(new Set));const re=new Set;let ce=F(Pi(new Set)),ke=F(Pi([])),Pe=F(!1),xe=F("text"),He=F(""),Ue=F(!1),ve=F(!1),mt=F(!1),Mt=F(""),st=F(Pi([])),yt=F(Pi([])),Ce=F(!1),Nt=F(!1),si=F(""),Xe=F(void 0),et=F(Pi([])),St=F(!1),Qt=F(!1),fi=null,oi=F(void 0),Bi=F(!1),_i=F(!1),Ke=null;function ye(){c(oi)&&(m(Bi,c(oi).scrollLeft>0),m(_i,c(oi).scrollLeft+c(oi).clientWidth<c(oi).scrollWidth-1))}function ti(G){var de;(de=c(oi))==null||de.scrollBy({left:G*200,behavior:"smooth"})}function Ei(G="text"){m(Pe,!0),m(xe,G,!0),hl().then(()=>{var de;return(de=c(Xe))==null?void 0:de.focus()})}function Jt(){m(Pe,!1),m(He,""),m(st,[],!0),m(yt,[],!0),m(Ce,!1),m(si,""),m(mt,!1),m(St,!1)}function Vi(){fi&&clearTimeout(fi),fi=setTimeout(Yi,300)}async function Yi(){const G=c(He).trim();if(!G){m(st,[],!0),m(yt,[],!0),m(Ce,!1),m(si,"");return}m(Nt,!0),m(si,"");try{if(c(xe)==="files"){const de=await a2(G,{mode:"files"});m(yt,de.results,!0),m(Ce,de.truncated,!0)}else{const de=await a2(G,{regex:c(ve),caseSensitive:c(Ue)});m(st,de.results,!0),m(Ce,de.truncated,!0)}}catch(de){m(si,de.message||"Search failed",!0)}finally{m(Nt,!1)}}async function Ti(G,de){await wt(G),ze&&(ze.revealLineInCenter(de.line),ze.setPosition({lineNumber:de.line,column:de.col}),ze.focus())}function wn(G){return G.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async function cn(){if(!c(He).trim()||!c(st).length)return;m(Qt,!0);const G=[],de="g"+(c(Ue)?"":"i");for(const ht of c(st))try{const pt=await Vx(ht.path),nt=c(ve)?new RegExp(c(He),de):new RegExp(wn(c(He)),de),li=pt.content.replace(nt,c(Mt));li!==pt.content&&G.push({path:ht.path,checked:!0,original:pt.content,replaced:li,changes:ht.matches.length})}catch{}m(et,G,!0),m(Qt,!1),m(St,!0)}async function gn(){for(const G of c(et).filter(de=>de.checked))try{await Ql(G.path,G.replaced);const de=c(d).find(ht=>ht.path===G.path);de!=null&&de.model&&(de.model.setValue(G.replaced),de.savedContent=G.replaced,de.dirty=!1)}catch{}m(St,!1),await Yi()}function hn(G){G.ctrlKey&&G.shiftKey&&G.key==="F"&&(G.preventDefault(),c(Pe)&&c(xe)==="text"?Jt():Ei("text"))}Kn(()=>{c(oi)&&(Ke==null||Ke.disconnect(),Ke=new ResizeObserver(ye),Ke.observe(c(oi)),ye())});let ft=F("all"),Ut=F(""),Ri=F(!1);const qi=["all","debug","info","warn","error"],bi={debug:0,info:1,warn:2,error:3};function Wi(G){if(c(ft)!=="all"&&bi[G.level]<bi[c(ft)])return!1;if(!c(Ut))return!0;if(c(Ri))try{return new RegExp(c(Ut),"i").test(G.msg)}catch{}return G.msg.toLowerCase().includes(c(Ut).toLowerCase())}let ji=F(null);function Ji(G){const de=G.currentTarget.getBoundingClientRect();m(ji,{x:de.left,y:de.top},!0)}function Si(){m(ji,null)}let $i,ze,qt,Fi=!1,zi=null,Di=null,K=!1,De=!1,Qe=F(!1),tt=F(null),Gt=F(!1),ci=F(!1),vt=F(void 0),dt=null,Y=null,Te=null,lt=F(Pi(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),we=F(Pi(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),di=F(Pi(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),Lt=F(Pi(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),te=!1,Ye=0,Bt=0,It=!1,Dt=0,Be=0,je=!1,Kt=0,ri=0,hi=!1,Xt=0,pe=0;const Ge=Ft(()=>{var G;return c(u)&&c(ae)?{path:c(u),content:((G=c(ae).model)==null?void 0:G.getValue())??c(ae).savedContent}:null}),ot=Ft(()=>{var G;return new Set(((G=c(b))==null?void 0:G.changes.map(de=>de.file))??[])}),rt=Ft(()=>{const G=new Set;for(const de of c(ot)){const ht=de.split("/");for(let pt=1;pt<ht.length;pt++)G.add(ht.slice(0,pt).join("/"))}return G});let jt=F(!1),Ot=F(!1),Ci=F(""),P=F(!1),N=F(""),$=F(Pi(new Set));async function oe(){var G;if(!(!c(Ci).trim()||c($).size===0)){m(P,!0),m(N,"");try{const de=c(b).changes.filter(ht=>c($).has(ht.file)).map(ht=>ht.file);if(de.length===c(b).changes.length?await d2(c(Ci).trim()):await c2(de,c(Ci).trim()),c(w))try{await $x()}catch{}m(Ci,""),await ge(),(G=c(b))!=null&&G.changes.length?m($,new Set(c(b).changes.map(ht=>ht.file)),!0):m(jt,!1)}catch(de){m(N,de.message,!0)}finally{m(P,!1)}}}let ne,ie,ae=Ft(()=>c(d).find(G=>G.path===c(u))??null);const Je="she-tabs",Le="she-active-tab",_e="she-log-open",Ze="she-chat-open";let Me=Tu(e,"active",3,!0);Kn(()=>{De&&(localStorage.setItem(Je,JSON.stringify(c(d).map(G=>G.path))),c(u)?localStorage.setItem(Le,c(u)):localStorage.removeItem(Le))}),Kn(()=>{De&&localStorage.setItem(Ze,String(c(Qe)))}),Kn(()=>{Me()&&ze&&ze.layout()});const ct=`
|
|
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 Zt(G){c(d).some(de=>de.dirty)&&G.preventDefault()}Xs(async()=>{var li;window.addEventListener("beforeunload",Zt),m(C,localStorage.getItem(_e)!=="false"),m(Qe,localStorage.getItem(Ze)==="true"),md.typescript.javascriptDefaults.addExtraLib(ct,"she-api.d.ts"),md.typescript.javascriptDefaults.setCompilerOptions({target:md.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),md.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),QG(),qt=zo.createModel("","javascript"),ze=zo.create($i,{model:qt,theme:Jh(),automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),ze.addCommand(em.CtrlCmd|p1.KeyS,()=>Ne()),ze.addCommand(em.CtrlCmd|em.Shift|p1.KeyF,()=>{c(Pe)&&c(xe)==="text"?Jt():Ei("text")}),ze.onDidChangeModelContent(()=>{if(Fi)return;const Yt=c(d).find(en=>en.path===c(u));Yt&&(Yt.dirty=ze.getValue()!==Yt.savedContent),On&&clearTimeout(On),On=setTimeout(es,600)}),zi=fS(Yt=>{const en=Yt.msg.match(/^([^:\n]+\.js):\s/);if(!en)return;const Gi=en[1];if(Yt.level==="error")re.add(Gi),c(be).has(Gi)||m(be,new Set([...c(be),Gi]),!0);else if(re.has(Gi)){re.delete(Gi);const fn=new Set(c(be));fn.delete(Gi),m(be,fn,!0)}const sn=c(d).find(fn=>fn.path===Gi);sn&&(sn.logEntries=[...sn.logEntries.slice(-199),Yt],sn.path===c(u)&&c(C)&&c(ue)&&hl().then(()=>{c(ue)&&(c(ue).scrollTop=c(ue).scrollHeight)}))}),Di=hr("script:running",Yt=>{const en=Yt.path;if(Yt.running)m(ce,new Set([...c(ce),en]),!0);else{const Gi=new Set(c(ce));Gi.delete(en),m(ce,Gi,!0)}}),await Z(),ge();try{const Yt=await Pl();typeof Yt.gitAutoCommit=="boolean"&&m(y,Yt.gitAutoCommit,!0),typeof Yt.gitAutoPush=="boolean"&&m(w,Yt.gitAutoPush,!0)}catch{}try{const Yt=await getDaemonStatus();m(ce,new Set(Yt.runningScripts??[]),!0)}catch{}const G=JSON.parse(localStorage.getItem(Je)??"[]"),de=localStorage.getItem(Le);for(const Yt of G)await We(Yt,!1);const ht=de&&c(d).some(Yt=>Yt.path===de)?de:((li=c(d)[0])==null?void 0:li.path)??null;ht&&await gt(ht),De=!0;const pt=()=>zo.setTheme(Jh()),nt=window.matchMedia("(prefers-color-scheme: dark)");return window.addEventListener("she:theme-changed",pt),nt.addEventListener("change",pt),()=>{window.removeEventListener("she:theme-changed",pt),nt.removeEventListener("change",pt)}}),Vp(()=>{var G;window.removeEventListener("beforeunload",Zt),Ke==null||Ke.disconnect(),On&&clearTimeout(On),zi==null||zi(),Di==null||Di();for(const de of c(d))(G=de.model)==null||G.dispose();qt==null||qt.dispose(),ze==null||ze.dispose()});async function Z(){try{if(m(t,await W$(),!0),!K){let de=function(ht){for(const pt of ht)pt.type==="dir"&&(G[pt.path]=!0,pt.children&&de(pt.children))};K=!0;const G={};de(c(t)),m(i,G,!0)}m(g,"")}catch(G){m(g,G.message,!0)}}function le(G){c(i)[G]=!c(i)[G]}function $e(G){switch(G){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return G}}async function Pt(G,de){try{de?await Ql(`${G}/.shelib`,""):await jx(`${G}/.shelib`),await Z(),await Re("all",de?`lib ${G}`:`unlib ${G}`)}catch(ht){m(g,ht.message,!0)}}async function Ee(G,de){const ht=G.split("/").pop(),pt=G.includes("/")?G.slice(0,G.lastIndexOf("/")):"",nt=pt?`${pt}/.shedisable-${ht}`:`.shedisable-${ht}`;try{de?await Ql(nt,""):await jx(nt),await Z(),await Re("all",de?`disable ${G}`:`enable ${G}`)}catch(li){m(g,li.message,!0)}}async function We(G,de=!0){var ht;if(c(d).some(pt=>pt.path===G)){de&&await gt(G);return}try{const{content:pt}=await Vx(G),nt=A7.parse(`file:///she-scripts/${encodeURIComponent(G)}`);(ht=zo.getModel(nt))==null||ht.dispose();const li=zo.createModel(pt,Gs(G),nt);m(d,[...c(d),{path:G,dirty:!1,savedContent:pt,model:li,logEntries:[]}],!0),de&&await gt(G)}catch(pt){m(g,pt.message,!0)}}async function wt(G){await We(G,!0)}async function gt(G){var ht,pt;const de=c(d).find(nt=>nt.path===G);de!=null&&de.model&&(bt(),m(tt,null),m(u,G,!0),Fi=!0,ze.setModel(de.model),Fi=!1,es(),await hl(),(pt=(ht=c(oi))==null?void 0:ht.querySelector(`[data-tab-path="${CSS.escape(G)}"]`))==null||pt.scrollIntoView({inline:"nearest",block:"nearest"}),ye())}async function Ie(G){var pt;const de=c(d).find(nt=>nt.path===G);if(!de||de.dirty&&!await ne.show(`Discard unsaved changes to ${G}?`,{confirm:"Discard"}))return;const ht=c(d).findIndex(nt=>nt.path===G);if((pt=de.model)==null||pt.dispose(),m(d,c(d).filter(nt=>nt.path!==G),!0),c(u)===G){const nt=c(d)[ht]??c(d)[ht-1]??null;nt?await gt(nt.path):(m(u,null),ze.setModel(qt))}}async function ge(){try{m(b,await V$(),!0)}catch{m(b,null)}}async function Re(G,de){if(c(b))try{if(G==="all"?await d2(de):await c2(G,de),c(w))try{await $x()}catch{}await ge()}catch{}}async function Ne(){if(!c(u))return;const G=c(d).find(de=>de.path===c(u));if(G){m(f,!0);try{const de=ze.getValue();await Ql(c(u),de),G.savedContent=de,G.dirty=!1,m(g,""),c(y)?await Re([c(u)],`update ${c(u)}`):ge()}catch(de){m(g,de.message,!0)}finally{m(f,!1)}}}async function it(){if(!c(u)||(await Ne(),c(g)))return;const G=await ie.show("Commit message:",{initial:`update ${c(u)}`,placeholder:"Update script",confirm:"Commit"});if(G)try{if(await U$(c(u),G),c(w))try{await $x()}catch{}ge()}catch(de){m(g,"Git: "+de.message)}}async function at(){m(p,!1);try{await $x(),await ge(),m(g,"")}catch(G){m(g,"Git push: "+G.message)}}function Oe(G){const de=Date.now()-new Date(G).getTime(),ht=Math.floor(de/1e3);if(ht<60)return"just now";const pt=Math.floor(ht/60);if(pt<60)return`${pt}m ago`;const nt=Math.floor(pt/60);if(nt<24)return`${nt}h ago`;const li=Math.floor(nt/24);if(li<30)return`${li}d ago`;const Yt=Math.floor(li/30);return Yt<12?`${Yt}mo ago`:`${Math.floor(Yt/12)}y ago`}async function ut(G){yi(),m(A,G,!0),m(I,[],!0),m(R,30),await fe()}async function fe(){if(c(A)){m(M,!0);try{m(I,await q$(c(A).path,c(R)),!0)}catch{}finally{m(M,!1)}}}async function Ve(){m(R,c(R)+30),await fe()}function Ct(){m(A,null),m(I,[],!0),bt()}async function Wt(G){if(!c(A))return;bt(),await wt(c(A).path);let de;try{de=await G$(G.hash,c(A).path)}catch{return}if(m(he,G.hash,!0),m(J,de.binary,!0),m(se,!0),de.binary||de.content===null)return;let ht="";const pt=c(d).find(li=>li.path===c(A).path);if(pt!=null&&pt.model)ht=pt.model.getValue();else try{ht=(await Vx(c(A).path)).content}catch{}if(await hl(),!c(T))return;const nt=Gs(c(A).path);H=zo.createModel(de.content,nt),X=zo.createModel(ht,nt),V=zo.createDiffEditor(c(T),{theme:Jh(),readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),V.setModel({original:H,modified:X})}function bt(){m(se,!1),m(J,!1),V==null||V.dispose(),V=null,H==null||H.dispose(),H=null,X==null||X.dispose(),X=null}async function gi(){const G=c(n)?`${c(n)}/`:"",de=await ie.show("New script name:",{placeholder:G?`${G}myscript.js`:"myscript.js",initial:G,confirm:"Create"});if(!de)return;const ht=de.endsWith(".js")?`/* global she */
|
|
217
|
-
'use strict';
|
|
218
|
-
|
|
219
|
-
`:"";await Ql(de,ht),await Z(),await We(de,!0)}async function Ai(){const G=c(n)?`${c(n)}/`:"",de=await ie.show("New folder name:",{placeholder:G?`${G}subfolder`:"myfolder",initial:G,confirm:"Create"});de&&(await z$(de),c(i)[de]=!0,await Z())}function Xi(G,de){G.preventDefault(),m(s,{x:G.clientX,y:G.clientY,entry:de},!0)}function yi(){m(s,null)}async function ai(G){yi(),m(n,G,!0),c(i)[G]=!0,await gi()}async function zt(G){yi(),m(n,G,!0),await Ai()}async function At(G){yi();const de=G.path.includes("/")?G.path.slice(0,G.path.lastIndexOf("/")+1):"",ht=await ie.show(G.type==="dir"?"Rename folder:":"Rename script:",{initial:G.name,placeholder:G.name,confirm:"Rename"});if(!ht||ht===G.name)return;const pt=de+ht;try{await l2(G.path,pt);const nt=c(d).find(li=>li.path===G.path);nt&&(nt.path=pt,c(u)===G.path&&m(u,pt)),await Z(),await Re("all",`rename ${G.path} → ${pt}`)}catch(nt){m(g,nt.message,!0)}}function Ht(G){if(!G.children)return 0;let de=0;for(const ht of G.children)de++,ht.type==="dir"&&(de+=Ht(ht));return de}async function ii(G){yi();let de=`Delete ${G.type==="dir"?"folder":"file"} "${G.path}"?`;if(G.type==="dir"){const ht=Ht(G);ht>0&&(de+=` This will also delete ${ht} item${ht===1?"":"s"} inside.`)}if(await ne.show(de,{confirm:"Delete",danger:!0})){if(G.type==="dir")for(const ht of[...c(d)])ht.path.startsWith(G.path+"/")&&await Ie(ht.path);else await Ie(G.path);await jx(G.path),await Z(),await Re("all",`delete ${G.path}`)}}async function pi(G){yi();const{content:de}=await Vx(G.path);c(ke).some(ht=>ht.name===G.path)||m(ke,[...c(ke),{name:G.path,content:de}],!0),m(Qe,!0)}function tn(G,de){var ht;m(r,de,!0),(ht=G.dataTransfer)==null||ht.setData("text/plain",de)}function dn(G,de){if(G.preventDefault(),c(r)&&(c(r)===de||de.startsWith(c(r)+"/"))){G.dataTransfer&&(G.dataTransfer.dropEffect="none"),m(a,null);return}G.dataTransfer&&(G.dataTransfer.dropEffect="move"),m(a,de,!0)}function In(){m(a,null)}async function Ni(G,de){var Yt,en,Gi;G.preventDefault(),m(a,null);const ht=Array.from(((Yt=G.dataTransfer)==null?void 0:Yt.items)??[]).filter(sn=>sn.kind==="file");if(ht.length>0&&!c(r)){for(const sn of ht){const fn=(en=sn.webkitGetAsEntry)==null?void 0:en.call(sn);fn&&await An(fn,de,!0)}await Z();return}const pt=c(r)??((Gi=G.dataTransfer)==null?void 0:Gi.getData("text/plain"));if(m(r,null),!pt||pt===de||de.startsWith(pt+"/"))return;const nt=pt.split("/").pop(),li=de?`${de}/${nt}`:nt;if(li!==pt)try{await l2(pt,li);for(const sn of c(d))if(sn.path===pt)c(u)===pt&&m(u,li,!0),sn.path=li;else if(sn.path.startsWith(pt+"/")){const fn=li+sn.path.slice(pt.length);c(u)===sn.path&&m(u,fn),sn.path=fn}await Z(),await Re("all",`rename ${pt} → ${li}`)}catch(sn){m(g,sn.message,!0)}}async function An(G,de,ht){if(G.isFile){const nt=await(await new Promise((Yt,en)=>G.file(Yt,en))).text(),li=de?`${de}/${G.name}`:G.name;await Ql(li,nt),ht&&G.name.endsWith(".js")&&await Ee(li,!0)}else if(G.isDirectory){const pt=G.createReader();let nt=[],li;do li=await new Promise((Yt,en)=>pt.readEntries(Yt,en)),nt=[...nt,...li];while(li.length>0);for(const Yt of nt)await An(Yt,de?`${de}/${G.name}`:G.name,!1);if(ht){const Yt=de?`${de}/${G.name}`:G.name;await Ee(Yt,!0)}}}async function Gn(){if(!c(u)||!await ne.show(`Delete ${c(u)}?`,{confirm:"Delete",danger:!0}))return;const G=c(u);await Ie(G),await jx(G),await Z(),await Re("all",`delete ${G}`)}function Pn(){c(ae)&&(c(ae).logEntries=[])}function Jn(){m(C,!c(C)),localStorage.setItem(_e,String(c(C)))}function Oi(G){return new Date(G).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Gs(G){var pt;const de=((pt=G.split(".").pop())==null?void 0:pt.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"}[de]??"plaintext"}let On=null;async function es(){const G=c(d).find(ht=>ht.path===c(u));if(!(G!=null&&G.model))return;const de=G.model;try{const li=(await(await(await md.typescript.getJavaScriptWorker())(de.uri)).getSyntacticDiagnostics(de.uri.toString())).map(Yt=>{const en=de.getPositionAt(Yt.start??0),Gi=de.getPositionAt((Yt.start??0)+(Yt.length??0));return{severity:k7.Error,startLineNumber:en.lineNumber,startColumn:en.column,endLineNumber:Gi.lineNumber,endColumn:Gi.column,message:typeof Yt.messageText=="string"?Yt.messageText:JSON.stringify(Yt.messageText),source:"she-syntax"}});if(zo.setModelMarkers(de,"she-syntax",li),c(u)){if(li.length>0)re.add(c(u)),c(be).has(c(u))||m(be,new Set([...c(be),c(u)]),!0);else if(re.has(c(u))){re.delete(c(u));const Yt=new Set(c(be));Yt.delete(c(u)),m(be,Yt,!0)}}}catch{}}function Ms(G){te=!0,Ye=G.clientX,Bt=c(lt),G.preventDefault()}function tr(G){It=!0,Dt=G.clientY,Be=c(we),G.preventDefault()}function zr(G){je=!0,Kt=G.clientX,ri=c(di),G.preventDefault()}function Xa(G){hi=!0,Xt=G.clientY,pe=c(Lt),G.preventDefault()}function zl(G){te&&m(lt,Math.max(140,Math.min(500,Bt+G.clientX-Ye)),!0),It&&m(we,Math.max(60,Math.min(500,Be-(G.clientY-Dt))),!0),je&&m(di,Math.max(200,Math.min(700,ri-(G.clientX-Kt))),!0),hi&&m(Lt,Math.max(80,Math.min(600,pe-(G.clientY-Xt))),!0)}function pr(){te&&(te=!1,localStorage.setItem("she-scripts-sidebar-width",String(c(lt)))),It&&(It=!1,localStorage.setItem("she-scripts-log-height",String(c(we)))),je&&(je=!1,localStorage.setItem("she-scripts-chat-width",String(c(di)))),hi&&(hi=!1,localStorage.setItem("she-scripts-history-height",String(c(Lt))))}function Vr(G){(G.ctrlKey||G.metaKey)&&G.key==="s"&&(G.preventDefault(),Ne()),G.key==="Escape"&&(m(p,!1),m(s,null),m(Ot,!1))}async function Qc(G,de){const ht=await ie.show("Save new script as:",{placeholder:"myscript.js",initial:G,confirm:"Create"});if(ht)try{await Ql(ht,de),await Z(),await We(ht,!0)}catch(pt){m(g,pt.message,!0)}}async function Ls(G){var ht,pt;if(c(Gt)&&c(u)){m(tt,G,!0),await ao();return}if(m(tt,G,!0),await hl(),!c(vt))return;Y==null||Y.dispose(),Te==null||Te.dispose(),dt==null||dt.dispose();const de=((pt=(ht=c(ae))==null?void 0:ht.model)==null?void 0:pt.getValue())??"";Y=zo.createModel(de,"javascript"),Te=zo.createModel(G,"javascript"),dt=zo.createDiffEditor(c(vt),{theme:Jh(),readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),dt.setModel({original:Y,modified:Te})}Kn(()=>{c(u),m(Gt,!1),m(ci,!1)});async function ao(){if(c(tt)===null||!c(u))return;const G=c(tt);m(tt,null);const de=c(d).find(ht=>ht.path===c(u));de!=null&&de.model&&(Fi=!0,de.model.setValue(G),Fi=!1,de.dirty=!1,de.savedContent=G);try{await Ql(c(u),G),m(g,""),c(y)?await Re([c(u)],`update ${c(u)}`):ge()}catch(ht){m(g,ht.message,!0)}Vl()}function ah(){m(tt,null),Vl()}function Vl(){dt==null||dt.dispose(),dt=null,Y==null||Y.dispose(),Y=null,Te==null||Te.dispose(),Te=null}var ir=aZ();xs("keydown",Rd,Vr),xs("mousemove",Rd,zl),xs("mouseup",Rd,pr);var Jc=Et(ir);gs(Yc(Jc,{}),G=>ne=G,()=>ne);var jl=v(Jc,2);gs(JU(jl,{}),G=>ie=G,()=>ie);var Ya=v(jl,2);{var Cf=G=>{var de=iK(),ht=Et(de),pt=v(ht,2);let nt;var li=_(pt);{var Yt=Gi=>{var sn=JG(),fn=Et(sn),vn=v(fn,2),Sn=v(vn,4),yn=v(Sn,2);U("click",fn,()=>ai(c(s).entry.path)),U("click",vn,()=>zt(c(s).entry.path)),U("click",Sn,()=>At(c(s).entry)),U("click",yn,()=>ii(c(s).entry)),D(Gi,sn)},en=Gi=>{var sn=tK(),fn=Et(sn),vn=v(fn,2),Sn=v(vn,2),yn=v(Sn,2);{var Dn=_n=>{var $n=eK();U("click",$n,()=>ut(c(s).entry)),D(_n,$n)};z(yn,_n=>{c(b)&&_n(Dn)})}var us=v(yn,4);U("click",fn,()=>wt(c(s).entry.path)),U("click",vn,()=>At(c(s).entry)),U("click",Sn,()=>pi(c(s).entry)),U("click",us,()=>ii(c(s).entry)),D(Gi,sn)};z(li,Gi=>{c(s).entry.type==="dir"?Gi(Yt):Gi(en,-1)})}j(()=>nt=qo(pt,"",nt,{left:`${c(s).x??""}px`,top:`${c(s).y??""}px`})),U("click",ht,yi),U("contextmenu",ht,Gi=>{Gi.preventDefault(),yi()}),D(G,de)};z(Ya,G=>{c(s)&&G(Cf)})}var ed=v(Ya,2);{var lh=G=>{var de=nK();let ht;j(()=>ht=qo(de,"",ht,{left:`${c(ji).x??""}px`,top:`${c(ji).y-4}px`})),D(G,de)};z(ed,G=>{c(ji)&&G(lh)})}var td=v(ed,2),id=_(td);let $l;{const G=(pt,nt=ab,li)=>{let Yt=l9(()=>M7(li==null?void 0:li(),!1));var en=ws(),Gi=Et(en);{var sn=vn=>{var Sn=oK(),yn=_(Sn);let Dn;var us=_(yn);let _n;var $n=v(us,2);let Rs;var bo=_($n),Ns=v($n,2);{var As=x=>{var E=R2();D(x,E)},hs=Ft(()=>c(ot).has(nt().path)||c(rt).has(nt().path));z(Ns,x=>{c(hs)&&x(As)})}var ls=v(Ns,2),Ks=_(ls),Tn=v(ls,2),ps=_(Tn),l=v(yn,2);{var h=x=>{var E=sK();ei(E,21,()=>nt().children,k=>k.path,(k,O)=>{G(k,()=>c(O),()=>nt().disabled||c(Yt))}),D(x,E)};z(l,x=>{c(i)[nt().path]&&nt().children&&x(h)})}j(()=>{Dn=kt(yn,1,"dir-row svelte-1pyfjii",null,Dn,{"dir-selected":c(n)===nt().path,"drag-target":c(a)===nt().path}),ln(yn,"aria-selected",c(n)===nt().path),_n=kt(us,1,"chevron svelte-1pyfjii",null,_n,{open:c(i)[nt().path]}),Rs=kt($n,1,"dir-name svelte-1pyfjii",null,Rs,{lib:nt().lib}),W(bo,nt().name),Zo(Ks,nt().lib),Zo(ps,nt().disabled)}),xs("dragstart",yn,x=>tn(x,nt().path)),xs("dragover",yn,x=>dn(x,nt().path)),xs("dragleave",yn,In),xs("drop",yn,x=>Ni(x,nt().path)),U("contextmenu",yn,x=>Xi(x,nt())),U("click",us,()=>le(nt().path)),U("click",$n,()=>{m(n,nt().path,!0),c(i)[nt().path]=!0}),U("keydown",$n,x=>x.key==="Enter"&&m(n,nt().path,!0)),xs("mouseenter",ls,Ji),xs("mouseleave",ls,Si),U("change",Ks,()=>Pt(nt().path,!nt().lib)),U("change",ps,()=>Ee(nt().path,!nt().disabled)),D(vn,Sn)},fn=vn=>{const Sn=Ft(()=>c(be).has(nt().path)),yn=Ft(()=>c(ot).has(nt().path)),Dn=Ft(()=>c(d).some(wi=>wi.path===nt().path&&wi.dirty)),us=Ft(()=>(nt().name.split(".").pop()??"txt").toUpperCase()),_n=Ft(()=>nt().name.endsWith(".js"));var $n=uK();let Rs;var bo=_($n),Ns=_(bo);let As;var hs=_(Ns);let ls;var Ks=_(hs),Tn=v(hs,2),ps=_(Tn),l=v(Tn,2);{var h=wi=>{var xn=R2();D(wi,xn)};z(l,wi=>{c(yn)&&wi(h)})}var x=v(l);{var E=wi=>{var xn=rK();D(wi,xn)};z(x,wi=>{c(Dn)&&wi(E)})}var k=v(x,2);{var O=wi=>{var xn=aK();D(wi,xn)},ee=Ft(()=>c(_n)&&c(ce).has(nt().path)&&!c(Sn));z(k,wi=>{c(ee)&&wi(O)})}var me=v(k,2);{var Ae=wi=>{var xn=lK();D(wi,xn)};z(me,wi=>{c(Sn)&&wi(Ae)})}var xt=v(Ns,2);{var xi=wi=>{var xn=cK();let Rn;var Cs=_(xn);j(()=>{Rn=kt(xn,1,"dis-label svelte-1pyfjii",null,Rn,{"dis-locked":c(Yt)}),ln(xn,"title",c(Yt)?"Disabled by parent directory":"Disable — this script will not be executed"),Zo(Cs,nt().disabled),Cs.disabled=c(Yt)}),U("change",Cs,()=>Ee(nt().path,!nt().disabled)),D(wi,xn)},Qi=wi=>{var xn=dK();D(wi,xn)};z(xt,wi=>{c(_n)?wi(xi):wi(Qi,-1)})}j((wi,xn,Rn)=>{Rs=kt($n,1,"tree-file svelte-1pyfjii",null,Rs,wi),As=kt(Ns,1,"svelte-1pyfjii",null,As,{lib:nt().lib,dis:nt().disabled,err:c(Sn)}),ls=kt(hs,1,`badge badge-${xn??""}`,"svelte-1pyfjii",ls,{"badge-shelib":nt().lib}),W(Ks,Rn),W(ps,nt().name)},[()=>({active:c(d).some(wi=>wi.path===nt().path),"active-tab":nt().path===c(u)}),()=>c(us).toLowerCase(),()=>$e(c(us))]),xs("dragstart",$n,wi=>tn(wi,nt().path)),U("contextmenu",$n,wi=>Xi(wi,nt())),U("click",Ns,()=>wt(nt().path)),D(vn,$n)};z(Gi,vn=>{nt().type==="dir"?vn(sn):vn(fn,-1)})}D(pt,en)};var pa=_(id),Ef=_(pa),yf=v(Ef,2),Ul=v(yf,2);let de;var Qa=v(Ul,2),tx=v(pa,2);{var nd=pt=>{var nt=hK(),li=_(nt);j(()=>W(li,c(g))),D(pt,nt)};z(tx,pt=>{c(g)&&pt(nd)})}var Bo=v(tx,2);{var ix=pt=>{var nt=DK(),li=_(nt),Yt=_(li);let en;var Gi=v(Yt,2);let sn;var fn=v(Gi,2),vn=v(li,2),Sn=_(vn);gs(Sn,Tn=>m(Xe,Tn),()=>c(Xe));var yn=v(Sn,2);{var Dn=Tn=>{var ps=fK(),l=Et(ps);let h;var x=v(l,2);let E;var k=v(x,2);let O;j(()=>{h=kt(l,1,"svelte-1pyfjii",null,h,{active:c(Ue)}),E=kt(x,1,"svelte-1pyfjii",null,E,{active:c(ve)}),O=kt(k,1,"svelte-1pyfjii",null,O,{active:c(mt)})}),U("click",l,()=>{m(Ue,!c(Ue)),Vi()}),U("click",x,()=>{m(ve,!c(ve)),Vi()}),U("click",k,()=>m(mt,!c(mt))),D(Tn,ps)};z(yn,Tn=>{c(xe)==="text"&&Tn(Dn)})}var us=v(vn,2);{var _n=Tn=>{var ps=gK(),l=_(ps),h=v(l,2),x=_(h);j(E=>{h.disabled=E,W(x,c(Qt)?"…":"Preview")},[()=>!c(He).trim()||c(st).length===0||c(Qt)]),Vt(l,()=>c(Mt),E=>m(Mt,E)),U("click",h,cn),D(Tn,ps)};z(us,Tn=>{c(xe)==="text"&&c(mt)&&Tn(_n)})}var $n=v(us,2),Rs=_($n);{var bo=Tn=>{var ps=pK();D(Tn,ps)},Ns=Tn=>{var ps=xK(),l=_(ps);j(()=>W(l,c(si))),D(Tn,ps)},As=Tn=>{var ps=ws(),l=Et(ps);{var h=E=>{var k=ws(),O=Et(k);{var ee=Ae=>{var xt=mK();D(Ae,xt)},me=Ae=>{var xt=ZC(),xi=Et(xt);{var Qi=xn=>{var Rn=vK();D(xn,Rn)};z(xi,xn=>{c(Ce)&&xn(Qi)})}var wi=v(xi,2);ei(wi,17,()=>c(st),Hi,(xn,Rn)=>{var Cs=bK(),Os=_(Cs),$r=_(Os),$b=_($r),Ub=v($r,2),qb=_(Ub),gx=v(Os,2);ei(gx,17,()=>c(Rn).matches,Hi,(Gb,mh)=>{var ks=_K(),cd=_(ks),Kb=_(cd),Zb=v(cd,2),Xb=_(Zb);j(()=>{W(Kb,c(mh).line),W(Xb,c(mh).preview)}),U("click",ks,()=>Ti(c(Rn).path,c(mh))),D(Gb,ks)}),j(()=>{W($b,c(Rn).path),W(qb,c(Rn).matches.length)}),U("click",Os,()=>wt(c(Rn).path)),D(xn,Cs)}),D(Ae,xt)};z(O,Ae=>{c(st).length===0?Ae(ee):Ae(me,-1)})}D(E,k)},x=E=>{var k=ws(),O=Et(k);{var ee=Ae=>{var xt=CK();D(Ae,xt)},me=Ae=>{var xt=ZC(),xi=Et(xt);{var Qi=xn=>{var Rn=EK();D(xn,Rn)};z(xi,xn=>{c(Ce)&&xn(Qi)})}var wi=v(xi,2);ei(wi,17,()=>c(yt),Hi,(xn,Rn)=>{var Cs=yK(),Os=_(Cs),$r=_(Os);j(()=>W($r,c(Rn))),U("click",Cs,()=>wt(c(Rn))),D(xn,Cs)}),D(Ae,xt)};z(O,Ae=>{c(yt).length===0?Ae(ee):Ae(me,-1)})}D(E,k)};z(l,E=>{c(xe)==="text"?E(h):E(x,-1)})}D(Tn,ps)},hs=Ft(()=>c(He).trim());z(Rs,Tn=>{c(Nt)?Tn(bo):c(si)?Tn(Ns,1):c(hs)&&Tn(As,2)})}var ls=v($n,2);{var Ks=Tn=>{var ps=SK(),l=_(ps),h=_(l),x=_(h),E=v(h,2),k=_(E),O=v(k,2),ee=v(l,2);ei(ee,21,()=>c(et),Hi,(me,Ae,xt)=>{var xi=wK(),Qi=_(xi),wi=v(Qi,4),xn=_(wi),Rn=v(wi,2),Cs=_(Rn);j(()=>{W(xn,c(Ae).path),W(Cs,`${c(Ae).changes??""}×`)}),ys(Qi,()=>c(Ae).checked,Os=>c(Ae).checked=Os),D(me,xi)}),j((me,Ae)=>{W(x,`Replace in ${me??""} file(s)`),k.disabled=Ae},[()=>c(et).filter(me=>me.checked).length,()=>c(et).filter(me=>me.checked).length===0]),U("click",k,gn),U("click",O,()=>m(St,!1)),D(Tn,ps)};z(ls,Tn=>{c(St)&&Tn(Ks)})}j(()=>{en=kt(Yt,1,"svelte-1pyfjii",null,en,{active:c(xe)==="text"}),sn=kt(Gi,1,"svelte-1pyfjii",null,sn,{active:c(xe)==="files"}),ln(Sn,"placeholder",c(xe)==="text"?"Find in files…":"Find files…")}),U("click",Yt,()=>{m(xe,"text"),Vi()}),U("click",Gi,()=>{m(xe,"files"),Vi()}),U("click",fn,Jt),U("input",Sn,Vi),U("keydown",Sn,Tn=>Tn.key==="Escape"&&Jt()),Vt(Sn,()=>c(He),Tn=>m(He,Tn)),D(pt,nt)};z(Bo,pt=>{c(Pe)&&pt(ix)})}var wf=v(Bo,2),sd=_(wf);let ht;var Sf=v(sd,2);ei(Sf,17,()=>c(t),pt=>pt.path,(pt,nt)=>{G(pt,()=>c(nt))});var Df=v(wf,2);{var Nb=pt=>{var nt=LK();let li;var Yt=_(nt),en=v(Yt,2),Gi=_(en),sn=_(Gi),fn=v(Gi,2),vn=v(en,2),Sn=_(vn);{var yn=_n=>{var $n=AK();D(_n,$n)},Dn=_n=>{var $n=kK();D(_n,$n)},us=_n=>{var $n=ZC(),Rs=Et($n);ei(Rs,17,()=>c(I),As=>As.hash,(As,hs)=>{var ls=BK(),Ks=_(ls),Tn=_(Ks),ps=v(Ks,2),l=_(ps);j((h,x)=>{W(Tn,c(hs).subject),W(l,`${h??""} · ${x??""}`)},[()=>c(hs).hash.slice(0,7),()=>Oe(c(hs).date)]),U("click",ls,()=>Wt(c(hs))),D(As,ls)});var bo=v(Rs,2);{var Ns=As=>{var hs=FK(),ls=_(hs);j(()=>{hs.disabled=c(M),W(ls,c(M)?"Loading…":"Load more")}),U("click",hs,Ve),D(As,hs)};z(bo,As=>{c(I).length>=c(R)&&As(Ns)})}D(_n,$n)};z(Sn,_n=>{c(M)&&c(I).length===0?_n(yn):c(I).length===0?_n(Dn,1):_n(us,-1)})}j(()=>{li=qo(nt,"",li,{height:`${c(Lt)??""}px`}),ln(Gi,"title",c(A).path),W(sn,`History: ${c(A).name??""}`)}),U("mousedown",Yt,Xa),U("click",fn,Ct),D(pt,nt)};z(Df,pt=>{c(A)&&pt(Nb)})}j(()=>{de=kt(Ul,1,"search-toggle svelte-1pyfjii",null,de,{active:c(Pe)}),ht=kt(sd,1,"tree-root-drop svelte-1pyfjii",null,ht,{"drag-target":c(a)===""})}),U("click",Ef,gi),U("click",yf,Ai),U("click",Ul,()=>c(Pe)?Jt():Ei("text")),U("click",Qa,Z),xs("dragover",sd,pt=>dn(pt,"")),xs("dragleave",sd,In),xs("drop",sd,pt=>Ni(pt,""))}var nx=v(id,2),sx=v(nx,2),ox=_(sx);{var nr=G=>{var de=TK(),ht=_(de),pt=v(ht,2);ei(pt,21,()=>c(d),li=>li.path,(li,Yt)=>{var en=PK();let Gi;var sn=_(en),fn=_(sn),vn=v(sn,2);{var Sn=Dn=>{var us=IK();D(Dn,us)};z(vn,Dn=>{c(Yt).dirty&&Dn(Sn)})}var yn=v(vn,2);j(Dn=>{Gi=kt(en,1,"tab svelte-1pyfjii",null,Gi,{active:c(Yt).path===c(u)}),ln(en,"data-tab-path",c(Yt).path),W(fn,Dn)},[()=>c(Yt).path.split("/").pop()]),U("click",en,()=>gt(c(Yt).path)),U("keydown",en,Dn=>Dn.key==="Enter"&>(c(Yt).path)),U("click",yn,Dn=>{Dn.stopPropagation(),Ie(c(Yt).path)}),D(li,en)}),gs(pt,li=>m(oi,li),()=>c(oi));var nt=v(pt,2);j(()=>{ht.disabled=!c(Bi),nt.disabled=!c(_i)}),U("click",ht,()=>ti(-1)),xs("scroll",pt,ye),xs("wheel",pt,li=>{li.preventDefault(),c(oi).scrollLeft+=li.deltaY,ye()}),U("click",nt,()=>ti(1)),D(G,de)};z(ox,G=>{c(d).length>0&&G(nr)})}var Ja=v(ox,2),rx=_(Ja),jr=_(rx),ax=v(rx,2);{var ql=G=>{var de=VK(),ht=_(de),pt=_(ht),nt=v(ht,2);{var li=fn=>{var vn=OK(),Sn=_(vn),yn=_(Sn),Dn=v(Sn,2);{var us=_n=>{var $n=NK(),Rs=Et($n),bo=v(Rs,2),Ns=v(_(bo),2);ei(Ns,21,()=>c(b).changes,Hi,(l,h)=>{var x=MK(),E=_(x),k=_(E),O=v(E,2),ee=_(O),me=v(O,2),Ae=_(me);j(xt=>{Zo(k,xt),W(ee,c(h).status),W(Ae,c(h).file)},[()=>c($).has(c(h).file)]),U("change",k,()=>{const xt=new Set(c($));xt.has(c(h).file)?xt.delete(c(h).file):xt.add(c(h).file),m($,xt,!0)}),D(l,x)});var As=v(Ns,2),hs=_(As),ls=v(hs,2),Ks=_(ls),Tn=v(As,2);{var ps=l=>{var h=RK(),x=_(h);j(()=>W(x,c(N))),D(l,h)};z(Tn,l=>{c(N)&&l(ps)})}j(l=>{var h;ls.disabled=l,W(Ks,c(P)?"…":c($).size===((h=c(b))==null?void 0:h.changes.length)?"Commit all":`Commit ${c($).size}`)},[()=>!c(Ci).trim()||c(P)||c($).size===0]),U("click",Rs,()=>m(jt,!1)),U("keydown",hs,l=>l.key==="Enter"&&oe()),Vt(hs,()=>c(Ci),l=>m(Ci,l)),U("click",ls,oe),D(_n,$n)};z(Dn,_n=>{c(jt)&&_n(us)})}j(()=>{ln(Sn,"title",`${c(b).changes.length??""} uncommitted change(s) — click to view`),W(yn,`✎${c(b).changes.length??""}`)}),U("click",Sn,()=>{c(jt)||m($,new Set(c(b).changes.map(_n=>_n.file)),!0),m(jt,!c(jt)),m(N,"")}),D(fn,vn)};z(nt,fn=>{c(b).changes.length>0&&fn(li)})}var Yt=v(nt,2);{var en=fn=>{var vn=WK(),Sn=_(vn),yn=_(Sn),Dn=v(Sn,2);{var us=_n=>{var $n=HK(),Rs=Et($n),bo=v(Rs,2),Ns=_(bo),As=_(Ns),hs=v(Ns,2),ls=_(hs);j(()=>W(As,`${c(b).ahead??""} unpushed commit(s)`)),U("click",Rs,()=>m(Ot,!1)),U("click",ls,()=>{m(Ot,!1),at()}),D(_n,$n)};z(Dn,_n=>{c(Ot)&&_n(us)})}j(()=>{ln(Sn,"title",`${c(b).ahead??""} commit(s) ahead of upstream — click to push`),W(yn,`↑${c(b).ahead??""}`)}),U("click",Sn,()=>m(Ot,!c(Ot))),D(fn,vn)};z(Yt,fn=>{c(b).ahead>0&&fn(en)})}var Gi=v(Yt,2);{var sn=fn=>{var vn=zK(),Sn=_(vn);j(()=>{ln(vn,"title",`${c(b).behind??""} commit(s) behind upstream`),W(Sn,`↓${c(b).behind??""}`)}),D(fn,vn)};z(Gi,fn=>{c(b).behind>0&&fn(sn)})}j(()=>{ln(ht,"title",`Branch: ${c(b).branch??""}`),W(pt,`⎇ ${c(b).branch??""}`)}),D(G,de)};z(ax,G=>{c(b)&&G(ql)})}var lx=v(ax,2),Gl=_(lx),od=_(Gl),ch=_(od),cx=v(od,2),xa=v(Gl,2);{var dh=G=>{var de=jK(),ht=Et(de),pt=v(ht,2),nt=_(pt),li=v(nt,2);U("click",ht,()=>m(p,!1)),U("click",nt,()=>{m(p,!1),Ne()}),U("click",li,()=>{m(p,!1),it()}),D(G,de)};z(xa,G=>{c(p)&&G(dh)})}var dx=v(lx,2);{var Af=G=>{var de=$K();U("click",de,Gn),D(G,de)};z(dx,G=>{c(u)&&G(Af)})}var kf=v(dx,2);let xr;var Ob=v(Ja,2),el=_(Ob),ux=_(el),mr=_(ux);gs(mr,G=>$i=G,()=>$i);var rd=v(mr,2);{var hx=G=>{var de=UK();D(G,de)};z(rd,G=>{c(u)||G(hx)})}var uh=v(rd,2);{var hh=G=>{var de=ZK(),ht=_(de),pt=_(ht),nt=v(_(pt)),li=_(nt),Yt=v(pt,2),en=_(Yt),Gi=_(en),sn=_(Gi),fn=_(sn),vn=v(sn,2),Sn=v(Gi,2);{var yn=_n=>{var $n=KK(),Rs=Et($n),bo=v(Rs,2),Ns=_(bo);{var As=ls=>{var Ks=qK();U("click",Ks,()=>{m(ci,!1),m(Gt,!0),ao()}),D(ls,Ks)},hs=ls=>{var Ks=GK();U("click",Ks,()=>{m(ci,!1),m(Gt,!1)}),D(ls,Ks)};z(Ns,ls=>{c(Gt)?ls(hs,-1):ls(As)})}U("click",Rs,()=>m(ci,!1)),D(_n,$n)};z(Sn,_n=>{c(ci)&&_n(yn)})}var Dn=v(en,2),us=v(ht,2);gs(us,_n=>m(vt,_n),()=>c(vt)),j(_n=>{W(li,_n),W(fn,c(Gt)?"Auto-accept ✓":"Accept")},[()=>{var _n;return(_n=c(u))==null?void 0:_n.split("/").pop()}]),U("click",sn,ao),U("click",vn,()=>m(ci,!c(ci))),U("click",Dn,ah),D(G,de)};z(uh,G=>{c(tt)!==null&&G(hh)})}var Bf=v(uh,2);{var fh=G=>{var de=QK(),ht=_(de),pt=_(ht),nt=v(_(pt)),li=_(nt),Yt=v(nt,2),en=_(Yt),Gi=v(pt,2),sn=_(Gi),fn=v(ht,2);{var vn=yn=>{var Dn=XK();D(yn,Dn)},Sn=yn=>{var Dn=YK();gs(Dn,us=>m(T,us),()=>c(T)),D(yn,Dn)};z(fn,yn=>{c(J)?yn(vn):yn(Sn,-1)})}j(yn=>{var Dn;W(li,yn),W(en,(Dn=c(A))==null?void 0:Dn.name)},[()=>c(he).slice(0,7)]),U("click",sn,bt),D(G,de)};z(Bf,G=>{c(se)&&G(fh)})}var ma=v(ux,2);let ad,gh;var Ff=_(ma);{var Hb=G=>{var de=JK();U("mousedown",de,tr),D(G,de)};z(Ff,G=>{c(C)&&G(Hb)})}var ld=v(Ff,2),Lf=_(ld),If=_(Lf),Wb=v(If);{var fx=G=>{var de=eZ(),ht=_(de);j(pt=>W(ht,`— ${pt??""}`),[()=>c(u).split("/").pop()]),D(G,de)};z(Wb,G=>{c(u)&&G(fx)})}var zb=v(Lf,2);{var vr=G=>{var de=iZ(),ht=Et(de);ei(ht,21,()=>qi,Hi,(en,Gi)=>{var sn=tZ(),fn=_(sn),vn={};j(()=>{W(fn,c(Gi)),vn!==(vn=c(Gi))&&(sn.value=(sn.__value=c(Gi))??"")}),D(en,sn)});var pt=v(ht,2),nt=v(pt,2),li=_(nt),Yt=v(nt,2);Fs(ht,()=>c(ft),en=>m(ft,en)),Vt(pt,()=>c(Ut),en=>m(Ut,en)),ys(li,()=>c(Ri),en=>m(Ri,en)),U("click",Yt,Pn),D(G,de)};z(zb,G=>{c(C)&&G(vr)})}var ph=v(ld,2);{var Vb=G=>{var de=oZ(),ht=_(de);ei(ht,17,()=>{var li;return(((li=c(ae))==null?void 0:li.logEntries)??[]).filter(Wi)},li=>li.ts+li.msg,(li,Yt)=>{var en=nZ(),Gi=_(en),sn=_(Gi),fn=v(Gi,2),vn=_(fn),Sn=v(fn,2),yn=_(Sn);j((Dn,us)=>{kt(en,1,`log-line ${c(Yt).level??""}`,"svelte-1pyfjii"),W(sn,Dn),W(vn,us),W(yn,c(Yt).msg)},[()=>Oi(c(Yt).ts),()=>c(Yt).level.toUpperCase()]),D(li,en)});var pt=v(ht,2);{var nt=li=>{var Yt=sZ();D(li,Yt)};z(pt,li=>{var Yt;(((Yt=c(ae))==null?void 0:Yt.logEntries.length)??0)===0&&li(nt)})}gs(de,li=>m(ue,li),()=>c(ue)),D(G,de)};z(ph,G=>{c(C)&&G(Vb)})}var xh=v(el,2);{var jb=G=>{var de=rZ(),ht=Et(de),pt=v(ht,2);let nt;var li=_(pt);HG(li,{get currentScript(){return c(Ge)},onApply:Ls,onCreateFile:Qc,get extraFiles(){return c(ke)},set extraFiles(Yt){m(ke,Yt,!0)}}),j(()=>nt=qo(pt,"",nt,{width:`${c(di)??""}px`})),U("mousedown",ht,zr),D(G,de)};z(xh,G=>{c(Qe)&&G(jb)})}j(()=>{var G;$l=qo(id,"",$l,{width:`${c(lt)??""}px`}),W(jr,c(u)??"No file selected"),od.disabled=!((G=c(ae))!=null&&G.dirty)||c(f),W(ch,c(f)?"Saving…":"Save"),cx.disabled=!c(u),xr=kt(kf,1,"ai-toggle svelte-1pyfjii",null,xr,{"ai-open":c(Qe)}),ln(kf,"title",c(Qe)?"Close AI assistant":"Open AI assistant"),ad=kt(ma,1,"log-panel svelte-1pyfjii",null,ad,{collapsed:!c(C)}),gh=qo(ma,"",gh,{height:c(C)?`${c(we)}px`:"26px"}),W(If,`${c(C)?"▾":"▸"} Script Log `)}),U("keydown",td,hn),U("mousedown",nx,Ms),U("click",od,Ne),U("click",cx,()=>m(p,!c(p))),U("click",kf,()=>m(Qe,!c(Qe))),U("click",Lf,Jn),D(o,ir),$s()}Ys(["click","contextmenu","keydown","change","input","mousedown"]);var rg={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 cZ=rg.exports,N2;function dZ(){return N2||(N2=1,(function(o,e){(function(t,i){i(e)})(cZ,(function(t){var i="1.9.4";function n(l){var h,x,E,k;for(x=1,E=arguments.length;x<E;x++){k=arguments[x];for(h in k)l[h]=k[h]}return l}var s=Object.create||(function(){function l(){}return function(h){return l.prototype=h,new l}})();function r(l,h){var x=Array.prototype.slice;if(l.bind)return l.bind.apply(l,x.call(arguments,1));var E=x.call(arguments,2);return function(){return l.apply(h,E.length?E.concat(x.call(arguments)):arguments)}}var a=0;function d(l){return"_leaflet_id"in l||(l._leaflet_id=++a),l._leaflet_id}function u(l,h,x){var E,k,O,ee;return ee=function(){E=!1,k&&(O.apply(x,k),k=!1)},O=function(){E?k=arguments:(l.apply(x,arguments),setTimeout(ee,h),E=!0)},O}function f(l,h,x){var E=h[1],k=h[0],O=E-k;return l===E&&x?l:((l-k)%O+O)%O+k}function g(){return!1}function p(l,h){if(h===!1)return l;var x=Math.pow(10,h===void 0?6:h);return Math.round(l*x)/x}function C(l){return l.trim?l.trim():l.replace(/^\s+|\s+$/g,"")}function b(l){return C(l).split(/\s+/)}function y(l,h){Object.prototype.hasOwnProperty.call(l,"options")||(l.options=l.options?s(l.options):{});for(var x in h)l.options[x]=h[x];return l.options}function w(l,h,x){var E=[];for(var k in l)E.push(encodeURIComponent(x?k.toUpperCase():k)+"="+encodeURIComponent(l[k]));return(!h||h.indexOf("?")===-1?"?":"&")+E.join("&")}var A=/\{ *([\w_ -]+) *\}/g;function I(l,h){return l.replace(A,function(x,E){var k=h[E];if(k===void 0)throw new Error("No value provided for variable "+x);return typeof k=="function"&&(k=k(h)),k})}var M=Array.isArray||function(l){return Object.prototype.toString.call(l)==="[object Array]"};function R(l,h){for(var x=0;x<l.length;x++)if(l[x]===h)return x;return-1}var T="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function V(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var H=0;function X(l){var h=+new Date,x=Math.max(0,16-(h-H));return H=h+x,window.setTimeout(l,x)}var se=window.requestAnimationFrame||V("RequestAnimationFrame")||X,he=window.cancelAnimationFrame||V("CancelAnimationFrame")||V("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function J(l,h,x){if(x&&se===X)l.call(h);else return se.call(window,r(l,h))}function ue(l){l&&he.call(window,l)}var be={__proto__:null,extend:n,create:s,bind:r,get lastId(){return a},stamp:d,throttle:u,wrapNum:f,falseFn:g,formatNum:p,trim:C,splitWords:b,setOptions:y,getParamString:w,template:I,isArray:M,indexOf:R,emptyImageUrl:T,requestFn:se,cancelFn:he,requestAnimFrame:J,cancelAnimFrame:ue};function re(){}re.extend=function(l){var h=function(){y(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},x=h.__super__=this.prototype,E=s(x);E.constructor=h,h.prototype=E;for(var k in this)Object.prototype.hasOwnProperty.call(this,k)&&k!=="prototype"&&k!=="__super__"&&(h[k]=this[k]);return l.statics&&n(h,l.statics),l.includes&&(ce(l.includes),n.apply(null,[E].concat(l.includes))),n(E,l),delete E.statics,delete E.includes,E.options&&(E.options=x.options?s(x.options):{},n(E.options,l.options)),E._initHooks=[],E.callInitHooks=function(){if(!this._initHooksCalled){x.callInitHooks&&x.callInitHooks.call(this),this._initHooksCalled=!0;for(var O=0,ee=E._initHooks.length;O<ee;O++)E._initHooks[O].call(this)}},h},re.include=function(l){var h=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=h,this.mergeOptions(l.options)),this},re.mergeOptions=function(l){return n(this.prototype.options,l),this},re.addInitHook=function(l){var h=Array.prototype.slice.call(arguments,1),x=typeof l=="function"?l:function(){this[l].apply(this,h)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(x),this};function ce(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=M(l)?l:[l];for(var h=0;h<l.length;h++)l[h]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",new Error().stack)}}var ke={on:function(l,h,x){if(typeof l=="object")for(var E in l)this._on(E,l[E],h);else{l=b(l);for(var k=0,O=l.length;k<O;k++)this._on(l[k],h,x)}return this},off:function(l,h,x){if(!arguments.length)delete this._events;else if(typeof l=="object")for(var E in l)this._off(E,l[E],h);else{l=b(l);for(var k=arguments.length===1,O=0,ee=l.length;O<ee;O++)k?this._off(l[O]):this._off(l[O],h,x)}return this},_on:function(l,h,x,E){if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}if(this._listens(l,h,x)===!1){x===this&&(x=void 0);var k={fn:h,ctx:x};E&&(k.once=!0),this._events=this._events||{},this._events[l]=this._events[l]||[],this._events[l].push(k)}},_off:function(l,h,x){var E,k,O;if(this._events&&(E=this._events[l],!!E)){if(arguments.length===1){if(this._firingCount)for(k=0,O=E.length;k<O;k++)E[k].fn=g;delete this._events[l];return}if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}var ee=this._listens(l,h,x);if(ee!==!1){var me=E[ee];this._firingCount&&(me.fn=g,this._events[l]=E=E.slice()),E.splice(ee,1)}}},fire:function(l,h,x){if(!this.listens(l,x))return this;var E=n({},h,{type:l,target:this,sourceTarget:h&&h.sourceTarget||this});if(this._events){var k=this._events[l];if(k){this._firingCount=this._firingCount+1||1;for(var O=0,ee=k.length;O<ee;O++){var me=k[O],Ae=me.fn;me.once&&this.off(l,Ae,me.ctx),Ae.call(me.ctx||this,E)}this._firingCount--}}return x&&this._propagateEvent(E),this},listens:function(l,h,x,E){typeof l!="string"&&console.warn('"string" type argument expected');var k=h;typeof h!="function"&&(E=!!h,k=void 0,x=void 0);var O=this._events&&this._events[l];if(O&&O.length&&this._listens(l,k,x)!==!1)return!0;if(E){for(var ee in this._eventParents)if(this._eventParents[ee].listens(l,h,x,E))return!0}return!1},_listens:function(l,h,x){if(!this._events)return!1;var E=this._events[l]||[];if(!h)return!!E.length;x===this&&(x=void 0);for(var k=0,O=E.length;k<O;k++)if(E[k].fn===h&&E[k].ctx===x)return k;return!1},once:function(l,h,x){if(typeof l=="object")for(var E in l)this._on(E,l[E],h,!0);else{l=b(l);for(var k=0,O=l.length;k<O;k++)this._on(l[k],h,x,!0)}return this},addEventParent:function(l){return this._eventParents=this._eventParents||{},this._eventParents[d(l)]=l,this},removeEventParent:function(l){return this._eventParents&&delete this._eventParents[d(l)],this},_propagateEvent:function(l){for(var h in this._eventParents)this._eventParents[h].fire(l.type,n({layer:l.target,propagatedFrom:l.target},l),!0)}};ke.addEventListener=ke.on,ke.removeEventListener=ke.clearAllEventListeners=ke.off,ke.addOneTimeEventListener=ke.once,ke.fireEvent=ke.fire,ke.hasEventListeners=ke.listens;var Pe=re.extend(ke);function xe(l,h,x){this.x=x?Math.round(l):l,this.y=x?Math.round(h):h}var He=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};xe.prototype={clone:function(){return new xe(this.x,this.y)},add:function(l){return this.clone()._add(Ue(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(Ue(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 xe(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new xe(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=He(this.x),this.y=He(this.y),this},distanceTo:function(l){l=Ue(l);var h=l.x-this.x,x=l.y-this.y;return Math.sqrt(h*h+x*x)},equals:function(l){return l=Ue(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=Ue(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 Ue(l,h,x){return l instanceof xe?l:M(l)?new xe(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new xe(l.x,l.y):new xe(l,h,x)}function ve(l,h){if(l)for(var x=h?[l,h]:l,E=0,k=x.length;E<k;E++)this.extend(x[E])}ve.prototype={extend:function(l){var h,x;if(!l)return this;if(l instanceof xe||typeof l[0]=="number"||"x"in l)h=x=Ue(l);else if(l=mt(l),h=l.min,x=l.max,!h||!x)return this;return!this.min&&!this.max?(this.min=h.clone(),this.max=x.clone()):(this.min.x=Math.min(h.x,this.min.x),this.max.x=Math.max(x.x,this.max.x),this.min.y=Math.min(h.y,this.min.y),this.max.y=Math.max(x.y,this.max.y)),this},getCenter:function(l){return Ue((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return Ue(this.min.x,this.max.y)},getTopRight:function(){return Ue(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(l){var h,x;return typeof l[0]=="number"||l instanceof xe?l=Ue(l):l=mt(l),l instanceof ve?(h=l.min,x=l.max):h=x=l,h.x>=this.min.x&&x.x<=this.max.x&&h.y>=this.min.y&&x.y<=this.max.y},intersects:function(l){l=mt(l);var h=this.min,x=this.max,E=l.min,k=l.max,O=k.x>=h.x&&E.x<=x.x,ee=k.y>=h.y&&E.y<=x.y;return O&&ee},overlaps:function(l){l=mt(l);var h=this.min,x=this.max,E=l.min,k=l.max,O=k.x>h.x&&E.x<x.x,ee=k.y>h.y&&E.y<x.y;return O&&ee},isValid:function(){return!!(this.min&&this.max)},pad:function(l){var h=this.min,x=this.max,E=Math.abs(h.x-x.x)*l,k=Math.abs(h.y-x.y)*l;return mt(Ue(h.x-E,h.y-k),Ue(x.x+E,x.y+k))},equals:function(l){return l?(l=mt(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function mt(l,h){return!l||l instanceof ve?l:new ve(l,h)}function Mt(l,h){if(l)for(var x=h?[l,h]:l,E=0,k=x.length;E<k;E++)this.extend(x[E])}Mt.prototype={extend:function(l){var h=this._southWest,x=this._northEast,E,k;if(l instanceof yt)E=l,k=l;else if(l instanceof Mt){if(E=l._southWest,k=l._northEast,!E||!k)return this}else return l?this.extend(Ce(l)||st(l)):this;return!h&&!x?(this._southWest=new yt(E.lat,E.lng),this._northEast=new yt(k.lat,k.lng)):(h.lat=Math.min(E.lat,h.lat),h.lng=Math.min(E.lng,h.lng),x.lat=Math.max(k.lat,x.lat),x.lng=Math.max(k.lng,x.lng)),this},pad:function(l){var h=this._southWest,x=this._northEast,E=Math.abs(h.lat-x.lat)*l,k=Math.abs(h.lng-x.lng)*l;return new Mt(new yt(h.lat-E,h.lng-k),new yt(x.lat+E,x.lng+k))},getCenter:function(){return new yt((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 yt(this.getNorth(),this.getWest())},getSouthEast:function(){return new yt(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 yt||"lat"in l?l=Ce(l):l=st(l);var h=this._southWest,x=this._northEast,E,k;return l instanceof Mt?(E=l.getSouthWest(),k=l.getNorthEast()):E=k=l,E.lat>=h.lat&&k.lat<=x.lat&&E.lng>=h.lng&&k.lng<=x.lng},intersects:function(l){l=st(l);var h=this._southWest,x=this._northEast,E=l.getSouthWest(),k=l.getNorthEast(),O=k.lat>=h.lat&&E.lat<=x.lat,ee=k.lng>=h.lng&&E.lng<=x.lng;return O&&ee},overlaps:function(l){l=st(l);var h=this._southWest,x=this._northEast,E=l.getSouthWest(),k=l.getNorthEast(),O=k.lat>h.lat&&E.lat<x.lat,ee=k.lng>h.lng&&E.lng<x.lng;return O&&ee},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,h){return l?(l=st(l),this._southWest.equals(l.getSouthWest(),h)&&this._northEast.equals(l.getNorthEast(),h)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function st(l,h){return l instanceof Mt?l:new Mt(l,h)}function yt(l,h,x){if(isNaN(l)||isNaN(h))throw new Error("Invalid LatLng object: ("+l+", "+h+")");this.lat=+l,this.lng=+h,x!==void 0&&(this.alt=+x)}yt.prototype={equals:function(l,h){if(!l)return!1;l=Ce(l);var x=Math.max(Math.abs(this.lat-l.lat),Math.abs(this.lng-l.lng));return x<=(h===void 0?1e-9:h)},toString:function(l){return"LatLng("+p(this.lat,l)+", "+p(this.lng,l)+")"},distanceTo:function(l){return si.distance(this,Ce(l))},wrap:function(){return si.wrapLatLng(this)},toBounds:function(l){var h=180*l/40075017,x=h/Math.cos(Math.PI/180*this.lat);return st([this.lat-h,this.lng-x],[this.lat+h,this.lng+x])},clone:function(){return new yt(this.lat,this.lng,this.alt)}};function Ce(l,h,x){return l instanceof yt?l:M(l)&&typeof l[0]!="object"?l.length===3?new yt(l[0],l[1],l[2]):l.length===2?new yt(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new yt(l.lat,"lng"in l?l.lng:l.lon,l.alt):h===void 0?null:new yt(l,h,x)}var Nt={latLngToPoint:function(l,h){var x=this.projection.project(l),E=this.scale(h);return this.transformation._transform(x,E)},pointToLatLng:function(l,h){var x=this.scale(h),E=this.transformation.untransform(l,x);return this.projection.unproject(E)},project:function(l){return this.projection.project(l)},unproject:function(l){return this.projection.unproject(l)},scale:function(l){return 256*Math.pow(2,l)},zoom:function(l){return Math.log(l/256)/Math.LN2},getProjectedBounds:function(l){if(this.infinite)return null;var h=this.projection.bounds,x=this.scale(l),E=this.transformation.transform(h.min,x),k=this.transformation.transform(h.max,x);return new ve(E,k)},infinite:!1,wrapLatLng:function(l){var h=this.wrapLng?f(l.lng,this.wrapLng,!0):l.lng,x=this.wrapLat?f(l.lat,this.wrapLat,!0):l.lat,E=l.alt;return new yt(x,h,E)},wrapLatLngBounds:function(l){var h=l.getCenter(),x=this.wrapLatLng(h),E=h.lat-x.lat,k=h.lng-x.lng;if(E===0&&k===0)return l;var O=l.getSouthWest(),ee=l.getNorthEast(),me=new yt(O.lat-E,O.lng-k),Ae=new yt(ee.lat-E,ee.lng-k);return new Mt(me,Ae)}},si=n({},Nt,{wrapLng:[-180,180],R:6371e3,distance:function(l,h){var x=Math.PI/180,E=l.lat*x,k=h.lat*x,O=Math.sin((h.lat-l.lat)*x/2),ee=Math.sin((h.lng-l.lng)*x/2),me=O*O+Math.cos(E)*Math.cos(k)*ee*ee,Ae=2*Math.atan2(Math.sqrt(me),Math.sqrt(1-me));return this.R*Ae}}),Xe=6378137,et={R:Xe,MAX_LATITUDE:85.0511287798,project:function(l){var h=Math.PI/180,x=this.MAX_LATITUDE,E=Math.max(Math.min(x,l.lat),-x),k=Math.sin(E*h);return new xe(this.R*l.lng*h,this.R*Math.log((1+k)/(1-k))/2)},unproject:function(l){var h=180/Math.PI;return new yt((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*h,l.x*h/this.R)},bounds:(function(){var l=Xe*Math.PI;return new ve([-l,-l],[l,l])})()};function St(l,h,x,E){if(M(l)){this._a=l[0],this._b=l[1],this._c=l[2],this._d=l[3];return}this._a=l,this._b=h,this._c=x,this._d=E}St.prototype={transform:function(l,h){return this._transform(l.clone(),h)},_transform:function(l,h){return h=h||1,l.x=h*(this._a*l.x+this._b),l.y=h*(this._c*l.y+this._d),l},untransform:function(l,h){return h=h||1,new xe((l.x/h-this._b)/this._a,(l.y/h-this._d)/this._c)}};function Qt(l,h,x,E){return new St(l,h,x,E)}var fi=n({},si,{code:"EPSG:3857",projection:et,transformation:(function(){var l=.5/(Math.PI*et.R);return Qt(l,.5,-l,.5)})()}),oi=n({},fi,{code:"EPSG:900913"});function Bi(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function _i(l,h){var x="",E,k,O,ee,me,Ae;for(E=0,O=l.length;E<O;E++){for(me=l[E],k=0,ee=me.length;k<ee;k++)Ae=me[k],x+=(k?"L":"M")+Ae.x+" "+Ae.y;x+=h?we.svg?"z":"x":""}return x||"M0 0"}var Ke=document.documentElement.style,ye="ActiveXObject"in window,ti=ye&&!document.addEventListener,Ei="msLaunchUri"in navigator&&!("documentMode"in document),Jt=lt("webkit"),Vi=lt("android"),Yi=lt("android 2")||lt("android 3"),Ti=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),wn=Vi&<("Google")&&Ti<537&&!("AudioNode"in window),cn=!!window.opera,gn=!Ei&<("chrome"),hn=lt("gecko")&&!Jt&&!cn&&!ye,ft=!gn&<("safari"),Ut=lt("phantom"),Ri="OTransition"in Ke,qi=navigator.platform.indexOf("Win")===0,bi=ye&&"transition"in Ke,Wi="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Yi,ji="MozPerspective"in Ke,Ji=!window.L_DISABLE_3D&&(bi||Wi||ji)&&!Ri&&!Ut,Si=typeof orientation<"u"||lt("mobile"),$i=Si&&Jt,ze=Si&&Wi,qt=!window.PointerEvent&&window.MSPointerEvent,Fi=!!(window.PointerEvent||qt),zi="ontouchstart"in window||!!window.TouchEvent,Di=!window.L_NO_TOUCH&&(zi||Fi),K=Si&&cn,De=Si&&hn,Qe=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,tt=(function(){var l=!1;try{var h=Object.defineProperty({},"passive",{get:function(){l=!0}});window.addEventListener("testPassiveEventSupport",g,h),window.removeEventListener("testPassiveEventSupport",g,h)}catch{}return l})(),Gt=(function(){return!!document.createElement("canvas").getContext})(),ci=!!(document.createElementNS&&Bi("svg").createSVGRect),vt=!!ci&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),dt=!ci&&(function(){try{var l=document.createElement("div");l.innerHTML='<v:shape adj="1"/>';var h=l.firstChild;return h.style.behavior="url(#default#VML)",h&&typeof h.adj=="object"}catch{return!1}})(),Y=navigator.platform.indexOf("Mac")===0,Te=navigator.platform.indexOf("Linux")===0;function lt(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var we={ie:ye,ielt9:ti,edge:Ei,webkit:Jt,android:Vi,android23:Yi,androidStock:wn,opera:cn,chrome:gn,gecko:hn,safari:ft,phantom:Ut,opera12:Ri,win:qi,ie3d:bi,webkit3d:Wi,gecko3d:ji,any3d:Ji,mobile:Si,mobileWebkit:$i,mobileWebkit3d:ze,msPointer:qt,pointer:Fi,touch:Di,touchNative:zi,mobileOpera:K,mobileGecko:De,retina:Qe,passiveEvents:tt,canvas:Gt,svg:ci,vml:dt,inlineSvg:vt,mac:Y,linux:Te},di=we.msPointer?"MSPointerDown":"pointerdown",Lt=we.msPointer?"MSPointerMove":"pointermove",te=we.msPointer?"MSPointerUp":"pointerup",Ye=we.msPointer?"MSPointerCancel":"pointercancel",Bt={touchstart:di,touchmove:Lt,touchend:te,touchcancel:Ye},It={touchstart:ot,touchmove:Ge,touchend:Ge,touchcancel:Ge},Dt={},Be=!1;function je(l,h,x){return h==="touchstart"&&pe(),It[h]?(x=It[h].bind(this,x),l.addEventListener(Bt[h],x,!1),x):(console.warn("wrong event specified:",h),g)}function Kt(l,h,x){if(!Bt[h]){console.warn("wrong event specified:",h);return}l.removeEventListener(Bt[h],x,!1)}function ri(l){Dt[l.pointerId]=l}function hi(l){Dt[l.pointerId]&&(Dt[l.pointerId]=l)}function Xt(l){delete Dt[l.pointerId]}function pe(){Be||(document.addEventListener(di,ri,!0),document.addEventListener(Lt,hi,!0),document.addEventListener(te,Xt,!0),document.addEventListener(Ye,Xt,!0),Be=!0)}function Ge(l,h){if(h.pointerType!==(h.MSPOINTER_TYPE_MOUSE||"mouse")){h.touches=[];for(var x in Dt)h.touches.push(Dt[x]);h.changedTouches=[h],l(h)}}function ot(l,h){h.MSPOINTER_TYPE_TOUCH&&h.pointerType===h.MSPOINTER_TYPE_TOUCH&&pi(h),Ge(l,h)}function rt(l){var h={},x,E;for(E in l)x=l[E],h[E]=x&&x.bind?x.bind(l):x;return l=h,h.type="dblclick",h.detail=2,h.isTrusted=!1,h._simulated=!0,h}var jt=200;function Ot(l,h){l.addEventListener("dblclick",h);var x=0,E;function k(O){if(O.detail!==1){E=O.detail;return}if(!(O.pointerType==="mouse"||O.sourceCapabilities&&!O.sourceCapabilities.firesTouchEvents)){var ee=dn(O);if(!(ee.some(function(Ae){return Ae instanceof HTMLLabelElement&&Ae.attributes.for})&&!ee.some(function(Ae){return Ae instanceof HTMLInputElement||Ae instanceof HTMLSelectElement}))){var me=Date.now();me-x<=jt?(E++,E===2&&h(rt(O))):E=1,x=me}}}return l.addEventListener("click",k),{dblclick:h,simDblclick:k}}function Ci(l,h){l.removeEventListener("dblclick",h.dblclick),l.removeEventListener("click",h.simDblclick)}var P=Pt(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),N=Pt(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),$=N==="webkitTransition"||N==="OTransition"?N+"End":"transitionend";function oe(l){return typeof l=="string"?document.getElementById(l):l}function ne(l,h){var x=l.style[h]||l.currentStyle&&l.currentStyle[h];if((!x||x==="auto")&&document.defaultView){var E=document.defaultView.getComputedStyle(l,null);x=E?E[h]:null}return x==="auto"?null:x}function ie(l,h,x){var E=document.createElement(l);return E.className=h||"",x&&x.appendChild(E),E}function ae(l){var h=l.parentNode;h&&h.removeChild(l)}function Je(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function Le(l){var h=l.parentNode;h&&h.lastChild!==l&&h.appendChild(l)}function _e(l){var h=l.parentNode;h&&h.firstChild!==l&&h.insertBefore(l,h.firstChild)}function Ze(l,h){if(l.classList!==void 0)return l.classList.contains(h);var x=Z(l);return x.length>0&&new RegExp("(^|\\s)"+h+"(\\s|$)").test(x)}function Me(l,h){if(l.classList!==void 0)for(var x=b(h),E=0,k=x.length;E<k;E++)l.classList.add(x[E]);else if(!Ze(l,h)){var O=Z(l);Zt(l,(O?O+" ":"")+h)}}function ct(l,h){l.classList!==void 0?l.classList.remove(h):Zt(l,C((" "+Z(l)+" ").replace(" "+h+" "," ")))}function Zt(l,h){l.className.baseVal===void 0?l.className=h:l.className.baseVal=h}function Z(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function le(l,h){"opacity"in l.style?l.style.opacity=h:"filter"in l.style&&$e(l,h)}function $e(l,h){var x=!1,E="DXImageTransform.Microsoft.Alpha";try{x=l.filters.item(E)}catch{if(h===1)return}h=Math.round(h*100),x?(x.Enabled=h!==100,x.Opacity=h):l.style.filter+=" progid:"+E+"(opacity="+h+")"}function Pt(l){for(var h=document.documentElement.style,x=0;x<l.length;x++)if(l[x]in h)return l[x];return!1}function Ee(l,h,x){var E=h||new xe(0,0);l.style[P]=(we.ie3d?"translate("+E.x+"px,"+E.y+"px)":"translate3d("+E.x+"px,"+E.y+"px,0)")+(x?" scale("+x+")":"")}function We(l,h){l._leaflet_pos=h,we.any3d?Ee(l,h):(l.style.left=h.x+"px",l.style.top=h.y+"px")}function wt(l){return l._leaflet_pos||new xe(0,0)}var gt,Ie,ge;if("onselectstart"in document)gt=function(){bt(window,"selectstart",pi)},Ie=function(){Ai(window,"selectstart",pi)};else{var Re=Pt(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);gt=function(){if(Re){var l=document.documentElement.style;ge=l[Re],l[Re]="none"}},Ie=function(){Re&&(document.documentElement.style[Re]=ge,ge=void 0)}}function Ne(){bt(window,"dragstart",pi)}function it(){Ai(window,"dragstart",pi)}var at,Oe;function ut(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(fe(),at=l,Oe=l.style.outlineStyle,l.style.outlineStyle="none",bt(window,"keydown",fe))}function fe(){at&&(at.style.outlineStyle=Oe,at=void 0,Oe=void 0,Ai(window,"keydown",fe))}function Ve(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function Ct(l){var h=l.getBoundingClientRect();return{x:h.width/l.offsetWidth||1,y:h.height/l.offsetHeight||1,boundingClientRect:h}}var Wt={__proto__:null,TRANSFORM:P,TRANSITION:N,TRANSITION_END:$,get:oe,getStyle:ne,create:ie,remove:ae,empty:Je,toFront:Le,toBack:_e,hasClass:Ze,addClass:Me,removeClass:ct,setClass:Zt,getClass:Z,setOpacity:le,testProp:Pt,setTransform:Ee,setPosition:We,getPosition:wt,get disableTextSelection(){return gt},get enableTextSelection(){return Ie},disableImageDrag:Ne,enableImageDrag:it,preventOutline:ut,restoreOutline:fe,getSizedParentNode:Ve,getScale:Ct};function bt(l,h,x,E){if(h&&typeof h=="object")for(var k in h)ai(l,k,h[k],x);else{h=b(h);for(var O=0,ee=h.length;O<ee;O++)ai(l,h[O],x,E)}return this}var gi="_leaflet_events";function Ai(l,h,x,E){if(arguments.length===1)Xi(l),delete l[gi];else if(h&&typeof h=="object")for(var k in h)zt(l,k,h[k],x);else if(h=b(h),arguments.length===2)Xi(l,function(me){return R(h,me)!==-1});else for(var O=0,ee=h.length;O<ee;O++)zt(l,h[O],x,E);return this}function Xi(l,h){for(var x in l[gi]){var E=x.split(/\d/)[0];(!h||h(E))&&zt(l,E,null,null,x)}}var yi={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function ai(l,h,x,E){var k=h+d(x)+(E?"_"+d(E):"");if(l[gi]&&l[gi][k])return this;var O=function(me){return x.call(E||l,me||window.event)},ee=O;!we.touchNative&&we.pointer&&h.indexOf("touch")===0?O=je(l,h,O):we.touch&&h==="dblclick"?O=Ot(l,O):"addEventListener"in l?h==="touchstart"||h==="touchmove"||h==="wheel"||h==="mousewheel"?l.addEventListener(yi[h]||h,O,we.passiveEvents?{passive:!1}:!1):h==="mouseenter"||h==="mouseleave"?(O=function(me){me=me||window.event,Gn(l,me)&&ee(me)},l.addEventListener(yi[h],O,!1)):l.addEventListener(h,ee,!1):l.attachEvent("on"+h,O),l[gi]=l[gi]||{},l[gi][k]=O}function zt(l,h,x,E,k){k=k||h+d(x)+(E?"_"+d(E):"");var O=l[gi]&&l[gi][k];if(!O)return this;!we.touchNative&&we.pointer&&h.indexOf("touch")===0?Kt(l,h,O):we.touch&&h==="dblclick"?Ci(l,O):"removeEventListener"in l?l.removeEventListener(yi[h]||h,O,!1):l.detachEvent("on"+h,O),l[gi][k]=null}function At(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function Ht(l){return ai(l,"wheel",At),this}function ii(l){return bt(l,"mousedown touchstart dblclick contextmenu",At),l._leaflet_disable_click=!0,this}function pi(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function tn(l){return pi(l),At(l),this}function dn(l){if(l.composedPath)return l.composedPath();for(var h=[],x=l.target;x;)h.push(x),x=x.parentNode;return h}function In(l,h){if(!h)return new xe(l.clientX,l.clientY);var x=Ct(h),E=x.boundingClientRect;return new xe((l.clientX-E.left)/x.x-h.clientLeft,(l.clientY-E.top)/x.y-h.clientTop)}var Ni=we.linux&&we.chrome?window.devicePixelRatio:we.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function An(l){return we.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/Ni: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 Gn(l,h){var x=h.relatedTarget;if(!x)return!0;try{for(;x&&x!==l;)x=x.parentNode}catch{return!1}return x!==l}var Pn={__proto__:null,on:bt,off:Ai,stopPropagation:At,disableScrollPropagation:Ht,disableClickPropagation:ii,preventDefault:pi,stop:tn,getPropagationPath:dn,getMousePosition:In,getWheelDelta:An,isExternalTarget:Gn,addListener:bt,removeListener:Ai},Jn=Pe.extend({run:function(l,h,x,E){this.stop(),this._el=l,this._inProgress=!0,this._duration=x||.25,this._easeOutPower=1/Math.max(E||.5,.2),this._startPos=wt(l),this._offset=h.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=J(this._animate,this),this._step()},_step:function(l){var h=+new Date-this._startTime,x=this._duration*1e3;h<x?this._runFrame(this._easeOut(h/x),l):(this._runFrame(1),this._complete())},_runFrame:function(l,h){var x=this._startPos.add(this._offset.multiplyBy(l));h&&x._round(),We(this._el,x),this.fire("step")},_complete:function(){ue(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),Oi=Pe.extend({options:{crs:fi,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(l,h){h=y(this,h),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(l),this._initLayout(),this._onResize=r(this._onResize,this),this._initEvents(),h.maxBounds&&this.setMaxBounds(h.maxBounds),h.zoom!==void 0&&(this._zoom=this._limitZoom(h.zoom)),h.center&&h.zoom!==void 0&&this.setView(Ce(h.center),h.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=N&&we.any3d&&!we.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),bt(this._proxy,$,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(l,h,x){if(h=h===void 0?this._zoom:this._limitZoom(h),l=this._limitCenter(Ce(l),h,this.options.maxBounds),x=x||{},this._stop(),this._loaded&&!x.reset&&x!==!0){x.animate!==void 0&&(x.zoom=n({animate:x.animate},x.zoom),x.pan=n({animate:x.animate,duration:x.duration},x.pan));var E=this._zoom!==h?this._tryAnimatedZoom&&this._tryAnimatedZoom(l,h,x.zoom):this._tryAnimatedPan(l,x.pan);if(E)return clearTimeout(this._sizeTimer),this}return this._resetView(l,h,x.pan&&x.pan.noMoveStart),this},setZoom:function(l,h){return this._loaded?this.setView(this.getCenter(),l,{zoom:h}):(this._zoom=l,this)},zoomIn:function(l,h){return l=l||(we.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,h)},zoomOut:function(l,h){return l=l||(we.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,h)},setZoomAround:function(l,h,x){var E=this.getZoomScale(h),k=this.getSize().divideBy(2),O=l instanceof xe?l:this.latLngToContainerPoint(l),ee=O.subtract(k).multiplyBy(1-1/E),me=this.containerPointToLatLng(k.add(ee));return this.setView(me,h,{zoom:x})},_getBoundsCenterZoom:function(l,h){h=h||{},l=l.getBounds?l.getBounds():st(l);var x=Ue(h.paddingTopLeft||h.padding||[0,0]),E=Ue(h.paddingBottomRight||h.padding||[0,0]),k=this.getBoundsZoom(l,!1,x.add(E));if(k=typeof h.maxZoom=="number"?Math.min(h.maxZoom,k):k,k===1/0)return{center:l.getCenter(),zoom:k};var O=E.subtract(x).divideBy(2),ee=this.project(l.getSouthWest(),k),me=this.project(l.getNorthEast(),k),Ae=this.unproject(ee.add(me).divideBy(2).add(O),k);return{center:Ae,zoom:k}},fitBounds:function(l,h){if(l=st(l),!l.isValid())throw new Error("Bounds are not valid.");var x=this._getBoundsCenterZoom(l,h);return this.setView(x.center,x.zoom,h)},fitWorld:function(l){return this.fitBounds([[-90,-180],[90,180]],l)},panTo:function(l,h){return this.setView(l,this._zoom,{pan:h})},panBy:function(l,h){if(l=Ue(l).round(),h=h||{},!l.x&&!l.y)return this.fire("moveend");if(h.animate!==!0&&!this.getSize().contains(l))return this._resetView(this.unproject(this.project(this.getCenter()).add(l)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new Jn,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),h.noMoveStart||this.fire("movestart"),h.animate!==!1){Me(this._mapPane,"leaflet-pan-anim");var x=this._getMapPanePos().subtract(l).round();this._panAnim.run(this._mapPane,x,h.duration||.25,h.easeLinearity)}else this._rawPanBy(l),this.fire("move").fire("moveend");return this},flyTo:function(l,h,x){if(x=x||{},x.animate===!1||!we.any3d)return this.setView(l,h,x);this._stop();var E=this.project(this.getCenter()),k=this.project(l),O=this.getSize(),ee=this._zoom;l=Ce(l),h=h===void 0?ee:h;var me=Math.max(O.x,O.y),Ae=me*this.getZoomScale(ee,h),xt=k.distanceTo(E)||1,xi=1.42,Qi=xi*xi;function wi(ks){var cd=ks?-1:1,Kb=ks?Ae:me,Zb=Ae*Ae-me*me+cd*Qi*Qi*xt*xt,Xb=2*Kb*Qi*xt,Yb=Zb/Xb,BS=Math.sqrt(Yb*Yb+1)-Yb,GF=BS<1e-9?-18:Math.log(BS);return GF}function xn(ks){return(Math.exp(ks)-Math.exp(-ks))/2}function Rn(ks){return(Math.exp(ks)+Math.exp(-ks))/2}function Cs(ks){return xn(ks)/Rn(ks)}var Os=wi(0);function $r(ks){return me*(Rn(Os)/Rn(Os+xi*ks))}function $b(ks){return me*(Rn(Os)*Cs(Os+xi*ks)-xn(Os))/Qi}function Ub(ks){return 1-Math.pow(1-ks,1.5)}var qb=Date.now(),gx=(wi(1)-Os)/xi,Gb=x.duration?1e3*x.duration:1e3*gx*.8;function mh(){var ks=(Date.now()-qb)/Gb,cd=Ub(ks)*gx;ks<=1?(this._flyToFrame=J(mh,this),this._move(this.unproject(E.add(k.subtract(E).multiplyBy($b(cd)/xt)),ee),this.getScaleZoom(me/$r(cd),ee),{flyTo:!0})):this._move(l,h)._moveEnd(!0)}return this._moveStart(!0,x.noMoveStart),mh.call(this),this},flyToBounds:function(l,h){var x=this._getBoundsCenterZoom(l,h);return this.flyTo(x.center,x.zoom,h)},setMaxBounds:function(l){return l=st(l),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),l.isValid()?(this.options.maxBounds=l,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(l){var h=this.options.minZoom;return this.options.minZoom=l,this._loaded&&h!==l&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(l):this},setMaxZoom:function(l){var h=this.options.maxZoom;return this.options.maxZoom=l,this._loaded&&h!==l&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(l):this},panInsideBounds:function(l,h){this._enforcingBounds=!0;var x=this.getCenter(),E=this._limitCenter(x,this._zoom,st(l));return x.equals(E)||this.panTo(E,h),this._enforcingBounds=!1,this},panInside:function(l,h){h=h||{};var x=Ue(h.paddingTopLeft||h.padding||[0,0]),E=Ue(h.paddingBottomRight||h.padding||[0,0]),k=this.project(this.getCenter()),O=this.project(l),ee=this.getPixelBounds(),me=mt([ee.min.add(x),ee.max.subtract(E)]),Ae=me.getSize();if(!me.contains(O)){this._enforcingBounds=!0;var xt=O.subtract(me.getCenter()),xi=me.extend(O).getSize().subtract(Ae);k.x+=xt.x<0?-xi.x:xi.x,k.y+=xt.y<0?-xi.y:xi.y,this.panTo(this.unproject(k),h),this._enforcingBounds=!1}return this},invalidateSize:function(l){if(!this._loaded)return this;l=n({animate:!1,pan:!0},l===!0?{animate:!0}:l);var h=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var x=this.getSize(),E=h.divideBy(2).round(),k=x.divideBy(2).round(),O=E.subtract(k);return!O.x&&!O.y?this:(l.animate&&l.pan?this.panBy(O):(l.pan&&this._rawPanBy(O),this.fire("move"),l.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(r(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:h,newSize:x}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(l){if(l=this._locateOptions=n({timeout:1e4,watch:!1},l),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var h=r(this._handleGeolocationResponse,this),x=r(this._handleGeolocationError,this);return l.watch?this._locationWatchId=navigator.geolocation.watchPosition(h,x,l):navigator.geolocation.getCurrentPosition(h,x,l),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(l){if(this._container._leaflet_id){var h=l.code,x=l.message||(h===1?"permission denied":h===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:h,message:"Geolocation error: "+x+"."})}},_handleGeolocationResponse:function(l){if(this._container._leaflet_id){var h=l.coords.latitude,x=l.coords.longitude,E=new yt(h,x),k=E.toBounds(l.coords.accuracy*2),O=this._locateOptions;if(O.setView){var ee=this.getBoundsZoom(k);this.setView(E,O.maxZoom?Math.min(ee,O.maxZoom):ee)}var me={latlng:E,bounds:k,timestamp:l.timestamp};for(var Ae in l.coords)typeof l.coords[Ae]=="number"&&(me[Ae]=l.coords[Ae]);this.fire("locationfound",me)}},addHandler:function(l,h){if(!h)return this;var x=this[l]=new h(this);return this._handlers.push(x),this.options[l]&&x.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),ae(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(ue(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)ae(this._panes[l]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(l,h){var x="leaflet-pane"+(l?" leaflet-"+l.replace("Pane","")+"-pane":""),E=ie("div",x,h||this._mapPane);return l&&(this._panes[l]=E),E},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var l=this.getPixelBounds(),h=this.unproject(l.getBottomLeft()),x=this.unproject(l.getTopRight());return new Mt(h,x)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(l,h,x){l=st(l),x=Ue(x||[0,0]);var E=this.getZoom()||0,k=this.getMinZoom(),O=this.getMaxZoom(),ee=l.getNorthWest(),me=l.getSouthEast(),Ae=this.getSize().subtract(x),xt=mt(this.project(me,E),this.project(ee,E)).getSize(),xi=we.any3d?this.options.zoomSnap:1,Qi=Ae.x/xt.x,wi=Ae.y/xt.y,xn=h?Math.max(Qi,wi):Math.min(Qi,wi);return E=this.getScaleZoom(xn,E),xi&&(E=Math.round(E/(xi/100))*(xi/100),E=h?Math.ceil(E/xi)*xi:Math.floor(E/xi)*xi),Math.max(k,Math.min(O,E))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new xe(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(l,h){var x=this._getTopLeftPoint(l,h);return new ve(x,x.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(l){return this.options.crs.getProjectedBounds(l===void 0?this.getZoom():l)},getPane:function(l){return typeof l=="string"?this._panes[l]:l},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(l,h){var x=this.options.crs;return h=h===void 0?this._zoom:h,x.scale(l)/x.scale(h)},getScaleZoom:function(l,h){var x=this.options.crs;h=h===void 0?this._zoom:h;var E=x.zoom(l*x.scale(h));return isNaN(E)?1/0:E},project:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.latLngToPoint(Ce(l),h)},unproject:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.pointToLatLng(Ue(l),h)},layerPointToLatLng:function(l){var h=Ue(l).add(this.getPixelOrigin());return this.unproject(h)},latLngToLayerPoint:function(l){var h=this.project(Ce(l))._round();return h._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(Ce(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(st(l))},distance:function(l,h){return this.options.crs.distance(Ce(l),Ce(h))},containerPointToLayerPoint:function(l){return Ue(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return Ue(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var h=this.containerPointToLayerPoint(Ue(l));return this.layerPointToLatLng(h)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Ce(l)))},mouseEventToContainerPoint:function(l){return In(l,this._container)},mouseEventToLayerPoint:function(l){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(l))},mouseEventToLatLng:function(l){return this.layerPointToLatLng(this.mouseEventToLayerPoint(l))},_initContainer:function(l){var h=this._container=oe(l);if(h){if(h._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");bt(h,"scroll",this._onScroll,this),this._containerId=d(h)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&we.any3d,Me(l,"leaflet-container"+(we.touch?" leaflet-touch":"")+(we.retina?" leaflet-retina":"")+(we.ielt9?" leaflet-oldie":"")+(we.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var h=ne(l,"position");h!=="absolute"&&h!=="relative"&&h!=="fixed"&&h!=="sticky"&&(l.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var l=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),We(this._mapPane,new xe(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Me(l.markerPane,"leaflet-zoom-hide"),Me(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,h,x){We(this._mapPane,new xe(0,0));var E=!this._loaded;this._loaded=!0,h=this._limitZoom(h),this.fire("viewprereset");var k=this._zoom!==h;this._moveStart(k,x)._move(l,h)._moveEnd(k),this.fire("viewreset"),E&&this.fire("load")},_moveStart:function(l,h){return l&&this.fire("zoomstart"),h||this.fire("movestart"),this},_move:function(l,h,x,E){h===void 0&&(h=this._zoom);var k=this._zoom!==h;return this._zoom=h,this._lastCenter=l,this._pixelOrigin=this._getNewPixelOrigin(l),E?x&&x.pinch&&this.fire("zoom",x):((k||x&&x.pinch)&&this.fire("zoom",x),this.fire("move",x)),this},_moveEnd:function(l){return l&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return ue(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){We(this._mapPane,this._getMapPanePos().subtract(l))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(l){this._targets={},this._targets[d(this._container)]=this;var h=l?Ai:bt;h(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&h(window,"resize",this._onResize,this),we.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){ue(this._resizeRequest),this._resizeRequest=J(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var l=this._getMapPanePos();Math.max(Math.abs(l.x),Math.abs(l.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(l,h){for(var x=[],E,k=h==="mouseout"||h==="mouseover",O=l.target||l.srcElement,ee=!1;O;){if(E=this._targets[d(O)],E&&(h==="click"||h==="preclick")&&this._draggableMoved(E)){ee=!0;break}if(E&&E.listens(h,!0)&&(k&&!Gn(O,l)||(x.push(E),k))||O===this._container)break;O=O.parentNode}return!x.length&&!ee&&!k&&this.listens(h,!0)&&(x=[this]),x},_isClickDisabled:function(l){for(;l&&l!==this._container;){if(l._leaflet_disable_click)return!0;l=l.parentNode}},_handleDOMEvent:function(l){var h=l.target||l.srcElement;if(!(!this._loaded||h._leaflet_disable_events||l.type==="click"&&this._isClickDisabled(h))){var x=l.type;x==="mousedown"&&ut(h),this._fireDOMEvent(l,x)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(l,h,x){if(l.type==="click"){var E=n({},l);E.type="preclick",this._fireDOMEvent(E,E.type,x)}var k=this._findEventTargets(l,h);if(x){for(var O=[],ee=0;ee<x.length;ee++)x[ee].listens(h,!0)&&O.push(x[ee]);k=O.concat(k)}if(k.length){h==="contextmenu"&&pi(l);var me=k[0],Ae={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var xt=me.getLatLng&&(!me._radius||me._radius<=10);Ae.containerPoint=xt?this.latLngToContainerPoint(me.getLatLng()):this.mouseEventToContainerPoint(l),Ae.layerPoint=this.containerPointToLayerPoint(Ae.containerPoint),Ae.latlng=xt?me.getLatLng():this.layerPointToLatLng(Ae.layerPoint)}for(ee=0;ee<k.length;ee++)if(k[ee].fire(h,Ae,!0),Ae.originalEvent._stopped||k[ee].options.bubblingMouseEvents===!1&&R(this._mouseEvents,h)!==-1)return}},_draggableMoved:function(l){return l=l.dragging&&l.dragging.enabled()?l:this,l.dragging&&l.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var l=0,h=this._handlers.length;l<h;l++)this._handlers[l].disable()},whenReady:function(l,h){return this._loaded?l.call(h||this,{target:this}):this.on("load",l,h),this},_getMapPanePos:function(){return wt(this._mapPane)||new xe(0,0)},_moved:function(){var l=this._getMapPanePos();return l&&!l.equals([0,0])},_getTopLeftPoint:function(l,h){var x=l&&h!==void 0?this._getNewPixelOrigin(l,h):this.getPixelOrigin();return x.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(l,h){var x=this.getSize()._divideBy(2);return this.project(l,h)._subtract(x)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(l,h,x){var E=this._getNewPixelOrigin(x,h);return this.project(l,h)._subtract(E)},_latLngBoundsToNewLayerBounds:function(l,h,x){var E=this._getNewPixelOrigin(x,h);return mt([this.project(l.getSouthWest(),h)._subtract(E),this.project(l.getNorthWest(),h)._subtract(E),this.project(l.getSouthEast(),h)._subtract(E),this.project(l.getNorthEast(),h)._subtract(E)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(l){return this.latLngToLayerPoint(l).subtract(this._getCenterLayerPoint())},_limitCenter:function(l,h,x){if(!x)return l;var E=this.project(l,h),k=this.getSize().divideBy(2),O=new ve(E.subtract(k),E.add(k)),ee=this._getBoundsOffset(O,x,h);return Math.abs(ee.x)<=1&&Math.abs(ee.y)<=1?l:this.unproject(E.add(ee),h)},_limitOffset:function(l,h){if(!h)return l;var x=this.getPixelBounds(),E=new ve(x.min.add(l),x.max.add(l));return l.add(this._getBoundsOffset(E,h))},_getBoundsOffset:function(l,h,x){var E=mt(this.project(h.getNorthEast(),x),this.project(h.getSouthWest(),x)),k=E.min.subtract(l.min),O=E.max.subtract(l.max),ee=this._rebound(k.x,-O.x),me=this._rebound(k.y,-O.y);return new xe(ee,me)},_rebound:function(l,h){return l+h>0?Math.round(l-h)/2:Math.max(0,Math.ceil(l))-Math.max(0,Math.floor(h))},_limitZoom:function(l){var h=this.getMinZoom(),x=this.getMaxZoom(),E=we.any3d?this.options.zoomSnap:1;return E&&(l=Math.round(l/E)*E),Math.max(h,Math.min(x,l))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){ct(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(l,h){var x=this._getCenterOffset(l)._trunc();return(h&&h.animate)!==!0&&!this.getSize().contains(x)?!1:(this.panBy(x,h),!0)},_createAnimProxy:function(){var l=this._proxy=ie("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(h){var x=P,E=this._proxy.style[x];Ee(this._proxy,this.project(h.center,h.zoom),this.getZoomScale(h.zoom,1)),E===this._proxy.style[x]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){ae(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),h=this.getZoom();Ee(this._proxy,this.project(l,h),this.getZoomScale(h,1))},_catchTransitionEnd:function(l){this._animatingZoom&&l.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(l,h,x){if(this._animatingZoom)return!0;if(x=x||{},!this._zoomAnimated||x.animate===!1||this._nothingToAnimate()||Math.abs(h-this._zoom)>this.options.zoomAnimationThreshold)return!1;var E=this.getZoomScale(h),k=this._getCenterOffset(l)._divideBy(1-1/E);return x.animate!==!0&&!this.getSize().contains(k)?!1:(J(function(){this._moveStart(!0,x.noMoveStart||!1)._animateZoom(l,h,!0)},this),!0)},_animateZoom:function(l,h,x,E){this._mapPane&&(x&&(this._animatingZoom=!0,this._animateToCenter=l,this._animateToZoom=h,Me(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:l,zoom:h,noUpdate:E}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(r(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&ct(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 Gs(l,h){return new Oi(l,h)}var On=re.extend({options:{position:"topright"},initialize:function(l){y(this,l)},getPosition:function(){return this.options.position},setPosition:function(l){var h=this._map;return h&&h.removeControl(this),this.options.position=l,h&&h.addControl(this),this},getContainer:function(){return this._container},addTo:function(l){this.remove(),this._map=l;var h=this._container=this.onAdd(l),x=this.getPosition(),E=l._controlCorners[x];return Me(h,"leaflet-control"),x.indexOf("bottom")!==-1?E.insertBefore(h,E.firstChild):E.appendChild(h),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(ae(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()}}),es=function(l){return new On(l)};Oi.include({addControl:function(l){return l.addTo(this),this},removeControl:function(l){return l.remove(),this},_initControlPos:function(){var l=this._controlCorners={},h="leaflet-",x=this._controlContainer=ie("div",h+"control-container",this._container);function E(k,O){var ee=h+k+" "+h+O;l[k+O]=ie("div",ee,x)}E("top","left"),E("top","right"),E("bottom","left"),E("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)ae(this._controlCorners[l]);ae(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ms=On.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(l,h,x,E){return x<E?-1:E<x?1:0}},initialize:function(l,h,x){y(this,x),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var E in l)this._addLayer(l[E],E);for(E in h)this._addLayer(h[E],E,!0)},onAdd:function(l){this._initLayout(),this._update(),this._map=l,l.on("zoomend",this._checkDisabledLayers,this);for(var h=0;h<this._layers.length;h++)this._layers[h].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(l){return On.prototype.addTo.call(this,l),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var l=0;l<this._layers.length;l++)this._layers[l].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(l,h){return this._addLayer(l,h),this._map?this._update():this},addOverlay:function(l,h){return this._addLayer(l,h,!0),this._map?this._update():this},removeLayer:function(l){l.off("add remove",this._onLayerChange,this);var h=this._getLayer(d(l));return h&&this._layers.splice(this._layers.indexOf(h),1),this._map?this._update():this},expand:function(){Me(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var l=this._map.getSize().y-(this._container.offsetTop+50);return l<this._section.clientHeight?(Me(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):ct(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return ct(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",h=this._container=ie("div",l),x=this.options.collapsed;h.setAttribute("aria-haspopup",!0),ii(h),Ht(h);var E=this._section=ie("section",l+"-list");x&&(this._map.on("click",this.collapse,this),bt(h,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var k=this._layersLink=ie("a",l+"-toggle",h);k.href="#",k.title="Layers",k.setAttribute("role","button"),bt(k,{keydown:function(O){O.keyCode===13&&this._expandSafely()},click:function(O){pi(O),this._expandSafely()}},this),x||this.expand(),this._baseLayersList=ie("div",l+"-base",E),this._separator=ie("div",l+"-separator",E),this._overlaysList=ie("div",l+"-overlays",E),h.appendChild(E)},_getLayer:function(l){for(var h=0;h<this._layers.length;h++)if(this._layers[h]&&d(this._layers[h].layer)===l)return this._layers[h]},_addLayer:function(l,h,x){this._map&&l.on("add remove",this._onLayerChange,this),this._layers.push({layer:l,name:h,overlay:x}),this.options.sortLayers&&this._layers.sort(r(function(E,k){return this.options.sortFunction(E.layer,k.layer,E.name,k.name)},this)),this.options.autoZIndex&&l.setZIndex&&(this._lastZIndex++,l.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;Je(this._baseLayersList),Je(this._overlaysList),this._layerControlInputs=[];var l,h,x,E,k=0;for(x=0;x<this._layers.length;x++)E=this._layers[x],this._addItem(E),h=h||E.overlay,l=l||!E.overlay,k+=E.overlay?0:1;return this.options.hideSingleBase&&(l=l&&k>1,this._baseLayersList.style.display=l?"":"none"),this._separator.style.display=h&&l?"":"none",this},_onLayerChange:function(l){this._handlingClick||this._update();var h=this._getLayer(d(l.target)),x=h.overlay?l.type==="add"?"overlayadd":"overlayremove":l.type==="add"?"baselayerchange":null;x&&this._map.fire(x,h)},_createRadioElement:function(l,h){var x='<input type="radio" class="leaflet-control-layers-selector" name="'+l+'"'+(h?' checked="checked"':"")+"/>",E=document.createElement("div");return E.innerHTML=x,E.firstChild},_addItem:function(l){var h=document.createElement("label"),x=this._map.hasLayer(l.layer),E;l.overlay?(E=document.createElement("input"),E.type="checkbox",E.className="leaflet-control-layers-selector",E.defaultChecked=x):E=this._createRadioElement("leaflet-base-layers_"+d(this),x),this._layerControlInputs.push(E),E.layerId=d(l.layer),bt(E,"click",this._onInputClick,this);var k=document.createElement("span");k.innerHTML=" "+l.name;var O=document.createElement("span");h.appendChild(O),O.appendChild(E),O.appendChild(k);var ee=l.overlay?this._overlaysList:this._baseLayersList;return ee.appendChild(h),this._checkDisabledLayers(),h},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,h,x,E=[],k=[];this._handlingClick=!0;for(var O=l.length-1;O>=0;O--)h=l[O],x=this._getLayer(h.layerId).layer,h.checked?E.push(x):h.checked||k.push(x);for(O=0;O<k.length;O++)this._map.hasLayer(k[O])&&this._map.removeLayer(k[O]);for(O=0;O<E.length;O++)this._map.hasLayer(E[O])||this._map.addLayer(E[O]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var l=this._layerControlInputs,h,x,E=this._map.getZoom(),k=l.length-1;k>=0;k--)h=l[k],x=this._getLayer(h.layerId).layer,h.disabled=x.options.minZoom!==void 0&&E<x.options.minZoom||x.options.maxZoom!==void 0&&E>x.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var l=this._section;this._preventClick=!0,bt(l,"click",pi),this.expand();var h=this;setTimeout(function(){Ai(l,"click",pi),h._preventClick=!1})}}),tr=function(l,h,x){return new Ms(l,h,x)},zr=On.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">−</span>',zoomOutTitle:"Zoom out"},onAdd:function(l){var h="leaflet-control-zoom",x=ie("div",h+" leaflet-bar"),E=this.options;return this._zoomInButton=this._createButton(E.zoomInText,E.zoomInTitle,h+"-in",x,this._zoomIn),this._zoomOutButton=this._createButton(E.zoomOutText,E.zoomOutTitle,h+"-out",x,this._zoomOut),this._updateDisabled(),l.on("zoomend zoomlevelschange",this._updateDisabled,this),x},onRemove:function(l){l.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(l){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(l.shiftKey?3:1))},_zoomOut:function(l){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(l.shiftKey?3:1))},_createButton:function(l,h,x,E,k){var O=ie("a",x,E);return O.innerHTML=l,O.href="#",O.title=h,O.setAttribute("role","button"),O.setAttribute("aria-label",h),ii(O),bt(O,"click",tn),bt(O,"click",k,this),bt(O,"click",this._refocusOnMap,this),O},_updateDisabled:function(){var l=this._map,h="leaflet-disabled";ct(this._zoomInButton,h),ct(this._zoomOutButton,h),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(Me(this._zoomOutButton,h),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(Me(this._zoomInButton,h),this._zoomInButton.setAttribute("aria-disabled","true"))}});Oi.mergeOptions({zoomControl:!0}),Oi.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new zr,this.addControl(this.zoomControl))});var Xa=function(l){return new zr(l)},zl=On.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var h="leaflet-control-scale",x=ie("div",h),E=this.options;return this._addScales(E,h+"-line",x),l.on(E.updateWhenIdle?"moveend":"move",this._update,this),l.whenReady(this._update,this),x},onRemove:function(l){l.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(l,h,x){l.metric&&(this._mScale=ie("div",h,x)),l.imperial&&(this._iScale=ie("div",h,x))},_update:function(){var l=this._map,h=l.getSize().y/2,x=l.distance(l.containerPointToLatLng([0,h]),l.containerPointToLatLng([this.options.maxWidth,h]));this._updateScales(x)},_updateScales:function(l){this.options.metric&&l&&this._updateMetric(l),this.options.imperial&&l&&this._updateImperial(l)},_updateMetric:function(l){var h=this._getRoundNum(l),x=h<1e3?h+" m":h/1e3+" km";this._updateScale(this._mScale,x,h/l)},_updateImperial:function(l){var h=l*3.2808399,x,E,k;h>5280?(x=h/5280,E=this._getRoundNum(x),this._updateScale(this._iScale,E+" mi",E/x)):(k=this._getRoundNum(h),this._updateScale(this._iScale,k+" ft",k/h))},_updateScale:function(l,h,x){l.style.width=Math.round(this.options.maxWidth*x)+"px",l.innerHTML=h},_getRoundNum:function(l){var h=Math.pow(10,(Math.floor(l)+"").length-1),x=l/h;return x=x>=10?10:x>=5?5:x>=3?3:x>=2?2:1,h*x}}),pr=function(l){return new zl(l)},Vr='<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>',Qc=On.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(we.inlineSvg?Vr+" ":"")+"Leaflet</a>"},initialize:function(l){y(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=ie("div","leaflet-control-attribution"),ii(this._container);for(var h in l._layers)l._layers[h].getAttribution&&this.addAttribution(l._layers[h].getAttribution());return this._update(),l.on("layeradd",this._addAttribution,this),this._container},onRemove:function(l){l.off("layeradd",this._addAttribution,this)},_addAttribution:function(l){l.layer.getAttribution&&(this.addAttribution(l.layer.getAttribution()),l.layer.once("remove",function(){this.removeAttribution(l.layer.getAttribution())},this))},setPrefix:function(l){return this.options.prefix=l,this._update(),this},addAttribution:function(l){return l?(this._attributions[l]||(this._attributions[l]=0),this._attributions[l]++,this._update(),this):this},removeAttribution:function(l){return l?(this._attributions[l]&&(this._attributions[l]--,this._update()),this):this},_update:function(){if(this._map){var l=[];for(var h in this._attributions)this._attributions[h]&&l.push(h);var x=[];this.options.prefix&&x.push(this.options.prefix),l.length&&x.push(l.join(", ")),this._container.innerHTML=x.join(' <span aria-hidden="true">|</span> ')}}});Oi.mergeOptions({attributionControl:!0}),Oi.addInitHook(function(){this.options.attributionControl&&new Qc().addTo(this)});var Ls=function(l){return new Qc(l)};On.Layers=Ms,On.Zoom=zr,On.Scale=zl,On.Attribution=Qc,es.layers=tr,es.zoom=Xa,es.scale=pr,es.attribution=Ls;var ao=re.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}});ao.addTo=function(l,h){return l.addHandler(h,this),this};var ah={Events:ke},Vl=we.touch?"touchstart mousedown":"mousedown",ir=Pe.extend({options:{clickTolerance:3},initialize:function(l,h,x,E){y(this,E),this._element=l,this._dragStartTarget=h||l,this._preventOutline=x},enable:function(){this._enabled||(bt(this._dragStartTarget,Vl,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ir._dragging===this&&this.finishDrag(!0),Ai(this._dragStartTarget,Vl,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!Ze(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){ir._dragging===this&&this.finishDrag();return}if(!(ir._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(ir._dragging=this,this._preventOutline&&ut(this._element),Ne(),gt(),!this._moving)){this.fire("down");var h=l.touches?l.touches[0]:l,x=Ve(this._element);this._startPoint=new xe(h.clientX,h.clientY),this._startPos=wt(this._element),this._parentScale=Ct(x);var E=l.type==="mousedown";bt(document,E?"mousemove":"touchmove",this._onMove,this),bt(document,E?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(l){if(this._enabled){if(l.touches&&l.touches.length>1){this._moved=!0;return}var h=l.touches&&l.touches.length===1?l.touches[0]:l,x=new xe(h.clientX,h.clientY)._subtract(this._startPoint);!x.x&&!x.y||Math.abs(x.x)+Math.abs(x.y)<this.options.clickTolerance||(x.x/=this._parentScale.x,x.y/=this._parentScale.y,pi(l),this._moved||(this.fire("dragstart"),this._moved=!0,Me(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),Me(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(x),this._moving=!0,this._lastEvent=l,this._updatePosition())}},_updatePosition:function(){var l={originalEvent:this._lastEvent};this.fire("predrag",l),We(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){ct(document.body,"leaflet-dragging"),this._lastTarget&&(ct(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Ai(document,"mousemove touchmove",this._onMove,this),Ai(document,"mouseup touchend touchcancel",this._onUp,this),it(),Ie();var h=this._moved&&this._moving;this._moving=!1,ir._dragging=!1,h&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function Jc(l,h,x){var E,k=[1,4,2,8],O,ee,me,Ae,xt,xi,Qi,wi;for(O=0,xi=l.length;O<xi;O++)l[O]._code=Qa(l[O],h);for(me=0;me<4;me++){for(Qi=k[me],E=[],O=0,xi=l.length,ee=xi-1;O<xi;ee=O++)Ae=l[O],xt=l[ee],Ae._code&Qi?xt._code&Qi||(wi=Ul(xt,Ae,Qi,h,x),wi._code=Qa(wi,h),E.push(wi)):(xt._code&Qi&&(wi=Ul(xt,Ae,Qi,h,x),wi._code=Qa(wi,h),E.push(wi)),E.push(Ae));l=E}return l}function jl(l,h){var x,E,k,O,ee,me,Ae,xt,xi;if(!l||l.length===0)throw new Error("latlngs not passed");Bo(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Qi=Ce([0,0]),wi=st(l),xn=wi.getNorthWest().distanceTo(wi.getSouthWest())*wi.getNorthEast().distanceTo(wi.getNorthWest());xn<1700&&(Qi=Ya(l));var Rn=l.length,Cs=[];for(x=0;x<Rn;x++){var Os=Ce(l[x]);Cs.push(h.project(Ce([Os.lat-Qi.lat,Os.lng-Qi.lng])))}for(me=Ae=xt=0,x=0,E=Rn-1;x<Rn;E=x++)k=Cs[x],O=Cs[E],ee=k.y*O.x-O.y*k.x,Ae+=(k.x+O.x)*ee,xt+=(k.y+O.y)*ee,me+=ee*3;me===0?xi=Cs[0]:xi=[Ae/me,xt/me];var $r=h.unproject(Ue(xi));return Ce([$r.lat+Qi.lat,$r.lng+Qi.lng])}function Ya(l){for(var h=0,x=0,E=0,k=0;k<l.length;k++){var O=Ce(l[k]);h+=O.lat,x+=O.lng,E++}return Ce([h/E,x/E])}var Cf={__proto__:null,clipPolygon:Jc,polygonCenter:jl,centroid:Ya};function ed(l,h){if(!h||!l.length)return l.slice();var x=h*h;return l=pa(l,x),l=id(l,x),l}function lh(l,h,x){return Math.sqrt(nd(l,h,x,!0))}function td(l,h,x){return nd(l,h,x)}function id(l,h){var x=l.length,E=typeof Uint8Array<"u"?Uint8Array:Array,k=new E(x);k[0]=k[x-1]=1,$l(l,k,h,0,x-1);var O,ee=[];for(O=0;O<x;O++)k[O]&&ee.push(l[O]);return ee}function $l(l,h,x,E,k){var O=0,ee,me,Ae;for(me=E+1;me<=k-1;me++)Ae=nd(l[me],l[E],l[k],!0),Ae>O&&(ee=me,O=Ae);O>x&&(h[ee]=1,$l(l,h,x,E,ee),$l(l,h,x,ee,k))}function pa(l,h){for(var x=[l[0]],E=1,k=0,O=l.length;E<O;E++)tx(l[E],l[k])>h&&(x.push(l[E]),k=E);return k<O-1&&x.push(l[O-1]),x}var Ef;function yf(l,h,x,E,k){var O=E?Ef:Qa(l,x),ee=Qa(h,x),me,Ae,xt;for(Ef=ee;;){if(!(O|ee))return[l,h];if(O&ee)return!1;me=O||ee,Ae=Ul(l,h,me,x,k),xt=Qa(Ae,x),me===O?(l=Ae,O=xt):(h=Ae,ee=xt)}}function Ul(l,h,x,E,k){var O=h.x-l.x,ee=h.y-l.y,me=E.min,Ae=E.max,xt,xi;return x&8?(xt=l.x+O*(Ae.y-l.y)/ee,xi=Ae.y):x&4?(xt=l.x+O*(me.y-l.y)/ee,xi=me.y):x&2?(xt=Ae.x,xi=l.y+ee*(Ae.x-l.x)/O):x&1&&(xt=me.x,xi=l.y+ee*(me.x-l.x)/O),new xe(xt,xi,k)}function Qa(l,h){var x=0;return l.x<h.min.x?x|=1:l.x>h.max.x&&(x|=2),l.y<h.min.y?x|=4:l.y>h.max.y&&(x|=8),x}function tx(l,h){var x=h.x-l.x,E=h.y-l.y;return x*x+E*E}function nd(l,h,x,E){var k=h.x,O=h.y,ee=x.x-k,me=x.y-O,Ae=ee*ee+me*me,xt;return Ae>0&&(xt=((l.x-k)*ee+(l.y-O)*me)/Ae,xt>1?(k=x.x,O=x.y):xt>0&&(k+=ee*xt,O+=me*xt)),ee=l.x-k,me=l.y-O,E?ee*ee+me*me:new xe(k,O)}function Bo(l){return!M(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function ix(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Bo(l)}function wf(l,h){var x,E,k,O,ee,me,Ae,xt;if(!l||l.length===0)throw new Error("latlngs not passed");Bo(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var xi=Ce([0,0]),Qi=st(l),wi=Qi.getNorthWest().distanceTo(Qi.getSouthWest())*Qi.getNorthEast().distanceTo(Qi.getNorthWest());wi<1700&&(xi=Ya(l));var xn=l.length,Rn=[];for(x=0;x<xn;x++){var Cs=Ce(l[x]);Rn.push(h.project(Ce([Cs.lat-xi.lat,Cs.lng-xi.lng])))}for(x=0,E=0;x<xn-1;x++)E+=Rn[x].distanceTo(Rn[x+1])/2;if(E===0)xt=Rn[0];else for(x=0,O=0;x<xn-1;x++)if(ee=Rn[x],me=Rn[x+1],k=ee.distanceTo(me),O+=k,O>E){Ae=(O-E)/k,xt=[me.x-Ae*(me.x-ee.x),me.y-Ae*(me.y-ee.y)];break}var Os=h.unproject(Ue(xt));return Ce([Os.lat+xi.lat,Os.lng+xi.lng])}var sd={__proto__:null,simplify:ed,pointToSegmentDistance:lh,closestPointOnSegment:td,clipSegment:yf,_getEdgeIntersection:Ul,_getBitCode:Qa,_sqClosestPointOnSegment:nd,isFlat:Bo,_flat:ix,polylineCenter:wf},Sf={project:function(l){return new xe(l.lng,l.lat)},unproject:function(l){return new yt(l.y,l.x)},bounds:new ve([-180,-90],[180,90])},Df={R:6378137,R_MINOR:6356752314245179e-9,bounds:new ve([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(l){var h=Math.PI/180,x=this.R,E=l.lat*h,k=this.R_MINOR/x,O=Math.sqrt(1-k*k),ee=O*Math.sin(E),me=Math.tan(Math.PI/4-E/2)/Math.pow((1-ee)/(1+ee),O/2);return E=-x*Math.log(Math.max(me,1e-10)),new xe(l.lng*h*x,E)},unproject:function(l){for(var h=180/Math.PI,x=this.R,E=this.R_MINOR/x,k=Math.sqrt(1-E*E),O=Math.exp(-l.y/x),ee=Math.PI/2-2*Math.atan(O),me=0,Ae=.1,xt;me<15&&Math.abs(Ae)>1e-7;me++)xt=k*Math.sin(ee),xt=Math.pow((1-xt)/(1+xt),k/2),Ae=Math.PI/2-2*Math.atan(O*xt)-ee,ee+=Ae;return new yt(ee*h,l.x*h/x)}},Nb={__proto__:null,LonLat:Sf,Mercator:Df,SphericalMercator:et},nx=n({},si,{code:"EPSG:3395",projection:Df,transformation:(function(){var l=.5/(Math.PI*Df.R);return Qt(l,.5,-l,.5)})()}),sx=n({},si,{code:"EPSG:4326",projection:Sf,transformation:Qt(1/180,1,-1/180,.5)}),ox=n({},Nt,{projection:Sf,transformation:Qt(1,0,-1,0),scale:function(l){return Math.pow(2,l)},zoom:function(l){return Math.log(l)/Math.LN2},distance:function(l,h){var x=h.lng-l.lng,E=h.lat-l.lat;return Math.sqrt(x*x+E*E)},infinite:!0});Nt.Earth=si,Nt.EPSG3395=nx,Nt.EPSG3857=fi,Nt.EPSG900913=oi,Nt.EPSG4326=sx,Nt.Simple=ox;var nr=Pe.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(l){return l.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(l){return l&&l.removeLayer(this),this},getPane:function(l){return this._map.getPane(l?this.options[l]||l:this.options.pane)},addInteractiveTarget:function(l){return this._map._targets[d(l)]=this,this},removeInteractiveTarget:function(l){return delete this._map._targets[d(l)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(l){var h=l.target;if(h.hasLayer(this)){if(this._map=h,this._zoomAnimated=h._zoomAnimated,this.getEvents){var x=this.getEvents();h.on(x,this),this.once("remove",function(){h.off(x,this)},this)}this.onAdd(h),this.fire("add"),h.fire("layeradd",{layer:this})}}});Oi.include({addLayer:function(l){if(!l._layerAdd)throw new Error("The provided object is not a Layer.");var h=d(l);return this._layers[h]?this:(this._layers[h]=l,l._mapToAdd=this,l.beforeAdd&&l.beforeAdd(this),this.whenReady(l._layerAdd,l),this)},removeLayer:function(l){var h=d(l);return this._layers[h]?(this._loaded&&l.onRemove(this),delete this._layers[h],this._loaded&&(this.fire("layerremove",{layer:l}),l.fire("remove")),l._map=l._mapToAdd=null,this):this},hasLayer:function(l){return d(l)in this._layers},eachLayer:function(l,h){for(var x in this._layers)l.call(h,this._layers[x]);return this},_addLayers:function(l){l=l?M(l)?l:[l]:[];for(var h=0,x=l.length;h<x;h++)this.addLayer(l[h])},_addZoomLimit:function(l){(!isNaN(l.options.maxZoom)||!isNaN(l.options.minZoom))&&(this._zoomBoundLayers[d(l)]=l,this._updateZoomLevels())},_removeZoomLimit:function(l){var h=d(l);this._zoomBoundLayers[h]&&(delete this._zoomBoundLayers[h],this._updateZoomLevels())},_updateZoomLevels:function(){var l=1/0,h=-1/0,x=this._getZoomSpan();for(var E in this._zoomBoundLayers){var k=this._zoomBoundLayers[E].options;l=k.minZoom===void 0?l:Math.min(l,k.minZoom),h=k.maxZoom===void 0?h:Math.max(h,k.maxZoom)}this._layersMaxZoom=h===-1/0?void 0:h,this._layersMinZoom=l===1/0?void 0:l,x!==this._getZoomSpan()&&this.fire("zoomlevelschange"),this.options.maxZoom===void 0&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var Ja=nr.extend({initialize:function(l,h){y(this,h),this._layers={};var x,E;if(l)for(x=0,E=l.length;x<E;x++)this.addLayer(l[x])},addLayer:function(l){var h=this.getLayerId(l);return this._layers[h]=l,this._map&&this._map.addLayer(l),this},removeLayer:function(l){var h=l in this._layers?l:this.getLayerId(l);return this._map&&this._layers[h]&&this._map.removeLayer(this._layers[h]),delete this._layers[h],this},hasLayer:function(l){var h=typeof l=="number"?l:this.getLayerId(l);return h in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(l){var h=Array.prototype.slice.call(arguments,1),x,E;for(x in this._layers)E=this._layers[x],E[l]&&E[l].apply(E,h);return this},onAdd:function(l){this.eachLayer(l.addLayer,l)},onRemove:function(l){this.eachLayer(l.removeLayer,l)},eachLayer:function(l,h){for(var x in this._layers)l.call(h,this._layers[x]);return this},getLayer:function(l){return this._layers[l]},getLayers:function(){var l=[];return this.eachLayer(l.push,l),l},setZIndex:function(l){return this.invoke("setZIndex",l)},getLayerId:function(l){return d(l)}}),rx=function(l,h){return new Ja(l,h)},jr=Ja.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),Ja.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),Ja.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 Mt;for(var h in this._layers){var x=this._layers[h];l.extend(x.getBounds?x.getBounds():x.getLatLng())}return l}}),ax=function(l,h){return new jr(l,h)},ql=re.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(l){y(this,l)},createIcon:function(l){return this._createIcon("icon",l)},createShadow:function(l){return this._createIcon("shadow",l)},_createIcon:function(l,h){var x=this._getIconUrl(l);if(!x){if(l==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var E=this._createImg(x,h&&h.tagName==="IMG"?h:null);return this._setIconStyles(E,l),(this.options.crossOrigin||this.options.crossOrigin==="")&&(E.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),E},_setIconStyles:function(l,h){var x=this.options,E=x[h+"Size"];typeof E=="number"&&(E=[E,E]);var k=Ue(E),O=Ue(h==="shadow"&&x.shadowAnchor||x.iconAnchor||k&&k.divideBy(2,!0));l.className="leaflet-marker-"+h+" "+(x.className||""),O&&(l.style.marginLeft=-O.x+"px",l.style.marginTop=-O.y+"px"),k&&(l.style.width=k.x+"px",l.style.height=k.y+"px")},_createImg:function(l,h){return h=h||document.createElement("img"),h.src=l,h},_getIconUrl:function(l){return we.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function lx(l){return new ql(l)}var Gl=ql.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 Gl.imagePath!="string"&&(Gl.imagePath=this._detectIconPath()),(this.options.imagePath||Gl.imagePath)+ql.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var h=function(x,E,k){var O=E.exec(x);return O&&O[k]};return l=h(l,/^url\((['"])?(.+)\1\)$/,2),l&&h(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=ie("div","leaflet-default-icon-path",document.body),h=ne(l,"background-image")||ne(l,"backgroundImage");if(document.body.removeChild(l),h=this._stripUrl(h),h)return h;var x=document.querySelector('link[href$="leaflet.css"]');return x?x.href.substring(0,x.href.length-11-1):""}}),od=ao.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new ir(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),Me(l,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&ct(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(l){var h=this._marker,x=h._map,E=this._marker.options.autoPanSpeed,k=this._marker.options.autoPanPadding,O=wt(h._icon),ee=x.getPixelBounds(),me=x.getPixelOrigin(),Ae=mt(ee.min._subtract(me).add(k),ee.max._subtract(me).subtract(k));if(!Ae.contains(O)){var xt=Ue((Math.max(Ae.max.x,O.x)-Ae.max.x)/(ee.max.x-Ae.max.x)-(Math.min(Ae.min.x,O.x)-Ae.min.x)/(ee.min.x-Ae.min.x),(Math.max(Ae.max.y,O.y)-Ae.max.y)/(ee.max.y-Ae.max.y)-(Math.min(Ae.min.y,O.y)-Ae.min.y)/(ee.min.y-Ae.min.y)).multiplyBy(E);x.panBy(xt,{animate:!1}),this._draggable._newPos._add(xt),this._draggable._startPos._add(xt),We(h._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=J(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&&(ue(this._panRequest),this._panRequest=J(this._adjustPan.bind(this,l)))},_onDrag:function(l){var h=this._marker,x=h._shadow,E=wt(h._icon),k=h._map.layerPointToLatLng(E);x&&We(x,E),h._latlng=k,l.latlng=k,l.oldLatLng=this._oldLatLng,h.fire("move",l).fire("drag",l)},_onDragEnd:function(l){ue(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),ch=nr.extend({options:{icon:new Gl,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(l,h){y(this,h),this._latlng=Ce(l)},onAdd:function(l){this._zoomAnimated=this._zoomAnimated&&l.options.markerZoomAnimation,this._zoomAnimated&&l.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(l){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&l.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(l){var h=this._latlng;return this._latlng=Ce(l),this.update(),this.fire("move",{oldLatLng:h,latlng:this._latlng})},setZIndexOffset:function(l){return this.options.zIndexOffset=l,this.update()},getIcon:function(){return this.options.icon},setIcon:function(l){return this.options.icon=l,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var l=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(l)}return this},_initIcon:function(){var l=this.options,h="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),x=l.icon.createIcon(this._icon),E=!1;x!==this._icon&&(this._icon&&this._removeIcon(),E=!0,l.title&&(x.title=l.title),x.tagName==="IMG"&&(x.alt=l.alt||"")),Me(x,h),l.keyboard&&(x.tabIndex="0",x.setAttribute("role","button")),this._icon=x,l.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&bt(x,"focus",this._panOnFocus,this);var k=l.icon.createShadow(this._shadow),O=!1;k!==this._shadow&&(this._removeShadow(),O=!0),k&&(Me(k,h),k.alt=""),this._shadow=k,l.opacity<1&&this._updateOpacity(),E&&this.getPane().appendChild(this._icon),this._initInteraction(),k&&O&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Ai(this._icon,"focus",this._panOnFocus,this),ae(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&ae(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&We(this._icon,l),this._shadow&&We(this._shadow,l),this._zIndex=l.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(l){this._icon&&(this._icon.style.zIndex=this._zIndex+l)},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center).round();this._setPos(h)},_initInteraction:function(){if(this.options.interactive&&(Me(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),od)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new od(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&&le(this._icon,l),this._shadow&&le(this._shadow,l)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var l=this._map;if(l){var h=this.options.icon.options,x=h.iconSize?Ue(h.iconSize):Ue(0,0),E=h.iconAnchor?Ue(h.iconAnchor):Ue(0,0);l.panInside(this._latlng,{paddingTopLeft:E,paddingBottomRight:x.subtract(E)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function cx(l,h){return new ch(l,h)}var xa=nr.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(l){this._renderer=l.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(l){return y(this,l),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&l&&Object.prototype.hasOwnProperty.call(l,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),dh=xa.extend({options:{fill:!0,radius:10},initialize:function(l,h){y(this,h),this._latlng=Ce(l),this._radius=this.options.radius},setLatLng:function(l){var h=this._latlng;return this._latlng=Ce(l),this.redraw(),this.fire("move",{oldLatLng:h,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(l){return this.options.radius=this._radius=l,this.redraw()},getRadius:function(){return this._radius},setStyle:function(l){var h=l&&l.radius||this._radius;return xa.prototype.setStyle.call(this,l),this.setRadius(h),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var l=this._radius,h=this._radiusY||l,x=this._clickTolerance(),E=[l+x,h+x];this._pxBounds=new ve(this._point.subtract(E),this._point.add(E))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(l){return l.distanceTo(this._point)<=this._radius+this._clickTolerance()}});function dx(l,h){return new dh(l,h)}var Af=dh.extend({initialize:function(l,h,x){if(typeof h=="number"&&(h=n({},x,{radius:h})),y(this,h),this._latlng=Ce(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 Mt(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:xa.prototype.setStyle,_project:function(){var l=this._latlng.lng,h=this._latlng.lat,x=this._map,E=x.options.crs;if(E.distance===si.distance){var k=Math.PI/180,O=this._mRadius/si.R/k,ee=x.project([h+O,l]),me=x.project([h-O,l]),Ae=ee.add(me).divideBy(2),xt=x.unproject(Ae).lat,xi=Math.acos((Math.cos(O*k)-Math.sin(h*k)*Math.sin(xt*k))/(Math.cos(h*k)*Math.cos(xt*k)))/k;(isNaN(xi)||xi===0)&&(xi=O/Math.cos(Math.PI/180*h)),this._point=Ae.subtract(x.getPixelOrigin()),this._radius=isNaN(xi)?0:Ae.x-x.project([xt,l-xi]).x,this._radiusY=Ae.y-ee.y}else{var Qi=E.unproject(E.project(this._latlng).subtract([this._mRadius,0]));this._point=x.latLngToLayerPoint(this._latlng),this._radius=this._point.x-x.latLngToLayerPoint(Qi).x}this._updateBounds()}});function kf(l,h,x){return new Af(l,h,x)}var xr=xa.extend({options:{smoothFactor:1,noClip:!1},initialize:function(l,h){y(this,h),this._setLatLngs(l)},getLatLngs:function(){return this._latlngs},setLatLngs:function(l){return this._setLatLngs(l),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(l){for(var h=1/0,x=null,E=nd,k,O,ee=0,me=this._parts.length;ee<me;ee++)for(var Ae=this._parts[ee],xt=1,xi=Ae.length;xt<xi;xt++){k=Ae[xt-1],O=Ae[xt];var Qi=E(l,k,O,!0);Qi<h&&(h=Qi,x=E(l,k,O))}return x&&(x.distance=Math.sqrt(h)),x},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return wf(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,h){return h=h||this._defaultShape(),l=Ce(l),h.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new Mt,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return Bo(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var h=[],x=Bo(l),E=0,k=l.length;E<k;E++)x?(h[E]=Ce(l[E]),this._bounds.extend(h[E])):h[E]=this._convertLatLngs(l[E]);return h},_project:function(){var l=new ve;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,l),this._bounds.isValid()&&l.isValid()&&(this._rawPxBounds=l,this._updateBounds())},_updateBounds:function(){var l=this._clickTolerance(),h=new xe(l,l);this._rawPxBounds&&(this._pxBounds=new ve([this._rawPxBounds.min.subtract(h),this._rawPxBounds.max.add(h)]))},_projectLatlngs:function(l,h,x){var E=l[0]instanceof yt,k=l.length,O,ee;if(E){for(ee=[],O=0;O<k;O++)ee[O]=this._map.latLngToLayerPoint(l[O]),x.extend(ee[O]);h.push(ee)}else for(O=0;O<k;O++)this._projectLatlngs(l[O],h,x)},_clipPoints:function(){var l=this._renderer._bounds;if(this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}var h=this._parts,x,E,k,O,ee,me,Ae;for(x=0,k=0,O=this._rings.length;x<O;x++)for(Ae=this._rings[x],E=0,ee=Ae.length;E<ee-1;E++)me=yf(Ae[E],Ae[E+1],l,E,!0),me&&(h[k]=h[k]||[],h[k].push(me[0]),(me[1]!==Ae[E+1]||E===ee-2)&&(h[k].push(me[1]),k++))}},_simplifyPoints:function(){for(var l=this._parts,h=this.options.smoothFactor,x=0,E=l.length;x<E;x++)l[x]=ed(l[x],h)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(l,h){var x,E,k,O,ee,me,Ae=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(x=0,O=this._parts.length;x<O;x++)for(me=this._parts[x],E=0,ee=me.length,k=ee-1;E<ee;k=E++)if(!(!h&&E===0)&&lh(l,me[k],me[E])<=Ae)return!0;return!1}});function Ob(l,h){return new xr(l,h)}xr._flat=ix;var el=xr.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 jl(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var h=xr.prototype._convertLatLngs.call(this,l),x=h.length;return x>=2&&h[0]instanceof yt&&h[0].equals(h[x-1])&&h.pop(),h},_setLatLngs:function(l){xr.prototype._setLatLngs.call(this,l),Bo(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Bo(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,h=this.options.weight,x=new xe(h,h);if(l=new ve(l.min.subtract(x),l.max.add(x)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}for(var E=0,k=this._rings.length,O;E<k;E++)O=Jc(this._rings[E],l,!0),O.length&&this._parts.push(O)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var h=!1,x,E,k,O,ee,me,Ae,xt;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(O=0,Ae=this._parts.length;O<Ae;O++)for(x=this._parts[O],ee=0,xt=x.length,me=xt-1;ee<xt;me=ee++)E=x[ee],k=x[me],E.y>l.y!=k.y>l.y&&l.x<(k.x-E.x)*(l.y-E.y)/(k.y-E.y)+E.x&&(h=!h);return h||xr.prototype._containsPoint.call(this,l,!0)}});function ux(l,h){return new el(l,h)}var mr=jr.extend({initialize:function(l,h){y(this,h),this._layers={},l&&this.addData(l)},addData:function(l){var h=M(l)?l:l.features,x,E,k;if(h){for(x=0,E=h.length;x<E;x++)k=h[x],(k.geometries||k.geometry||k.features||k.coordinates)&&this.addData(k);return this}var O=this.options;if(O.filter&&!O.filter(l))return this;var ee=rd(l,O);return ee?(ee.feature=ad(l),ee.defaultOptions=ee.options,this.resetStyle(ee),O.onEachFeature&&O.onEachFeature(l,ee),this.addLayer(ee)):this},resetStyle:function(l){return l===void 0?this.eachLayer(this.resetStyle,this):(l.options=n({},l.defaultOptions),this._setLayerStyle(l,this.options.style),this)},setStyle:function(l){return this.eachLayer(function(h){this._setLayerStyle(h,l)},this)},_setLayerStyle:function(l,h){l.setStyle&&(typeof h=="function"&&(h=h(l.feature)),l.setStyle(h))}});function rd(l,h){var x=l.type==="Feature"?l.geometry:l,E=x?x.coordinates:null,k=[],O=h&&h.pointToLayer,ee=h&&h.coordsToLatLng||uh,me,Ae,xt,xi;if(!E&&!x)return null;switch(x.type){case"Point":return me=ee(E),hx(O,l,me,h);case"MultiPoint":for(xt=0,xi=E.length;xt<xi;xt++)me=ee(E[xt]),k.push(hx(O,l,me,h));return new jr(k);case"LineString":case"MultiLineString":return Ae=hh(E,x.type==="LineString"?0:1,ee),new xr(Ae,h);case"Polygon":case"MultiPolygon":return Ae=hh(E,x.type==="Polygon"?1:2,ee),new el(Ae,h);case"GeometryCollection":for(xt=0,xi=x.geometries.length;xt<xi;xt++){var Qi=rd({geometry:x.geometries[xt],type:"Feature",properties:l.properties},h);Qi&&k.push(Qi)}return new jr(k);case"FeatureCollection":for(xt=0,xi=x.features.length;xt<xi;xt++){var wi=rd(x.features[xt],h);wi&&k.push(wi)}return new jr(k);default:throw new Error("Invalid GeoJSON object.")}}function hx(l,h,x,E){return l?l(h,x):new ch(x,E&&E.markersInheritOptions&&E)}function uh(l){return new yt(l[1],l[0],l[2])}function hh(l,h,x){for(var E=[],k=0,O=l.length,ee;k<O;k++)ee=h?hh(l[k],h-1,x):(x||uh)(l[k]),E.push(ee);return E}function Bf(l,h){return l=Ce(l),l.alt!==void 0?[p(l.lng,h),p(l.lat,h),p(l.alt,h)]:[p(l.lng,h),p(l.lat,h)]}function fh(l,h,x,E){for(var k=[],O=0,ee=l.length;O<ee;O++)k.push(h?fh(l[O],Bo(l[O])?0:h-1,x,E):Bf(l[O],E));return!h&&x&&k.length>0&&k.push(k[0].slice()),k}function ma(l,h){return l.feature?n({},l.feature,{geometry:h}):ad(h)}function ad(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var gh={toGeoJSON:function(l){return ma(this,{type:"Point",coordinates:Bf(this.getLatLng(),l)})}};ch.include(gh),Af.include(gh),dh.include(gh),xr.include({toGeoJSON:function(l){var h=!Bo(this._latlngs),x=fh(this._latlngs,h?1:0,!1,l);return ma(this,{type:(h?"Multi":"")+"LineString",coordinates:x})}}),el.include({toGeoJSON:function(l){var h=!Bo(this._latlngs),x=h&&!Bo(this._latlngs[0]),E=fh(this._latlngs,x?2:h?1:0,!0,l);return h||(E=[E]),ma(this,{type:(x?"Multi":"")+"Polygon",coordinates:E})}}),Ja.include({toMultiPoint:function(l){var h=[];return this.eachLayer(function(x){h.push(x.toGeoJSON(l).geometry.coordinates)}),ma(this,{type:"MultiPoint",coordinates:h})},toGeoJSON:function(l){var h=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(h==="MultiPoint")return this.toMultiPoint(l);var x=h==="GeometryCollection",E=[];return this.eachLayer(function(k){if(k.toGeoJSON){var O=k.toGeoJSON(l);if(x)E.push(O.geometry);else{var ee=ad(O);ee.type==="FeatureCollection"?E.push.apply(E,ee.features):E.push(ee)}}}),x?ma(this,{geometries:E,type:"GeometryCollection"}):{type:"FeatureCollection",features:E}}});function Ff(l,h){return new mr(l,h)}var Hb=Ff,ld=nr.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,h,x){this._url=l,this._bounds=st(h),y(this,x)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Me(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){ae(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&&Le(this._image),this},bringToBack:function(){return this._map&&_e(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=st(l),this._map&&this._reset(),this},getEvents:function(){var l={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var l=this._url.tagName==="IMG",h=this._image=l?this._url:ie("img");if(Me(h,"leaflet-image-layer"),this._zoomAnimated&&Me(h,"leaflet-zoom-animated"),this.options.className&&Me(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onload=r(this.fire,this,"load"),h.onerror=r(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(h.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),l){this._url=h.src;return}h.src=this._url,h.alt=this.options.alt},_animateZoom:function(l){var h=this._map.getZoomScale(l.zoom),x=this._map._latLngBoundsToNewLayerBounds(this._bounds,l.zoom,l.center).min;Ee(this._image,x,h)},_reset:function(){var l=this._image,h=new ve(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),x=h.getSize();We(l,h.min),l.style.width=x.x+"px",l.style.height=x.y+"px"},_updateOpacity:function(){le(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()}}),Lf=function(l,h,x){return new ld(l,h,x)},If=ld.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var l=this._url.tagName==="VIDEO",h=this._image=l?this._url:ie("video");if(Me(h,"leaflet-image-layer"),this._zoomAnimated&&Me(h,"leaflet-zoom-animated"),this.options.className&&Me(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onloadeddata=r(this.fire,this,"load"),l){for(var x=h.getElementsByTagName("source"),E=[],k=0;k<x.length;k++)E.push(x[k].src);this._url=x.length>0?E:[h.src];return}M(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(h.style,"objectFit")&&(h.style.objectFit="fill"),h.autoplay=!!this.options.autoplay,h.loop=!!this.options.loop,h.muted=!!this.options.muted,h.playsInline=!!this.options.playsInline;for(var O=0;O<this._url.length;O++){var ee=ie("source");ee.src=this._url[O],h.appendChild(ee)}}});function Wb(l,h,x){return new If(l,h,x)}var fx=ld.extend({_initImage:function(){var l=this._image=this._url;Me(l,"leaflet-image-layer"),this._zoomAnimated&&Me(l,"leaflet-zoom-animated"),this.options.className&&Me(l,this.options.className),l.onselectstart=g,l.onmousemove=g}});function zb(l,h,x){return new fx(l,h,x)}var vr=nr.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,h){l&&(l instanceof yt||M(l))?(this._latlng=Ce(l),y(this,h)):(y(this,l),this._source=h),this.options.content&&(this._content=this.options.content)},openOn:function(l){return l=arguments.length?l:this._source._map,l.hasLayer(this)||l.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(l){return this._map?this.close():(arguments.length?this._source=l:l=this._source,this._prepareOpen(),this.openOn(l._map)),this},onAdd:function(l){this._zoomAnimated=l._zoomAnimated,this._container||this._initLayout(),l._fadeAnimated&&le(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&le(this._container,1),this.bringToFront(),this.options.interactive&&(Me(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(le(this._container,0),this._removeTimeout=setTimeout(r(ae,void 0,this._container),200)):ae(this._container),this.options.interactive&&(ct(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=Ce(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&&Le(this._container),this},bringToBack:function(){return this._map&&_e(this._container),this},_prepareOpen:function(l){var h=this._source;if(!h._map)return!1;if(h instanceof jr){h=null;var x=this._source._layers;for(var E in x)if(x[E]._map){h=x[E];break}if(!h)return!1;this._source=h}if(!l)if(h.getCenter)l=h.getCenter();else if(h.getLatLng)l=h.getLatLng();else if(h.getBounds)l=h.getBounds().getCenter();else throw new Error("Unable to get source layer LatLng.");return this.setLatLng(l),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var l=this._contentNode,h=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof h=="string")l.innerHTML=h;else{for(;l.hasChildNodes();)l.removeChild(l.firstChild);l.appendChild(h)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var l=this._map.latLngToLayerPoint(this._latlng),h=Ue(this.options.offset),x=this._getAnchor();this._zoomAnimated?We(this._container,l.add(x)):h=h.add(l).add(x);var E=this._containerBottom=-h.y,k=this._containerLeft=-Math.round(this._containerWidth/2)+h.x;this._container.style.bottom=E+"px",this._container.style.left=k+"px"}},_getAnchor:function(){return[0,0]}});Oi.include({_initOverlay:function(l,h,x,E){var k=h;return k instanceof l||(k=new l(E).setContent(h)),x&&k.setLatLng(x),k}}),nr.include({_initOverlay:function(l,h,x,E){var k=x;return k instanceof l?(y(k,E),k._source=this):(k=h&&!E?h:new l(E,this),k.setContent(x)),k}});var ph=vr.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,vr.prototype.openOn.call(this,l)},onAdd:function(l){vr.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof xa||this._source.on("preclick",At))},onRemove:function(l){vr.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof xa||this._source.off("preclick",At))},getEvents:function(){var l=vr.prototype.getEvents.call(this);return(this.options.closeOnClick!==void 0?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(l.preclick=this.close),this.options.keepInView&&(l.moveend=this._adjustPan),l},_initLayout:function(){var l="leaflet-popup",h=this._container=ie("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),x=this._wrapper=ie("div",l+"-content-wrapper",h);if(this._contentNode=ie("div",l+"-content",x),ii(h),Ht(this._contentNode),bt(h,"contextmenu",At),this._tipContainer=ie("div",l+"-tip-container",h),this._tip=ie("div",l+"-tip",this._tipContainer),this.options.closeButton){var E=this._closeButton=ie("a",l+"-close-button",h);E.setAttribute("role","button"),E.setAttribute("aria-label","Close popup"),E.href="#close",E.innerHTML='<span aria-hidden="true">×</span>',bt(E,"click",function(k){pi(k),this.close()},this)}},_updateLayout:function(){var l=this._contentNode,h=l.style;h.width="",h.whiteSpace="nowrap";var x=l.offsetWidth;x=Math.min(x,this.options.maxWidth),x=Math.max(x,this.options.minWidth),h.width=x+1+"px",h.whiteSpace="",h.height="";var E=l.offsetHeight,k=this.options.maxHeight,O="leaflet-popup-scrolled";k&&E>k?(h.height=k+"px",Me(l,O)):ct(l,O),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),x=this._getAnchor();We(this._container,h.add(x))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var l=this._map,h=parseInt(ne(this._container,"marginBottom"),10)||0,x=this._container.offsetHeight+h,E=this._containerWidth,k=new xe(this._containerLeft,-x-this._containerBottom);k._add(wt(this._container));var O=l.layerPointToContainerPoint(k),ee=Ue(this.options.autoPanPadding),me=Ue(this.options.autoPanPaddingTopLeft||ee),Ae=Ue(this.options.autoPanPaddingBottomRight||ee),xt=l.getSize(),xi=0,Qi=0;O.x+E+Ae.x>xt.x&&(xi=O.x+E-xt.x+Ae.x),O.x-xi-me.x<0&&(xi=O.x-me.x),O.y+x+Ae.y>xt.y&&(Qi=O.y+x-xt.y+Ae.y),O.y-Qi-me.y<0&&(Qi=O.y-me.y),(xi||Qi)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([xi,Qi]))}},_getAnchor:function(){return Ue(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),Vb=function(l,h){return new ph(l,h)};Oi.mergeOptions({closePopupOnClick:!0}),Oi.include({openPopup:function(l,h,x){return this._initOverlay(ph,l,h,x).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),nr.include({bindPopup:function(l,h){return this._popup=this._initOverlay(ph,this._popup,l,h),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(l){return this._popup&&(this instanceof jr||(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)){tn(l);var h=l.layer||l.target;if(this._popup._source===h&&!(h instanceof xa)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(l.latlng);return}this._popup._source=h,this.openPopup(l.latlng)}},_movePopup:function(l){this._popup.setLatLng(l.latlng)},_onKeyPress:function(l){l.originalEvent.keyCode===13&&this._openPopup(l)}});var xh=vr.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){vr.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){vr.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=vr.prototype.getEvents.call(this);return this.options.permanent||(l.preclick=this.close),l},_initLayout:function(){var l="leaflet-tooltip",h=l+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=ie("div",h),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+d(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(l){var h,x,E=this._map,k=this._container,O=E.latLngToContainerPoint(E.getCenter()),ee=E.layerPointToContainerPoint(l),me=this.options.direction,Ae=k.offsetWidth,xt=k.offsetHeight,xi=Ue(this.options.offset),Qi=this._getAnchor();me==="top"?(h=Ae/2,x=xt):me==="bottom"?(h=Ae/2,x=0):me==="center"?(h=Ae/2,x=xt/2):me==="right"?(h=0,x=xt/2):me==="left"?(h=Ae,x=xt/2):ee.x<O.x?(me="right",h=0,x=xt/2):(me="left",h=Ae+(xi.x+Qi.x)*2,x=xt/2),l=l.subtract(Ue(h,x,!0)).add(xi).add(Qi),ct(k,"leaflet-tooltip-right"),ct(k,"leaflet-tooltip-left"),ct(k,"leaflet-tooltip-top"),ct(k,"leaflet-tooltip-bottom"),Me(k,"leaflet-tooltip-"+me),We(k,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&le(this._container,l)},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(h)},_getAnchor:function(){return Ue(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),jb=function(l,h){return new xh(l,h)};Oi.include({openTooltip:function(l,h,x){return this._initOverlay(xh,l,h,x).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),nr.include({bindTooltip:function(l,h){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(xh,this._tooltip,l,h),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(l){if(!(!l&&this._tooltipHandlersAdded)){var h=l?"off":"on",x={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?x.add=this._openTooltip:(x.mouseover=this._openTooltip,x.mouseout=this.closeTooltip,x.click=this._openTooltip,this._map?this._addFocusListeners():x.add=this._addFocusListeners),this._tooltip.options.sticky&&(x.mousemove=this._moveTooltip),this[h](x),this._tooltipHandlersAdded=!l}},openTooltip:function(l){return this._tooltip&&(this instanceof jr||(this._tooltip._source=this),this._tooltip._prepareOpen(l)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(l){return this._tooltip&&this._tooltip.setContent(l),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(l){var h=typeof l.getElement=="function"&&l.getElement();h&&(bt(h,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),bt(h,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(l){var h=typeof l.getElement=="function"&&l.getElement();h&&h.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(l){if(!(!this._tooltip||!this._map)){if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var h=this;this._map.once("moveend",function(){h._openOnceFlag=!1,h._openTooltip(l)});return}this._tooltip._source=l.layer||l.target,this.openTooltip(this._tooltip.options.sticky?l.latlng:void 0)}},_moveTooltip:function(l){var h=l.latlng,x,E;this._tooltip.options.sticky&&l.originalEvent&&(x=this._map.mouseEventToContainerPoint(l.originalEvent),E=this._map.containerPointToLayerPoint(x),h=this._map.layerPointToLatLng(E)),this._tooltip.setLatLng(h)}});var G=ql.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(l){var h=l&&l.tagName==="DIV"?l:document.createElement("div"),x=this.options;if(x.html instanceof Element?(Je(h),h.appendChild(x.html)):h.innerHTML=x.html!==!1?x.html:"",x.bgPos){var E=Ue(x.bgPos);h.style.backgroundPosition=-E.x+"px "+-E.y+"px"}return this._setIconStyles(h,"icon"),h},createShadow:function(){return null}});function de(l){return new G(l)}ql.Default=Gl;var ht=nr.extend({options:{tileSize:256,opacity:1,updateWhenIdle:we.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(l){y(this,l)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(l){l._addZoomLimit(this)},onRemove:function(l){this._removeAllTiles(),ae(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(Le(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(_e(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(l){return this.options.opacity=l,this._updateOpacity(),this},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var l=this._clampZoom(this._map.getZoom());l!==this._tileZoom&&(this._tileZoom=l,this._updateLevels()),this._update()}return this},getEvents:function(){var l={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=u(this._onMoveEnd,this.options.updateInterval,this)),l.move=this._onMove),this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},createTile:function(){return document.createElement("div")},getTileSize:function(){var l=this.options.tileSize;return l instanceof xe?l:new xe(l,l)},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(l){for(var h=this.getPane().children,x=-l(-1/0,1/0),E=0,k=h.length,O;E<k;E++)O=h[E].style.zIndex,h[E]!==this._container&&O&&(x=l(x,+O));isFinite(x)&&(this.options.zIndex=x+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!we.ielt9){le(this._container,this.options.opacity);var l=+new Date,h=!1,x=!1;for(var E in this._tiles){var k=this._tiles[E];if(!(!k.current||!k.loaded)){var O=Math.min(1,(l-k.loaded)/200);le(k.el,O),O<1?h=!0:(k.active?x=!0:this._onOpaqueTile(k),k.active=!0)}}x&&!this._noPrune&&this._pruneTiles(),h&&(ue(this._fadeFrame),this._fadeFrame=J(this._updateOpacity,this))}},_onOpaqueTile:g,_initContainer:function(){this._container||(this._container=ie("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var l=this._tileZoom,h=this.options.maxZoom;if(l!==void 0){for(var x in this._levels)x=Number(x),this._levels[x].el.children.length||x===l?(this._levels[x].el.style.zIndex=h-Math.abs(l-x),this._onUpdateLevel(x)):(ae(this._levels[x].el),this._removeTilesAtZoom(x),this._onRemoveLevel(x),delete this._levels[x]);var E=this._levels[l],k=this._map;return E||(E=this._levels[l]={},E.el=ie("div","leaflet-tile-container leaflet-zoom-animated",this._container),E.el.style.zIndex=h,E.origin=k.project(k.unproject(k.getPixelOrigin()),l).round(),E.zoom=l,this._setZoomTransform(E,k.getCenter(),k.getZoom()),g(E.el.offsetWidth),this._onCreateLevel(E)),this._level=E,E}},_onUpdateLevel:g,_onRemoveLevel:g,_onCreateLevel:g,_pruneTiles:function(){if(this._map){var l,h,x=this._map.getZoom();if(x>this.options.maxZoom||x<this.options.minZoom){this._removeAllTiles();return}for(l in this._tiles)h=this._tiles[l],h.retain=h.current;for(l in this._tiles)if(h=this._tiles[l],h.current&&!h.active){var E=h.coords;this._retainParent(E.x,E.y,E.z,E.z-5)||this._retainChildren(E.x,E.y,E.z,E.z+2)}for(l in this._tiles)this._tiles[l].retain||this._removeTile(l)}},_removeTilesAtZoom:function(l){for(var h in this._tiles)this._tiles[h].coords.z===l&&this._removeTile(h)},_removeAllTiles:function(){for(var l in this._tiles)this._removeTile(l)},_invalidateAll:function(){for(var l in this._levels)ae(this._levels[l].el),this._onRemoveLevel(Number(l)),delete this._levels[l];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(l,h,x,E){var k=Math.floor(l/2),O=Math.floor(h/2),ee=x-1,me=new xe(+k,+O);me.z=+ee;var Ae=this._tileCoordsToKey(me),xt=this._tiles[Ae];return xt&&xt.active?(xt.retain=!0,!0):(xt&&xt.loaded&&(xt.retain=!0),ee>E?this._retainParent(k,O,ee,E):!1)},_retainChildren:function(l,h,x,E){for(var k=2*l;k<2*l+2;k++)for(var O=2*h;O<2*h+2;O++){var ee=new xe(k,O);ee.z=x+1;var me=this._tileCoordsToKey(ee),Ae=this._tiles[me];if(Ae&&Ae.active){Ae.retain=!0;continue}else Ae&&Ae.loaded&&(Ae.retain=!0);x+1<E&&this._retainChildren(k,O,x+1,E)}},_resetView:function(l){var h=l&&(l.pinch||l.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),h,h)},_animateZoom:function(l){this._setView(l.center,l.zoom,!0,l.noUpdate)},_clampZoom:function(l){var h=this.options;return h.minNativeZoom!==void 0&&l<h.minNativeZoom?h.minNativeZoom:h.maxNativeZoom!==void 0&&h.maxNativeZoom<l?h.maxNativeZoom:l},_setView:function(l,h,x,E){var k=Math.round(h);this.options.maxZoom!==void 0&&k>this.options.maxZoom||this.options.minZoom!==void 0&&k<this.options.minZoom?k=void 0:k=this._clampZoom(k);var O=this.options.updateWhenZooming&&k!==this._tileZoom;(!E||O)&&(this._tileZoom=k,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),k!==void 0&&this._update(l),x||this._pruneTiles(),this._noPrune=!!x),this._setZoomTransforms(l,h)},_setZoomTransforms:function(l,h){for(var x in this._levels)this._setZoomTransform(this._levels[x],l,h)},_setZoomTransform:function(l,h,x){var E=this._map.getZoomScale(x,l.zoom),k=l.origin.multiplyBy(E).subtract(this._map._getNewPixelOrigin(h,x)).round();we.any3d?Ee(l.el,k,E):We(l.el,k)},_resetGrid:function(){var l=this._map,h=l.options.crs,x=this._tileSize=this.getTileSize(),E=this._tileZoom,k=this._map.getPixelWorldBounds(this._tileZoom);k&&(this._globalTileRange=this._pxBoundsToTileRange(k)),this._wrapX=h.wrapLng&&!this.options.noWrap&&[Math.floor(l.project([0,h.wrapLng[0]],E).x/x.x),Math.ceil(l.project([0,h.wrapLng[1]],E).x/x.y)],this._wrapY=h.wrapLat&&!this.options.noWrap&&[Math.floor(l.project([h.wrapLat[0],0],E).y/x.x),Math.ceil(l.project([h.wrapLat[1],0],E).y/x.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(l){var h=this._map,x=h._animatingZoom?Math.max(h._animateToZoom,h.getZoom()):h.getZoom(),E=h.getZoomScale(x,this._tileZoom),k=h.project(l,this._tileZoom).floor(),O=h.getSize().divideBy(E*2);return new ve(k.subtract(O),k.add(O))},_update:function(l){var h=this._map;if(h){var x=this._clampZoom(h.getZoom());if(l===void 0&&(l=h.getCenter()),this._tileZoom!==void 0){var E=this._getTiledPixelBounds(l),k=this._pxBoundsToTileRange(E),O=k.getCenter(),ee=[],me=this.options.keepBuffer,Ae=new ve(k.getBottomLeft().subtract([me,-me]),k.getTopRight().add([me,-me]));if(!(isFinite(k.min.x)&&isFinite(k.min.y)&&isFinite(k.max.x)&&isFinite(k.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var xt in this._tiles){var xi=this._tiles[xt].coords;(xi.z!==this._tileZoom||!Ae.contains(new xe(xi.x,xi.y)))&&(this._tiles[xt].current=!1)}if(Math.abs(x-this._tileZoom)>1){this._setView(l,x);return}for(var Qi=k.min.y;Qi<=k.max.y;Qi++)for(var wi=k.min.x;wi<=k.max.x;wi++){var xn=new xe(wi,Qi);if(xn.z=this._tileZoom,!!this._isValidTile(xn)){var Rn=this._tiles[this._tileCoordsToKey(xn)];Rn?Rn.current=!0:ee.push(xn)}}if(ee.sort(function(Os,$r){return Os.distanceTo(O)-$r.distanceTo(O)}),ee.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Cs=document.createDocumentFragment();for(wi=0;wi<ee.length;wi++)this._addTile(ee[wi],Cs);this._level.el.appendChild(Cs)}}}},_isValidTile:function(l){var h=this._map.options.crs;if(!h.infinite){var x=this._globalTileRange;if(!h.wrapLng&&(l.x<x.min.x||l.x>x.max.x)||!h.wrapLat&&(l.y<x.min.y||l.y>x.max.y))return!1}if(!this.options.bounds)return!0;var E=this._tileCoordsToBounds(l);return st(this.options.bounds).overlaps(E)},_keyToBounds:function(l){return this._tileCoordsToBounds(this._keyToTileCoords(l))},_tileCoordsToNwSe:function(l){var h=this._map,x=this.getTileSize(),E=l.scaleBy(x),k=E.add(x),O=h.unproject(E,l.z),ee=h.unproject(k,l.z);return[O,ee]},_tileCoordsToBounds:function(l){var h=this._tileCoordsToNwSe(l),x=new Mt(h[0],h[1]);return this.options.noWrap||(x=this._map.wrapLatLngBounds(x)),x},_tileCoordsToKey:function(l){return l.x+":"+l.y+":"+l.z},_keyToTileCoords:function(l){var h=l.split(":"),x=new xe(+h[0],+h[1]);return x.z=+h[2],x},_removeTile:function(l){var h=this._tiles[l];h&&(ae(h.el),delete this._tiles[l],this.fire("tileunload",{tile:h.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){Me(l,"leaflet-tile");var h=this.getTileSize();l.style.width=h.x+"px",l.style.height=h.y+"px",l.onselectstart=g,l.onmousemove=g,we.ielt9&&this.options.opacity<1&&le(l,this.options.opacity)},_addTile:function(l,h){var x=this._getTilePos(l),E=this._tileCoordsToKey(l),k=this.createTile(this._wrapCoords(l),r(this._tileReady,this,l));this._initTile(k),this.createTile.length<2&&J(r(this._tileReady,this,l,null,k)),We(k,x),this._tiles[E]={el:k,coords:l,current:!0},h.appendChild(k),this.fire("tileloadstart",{tile:k,coords:l})},_tileReady:function(l,h,x){h&&this.fire("tileerror",{error:h,tile:x,coords:l});var E=this._tileCoordsToKey(l);x=this._tiles[E],x&&(x.loaded=+new Date,this._map._fadeAnimated?(le(x.el,0),ue(this._fadeFrame),this._fadeFrame=J(this._updateOpacity,this)):(x.active=!0,this._pruneTiles()),h||(Me(x.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:x.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),we.ielt9||!this._map._fadeAnimated?J(this._pruneTiles,this):setTimeout(r(this._pruneTiles,this),250)))},_getTilePos:function(l){return l.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(l){var h=new xe(this._wrapX?f(l.x,this._wrapX):l.x,this._wrapY?f(l.y,this._wrapY):l.y);return h.z=l.z,h},_pxBoundsToTileRange:function(l){var h=this.getTileSize();return new ve(l.min.unscaleBy(h).floor(),l.max.unscaleBy(h).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var l in this._tiles)if(!this._tiles[l].loaded)return!1;return!0}});function pt(l){return new ht(l)}var nt=ht.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(l,h){this._url=l,h=y(this,h),h.detectRetina&&we.retina&&h.maxZoom>0?(h.tileSize=Math.floor(h.tileSize/2),h.zoomReverse?(h.zoomOffset--,h.minZoom=Math.min(h.maxZoom,h.minZoom+1)):(h.zoomOffset++,h.maxZoom=Math.max(h.minZoom,h.maxZoom-1)),h.minZoom=Math.max(0,h.minZoom)):h.zoomReverse?h.minZoom=Math.min(h.maxZoom,h.minZoom):h.maxZoom=Math.max(h.minZoom,h.maxZoom),typeof h.subdomains=="string"&&(h.subdomains=h.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(l,h){return this._url===l&&h===void 0&&(h=!0),this._url=l,h||this.redraw(),this},createTile:function(l,h){var x=document.createElement("img");return bt(x,"load",r(this._tileOnLoad,this,h,x)),bt(x,"error",r(this._tileOnError,this,h,x)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(x.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(x.referrerPolicy=this.options.referrerPolicy),x.alt="",x.src=this.getTileUrl(l),x},getTileUrl:function(l){var h={r:we.retina?"@2x":"",s:this._getSubdomain(l),x:l.x,y:l.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var x=this._globalTileRange.max.y-l.y;this.options.tms&&(h.y=x),h["-y"]=x}return I(this._url,n(h,this.options))},_tileOnLoad:function(l,h){we.ielt9?setTimeout(r(l,this,null,h),0):l(null,h)},_tileOnError:function(l,h,x){var E=this.options.errorTileUrl;E&&h.getAttribute("src")!==E&&(h.src=E),l(x,h)},_onTileRemove:function(l){l.tile.onload=null},_getZoomForUrl:function(){var l=this._tileZoom,h=this.options.maxZoom,x=this.options.zoomReverse,E=this.options.zoomOffset;return x&&(l=h-l),l+E},_getSubdomain:function(l){var h=Math.abs(l.x+l.y)%this.options.subdomains.length;return this.options.subdomains[h]},_abortLoading:function(){var l,h;for(l in this._tiles)if(this._tiles[l].coords.z!==this._tileZoom&&(h=this._tiles[l].el,h.onload=g,h.onerror=g,!h.complete)){h.src=T;var x=this._tiles[l].coords;ae(h),delete this._tiles[l],this.fire("tileabort",{tile:h,coords:x})}},_removeTile:function(l){var h=this._tiles[l];if(h)return h.el.setAttribute("src",T),ht.prototype._removeTile.call(this,l)},_tileReady:function(l,h,x){if(!(!this._map||x&&x.getAttribute("src")===T))return ht.prototype._tileReady.call(this,l,h,x)}});function li(l,h){return new nt(l,h)}var Yt=nt.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(l,h){this._url=l;var x=n({},this.defaultWmsParams);for(var E in h)E in this.options||(x[E]=h[E]);h=y(this,h);var k=h.detectRetina&&we.retina?2:1,O=this.getTileSize();x.width=O.x*k,x.height=O.y*k,this.wmsParams=x},onAdd:function(l){this._crs=this.options.crs||l.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var h=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[h]=this._crs.code,nt.prototype.onAdd.call(this,l)},getTileUrl:function(l){var h=this._tileCoordsToNwSe(l),x=this._crs,E=mt(x.project(h[0]),x.project(h[1])),k=E.min,O=E.max,ee=(this._wmsVersion>=1.3&&this._crs===sx?[k.y,k.x,O.y,O.x]:[k.x,k.y,O.x,O.y]).join(","),me=nt.prototype.getTileUrl.call(this,l);return me+w(this.wmsParams,me,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+ee},setParams:function(l,h){return n(this.wmsParams,l),h||this.redraw(),this}});function en(l,h){return new Yt(l,h)}nt.WMS=Yt,li.wms=en;var Gi=nr.extend({options:{padding:.1},initialize:function(l){y(this,l),d(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Me(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var l={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(l.zoomanim=this._onAnimZoom),l},_onAnimZoom:function(l){this._updateTransform(l.center,l.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(l,h){var x=this._map.getZoomScale(h,this._zoom),E=this._map.getSize().multiplyBy(.5+this.options.padding),k=this._map.project(this._center,h),O=E.multiplyBy(-x).add(k).subtract(this._map._getNewPixelOrigin(l,h));we.any3d?Ee(this._container,O,x):We(this._container,O)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var l in this._layers)this._layers[l]._reset()},_onZoomEnd:function(){for(var l in this._layers)this._layers[l]._project()},_updatePaths:function(){for(var l in this._layers)this._layers[l]._update()},_update:function(){var l=this.options.padding,h=this._map.getSize(),x=this._map.containerPointToLayerPoint(h.multiplyBy(-l)).round();this._bounds=new ve(x,x.add(h.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),sn=Gi.extend({options:{tolerance:0},getEvents:function(){var l=Gi.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Gi.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");bt(l,"mousemove",this._onMouseMove,this),bt(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),bt(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){ue(this._redrawRequest),delete this._ctx,ae(this._container),Ai(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var l;this._redrawBounds=null;for(var h in this._layers)l=this._layers[h],l._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Gi.prototype._update.call(this);var l=this._bounds,h=this._container,x=l.getSize(),E=we.retina?2:1;We(h,l.min),h.width=E*x.x,h.height=E*x.y,h.style.width=x.x+"px",h.style.height=x.y+"px",we.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){Gi.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(l){this._updateDashArray(l),this._layers[d(l)]=l;var h=l._order={layer:l,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=h),this._drawLast=h,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(l){this._requestRedraw(l)},_removePath:function(l){var h=l._order,x=h.next,E=h.prev;x?x.prev=E:this._drawLast=E,E?E.next=x:this._drawFirst=x,delete l._order,delete this._layers[d(l)],this._requestRedraw(l)},_updatePath:function(l){this._extendRedrawBounds(l),l._project(),l._update(),this._requestRedraw(l)},_updateStyle:function(l){this._updateDashArray(l),this._requestRedraw(l)},_updateDashArray:function(l){if(typeof l.options.dashArray=="string"){var h=l.options.dashArray.split(/[, ]+/),x=[],E,k;for(k=0;k<h.length;k++){if(E=Number(h[k]),isNaN(E))return;x.push(E)}l.options._dashArray=x}else l.options._dashArray=l.options.dashArray},_requestRedraw:function(l){this._map&&(this._extendRedrawBounds(l),this._redrawRequest=this._redrawRequest||J(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var h=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new ve,this._redrawBounds.extend(l._pxBounds.min.subtract([h,h])),this._redrawBounds.extend(l._pxBounds.max.add([h,h]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var l=this._redrawBounds;if(l){var h=l.getSize();this._ctx.clearRect(l.min.x,l.min.y,h.x,h.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var l,h=this._redrawBounds;if(this._ctx.save(),h){var x=h.getSize();this._ctx.beginPath(),this._ctx.rect(h.min.x,h.min.y,x.x,x.y),this._ctx.clip()}this._drawing=!0;for(var E=this._drawFirst;E;E=E.next)l=E.layer,(!h||l._pxBounds&&l._pxBounds.intersects(h))&&l._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(l,h){if(this._drawing){var x,E,k,O,ee=l._parts,me=ee.length,Ae=this._ctx;if(me){for(Ae.beginPath(),x=0;x<me;x++){for(E=0,k=ee[x].length;E<k;E++)O=ee[x][E],Ae[E?"lineTo":"moveTo"](O.x,O.y);h&&Ae.closePath()}this._fillStroke(Ae,l)}}},_updateCircle:function(l){if(!(!this._drawing||l._empty())){var h=l._point,x=this._ctx,E=Math.max(Math.round(l._radius),1),k=(Math.max(Math.round(l._radiusY),1)||E)/E;k!==1&&(x.save(),x.scale(1,k)),x.beginPath(),x.arc(h.x,h.y/k,E,0,Math.PI*2,!1),k!==1&&x.restore(),this._fillStroke(x,l)}},_fillStroke:function(l,h){var x=h.options;x.fill&&(l.globalAlpha=x.fillOpacity,l.fillStyle=x.fillColor||x.color,l.fill(x.fillRule||"evenodd")),x.stroke&&x.weight!==0&&(l.setLineDash&&l.setLineDash(h.options&&h.options._dashArray||[]),l.globalAlpha=x.opacity,l.lineWidth=x.weight,l.strokeStyle=x.color,l.lineCap=x.lineCap,l.lineJoin=x.lineJoin,l.stroke())},_onClick:function(l){for(var h=this._map.mouseEventToLayerPoint(l),x,E,k=this._drawFirst;k;k=k.next)x=k.layer,x.options.interactive&&x._containsPoint(h)&&(!(l.type==="click"||l.type==="preclick")||!this._map._draggableMoved(x))&&(E=x);this._fireEvent(E?[E]:!1,l)},_onMouseMove:function(l){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var h=this._map.mouseEventToLayerPoint(l);this._handleMouseHover(l,h)}},_handleMouseOut:function(l){var h=this._hoveredLayer;h&&(ct(this._container,"leaflet-interactive"),this._fireEvent([h],l,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(l,h){if(!this._mouseHoverThrottled){for(var x,E,k=this._drawFirst;k;k=k.next)x=k.layer,x.options.interactive&&x._containsPoint(h)&&(E=x);E!==this._hoveredLayer&&(this._handleMouseOut(l),E&&(Me(this._container,"leaflet-interactive"),this._fireEvent([E],l,"mouseover"),this._hoveredLayer=E)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,l),this._mouseHoverThrottled=!0,setTimeout(r(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(l,h,x){this._map._fireDOMEvent(h,x||h.type,l)},_bringToFront:function(l){var h=l._order;if(h){var x=h.next,E=h.prev;if(x)x.prev=E;else return;E?E.next=x:x&&(this._drawFirst=x),h.prev=this._drawLast,this._drawLast.next=h,h.next=null,this._drawLast=h,this._requestRedraw(l)}},_bringToBack:function(l){var h=l._order;if(h){var x=h.next,E=h.prev;if(E)E.next=x;else return;x?x.prev=E:E&&(this._drawLast=E),h.prev=null,h.next=this._drawFirst,this._drawFirst.prev=h,this._drawFirst=h,this._requestRedraw(l)}}});function fn(l){return we.canvas?new sn(l):null}var vn=(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">')}})(),Sn={_initContainer:function(){this._container=ie("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Gi.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var h=l._container=vn("shape");Me(h,"leaflet-vml-shape "+(this.options.className||"")),h.coordsize="1 1",l._path=vn("path"),h.appendChild(l._path),this._updateStyle(l),this._layers[d(l)]=l},_addPath:function(l){var h=l._container;this._container.appendChild(h),l.options.interactive&&l.addInteractiveTarget(h)},_removePath:function(l){var h=l._container;ae(h),l.removeInteractiveTarget(h),delete this._layers[d(l)]},_updateStyle:function(l){var h=l._stroke,x=l._fill,E=l.options,k=l._container;k.stroked=!!E.stroke,k.filled=!!E.fill,E.stroke?(h||(h=l._stroke=vn("stroke")),k.appendChild(h),h.weight=E.weight+"px",h.color=E.color,h.opacity=E.opacity,E.dashArray?h.dashStyle=M(E.dashArray)?E.dashArray.join(" "):E.dashArray.replace(/( *, *)/g," "):h.dashStyle="",h.endcap=E.lineCap.replace("butt","flat"),h.joinstyle=E.lineJoin):h&&(k.removeChild(h),l._stroke=null),E.fill?(x||(x=l._fill=vn("fill")),k.appendChild(x),x.color=E.fillColor||E.color,x.opacity=E.fillOpacity):x&&(k.removeChild(x),l._fill=null)},_updateCircle:function(l){var h=l._point.round(),x=Math.round(l._radius),E=Math.round(l._radiusY||x);this._setPath(l,l._empty()?"M0 0":"AL "+h.x+","+h.y+" "+x+","+E+" 0,"+65535*360)},_setPath:function(l,h){l._path.v=h},_bringToFront:function(l){Le(l._container)},_bringToBack:function(l){_e(l._container)}},yn=we.vml?vn:Bi,Dn=Gi.extend({_initContainer:function(){this._container=yn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=yn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){ae(this._container),Ai(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Gi.prototype._update.call(this);var l=this._bounds,h=l.getSize(),x=this._container;(!this._svgSize||!this._svgSize.equals(h))&&(this._svgSize=h,x.setAttribute("width",h.x),x.setAttribute("height",h.y)),We(x,l.min),x.setAttribute("viewBox",[l.min.x,l.min.y,h.x,h.y].join(" ")),this.fire("update")}},_initPath:function(l){var h=l._path=yn("path");l.options.className&&Me(h,l.options.className),l.options.interactive&&Me(h,"leaflet-interactive"),this._updateStyle(l),this._layers[d(l)]=l},_addPath:function(l){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(l._path),l.addInteractiveTarget(l._path)},_removePath:function(l){ae(l._path),l.removeInteractiveTarget(l._path),delete this._layers[d(l)]},_updatePath:function(l){l._project(),l._update()},_updateStyle:function(l){var h=l._path,x=l.options;h&&(x.stroke?(h.setAttribute("stroke",x.color),h.setAttribute("stroke-opacity",x.opacity),h.setAttribute("stroke-width",x.weight),h.setAttribute("stroke-linecap",x.lineCap),h.setAttribute("stroke-linejoin",x.lineJoin),x.dashArray?h.setAttribute("stroke-dasharray",x.dashArray):h.removeAttribute("stroke-dasharray"),x.dashOffset?h.setAttribute("stroke-dashoffset",x.dashOffset):h.removeAttribute("stroke-dashoffset")):h.setAttribute("stroke","none"),x.fill?(h.setAttribute("fill",x.fillColor||x.color),h.setAttribute("fill-opacity",x.fillOpacity),h.setAttribute("fill-rule",x.fillRule||"evenodd")):h.setAttribute("fill","none"))},_updatePoly:function(l,h){this._setPath(l,_i(l._parts,h))},_updateCircle:function(l){var h=l._point,x=Math.max(Math.round(l._radius),1),E=Math.max(Math.round(l._radiusY),1)||x,k="a"+x+","+E+" 0 1,0 ",O=l._empty()?"M0 0":"M"+(h.x-x)+","+h.y+k+x*2+",0 "+k+-x*2+",0 ";this._setPath(l,O)},_setPath:function(l,h){l._path.setAttribute("d",h)},_bringToFront:function(l){Le(l._path)},_bringToBack:function(l){_e(l._path)}});we.vml&&Dn.include(Sn);function us(l){return we.svg||we.vml?new Dn(l):null}Oi.include({getRenderer:function(l){var h=l.options.renderer||this._getPaneRenderer(l.options.pane)||this.options.renderer||this._renderer;return h||(h=this._renderer=this._createRenderer()),this.hasLayer(h)||this.addLayer(h),h},_getPaneRenderer:function(l){if(l==="overlayPane"||l===void 0)return!1;var h=this._paneRenderers[l];return h===void 0&&(h=this._createRenderer({pane:l}),this._paneRenderers[l]=h),h},_createRenderer:function(l){return this.options.preferCanvas&&fn(l)||us(l)}});var _n=el.extend({initialize:function(l,h){el.prototype.initialize.call(this,this._boundsToLatLngs(l),h)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=st(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function $n(l,h){return new _n(l,h)}Dn.create=yn,Dn.pointsToPath=_i,mr.geometryToLayer=rd,mr.coordsToLatLng=uh,mr.coordsToLatLngs=hh,mr.latLngToCoords=Bf,mr.latLngsToCoords=fh,mr.getFeature=ma,mr.asFeature=ad,Oi.mergeOptions({boxZoom:!0});var Rs=ao.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(){bt(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Ai(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){ae(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(),gt(),Ne(),this._startPoint=this._map.mouseEventToContainerPoint(l),bt(document,{contextmenu:tn,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=ie("div","leaflet-zoom-box",this._container),Me(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var h=new ve(this._point,this._startPoint),x=h.getSize();We(this._box,h.min),this._box.style.width=x.x+"px",this._box.style.height=x.y+"px"},_finish:function(){this._moved&&(ae(this._box),ct(this._container,"leaflet-crosshair")),Ie(),it(),Ai(document,{contextmenu:tn,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(l){if(!(l.which!==1&&l.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(r(this._resetState,this),0);var h=new Mt(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(h).fire("boxzoomend",{boxZoomBounds:h})}},_onKeyDown:function(l){l.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Oi.addInitHook("addHandler","boxZoom",Rs),Oi.mergeOptions({doubleClickZoom:!0});var bo=ao.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(l){var h=this._map,x=h.getZoom(),E=h.options.zoomDelta,k=l.originalEvent.shiftKey?x-E:x+E;h.options.doubleClickZoom==="center"?h.setZoom(k):h.setZoomAround(l.containerPoint,k)}});Oi.addInitHook("addHandler","doubleClickZoom",bo),Oi.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var Ns=ao.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new ir(l._mapPane,l._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),l.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),l.on("zoomend",this._onZoomEnd,this),l.whenReady(this._onZoomEnd,this))}Me(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){ct(this._map._container,"leaflet-grab"),ct(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var l=this._map;if(l._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var h=st(this._map.options.maxBounds);this._offsetLimit=mt(this._map.latLngToContainerPoint(h.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(h.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;l.fire("movestart").fire("dragstart"),l.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(l){if(this._map.options.inertia){var h=this._lastTime=+new Date,x=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(x),this._times.push(h),this._prunePositions(h)}this._map.fire("move",l).fire("drag",l)},_prunePositions:function(l){for(;this._positions.length>1&&l-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var l=this._map.getSize().divideBy(2),h=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=h.subtract(l).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(l,h){return l-(l-h)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var l=this._draggable._newPos.subtract(this._draggable._startPos),h=this._offsetLimit;l.x<h.min.x&&(l.x=this._viscousLimit(l.x,h.min.x)),l.y<h.min.y&&(l.y=this._viscousLimit(l.y,h.min.y)),l.x>h.max.x&&(l.x=this._viscousLimit(l.x,h.max.x)),l.y>h.max.y&&(l.y=this._viscousLimit(l.y,h.max.y)),this._draggable._newPos=this._draggable._startPos.add(l)}},_onPreDragWrap:function(){var l=this._worldWidth,h=Math.round(l/2),x=this._initialWorldOffset,E=this._draggable._newPos.x,k=(E-h+x)%l+h-x,O=(E+h+x)%l-h-x,ee=Math.abs(k+x)<Math.abs(O+x)?k:O;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=ee},_onDragEnd:function(l){var h=this._map,x=h.options,E=!x.inertia||l.noInertia||this._times.length<2;if(h.fire("dragend",l),E)h.fire("moveend");else{this._prunePositions(+new Date);var k=this._lastPos.subtract(this._positions[0]),O=(this._lastTime-this._times[0])/1e3,ee=x.easeLinearity,me=k.multiplyBy(ee/O),Ae=me.distanceTo([0,0]),xt=Math.min(x.inertiaMaxSpeed,Ae),xi=me.multiplyBy(xt/Ae),Qi=xt/(x.inertiaDeceleration*ee),wi=xi.multiplyBy(-Qi/2).round();!wi.x&&!wi.y?h.fire("moveend"):(wi=h._limitOffset(wi,h.options.maxBounds),J(function(){h.panBy(wi,{duration:Qi,easeLinearity:ee,noMoveStart:!0,animate:!0})}))}}});Oi.addInitHook("addHandler","dragging",Ns),Oi.mergeOptions({keyboard:!0,keyboardPanDelta:80});var As=ao.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"),bt(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(),Ai(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var l=document.body,h=document.documentElement,x=l.scrollTop||h.scrollTop,E=l.scrollLeft||h.scrollLeft;this._map._container.focus(),window.scrollTo(E,x)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(l){var h=this._panKeys={},x=this.keyCodes,E,k;for(E=0,k=x.left.length;E<k;E++)h[x.left[E]]=[-1*l,0];for(E=0,k=x.right.length;E<k;E++)h[x.right[E]]=[l,0];for(E=0,k=x.down.length;E<k;E++)h[x.down[E]]=[0,l];for(E=0,k=x.up.length;E<k;E++)h[x.up[E]]=[0,-1*l]},_setZoomDelta:function(l){var h=this._zoomKeys={},x=this.keyCodes,E,k;for(E=0,k=x.zoomIn.length;E<k;E++)h[x.zoomIn[E]]=l;for(E=0,k=x.zoomOut.length;E<k;E++)h[x.zoomOut[E]]=-l},_addHooks:function(){bt(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Ai(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(l){if(!(l.altKey||l.ctrlKey||l.metaKey)){var h=l.keyCode,x=this._map,E;if(h in this._panKeys){if(!x._panAnim||!x._panAnim._inProgress)if(E=this._panKeys[h],l.shiftKey&&(E=Ue(E).multiplyBy(3)),x.options.maxBounds&&(E=x._limitOffset(Ue(E),x.options.maxBounds)),x.options.worldCopyJump){var k=x.wrapLatLng(x.unproject(x.project(x.getCenter()).add(E)));x.panTo(k)}else x.panBy(E)}else if(h in this._zoomKeys)x.setZoom(x.getZoom()+(l.shiftKey?3:1)*this._zoomKeys[h]);else if(h===27&&x._popup&&x._popup.options.closeOnEscapeKey)x.closePopup();else return;tn(l)}}});Oi.addInitHook("addHandler","keyboard",As),Oi.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var hs=ao.extend({addHooks:function(){bt(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Ai(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var h=An(l),x=this._map.options.wheelDebounceTime;this._delta+=h,this._lastMousePos=this._map.mouseEventToContainerPoint(l),this._startTime||(this._startTime=+new Date);var E=Math.max(x-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(r(this._performZoom,this),E),tn(l)},_performZoom:function(){var l=this._map,h=l.getZoom(),x=this._map.options.zoomSnap||0;l._stop();var E=this._delta/(this._map.options.wheelPxPerZoomLevel*4),k=4*Math.log(2/(1+Math.exp(-Math.abs(E))))/Math.LN2,O=x?Math.ceil(k/x)*x:k,ee=l._limitZoom(h+(this._delta>0?O:-O))-h;this._delta=0,this._startTime=null,ee&&(l.options.scrollWheelZoom==="center"?l.setZoom(h+ee):l.setZoomAround(this._lastMousePos,h+ee))}});Oi.addInitHook("addHandler","scrollWheelZoom",hs);var ls=600;Oi.mergeOptions({tapHold:we.touchNative&&we.safari&&we.mobile,tapTolerance:15});var Ks=ao.extend({addHooks:function(){bt(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Ai(this._map._container,"touchstart",this._onDown,this)},_onDown:function(l){if(clearTimeout(this._holdTimeout),l.touches.length===1){var h=l.touches[0];this._startPos=this._newPos=new xe(h.clientX,h.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(bt(document,"touchend",pi),bt(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",h))},this),ls),bt(document,"touchend touchcancel contextmenu",this._cancel,this),bt(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){Ai(document,"touchend",pi),Ai(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),Ai(document,"touchend touchcancel contextmenu",this._cancel,this),Ai(document,"touchmove",this._onMove,this)},_onMove:function(l){var h=l.touches[0];this._newPos=new xe(h.clientX,h.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(l,h){var x=new MouseEvent(l,{bubbles:!0,cancelable:!0,view:window,screenX:h.screenX,screenY:h.screenY,clientX:h.clientX,clientY:h.clientY});x._simulated=!0,h.target.dispatchEvent(x)}});Oi.addInitHook("addHandler","tapHold",Ks),Oi.mergeOptions({touchZoom:we.touch,bounceAtZoomLimits:!0});var Tn=ao.extend({addHooks:function(){Me(this._map._container,"leaflet-touch-zoom"),bt(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){ct(this._map._container,"leaflet-touch-zoom"),Ai(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(l){var h=this._map;if(!(!l.touches||l.touches.length!==2||h._animatingZoom||this._zooming)){var x=h.mouseEventToContainerPoint(l.touches[0]),E=h.mouseEventToContainerPoint(l.touches[1]);this._centerPoint=h.getSize()._divideBy(2),this._startLatLng=h.containerPointToLatLng(this._centerPoint),h.options.touchZoom!=="center"&&(this._pinchStartLatLng=h.containerPointToLatLng(x.add(E)._divideBy(2))),this._startDist=x.distanceTo(E),this._startZoom=h.getZoom(),this._moved=!1,this._zooming=!0,h._stop(),bt(document,"touchmove",this._onTouchMove,this),bt(document,"touchend touchcancel",this._onTouchEnd,this),pi(l)}},_onTouchMove:function(l){if(!(!l.touches||l.touches.length!==2||!this._zooming)){var h=this._map,x=h.mouseEventToContainerPoint(l.touches[0]),E=h.mouseEventToContainerPoint(l.touches[1]),k=x.distanceTo(E)/this._startDist;if(this._zoom=h.getScaleZoom(k,this._startZoom),!h.options.bounceAtZoomLimits&&(this._zoom<h.getMinZoom()&&k<1||this._zoom>h.getMaxZoom()&&k>1)&&(this._zoom=h._limitZoom(this._zoom)),h.options.touchZoom==="center"){if(this._center=this._startLatLng,k===1)return}else{var O=x._add(E)._divideBy(2)._subtract(this._centerPoint);if(k===1&&O.x===0&&O.y===0)return;this._center=h.unproject(h.project(this._pinchStartLatLng,this._zoom).subtract(O),this._zoom)}this._moved||(h._moveStart(!0,!1),this._moved=!0),ue(this._animRequest);var ee=r(h._move,h,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=J(ee,this,!0),pi(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,ue(this._animRequest),Ai(document,"touchmove",this._onTouchMove,this),Ai(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))}});Oi.addInitHook("addHandler","touchZoom",Tn),Oi.BoxZoom=Rs,Oi.DoubleClickZoom=bo,Oi.Drag=Ns,Oi.Keyboard=As,Oi.ScrollWheelZoom=hs,Oi.TapHold=Ks,Oi.TouchZoom=Tn,t.Bounds=ve,t.Browser=we,t.CRS=Nt,t.Canvas=sn,t.Circle=Af,t.CircleMarker=dh,t.Class=re,t.Control=On,t.DivIcon=G,t.DivOverlay=vr,t.DomEvent=Pn,t.DomUtil=Wt,t.Draggable=ir,t.Evented=Pe,t.FeatureGroup=jr,t.GeoJSON=mr,t.GridLayer=ht,t.Handler=ao,t.Icon=ql,t.ImageOverlay=ld,t.LatLng=yt,t.LatLngBounds=Mt,t.Layer=nr,t.LayerGroup=Ja,t.LineUtil=sd,t.Map=Oi,t.Marker=ch,t.Mixin=ah,t.Path=xa,t.Point=xe,t.PolyUtil=Cf,t.Polygon=el,t.Polyline=xr,t.Popup=ph,t.PosAnimation=Jn,t.Projection=Nb,t.Rectangle=_n,t.Renderer=Gi,t.SVG=Dn,t.SVGOverlay=fx,t.TileLayer=nt,t.Tooltip=xh,t.Transformation=St,t.Util=be,t.VideoOverlay=If,t.bind=r,t.bounds=mt,t.canvas=fn,t.circle=kf,t.circleMarker=dx,t.control=es,t.divIcon=de,t.extend=n,t.featureGroup=ax,t.geoJSON=Ff,t.geoJson=Hb,t.gridLayer=pt,t.icon=lx,t.imageOverlay=Lf,t.latLng=Ce,t.latLngBounds=st,t.layerGroup=rx,t.map=Gs,t.marker=cx,t.point=Ue,t.polygon=ux,t.polyline=Ob,t.popup=Vb,t.rectangle=$n,t.setOptions=y,t.stamp=d,t.svg=us,t.svgOverlay=zb,t.tileLayer=li,t.tooltip=jb,t.transformation=Qt,t.version=i,t.videoOverlay=Wb;var ps=window.L;t.noConflict=function(){return window.L=ps,this},window.L=t}))})(rg,rg.exports)),rg.exports}var uZ=dZ();const jf=gS(uZ),hZ="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=",fZ="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==",gZ="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",Nn=(o,e=ab)=>{var t=pZ(),i=v(_(t),2),n=_(i);j(()=>W(n,e())),D(o,t)};var pZ=B('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),xZ=B("<button> </button>"),mZ=B('<span class="err svelte-767znw"> </span>'),vZ=B('<span class="ok svelte-767znw"> </span>'),_Z=B('<div class="loading svelte-767znw">Loading…</div>'),bZ=B('<section id="sec-appearance" class="svelte-767znw"><h3 class="svelte-767znw">Appearance</h3> <div class="field svelte-767znw"><label for="theme-select" class="svelte-767znw">Color theme</label> <select id="theme-select" class="svelte-767znw"><option>Dark</option><option>Light</option><option>System (OS preference)</option></select></div></section>'),CZ=B('<div class="field svelte-767znw"><label class="svelte-767znw"> <!></label> <input type="password" placeholder="Enter new password" autocomplete="new-password" class="svelte-767znw"/></div>'),EZ=B('<div class="field svelte-767znw"><label class="svelte-767znw">Proxy user header <!></label> <input type="text" placeholder="X-Remote-User" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Logout URL <!></label> <input type="text" placeholder="https://auth.example.com/…/end-session/" class="svelte-767znw"/></div>',1),yZ=B('<div class="field-error svelte-767znw"> </div>'),wZ=B('<div class="field-ok svelte-767znw"> </div>'),SZ=B('<section id="sec-auth" class="svelte-767znw"><h3 class="svelte-767znw">Authentication</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Mode <!></label> <select class="svelte-767znw"><option>None (open)</option><option>Password</option><option>Proxy header (nginx / authentik)</option></select></div> <!> <!> <!> <!> <div class="field svelte-767znw"><span></span> <button class="save-auth-btn svelte-767znw"> </button></div></section>'),DZ=B('<div class="field svelte-767znw"><label class="svelte-767znw">CA certificate <!></label> <textarea rows="4" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" spellcheck="false" class="svelte-767znw"></textarea></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client certificate <!></label> <textarea rows="4" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" spellcheck="false" class="svelte-767znw"></textarea></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client private key <!></label> <textarea rows="4" placeholder="-----BEGIN PRIVATE KEY----- … -----END PRIVATE KEY-----" spellcheck="false" class="svelte-767znw"></textarea></div>',1),AZ=B('<section id="sec-mqtt" class="svelte-767znw"><h3 class="svelte-767znw">MQTT</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Protocol <!></label> <select class="svelte-767znw"><option>mqtt (plain TCP)</option><option>mqtts (TLS)</option><option>ws (WebSocket)</option><option>wss (WebSocket + TLS)</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Broker address <!></label> <input type="text" placeholder="localhost:1883" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Username <!></label> <input type="text" placeholder="(optional)" autocomplete="off" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Password <!></label> <input type="password" placeholder="(optional)" autocomplete="new-password" class="svelte-767znw"/></div> <!> <div class="field svelte-767znw"><label class="svelte-767znw">MQTT protocol version <!></label> <select class="svelte-767znw"><option>3.1.1 (default)</option><option>5.0</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client name <!></label> <input type="text" placeholder="she" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Variable prefix <!></label> <input type="text" placeholder="var" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Disable variable system <!></label></div></section>'),kZ=B('<section id="sec-broker" class="svelte-767znw"><h3 class="svelte-767znw">Mosquitto management</h3> <div class="field field--check svelte-767znw"><label class="svelte-767znw">Enable <!></label> <label><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Mosquitto management<!></label></div></section>'),BZ=B('<div class="field svelte-767znw"><label class="svelte-767znw">Storage path <!></label> <input id="matter-storage-input" type="text" class="svelte-767znw"/></div>'),FZ=B('<section id="sec-matter" class="svelte-767znw"><h3 class="svelte-767znw">Matter controller</h3> <div class="field field--check svelte-767znw"><label class="svelte-767znw">Enable <!></label> <label><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Matter controller<!></label></div> <!></section>'),LZ=B('<section id="sec-webserver" class="svelte-767znw"><h3 class="svelte-767znw">Web server</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Port <!></label> <input type="number" min="0" max="65535" placeholder="8080" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Bind address <!></label> <input type="text" placeholder="0.0.0.0 (default)" class="svelte-767znw"/></div></section>'),IZ=B('<section id="sec-scripts" class="svelte-767znw"><h3 class="svelte-767znw">Scripts</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Scripts directory <!></label> <input type="text" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Disable file watching <!></label></div></section>'),PZ=B('<section id="sec-git" class="svelte-767znw"><h3 class="svelte-767znw">Git</h3> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-commit on save <!></label></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-push after commit <!></label></div></section>'),O2=B("<option> </option>"),TZ=B('<div class="field svelte-767znw"><div class="map-label svelte-767znw">Map <span class="map-note svelte-767znw">(click or drag marker to set location — requires internet for tiles)</span></div> <div class="map-container svelte-767znw"></div></div>'),MZ=B('<section id="sec-solar" class="svelte-767znw"><h3 class="svelte-767znw">Location</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Timezone <!></label> <input type="text" list="tz-list" placeholder="(system default)" autocomplete="off" spellcheck="false" class="svelte-767znw"/> <datalist id="tz-list"></datalist></div> <div class="field svelte-767znw"><label class="svelte-767znw">Latitude <!></label> <input type="number" step="0.0001" placeholder="48.7408" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Longitude <!></label> <input type="number" step="0.0001" placeholder="9.1778" class="svelte-767znw"/></div> <div class="field geo-actions svelte-767znw"><span></span> <div class="geo-btns svelte-767znw"><button class="geo-btn svelte-767znw"><!></button> <button class="geo-btn svelte-767znw"> </button></div></div> <!></section>'),RZ=B('<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> Retain document messages <!></label></div>'),NZ=B('<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 class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Publish documents to MQTT <!></label></div> <!>',1),OZ=B('<section id="sec-shedb" class="svelte-767znw"><h3 class="svelte-767znw">sheDB</h3> <div class="field field--check svelte-767znw"><label class="svelte-767znw">Enable <!></label> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> sheDB</label></div> <!></section>'),HZ=B('<section id="sec-redis" class="svelte-767znw"><h3 class="svelte-767znw">Redis</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Redis URL <!></label> <input type="text" placeholder="leave empty to disable" class="svelte-767znw"/></div></section>'),WZ=B('<section id="sec-logging" class="svelte-767znw"><h3 class="svelte-767znw">Logging</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Verbosity <!></label> <select class="svelte-767znw"><option>debug</option><option>info</option><option>warn</option><option>error</option></select></div></section>'),zZ=B('<span class="free-badge svelte-767znw">FREE</span> ',1),VZ=B(' — <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),jZ=B("<div><!> <!></div>"),$Z=B('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),UZ=B('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),qZ=B('<section id="sec-ai" class="svelte-767znw"><h3 class="svelte-767znw">AI Assistant</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Provider <!></label> <select class="svelte-767znw"></select></div> <!> <!> <div class="field svelte-767znw"><label class="svelte-767znw">Model <!></label> <input type="text" class="svelte-767znw"/></div> <!></section>'),GZ=B('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),KZ=B('<!> <div class="config-root svelte-767znw"><aside class="config-sidebar svelte-767znw"><div class="sidebar-search svelte-767znw"><svg class="search-icon svelte-767znw" width="13" height="13" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><circle cx="6.5" cy="6.5" r="4.5"></circle><line x1="10" y1="10" x2="14" y2="14"></line></svg> <input class="search-input svelte-767znw" type="search" placeholder="Filter settings…" autocomplete="off" spellcheck="false"/></div> <nav class="section-nav svelte-767znw"></nav></aside> <div class="config-main svelte-767znw"><div class="config-topbar svelte-767znw"><span class="topbar-title svelte-767znw">Settings</span> <!> <!> <button class="save-btn svelte-767znw"> </button></div> <!></div></div>',1);function ZZ(o,e){js(e,!0),delete jf.Icon.Default.prototype._getIconUrl,jf.Icon.Default.mergeOptions({iconUrl:hZ,iconRetinaUrl:fZ,shadowUrl:gZ});let t=F(Pi(I$())),i=F("~/.she"),n=F("mqtt"),s=F(""),r=F(""),a=F(""),d=F(""),u=F(""),f=F(""),g=F("logic"),p=F("var"),C=F(""),b=F(!1),y=F(!1),w=F(!1),A=F(!1),I=F(""),M=F(!1),R=F(8080),T=F(""),V=F("none"),H=F(""),X=F("X-Remote-User"),se=F(""),he=F(!1),J=F(""),ue=F(""),be=F(""),re=F(!1),ce=F(!1),ke=F(!1),Pe=F(""),xe=F(48.7408),He=F(9.1778),Ue=F(!1),ve=F(void 0),mt=F(!1),Mt=F(null),st=F("info"),yt=F(!0),Ce=F(""),Nt=F(""),si=F(!1),Xe=F(!1),et=F("");const St=[{id:"ollama",label:"Ollama (local)",provider:"ollama",baseUrl:"",defaultModel:"",freeNote:"",apiKeyUrl:""},{id:"lmstudio",label:"LM Studio (local)",provider:"openai",baseUrl:"http://localhost:1234",defaultModel:"",freeNote:"",apiKeyUrl:""},{id:"groq",label:"Groq — Qwen 2.5 Coder 32B (free)",provider:"openai",baseUrl:"https://api.groq.com/openai/v1",defaultModel:"qwen-2.5-coder-32b",freeNote:"14 400 req/day · no credit card needed",apiKeyUrl:"https://console.groq.com/keys"},{id:"gemini",label:"Google Gemini 2.0 Flash (free)",provider:"openai",baseUrl:"https://generativelanguage.googleapis.com/v1beta/openai",defaultModel:"gemini-2.0-flash",freeNote:"15 RPM · 1 000 000 tokens/day · no credit card",apiKeyUrl:"https://aistudio.google.com/apikey"},{id:"openai",label:"OpenAI (paid)",provider:"openai",baseUrl:"",defaultModel:"gpt-4o-mini",freeNote:"",apiKeyUrl:"https://platform.openai.com/api-keys"},{id:"anthropic",label:"Anthropic (paid)",provider:"anthropic",baseUrl:"",defaultModel:"claude-3-5-haiku-20241022",freeNote:"",apiKeyUrl:"https://console.anthropic.com/settings/keys"}];let Qt=F("ollama"),fi=F("ollama"),oi=F(""),Bi=F(""),_i=F("");const Ke={};let ye="ollama";function ti(te,Ye){return te==="anthropic"?"anthropic":te==="ollama"?"ollama":Ye?Ye.includes("localhost:1234")?"lmstudio":Ye.includes("groq.com")?"groq":Ye.includes("googleapis.com")?"gemini":"openai":"openai"}function Ei(){Ke[ye]={baseUrl:c(oi),model:c(Bi),apiKey:c(_i)};const te=St.find(Bt=>Bt.id===c(Qt));if(!te)return;m(fi,te.provider,!0);const Ye=Ke[c(Qt)];m(oi,(Ye==null?void 0:Ye.baseUrl)??te.baseUrl,!0),m(Bi,(Ye==null?void 0:Ye.model)??te.defaultModel,!0),m(_i,(Ye==null?void 0:Ye.apiKey)??"",!0),ye=c(Qt)}const Jt=Ft(()=>St.find(te=>te.id===c(Qt)));let Vi=F(Pi({}));const Yi=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","broker","matter-storage"]);Kn(()=>{if(!c(ve))return;const te=typeof c(xe)=="number"?c(xe):48.7408,Ye=typeof c(He)=="number"?c(He):9.1778,Bt=jf.map(c(ve)).setView([te,Ye],10);jf.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(Bt);const It=jf.marker([te,Ye],{draggable:!0}).addTo(Bt);m(Mt,It,!0);const Dt=Be=>{m(xe,+Be.lat.toFixed(6)),m(He,+Be.lng.toFixed(6))};return It.on("dragend",()=>Dt(It.getLatLng())),Bt.on("click",Be=>{It.setLatLng(Be.latlng),Dt(Be.latlng)}),()=>{m(Mt,null),Bt.remove()}}),Kn(()=>{!c(Mt)||c(xe)===""||c(He)===""||c(Mt).setLatLng([Number(c(xe)),Number(c(He))])});let Ti;function wn(){if(!navigator.geolocation){Ti.show("Geolocation is not supported by this browser.",{alert:!0});return}m(mt,!0),navigator.geolocation.getCurrentPosition(te=>{m(xe,+te.coords.latitude.toFixed(6)),m(He,+te.coords.longitude.toFixed(6)),m(mt,!1)},()=>{m(mt,!1)})}let cn=F(!0),gn=F(!1),hn=F(""),ft=F(""),Ut=F(""),Ri=F("appearance");const qi=[{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:"broker",label:"Mosquitto",terms:["mosquitto","broker","mqtt broker","management","dynsec"]},{id:"matter",label:"Matter controller",terms:["matter","thread","zigbee","iot","devices","smart home controller"]},{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:"shedb",label:"sheDB",terms:["database","db","shedb","path","retain","enable"]},{id:"redis",label:"Redis",terms:["redis","cache"]},{id:"logging",label:"Logging",terms:["verbosity","debug","info","warn","error"]},{id:"ai",label:"AI Assistant",terms:["llm","ollama","openai","anthropic","model","provider","base url"]}];let bi=Ft(()=>qi.filter(te=>{const Ye=c(Ut).trim().toLowerCase();return!Ye||te.label.toLowerCase().includes(Ye)||te.terms.some(Bt=>Bt.includes(Ye))}));function Wi(te){var Ye;m(Ri,te,!0),(Ye=document.getElementById("sec-"+te))==null||Ye.scrollIntoView({behavior:"smooth",block:"start"})}Xs(async()=>{try{const te=await e0();te.dataDir&&m(i,te.dataDir,!0)}catch{}try{const te=await Pl();if(typeof te.url=="string"&&te.url)try{const Be=new URL(te.url);m(n,Be.protocol.replace(":",""),!0),m(s,Be.host,!0)}catch{m(s,te.url,!0)}typeof te.mqttUsername=="string"&&m(r,te.mqttUsername,!0),typeof te.mqttPassword=="string"&&m(a,te.mqttPassword,!0),typeof te.mqttCa=="string"&&m(d,te.mqttCa,!0),typeof te.mqttCert=="string"&&m(u,te.mqttCert,!0),typeof te.mqttKey=="string"&&m(f,te.mqttKey,!0),typeof te.mqttVersion=="string"&&m(C,te.mqttVersion,!0),typeof te.name=="string"&&m(g,te.name,!0),typeof te.variablePrefix=="string"&&m(p,te.variablePrefix,!0),typeof te.disableVariables=="boolean"&&m(b,te.disableVariables,!0),typeof te.port=="number"&&m(R,te.port,!0),typeof te.bindAddress=="string"&&m(T,te.bindAddress,!0),typeof te.auth=="string"&&m(V,te.auth,!0),typeof te.proxyHeader=="string"&&m(X,te.proxyHeader,!0),typeof te.proxyLogoutUrl=="string"&&m(se,te.proxyLogoutUrl,!0),typeof te.dir=="string"&&m(be,te.dir,!0),typeof te.disableWatch=="boolean"&&m(re,te.disableWatch,!0),typeof te.gitAutoCommit=="boolean"&&m(ce,te.gitAutoCommit,!0),typeof te.gitAutoPush=="boolean"&&m(ke,te.gitAutoPush,!0),typeof te.latitude=="number"&&m(xe,te.latitude,!0),typeof te.longitude=="number"&&m(He,te.longitude,!0),typeof te.timezone=="string"&&m(Pe,te.timezone,!0),typeof te.verbosity=="string"&&m(st,te.verbosity,!0),typeof te.dbPath=="string"?(m(yt,te.dbPath!==""),m(Ce,te.dbPath,!0)):(m(yt,!0),m(Ce,"")),typeof te.dbPrefix=="string"&&m(Nt,te.dbPrefix,!0),typeof te.dbPublish=="boolean"&&m(si,te.dbPublish,!0),typeof te.dbRetain=="boolean"&&m(Xe,te.dbRetain,!0);const Ye=te.redis;Ye!=null&&Ye.url&&m(et,Ye.url,!0);const Bt=te.broker;m(y,(Bt==null?void 0:Bt.enabled)===!0);const It=te["matter-storage"];m(A,!!It),m(I,It&&typeof It=="string"&&It!=="true"?It:"",!0);const Dt=te.ai;Dt!=null&&Dt.provider&&m(fi,Dt.provider,!0),Dt!=null&&Dt.baseUrl&&m(oi,Dt.baseUrl,!0),Dt!=null&&Dt.model&&m(Bi,Dt.model,!0),Dt!=null&&Dt.apiKey&&m(_i,Dt.apiKey,!0),m(Qt,ti(c(fi),c(oi)),!0),ye=c(Qt),m(Vi,Object.fromEntries(Object.entries(te).filter(([Be])=>!Yi.has(Be))),!0),Bt&&m(Vi,{...c(Vi),broker:Bt},!0)}catch(te){m(ft,te.message,!0)}finally{m(cn,!1)}});async function ji(){if(m(ue,""),m(J,""),c(V)==="password"&&!c(H)){m(ue,"A password is required to enable password authentication.");return}m(he,!0);try{await H$(c(V),c(V)==="password"?c(H):void 0,c(V)==="proxy"?c(X):void 0,c(V)==="proxy"?c(se):void 0),m(H,""),m(J,"Authentication settings saved.")}catch(te){m(ue,te.message,!0)}finally{m(he,!1)}}async function Ji(te){if(te){m(yt,!0);return}let Ye=0;try{Ye=(await e0()).dbDocs??0}catch{}Ye>0&&!await Ti.show(`sheDB contains ${Ye} document${Ye===1?"":"s"}. Disabling it will hide the DB page but data on disk is preserved and can be re-enabled later. Continue?`,{confirm:"Disable anyway",danger:!0})||m(yt,!1)}async function Si(te){if(te){m(A,!0);return}m(M,!0);try{const Ye=await dS();if(Ye.length>0){await Ti.show(`Cannot disable the Matter controller: ${Ye.length} device${Ye.length===1?" is":"s are"} still paired. Unpair all devices first via the Matter page.`,{alert:!0});return}}catch{}finally{m(M,!1)}m(A,!1)}async function $i(te){var Ye;if(te){m(y,!0);return}m(w,!0);try{const Bt=await Tb();if((Ye=Bt.dynsec)!=null&&Ye.configured){await Ti.show("Cannot disable mosquitto management: the dynamic security plugin is still configured. Remove it first via Broker → Status.",{alert:!0});return}if(Bt.sshConfigured&&!await Ti.show("An SSH broker connection is configured. Disabling mosquitto management will hide the Broker page but your configuration will be preserved.",{confirm:"Disable anyway",danger:!0}))return}catch{}finally{m(w,!1)}m(y,!1)}async function ze(){m(ft,""),m(hn,"");const te={...c(Vi)};c(s)&&(te.url=`${c(n)}://${c(s)}`),te.name=c(g),te.variablePrefix=c(p),c(C)&&(te.mqttVersion=c(C)),c(b)&&(te.disableVariables=!0),c(r)&&(te.mqttUsername=c(r)),c(a)&&(te.mqttPassword=c(a)),c(d)&&(te.mqttCa=c(d)),c(u)&&(te.mqttCert=c(u)),c(f)&&(te.mqttKey=c(f)),c(R)!==""&&(te.port=Number(c(R))),c(T)&&(te.bindAddress=c(T)),c(be)&&(te.dir=c(be)),c(re)&&(te.disableWatch=!0),c(ce)&&(te.gitAutoCommit=!0),c(ke)&&(te.gitAutoPush=!0),c(xe)!==""&&(te.latitude=Number(c(xe))),c(He)!==""&&(te.longitude=Number(c(He))),c(Pe)&&(te.timezone=c(Pe)),te.verbosity=c(st),c(yt)?c(Ce)&&(te.dbPath=c(Ce),c(Nt)&&(te.dbPrefix=c(Nt)),c(si)&&(te.dbPublish=!0,c(Xe)&&(te.dbRetain=!0))):te.dbPath="",c(et)&&(te.redis={url:c(et)});const Ye=c(Vi).broker??{},{enabled:Bt,...It}=Ye;c(y)?te.broker={...It,enabled:!0}:Object.keys(It).length>0&&(te.broker=It),c(A)&&(te["matter-storage"]=c(I)||!0),c(fi)&&(te.ai={provider:c(fi),...c(oi)?{baseUrl:c(oi)}:{},...c(Bi)?{model:c(Bi)}:{},...c(_i)?{apiKey:c(_i)}:{}}),m(gn,!0);try{const Dt=await pp(te);window.dispatchEvent(new CustomEvent("she:config-changed")),m(hn,Dt.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(Dt){m(ft,Dt.message,!0)}finally{m(gn,!1)}}var qt=KZ(),Fi=Et(qt);gs(Yc(Fi,{}),te=>Ti=te,()=>Ti);var zi=v(Fi,2),Di=_(zi),K=_(Di),De=v(_(K),2),Qe=v(K,2);ei(Qe,21,()=>qi,te=>te.id,(te,Ye)=>{var Bt=ws(),It=Et(Bt);{var Dt=je=>{var Kt=xZ();let ri;var hi=_(Kt);j(()=>{ri=kt(Kt,1,"section-link svelte-767znw",null,ri,{active:c(Ri)===c(Ye).id}),W(hi,c(Ye).label)}),U("click",Kt,()=>Wi(c(Ye).id)),D(je,Kt)},Be=Ft(()=>c(bi).some(je=>je.id===c(Ye).id));z(It,je=>{c(Be)&&je(Dt)})}D(te,Bt)});var tt=v(Di,2),Gt=_(tt),ci=v(_(Gt),2);{var vt=te=>{var Ye=mZ(),Bt=_(Ye);j(()=>W(Bt,c(ft))),D(te,Ye)};z(ci,te=>{c(ft)&&te(vt)})}var dt=v(ci,2);{var Y=te=>{var Ye=vZ(),Bt=_(Ye);j(()=>W(Bt,c(hn))),D(te,Ye)};z(dt,te=>{c(hn)&&te(Y)})}var Te=v(dt,2),lt=_(Te),we=v(Gt,2);{var di=te=>{var Ye=_Z();D(te,Ye)},Lt=te=>{var Ye=GZ(),Bt=_(Ye);{var It=ge=>{var Re=bZ(),Ne=v(_(Re),2),it=v(_(Ne),2),at=_(it);at.value=at.__value="dark";var Oe=v(at);Oe.value=Oe.__value="light";var ut=v(Oe);ut.value=ut.__value="system",U("change",it,()=>P$(c(t))),Fs(it,()=>c(t),fe=>m(t,fe)),D(ge,Re)},Dt=Ft(()=>c(bi).some(ge=>ge.id==="appearance"));z(Bt,ge=>{c(Dt)&&ge(It)})}var Be=v(Bt,2);{var je=ge=>{var Re=SZ(),Ne=v(_(Re),2),it=_(Ne),at=v(_(it));Nn(at,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var Oe=v(it,2),ut=_(Oe);ut.value=ut.__value="none";var fe=v(ut);fe.value=fe.__value="password";var Ve=v(fe);Ve.value=Ve.__value="proxy";var Ct=v(Ne,2);{var Wt=ii=>{var pi=CZ(),tn=_(pi),dn=_(tn),In=v(dn);Nn(In,()=>"Set a new password. Leave empty to keep the current password (if already set).");var Ni=v(tn,2);j(()=>W(dn,`${c(H)?"New password":"Password"} `)),Vt(Ni,()=>c(H),An=>m(H,An)),D(ii,pi)};z(Ct,ii=>{c(V)==="password"&&ii(Wt)})}var bt=v(Ct,2);{var gi=ii=>{var pi=EZ(),tn=Et(pi),dn=_(tn),In=v(_(dn));Nn(In,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var Ni=v(dn,2),An=v(tn,2),Gn=_(An),Pn=v(_(Gn));Nn(Pn,()=>"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 Jn=v(Gn,2);Vt(Ni,()=>c(X),Oi=>m(X,Oi)),Vt(Jn,()=>c(se),Oi=>m(se,Oi)),D(ii,pi)};z(bt,ii=>{c(V)==="proxy"&&ii(gi)})}var Ai=v(bt,2);{var Xi=ii=>{var pi=yZ(),tn=_(pi);j(()=>W(tn,c(ue))),D(ii,pi)};z(Ai,ii=>{c(ue)&&ii(Xi)})}var yi=v(Ai,2);{var ai=ii=>{var pi=wZ(),tn=_(pi);j(()=>W(tn,c(J))),D(ii,pi)};z(yi,ii=>{c(J)&&ii(ai)})}var zt=v(yi,2),At=v(_(zt),2),Ht=_(At);j(()=>{At.disabled=c(he)||c(V)==="password"&&!c(H),W(Ht,c(he)?"Saving…":"Apply authentication settings")}),Fs(Oe,()=>c(V),ii=>m(V,ii)),U("click",At,ji),D(ge,Re)},Kt=Ft(()=>c(bi).some(ge=>ge.id==="auth"));z(Be,ge=>{c(Kt)&&ge(je)})}var ri=v(Be,2);{var hi=ge=>{var Re=AZ(),Ne=v(_(Re),2),it=_(Ne),at=v(_(it));Nn(at,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var Oe=v(it,2),ut=_(Oe);ut.value=ut.__value="mqtt";var fe=v(ut);fe.value=fe.__value="mqtts";var Ve=v(fe);Ve.value=Ve.__value="ws";var Ct=v(Ve);Ct.value=Ct.__value="wss";var Wt=v(Ne,2),bt=_(Wt),gi=v(_(bt));Nn(gi,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var Ai=v(bt,2),Xi=v(Wt,2),yi=_(Xi),ai=v(_(yi));Nn(ai,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var zt=v(yi,2),At=v(Xi,2),Ht=_(At),ii=v(_(Ht));Nn(ii,()=>"MQTT broker password. Stored in plain text in config.json.");var pi=v(Ht,2),tn=v(At,2);{var dn=Ls=>{var ao=DZ(),ah=Et(ao),Vl=_(ah),ir=v(_(Vl));Nn(ir,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var Jc=v(Vl,2),jl=v(ah,2),Ya=_(jl),Cf=v(_(Ya));Nn(Cf,()=>"PEM-encoded client certificate for mutual TLS authentication.");var ed=v(Ya,2),lh=v(jl,2),td=_(lh),id=v(_(td));Nn(id,()=>"PEM-encoded private key matching the client certificate.");var $l=v(td,2);Vt(Jc,()=>c(d),pa=>m(d,pa)),Vt(ed,()=>c(u),pa=>m(u,pa)),Vt($l,()=>c(f),pa=>m(f,pa)),D(Ls,ao)};z(tn,Ls=>{(c(n)==="mqtts"||c(n)==="wss")&&Ls(dn)})}var In=v(tn,2),Ni=_(In),An=v(_(Ni));Nn(An,()=>"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 Gn=v(Ni,2),Pn=_(Gn);Pn.value=Pn.__value="";var Jn=v(Pn);Jn.value=Jn.__value="5";var Oi=v(In,2),Gs=_(Oi),On=v(_(Gs));Nn(On,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var es=v(Gs,2),Ms=v(Oi,2),tr=_(Ms),zr=v(_(tr));Nn(zr,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var Xa=v(tr,2),zl=v(Ms,2),pr=v(_(zl),2),Vr=_(pr),Qc=v(Vr,4);Nn(Qc,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),Fs(Oe,()=>c(n),Ls=>m(n,Ls)),Vt(Ai,()=>c(s),Ls=>m(s,Ls)),Vt(zt,()=>c(r),Ls=>m(r,Ls)),Vt(pi,()=>c(a),Ls=>m(a,Ls)),Fs(Gn,()=>c(C),Ls=>m(C,Ls)),Vt(es,()=>c(g),Ls=>m(g,Ls)),Vt(Xa,()=>c(p),Ls=>m(p,Ls)),ys(Vr,()=>c(b),Ls=>m(b,Ls)),D(ge,Re)},Xt=Ft(()=>c(bi).some(ge=>ge.id==="mqtt"));z(ri,ge=>{c(Xt)&&ge(hi)})}var pe=v(ri,2);{var Ge=ge=>{var Re=kZ(),Ne=v(_(Re),2),it=_(Ne),at=v(_(it));Nn(at,()=>"Shows the Broker page in the navigation, giving access to listener config, dynamic security, TLS certificates and more. Disable if you are not using Mosquitto or prefer to manage it externally.");var Oe=v(it,2);let ut;var fe=_(Oe),Ve=v(fe,4);{var Ct=Wt=>{var bt=oo("— checking…");D(Wt,bt)};z(Ve,Wt=>{c(w)&&Wt(Ct)})}j(()=>{ut=kt(Oe,1,"check-label svelte-767znw",null,ut,{muted:c(w)}),Zo(fe,c(y)),fe.disabled=c(w)}),U("change",fe,Wt=>$i(Wt.target.checked)),D(ge,Re)},ot=Ft(()=>c(bi).some(ge=>ge.id==="broker"));z(pe,ge=>{c(ot)&&ge(Ge)})}var rt=v(pe,2);{var jt=ge=>{var Re=FZ(),Ne=v(_(Re),2),it=_(Ne),at=v(_(it));Nn(at,()=>"Shows the Matter page and starts the built-in Matter controller on next restart. Requires a restart to take effect. Disable only after unpairing all devices.");var Oe=v(it,2);let ut;var fe=_(Oe),Ve=v(fe,4);{var Ct=gi=>{var Ai=oo("— checking…");D(gi,Ai)};z(Ve,gi=>{c(M)&&gi(Ct)})}var Wt=v(Ne,2);{var bt=gi=>{var Ai=BZ(),Xi=_(Ai),yi=v(_(Xi));Nn(yi,()=>"Path to the Matter controller storage directory. Leave empty to use the default ({dataDir}/matter).");var ai=v(Xi,2);j(()=>ln(ai,"placeholder",`${c(i)??""}/matter (default)`)),Vt(ai,()=>c(I),zt=>m(I,zt)),D(gi,Ai)};z(Wt,gi=>{c(A)&&gi(bt)})}j(()=>{ut=kt(Oe,1,"check-label svelte-767znw",null,ut,{muted:c(M)}),Zo(fe,c(A)),fe.disabled=c(M)}),U("change",fe,gi=>Si(gi.target.checked)),D(ge,Re)},Ot=Ft(()=>c(bi).some(ge=>ge.id==="matter"));z(rt,ge=>{c(Ot)&&ge(jt)})}var Ci=v(rt,2);{var P=ge=>{var Re=LZ(),Ne=v(_(Re),2),it=_(Ne),at=v(_(it));Nn(at,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var Oe=v(it,2),ut=v(Ne,2),fe=_(ut),Ve=v(_(fe));Nn(Ve,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var Ct=v(fe,2);Vt(Oe,()=>c(R),Wt=>m(R,Wt)),Vt(Ct,()=>c(T),Wt=>m(T,Wt)),D(ge,Re)},N=Ft(()=>c(bi).some(ge=>ge.id==="webserver"));z(Ci,ge=>{c(N)&&ge(P)})}var $=v(Ci,2);{var oe=ge=>{var Re=IZ(),Ne=v(_(Re),2),it=_(Ne),at=v(_(it));Nn(at,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var Oe=v(it,2),ut=v(Ne,2),fe=v(_(ut),2),Ve=_(fe),Ct=v(Ve,4);Nn(Ct,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),j(()=>ln(Oe,"placeholder",`${c(i)??""}/scripts (default)`)),Vt(Oe,()=>c(be),Wt=>m(be,Wt)),ys(Ve,()=>c(re),Wt=>m(re,Wt)),D(ge,Re)},ne=Ft(()=>c(bi).some(ge=>ge.id==="scripts"));z($,ge=>{c(ne)&&ge(oe)})}var ie=v($,2);{var ae=ge=>{var Re=PZ(),Ne=v(_(Re),2),it=v(_(Ne),2),at=_(it),Oe=v(at,4);Nn(Oe,()=>"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 ut=v(Ne,2),fe=v(_(ut),2),Ve=_(fe),Ct=v(Ve,4);Nn(Ct,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),ys(at,()=>c(ce),Wt=>m(ce,Wt)),ys(Ve,()=>c(ke),Wt=>m(ke,Wt)),D(ge,Re)},Je=Ft(()=>c(bi).some(ge=>ge.id==="git"));z(ie,ge=>{c(Je)&&ge(ae)})}var Le=v(ie,2);{var _e=ge=>{var Re=MZ(),Ne=v(_(Re),2),it=_(Ne),at=v(_(it));Nn(at,()=>"IANA timezone for cron scheduling (e.g. Europe/Berlin). Leave empty to use the system timezone. Requires daemon restart.");var Oe=v(it,2),ut=v(Oe,2);ei(ut,20,()=>{var Ni;return((Ni=Intl.supportedValuesOf)==null?void 0:Ni.call(Intl,"timeZone"))??[]},Hi,(Ni,An)=>{var Gn=O2(),Pn=_(Gn),Jn={};j(()=>{W(Pn,An),Jn!==(Jn=An)&&(Gn.value=(Gn.__value=An)??"")}),D(Ni,Gn)});var fe=v(Ne,2),Ve=_(fe),Ct=v(_(Ve));Nn(Ct,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Wt=v(Ve,2),bt=v(fe,2),gi=_(bt),Ai=v(_(gi));Nn(Ai,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Xi=v(gi,2),yi=v(bt,2),ai=v(_(yi),2),zt=_(ai),At=_(zt);{var Ht=Ni=>{var An=oo("…");D(Ni,An)},ii=Ni=>{var An=oo("📍 Use my location");D(Ni,An)};z(At,Ni=>{c(mt)?Ni(Ht):Ni(ii,-1)})}var pi=v(zt,2),tn=_(pi),dn=v(yi,2);{var In=Ni=>{var An=TZ(),Gn=v(_(An),2);gs(Gn,Pn=>m(ve,Pn),()=>c(ve)),D(Ni,An)};z(dn,Ni=>{c(Ue)&&Ni(In)})}j(()=>{zt.disabled=c(mt),W(tn,c(Ue)?"Hide map":"Pick on map")}),Vt(Oe,()=>c(Pe),Ni=>m(Pe,Ni)),Vt(Wt,()=>c(xe),Ni=>m(xe,Ni)),Vt(Xi,()=>c(He),Ni=>m(He,Ni)),U("click",zt,wn),U("click",pi,()=>m(Ue,!c(Ue))),D(ge,Re)},Ze=Ft(()=>c(bi).some(ge=>ge.id==="solar"));z(Le,ge=>{c(Ze)&&ge(_e)})}var Me=v(Le,2);{var ct=ge=>{var Re=OZ(),Ne=v(_(Re),2),it=_(Ne),at=v(_(it));Nn(at,()=>"Built-in JSON document store used by scripts and the DB page. Disable only if you don't use it — data on disk is preserved.");var Oe=v(it,2),ut=_(Oe),fe=v(Ne,2);{var Ve=Ct=>{var Wt=NZ(),bt=Et(Wt),gi=_(bt),Ai=v(_(gi));Nn(Ai,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to use the default.");var Xi=v(gi,2),yi=v(bt,2),ai=_(yi),zt=v(_(ai));Nn(zt,()=>"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 At=v(ai,2),Ht=v(yi,2),ii=v(_(Ht),2),pi=_(ii),tn=v(pi,4);Nn(tn,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var dn=v(Ht,2);{var In=Ni=>{var An=RZ(),Gn=v(_(An),2),Pn=_(Gn),Jn=v(Pn,4);Nn(Jn,()=>"When enabled, MQTT messages for document changes are published as retained messages."),ys(Pn,()=>c(Xe),Oi=>m(Xe,Oi)),D(Ni,An)};z(dn,Ni=>{c(si)&&Ni(In)})}j(()=>ln(Xi,"placeholder",`defaults to ${c(i)??""}/db`)),Vt(Xi,()=>c(Ce),Ni=>m(Ce,Ni)),Vt(At,()=>c(Nt),Ni=>m(Nt,Ni)),ys(pi,()=>c(si),Ni=>m(si,Ni)),D(Ct,Wt)};z(fe,Ct=>{c(yt)&&Ct(Ve)})}j(()=>Zo(ut,c(yt))),U("change",ut,Ct=>Ji(Ct.target.checked)),D(ge,Re)},Zt=Ft(()=>c(bi).some(ge=>ge.id==="shedb"));z(Me,ge=>{c(Zt)&&ge(ct)})}var Z=v(Me,2);{var le=ge=>{var Re=HZ(),Ne=v(_(Re),2),it=_(Ne),at=v(_(it));Nn(at,()=>"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 Oe=v(it,2);Vt(Oe,()=>c(et),ut=>m(et,ut)),D(ge,Re)},$e=Ft(()=>c(bi).some(ge=>ge.id==="redis"));z(Z,ge=>{c($e)&&ge(le)})}var Pt=v(Z,2);{var Ee=ge=>{var Re=WZ(),Ne=v(_(Re),2),it=_(Ne),at=v(_(it));Nn(at,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var Oe=v(it,2),ut=_(Oe);ut.value=ut.__value="debug";var fe=v(ut);fe.value=fe.__value="info";var Ve=v(fe);Ve.value=Ve.__value="warn";var Ct=v(Ve);Ct.value=Ct.__value="error",Fs(Oe,()=>c(st),Wt=>m(st,Wt)),D(ge,Re)},We=Ft(()=>c(bi).some(ge=>ge.id==="logging"));z(Pt,ge=>{c(We)&&ge(Ee)})}var wt=v(Pt,2);{var gt=ge=>{var Re=qZ(),Ne=v(_(Re),2),it=_(Ne),at=v(_(it));Nn(at,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var Oe=v(it,2);ei(Oe,21,()=>St,Hi,(ai,zt)=>{var At=O2(),Ht=_(At),ii={};j(()=>{W(Ht,c(zt).label),ii!==(ii=c(zt).id)&&(At.value=(At.__value=c(zt).id)??"")}),D(ai,At)});var ut=v(Ne,2);{var fe=ai=>{var zt=jZ();let At;var Ht=_(zt);{var ii=dn=>{var In=zZ(),Ni=v(Et(In));j(()=>W(Ni,` ${c(Jt).freeNote??""}`)),D(dn,In)};z(Ht,dn=>{c(Jt).freeNote&&dn(ii)})}var pi=v(Ht,2);{var tn=dn=>{var In=VZ(),Ni=v(Et(In));j(()=>ln(Ni,"href",c(Jt).apiKeyUrl)),D(dn,In)};z(pi,dn=>{c(Jt).apiKeyUrl&&dn(tn)})}j(()=>At=kt(zt,1,"preset-note svelte-767znw",null,At,{free:!!c(Jt).freeNote})),D(ai,zt)};z(ut,ai=>{var zt,At;((zt=c(Jt))!=null&&zt.freeNote||(At=c(Jt))!=null&&At.apiKeyUrl)&&ai(fe)})}var Ve=v(ut,2);{var Ct=ai=>{var zt=$Z(),At=_(zt),Ht=v(_(At));Nn(Ht,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var ii=v(At,2);j(()=>{var pi;return ln(ii,"placeholder",c(Qt)==="ollama"?"http://localhost:11434":c(Qt)==="lmstudio"?"http://localhost:1234":((pi=c(Jt))==null?void 0:pi.baseUrl)??"")}),Vt(ii,()=>c(oi),pi=>m(oi,pi)),D(ai,zt)};z(Ve,ai=>{c(Qt)!=="anthropic"&&ai(Ct)})}var Wt=v(Ve,2),bt=_(Wt),gi=v(_(bt));Nn(gi,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var Ai=v(bt,2),Xi=v(Wt,2);{var yi=ai=>{var zt=UZ(),At=_(zt),Ht=v(_(At));Nn(Ht,()=>"Stored in config.json. Not needed for local providers.");var ii=v(At,2);Vt(ii,()=>c(_i),pi=>m(_i,pi)),D(ai,zt)};z(Xi,ai=>{c(Qt)!=="ollama"&&c(Qt)!=="lmstudio"&&ai(yi)})}j(()=>{var ai;return ln(Ai,"placeholder",((ai=c(Jt))==null?void 0:ai.defaultModel)||"e.g. llama3.2")}),U("change",Oe,Ei),Fs(Oe,()=>c(Qt),ai=>m(Qt,ai)),Vt(Ai,()=>c(Bi),ai=>m(Bi,ai)),D(ge,Re)},Ie=Ft(()=>c(bi).some(ge=>ge.id==="ai"));z(wt,ge=>{c(Ie)&&ge(gt)})}D(te,Ye)};z(we,te=>{c(cn)?te(di):te(Lt,-1)})}j(()=>{Te.disabled=c(gn),W(lt,c(gn)?"Saving…":"Save")}),Vt(De,()=>c(Ut),te=>m(Ut,te)),U("click",Te,ze),D(o,qt),$s()}Ys(["click","change"]);var XZ=B("<option> </option>"),YZ=B('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),QZ=B('<div class="page svelte-18loop9"><div class="toolbar svelte-18loop9"><h2 class="svelte-18loop9">Logs</h2> <select class="svelte-18loop9"></select> <input class="filter-in svelte-18loop9" type="search" placeholder="Filter messages…"/> <label class="check-label svelte-18loop9" title="Interpret filter as a regular expression"><input type="checkbox" class="svelte-18loop9"/> <span class="checkmark svelte-18loop9"></span> Regex</label> <label class="check-label svelte-18loop9"><input type="checkbox" class="svelte-18loop9"/> <span class="checkmark svelte-18loop9"></span> Auto-scroll</label> <button class="svelte-18loop9">Clear</button></div> <div class="log svelte-18loop9"></div></div>');function JZ(o,e){js(e,!0);let t=F(Pi(kF())),i,n=F(!0),s=F("all"),r=F(""),a=F(!1);const d=["all","debug","info","warn","error"],u={debug:0,info:1,warn:2,error:3};fS(H=>{m(t,[...c(t).slice(-1999),H],!0)}),Xs(()=>{i&&(i.scrollTop=i.scrollHeight)}),Kn(()=>{c(t).length,c(n)&&i&&(i.scrollTop=i.scrollHeight)});function f(){m(t,[],!0)}function g(H){if(c(s)!=="all"&&u[H.level]<u[c(s)])return!1;if(!c(r))return!0;if(c(a))try{return new RegExp(c(r),"i").test(H.msg)}catch{}return H.msg.toLowerCase().includes(c(r).toLowerCase())}function p(H){return new Date(H).toLocaleTimeString()}var C=QZ(),b=_(C),y=v(_(b),2);ei(y,21,()=>d,Hi,(H,X)=>{var se=XZ(),he=_(se),J={};j(()=>{W(he,c(X)),J!==(J=c(X))&&(se.value=(se.__value=c(X))??"")}),D(H,se)});var w=v(y,2),A=v(w,2),I=_(A),M=v(A,2),R=_(M),T=v(M,2),V=v(b,2);ei(V,21,()=>c(t).filter(g),H=>H.ts+H.msg,(H,X)=>{var se=YZ(),he=_(se),J=_(he),ue=v(he,2),be=_(ue),re=v(ue,2),ce=_(re);j((ke,Pe)=>{kt(se,1,`line ${c(X).level??""}`,"svelte-18loop9"),W(J,ke),W(be,Pe),W(ce,c(X).msg)},[()=>p(c(X).ts),()=>c(X).level.toUpperCase()]),D(H,se)}),gs(V,H=>i=H,()=>i),Fs(y,()=>c(s),H=>m(s,H)),Vt(w,()=>c(r),H=>m(r,H)),ys(I,()=>c(a),H=>m(a,H)),ys(R,()=>c(n),H=>m(n,H)),U("click",T,f),D(o,C),$s()}Ys(["click"]);var eX=B('<span class="chat-model svelte-1twuiul"><!></span>'),tX=B('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),iX=B('<div class="unconfigured svelte-1twuiul">Configure an AI provider in the <strong class="svelte-1twuiul">Config</strong> tab to use the AI assistant.</div>'),nX=B('Working on view <code class="svelte-1twuiul"> </code>',1),sX=B('<button class="chip svelte-1twuiul"> </button>'),oX=B('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),rX=B('<div class="msg-content user-text svelte-1twuiul"> </div>'),H2=B('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),W2=B('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),z2=B('<div class="tool-events svelte-1twuiul"></div>'),V2=B('<div class="text-block svelte-1twuiul"></div>'),aX=B('<button class="expand-btn svelte-1twuiul"> </button>'),lX=B('<div class="code-block svelte-1twuiul"><div class="code-header svelte-1twuiul"><span class="code-lang svelte-1twuiul"> </span> <div class="code-actions svelte-1twuiul"><button class="svelte-1twuiul">Copy</button></div></div> <div><pre class="svelte-1twuiul"><code class="hljs svelte-1twuiul"></code></pre> <!></div></div>'),cX=B('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),dX=B('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),uX=B("<div><!></div>"),hX=B('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),fX=B('<div class="code-block svelte-1twuiul"><div class="code-header svelte-1twuiul"><span class="code-lang svelte-1twuiul"> </span></div> <pre class="svelte-1twuiul"><code class="hljs svelte-1twuiul"></code></pre></div>'),gX=B('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),pX=B('<div class="chat-error svelte-1twuiul"> </div>'),xX=B('<span><span class="badge badge-db svelte-1twuiul">db</span> <span class="chip-name svelte-1twuiul"> </span> <button class="chip-remove svelte-1twuiul"> </button></span>'),mX=B('<span class="file-chip svelte-1twuiul"><span> </span> <span class="chip-name svelte-1twuiul"> </span> <button class="chip-remove svelte-1twuiul" title="Remove from context">×</button></span>'),vX=B('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),_X=B('<button class="send-btn svelte-1twuiul">↑</button>'),bX=B('<option class="svelte-1twuiul"> </option>'),CX=B('<select class="model-select svelte-1twuiul"></select>'),EX=B('<span class="model-name svelte-1twuiul"> </span>'),yX=B('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),wX=B('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),SX=B('<p class="info-status svelte-1twuiul">Loading…</p>'),DX=B('<p class="info-status info-err svelte-1twuiul"> </p>'),AX=B('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),kX=B('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),BX=B('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),FX=B('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),LX=B('<div class="running-model svelte-1twuiul"> </div>'),IX=B('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),PX=B('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),TX=B('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),MX=B('<div class="info-overlay svelte-1twuiul"><div class="info-popup svelte-1twuiul"><div class="info-popup-header svelte-1twuiul"><span class="svelte-1twuiul"> </span> <button title="Close" class="svelte-1twuiul">✕</button></div> <div class="info-popup-body svelte-1twuiul"><!></div></div></div>'),RX=B('<div class="chat-panel svelte-1twuiul"><div class="chat-header svelte-1twuiul"><span class="chat-title svelte-1twuiul">AI — View assistant</span> <!> <!></div> <div class="messages svelte-1twuiul"><!> <!> <!> <!> <!></div> <!> <div class="context-row svelte-1twuiul"><label title="Include sheDB document IDs in context" class="svelte-1twuiul"><input type="checkbox" class="svelte-1twuiul"/><span class="checkmark svelte-1twuiul"></span> Doc IDs</label> <label title="Include sample document content in context (first 10 docs)" class="svelte-1twuiul"><input type="checkbox" class="svelte-1twuiul"/><span class="checkmark svelte-1twuiul"></span> Sample docs</label> <label title="Let the AI query sheDB documents on demand. Disables real-time streaming." class="svelte-1twuiul"><input type="checkbox" class="svelte-1twuiul"/><span class="checkmark svelte-1twuiul"></span> 😎 Agent</label> <span class="req-size svelte-1twuiul"> </span></div> <div class="files-row svelte-1twuiul"><!> <!> <button class="add-file-btn svelte-1twuiul" title="Attach file to context">+</button> <input type="file" multiple="" class="file-input-hidden svelte-1twuiul"/></div> <div><div><textarea rows="3" class="svelte-1twuiul"></textarea></div> <!></div> <!></div> <!>',1);function NX(o,e){js(e,!0),Vv.registerLanguage("javascript",PF),os.use({breaks:!0,gfm:!0});let t=Tu(e,"currentView",3,null);const i="she:viewchat:messages";let n=F(Pi(JSON.parse(localStorage.getItem(i)??"[]"))),s=F(null),r=F(""),a=F(!1),d=F(""),u=F(null),f=F(Pi([])),g=F(Pi(localStorage.getItem("she:selectedModel")??""));Kn(()=>{localStorage.setItem(i,JSON.stringify(c(n)))});let p=F(Pi(new Set)),C=F(!1),b=F(null),y=F(!1),w=F(""),A=null,I=F(0);const M=["[core] reticulating splines…","[io] calibrating the flux capacitor…","[net] pinging the oracle (no response)…","[gpu] overclocking the neurons…","[fs] loading sarcasm module v4.2…","[mem] defragmenting the embedding space…","[sched] running gradient descent into madness…","[net] synchronizing with the hive mind…","[model] tickling the transformer…","[io] consulting rubber duck debugger…"];let R=F(!0),T=F(!0),V=F(!0),H=F(Pi([])),X=F(!0),se=F(!1),he,J=F(Pi([])),ue=F(0),be,re;const ce=Ft(()=>({apiref:!1,shedb:c(R),sampleDocs:c(T),tools:c(V)})),ke=Ft(()=>{var P;return((P=c(u))==null?void 0:P.configured)??!1}),Pe=Ft(()=>c(ue)+new TextEncoder().encode(c(r)).length),xe=Ft(()=>c(X)?t():null);async function He(){try{const P=await CF();m(u,P,!0),P.configured&&!c(g)&&m(g,P.model,!0)}catch{}}Kn(()=>(window.addEventListener("she:config-changed",He),()=>window.removeEventListener("she:config-changed",He))),Xs(()=>{He()}),Kn(()=>{c(g)&&localStorage.setItem("she:selectedModel",c(g))}),Kn(()=>{var P;(P=c(u))!=null&&P.provider&&EF().then(N=>{m(f,N.models,!0),!c(g)&&N.models.length>0&&m(g,N.models[0],!0)}).catch(()=>{})}),Kn(()=>{c(g),m(b,null),m(w,"")}),Kn(()=>{const P=c(ce),N=c(xe),$=c(H);c(ke)&&yF({context:P,currentView:N??null,extraFiles:$.length>0?$:void 0}).then(oe=>{m(ue,new TextEncoder().encode(oe.prompt).length,!0)}).catch(()=>{})}),Kn(()=>{if(!c(a))return;m(I,Math.floor(Math.random()*M.length),!0);const P=setInterval(()=>{m(I,(c(I)+1)%M.length)},1e4);return()=>clearInterval(P)}),Kn(()=>{var P;re&&(c(n).length+(((P=c(s))==null?void 0:P.length)??0),requestAnimationFrame(()=>{re&&(re.scrollTop=re.scrollHeight)}))});function Ue(P){const N=[],$=/```(\w*)\n([\s\S]*?)```/g;let oe=0,ne;for(;(ne=$.exec(P))!==null;)ne.index>oe&&N.push({type:"text",text:P.slice(oe,ne.index)}),N.push({type:"code",lang:ne[1]||"text",text:ne[2].trimEnd()}),oe=ne.index+ne[0].length;return oe<P.length&&N.push({type:"text",text:P.slice(oe)}),N}function ve(P){const N=[],$=/```(\w*)\n([\s\S]*?)```/g;let oe=0,ne;for(;(ne=$.exec(P))!==null;)ne.index>oe&&N.push({type:"text",text:P.slice(oe,ne.index)}),N.push({type:"code",lang:ne[1]||"text",text:ne[2].trimEnd()}),oe=ne.index+ne[0].length;const ie=P.slice(oe),ae=ie.match(/```(\w*)\n([\s\S]*)$/);return ae?(ae.index>0&&N.push({type:"text",text:ie.slice(0,ae.index)}),N.push({type:"code",lang:ae[1]||"text",text:ae[2]})):ie&&N.push({type:"text",text:ie}),N}function mt(P){const N={};for(const $ of P)if($.type==="code"){if($.lang==="filter")N.filter=$.text.trim();else if(et($.lang)){const oe=$.text.split(`
|
|
223
|
-
`)[0].trim();oe==="// @view-map"?N.map=$.text.split(`
|
|
224
|
-
`).slice(1).join(`
|
|
225
|
-
`).trim():oe==="// @view-reduce"&&(N.reduce=$.text.split(`
|
|
226
|
-
`).slice(1).join(`
|
|
227
|
-
`).trim())}}return N}function Mt(P){return P.filter!==void 0||P.map!==void 0||P.reduce!==void 0}function st(P){const N=[];return P.filter!==void 0&&N.push("filter"),P.map!==void 0&&N.push("map"),P.reduce!==void 0&&N.push("reduce"),`Apply ${N.join(" + ")}`}const yt=15;function Ce(P){return P.split(`
|
|
228
|
-
`).length>yt}function Nt(P){const N=new Set(c(p));N.has(P)?N.delete(P):N.add(P),m(p,N,!0)}function si(P,N){if(et(N))try{return Vv.highlight(P,{language:"javascript"}).value}catch{}return P.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function Xe(P){return os.parse(P)}function et(P){return!P||P==="js"||P==="javascript"}function St(P){navigator.clipboard.writeText(P).catch(()=>{})}async function Qt(){if(m(C,!0),!(c(b)||c(y))){m(y,!0),m(w,"");try{m(b,await vw(c(g)||c(u).model),!0)}catch(P){m(w,P.message,!0)}m(y,!1)}}function fi(P){return P>=1e9?`${(P/1e9).toFixed(1)} GB`:P>=1e6?`${(P/1e6).toFixed(0)} MB`:`${P} B`}function oi(P){const N=P.match(/\.([^.]+)$/);return N?N[1].toUpperCase():"?"}function Bi(P){switch(P){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return P}}function _i(P){m(H,c(H).filter((N,$)=>$!==P),!0)}function Ke(){he.click()}async function ye(P){if(!(!P||P.length===0))for(const N of Array.from(P)){const $=await N.text();m(H,[...c(H),{name:N.name,content:$}],!0)}}function ti(P){const N=P.target;ye(N.files),N.value=""}function Ei(P){var N;P.preventDefault(),m(se,!1),ye(((N=P.dataTransfer)==null?void 0:N.files)??null)}function Jt(P){var N;(N=P.dataTransfer)!=null&&N.types.includes("Files")&&(P.preventDefault(),m(se,!0))}function Vi(){m(se,!1)}async function Yi(){const P=c(r).trim();if(!(!P||c(a))){m(r,""),m(d,""),m(a,!0),m(n,[...c(n),{role:"user",content:P}],!0),A=new AbortController,m(J,[],!0);try{await wF({messages:c(n),currentView:c(xe),context:c(ce),modelOverride:c(g)||void 0,extraFiles:c(H).length>0?c(H):void 0},N=>{m(s,(c(s)??"")+N)},A.signal,N=>{m(J,[...c(J),N],!0)}),m(n,[...c(n),{role:"assistant",content:c(s)??"",toolEvents:c(J).length>0?[...c(J)]:void 0}],!0),m(J,[],!0)}catch(N){if(N.name==="AbortError"){const $=c(s);$!=null&&$.trim()&&m(n,[...c(n),{role:"assistant",content:$+`
|
|
229
|
-
|
|
230
|
-
*[stopped]*`,toolEvents:c(J).length>0?[...c(J)]:void 0}],!0)}else m(d,N.message,!0)}finally{A=null,m(s,null),m(J,[],!0),m(a,!1)}}}function Ti(){A==null||A.abort()}function wn(P){P.key==="Enter"&&!P.shiftKey&&(P.preventDefault(),Yi())}function cn(){m(n,[],!0),m(d,"")}const gn=["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 hn(P){m(r,P,!0),be==null||be.focus()}var ft=RX(),Ut=Et(ft),Ri=_(Ut),qi=v(_(Ri),2);{var bi=P=>{var N=eX(),$=_(N);{var oe=ie=>{var ae=oo();j(()=>W(ae,`${c(u).provider??""} · ${(c(g)||c(u).model)??""}`)),D(ie,ae)},ne=ie=>{var ae=oo("Not configured");D(ie,ae)};z($,ie=>{c(ke)?ie(oe):ie(ne,-1)})}j(()=>ln(N,"title",`Provider: ${c(u).provider??""}`)),D(P,N)};z(qi,P=>{c(u)&&P(bi)})}var Wi=v(qi,2);{var ji=P=>{var N=tX();U("click",N,cn),D(P,N)};z(Wi,P=>{c(n).length>0&&P(ji)})}var Ji=v(Ri,2),Si=_(Ji);{var $i=P=>{var N=iX();D(P,N)},ze=P=>{var N=oX(),$=_(N),oe=_($);{var ne=Je=>{var Le=nX(),_e=v(Et(Le)),Ze=_(_e);j(()=>W(Ze,t().id)),D(Je,Le)},ie=Je=>{var Le=oo("No view selected. Ask a general sheDB view question.");D(Je,Le)};z(oe,Je=>{t()?Je(ne):Je(ie,-1)})}var ae=v($,2);ei(ae,17,()=>gn,Hi,(Je,Le)=>{var _e=sX(),Ze=_(_e);j(()=>W(Ze,c(Le))),U("click",_e,()=>hn(c(Le))),D(Je,_e)}),D(P,N)};z(Si,P=>{c(ke)?c(n).length===0&&c(s)===null&&P(ze,1):P($i)})}var qt=v(Si,2);ei(qt,17,()=>c(n),Hi,(P,N,$)=>{var oe=uX(),ne=_(oe);{var ie=Je=>{var Le=rX(),_e=_(Le);j(()=>W(_e,c(N).content)),D(Je,Le)},ae=Je=>{const Le=Ft(()=>Ue(c(N).content)),_e=Ft(()=>mt(c(Le)));var Ze=dX(),Me=Et(Ze);{var ct=Ee=>{var We=z2();ei(We,21,()=>c(N).toolEvents,Hi,(wt,gt)=>{var Ie=ws(),ge=Et(Ie);{var Re=it=>{var at=H2(),Oe=v(_(at)),ut=_(Oe);j(fe=>W(ut,fe),[()=>c(gt).name.replace(/_/g," ")]),D(it,at)},Ne=it=>{var at=W2(),Oe=v(_(at)),ut=_(Oe);j(fe=>W(ut,fe),[()=>c(gt).name.replace(/_/g," ")]),D(it,at)};z(ge,it=>{c(gt).type==="tool_call"?it(Re):it(Ne,-1)})}D(wt,Ie)}),D(Ee,We)};z(Me,Ee=>{var We;(We=c(N).toolEvents)!=null&&We.length&&Ee(ct)})}var Zt=v(Me,2),Z=_(Zt);ei(Z,17,()=>c(Le),Hi,(Ee,We,wt)=>{var gt=ws(),Ie=Et(gt);{var ge=Ne=>{var it=V2();hc(it,()=>Xe(c(We).text),!0),D(Ne,it)},Re=Ne=>{const it=Ft(()=>`${$}:${wt}`),at=Ft(()=>Ce(c(We).text)),Oe=Ft(()=>c(p).has(c(it))),ut=Ft(()=>c(We).lang==="filter");var fe=lX(),Ve=_(fe),Ct=_(Ve),Wt=_(Ct),bt=v(Ct,2),gi=_(bt),Ai=v(Ve,2);let Xi;var yi=_(Ai),ai=_(yi);hc(ai,()=>si(c(We).text,c(We).lang??""),!0);var zt=v(yi,2);{var At=Ht=>{var ii=aX(),pi=_(ii);j(()=>W(pi,c(Oe)?"▲ collapse":"▼ expand")),U("click",ii,()=>Nt(c(it))),D(Ht,ii)};z(zt,Ht=>{c(at)&&Ht(At)})}j(()=>{W(Wt,c(ut)?"filter":c(We).lang),Xi=kt(Ai,1,"code-body svelte-1twuiul",null,Xi,{collapsed:c(at)&&!c(Oe)})}),U("click",gi,()=>St(c(We).text)),D(Ne,fe)};z(Ie,Ne=>{c(We).type==="text"?Ne(ge):Ne(Re,-1)})}D(Ee,gt)});var le=v(Z,2);{var $e=Ee=>{var We=cX(),wt=_(We),gt=_(wt);j(Ie=>W(gt,Ie),[()=>st(c(_e))]),U("click",wt,()=>e.onApplyView(c(_e))),D(Ee,We)},Pt=Ft(()=>Mt(c(_e))&&e.onApplyView);z(le,Ee=>{c(Pt)&&Ee($e)})}D(Je,Ze)};z(ne,Je=>{c(N).role==="user"?Je(ie):Je(ae,-1)})}j(()=>kt(oe,1,`message ${c(N).role??""}`,"svelte-1twuiul")),D(P,oe)});var Fi=v(qt,2);{var zi=P=>{var N=z2();ei(N,21,()=>c(J),Hi,($,oe)=>{var ne=ws(),ie=Et(ne);{var ae=Le=>{var _e=H2(),Ze=v(_(_e)),Me=_(Ze);j(ct=>W(Me,ct),[()=>c(oe).name.replace(/_/g," ")]),D(Le,_e)},Je=Le=>{var _e=W2(),Ze=v(_(_e)),Me=_(Ze);j(ct=>W(Me,ct),[()=>c(oe).name.replace(/_/g," ")]),D(Le,_e)};z(ie,Le=>{c(oe).type==="tool_call"?Le(ae):Le(Je,-1)})}D($,ne)}),D(P,N)};z(Fi,P=>{c(J).length>0&&P(zi)})}var Di=v(Fi,2);{var K=P=>{var N=hX(),$=_(N),oe=_($),ne=_(oe);j(()=>W(ne,M[c(I)])),D(P,N)};z(Di,P=>{c(a)&&c(s)===null&&c(J).length===0&&P(K)})}var De=v(Di,2);{var Qe=P=>{var N=gX(),$=_(N);ei($,21,()=>ve(c(s)),Hi,(oe,ne)=>{var ie=ws(),ae=Et(ie);{var Je=_e=>{var Ze=V2();hc(Ze,()=>Xe(c(ne).text),!0),D(_e,Ze)},Le=_e=>{var Ze=fX(),Me=_(Ze),ct=_(Me),Zt=_(ct),Z=v(Me,2),le=_(Z);hc(le,()=>si(c(ne).text,c(ne).lang??""),!0),j(()=>W(Zt,c(ne).lang)),D(_e,Ze)};z(ae,_e=>{c(ne).type==="text"?_e(Je):_e(Le,-1)})}D(oe,ie)}),D(P,N)};z(De,P=>{c(s)!==null&&P(Qe)})}gs(Ji,P=>re=P,()=>re);var tt=v(Ji,2);{var Gt=P=>{var N=pX(),$=_(N);j(()=>W($,c(d))),D(P,N)};z(tt,P=>{c(d)&&P(Gt)})}var ci=v(tt,2),vt=_(ci),dt=_(vt),Y=v(vt,2),Te=_(Y),lt=v(Y,2),we=_(lt),di=v(lt,2),Lt=_(di),te=v(ci,2),Ye=_(te);{var Bt=P=>{var N=xX();let $;var oe=v(_(N),2),ne=_(oe),ie=v(oe,2),ae=_(ie);j(()=>{$=kt(N,1,"file-chip svelte-1twuiul",null,$,{inactive:!c(X)}),W(ne,t().id),ln(ie,"title",c(X)?"Remove from context":"Re-add to context"),W(ae,c(X)?"×":"+")}),U("click",ie,()=>m(X,!c(X))),D(P,N)};z(Ye,P=>{t()&&P(Bt)})}var It=v(Ye,2);ei(It,17,()=>c(H),Hi,(P,N,$)=>{const oe=Ft(()=>oi(c(N).name));var ne=mX(),ie=_(ne),ae=_(ie),Je=v(ie,2),Le=_(Je),_e=v(Je,2);j((Ze,Me)=>{kt(ie,1,`badge badge-${Ze??""}`,"svelte-1twuiul"),W(ae,Me),W(Le,c(N).name)},[()=>c(oe).toLowerCase(),()=>Bi(c(oe))]),U("click",_e,()=>_i($)),D(P,ne)});var Dt=v(It,2),Be=v(Dt,2);gs(Be,P=>he=P,()=>he);var je=v(te,2);let Kt;var ri=_(je);let hi;var Xt=_(ri);gs(Xt,P=>be=P,()=>be);var pe=v(ri,2);{var Ge=P=>{var N=vX();U("click",N,Ti),D(P,N)},ot=P=>{var N=_X();j($=>N.disabled=$,[()=>!c(r).trim()||!c(ke)]),U("click",N,Yi),D(P,N)};z(pe,P=>{c(a)?P(Ge):P(ot,-1)})}var rt=v(je,2);{var jt=P=>{var N=wX(),$=_(N),oe=_($),ne=v($,2);{var ie=_e=>{var Ze=CX();ei(Ze,21,()=>c(f),Hi,(Me,ct)=>{var Zt=bX(),Z=_(Zt),le={};j(()=>{W(Z,c(ct)),le!==(le=c(ct))&&(Zt.value=(Zt.__value=c(ct))??"")}),D(Me,Zt)}),j(()=>Ze.disabled=c(a)),Fs(Ze,()=>c(g),Me=>m(g,Me)),D(_e,Ze)},ae=_e=>{var Ze=EX(),Me=_(Ze);j(()=>W(Me,c(g)||c(u).model)),D(_e,Ze)};z(ne,_e=>{c(f).length>0?_e(ie):_e(ae,-1)})}var Je=v(ne,2);{var Le=_e=>{var Ze=yX();U("click",Ze,Qt),D(_e,Ze)};z(Je,_e=>{c(u).provider==="ollama"&&_e(Le)})}j(()=>W(oe,c(u).provider)),D(P,N)};z(rt,P=>{c(ke)&&c(u)&&P(jt)})}var Ot=v(Ut,2);{var Ci=P=>{var N=MX(),$=_(N),oe=_($),ne=_(oe),ie=_(ne),ae=v(ne,2),Je=v(oe,2),Le=_(Je);{var _e=ct=>{var Zt=SX();D(ct,Zt)},Ze=ct=>{var Zt=DX(),Z=_(Zt);j(()=>W(Z,c(w))),D(ct,Zt)},Me=ct=>{var Zt=TX(),Z=_(Zt);{var le=Ne=>{var it=AX(),at=v(Et(it)),Oe=_(at);j(()=>W(Oe,c(b).version)),D(Ne,it)};z(Z,Ne=>{c(b).version&&Ne(le)})}var $e=v(Z,2);{var Pt=Ne=>{var it=kX(),at=v(Et(it)),Oe=_(at);j(()=>W(Oe,c(b).details.family)),D(Ne,it)};z($e,Ne=>{var it;(it=c(b).details)!=null&&it.family&&Ne(Pt)})}var Ee=v($e,2);{var We=Ne=>{var it=BX(),at=v(Et(it)),Oe=_(at);j(()=>W(Oe,c(b).details.parameter_size)),D(Ne,it)};z(Ee,Ne=>{var it;(it=c(b).details)!=null&&it.parameter_size&&Ne(We)})}var wt=v(Ee,2);{var gt=Ne=>{var it=FX(),at=v(Et(it)),Oe=_(at);j(()=>W(Oe,c(b).details.quantization_level)),D(Ne,it)};z(wt,Ne=>{var it;(it=c(b).details)!=null&&it.quantization_level&&Ne(gt)})}var Ie=v(wt,2);{var ge=Ne=>{var it=IX(),at=v(Et(it),2);ei(at,21,()=>c(b).running,Hi,(Oe,ut)=>{var fe=LX(),Ve=_(fe);j(Ct=>W(Ve,`${c(ut).name??""} · ${Ct??""} VRAM`),[()=>fi(c(ut).size_vram)]),D(Oe,fe)}),D(Ne,it)},Re=Ne=>{var it=PX();D(Ne,it)};z(Ie,Ne=>{c(b).running&&c(b).running.length>0?Ne(ge):c(b).running!==null&&Ne(Re,1)})}D(ct,Zt)};z(Le,ct=>{c(y)?ct(_e):c(w)?ct(Ze,1):c(b)&&ct(Me,2)})}j(()=>{var ct;return W(ie,`Ollama · ${(c(g)||((ct=c(u))==null?void 0:ct.model))??""}`)}),U("click",N,()=>m(C,!1)),U("click",$,ct=>ct.stopPropagation()),U("click",ae,()=>m(C,!1)),D(P,N)};z(Ot,P=>{c(C)&&P(Ci)})}j(P=>{W(Lt,P),Kt=kt(je,1,"input-row svelte-1twuiul",null,Kt,{"drag-over":c(se)}),hi=kt(ri,1,"textarea-wrap svelte-1twuiul",null,hi,{loading:c(a)}),ln(Xt,"placeholder",c(ke)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),Xt.disabled=c(a)||!c(ke)},[()=>fi(c(Pe))]),ys(dt,()=>c(R),P=>m(R,P)),ys(Te,()=>c(T),P=>m(T,P)),ys(we,()=>c(V),P=>m(V,P)),U("click",Dt,Ke),U("change",Be,ti),xs("dragover",je,Jt),xs("dragleave",je,Vi),xs("drop",je,Ei),U("keydown",Xt,wn),Vt(Xt,()=>c(r),P=>m(r,P)),D(o,ft),$s()}Ys(["click","change","keydown"]);var OX=B('<div class="me svelte-1pxdb1"></div>');function XC(o,e){js(e,!0);let t=Tu(e,"value",15,""),i=Tu(e,"language",3,"javascript"),n,s,r=!1;function a(){zo.setTheme(Jh())}Xs(()=>{const u=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=zo.create(n,{value:t(),language:i(),theme:Jh(),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},...u}),s.onDidChangeModelContent(()=>{r||t(s.getValue())}),e.onSave&&s.addCommand(em.CtrlCmd|p1.KeyS,()=>e.onSave()),window.addEventListener("she:theme-changed",a);const f=window.matchMedia("(prefers-color-scheme: dark)");return f.addEventListener("change",a),()=>{window.removeEventListener("she:theme-changed",a),f.removeEventListener("change",a)}}),Vp(()=>s==null?void 0:s.dispose()),Kn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var d=OX();gs(d,u=>n=u,()=>n),D(o,d),$s()}const j2=o=>{var e=HX();D(o,e)};var HX=B('<div class="welcome svelte-rrt0o"><div class="welcome-inner svelte-rrt0o"><div class="welcome-logo svelte-rrt0o">db</div> <p class="welcome-sub svelte-rrt0o">sheDB — embedded JSON document store with MapReduce views</p> <div class="welcome-hint svelte-rrt0o"><strong>In scripts:</strong> use <code class="svelte-rrt0o">she.db.get(id)</code>, <code class="svelte-rrt0o">she.db.set(id, doc)</code>, <code class="svelte-rrt0o">she.db.extend(id, partial)</code>, <code class="svelte-rrt0o">she.db.sub(pattern, cb)</code>.<br/> <strong>Views:</strong> <code class="svelte-rrt0o">this</code> = current document — 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>'),WX=B('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"><line x1="5.5" y1="5" x2="4" y2="2.5"></line><line x1="10.5" y1="5" x2="12" y2="2.5"></line><path d="M3 11 V7 A5 3.5 0 0 0 13 7 V11 Z" stroke-linejoin="round"></path><circle cx="6" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle><circle cx="10" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle></svg> AI</button>'),$2=B('<div class="form-error svelte-rrt0o"> </div>'),zX=B('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),U2=B("<li> </li>"),q2=B('<div class="error-bar svelte-rrt0o"> </div>'),G2=B('<div class="loading svelte-rrt0o">Loading…</div>'),VX=B('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),jX=B('<div class="editor-toolbar svelte-rrt0o"><span class="editor-title svelte-rrt0o"> </span> <button class="svelte-rrt0o">Save</button> <button class="btn-danger svelte-rrt0o">Delete</button></div> <!> <!>',1),$X=B('<div class="panel svelte-rrt0o"><aside class="sidebar svelte-rrt0o"><div class="toolbar svelte-rrt0o"><button class="svelte-rrt0o">+ Doc</button></div> <!> <div class="sidebar-search svelte-rrt0o"><input type="search" placeholder="Filter…" class="svelte-rrt0o"/></div> <ul class="flat-list svelte-rrt0o"></ul></aside> <div class="resize-handle svelte-rrt0o" role="separator"></div> <main class="editor-area svelte-rrt0o"><!></main></div>'),UX=B('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),qX=B('<label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Retain <span class="section-hint svelte-rrt0o">— send as retained MQTT message</span></label>'),GX=B('<span class="badge-error svelte-rrt0o">error</span>'),KX=B('<span class="badge-ok svelte-rrt0o"> </span>'),ZX=B('<pre class="result-error svelte-rrt0o"> </pre>'),XX=B('<pre class="result-json svelte-rrt0o"> </pre>'),YX=B('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),QX=B('<div class="view-sections svelte-rrt0o"><div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Description <span class="section-hint svelte-rrt0o">— optional, shown in sidebar</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="(optional description)"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Filter <span class="section-hint svelte-rrt0o">— MQTT wildcard, optional</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="#"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Map <span class="section-hint svelte-rrt0o">— <code>this</code> = document · 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>'),JX=B('<div class="editor-toolbar svelte-rrt0o"><span class="editor-title svelte-rrt0o"> </span> <button class="svelte-rrt0o">Save</button> <button title="Re-run view" class="svelte-rrt0o">Refresh</button> <button class="btn-danger svelte-rrt0o">Delete</button></div> <!> <!>',1),eY=B('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),tY=B('<div class="panel svelte-rrt0o"><aside class="sidebar svelte-rrt0o"><div class="toolbar svelte-rrt0o"><button class="svelte-rrt0o">+ View</button></div> <!> <div class="sidebar-search svelte-rrt0o"><input type="search" placeholder="Filter…" class="svelte-rrt0o"/></div> <ul class="flat-list svelte-rrt0o"></ul></aside> <div class="resize-handle svelte-rrt0o" role="separator"></div> <main class="editor-area svelte-rrt0o"><!></main> <!></div>'),iY=B('<!> <div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>',1);function nY(o,e){js(e,!0);let t=F(Pi([])),i=F(null),n=F("{}"),s=F(!1),r=F(null);const a="she-db-selected-view";let d=F(Pi([])),u=F(Pi(localStorage.getItem(a))),f=F("#"),g=F("// emit(this.someProperty)"),p=F(""),C=F(""),b=F(!1),y=F(!1),w=F(null),A=F(!1),I=F(null),M=F("she/db/view/");const R="she-db-panel";let T=F(Pi(localStorage.getItem(R)??"docs")),V=F(""),H=F(!1),X=F(null),se=F(""),he=F(!1),J=F(null);const ue="she-db-sidebar-width";let be=F(Pi(parseInt(localStorage.getItem(ue)??"220",10))),re=!1,ce=0,ke=0;const Pe="she-db-chat-width",xe="she-db-chat-open";let He=F(localStorage.getItem(xe)==="true"),Ue=F(Pi(parseInt(localStorage.getItem(Pe)??"320",10))),ve=!1,mt=0,Mt=0;const st=Ft(()=>c(u)?{id:c(u),filter:c(f),map:c(g),reduce:c(p)}:null);function yt(ze){ze.filter!==void 0&&m(f,ze.filter,!0),ze.map!==void 0&&m(g,ze.map,!0),ze.reduce!==void 0&&m(p,ze.reduce,!0)}Kn(()=>{localStorage.setItem(xe,String(c(He)))}),Kn(()=>{localStorage.setItem(R,c(T))}),Kn(()=>{c(u)?localStorage.setItem(a,c(u)):localStorage.removeItem(a)});function Ce(ze){re=!0,ce=ze.clientX,ke=c(be),ze.preventDefault()}function Nt(ze){re&&m(be,Math.max(140,Math.min(500,ke+ze.clientX-ce)),!0),ve&&m(Ue,Math.max(240,Math.min(600,Mt-(ze.clientX-mt))),!0)}function si(){re&&(re=!1,localStorage.setItem(ue,String(c(be)))),ve&&(ve=!1,localStorage.setItem(Pe,String(c(Ue))))}function Xe(ze){ve=!0,mt=ze.clientX,Mt=c(Ue),ze.preventDefault()}async function et(){try{m(t,await mF(),!0)}catch{}}async function St(){try{m(d,await vF(),!0)}catch{}}async function Qt(ze){m(i,ze,!0),m(r,null),m(s,!0);try{const qt=await K$(ze);m(n,JSON.stringify(qt,null,2),!0)}catch(qt){m(r,qt instanceof Error?qt.message:String(qt),!0)}finally{m(s,!1)}}async function fi(){if(c(i)){m(r,null);try{const ze=JSON.parse(c(n));await u2(c(i),ze)}catch(ze){m(r,ze instanceof Error?ze.message:String(ze),!0)}}}let oi;async function Bi(){if(c(i)&&await oi.show(`Delete document "${c(i)}"?`,{confirm:"Delete",danger:!0}))try{await Z$(c(i)),m(i,null),m(n,"{}")}catch(ze){m(r,ze instanceof Error?ze.message:String(ze),!0)}}async function _i(){const ze=c(V).trim();if(ze){m(X,null);try{await u2(ze,{}),m(H,!1),m(V,""),await Qt(ze)}catch(qt){m(X,qt instanceof Error?qt.message:String(qt),!0)}}}async function Ke(ze){m(u,ze,!0),m(I,null),m(A,!0),m(w,null);try{const qt=await X$(ze);m(f,qt.filter??"",!0),m(g,qt.map,!0),m(p,qt.reduce??"",!0),m(C,qt.description??"",!0),m(b,qt.mqttpub??!1,!0),m(y,qt.retain??!1,!0),m(w,await qC(ze).catch(()=>null),!0)}catch(qt){m(I,qt instanceof Error?qt.message:String(qt),!0)}finally{m(A,!1)}}async function ye(){if(c(u)){m(I,null);try{const ze={map:c(g)};c(f).trim()&&(ze.filter=c(f).trim()),c(p).trim()&&(ze.reduce=c(p).trim()),c(C).trim()&&(ze.description=c(C).trim()),c(b)&&(ze.mqttpub=!0),c(y)&&(ze.retain=!0),await h2(c(u),ze)}catch(ze){m(I,ze instanceof Error?ze.message:String(ze),!0)}}}async function ti(){if(c(u))try{m(w,await qC(c(u)),!0)}catch(ze){m(I,ze instanceof Error?ze.message:String(ze),!0)}}async function Ei(){if(c(u)&&await oi.show(`Delete view "${c(u)}"?`,{confirm:"Delete",danger:!0}))try{await Y$(c(u)),m(u,null),m(f,""),m(g,"// emit(this.someProperty)"),m(p,""),m(C,""),m(b,!1),m(y,!1),m(w,null)}catch(ze){m(I,ze instanceof Error?ze.message:String(ze),!0)}}async function Jt(){if(!c(se).trim())return;const ze=c(se).trim();m(J,null);try{await h2(ze,{map:"// emit(this.someProperty)"}),m(he,!1),m(se,""),await St(),await Ke(ze)}catch(qt){m(J,qt instanceof Error?qt.message:String(qt),!0)}}let Vi=F(""),Yi=F(""),Ti=Ft(()=>[...c(t)].filter(ze=>!c(Vi)||ze.toLowerCase().includes(c(Vi).toLowerCase())).sort()),wn=Ft(()=>[...c(d)].filter(ze=>!c(Yi)||ze.toLowerCase().includes(c(Yi).toLowerCase())).sort());Xs(()=>{et(),St().then(()=>{c(u)&&c(d).includes(c(u))?Ke(c(u)):m(u,null)}),Pl().then(Di=>{const K=Di.dbPrefix||"she/db/",De=K.endsWith("/")?K:K+"/";m(M,De+"view/")}).catch(()=>{});const ze=hr("db:ids",Di=>{m(t,Di.ids??[],!0)}),qt=hr("db:viewIds",Di=>{m(d,Di.ids??[],!0)}),Fi=hr("db:change",async Di=>{const K=Di.id;c(i)===K&&(Di.doc===null?(m(i,null),m(n,"{}")):m(n,JSON.stringify(Di.doc,null,2),!0))}),zi=hr("db:viewUpdate",async Di=>{const K=Di.id;c(u)===K&&m(w,await qC(K).catch(()=>null),!0)});return()=>{ze(),qt(),Fi(),zi()}});var cn=iY(),gn=Et(cn);gs(Yc(gn,{}),ze=>oi=ze,()=>oi);var hn=v(gn,2),ft=_(hn),Ut=_(ft);let Ri;var qi=v(Ut,2);let bi;var Wi=v(qi,2);{var ji=ze=>{var qt=WX();let Fi;j(()=>{Fi=kt(qt,1,"ai-toggle svelte-rrt0o",null,Fi,{"ai-open":c(He)}),ln(qt,"title",c(He)?"Close AI assistant":"Open AI assistant")}),U("click",qt,()=>m(He,!c(He))),D(ze,qt)};z(Wi,ze=>{c(T)==="views"&&ze(ji)})}var Ji=v(ft,2);{var Si=ze=>{var qt=$X(),Fi=_(qt);let zi;var Di=_(Fi),K=_(Di),De=v(Di,2);{var Qe=we=>{var di=zX(),Lt=Et(di),te=_(Lt),Ye=v(te,2),Bt=v(Lt,2);{var It=Dt=>{var Be=$2(),je=_(Be);j(()=>W(je,c(X))),D(Dt,Be)};z(Bt,Dt=>{c(X)&&Dt(It)})}U("keydown",te,Dt=>Dt.key==="Enter"&&_i()),Vt(te,()=>c(V),Dt=>m(V,Dt)),U("click",Ye,_i),D(we,di)};z(De,we=>{c(H)&&we(Qe)})}var tt=v(De,2),Gt=_(tt),ci=v(tt,2);ei(ci,20,()=>c(Ti),we=>we,(we,di)=>{var Lt=U2();let te;var Ye=_(Lt);j(()=>{te=kt(Lt,1,"flat-item svelte-rrt0o",null,te,{"active-item":c(i)===di}),W(Ye,di)}),U("click",Lt,()=>Qt(di)),D(we,Lt)});var vt=v(Fi,2),dt=v(vt,2),Y=_(dt);{var Te=we=>{var di=jX(),Lt=Et(di),te=_(Lt),Ye=_(te),Bt=v(te,2),It=v(Bt,2),Dt=v(Lt,2);{var Be=hi=>{var Xt=q2(),pe=_(Xt);j(()=>W(pe,c(r))),D(hi,Xt)};z(Dt,hi=>{c(r)&&hi(Be)})}var je=v(Dt,2);{var Kt=hi=>{var Xt=G2();D(hi,Xt)},ri=hi=>{var Xt=VX(),pe=_(Xt);XC(pe,{language:"json",get value(){return c(n)},set value(Ge){m(n,Ge,!0)}}),D(hi,Xt)};z(je,hi=>{c(s)?hi(Kt):hi(ri,-1)})}j(()=>W(Ye,c(i))),U("click",Bt,fi),U("click",It,Bi),D(we,di)},lt=we=>{j2(we)};z(Y,we=>{c(i)?we(Te):we(lt,-1)})}j(()=>zi=qo(Fi,"",zi,{width:`${c(be)??""}px`})),U("click",K,()=>{m(H,!c(H)),m(X,null)}),Vt(Gt,()=>c(Vi),we=>m(Vi,we)),U("mousedown",vt,Ce),D(ze,qt)},$i=ze=>{var qt=tY(),Fi=_(qt);let zi;var Di=_(Fi),K=_(Di),De=v(Di,2);{var Qe=Lt=>{var te=UX(),Ye=Et(te),Bt=_(Ye),It=v(Bt,2),Dt=v(Ye,2);{var Be=je=>{var Kt=$2(),ri=_(Kt);j(()=>W(ri,c(J))),D(je,Kt)};z(Dt,je=>{c(J)&&je(Be)})}U("keydown",Bt,je=>je.key==="Enter"&&Jt()),Vt(Bt,()=>c(se),je=>m(se,je)),U("click",It,Jt),D(Lt,te)};z(De,Lt=>{c(he)&&Lt(Qe)})}var tt=v(De,2),Gt=_(tt),ci=v(tt,2);ei(ci,20,()=>c(wn),Lt=>Lt,(Lt,te)=>{var Ye=U2();let Bt;var It=_(Ye);j(()=>{Bt=kt(Ye,1,"flat-item svelte-rrt0o",null,Bt,{"active-item":c(u)===te}),W(It,te)}),U("click",Ye,()=>Ke(te)),D(Lt,Ye)});var vt=v(Fi,2),dt=v(vt,2),Y=_(dt);{var Te=Lt=>{var te=JX(),Ye=Et(te),Bt=_(Ye),It=_(Bt),Dt=v(Bt,2),Be=v(Dt,2),je=v(Be,2),Kt=v(Ye,2);{var ri=Ge=>{var ot=q2(),rt=_(ot);j(()=>W(rt,c(I))),D(Ge,ot)};z(Kt,Ge=>{c(I)&&Ge(ri)})}var hi=v(Kt,2);{var Xt=Ge=>{var ot=G2();D(Ge,ot)},pe=Ge=>{var ot=QX(),rt=_(ot),jt=v(_(rt),2),Ot=_(jt),Ci=v(rt,2),P=v(_(Ci),2),N=_(P),$=v(Ci,2),oe=v(_($),2),ne=_(oe);XC(ne,{language:"javascript",onSave:ye,get value(){return c(g)},set value(Ee){m(g,Ee,!0)}});var ie=v($,2),ae=v(_(ie),2),Je=_(ae);XC(Je,{language:"javascript",onSave:ye,get value(){return c(p)},set value(Ee){m(p,Ee,!0)}});var Le=v(ie,2),_e=_(Le),Ze=_(_e),Me=v(Ze,4),ct=v(_(Me)),Zt=_(ct),Z=v(_e,2);{var le=Ee=>{var We=qX(),wt=_(We);ys(wt,()=>c(y),gt=>m(y,gt)),D(Ee,We)};z(Z,Ee=>{c(b)&&Ee(le)})}var $e=v(Le,2);{var Pt=Ee=>{var We=YX(),wt=_(We),gt=v(_(wt));{var Ie=at=>{var Oe=GX();D(at,Oe)},ge=at=>{var Oe=KX(),ut=_(Oe);j(()=>W(ut,`${c(w).length??0??""} items · rev ${c(w)._rev??""}`)),D(at,Oe)};z(gt,at=>{c(w).error?at(Ie):at(ge,-1)})}var Re=v(wt,2);{var Ne=at=>{var Oe=ZX(),ut=_(Oe);j(()=>W(ut,c(w).error)),D(at,Oe)},it=at=>{var Oe=XX(),ut=_(Oe);j(fe=>W(ut,fe),[()=>JSON.stringify(c(w).result,null,2)]),D(at,Oe)};z(Re,at=>{c(w).error?at(Ne):at(it,-1)})}D(Ee,We)};z($e,Ee=>{c(w)&&Ee(Pt)})}j(()=>W(Zt,`${c(M)??""}${c(u)??""} on every update`)),Vt(Ot,()=>c(C),Ee=>m(C,Ee)),Vt(N,()=>c(f),Ee=>m(f,Ee)),ys(Ze,()=>c(b),Ee=>m(b,Ee)),D(Ge,ot)};z(hi,Ge=>{c(A)?Ge(Xt):Ge(pe,-1)})}j(()=>W(It,c(u))),U("click",Dt,ye),U("click",Be,ti),U("click",je,Ei),D(Lt,te)},lt=Lt=>{j2(Lt)};z(Y,Lt=>{c(u)?Lt(Te):Lt(lt,-1)})}var we=v(dt,2);{var di=Lt=>{var te=eY(),Ye=Et(te),Bt=v(Ye,2);let It;var Dt=_(Bt);NX(Dt,{get currentView(){return c(st)},onApplyView:yt}),j(()=>It=qo(Bt,"",It,{width:`${c(Ue)??""}px`})),U("mousedown",Ye,Xe),D(Lt,te)};z(we,Lt=>{c(He)&&Lt(di)})}j(()=>zi=qo(Fi,"",zi,{width:`${c(be)??""}px`})),U("click",K,()=>{m(he,!c(he)),m(J,null)}),Vt(Gt,()=>c(Yi),Lt=>m(Yi,Lt)),U("mousedown",vt,Ce),D(ze,qt)};z(Ji,ze=>{c(T)==="docs"?ze(Si):ze($i,-1)})}j(()=>{Ri=kt(Ut,1,"svelte-rrt0o",null,Ri,{active:c(T)==="docs"}),bi=kt(qi,1,"svelte-rrt0o",null,bi,{active:c(T)==="views"})}),U("mousemove",hn,Nt),U("mouseup",hn,si),xs("mouseleave",hn,si),U("click",Ut,()=>m(T,"docs")),U("click",qi,()=>m(T,"views")),D(o,cn),$s()}Ys(["mousemove","mouseup","click","keydown","mousedown"]);var ym={exports:{}},sY=ym.exports,K2;function oY(){return K2||(K2=1,(function(o,e){(function(i,n){o.exports=n()})(typeof self<"u"?self:sY,function(){return(function(t){var i={};function n(s){if(i[s])return i[s].exports;var r=i[s]={i:s,l:!1,exports:{}};return t[s].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=i,n.d=function(s,r,a){n.o(s,r)||Object.defineProperty(s,r,{configurable:!1,enumerable:!0,get:a})},n.n=function(s){var r=s&&s.__esModule?function(){return s.default}:function(){return s};return n.d(r,"a",r),r},n.o=function(s,r){return Object.prototype.hasOwnProperty.call(s,r)},n.p="",n(n.s=3)})([(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=(function(){function r(a,d){this.width=d,this.height=a.length/d,this.data=a}return r.createEmpty=function(a,d){return new r(new Uint8ClampedArray(a*d),a)},r.prototype.get=function(a,d){return a<0||a>=this.width||d<0||d>=this.height?!1:!!this.data[d*this.width+a]},r.prototype.set=function(a,d,u){this.data[d*this.width+a]=u?1:0},r.prototype.setRegion=function(a,d,u,f,g){for(var p=d;p<d+f;p++)for(var C=a;C<a+u;C++)this.set(C,p,!!g)},r})();i.BitMatrix=s}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(2);function r(d,u){return d^u}i.addOrSubtractGF=r;var a=(function(){function d(u,f,g){this.primitive=u,this.size=f,this.generatorBase=g,this.expTable=new Array(this.size),this.logTable=new Array(this.size);for(var p=1,C=0;C<this.size;C++)this.expTable[C]=p,p=p*2,p>=this.size&&(p=(p^this.primitive)&this.size-1);for(var C=0;C<this.size-1;C++)this.logTable[this.expTable[C]]=C;this.zero=new s.default(this,Uint8ClampedArray.from([0])),this.one=new s.default(this,Uint8ClampedArray.from([1]))}return d.prototype.multiply=function(u,f){return u===0||f===0?0:this.expTable[(this.logTable[u]+this.logTable[f])%(this.size-1)]},d.prototype.inverse=function(u){if(u===0)throw new Error("Can't invert 0");return this.expTable[this.size-this.logTable[u]-1]},d.prototype.buildMonomial=function(u,f){if(u<0)throw new Error("Invalid monomial degree less than 0");if(f===0)return this.zero;var g=new Uint8ClampedArray(u+1);return g[0]=f,new s.default(this,g)},d.prototype.log=function(u){if(u===0)throw new Error("Can't take log(0)");return this.logTable[u]},d.prototype.exp=function(u){return this.expTable[u]},d})();i.default=a}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(1),r=(function(){function a(d,u){if(u.length===0)throw new Error("No coefficients.");this.field=d;var f=u.length;if(f>1&&u[0]===0){for(var g=1;g<f&&u[g]===0;)g++;if(g===f)this.coefficients=d.zero.coefficients;else{this.coefficients=new Uint8ClampedArray(f-g);for(var p=0;p<this.coefficients.length;p++)this.coefficients[p]=u[g+p]}}else this.coefficients=u}return a.prototype.degree=function(){return this.coefficients.length-1},a.prototype.isZero=function(){return this.coefficients[0]===0},a.prototype.getCoefficient=function(d){return this.coefficients[this.coefficients.length-1-d]},a.prototype.addOrSubtract=function(d){var u;if(this.isZero())return d;if(d.isZero())return this;var f=this.coefficients,g=d.coefficients;f.length>g.length&&(u=[g,f],f=u[0],g=u[1]);for(var p=new Uint8ClampedArray(g.length),C=g.length-f.length,b=0;b<C;b++)p[b]=g[b];for(var b=C;b<g.length;b++)p[b]=s.addOrSubtractGF(f[b-C],g[b]);return new a(this.field,p)},a.prototype.multiply=function(d){if(d===0)return this.field.zero;if(d===1)return this;for(var u=this.coefficients.length,f=new Uint8ClampedArray(u),g=0;g<u;g++)f[g]=this.field.multiply(this.coefficients[g],d);return new a(this.field,f)},a.prototype.multiplyPoly=function(d){if(this.isZero()||d.isZero())return this.field.zero;for(var u=this.coefficients,f=u.length,g=d.coefficients,p=g.length,C=new Uint8ClampedArray(f+p-1),b=0;b<f;b++)for(var y=u[b],w=0;w<p;w++)C[b+w]=s.addOrSubtractGF(C[b+w],this.field.multiply(y,g[w]));return new a(this.field,C)},a.prototype.multiplyByMonomial=function(d,u){if(d<0)throw new Error("Invalid degree less than 0");if(u===0)return this.field.zero;for(var f=this.coefficients.length,g=new Uint8ClampedArray(f+d),p=0;p<f;p++)g[p]=this.field.multiply(this.coefficients[p],u);return new a(this.field,g)},a.prototype.evaluateAt=function(d){var u=0;if(d===0)return this.getCoefficient(0);var f=this.coefficients.length;if(d===1)return this.coefficients.forEach(function(p){u=s.addOrSubtractGF(u,p)}),u;u=this.coefficients[0];for(var g=1;g<f;g++)u=s.addOrSubtractGF(this.field.multiply(d,u),this.coefficients[g]);return u},a})();i.default=r}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(4),r=n(5),a=n(11),d=n(12);function u(p){var C=d.locate(p);if(!C)return null;for(var b=0,y=C;b<y.length;b++){var w=y[b],A=a.extract(p,w),I=r.decode(A.matrix);if(I)return{binaryData:I.bytes,data:I.text,chunks:I.chunks,version:I.version,location:{topRightCorner:A.mappingFunction(w.dimension,0),topLeftCorner:A.mappingFunction(0,0),bottomRightCorner:A.mappingFunction(w.dimension,w.dimension),bottomLeftCorner:A.mappingFunction(0,w.dimension),topRightFinderPattern:w.topRight,topLeftFinderPattern:w.topLeft,bottomLeftFinderPattern:w.bottomLeft,bottomRightAlignmentPattern:w.alignmentPattern}}}return null}var f={inversionAttempts:"attemptBoth"};function g(p,C,b,y){y===void 0&&(y={});var w=f;Object.keys(w||{}).forEach(function(H){w[H]=y[H]||w[H]});var A=w.inversionAttempts==="attemptBoth"||w.inversionAttempts==="invertFirst",I=w.inversionAttempts==="onlyInvert"||w.inversionAttempts==="invertFirst",M=s.binarize(p,C,b,A),R=M.binarized,T=M.inverted,V=u(I?T:R);return!V&&(w.inversionAttempts==="attemptBoth"||w.inversionAttempts==="invertFirst")&&(V=u(I?R:T)),V}g.default=g,i.default=g}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0),r=8,a=24;function d(g,p,C){return g<p?p:g>C?C:g}var u=(function(){function g(p,C){this.width=p,this.data=new Uint8ClampedArray(p*C)}return g.prototype.get=function(p,C){return this.data[C*this.width+p]},g.prototype.set=function(p,C,b){this.data[C*this.width+p]=b},g})();function f(g,p,C,b){if(g.length!==p*C*4)throw new Error("Malformed data passed to binarizer.");for(var y=new u(p,C),w=0;w<p;w++)for(var A=0;A<C;A++){var I=g[(A*p+w)*4+0],M=g[(A*p+w)*4+1],R=g[(A*p+w)*4+2];y.set(w,A,.2126*I+.7152*M+.0722*R)}for(var T=Math.ceil(p/r),V=Math.ceil(C/r),H=new u(T,V),X=0;X<V;X++)for(var se=0;se<T;se++){for(var he=0,J=1/0,ue=0,A=0;A<r;A++)for(var w=0;w<r;w++){var be=y.get(se*r+w,X*r+A);he+=be,J=Math.min(J,be),ue=Math.max(ue,be)}var re=he/Math.pow(r,2);if(ue-J<=a&&(re=J/2,X>0&&se>0)){var ce=(H.get(se,X-1)+2*H.get(se-1,X)+H.get(se-1,X-1))/4;J<ce&&(re=ce)}H.set(se,X,re)}var ke=s.BitMatrix.createEmpty(p,C),Pe=null;b&&(Pe=s.BitMatrix.createEmpty(p,C));for(var X=0;X<V;X++)for(var se=0;se<T;se++){for(var xe=d(se,2,T-3),He=d(X,2,V-3),he=0,Ue=-2;Ue<=2;Ue++)for(var ve=-2;ve<=2;ve++)he+=H.get(xe+Ue,He+ve);for(var mt=he/25,Ue=0;Ue<r;Ue++)for(var ve=0;ve<r;ve++){var w=se*r+Ue,A=X*r+ve,Mt=y.get(w,A);ke.set(w,A,Mt<=mt),b&&Pe.set(w,A,!(Mt<=mt))}}return b?{binarized:ke,inverted:Pe}:{binarized:ke}}i.binarize=f}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0),r=n(6),a=n(9),d=n(10);function u(R,T){for(var V=R^T,H=0;V;)H++,V&=V-1;return H}function f(R,T){return T<<1|R}var g=[{bits:21522,formatInfo:{errorCorrectionLevel:1,dataMask:0}},{bits:20773,formatInfo:{errorCorrectionLevel:1,dataMask:1}},{bits:24188,formatInfo:{errorCorrectionLevel:1,dataMask:2}},{bits:23371,formatInfo:{errorCorrectionLevel:1,dataMask:3}},{bits:17913,formatInfo:{errorCorrectionLevel:1,dataMask:4}},{bits:16590,formatInfo:{errorCorrectionLevel:1,dataMask:5}},{bits:20375,formatInfo:{errorCorrectionLevel:1,dataMask:6}},{bits:19104,formatInfo:{errorCorrectionLevel:1,dataMask:7}},{bits:30660,formatInfo:{errorCorrectionLevel:0,dataMask:0}},{bits:29427,formatInfo:{errorCorrectionLevel:0,dataMask:1}},{bits:32170,formatInfo:{errorCorrectionLevel:0,dataMask:2}},{bits:30877,formatInfo:{errorCorrectionLevel:0,dataMask:3}},{bits:26159,formatInfo:{errorCorrectionLevel:0,dataMask:4}},{bits:25368,formatInfo:{errorCorrectionLevel:0,dataMask:5}},{bits:27713,formatInfo:{errorCorrectionLevel:0,dataMask:6}},{bits:26998,formatInfo:{errorCorrectionLevel:0,dataMask:7}},{bits:5769,formatInfo:{errorCorrectionLevel:3,dataMask:0}},{bits:5054,formatInfo:{errorCorrectionLevel:3,dataMask:1}},{bits:7399,formatInfo:{errorCorrectionLevel:3,dataMask:2}},{bits:6608,formatInfo:{errorCorrectionLevel:3,dataMask:3}},{bits:1890,formatInfo:{errorCorrectionLevel:3,dataMask:4}},{bits:597,formatInfo:{errorCorrectionLevel:3,dataMask:5}},{bits:3340,formatInfo:{errorCorrectionLevel:3,dataMask:6}},{bits:2107,formatInfo:{errorCorrectionLevel:3,dataMask:7}},{bits:13663,formatInfo:{errorCorrectionLevel:2,dataMask:0}},{bits:12392,formatInfo:{errorCorrectionLevel:2,dataMask:1}},{bits:16177,formatInfo:{errorCorrectionLevel:2,dataMask:2}},{bits:14854,formatInfo:{errorCorrectionLevel:2,dataMask:3}},{bits:9396,formatInfo:{errorCorrectionLevel:2,dataMask:4}},{bits:8579,formatInfo:{errorCorrectionLevel:2,dataMask:5}},{bits:11994,formatInfo:{errorCorrectionLevel:2,dataMask:6}},{bits:11245,formatInfo:{errorCorrectionLevel:2,dataMask:7}}],p=[function(R){return(R.y+R.x)%2===0},function(R){return R.y%2===0},function(R){return R.x%3===0},function(R){return(R.y+R.x)%3===0},function(R){return(Math.floor(R.y/2)+Math.floor(R.x/3))%2===0},function(R){return R.x*R.y%2+R.x*R.y%3===0},function(R){return(R.y*R.x%2+R.y*R.x%3)%2===0},function(R){return((R.y+R.x)%2+R.y*R.x%3)%2===0}];function C(R){var T=17+4*R.versionNumber,V=s.BitMatrix.createEmpty(T,T);V.setRegion(0,0,9,9,!0),V.setRegion(T-8,0,8,9,!0),V.setRegion(0,T-8,9,8,!0);for(var H=0,X=R.alignmentPatternCenters;H<X.length;H++)for(var se=X[H],he=0,J=R.alignmentPatternCenters;he<J.length;he++){var ue=J[he];se===6&&ue===6||se===6&&ue===T-7||se===T-7&&ue===6||V.setRegion(se-2,ue-2,5,5,!0)}return V.setRegion(6,9,1,T-17,!0),V.setRegion(9,6,T-17,1,!0),R.versionNumber>6&&(V.setRegion(T-11,0,3,6,!0),V.setRegion(0,T-11,6,3,!0)),V}function b(R,T,V){for(var H=p[V.dataMask],X=R.height,se=C(T),he=[],J=0,ue=0,be=!0,re=X-1;re>0;re-=2){re===6&&re--;for(var ce=0;ce<X;ce++)for(var ke=be?X-1-ce:ce,Pe=0;Pe<2;Pe++){var xe=re-Pe;if(!se.get(xe,ke)){ue++;var He=R.get(xe,ke);H({y:ke,x:xe})&&(He=!He),J=f(He,J),ue===8&&(he.push(J),ue=0,J=0)}}be=!be}return he}function y(R){var T=R.height,V=Math.floor((T-17)/4);if(V<=6)return d.VERSIONS[V-1];for(var H=0,X=5;X>=0;X--)for(var se=T-9;se>=T-11;se--)H=f(R.get(se,X),H);for(var he=0,se=5;se>=0;se--)for(var X=T-9;X>=T-11;X--)he=f(R.get(se,X),he);for(var J=1/0,ue,be=0,re=d.VERSIONS;be<re.length;be++){var ce=re[be];if(ce.infoBits===H||ce.infoBits===he)return ce;var ke=u(H,ce.infoBits);ke<J&&(ue=ce,J=ke),ke=u(he,ce.infoBits),ke<J&&(ue=ce,J=ke)}if(J<=3)return ue}function w(R){for(var T=0,V=0;V<=8;V++)V!==6&&(T=f(R.get(V,8),T));for(var H=7;H>=0;H--)H!==6&&(T=f(R.get(8,H),T));for(var X=R.height,se=0,H=X-1;H>=X-7;H--)se=f(R.get(8,H),se);for(var V=X-8;V<X;V++)se=f(R.get(V,8),se);for(var he=1/0,J=null,ue=0,be=g;ue<be.length;ue++){var re=be[ue],ce=re.bits,ke=re.formatInfo;if(ce===T||ce===se)return ke;var Pe=u(T,ce);Pe<he&&(J=ke,he=Pe),T!==se&&(Pe=u(se,ce),Pe<he&&(J=ke,he=Pe))}return he<=3?J:null}function A(R,T,V){var H=T.errorCorrectionLevels[V],X=[],se=0;if(H.ecBlocks.forEach(function(He){for(var Ue=0;Ue<He.numBlocks;Ue++)X.push({numDataCodewords:He.dataCodewordsPerBlock,codewords:[]}),se+=He.dataCodewordsPerBlock+H.ecCodewordsPerBlock}),R.length<se)return null;R=R.slice(0,se);for(var he=H.ecBlocks[0].dataCodewordsPerBlock,J=0;J<he;J++)for(var ue=0,be=X;ue<be.length;ue++){var re=be[ue];re.codewords.push(R.shift())}if(H.ecBlocks.length>1)for(var ce=H.ecBlocks[0].numBlocks,ke=H.ecBlocks[1].numBlocks,J=0;J<ke;J++)X[ce+J].codewords.push(R.shift());for(;R.length>0;)for(var Pe=0,xe=X;Pe<xe.length;Pe++){var re=xe[Pe];re.codewords.push(R.shift())}return X}function I(R){var T=y(R);if(!T)return null;var V=w(R);if(!V)return null;var H=b(R,T,V),X=A(H,T,V.errorCorrectionLevel);if(!X)return null;for(var se=X.reduce(function(Pe,xe){return Pe+xe.numDataCodewords},0),he=new Uint8ClampedArray(se),J=0,ue=0,be=X;ue<be.length;ue++){var re=be[ue],ce=a.decode(re.codewords,re.codewords.length-re.numDataCodewords);if(!ce)return null;for(var ke=0;ke<re.numDataCodewords;ke++)he[J++]=ce[ke]}try{return r.decode(he,T.versionNumber)}catch{return null}}function M(R){if(R==null)return null;var T=I(R);if(T)return T;for(var V=0;V<R.width;V++)for(var H=V+1;H<R.height;H++)R.get(V,H)!==R.get(H,V)&&(R.set(V,H,!R.get(V,H)),R.set(H,V,!R.get(H,V)));return I(R)}i.decode=M}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(7),r=n(8),a;(function(y){y.Numeric="numeric",y.Alphanumeric="alphanumeric",y.Byte="byte",y.Kanji="kanji",y.ECI="eci"})(a=i.Mode||(i.Mode={}));var d;(function(y){y[y.Terminator=0]="Terminator",y[y.Numeric=1]="Numeric",y[y.Alphanumeric=2]="Alphanumeric",y[y.Byte=4]="Byte",y[y.Kanji=8]="Kanji",y[y.ECI=7]="ECI"})(d||(d={}));function u(y,w){for(var A=[],I="",M=[10,12,14][w],R=y.readBits(M);R>=3;){var T=y.readBits(10);if(T>=1e3)throw new Error("Invalid numeric value above 999");var V=Math.floor(T/100),H=Math.floor(T/10)%10,X=T%10;A.push(48+V,48+H,48+X),I+=V.toString()+H.toString()+X.toString(),R-=3}if(R===2){var T=y.readBits(7);if(T>=100)throw new Error("Invalid numeric value above 99");var V=Math.floor(T/10),H=T%10;A.push(48+V,48+H),I+=V.toString()+H.toString()}else if(R===1){var T=y.readBits(4);if(T>=10)throw new Error("Invalid numeric value above 9");A.push(48+T),I+=T.toString()}return{bytes:A,text:I}}var f=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function g(y,w){for(var A=[],I="",M=[9,11,13][w],R=y.readBits(M);R>=2;){var T=y.readBits(11),V=Math.floor(T/45),H=T%45;A.push(f[V].charCodeAt(0),f[H].charCodeAt(0)),I+=f[V]+f[H],R-=2}if(R===1){var V=y.readBits(6);A.push(f[V].charCodeAt(0)),I+=f[V]}return{bytes:A,text:I}}function p(y,w){for(var A=[],I="",M=[8,16,16][w],R=y.readBits(M),T=0;T<R;T++){var V=y.readBits(8);A.push(V)}try{I+=decodeURIComponent(A.map(function(H){return"%"+("0"+H.toString(16)).substr(-2)}).join(""))}catch{}return{bytes:A,text:I}}function C(y,w){for(var A=[],I="",M=[8,10,12][w],R=y.readBits(M),T=0;T<R;T++){var V=y.readBits(13),H=Math.floor(V/192)<<8|V%192;H<7936?H+=33088:H+=49472,A.push(H>>8,H&255),I+=String.fromCharCode(r.shiftJISTable[H])}return{bytes:A,text:I}}function b(y,w){for(var A,I,M,R,T=new s.BitStream(y),V=w<=9?0:w<=26?1:2,H={text:"",bytes:[],chunks:[],version:w};T.available()>=4;){var X=T.readBits(4);if(X===d.Terminator)return H;if(X===d.ECI)T.readBits(1)===0?H.chunks.push({type:a.ECI,assignmentNumber:T.readBits(7)}):T.readBits(1)===0?H.chunks.push({type:a.ECI,assignmentNumber:T.readBits(14)}):T.readBits(1)===0?H.chunks.push({type:a.ECI,assignmentNumber:T.readBits(21)}):H.chunks.push({type:a.ECI,assignmentNumber:-1});else if(X===d.Numeric){var se=u(T,V);H.text+=se.text,(A=H.bytes).push.apply(A,se.bytes),H.chunks.push({type:a.Numeric,text:se.text})}else if(X===d.Alphanumeric){var he=g(T,V);H.text+=he.text,(I=H.bytes).push.apply(I,he.bytes),H.chunks.push({type:a.Alphanumeric,text:he.text})}else if(X===d.Byte){var J=p(T,V);H.text+=J.text,(M=H.bytes).push.apply(M,J.bytes),H.chunks.push({type:a.Byte,bytes:J.bytes,text:J.text})}else if(X===d.Kanji){var ue=C(T,V);H.text+=ue.text,(R=H.bytes).push.apply(R,ue.bytes),H.chunks.push({type:a.Kanji,bytes:ue.bytes,text:ue.text})}}if(T.available()===0||T.readBits(T.available())===0)return H}i.decode=b}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=(function(){function r(a){this.byteOffset=0,this.bitOffset=0,this.bytes=a}return r.prototype.readBits=function(a){if(a<1||a>32||a>this.available())throw new Error("Cannot read "+a.toString()+" bits");var d=0;if(this.bitOffset>0){var u=8-this.bitOffset,f=a<u?a:u,g=u-f,p=255>>8-f<<g;d=(this.bytes[this.byteOffset]&p)>>g,a-=f,this.bitOffset+=f,this.bitOffset===8&&(this.bitOffset=0,this.byteOffset++)}if(a>0){for(;a>=8;)d=d<<8|this.bytes[this.byteOffset]&255,this.byteOffset++,a-=8;if(a>0){var g=8-a,p=255>>g<<g;d=d<<a|(this.bytes[this.byteOffset]&p)>>g,this.bitOffset+=a}}return d},r.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},r})();i.BitStream=s}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0}),i.shiftJISTable={32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:165,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:8254,33088:12288,33089:12289,33090:12290,33091:65292,33092:65294,33093:12539,33094:65306,33095:65307,33096:65311,33097:65281,33098:12443,33099:12444,33100:180,33101:65344,33102:168,33103:65342,33104:65507,33105:65343,33106:12541,33107:12542,33108:12445,33109:12446,33110:12291,33111:20189,33112:12293,33113:12294,33114:12295,33115:12540,33116:8213,33117:8208,33118:65295,33119:92,33120:12316,33121:8214,33122:65372,33123:8230,33124:8229,33125:8216,33126:8217,33127:8220,33128:8221,33129:65288,33130:65289,33131:12308,33132:12309,33133:65339,33134:65341,33135:65371,33136:65373,33137:12296,33138:12297,33139:12298,33140:12299,33141:12300,33142:12301,33143:12302,33144:12303,33145:12304,33146:12305,33147:65291,33148:8722,33149:177,33150:215,33152:247,33153:65309,33154:8800,33155:65308,33156:65310,33157:8806,33158:8807,33159:8734,33160:8756,33161:9794,33162:9792,33163:176,33164:8242,33165:8243,33166:8451,33167:65509,33168:65284,33169:162,33170:163,33171:65285,33172:65283,33173:65286,33174:65290,33175:65312,33176:167,33177:9734,33178:9733,33179:9675,33180:9679,33181:9678,33182:9671,33183:9670,33184:9633,33185:9632,33186:9651,33187:9650,33188:9661,33189:9660,33190:8251,33191:12306,33192:8594,33193:8592,33194:8593,33195:8595,33196:12307,33208:8712,33209:8715,33210:8838,33211:8839,33212:8834,33213:8835,33214:8746,33215:8745,33224:8743,33225:8744,33226:172,33227:8658,33228:8660,33229:8704,33230:8707,33242:8736,33243:8869,33244:8978,33245:8706,33246:8711,33247:8801,33248:8786,33249:8810,33250:8811,33251:8730,33252:8765,33253:8733,33254:8757,33255:8747,33256:8748,33264:8491,33265:8240,33266:9839,33267:9837,33268:9834,33269:8224,33270:8225,33271:182,33276:9711,33359:65296,33360:65297,33361:65298,33362:65299,33363:65300,33364:65301,33365:65302,33366:65303,33367:65304,33368:65305,33376:65313,33377:65314,33378:65315,33379:65316,33380:65317,33381:65318,33382:65319,33383:65320,33384:65321,33385:65322,33386:65323,33387:65324,33388:65325,33389:65326,33390:65327,33391:65328,33392:65329,33393:65330,33394:65331,33395:65332,33396:65333,33397:65334,33398:65335,33399:65336,33400:65337,33401:65338,33409:65345,33410:65346,33411:65347,33412:65348,33413:65349,33414:65350,33415:65351,33416:65352,33417:65353,33418:65354,33419:65355,33420:65356,33421:65357,33422:65358,33423:65359,33424:65360,33425:65361,33426:65362,33427:65363,33428:65364,33429:65365,33430:65366,33431:65367,33432:65368,33433:65369,33434:65370,33439:12353,33440:12354,33441:12355,33442:12356,33443:12357,33444:12358,33445:12359,33446:12360,33447:12361,33448:12362,33449:12363,33450:12364,33451:12365,33452:12366,33453:12367,33454:12368,33455:12369,33456:12370,33457:12371,33458:12372,33459:12373,33460:12374,33461:12375,33462:12376,33463:12377,33464:12378,33465:12379,33466:12380,33467:12381,33468:12382,33469:12383,33470:12384,33471:12385,33472:12386,33473:12387,33474:12388,33475:12389,33476:12390,33477:12391,33478:12392,33479:12393,33480:12394,33481:12395,33482:12396,33483:12397,33484:12398,33485:12399,33486:12400,33487:12401,33488:12402,33489:12403,33490:12404,33491:12405,33492:12406,33493:12407,33494:12408,33495:12409,33496:12410,33497:12411,33498:12412,33499:12413,33500:12414,33501:12415,33502:12416,33503:12417,33504:12418,33505:12419,33506:12420,33507:12421,33508:12422,33509:12423,33510:12424,33511:12425,33512:12426,33513:12427,33514:12428,33515:12429,33516:12430,33517:12431,33518:12432,33519:12433,33520:12434,33521:12435,33600:12449,33601:12450,33602:12451,33603:12452,33604:12453,33605:12454,33606:12455,33607:12456,33608:12457,33609:12458,33610:12459,33611:12460,33612:12461,33613:12462,33614:12463,33615:12464,33616:12465,33617:12466,33618:12467,33619:12468,33620:12469,33621:12470,33622:12471,33623:12472,33624:12473,33625:12474,33626:12475,33627:12476,33628:12477,33629:12478,33630:12479,33631:12480,33632:12481,33633:12482,33634:12483,33635:12484,33636:12485,33637:12486,33638:12487,33639:12488,33640:12489,33641:12490,33642:12491,33643:12492,33644:12493,33645:12494,33646:12495,33647:12496,33648:12497,33649:12498,33650:12499,33651:12500,33652:12501,33653:12502,33654:12503,33655:12504,33656:12505,33657:12506,33658:12507,33659:12508,33660:12509,33661:12510,33662:12511,33664:12512,33665:12513,33666:12514,33667:12515,33668:12516,33669:12517,33670:12518,33671:12519,33672:12520,33673:12521,33674:12522,33675:12523,33676:12524,33677:12525,33678:12526,33679:12527,33680:12528,33681:12529,33682:12530,33683:12531,33684:12532,33685:12533,33686:12534,33695:913,33696:914,33697:915,33698:916,33699:917,33700:918,33701:919,33702:920,33703:921,33704:922,33705:923,33706:924,33707:925,33708:926,33709:927,33710:928,33711:929,33712:931,33713:932,33714:933,33715:934,33716:935,33717:936,33718:937,33727:945,33728:946,33729:947,33730:948,33731:949,33732:950,33733:951,33734:952,33735:953,33736:954,33737:955,33738:956,33739:957,33740:958,33741:959,33742:960,33743:961,33744:963,33745:964,33746:965,33747:966,33748:967,33749:968,33750:969,33856:1040,33857:1041,33858:1042,33859:1043,33860:1044,33861:1045,33862:1025,33863:1046,33864:1047,33865:1048,33866:1049,33867:1050,33868:1051,33869:1052,33870:1053,33871:1054,33872:1055,33873:1056,33874:1057,33875:1058,33876:1059,33877:1060,33878:1061,33879:1062,33880:1063,33881:1064,33882:1065,33883:1066,33884:1067,33885:1068,33886:1069,33887:1070,33888:1071,33904:1072,33905:1073,33906:1074,33907:1075,33908:1076,33909:1077,33910:1105,33911:1078,33912:1079,33913:1080,33914:1081,33915:1082,33916:1083,33917:1084,33918:1085,33920:1086,33921:1087,33922:1088,33923:1089,33924:1090,33925:1091,33926:1092,33927:1093,33928:1094,33929:1095,33930:1096,33931:1097,33932:1098,33933:1099,33934:1100,33935:1101,33936:1102,33937:1103,33951:9472,33952:9474,33953:9484,33954:9488,33955:9496,33956:9492,33957:9500,33958:9516,33959:9508,33960:9524,33961:9532,33962:9473,33963:9475,33964:9487,33965:9491,33966:9499,33967:9495,33968:9507,33969:9523,33970:9515,33971:9531,33972:9547,33973:9504,33974:9519,33975:9512,33976:9527,33977:9535,33978:9501,33979:9520,33980:9509,33981:9528,33982:9538,34975:20124,34976:21782,34977:23043,34978:38463,34979:21696,34980:24859,34981:25384,34982:23030,34983:36898,34984:33909,34985:33564,34986:31312,34987:24746,34988:25569,34989:28197,34990:26093,34991:33894,34992:33446,34993:39925,34994:26771,34995:22311,34996:26017,34997:25201,34998:23451,34999:22992,35e3:34427,35001:39156,35002:32098,35003:32190,35004:39822,35005:25110,35006:31903,35007:34999,35008:23433,35009:24245,35010:25353,35011:26263,35012:26696,35013:38343,35014:38797,35015:26447,35016:20197,35017:20234,35018:20301,35019:20381,35020:20553,35021:22258,35022:22839,35023:22996,35024:23041,35025:23561,35026:24799,35027:24847,35028:24944,35029:26131,35030:26885,35031:28858,35032:30031,35033:30064,35034:31227,35035:32173,35036:32239,35037:32963,35038:33806,35039:34915,35040:35586,35041:36949,35042:36986,35043:21307,35044:20117,35045:20133,35046:22495,35047:32946,35048:37057,35049:30959,35050:19968,35051:22769,35052:28322,35053:36920,35054:31282,35055:33576,35056:33419,35057:39983,35058:20801,35059:21360,35060:21693,35061:21729,35062:22240,35063:23035,35064:24341,35065:39154,35066:28139,35067:32996,35068:34093,35136:38498,35137:38512,35138:38560,35139:38907,35140:21515,35141:21491,35142:23431,35143:28879,35144:32701,35145:36802,35146:38632,35147:21359,35148:40284,35149:31418,35150:19985,35151:30867,35152:33276,35153:28198,35154:22040,35155:21764,35156:27421,35157:34074,35158:39995,35159:23013,35160:21417,35161:28006,35162:29916,35163:38287,35164:22082,35165:20113,35166:36939,35167:38642,35168:33615,35169:39180,35170:21473,35171:21942,35172:23344,35173:24433,35174:26144,35175:26355,35176:26628,35177:27704,35178:27891,35179:27945,35180:29787,35181:30408,35182:31310,35183:38964,35184:33521,35185:34907,35186:35424,35187:37613,35188:28082,35189:30123,35190:30410,35191:39365,35192:24742,35193:35585,35194:36234,35195:38322,35196:27022,35197:21421,35198:20870,35200:22290,35201:22576,35202:22852,35203:23476,35204:24310,35205:24616,35206:25513,35207:25588,35208:27839,35209:28436,35210:28814,35211:28948,35212:29017,35213:29141,35214:29503,35215:32257,35216:33398,35217:33489,35218:34199,35219:36960,35220:37467,35221:40219,35222:22633,35223:26044,35224:27738,35225:29989,35226:20985,35227:22830,35228:22885,35229:24448,35230:24540,35231:25276,35232:26106,35233:27178,35234:27431,35235:27572,35236:29579,35237:32705,35238:35158,35239:40236,35240:40206,35241:40644,35242:23713,35243:27798,35244:33659,35245:20740,35246:23627,35247:25014,35248:33222,35249:26742,35250:29281,35251:20057,35252:20474,35253:21368,35254:24681,35255:28201,35256:31311,35257:38899,35258:19979,35259:21270,35260:20206,35261:20309,35262:20285,35263:20385,35264:20339,35265:21152,35266:21487,35267:22025,35268:22799,35269:23233,35270:23478,35271:23521,35272:31185,35273:26247,35274:26524,35275:26550,35276:27468,35277:27827,35278:28779,35279:29634,35280:31117,35281:31166,35282:31292,35283:31623,35284:33457,35285:33499,35286:33540,35287:33655,35288:33775,35289:33747,35290:34662,35291:35506,35292:22057,35293:36008,35294:36838,35295:36942,35296:38686,35297:34442,35298:20420,35299:23784,35300:25105,35301:29273,35302:30011,35303:33253,35304:33469,35305:34558,35306:36032,35307:38597,35308:39187,35309:39381,35310:20171,35311:20250,35312:35299,35313:22238,35314:22602,35315:22730,35316:24315,35317:24555,35318:24618,35319:24724,35320:24674,35321:25040,35322:25106,35323:25296,35324:25913,35392:39745,35393:26214,35394:26800,35395:28023,35396:28784,35397:30028,35398:30342,35399:32117,35400:33445,35401:34809,35402:38283,35403:38542,35404:35997,35405:20977,35406:21182,35407:22806,35408:21683,35409:23475,35410:23830,35411:24936,35412:27010,35413:28079,35414:30861,35415:33995,35416:34903,35417:35442,35418:37799,35419:39608,35420:28012,35421:39336,35422:34521,35423:22435,35424:26623,35425:34510,35426:37390,35427:21123,35428:22151,35429:21508,35430:24275,35431:25313,35432:25785,35433:26684,35434:26680,35435:27579,35436:29554,35437:30906,35438:31339,35439:35226,35440:35282,35441:36203,35442:36611,35443:37101,35444:38307,35445:38548,35446:38761,35447:23398,35448:23731,35449:27005,35450:38989,35451:38990,35452:25499,35453:31520,35454:27179,35456:27263,35457:26806,35458:39949,35459:28511,35460:21106,35461:21917,35462:24688,35463:25324,35464:27963,35465:28167,35466:28369,35467:33883,35468:35088,35469:36676,35470:19988,35471:39993,35472:21494,35473:26907,35474:27194,35475:38788,35476:26666,35477:20828,35478:31427,35479:33970,35480:37340,35481:37772,35482:22107,35483:40232,35484:26658,35485:33541,35486:33841,35487:31909,35488:21e3,35489:33477,35490:29926,35491:20094,35492:20355,35493:20896,35494:23506,35495:21002,35496:21208,35497:21223,35498:24059,35499:21914,35500:22570,35501:23014,35502:23436,35503:23448,35504:23515,35505:24178,35506:24185,35507:24739,35508:24863,35509:24931,35510:25022,35511:25563,35512:25954,35513:26577,35514:26707,35515:26874,35516:27454,35517:27475,35518:27735,35519:28450,35520:28567,35521:28485,35522:29872,35523:29976,35524:30435,35525:30475,35526:31487,35527:31649,35528:31777,35529:32233,35530:32566,35531:32752,35532:32925,35533:33382,35534:33694,35535:35251,35536:35532,35537:36011,35538:36996,35539:37969,35540:38291,35541:38289,35542:38306,35543:38501,35544:38867,35545:39208,35546:33304,35547:20024,35548:21547,35549:23736,35550:24012,35551:29609,35552:30284,35553:30524,35554:23721,35555:32747,35556:36107,35557:38593,35558:38929,35559:38996,35560:39e3,35561:20225,35562:20238,35563:21361,35564:21916,35565:22120,35566:22522,35567:22855,35568:23305,35569:23492,35570:23696,35571:24076,35572:24190,35573:24524,35574:25582,35575:26426,35576:26071,35577:26082,35578:26399,35579:26827,35580:26820,35648:27231,35649:24112,35650:27589,35651:27671,35652:27773,35653:30079,35654:31048,35655:23395,35656:31232,35657:32e3,35658:24509,35659:35215,35660:35352,35661:36020,35662:36215,35663:36556,35664:36637,35665:39138,35666:39438,35667:39740,35668:20096,35669:20605,35670:20736,35671:22931,35672:23452,35673:25135,35674:25216,35675:25836,35676:27450,35677:29344,35678:30097,35679:31047,35680:32681,35681:34811,35682:35516,35683:35696,35684:25516,35685:33738,35686:38816,35687:21513,35688:21507,35689:21931,35690:26708,35691:27224,35692:35440,35693:30759,35694:26485,35695:40653,35696:21364,35697:23458,35698:33050,35699:34384,35700:36870,35701:19992,35702:20037,35703:20167,35704:20241,35705:21450,35706:21560,35707:23470,35708:24339,35709:24613,35710:25937,35712:26429,35713:27714,35714:27762,35715:27875,35716:28792,35717:29699,35718:31350,35719:31406,35720:31496,35721:32026,35722:31998,35723:32102,35724:26087,35725:29275,35726:21435,35727:23621,35728:24040,35729:25298,35730:25312,35731:25369,35732:28192,35733:34394,35734:35377,35735:36317,35736:37624,35737:28417,35738:31142,35739:39770,35740:20136,35741:20139,35742:20140,35743:20379,35744:20384,35745:20689,35746:20807,35747:31478,35748:20849,35749:20982,35750:21332,35751:21281,35752:21375,35753:21483,35754:21932,35755:22659,35756:23777,35757:24375,35758:24394,35759:24623,35760:24656,35761:24685,35762:25375,35763:25945,35764:27211,35765:27841,35766:29378,35767:29421,35768:30703,35769:33016,35770:33029,35771:33288,35772:34126,35773:37111,35774:37857,35775:38911,35776:39255,35777:39514,35778:20208,35779:20957,35780:23597,35781:26241,35782:26989,35783:23616,35784:26354,35785:26997,35786:29577,35787:26704,35788:31873,35789:20677,35790:21220,35791:22343,35792:24062,35793:37670,35794:26020,35795:27427,35796:27453,35797:29748,35798:31105,35799:31165,35800:31563,35801:32202,35802:33465,35803:33740,35804:34943,35805:35167,35806:35641,35807:36817,35808:37329,35809:21535,35810:37504,35811:20061,35812:20534,35813:21477,35814:21306,35815:29399,35816:29590,35817:30697,35818:33510,35819:36527,35820:39366,35821:39368,35822:39378,35823:20855,35824:24858,35825:34398,35826:21936,35827:31354,35828:20598,35829:23507,35830:36935,35831:38533,35832:20018,35833:27355,35834:37351,35835:23633,35836:23624,35904:25496,35905:31391,35906:27795,35907:38772,35908:36705,35909:31402,35910:29066,35911:38536,35912:31874,35913:26647,35914:32368,35915:26705,35916:37740,35917:21234,35918:21531,35919:34219,35920:35347,35921:32676,35922:36557,35923:37089,35924:21350,35925:34952,35926:31041,35927:20418,35928:20670,35929:21009,35930:20804,35931:21843,35932:22317,35933:29674,35934:22411,35935:22865,35936:24418,35937:24452,35938:24693,35939:24950,35940:24935,35941:25001,35942:25522,35943:25658,35944:25964,35945:26223,35946:26690,35947:28179,35948:30054,35949:31293,35950:31995,35951:32076,35952:32153,35953:32331,35954:32619,35955:33550,35956:33610,35957:34509,35958:35336,35959:35427,35960:35686,35961:36605,35962:38938,35963:40335,35964:33464,35965:36814,35966:39912,35968:21127,35969:25119,35970:25731,35971:28608,35972:38553,35973:26689,35974:20625,35975:27424,35976:27770,35977:28500,35978:31348,35979:32080,35980:34880,35981:35363,35982:26376,35983:20214,35984:20537,35985:20518,35986:20581,35987:20860,35988:21048,35989:21091,35990:21927,35991:22287,35992:22533,35993:23244,35994:24314,35995:25010,35996:25080,35997:25331,35998:25458,35999:26908,36e3:27177,36001:29309,36002:29356,36003:29486,36004:30740,36005:30831,36006:32121,36007:30476,36008:32937,36009:35211,36010:35609,36011:36066,36012:36562,36013:36963,36014:37749,36015:38522,36016:38997,36017:39443,36018:40568,36019:20803,36020:21407,36021:21427,36022:24187,36023:24358,36024:28187,36025:28304,36026:29572,36027:29694,36028:32067,36029:33335,36030:35328,36031:35578,36032:38480,36033:20046,36034:20491,36035:21476,36036:21628,36037:22266,36038:22993,36039:23396,36040:24049,36041:24235,36042:24359,36043:25144,36044:25925,36045:26543,36046:28246,36047:29392,36048:31946,36049:34996,36050:32929,36051:32993,36052:33776,36053:34382,36054:35463,36055:36328,36056:37431,36057:38599,36058:39015,36059:40723,36060:20116,36061:20114,36062:20237,36063:21320,36064:21577,36065:21566,36066:23087,36067:24460,36068:24481,36069:24735,36070:26791,36071:27278,36072:29786,36073:30849,36074:35486,36075:35492,36076:35703,36077:37264,36078:20062,36079:39881,36080:20132,36081:20348,36082:20399,36083:20505,36084:20502,36085:20809,36086:20844,36087:21151,36088:21177,36089:21246,36090:21402,36091:21475,36092:21521,36160:21518,36161:21897,36162:22353,36163:22434,36164:22909,36165:23380,36166:23389,36167:23439,36168:24037,36169:24039,36170:24055,36171:24184,36172:24195,36173:24218,36174:24247,36175:24344,36176:24658,36177:24908,36178:25239,36179:25304,36180:25511,36181:25915,36182:26114,36183:26179,36184:26356,36185:26477,36186:26657,36187:26775,36188:27083,36189:27743,36190:27946,36191:28009,36192:28207,36193:28317,36194:30002,36195:30343,36196:30828,36197:31295,36198:31968,36199:32005,36200:32024,36201:32094,36202:32177,36203:32789,36204:32771,36205:32943,36206:32945,36207:33108,36208:33167,36209:33322,36210:33618,36211:34892,36212:34913,36213:35611,36214:36002,36215:36092,36216:37066,36217:37237,36218:37489,36219:30783,36220:37628,36221:38308,36222:38477,36224:38917,36225:39321,36226:39640,36227:40251,36228:21083,36229:21163,36230:21495,36231:21512,36232:22741,36233:25335,36234:28640,36235:35946,36236:36703,36237:40633,36238:20811,36239:21051,36240:21578,36241:22269,36242:31296,36243:37239,36244:40288,36245:40658,36246:29508,36247:28425,36248:33136,36249:29969,36250:24573,36251:24794,36252:39592,36253:29403,36254:36796,36255:27492,36256:38915,36257:20170,36258:22256,36259:22372,36260:22718,36261:23130,36262:24680,36263:25031,36264:26127,36265:26118,36266:26681,36267:26801,36268:28151,36269:30165,36270:32058,36271:33390,36272:39746,36273:20123,36274:20304,36275:21449,36276:21766,36277:23919,36278:24038,36279:24046,36280:26619,36281:27801,36282:29811,36283:30722,36284:35408,36285:37782,36286:35039,36287:22352,36288:24231,36289:25387,36290:20661,36291:20652,36292:20877,36293:26368,36294:21705,36295:22622,36296:22971,36297:23472,36298:24425,36299:25165,36300:25505,36301:26685,36302:27507,36303:28168,36304:28797,36305:37319,36306:29312,36307:30741,36308:30758,36309:31085,36310:25998,36311:32048,36312:33756,36313:35009,36314:36617,36315:38555,36316:21092,36317:22312,36318:26448,36319:32618,36320:36001,36321:20916,36322:22338,36323:38442,36324:22586,36325:27018,36326:32948,36327:21682,36328:23822,36329:22524,36330:30869,36331:40442,36332:20316,36333:21066,36334:21643,36335:25662,36336:26152,36337:26388,36338:26613,36339:31364,36340:31574,36341:32034,36342:37679,36343:26716,36344:39853,36345:31545,36346:21273,36347:20874,36348:21047,36416:23519,36417:25334,36418:25774,36419:25830,36420:26413,36421:27578,36422:34217,36423:38609,36424:30352,36425:39894,36426:25420,36427:37638,36428:39851,36429:30399,36430:26194,36431:19977,36432:20632,36433:21442,36434:23665,36435:24808,36436:25746,36437:25955,36438:26719,36439:29158,36440:29642,36441:29987,36442:31639,36443:32386,36444:34453,36445:35715,36446:36059,36447:37240,36448:39184,36449:26028,36450:26283,36451:27531,36452:20181,36453:20180,36454:20282,36455:20351,36456:21050,36457:21496,36458:21490,36459:21987,36460:22235,36461:22763,36462:22987,36463:22985,36464:23039,36465:23376,36466:23629,36467:24066,36468:24107,36469:24535,36470:24605,36471:25351,36472:25903,36473:23388,36474:26031,36475:26045,36476:26088,36477:26525,36478:27490,36480:27515,36481:27663,36482:29509,36483:31049,36484:31169,36485:31992,36486:32025,36487:32043,36488:32930,36489:33026,36490:33267,36491:35222,36492:35422,36493:35433,36494:35430,36495:35468,36496:35566,36497:36039,36498:36060,36499:38604,36500:39164,36501:27503,36502:20107,36503:20284,36504:20365,36505:20816,36506:23383,36507:23546,36508:24904,36509:25345,36510:26178,36511:27425,36512:28363,36513:27835,36514:29246,36515:29885,36516:30164,36517:30913,36518:31034,36519:32780,36520:32819,36521:33258,36522:33940,36523:36766,36524:27728,36525:40575,36526:24335,36527:35672,36528:40235,36529:31482,36530:36600,36531:23437,36532:38635,36533:19971,36534:21489,36535:22519,36536:22833,36537:23241,36538:23460,36539:24713,36540:28287,36541:28422,36542:30142,36543:36074,36544:23455,36545:34048,36546:31712,36547:20594,36548:26612,36549:33437,36550:23649,36551:34122,36552:32286,36553:33294,36554:20889,36555:23556,36556:25448,36557:36198,36558:26012,36559:29038,36560:31038,36561:32023,36562:32773,36563:35613,36564:36554,36565:36974,36566:34503,36567:37034,36568:20511,36569:21242,36570:23610,36571:26451,36572:28796,36573:29237,36574:37196,36575:37320,36576:37675,36577:33509,36578:23490,36579:24369,36580:24825,36581:20027,36582:21462,36583:23432,36584:25163,36585:26417,36586:27530,36587:29417,36588:29664,36589:31278,36590:33131,36591:36259,36592:37202,36593:39318,36594:20754,36595:21463,36596:21610,36597:23551,36598:25480,36599:27193,36600:32172,36601:38656,36602:22234,36603:21454,36604:21608,36672:23447,36673:23601,36674:24030,36675:20462,36676:24833,36677:25342,36678:27954,36679:31168,36680:31179,36681:32066,36682:32333,36683:32722,36684:33261,36685:33311,36686:33936,36687:34886,36688:35186,36689:35728,36690:36468,36691:36655,36692:36913,36693:37195,36694:37228,36695:38598,36696:37276,36697:20160,36698:20303,36699:20805,36700:21313,36701:24467,36702:25102,36703:26580,36704:27713,36705:28171,36706:29539,36707:32294,36708:37325,36709:37507,36710:21460,36711:22809,36712:23487,36713:28113,36714:31069,36715:32302,36716:31899,36717:22654,36718:29087,36719:20986,36720:34899,36721:36848,36722:20426,36723:23803,36724:26149,36725:30636,36726:31459,36727:33308,36728:39423,36729:20934,36730:24490,36731:26092,36732:26991,36733:27529,36734:28147,36736:28310,36737:28516,36738:30462,36739:32020,36740:24033,36741:36981,36742:37255,36743:38918,36744:20966,36745:21021,36746:25152,36747:26257,36748:26329,36749:28186,36750:24246,36751:32210,36752:32626,36753:26360,36754:34223,36755:34295,36756:35576,36757:21161,36758:21465,36759:22899,36760:24207,36761:24464,36762:24661,36763:37604,36764:38500,36765:20663,36766:20767,36767:21213,36768:21280,36769:21319,36770:21484,36771:21736,36772:21830,36773:21809,36774:22039,36775:22888,36776:22974,36777:23100,36778:23477,36779:23558,36780:23567,36781:23569,36782:23578,36783:24196,36784:24202,36785:24288,36786:24432,36787:25215,36788:25220,36789:25307,36790:25484,36791:25463,36792:26119,36793:26124,36794:26157,36795:26230,36796:26494,36797:26786,36798:27167,36799:27189,36800:27836,36801:28040,36802:28169,36803:28248,36804:28988,36805:28966,36806:29031,36807:30151,36808:30465,36809:30813,36810:30977,36811:31077,36812:31216,36813:31456,36814:31505,36815:31911,36816:32057,36817:32918,36818:33750,36819:33931,36820:34121,36821:34909,36822:35059,36823:35359,36824:35388,36825:35412,36826:35443,36827:35937,36828:36062,36829:37284,36830:37478,36831:37758,36832:37912,36833:38556,36834:38808,36835:19978,36836:19976,36837:19998,36838:20055,36839:20887,36840:21104,36841:22478,36842:22580,36843:22732,36844:23330,36845:24120,36846:24773,36847:25854,36848:26465,36849:26454,36850:27972,36851:29366,36852:30067,36853:31331,36854:33976,36855:35698,36856:37304,36857:37664,36858:22065,36859:22516,36860:39166,36928:25325,36929:26893,36930:27542,36931:29165,36932:32340,36933:32887,36934:33394,36935:35302,36936:39135,36937:34645,36938:36785,36939:23611,36940:20280,36941:20449,36942:20405,36943:21767,36944:23072,36945:23517,36946:23529,36947:24515,36948:24910,36949:25391,36950:26032,36951:26187,36952:26862,36953:27035,36954:28024,36955:28145,36956:30003,36957:30137,36958:30495,36959:31070,36960:31206,36961:32051,36962:33251,36963:33455,36964:34218,36965:35242,36966:35386,36967:36523,36968:36763,36969:36914,36970:37341,36971:38663,36972:20154,36973:20161,36974:20995,36975:22645,36976:22764,36977:23563,36978:29978,36979:23613,36980:33102,36981:35338,36982:36805,36983:38499,36984:38765,36985:31525,36986:35535,36987:38920,36988:37218,36989:22259,36990:21416,36992:36887,36993:21561,36994:22402,36995:24101,36996:25512,36997:27700,36998:28810,36999:30561,37e3:31883,37001:32736,37002:34928,37003:36930,37004:37204,37005:37648,37006:37656,37007:38543,37008:29790,37009:39620,37010:23815,37011:23913,37012:25968,37013:26530,37014:36264,37015:38619,37016:25454,37017:26441,37018:26905,37019:33733,37020:38935,37021:38592,37022:35070,37023:28548,37024:25722,37025:23544,37026:19990,37027:28716,37028:30045,37029:26159,37030:20932,37031:21046,37032:21218,37033:22995,37034:24449,37035:24615,37036:25104,37037:25919,37038:25972,37039:26143,37040:26228,37041:26866,37042:26646,37043:27491,37044:28165,37045:29298,37046:29983,37047:30427,37048:31934,37049:32854,37050:22768,37051:35069,37052:35199,37053:35488,37054:35475,37055:35531,37056:36893,37057:37266,37058:38738,37059:38745,37060:25993,37061:31246,37062:33030,37063:38587,37064:24109,37065:24796,37066:25114,37067:26021,37068:26132,37069:26512,37070:30707,37071:31309,37072:31821,37073:32318,37074:33034,37075:36012,37076:36196,37077:36321,37078:36447,37079:30889,37080:20999,37081:25305,37082:25509,37083:25666,37084:25240,37085:35373,37086:31363,37087:31680,37088:35500,37089:38634,37090:32118,37091:33292,37092:34633,37093:20185,37094:20808,37095:21315,37096:21344,37097:23459,37098:23554,37099:23574,37100:24029,37101:25126,37102:25159,37103:25776,37104:26643,37105:26676,37106:27849,37107:27973,37108:27927,37109:26579,37110:28508,37111:29006,37112:29053,37113:26059,37114:31359,37115:31661,37116:32218,37184:32330,37185:32680,37186:33146,37187:33307,37188:33337,37189:34214,37190:35438,37191:36046,37192:36341,37193:36984,37194:36983,37195:37549,37196:37521,37197:38275,37198:39854,37199:21069,37200:21892,37201:28472,37202:28982,37203:20840,37204:31109,37205:32341,37206:33203,37207:31950,37208:22092,37209:22609,37210:23720,37211:25514,37212:26366,37213:26365,37214:26970,37215:29401,37216:30095,37217:30094,37218:30990,37219:31062,37220:31199,37221:31895,37222:32032,37223:32068,37224:34311,37225:35380,37226:38459,37227:36961,37228:40736,37229:20711,37230:21109,37231:21452,37232:21474,37233:20489,37234:21930,37235:22766,37236:22863,37237:29245,37238:23435,37239:23652,37240:21277,37241:24803,37242:24819,37243:25436,37244:25475,37245:25407,37246:25531,37248:25805,37249:26089,37250:26361,37251:24035,37252:27085,37253:27133,37254:28437,37255:29157,37256:20105,37257:30185,37258:30456,37259:31379,37260:31967,37261:32207,37262:32156,37263:32865,37264:33609,37265:33624,37266:33900,37267:33980,37268:34299,37269:35013,37270:36208,37271:36865,37272:36973,37273:37783,37274:38684,37275:39442,37276:20687,37277:22679,37278:24974,37279:33235,37280:34101,37281:36104,37282:36896,37283:20419,37284:20596,37285:21063,37286:21363,37287:24687,37288:25417,37289:26463,37290:28204,37291:36275,37292:36895,37293:20439,37294:23646,37295:36042,37296:26063,37297:32154,37298:21330,37299:34966,37300:20854,37301:25539,37302:23384,37303:23403,37304:23562,37305:25613,37306:26449,37307:36956,37308:20182,37309:22810,37310:22826,37311:27760,37312:35409,37313:21822,37314:22549,37315:22949,37316:24816,37317:25171,37318:26561,37319:33333,37320:26965,37321:38464,37322:39364,37323:39464,37324:20307,37325:22534,37326:23550,37327:32784,37328:23729,37329:24111,37330:24453,37331:24608,37332:24907,37333:25140,37334:26367,37335:27888,37336:28382,37337:32974,37338:33151,37339:33492,37340:34955,37341:36024,37342:36864,37343:36910,37344:38538,37345:40667,37346:39899,37347:20195,37348:21488,37349:22823,37350:31532,37351:37261,37352:38988,37353:40441,37354:28381,37355:28711,37356:21331,37357:21828,37358:23429,37359:25176,37360:25246,37361:25299,37362:27810,37363:28655,37364:29730,37365:35351,37366:37944,37367:28609,37368:35582,37369:33592,37370:20967,37371:34552,37372:21482,37440:21481,37441:20294,37442:36948,37443:36784,37444:22890,37445:33073,37446:24061,37447:31466,37448:36799,37449:26842,37450:35895,37451:29432,37452:40008,37453:27197,37454:35504,37455:20025,37456:21336,37457:22022,37458:22374,37459:25285,37460:25506,37461:26086,37462:27470,37463:28129,37464:28251,37465:28845,37466:30701,37467:31471,37468:31658,37469:32187,37470:32829,37471:32966,37472:34507,37473:35477,37474:37723,37475:22243,37476:22727,37477:24382,37478:26029,37479:26262,37480:27264,37481:27573,37482:30007,37483:35527,37484:20516,37485:30693,37486:22320,37487:24347,37488:24677,37489:26234,37490:27744,37491:30196,37492:31258,37493:32622,37494:33268,37495:34584,37496:36933,37497:39347,37498:31689,37499:30044,37500:31481,37501:31569,37502:33988,37504:36880,37505:31209,37506:31378,37507:33590,37508:23265,37509:30528,37510:20013,37511:20210,37512:23449,37513:24544,37514:25277,37515:26172,37516:26609,37517:27880,37518:34411,37519:34935,37520:35387,37521:37198,37522:37619,37523:39376,37524:27159,37525:28710,37526:29482,37527:33511,37528:33879,37529:36015,37530:19969,37531:20806,37532:20939,37533:21899,37534:23541,37535:24086,37536:24115,37537:24193,37538:24340,37539:24373,37540:24427,37541:24500,37542:25074,37543:25361,37544:26274,37545:26397,37546:28526,37547:29266,37548:30010,37549:30522,37550:32884,37551:33081,37552:33144,37553:34678,37554:35519,37555:35548,37556:36229,37557:36339,37558:37530,37559:38263,37560:38914,37561:40165,37562:21189,37563:25431,37564:30452,37565:26389,37566:27784,37567:29645,37568:36035,37569:37806,37570:38515,37571:27941,37572:22684,37573:26894,37574:27084,37575:36861,37576:37786,37577:30171,37578:36890,37579:22618,37580:26626,37581:25524,37582:27131,37583:20291,37584:28460,37585:26584,37586:36795,37587:34086,37588:32180,37589:37716,37590:26943,37591:28528,37592:22378,37593:22775,37594:23340,37595:32044,37596:29226,37597:21514,37598:37347,37599:40372,37600:20141,37601:20302,37602:20572,37603:20597,37604:21059,37605:35998,37606:21576,37607:22564,37608:23450,37609:24093,37610:24213,37611:24237,37612:24311,37613:24351,37614:24716,37615:25269,37616:25402,37617:25552,37618:26799,37619:27712,37620:30855,37621:31118,37622:31243,37623:32224,37624:33351,37625:35330,37626:35558,37627:36420,37628:36883,37696:37048,37697:37165,37698:37336,37699:40718,37700:27877,37701:25688,37702:25826,37703:25973,37704:28404,37705:30340,37706:31515,37707:36969,37708:37841,37709:28346,37710:21746,37711:24505,37712:25764,37713:36685,37714:36845,37715:37444,37716:20856,37717:22635,37718:22825,37719:23637,37720:24215,37721:28155,37722:32399,37723:29980,37724:36028,37725:36578,37726:39003,37727:28857,37728:20253,37729:27583,37730:28593,37731:3e4,37732:38651,37733:20814,37734:21520,37735:22581,37736:22615,37737:22956,37738:23648,37739:24466,37740:26007,37741:26460,37742:28193,37743:30331,37744:33759,37745:36077,37746:36884,37747:37117,37748:37709,37749:30757,37750:30778,37751:21162,37752:24230,37753:22303,37754:22900,37755:24594,37756:20498,37757:20826,37758:20908,37760:20941,37761:20992,37762:21776,37763:22612,37764:22616,37765:22871,37766:23445,37767:23798,37768:23947,37769:24764,37770:25237,37771:25645,37772:26481,37773:26691,37774:26812,37775:26847,37776:30423,37777:28120,37778:28271,37779:28059,37780:28783,37781:29128,37782:24403,37783:30168,37784:31095,37785:31561,37786:31572,37787:31570,37788:31958,37789:32113,37790:21040,37791:33891,37792:34153,37793:34276,37794:35342,37795:35588,37796:35910,37797:36367,37798:36867,37799:36879,37800:37913,37801:38518,37802:38957,37803:39472,37804:38360,37805:20685,37806:21205,37807:21516,37808:22530,37809:23566,37810:24999,37811:25758,37812:27934,37813:30643,37814:31461,37815:33012,37816:33796,37817:36947,37818:37509,37819:23776,37820:40199,37821:21311,37822:24471,37823:24499,37824:28060,37825:29305,37826:30563,37827:31167,37828:31716,37829:27602,37830:29420,37831:35501,37832:26627,37833:27233,37834:20984,37835:31361,37836:26932,37837:23626,37838:40182,37839:33515,37840:23493,37841:37193,37842:28702,37843:22136,37844:23663,37845:24775,37846:25958,37847:27788,37848:35930,37849:36929,37850:38931,37851:21585,37852:26311,37853:37389,37854:22856,37855:37027,37856:20869,37857:20045,37858:20970,37859:34201,37860:35598,37861:28760,37862:25466,37863:37707,37864:26978,37865:39348,37866:32260,37867:30071,37868:21335,37869:26976,37870:36575,37871:38627,37872:27741,37873:20108,37874:23612,37875:24336,37876:36841,37877:21250,37878:36049,37879:32905,37880:34425,37881:24319,37882:26085,37883:20083,37884:20837,37952:22914,37953:23615,37954:38894,37955:20219,37956:22922,37957:24525,37958:35469,37959:28641,37960:31152,37961:31074,37962:23527,37963:33905,37964:29483,37965:29105,37966:24180,37967:24565,37968:25467,37969:25754,37970:29123,37971:31896,37972:20035,37973:24316,37974:20043,37975:22492,37976:22178,37977:24745,37978:28611,37979:32013,37980:33021,37981:33075,37982:33215,37983:36786,37984:35223,37985:34468,37986:24052,37987:25226,37988:25773,37989:35207,37990:26487,37991:27874,37992:27966,37993:29750,37994:30772,37995:23110,37996:32629,37997:33453,37998:39340,37999:20467,38e3:24259,38001:25309,38002:25490,38003:25943,38004:26479,38005:30403,38006:29260,38007:32972,38008:32954,38009:36649,38010:37197,38011:20493,38012:22521,38013:23186,38014:26757,38016:26995,38017:29028,38018:29437,38019:36023,38020:22770,38021:36064,38022:38506,38023:36889,38024:34687,38025:31204,38026:30695,38027:33833,38028:20271,38029:21093,38030:21338,38031:25293,38032:26575,38033:27850,38034:30333,38035:31636,38036:31893,38037:33334,38038:34180,38039:36843,38040:26333,38041:28448,38042:29190,38043:32283,38044:33707,38045:39361,38046:40614,38047:20989,38048:31665,38049:30834,38050:31672,38051:32903,38052:31560,38053:27368,38054:24161,38055:32908,38056:30033,38057:30048,38058:20843,38059:37474,38060:28300,38061:30330,38062:37271,38063:39658,38064:20240,38065:32624,38066:25244,38067:31567,38068:38309,38069:40169,38070:22138,38071:22617,38072:34532,38073:38588,38074:20276,38075:21028,38076:21322,38077:21453,38078:21467,38079:24070,38080:25644,38081:26001,38082:26495,38083:27710,38084:27726,38085:29256,38086:29359,38087:29677,38088:30036,38089:32321,38090:33324,38091:34281,38092:36009,38093:31684,38094:37318,38095:29033,38096:38930,38097:39151,38098:25405,38099:26217,38100:30058,38101:30436,38102:30928,38103:34115,38104:34542,38105:21290,38106:21329,38107:21542,38108:22915,38109:24199,38110:24444,38111:24754,38112:25161,38113:25209,38114:25259,38115:26e3,38116:27604,38117:27852,38118:30130,38119:30382,38120:30865,38121:31192,38122:32203,38123:32631,38124:32933,38125:34987,38126:35513,38127:36027,38128:36991,38129:38750,38130:39131,38131:27147,38132:31800,38133:20633,38134:23614,38135:24494,38136:26503,38137:27608,38138:29749,38139:30473,38140:32654,38208:40763,38209:26570,38210:31255,38211:21305,38212:30091,38213:39661,38214:24422,38215:33181,38216:33777,38217:32920,38218:24380,38219:24517,38220:30050,38221:31558,38222:36924,38223:26727,38224:23019,38225:23195,38226:32016,38227:30334,38228:35628,38229:20469,38230:24426,38231:27161,38232:27703,38233:28418,38234:29922,38235:31080,38236:34920,38237:35413,38238:35961,38239:24287,38240:25551,38241:30149,38242:31186,38243:33495,38244:37672,38245:37618,38246:33948,38247:34541,38248:39981,38249:21697,38250:24428,38251:25996,38252:27996,38253:28693,38254:36007,38255:36051,38256:38971,38257:25935,38258:29942,38259:19981,38260:20184,38261:22496,38262:22827,38263:23142,38264:23500,38265:20904,38266:24067,38267:24220,38268:24598,38269:25206,38270:25975,38272:26023,38273:26222,38274:28014,38275:29238,38276:31526,38277:33104,38278:33178,38279:33433,38280:35676,38281:36e3,38282:36070,38283:36212,38284:38428,38285:38468,38286:20398,38287:25771,38288:27494,38289:33310,38290:33889,38291:34154,38292:37096,38293:23553,38294:26963,38295:39080,38296:33914,38297:34135,38298:20239,38299:21103,38300:24489,38301:24133,38302:26381,38303:31119,38304:33145,38305:35079,38306:35206,38307:28149,38308:24343,38309:25173,38310:27832,38311:20175,38312:29289,38313:39826,38314:20998,38315:21563,38316:22132,38317:22707,38318:24996,38319:25198,38320:28954,38321:22894,38322:31881,38323:31966,38324:32027,38325:38640,38326:25991,38327:32862,38328:19993,38329:20341,38330:20853,38331:22592,38332:24163,38333:24179,38334:24330,38335:26564,38336:20006,38337:34109,38338:38281,38339:38491,38340:31859,38341:38913,38342:20731,38343:22721,38344:30294,38345:30887,38346:21029,38347:30629,38348:34065,38349:31622,38350:20559,38351:22793,38352:29255,38353:31687,38354:32232,38355:36794,38356:36820,38357:36941,38358:20415,38359:21193,38360:23081,38361:24321,38362:38829,38363:20445,38364:33303,38365:37610,38366:22275,38367:25429,38368:27497,38369:29995,38370:35036,38371:36628,38372:31298,38373:21215,38374:22675,38375:24917,38376:25098,38377:26286,38378:27597,38379:31807,38380:33769,38381:20515,38382:20472,38383:21253,38384:21574,38385:22577,38386:22857,38387:23453,38388:23792,38389:23791,38390:23849,38391:24214,38392:25265,38393:25447,38394:25918,38395:26041,38396:26379,38464:27861,38465:27873,38466:28921,38467:30770,38468:32299,38469:32990,38470:33459,38471:33804,38472:34028,38473:34562,38474:35090,38475:35370,38476:35914,38477:37030,38478:37586,38479:39165,38480:40179,38481:40300,38482:20047,38483:20129,38484:20621,38485:21078,38486:22346,38487:22952,38488:24125,38489:24536,38490:24537,38491:25151,38492:26292,38493:26395,38494:26576,38495:26834,38496:20882,38497:32033,38498:32938,38499:33192,38500:35584,38501:35980,38502:36031,38503:37502,38504:38450,38505:21536,38506:38956,38507:21271,38508:20693,38509:21340,38510:22696,38511:25778,38512:26420,38513:29287,38514:30566,38515:31302,38516:37350,38517:21187,38518:27809,38519:27526,38520:22528,38521:24140,38522:22868,38523:26412,38524:32763,38525:20961,38526:30406,38528:25705,38529:30952,38530:39764,38531:40635,38532:22475,38533:22969,38534:26151,38535:26522,38536:27598,38537:21737,38538:27097,38539:24149,38540:33180,38541:26517,38542:39850,38543:26622,38544:40018,38545:26717,38546:20134,38547:20451,38548:21448,38549:25273,38550:26411,38551:27819,38552:36804,38553:20397,38554:32365,38555:40639,38556:19975,38557:24930,38558:28288,38559:28459,38560:34067,38561:21619,38562:26410,38563:39749,38564:24051,38565:31637,38566:23724,38567:23494,38568:34588,38569:28234,38570:34001,38571:31252,38572:33032,38573:22937,38574:31885,38575:27665,38576:30496,38577:21209,38578:22818,38579:28961,38580:29279,38581:30683,38582:38695,38583:40289,38584:26891,38585:23167,38586:23064,38587:20901,38588:21517,38589:21629,38590:26126,38591:30431,38592:36855,38593:37528,38594:40180,38595:23018,38596:29277,38597:28357,38598:20813,38599:26825,38600:32191,38601:32236,38602:38754,38603:40634,38604:25720,38605:27169,38606:33538,38607:22916,38608:23391,38609:27611,38610:29467,38611:30450,38612:32178,38613:32791,38614:33945,38615:20786,38616:26408,38617:40665,38618:30446,38619:26466,38620:21247,38621:39173,38622:23588,38623:25147,38624:31870,38625:36016,38626:21839,38627:24758,38628:32011,38629:38272,38630:21249,38631:20063,38632:20918,38633:22812,38634:29242,38635:32822,38636:37326,38637:24357,38638:30690,38639:21380,38640:24441,38641:32004,38642:34220,38643:35379,38644:36493,38645:38742,38646:26611,38647:34222,38648:37971,38649:24841,38650:24840,38651:27833,38652:30290,38720:35565,38721:36664,38722:21807,38723:20305,38724:20778,38725:21191,38726:21451,38727:23461,38728:24189,38729:24736,38730:24962,38731:25558,38732:26377,38733:26586,38734:28263,38735:28044,38736:29494,38737:29495,38738:30001,38739:31056,38740:35029,38741:35480,38742:36938,38743:37009,38744:37109,38745:38596,38746:34701,38747:22805,38748:20104,38749:20313,38750:19982,38751:35465,38752:36671,38753:38928,38754:20653,38755:24188,38756:22934,38757:23481,38758:24248,38759:25562,38760:25594,38761:25793,38762:26332,38763:26954,38764:27096,38765:27915,38766:28342,38767:29076,38768:29992,38769:31407,38770:32650,38771:32768,38772:33865,38773:33993,38774:35201,38775:35617,38776:36362,38777:36965,38778:38525,38779:39178,38780:24958,38781:25233,38782:27442,38784:27779,38785:28020,38786:32716,38787:32764,38788:28096,38789:32645,38790:34746,38791:35064,38792:26469,38793:33713,38794:38972,38795:38647,38796:27931,38797:32097,38798:33853,38799:37226,38800:20081,38801:21365,38802:23888,38803:27396,38804:28651,38805:34253,38806:34349,38807:35239,38808:21033,38809:21519,38810:23653,38811:26446,38812:26792,38813:29702,38814:29827,38815:30178,38816:35023,38817:35041,38818:37324,38819:38626,38820:38520,38821:24459,38822:29575,38823:31435,38824:33870,38825:25504,38826:30053,38827:21129,38828:27969,38829:28316,38830:29705,38831:30041,38832:30827,38833:31890,38834:38534,38835:31452,38836:40845,38837:20406,38838:24942,38839:26053,38840:34396,38841:20102,38842:20142,38843:20698,38844:20001,38845:20940,38846:23534,38847:26009,38848:26753,38849:28092,38850:29471,38851:30274,38852:30637,38853:31260,38854:31975,38855:33391,38856:35538,38857:36988,38858:37327,38859:38517,38860:38936,38861:21147,38862:32209,38863:20523,38864:21400,38865:26519,38866:28107,38867:29136,38868:29747,38869:33256,38870:36650,38871:38563,38872:40023,38873:40607,38874:29792,38875:22593,38876:28057,38877:32047,38878:39006,38879:20196,38880:20278,38881:20363,38882:20919,38883:21169,38884:23994,38885:24604,38886:29618,38887:31036,38888:33491,38889:37428,38890:38583,38891:38646,38892:38666,38893:40599,38894:40802,38895:26278,38896:27508,38897:21015,38898:21155,38899:28872,38900:35010,38901:24265,38902:24651,38903:24976,38904:28451,38905:29001,38906:31806,38907:32244,38908:32879,38976:34030,38977:36899,38978:37676,38979:21570,38980:39791,38981:27347,38982:28809,38983:36034,38984:36335,38985:38706,38986:21172,38987:23105,38988:24266,38989:24324,38990:26391,38991:27004,38992:27028,38993:28010,38994:28431,38995:29282,38996:29436,38997:31725,38998:32769,38999:32894,39e3:34635,39001:37070,39002:20845,39003:40595,39004:31108,39005:32907,39006:37682,39007:35542,39008:20525,39009:21644,39010:35441,39011:27498,39012:36036,39013:33031,39014:24785,39015:26528,39016:40434,39017:20121,39018:20120,39019:39952,39020:35435,39021:34241,39022:34152,39023:26880,39024:28286,39025:30871,39026:33109,39071:24332,39072:19984,39073:19989,39074:20010,39075:20017,39076:20022,39077:20028,39078:20031,39079:20034,39080:20054,39081:20056,39082:20098,39083:20101,39084:35947,39085:20106,39086:33298,39087:24333,39088:20110,39089:20126,39090:20127,39091:20128,39092:20130,39093:20144,39094:20147,39095:20150,39096:20174,39097:20173,39098:20164,39099:20166,39100:20162,39101:20183,39102:20190,39103:20205,39104:20191,39105:20215,39106:20233,39107:20314,39108:20272,39109:20315,39110:20317,39111:20311,39112:20295,39113:20342,39114:20360,39115:20367,39116:20376,39117:20347,39118:20329,39119:20336,39120:20369,39121:20335,39122:20358,39123:20374,39124:20760,39125:20436,39126:20447,39127:20430,39128:20440,39129:20443,39130:20433,39131:20442,39132:20432,39133:20452,39134:20453,39135:20506,39136:20520,39137:20500,39138:20522,39139:20517,39140:20485,39141:20252,39142:20470,39143:20513,39144:20521,39145:20524,39146:20478,39147:20463,39148:20497,39149:20486,39150:20547,39151:20551,39152:26371,39153:20565,39154:20560,39155:20552,39156:20570,39157:20566,39158:20588,39159:20600,39160:20608,39161:20634,39162:20613,39163:20660,39164:20658,39232:20681,39233:20682,39234:20659,39235:20674,39236:20694,39237:20702,39238:20709,39239:20717,39240:20707,39241:20718,39242:20729,39243:20725,39244:20745,39245:20737,39246:20738,39247:20758,39248:20757,39249:20756,39250:20762,39251:20769,39252:20794,39253:20791,39254:20796,39255:20795,39256:20799,39257:20800,39258:20818,39259:20812,39260:20820,39261:20834,39262:31480,39263:20841,39264:20842,39265:20846,39266:20864,39267:20866,39268:22232,39269:20876,39270:20873,39271:20879,39272:20881,39273:20883,39274:20885,39275:20886,39276:20900,39277:20902,39278:20898,39279:20905,39280:20906,39281:20907,39282:20915,39283:20913,39284:20914,39285:20912,39286:20917,39287:20925,39288:20933,39289:20937,39290:20955,39291:20960,39292:34389,39293:20969,39294:20973,39296:20976,39297:20981,39298:20990,39299:20996,39300:21003,39301:21012,39302:21006,39303:21031,39304:21034,39305:21038,39306:21043,39307:21049,39308:21071,39309:21060,39310:21067,39311:21068,39312:21086,39313:21076,39314:21098,39315:21108,39316:21097,39317:21107,39318:21119,39319:21117,39320:21133,39321:21140,39322:21138,39323:21105,39324:21128,39325:21137,39326:36776,39327:36775,39328:21164,39329:21165,39330:21180,39331:21173,39332:21185,39333:21197,39334:21207,39335:21214,39336:21219,39337:21222,39338:39149,39339:21216,39340:21235,39341:21237,39342:21240,39343:21241,39344:21254,39345:21256,39346:30008,39347:21261,39348:21264,39349:21263,39350:21269,39351:21274,39352:21283,39353:21295,39354:21297,39355:21299,39356:21304,39357:21312,39358:21318,39359:21317,39360:19991,39361:21321,39362:21325,39363:20950,39364:21342,39365:21353,39366:21358,39367:22808,39368:21371,39369:21367,39370:21378,39371:21398,39372:21408,39373:21414,39374:21413,39375:21422,39376:21424,39377:21430,39378:21443,39379:31762,39380:38617,39381:21471,39382:26364,39383:29166,39384:21486,39385:21480,39386:21485,39387:21498,39388:21505,39389:21565,39390:21568,39391:21548,39392:21549,39393:21564,39394:21550,39395:21558,39396:21545,39397:21533,39398:21582,39399:21647,39400:21621,39401:21646,39402:21599,39403:21617,39404:21623,39405:21616,39406:21650,39407:21627,39408:21632,39409:21622,39410:21636,39411:21648,39412:21638,39413:21703,39414:21666,39415:21688,39416:21669,39417:21676,39418:21700,39419:21704,39420:21672,39488:21675,39489:21698,39490:21668,39491:21694,39492:21692,39493:21720,39494:21733,39495:21734,39496:21775,39497:21780,39498:21757,39499:21742,39500:21741,39501:21754,39502:21730,39503:21817,39504:21824,39505:21859,39506:21836,39507:21806,39508:21852,39509:21829,39510:21846,39511:21847,39512:21816,39513:21811,39514:21853,39515:21913,39516:21888,39517:21679,39518:21898,39519:21919,39520:21883,39521:21886,39522:21912,39523:21918,39524:21934,39525:21884,39526:21891,39527:21929,39528:21895,39529:21928,39530:21978,39531:21957,39532:21983,39533:21956,39534:21980,39535:21988,39536:21972,39537:22036,39538:22007,39539:22038,39540:22014,39541:22013,39542:22043,39543:22009,39544:22094,39545:22096,39546:29151,39547:22068,39548:22070,39549:22066,39550:22072,39552:22123,39553:22116,39554:22063,39555:22124,39556:22122,39557:22150,39558:22144,39559:22154,39560:22176,39561:22164,39562:22159,39563:22181,39564:22190,39565:22198,39566:22196,39567:22210,39568:22204,39569:22209,39570:22211,39571:22208,39572:22216,39573:22222,39574:22225,39575:22227,39576:22231,39577:22254,39578:22265,39579:22272,39580:22271,39581:22276,39582:22281,39583:22280,39584:22283,39585:22285,39586:22291,39587:22296,39588:22294,39589:21959,39590:22300,39591:22310,39592:22327,39593:22328,39594:22350,39595:22331,39596:22336,39597:22351,39598:22377,39599:22464,39600:22408,39601:22369,39602:22399,39603:22409,39604:22419,39605:22432,39606:22451,39607:22436,39608:22442,39609:22448,39610:22467,39611:22470,39612:22484,39613:22482,39614:22483,39615:22538,39616:22486,39617:22499,39618:22539,39619:22553,39620:22557,39621:22642,39622:22561,39623:22626,39624:22603,39625:22640,39626:27584,39627:22610,39628:22589,39629:22649,39630:22661,39631:22713,39632:22687,39633:22699,39634:22714,39635:22750,39636:22715,39637:22712,39638:22702,39639:22725,39640:22739,39641:22737,39642:22743,39643:22745,39644:22744,39645:22757,39646:22748,39647:22756,39648:22751,39649:22767,39650:22778,39651:22777,39652:22779,39653:22780,39654:22781,39655:22786,39656:22794,39657:22800,39658:22811,39659:26790,39660:22821,39661:22828,39662:22829,39663:22834,39664:22840,39665:22846,39666:31442,39667:22869,39668:22864,39669:22862,39670:22874,39671:22872,39672:22882,39673:22880,39674:22887,39675:22892,39676:22889,39744:22904,39745:22913,39746:22941,39747:20318,39748:20395,39749:22947,39750:22962,39751:22982,39752:23016,39753:23004,39754:22925,39755:23001,39756:23002,39757:23077,39758:23071,39759:23057,39760:23068,39761:23049,39762:23066,39763:23104,39764:23148,39765:23113,39766:23093,39767:23094,39768:23138,39769:23146,39770:23194,39771:23228,39772:23230,39773:23243,39774:23234,39775:23229,39776:23267,39777:23255,39778:23270,39779:23273,39780:23254,39781:23290,39782:23291,39783:23308,39784:23307,39785:23318,39786:23346,39787:23248,39788:23338,39789:23350,39790:23358,39791:23363,39792:23365,39793:23360,39794:23377,39795:23381,39796:23386,39797:23387,39798:23397,39799:23401,39800:23408,39801:23411,39802:23413,39803:23416,39804:25992,39805:23418,39806:23424,39808:23427,39809:23462,39810:23480,39811:23491,39812:23495,39813:23497,39814:23508,39815:23504,39816:23524,39817:23526,39818:23522,39819:23518,39820:23525,39821:23531,39822:23536,39823:23542,39824:23539,39825:23557,39826:23559,39827:23560,39828:23565,39829:23571,39830:23584,39831:23586,39832:23592,39833:23608,39834:23609,39835:23617,39836:23622,39837:23630,39838:23635,39839:23632,39840:23631,39841:23409,39842:23660,39843:23662,39844:20066,39845:23670,39846:23673,39847:23692,39848:23697,39849:23700,39850:22939,39851:23723,39852:23739,39853:23734,39854:23740,39855:23735,39856:23749,39857:23742,39858:23751,39859:23769,39860:23785,39861:23805,39862:23802,39863:23789,39864:23948,39865:23786,39866:23819,39867:23829,39868:23831,39869:23900,39870:23839,39871:23835,39872:23825,39873:23828,39874:23842,39875:23834,39876:23833,39877:23832,39878:23884,39879:23890,39880:23886,39881:23883,39882:23916,39883:23923,39884:23926,39885:23943,39886:23940,39887:23938,39888:23970,39889:23965,39890:23980,39891:23982,39892:23997,39893:23952,39894:23991,39895:23996,39896:24009,39897:24013,39898:24019,39899:24018,39900:24022,39901:24027,39902:24043,39903:24050,39904:24053,39905:24075,39906:24090,39907:24089,39908:24081,39909:24091,39910:24118,39911:24119,39912:24132,39913:24131,39914:24128,39915:24142,39916:24151,39917:24148,39918:24159,39919:24162,39920:24164,39921:24135,39922:24181,39923:24182,39924:24186,39925:40636,39926:24191,39927:24224,39928:24257,39929:24258,39930:24264,39931:24272,39932:24271,4e4:24278,40001:24291,40002:24285,40003:24282,40004:24283,40005:24290,40006:24289,40007:24296,40008:24297,40009:24300,40010:24305,40011:24307,40012:24304,40013:24308,40014:24312,40015:24318,40016:24323,40017:24329,40018:24413,40019:24412,40020:24331,40021:24337,40022:24342,40023:24361,40024:24365,40025:24376,40026:24385,40027:24392,40028:24396,40029:24398,40030:24367,40031:24401,40032:24406,40033:24407,40034:24409,40035:24417,40036:24429,40037:24435,40038:24439,40039:24451,40040:24450,40041:24447,40042:24458,40043:24456,40044:24465,40045:24455,40046:24478,40047:24473,40048:24472,40049:24480,40050:24488,40051:24493,40052:24508,40053:24534,40054:24571,40055:24548,40056:24568,40057:24561,40058:24541,40059:24755,40060:24575,40061:24609,40062:24672,40064:24601,40065:24592,40066:24617,40067:24590,40068:24625,40069:24603,40070:24597,40071:24619,40072:24614,40073:24591,40074:24634,40075:24666,40076:24641,40077:24682,40078:24695,40079:24671,40080:24650,40081:24646,40082:24653,40083:24675,40084:24643,40085:24676,40086:24642,40087:24684,40088:24683,40089:24665,40090:24705,40091:24717,40092:24807,40093:24707,40094:24730,40095:24708,40096:24731,40097:24726,40098:24727,40099:24722,40100:24743,40101:24715,40102:24801,40103:24760,40104:24800,40105:24787,40106:24756,40107:24560,40108:24765,40109:24774,40110:24757,40111:24792,40112:24909,40113:24853,40114:24838,40115:24822,40116:24823,40117:24832,40118:24820,40119:24826,40120:24835,40121:24865,40122:24827,40123:24817,40124:24845,40125:24846,40126:24903,40127:24894,40128:24872,40129:24871,40130:24906,40131:24895,40132:24892,40133:24876,40134:24884,40135:24893,40136:24898,40137:24900,40138:24947,40139:24951,40140:24920,40141:24921,40142:24922,40143:24939,40144:24948,40145:24943,40146:24933,40147:24945,40148:24927,40149:24925,40150:24915,40151:24949,40152:24985,40153:24982,40154:24967,40155:25004,40156:24980,40157:24986,40158:24970,40159:24977,40160:25003,40161:25006,40162:25036,40163:25034,40164:25033,40165:25079,40166:25032,40167:25027,40168:25030,40169:25018,40170:25035,40171:32633,40172:25037,40173:25062,40174:25059,40175:25078,40176:25082,40177:25076,40178:25087,40179:25085,40180:25084,40181:25086,40182:25088,40183:25096,40184:25097,40185:25101,40186:25100,40187:25108,40188:25115,40256:25118,40257:25121,40258:25130,40259:25134,40260:25136,40261:25138,40262:25139,40263:25153,40264:25166,40265:25182,40266:25187,40267:25179,40268:25184,40269:25192,40270:25212,40271:25218,40272:25225,40273:25214,40274:25234,40275:25235,40276:25238,40277:25300,40278:25219,40279:25236,40280:25303,40281:25297,40282:25275,40283:25295,40284:25343,40285:25286,40286:25812,40287:25288,40288:25308,40289:25292,40290:25290,40291:25282,40292:25287,40293:25243,40294:25289,40295:25356,40296:25326,40297:25329,40298:25383,40299:25346,40300:25352,40301:25327,40302:25333,40303:25424,40304:25406,40305:25421,40306:25628,40307:25423,40308:25494,40309:25486,40310:25472,40311:25515,40312:25462,40313:25507,40314:25487,40315:25481,40316:25503,40317:25525,40318:25451,40320:25449,40321:25534,40322:25577,40323:25536,40324:25542,40325:25571,40326:25545,40327:25554,40328:25590,40329:25540,40330:25622,40331:25652,40332:25606,40333:25619,40334:25638,40335:25654,40336:25885,40337:25623,40338:25640,40339:25615,40340:25703,40341:25711,40342:25718,40343:25678,40344:25898,40345:25749,40346:25747,40347:25765,40348:25769,40349:25736,40350:25788,40351:25818,40352:25810,40353:25797,40354:25799,40355:25787,40356:25816,40357:25794,40358:25841,40359:25831,40360:33289,40361:25824,40362:25825,40363:25260,40364:25827,40365:25839,40366:25900,40367:25846,40368:25844,40369:25842,40370:25850,40371:25856,40372:25853,40373:25880,40374:25884,40375:25861,40376:25892,40377:25891,40378:25899,40379:25908,40380:25909,40381:25911,40382:25910,40383:25912,40384:30027,40385:25928,40386:25942,40387:25941,40388:25933,40389:25944,40390:25950,40391:25949,40392:25970,40393:25976,40394:25986,40395:25987,40396:35722,40397:26011,40398:26015,40399:26027,40400:26039,40401:26051,40402:26054,40403:26049,40404:26052,40405:26060,40406:26066,40407:26075,40408:26073,40409:26080,40410:26081,40411:26097,40412:26482,40413:26122,40414:26115,40415:26107,40416:26483,40417:26165,40418:26166,40419:26164,40420:26140,40421:26191,40422:26180,40423:26185,40424:26177,40425:26206,40426:26205,40427:26212,40428:26215,40429:26216,40430:26207,40431:26210,40432:26224,40433:26243,40434:26248,40435:26254,40436:26249,40437:26244,40438:26264,40439:26269,40440:26305,40441:26297,40442:26313,40443:26302,40444:26300,40512:26308,40513:26296,40514:26326,40515:26330,40516:26336,40517:26175,40518:26342,40519:26345,40520:26352,40521:26357,40522:26359,40523:26383,40524:26390,40525:26398,40526:26406,40527:26407,40528:38712,40529:26414,40530:26431,40531:26422,40532:26433,40533:26424,40534:26423,40535:26438,40536:26462,40537:26464,40538:26457,40539:26467,40540:26468,40541:26505,40542:26480,40543:26537,40544:26492,40545:26474,40546:26508,40547:26507,40548:26534,40549:26529,40550:26501,40551:26551,40552:26607,40553:26548,40554:26604,40555:26547,40556:26601,40557:26552,40558:26596,40559:26590,40560:26589,40561:26594,40562:26606,40563:26553,40564:26574,40565:26566,40566:26599,40567:27292,40568:26654,40569:26694,40570:26665,40571:26688,40572:26701,40573:26674,40574:26702,40576:26803,40577:26667,40578:26713,40579:26723,40580:26743,40581:26751,40582:26783,40583:26767,40584:26797,40585:26772,40586:26781,40587:26779,40588:26755,40589:27310,40590:26809,40591:26740,40592:26805,40593:26784,40594:26810,40595:26895,40596:26765,40597:26750,40598:26881,40599:26826,40600:26888,40601:26840,40602:26914,40603:26918,40604:26849,40605:26892,40606:26829,40607:26836,40608:26855,40609:26837,40610:26934,40611:26898,40612:26884,40613:26839,40614:26851,40615:26917,40616:26873,40617:26848,40618:26863,40619:26920,40620:26922,40621:26906,40622:26915,40623:26913,40624:26822,40625:27001,40626:26999,40627:26972,40628:27e3,40629:26987,40630:26964,40631:27006,40632:26990,40633:26937,40634:26996,40635:26941,40636:26969,40637:26928,40638:26977,40639:26974,40640:26973,40641:27009,40642:26986,40643:27058,40644:27054,40645:27088,40646:27071,40647:27073,40648:27091,40649:27070,40650:27086,40651:23528,40652:27082,40653:27101,40654:27067,40655:27075,40656:27047,40657:27182,40658:27025,40659:27040,40660:27036,40661:27029,40662:27060,40663:27102,40664:27112,40665:27138,40666:27163,40667:27135,40668:27402,40669:27129,40670:27122,40671:27111,40672:27141,40673:27057,40674:27166,40675:27117,40676:27156,40677:27115,40678:27146,40679:27154,40680:27329,40681:27171,40682:27155,40683:27204,40684:27148,40685:27250,40686:27190,40687:27256,40688:27207,40689:27234,40690:27225,40691:27238,40692:27208,40693:27192,40694:27170,40695:27280,40696:27277,40697:27296,40698:27268,40699:27298,40700:27299,40768:27287,40769:34327,40770:27323,40771:27331,40772:27330,40773:27320,40774:27315,40775:27308,40776:27358,40777:27345,40778:27359,40779:27306,40780:27354,40781:27370,40782:27387,40783:27397,40784:34326,40785:27386,40786:27410,40787:27414,40788:39729,40789:27423,40790:27448,40791:27447,40792:30428,40793:27449,40794:39150,40795:27463,40796:27459,40797:27465,40798:27472,40799:27481,40800:27476,40801:27483,40802:27487,40803:27489,40804:27512,40805:27513,40806:27519,40807:27520,40808:27524,40809:27523,40810:27533,40811:27544,40812:27541,40813:27550,40814:27556,40815:27562,40816:27563,40817:27567,40818:27570,40819:27569,40820:27571,40821:27575,40822:27580,40823:27590,40824:27595,40825:27603,40826:27615,40827:27628,40828:27627,40829:27635,40830:27631,40832:40638,40833:27656,40834:27667,40835:27668,40836:27675,40837:27684,40838:27683,40839:27742,40840:27733,40841:27746,40842:27754,40843:27778,40844:27789,40845:27802,40846:27777,40847:27803,40848:27774,40849:27752,40850:27763,40851:27794,40852:27792,40853:27844,40854:27889,40855:27859,40856:27837,40857:27863,40858:27845,40859:27869,40860:27822,40861:27825,40862:27838,40863:27834,40864:27867,40865:27887,40866:27865,40867:27882,40868:27935,40869:34893,40870:27958,40871:27947,40872:27965,40873:27960,40874:27929,40875:27957,40876:27955,40877:27922,40878:27916,40879:28003,40880:28051,40881:28004,40882:27994,40883:28025,40884:27993,40885:28046,40886:28053,40887:28644,40888:28037,40889:28153,40890:28181,40891:28170,40892:28085,40893:28103,40894:28134,40895:28088,40896:28102,40897:28140,40898:28126,40899:28108,40900:28136,40901:28114,40902:28101,40903:28154,40904:28121,40905:28132,40906:28117,40907:28138,40908:28142,40909:28205,40910:28270,40911:28206,40912:28185,40913:28274,40914:28255,40915:28222,40916:28195,40917:28267,40918:28203,40919:28278,40920:28237,40921:28191,40922:28227,40923:28218,40924:28238,40925:28196,40926:28415,40927:28189,40928:28216,40929:28290,40930:28330,40931:28312,40932:28361,40933:28343,40934:28371,40935:28349,40936:28335,40937:28356,40938:28338,40939:28372,40940:28373,40941:28303,40942:28325,40943:28354,40944:28319,40945:28481,40946:28433,40947:28748,40948:28396,40949:28408,40950:28414,40951:28479,40952:28402,40953:28465,40954:28399,40955:28466,40956:28364,161:65377,162:65378,163:65379,164:65380,165:65381,166:65382,167:65383,168:65384,169:65385,170:65386,171:65387,172:65388,173:65389,174:65390,175:65391,176:65392,177:65393,178:65394,179:65395,180:65396,181:65397,182:65398,183:65399,184:65400,185:65401,186:65402,187:65403,188:65404,189:65405,190:65406,191:65407,192:65408,193:65409,194:65410,195:65411,196:65412,197:65413,198:65414,199:65415,200:65416,201:65417,202:65418,203:65419,204:65420,205:65421,206:65422,207:65423,208:65424,209:65425,210:65426,211:65427,212:65428,213:65429,214:65430,215:65431,216:65432,217:65433,218:65434,219:65435,220:65436,221:65437,222:65438,223:65439,57408:28478,57409:28435,57410:28407,57411:28550,57412:28538,57413:28536,57414:28545,57415:28544,57416:28527,57417:28507,57418:28659,57419:28525,57420:28546,57421:28540,57422:28504,57423:28558,57424:28561,57425:28610,57426:28518,57427:28595,57428:28579,57429:28577,57430:28580,57431:28601,57432:28614,57433:28586,57434:28639,57435:28629,57436:28652,57437:28628,57438:28632,57439:28657,57440:28654,57441:28635,57442:28681,57443:28683,57444:28666,57445:28689,57446:28673,57447:28687,57448:28670,57449:28699,57450:28698,57451:28532,57452:28701,57453:28696,57454:28703,57455:28720,57456:28734,57457:28722,57458:28753,57459:28771,57460:28825,57461:28818,57462:28847,57463:28913,57464:28844,57465:28856,57466:28851,57467:28846,57468:28895,57469:28875,57470:28893,57472:28889,57473:28937,57474:28925,57475:28956,57476:28953,57477:29029,57478:29013,57479:29064,57480:29030,57481:29026,57482:29004,57483:29014,57484:29036,57485:29071,57486:29179,57487:29060,57488:29077,57489:29096,57490:29100,57491:29143,57492:29113,57493:29118,57494:29138,57495:29129,57496:29140,57497:29134,57498:29152,57499:29164,57500:29159,57501:29173,57502:29180,57503:29177,57504:29183,57505:29197,57506:29200,57507:29211,57508:29224,57509:29229,57510:29228,57511:29232,57512:29234,57513:29243,57514:29244,57515:29247,57516:29248,57517:29254,57518:29259,57519:29272,57520:29300,57521:29310,57522:29314,57523:29313,57524:29319,57525:29330,57526:29334,57527:29346,57528:29351,57529:29369,57530:29362,57531:29379,57532:29382,57533:29380,57534:29390,57535:29394,57536:29410,57537:29408,57538:29409,57539:29433,57540:29431,57541:20495,57542:29463,57543:29450,57544:29468,57545:29462,57546:29469,57547:29492,57548:29487,57549:29481,57550:29477,57551:29502,57552:29518,57553:29519,57554:40664,57555:29527,57556:29546,57557:29544,57558:29552,57559:29560,57560:29557,57561:29563,57562:29562,57563:29640,57564:29619,57565:29646,57566:29627,57567:29632,57568:29669,57569:29678,57570:29662,57571:29858,57572:29701,57573:29807,57574:29733,57575:29688,57576:29746,57577:29754,57578:29781,57579:29759,57580:29791,57581:29785,57582:29761,57583:29788,57584:29801,57585:29808,57586:29795,57587:29802,57588:29814,57589:29822,57590:29835,57591:29854,57592:29863,57593:29898,57594:29903,57595:29908,57596:29681,57664:29920,57665:29923,57666:29927,57667:29929,57668:29934,57669:29938,57670:29936,57671:29937,57672:29944,57673:29943,57674:29956,57675:29955,57676:29957,57677:29964,57678:29966,57679:29965,57680:29973,57681:29971,57682:29982,57683:29990,57684:29996,57685:30012,57686:30020,57687:30029,57688:30026,57689:30025,57690:30043,57691:30022,57692:30042,57693:30057,57694:30052,57695:30055,57696:30059,57697:30061,57698:30072,57699:30070,57700:30086,57701:30087,57702:30068,57703:30090,57704:30089,57705:30082,57706:30100,57707:30106,57708:30109,57709:30117,57710:30115,57711:30146,57712:30131,57713:30147,57714:30133,57715:30141,57716:30136,57717:30140,57718:30129,57719:30157,57720:30154,57721:30162,57722:30169,57723:30179,57724:30174,57725:30206,57726:30207,57728:30204,57729:30209,57730:30192,57731:30202,57732:30194,57733:30195,57734:30219,57735:30221,57736:30217,57737:30239,57738:30247,57739:30240,57740:30241,57741:30242,57742:30244,57743:30260,57744:30256,57745:30267,57746:30279,57747:30280,57748:30278,57749:30300,57750:30296,57751:30305,57752:30306,57753:30312,57754:30313,57755:30314,57756:30311,57757:30316,57758:30320,57759:30322,57760:30326,57761:30328,57762:30332,57763:30336,57764:30339,57765:30344,57766:30347,57767:30350,57768:30358,57769:30355,57770:30361,57771:30362,57772:30384,57773:30388,57774:30392,57775:30393,57776:30394,57777:30402,57778:30413,57779:30422,57780:30418,57781:30430,57782:30433,57783:30437,57784:30439,57785:30442,57786:34351,57787:30459,57788:30472,57789:30471,57790:30468,57791:30505,57792:30500,57793:30494,57794:30501,57795:30502,57796:30491,57797:30519,57798:30520,57799:30535,57800:30554,57801:30568,57802:30571,57803:30555,57804:30565,57805:30591,57806:30590,57807:30585,57808:30606,57809:30603,57810:30609,57811:30624,57812:30622,57813:30640,57814:30646,57815:30649,57816:30655,57817:30652,57818:30653,57819:30651,57820:30663,57821:30669,57822:30679,57823:30682,57824:30684,57825:30691,57826:30702,57827:30716,57828:30732,57829:30738,57830:31014,57831:30752,57832:31018,57833:30789,57834:30862,57835:30836,57836:30854,57837:30844,57838:30874,57839:30860,57840:30883,57841:30901,57842:30890,57843:30895,57844:30929,57845:30918,57846:30923,57847:30932,57848:30910,57849:30908,57850:30917,57851:30922,57852:30956,57920:30951,57921:30938,57922:30973,57923:30964,57924:30983,57925:30994,57926:30993,57927:31001,57928:31020,57929:31019,57930:31040,57931:31072,57932:31063,57933:31071,57934:31066,57935:31061,57936:31059,57937:31098,57938:31103,57939:31114,57940:31133,57941:31143,57942:40779,57943:31146,57944:31150,57945:31155,57946:31161,57947:31162,57948:31177,57949:31189,57950:31207,57951:31212,57952:31201,57953:31203,57954:31240,57955:31245,57956:31256,57957:31257,57958:31264,57959:31263,57960:31104,57961:31281,57962:31291,57963:31294,57964:31287,57965:31299,57966:31319,57967:31305,57968:31329,57969:31330,57970:31337,57971:40861,57972:31344,57973:31353,57974:31357,57975:31368,57976:31383,57977:31381,57978:31384,57979:31382,57980:31401,57981:31432,57982:31408,57984:31414,57985:31429,57986:31428,57987:31423,57988:36995,57989:31431,57990:31434,57991:31437,57992:31439,57993:31445,57994:31443,57995:31449,57996:31450,57997:31453,57998:31457,57999:31458,58e3:31462,58001:31469,58002:31472,58003:31490,58004:31503,58005:31498,58006:31494,58007:31539,58008:31512,58009:31513,58010:31518,58011:31541,58012:31528,58013:31542,58014:31568,58015:31610,58016:31492,58017:31565,58018:31499,58019:31564,58020:31557,58021:31605,58022:31589,58023:31604,58024:31591,58025:31600,58026:31601,58027:31596,58028:31598,58029:31645,58030:31640,58031:31647,58032:31629,58033:31644,58034:31642,58035:31627,58036:31634,58037:31631,58038:31581,58039:31641,58040:31691,58041:31681,58042:31692,58043:31695,58044:31668,58045:31686,58046:31709,58047:31721,58048:31761,58049:31764,58050:31718,58051:31717,58052:31840,58053:31744,58054:31751,58055:31763,58056:31731,58057:31735,58058:31767,58059:31757,58060:31734,58061:31779,58062:31783,58063:31786,58064:31775,58065:31799,58066:31787,58067:31805,58068:31820,58069:31811,58070:31828,58071:31823,58072:31808,58073:31824,58074:31832,58075:31839,58076:31844,58077:31830,58078:31845,58079:31852,58080:31861,58081:31875,58082:31888,58083:31908,58084:31917,58085:31906,58086:31915,58087:31905,58088:31912,58089:31923,58090:31922,58091:31921,58092:31918,58093:31929,58094:31933,58095:31936,58096:31941,58097:31938,58098:31960,58099:31954,58100:31964,58101:31970,58102:39739,58103:31983,58104:31986,58105:31988,58106:31990,58107:31994,58108:32006,58176:32002,58177:32028,58178:32021,58179:32010,58180:32069,58181:32075,58182:32046,58183:32050,58184:32063,58185:32053,58186:32070,58187:32115,58188:32086,58189:32078,58190:32114,58191:32104,58192:32110,58193:32079,58194:32099,58195:32147,58196:32137,58197:32091,58198:32143,58199:32125,58200:32155,58201:32186,58202:32174,58203:32163,58204:32181,58205:32199,58206:32189,58207:32171,58208:32317,58209:32162,58210:32175,58211:32220,58212:32184,58213:32159,58214:32176,58215:32216,58216:32221,58217:32228,58218:32222,58219:32251,58220:32242,58221:32225,58222:32261,58223:32266,58224:32291,58225:32289,58226:32274,58227:32305,58228:32287,58229:32265,58230:32267,58231:32290,58232:32326,58233:32358,58234:32315,58235:32309,58236:32313,58237:32323,58238:32311,58240:32306,58241:32314,58242:32359,58243:32349,58244:32342,58245:32350,58246:32345,58247:32346,58248:32377,58249:32362,58250:32361,58251:32380,58252:32379,58253:32387,58254:32213,58255:32381,58256:36782,58257:32383,58258:32392,58259:32393,58260:32396,58261:32402,58262:32400,58263:32403,58264:32404,58265:32406,58266:32398,58267:32411,58268:32412,58269:32568,58270:32570,58271:32581,58272:32588,58273:32589,58274:32590,58275:32592,58276:32593,58277:32597,58278:32596,58279:32600,58280:32607,58281:32608,58282:32616,58283:32617,58284:32615,58285:32632,58286:32642,58287:32646,58288:32643,58289:32648,58290:32647,58291:32652,58292:32660,58293:32670,58294:32669,58295:32666,58296:32675,58297:32687,58298:32690,58299:32697,58300:32686,58301:32694,58302:32696,58303:35697,58304:32709,58305:32710,58306:32714,58307:32725,58308:32724,58309:32737,58310:32742,58311:32745,58312:32755,58313:32761,58314:39132,58315:32774,58316:32772,58317:32779,58318:32786,58319:32792,58320:32793,58321:32796,58322:32801,58323:32808,58324:32831,58325:32827,58326:32842,58327:32838,58328:32850,58329:32856,58330:32858,58331:32863,58332:32866,58333:32872,58334:32883,58335:32882,58336:32880,58337:32886,58338:32889,58339:32893,58340:32895,58341:32900,58342:32902,58343:32901,58344:32923,58345:32915,58346:32922,58347:32941,58348:20880,58349:32940,58350:32987,58351:32997,58352:32985,58353:32989,58354:32964,58355:32986,58356:32982,58357:33033,58358:33007,58359:33009,58360:33051,58361:33065,58362:33059,58363:33071,58364:33099,58432:38539,58433:33094,58434:33086,58435:33107,58436:33105,58437:33020,58438:33137,58439:33134,58440:33125,58441:33126,58442:33140,58443:33155,58444:33160,58445:33162,58446:33152,58447:33154,58448:33184,58449:33173,58450:33188,58451:33187,58452:33119,58453:33171,58454:33193,58455:33200,58456:33205,58457:33214,58458:33208,58459:33213,58460:33216,58461:33218,58462:33210,58463:33225,58464:33229,58465:33233,58466:33241,58467:33240,58468:33224,58469:33242,58470:33247,58471:33248,58472:33255,58473:33274,58474:33275,58475:33278,58476:33281,58477:33282,58478:33285,58479:33287,58480:33290,58481:33293,58482:33296,58483:33302,58484:33321,58485:33323,58486:33336,58487:33331,58488:33344,58489:33369,58490:33368,58491:33373,58492:33370,58493:33375,58494:33380,58496:33378,58497:33384,58498:33386,58499:33387,58500:33326,58501:33393,58502:33399,58503:33400,58504:33406,58505:33421,58506:33426,58507:33451,58508:33439,58509:33467,58510:33452,58511:33505,58512:33507,58513:33503,58514:33490,58515:33524,58516:33523,58517:33530,58518:33683,58519:33539,58520:33531,58521:33529,58522:33502,58523:33542,58524:33500,58525:33545,58526:33497,58527:33589,58528:33588,58529:33558,58530:33586,58531:33585,58532:33600,58533:33593,58534:33616,58535:33605,58536:33583,58537:33579,58538:33559,58539:33560,58540:33669,58541:33690,58542:33706,58543:33695,58544:33698,58545:33686,58546:33571,58547:33678,58548:33671,58549:33674,58550:33660,58551:33717,58552:33651,58553:33653,58554:33696,58555:33673,58556:33704,58557:33780,58558:33811,58559:33771,58560:33742,58561:33789,58562:33795,58563:33752,58564:33803,58565:33729,58566:33783,58567:33799,58568:33760,58569:33778,58570:33805,58571:33826,58572:33824,58573:33725,58574:33848,58575:34054,58576:33787,58577:33901,58578:33834,58579:33852,58580:34138,58581:33924,58582:33911,58583:33899,58584:33965,58585:33902,58586:33922,58587:33897,58588:33862,58589:33836,58590:33903,58591:33913,58592:33845,58593:33994,58594:33890,58595:33977,58596:33983,58597:33951,58598:34009,58599:33997,58600:33979,58601:34010,58602:34e3,58603:33985,58604:33990,58605:34006,58606:33953,58607:34081,58608:34047,58609:34036,58610:34071,58611:34072,58612:34092,58613:34079,58614:34069,58615:34068,58616:34044,58617:34112,58618:34147,58619:34136,58620:34120,58688:34113,58689:34306,58690:34123,58691:34133,58692:34176,58693:34212,58694:34184,58695:34193,58696:34186,58697:34216,58698:34157,58699:34196,58700:34203,58701:34282,58702:34183,58703:34204,58704:34167,58705:34174,58706:34192,58707:34249,58708:34234,58709:34255,58710:34233,58711:34256,58712:34261,58713:34269,58714:34277,58715:34268,58716:34297,58717:34314,58718:34323,58719:34315,58720:34302,58721:34298,58722:34310,58723:34338,58724:34330,58725:34352,58726:34367,58727:34381,58728:20053,58729:34388,58730:34399,58731:34407,58732:34417,58733:34451,58734:34467,58735:34473,58736:34474,58737:34443,58738:34444,58739:34486,58740:34479,58741:34500,58742:34502,58743:34480,58744:34505,58745:34851,58746:34475,58747:34516,58748:34526,58749:34537,58750:34540,58752:34527,58753:34523,58754:34543,58755:34578,58756:34566,58757:34568,58758:34560,58759:34563,58760:34555,58761:34577,58762:34569,58763:34573,58764:34553,58765:34570,58766:34612,58767:34623,58768:34615,58769:34619,58770:34597,58771:34601,58772:34586,58773:34656,58774:34655,58775:34680,58776:34636,58777:34638,58778:34676,58779:34647,58780:34664,58781:34670,58782:34649,58783:34643,58784:34659,58785:34666,58786:34821,58787:34722,58788:34719,58789:34690,58790:34735,58791:34763,58792:34749,58793:34752,58794:34768,58795:38614,58796:34731,58797:34756,58798:34739,58799:34759,58800:34758,58801:34747,58802:34799,58803:34802,58804:34784,58805:34831,58806:34829,58807:34814,58808:34806,58809:34807,58810:34830,58811:34770,58812:34833,58813:34838,58814:34837,58815:34850,58816:34849,58817:34865,58818:34870,58819:34873,58820:34855,58821:34875,58822:34884,58823:34882,58824:34898,58825:34905,58826:34910,58827:34914,58828:34923,58829:34945,58830:34942,58831:34974,58832:34933,58833:34941,58834:34997,58835:34930,58836:34946,58837:34967,58838:34962,58839:34990,58840:34969,58841:34978,58842:34957,58843:34980,58844:34992,58845:35007,58846:34993,58847:35011,58848:35012,58849:35028,58850:35032,58851:35033,58852:35037,58853:35065,58854:35074,58855:35068,58856:35060,58857:35048,58858:35058,58859:35076,58860:35084,58861:35082,58862:35091,58863:35139,58864:35102,58865:35109,58866:35114,58867:35115,58868:35137,58869:35140,58870:35131,58871:35126,58872:35128,58873:35148,58874:35101,58875:35168,58876:35166,58944:35174,58945:35172,58946:35181,58947:35178,58948:35183,58949:35188,58950:35191,58951:35198,58952:35203,58953:35208,58954:35210,58955:35219,58956:35224,58957:35233,58958:35241,58959:35238,58960:35244,58961:35247,58962:35250,58963:35258,58964:35261,58965:35263,58966:35264,58967:35290,58968:35292,58969:35293,58970:35303,58971:35316,58972:35320,58973:35331,58974:35350,58975:35344,58976:35340,58977:35355,58978:35357,58979:35365,58980:35382,58981:35393,58982:35419,58983:35410,58984:35398,58985:35400,58986:35452,58987:35437,58988:35436,58989:35426,58990:35461,58991:35458,58992:35460,58993:35496,58994:35489,58995:35473,58996:35493,58997:35494,58998:35482,58999:35491,59e3:35524,59001:35533,59002:35522,59003:35546,59004:35563,59005:35571,59006:35559,59008:35556,59009:35569,59010:35604,59011:35552,59012:35554,59013:35575,59014:35550,59015:35547,59016:35596,59017:35591,59018:35610,59019:35553,59020:35606,59021:35600,59022:35607,59023:35616,59024:35635,59025:38827,59026:35622,59027:35627,59028:35646,59029:35624,59030:35649,59031:35660,59032:35663,59033:35662,59034:35657,59035:35670,59036:35675,59037:35674,59038:35691,59039:35679,59040:35692,59041:35695,59042:35700,59043:35709,59044:35712,59045:35724,59046:35726,59047:35730,59048:35731,59049:35734,59050:35737,59051:35738,59052:35898,59053:35905,59054:35903,59055:35912,59056:35916,59057:35918,59058:35920,59059:35925,59060:35938,59061:35948,59062:35960,59063:35962,59064:35970,59065:35977,59066:35973,59067:35978,59068:35981,59069:35982,59070:35988,59071:35964,59072:35992,59073:25117,59074:36013,59075:36010,59076:36029,59077:36018,59078:36019,59079:36014,59080:36022,59081:36040,59082:36033,59083:36068,59084:36067,59085:36058,59086:36093,59087:36090,59088:36091,59089:36100,59090:36101,59091:36106,59092:36103,59093:36111,59094:36109,59095:36112,59096:40782,59097:36115,59098:36045,59099:36116,59100:36118,59101:36199,59102:36205,59103:36209,59104:36211,59105:36225,59106:36249,59107:36290,59108:36286,59109:36282,59110:36303,59111:36314,59112:36310,59113:36300,59114:36315,59115:36299,59116:36330,59117:36331,59118:36319,59119:36323,59120:36348,59121:36360,59122:36361,59123:36351,59124:36381,59125:36382,59126:36368,59127:36383,59128:36418,59129:36405,59130:36400,59131:36404,59132:36426,59200:36423,59201:36425,59202:36428,59203:36432,59204:36424,59205:36441,59206:36452,59207:36448,59208:36394,59209:36451,59210:36437,59211:36470,59212:36466,59213:36476,59214:36481,59215:36487,59216:36485,59217:36484,59218:36491,59219:36490,59220:36499,59221:36497,59222:36500,59223:36505,59224:36522,59225:36513,59226:36524,59227:36528,59228:36550,59229:36529,59230:36542,59231:36549,59232:36552,59233:36555,59234:36571,59235:36579,59236:36604,59237:36603,59238:36587,59239:36606,59240:36618,59241:36613,59242:36629,59243:36626,59244:36633,59245:36627,59246:36636,59247:36639,59248:36635,59249:36620,59250:36646,59251:36659,59252:36667,59253:36665,59254:36677,59255:36674,59256:36670,59257:36684,59258:36681,59259:36678,59260:36686,59261:36695,59262:36700,59264:36706,59265:36707,59266:36708,59267:36764,59268:36767,59269:36771,59270:36781,59271:36783,59272:36791,59273:36826,59274:36837,59275:36834,59276:36842,59277:36847,59278:36999,59279:36852,59280:36869,59281:36857,59282:36858,59283:36881,59284:36885,59285:36897,59286:36877,59287:36894,59288:36886,59289:36875,59290:36903,59291:36918,59292:36917,59293:36921,59294:36856,59295:36943,59296:36944,59297:36945,59298:36946,59299:36878,59300:36937,59301:36926,59302:36950,59303:36952,59304:36958,59305:36968,59306:36975,59307:36982,59308:38568,59309:36978,59310:36994,59311:36989,59312:36993,59313:36992,59314:37002,59315:37001,59316:37007,59317:37032,59318:37039,59319:37041,59320:37045,59321:37090,59322:37092,59323:25160,59324:37083,59325:37122,59326:37138,59327:37145,59328:37170,59329:37168,59330:37194,59331:37206,59332:37208,59333:37219,59334:37221,59335:37225,59336:37235,59337:37234,59338:37259,59339:37257,59340:37250,59341:37282,59342:37291,59343:37295,59344:37290,59345:37301,59346:37300,59347:37306,59348:37312,59349:37313,59350:37321,59351:37323,59352:37328,59353:37334,59354:37343,59355:37345,59356:37339,59357:37372,59358:37365,59359:37366,59360:37406,59361:37375,59362:37396,59363:37420,59364:37397,59365:37393,59366:37470,59367:37463,59368:37445,59369:37449,59370:37476,59371:37448,59372:37525,59373:37439,59374:37451,59375:37456,59376:37532,59377:37526,59378:37523,59379:37531,59380:37466,59381:37583,59382:37561,59383:37559,59384:37609,59385:37647,59386:37626,59387:37700,59388:37678,59456:37657,59457:37666,59458:37658,59459:37667,59460:37690,59461:37685,59462:37691,59463:37724,59464:37728,59465:37756,59466:37742,59467:37718,59468:37808,59469:37804,59470:37805,59471:37780,59472:37817,59473:37846,59474:37847,59475:37864,59476:37861,59477:37848,59478:37827,59479:37853,59480:37840,59481:37832,59482:37860,59483:37914,59484:37908,59485:37907,59486:37891,59487:37895,59488:37904,59489:37942,59490:37931,59491:37941,59492:37921,59493:37946,59494:37953,59495:37970,59496:37956,59497:37979,59498:37984,59499:37986,59500:37982,59501:37994,59502:37417,59503:38e3,59504:38005,59505:38007,59506:38013,59507:37978,59508:38012,59509:38014,59510:38017,59511:38015,59512:38274,59513:38279,59514:38282,59515:38292,59516:38294,59517:38296,59518:38297,59520:38304,59521:38312,59522:38311,59523:38317,59524:38332,59525:38331,59526:38329,59527:38334,59528:38346,59529:28662,59530:38339,59531:38349,59532:38348,59533:38357,59534:38356,59535:38358,59536:38364,59537:38369,59538:38373,59539:38370,59540:38433,59541:38440,59542:38446,59543:38447,59544:38466,59545:38476,59546:38479,59547:38475,59548:38519,59549:38492,59550:38494,59551:38493,59552:38495,59553:38502,59554:38514,59555:38508,59556:38541,59557:38552,59558:38549,59559:38551,59560:38570,59561:38567,59562:38577,59563:38578,59564:38576,59565:38580,59566:38582,59567:38584,59568:38585,59569:38606,59570:38603,59571:38601,59572:38605,59573:35149,59574:38620,59575:38669,59576:38613,59577:38649,59578:38660,59579:38662,59580:38664,59581:38675,59582:38670,59583:38673,59584:38671,59585:38678,59586:38681,59587:38692,59588:38698,59589:38704,59590:38713,59591:38717,59592:38718,59593:38724,59594:38726,59595:38728,59596:38722,59597:38729,59598:38748,59599:38752,59600:38756,59601:38758,59602:38760,59603:21202,59604:38763,59605:38769,59606:38777,59607:38789,59608:38780,59609:38785,59610:38778,59611:38790,59612:38795,59613:38799,59614:38800,59615:38812,59616:38824,59617:38822,59618:38819,59619:38835,59620:38836,59621:38851,59622:38854,59623:38856,59624:38859,59625:38876,59626:38893,59627:40783,59628:38898,59629:31455,59630:38902,59631:38901,59632:38927,59633:38924,59634:38968,59635:38948,59636:38945,59637:38967,59638:38973,59639:38982,59640:38991,59641:38987,59642:39019,59643:39023,59644:39024,59712:39025,59713:39028,59714:39027,59715:39082,59716:39087,59717:39089,59718:39094,59719:39108,59720:39107,59721:39110,59722:39145,59723:39147,59724:39171,59725:39177,59726:39186,59727:39188,59728:39192,59729:39201,59730:39197,59731:39198,59732:39204,59733:39200,59734:39212,59735:39214,59736:39229,59737:39230,59738:39234,59739:39241,59740:39237,59741:39248,59742:39243,59743:39249,59744:39250,59745:39244,59746:39253,59747:39319,59748:39320,59749:39333,59750:39341,59751:39342,59752:39356,59753:39391,59754:39387,59755:39389,59756:39384,59757:39377,59758:39405,59759:39406,59760:39409,59761:39410,59762:39419,59763:39416,59764:39425,59765:39439,59766:39429,59767:39394,59768:39449,59769:39467,59770:39479,59771:39493,59772:39490,59773:39488,59774:39491,59776:39486,59777:39509,59778:39501,59779:39515,59780:39511,59781:39519,59782:39522,59783:39525,59784:39524,59785:39529,59786:39531,59787:39530,59788:39597,59789:39600,59790:39612,59791:39616,59792:39631,59793:39633,59794:39635,59795:39636,59796:39646,59797:39647,59798:39650,59799:39651,59800:39654,59801:39663,59802:39659,59803:39662,59804:39668,59805:39665,59806:39671,59807:39675,59808:39686,59809:39704,59810:39706,59811:39711,59812:39714,59813:39715,59814:39717,59815:39719,59816:39720,59817:39721,59818:39722,59819:39726,59820:39727,59821:39730,59822:39748,59823:39747,59824:39759,59825:39757,59826:39758,59827:39761,59828:39768,59829:39796,59830:39827,59831:39811,59832:39825,59833:39830,59834:39831,59835:39839,59836:39840,59837:39848,59838:39860,59839:39872,59840:39882,59841:39865,59842:39878,59843:39887,59844:39889,59845:39890,59846:39907,59847:39906,59848:39908,59849:39892,59850:39905,59851:39994,59852:39922,59853:39921,59854:39920,59855:39957,59856:39956,59857:39945,59858:39955,59859:39948,59860:39942,59861:39944,59862:39954,59863:39946,59864:39940,59865:39982,59866:39963,59867:39973,59868:39972,59869:39969,59870:39984,59871:40007,59872:39986,59873:40006,59874:39998,59875:40026,59876:40032,59877:40039,59878:40054,59879:40056,59880:40167,59881:40172,59882:40176,59883:40201,59884:40200,59885:40171,59886:40195,59887:40198,59888:40234,59889:40230,59890:40367,59891:40227,59892:40223,59893:40260,59894:40213,59895:40210,59896:40257,59897:40255,59898:40254,59899:40262,59900:40264,59968:40285,59969:40286,59970:40292,59971:40273,59972:40272,59973:40281,59974:40306,59975:40329,59976:40327,59977:40363,59978:40303,59979:40314,59980:40346,59981:40356,59982:40361,59983:40370,59984:40388,59985:40385,59986:40379,59987:40376,59988:40378,59989:40390,59990:40399,59991:40386,59992:40409,59993:40403,59994:40440,59995:40422,59996:40429,59997:40431,59998:40445,59999:40474,6e4:40475,60001:40478,60002:40565,60003:40569,60004:40573,60005:40577,60006:40584,60007:40587,60008:40588,60009:40594,60010:40597,60011:40593,60012:40605,60013:40613,60014:40617,60015:40632,60016:40618,60017:40621,60018:38753,60019:40652,60020:40654,60021:40655,60022:40656,60023:40660,60024:40668,60025:40670,60026:40669,60027:40672,60028:40677,60029:40680,60030:40687,60032:40692,60033:40694,60034:40695,60035:40697,60036:40699,60037:40700,60038:40701,60039:40711,60040:40712,60041:30391,60042:40725,60043:40737,60044:40748,60045:40766,60046:40778,60047:40786,60048:40788,60049:40803,60050:40799,60051:40800,60052:40801,60053:40806,60054:40807,60055:40812,60056:40810,60057:40823,60058:40818,60059:40822,60060:40853,60061:40860,60062:40864,60063:22575,60064:27079,60065:36953,60066:29796,60067:20956,60068:29081}}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(1),r=n(2);function a(g,p,C,b){var y;p.degree()<C.degree()&&(y=[C,p],p=y[0],C=y[1]);for(var w=p,A=C,I=g.zero,M=g.one;A.degree()>=b/2;){var R=w,T=I;if(w=A,I=M,w.isZero())return null;A=R;for(var V=g.zero,H=w.getCoefficient(w.degree()),X=g.inverse(H);A.degree()>=w.degree()&&!A.isZero();){var se=A.degree()-w.degree(),he=g.multiply(A.getCoefficient(A.degree()),X);V=V.addOrSubtract(g.buildMonomial(se,he)),A=A.addOrSubtract(w.multiplyByMonomial(se,he))}if(M=V.multiplyPoly(I).addOrSubtract(T),A.degree()>=w.degree())return null}var J=M.getCoefficient(0);if(J===0)return null;var ue=g.inverse(J);return[M.multiply(ue),A.multiply(ue)]}function d(g,p){var C=p.degree();if(C===1)return[p.getCoefficient(1)];for(var b=new Array(C),y=0,w=1;w<g.size&&y<C;w++)p.evaluateAt(w)===0&&(b[y]=g.inverse(w),y++);return y!==C?null:b}function u(g,p,C){for(var b=C.length,y=new Array(b),w=0;w<b;w++){for(var A=g.inverse(C[w]),I=1,M=0;M<b;M++)w!==M&&(I=g.multiply(I,s.addOrSubtractGF(1,g.multiply(C[M],A))));y[w]=g.multiply(p.evaluateAt(A),g.inverse(I)),g.generatorBase!==0&&(y[w]=g.multiply(y[w],A))}return y}function f(g,p){var C=new Uint8ClampedArray(g.length);C.set(g);for(var b=new s.default(285,256,0),y=new r.default(b,C),w=new Uint8ClampedArray(p),A=!1,I=0;I<p;I++){var M=y.evaluateAt(b.exp(I+b.generatorBase));w[w.length-1-I]=M,M!==0&&(A=!0)}if(!A)return C;var R=new r.default(b,w),T=a(b,b.buildMonomial(p,1),R,p);if(T===null)return null;var V=d(b,T[0]);if(V==null)return null;for(var H=u(b,T[1],V),X=0;X<V.length;X++){var se=C.length-1-b.log(V[X]);if(se<0)return null;C[se]=s.addOrSubtractGF(C[se],H[X])}return C}i.decode=f}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0}),i.VERSIONS=[{infoBits:null,versionNumber:1,alignmentPatternCenters:[],errorCorrectionLevels:[{ecCodewordsPerBlock:7,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:13,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:13}]},{ecCodewordsPerBlock:17,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:2,alignmentPatternCenters:[6,18],errorCorrectionLevels:[{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:34}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:28}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]}]},{infoBits:null,versionNumber:3,alignmentPatternCenters:[6,22],errorCorrectionLevels:[{ecCodewordsPerBlock:15,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:55}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:13}]}]},{infoBits:null,versionNumber:4,alignmentPatternCenters:[6,26],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:80}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:32}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:5,alignmentPatternCenters:[6,30],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:43}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:11},{numBlocks:2,dataCodewordsPerBlock:12}]}]},{infoBits:null,versionNumber:6,alignmentPatternCenters:[6,34],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:27}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:31892,versionNumber:7,alignmentPatternCenters:[6,22,38],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:78}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:31}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:13},{numBlocks:1,dataCodewordsPerBlock:14}]}]},{infoBits:34236,versionNumber:8,alignmentPatternCenters:[6,24,42],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:97}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:38},{numBlocks:2,dataCodewordsPerBlock:39}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:18},{numBlocks:2,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:14},{numBlocks:2,dataCodewordsPerBlock:15}]}]},{infoBits:39577,versionNumber:9,alignmentPatternCenters:[6,26,46],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:12},{numBlocks:4,dataCodewordsPerBlock:13}]}]},{infoBits:42195,versionNumber:10,alignmentPatternCenters:[6,28,50],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68},{numBlocks:2,dataCodewordsPerBlock:69}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:43},{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]}]},{infoBits:48118,versionNumber:11,alignmentPatternCenters:[6,30,54],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:81}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:50},{numBlocks:4,dataCodewordsPerBlock:51}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:22},{numBlocks:4,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:12},{numBlocks:8,dataCodewordsPerBlock:13}]}]},{infoBits:51042,versionNumber:12,alignmentPatternCenters:[6,32,58],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:92},{numBlocks:2,dataCodewordsPerBlock:93}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:20},{numBlocks:6,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:55367,versionNumber:13,alignmentPatternCenters:[6,34,62],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:37},{numBlocks:1,dataCodewordsPerBlock:38}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:20},{numBlocks:4,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:11},{numBlocks:4,dataCodewordsPerBlock:12}]}]},{infoBits:58893,versionNumber:14,alignmentPatternCenters:[6,26,46,66],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:40},{numBlocks:5,dataCodewordsPerBlock:41}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:16},{numBlocks:5,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:5,dataCodewordsPerBlock:13}]}]},{infoBits:63784,versionNumber:15,alignmentPatternCenters:[6,26,48,70],errorCorrectionLevels:[{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:87},{numBlocks:1,dataCodewordsPerBlock:88}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:41},{numBlocks:5,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:7,dataCodewordsPerBlock:13}]}]},{infoBits:68472,versionNumber:16,alignmentPatternCenters:[6,26,50,74],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:98},{numBlocks:1,dataCodewordsPerBlock:99}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:70749,versionNumber:17,alignmentPatternCenters:[6,30,54,78],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:1,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22},{numBlocks:15,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:17,dataCodewordsPerBlock:15}]}]},{infoBits:76311,versionNumber:18,alignmentPatternCenters:[6,30,56,82],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:120},{numBlocks:1,dataCodewordsPerBlock:121}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:43},{numBlocks:4,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:1,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:19,dataCodewordsPerBlock:15}]}]},{infoBits:79154,versionNumber:19,alignmentPatternCenters:[6,30,58,86],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:113},{numBlocks:4,dataCodewordsPerBlock:114}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:44},{numBlocks:11,dataCodewordsPerBlock:45}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:21},{numBlocks:4,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:13},{numBlocks:16,dataCodewordsPerBlock:14}]}]},{infoBits:84390,versionNumber:20,alignmentPatternCenters:[6,34,62,90],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:41},{numBlocks:13,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:5,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:15},{numBlocks:10,dataCodewordsPerBlock:16}]}]},{infoBits:87683,versionNumber:21,alignmentPatternCenters:[6,28,50,72,94],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:116},{numBlocks:4,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:16},{numBlocks:6,dataCodewordsPerBlock:17}]}]},{infoBits:92361,versionNumber:22,alignmentPatternCenters:[6,26,50,74,98],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:111},{numBlocks:7,dataCodewordsPerBlock:112}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:13}]}]},{infoBits:96236,versionNumber:23,alignmentPatternCenters:[6,30,54,74,102],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:121},{numBlocks:5,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:47},{numBlocks:14,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:16,dataCodewordsPerBlock:15},{numBlocks:14,dataCodewordsPerBlock:16}]}]},{infoBits:102084,versionNumber:24,alignmentPatternCenters:[6,28,54,80,106],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:45},{numBlocks:14,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:30,dataCodewordsPerBlock:16},{numBlocks:2,dataCodewordsPerBlock:17}]}]},{infoBits:102881,versionNumber:25,alignmentPatternCenters:[6,32,58,84,110],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:106},{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:47},{numBlocks:13,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:110507,versionNumber:26,alignmentPatternCenters:[6,30,58,86,114],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:114},{numBlocks:2,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:46},{numBlocks:4,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:28,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:33,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]}]},{infoBits:110734,versionNumber:27,alignmentPatternCenters:[6,34,62,90,118],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:23},{numBlocks:26,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:117786,versionNumber:28,alignmentPatternCenters:[6,26,50,74,98,122],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:117},{numBlocks:10,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:45},{numBlocks:23,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:24},{numBlocks:31,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:31,dataCodewordsPerBlock:16}]}]},{infoBits:119615,versionNumber:29,alignmentPatternCenters:[6,30,54,78,102,126],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:116},{numBlocks:7,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:21,dataCodewordsPerBlock:45},{numBlocks:7,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:23},{numBlocks:37,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:26,dataCodewordsPerBlock:16}]}]},{infoBits:126325,versionNumber:30,alignmentPatternCenters:[6,26,52,78,104,130],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:115},{numBlocks:10,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:47},{numBlocks:10,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:25,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:25,dataCodewordsPerBlock:16}]}]},{infoBits:127568,versionNumber:31,alignmentPatternCenters:[6,30,56,82,108,134],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:3,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:46},{numBlocks:29,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:24},{numBlocks:1,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:133589,versionNumber:32,alignmentPatternCenters:[6,34,60,86,112,138],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:24},{numBlocks:35,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:35,dataCodewordsPerBlock:16}]}]},{infoBits:136944,versionNumber:33,alignmentPatternCenters:[6,30,58,86,114,142],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:21,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:24},{numBlocks:19,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:141498,versionNumber:34,alignmentPatternCenters:[6,34,62,90,118,146],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:6,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:44,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:59,dataCodewordsPerBlock:16},{numBlocks:1,dataCodewordsPerBlock:17}]}]},{infoBits:145311,versionNumber:35,alignmentPatternCenters:[6,30,54,78,102,126,150],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:121},{numBlocks:7,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:47},{numBlocks:26,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:39,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:41,dataCodewordsPerBlock:16}]}]},{infoBits:150283,versionNumber:36,alignmentPatternCenters:[6,24,50,76,102,128,154],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:121},{numBlocks:14,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:47},{numBlocks:34,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:46,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:64,dataCodewordsPerBlock:16}]}]},{infoBits:152622,versionNumber:37,alignmentPatternCenters:[6,28,54,80,106,132,158],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:46},{numBlocks:14,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:49,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:24,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:158308,versionNumber:38,alignmentPatternCenters:[6,32,58,84,110,136,162],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:122},{numBlocks:18,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:46},{numBlocks:32,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:48,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:15},{numBlocks:32,dataCodewordsPerBlock:16}]}]},{infoBits:161089,versionNumber:39,alignmentPatternCenters:[6,26,54,82,110,138,166],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:40,dataCodewordsPerBlock:47},{numBlocks:7,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:43,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:15},{numBlocks:67,dataCodewordsPerBlock:16}]}]},{infoBits:167017,versionNumber:40,alignmentPatternCenters:[6,30,58,86,114,142,170],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:118},{numBlocks:6,dataCodewordsPerBlock:119}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:18,dataCodewordsPerBlock:47},{numBlocks:31,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:24},{numBlocks:34,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:15},{numBlocks:61,dataCodewordsPerBlock:16}]}]}]}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0);function r(f,g,p,C){var b=f.x-g.x+p.x-C.x,y=f.y-g.y+p.y-C.y;if(b===0&&y===0)return{a11:g.x-f.x,a12:g.y-f.y,a13:0,a21:p.x-g.x,a22:p.y-g.y,a23:0,a31:f.x,a32:f.y,a33:1};var w=g.x-p.x,A=C.x-p.x,I=g.y-p.y,M=C.y-p.y,R=w*M-A*I,T=(b*M-A*y)/R,V=(w*y-b*I)/R;return{a11:g.x-f.x+T*g.x,a12:g.y-f.y+T*g.y,a13:T,a21:C.x-f.x+V*C.x,a22:C.y-f.y+V*C.y,a23:V,a31:f.x,a32:f.y,a33:1}}function a(f,g,p,C){var b=r(f,g,p,C);return{a11:b.a22*b.a33-b.a23*b.a32,a12:b.a13*b.a32-b.a12*b.a33,a13:b.a12*b.a23-b.a13*b.a22,a21:b.a23*b.a31-b.a21*b.a33,a22:b.a11*b.a33-b.a13*b.a31,a23:b.a13*b.a21-b.a11*b.a23,a31:b.a21*b.a32-b.a22*b.a31,a32:b.a12*b.a31-b.a11*b.a32,a33:b.a11*b.a22-b.a12*b.a21}}function d(f,g){return{a11:f.a11*g.a11+f.a21*g.a12+f.a31*g.a13,a12:f.a12*g.a11+f.a22*g.a12+f.a32*g.a13,a13:f.a13*g.a11+f.a23*g.a12+f.a33*g.a13,a21:f.a11*g.a21+f.a21*g.a22+f.a31*g.a23,a22:f.a12*g.a21+f.a22*g.a22+f.a32*g.a23,a23:f.a13*g.a21+f.a23*g.a22+f.a33*g.a23,a31:f.a11*g.a31+f.a21*g.a32+f.a31*g.a33,a32:f.a12*g.a31+f.a22*g.a32+f.a32*g.a33,a33:f.a13*g.a31+f.a23*g.a32+f.a33*g.a33}}function u(f,g){for(var p=a({x:3.5,y:3.5},{x:g.dimension-3.5,y:3.5},{x:g.dimension-6.5,y:g.dimension-6.5},{x:3.5,y:g.dimension-3.5}),C=r(g.topLeft,g.topRight,g.alignmentPattern,g.bottomLeft),b=d(C,p),y=s.BitMatrix.createEmpty(g.dimension,g.dimension),w=function(V,H){var X=b.a13*V+b.a23*H+b.a33;return{x:(b.a11*V+b.a21*H+b.a31)/X,y:(b.a12*V+b.a22*H+b.a32)/X}},A=0;A<g.dimension;A++)for(var I=0;I<g.dimension;I++){var M=I+.5,R=A+.5,T=w(M,R);y.set(I,A,f.get(Math.floor(T.x),Math.floor(T.y)))}return{matrix:y,mappingFunction:w}}i.extract=u}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=4,r=.5,a=1.5,d=function(M,R){return Math.sqrt(Math.pow(R.x-M.x,2)+Math.pow(R.y-M.y,2))};function u(M){return M.reduce(function(R,T){return R+T})}function f(M,R,T){var V,H,X,se,he=d(M,R),J=d(R,T),ue=d(M,T),be,re,ce;return J>=he&&J>=ue?(V=[R,M,T],be=V[0],re=V[1],ce=V[2]):ue>=J&&ue>=he?(H=[M,R,T],be=H[0],re=H[1],ce=H[2]):(X=[M,T,R],be=X[0],re=X[1],ce=X[2]),(ce.x-re.x)*(be.y-re.y)-(ce.y-re.y)*(be.x-re.x)<0&&(se=[ce,be],be=se[0],ce=se[1]),{bottomLeft:be,topLeft:re,topRight:ce}}function g(M,R,T,V){var H=(u(C(M,T,V,5))/7+u(C(M,R,V,5))/7+u(C(T,M,V,5))/7+u(C(R,M,V,5))/7)/4;if(H<1)throw new Error("Invalid module size");var X=Math.round(d(M,R)/H),se=Math.round(d(M,T)/H),he=Math.floor((X+se)/2)+7;switch(he%4){case 0:he++;break;case 2:he--;break}return{dimension:he,moduleSize:H}}function p(M,R,T,V){var H=[{x:Math.floor(M.x),y:Math.floor(M.y)}],X=Math.abs(R.y-M.y)>Math.abs(R.x-M.x),se,he,J,ue;X?(se=Math.floor(M.y),he=Math.floor(M.x),J=Math.floor(R.y),ue=Math.floor(R.x)):(se=Math.floor(M.x),he=Math.floor(M.y),J=Math.floor(R.x),ue=Math.floor(R.y));for(var be=Math.abs(J-se),re=Math.abs(ue-he),ce=Math.floor(-be/2),ke=se<J?1:-1,Pe=he<ue?1:-1,xe=!0,He=se,Ue=he;He!==J+ke;He+=ke){var ve=X?Ue:He,mt=X?He:Ue;if(T.get(ve,mt)!==xe&&(xe=!xe,H.push({x:ve,y:mt}),H.length===V+1))break;if(ce+=re,ce>0){if(Ue===ue)break;Ue+=Pe,ce-=be}}for(var Mt=[],st=0;st<V;st++)H[st]&&H[st+1]?Mt.push(d(H[st],H[st+1])):Mt.push(0);return Mt}function C(M,R,T,V){var H,X=R.y-M.y,se=R.x-M.x,he=p(M,R,T,Math.ceil(V/2)),J=p(M,{x:M.x-se,y:M.y-X},T,Math.ceil(V/2)),ue=he.shift()+J.shift()-1;return(H=J.concat(ue)).concat.apply(H,he)}function b(M,R){var T=u(M)/u(R),V=0;return R.forEach(function(H,X){V+=Math.pow(M[X]-H*T,2)}),{averageSize:T,error:V}}function y(M,R,T){try{var V=C(M,{x:-1,y:M.y},T,R.length),H=C(M,{x:M.x,y:-1},T,R.length),X={x:Math.max(0,M.x-M.y)-1,y:Math.max(0,M.y-M.x)-1},se=C(M,X,T,R.length),he={x:Math.min(T.width,M.x+M.y)+1,y:Math.min(T.height,M.y+M.x)+1},J=C(M,he,T,R.length),ue=b(V,R),be=b(H,R),re=b(se,R),ce=b(J,R),ke=Math.sqrt(ue.error*ue.error+be.error*be.error+re.error*re.error+ce.error*ce.error),Pe=(ue.averageSize+be.averageSize+re.averageSize+ce.averageSize)/4,xe=(Math.pow(ue.averageSize-Pe,2)+Math.pow(be.averageSize-Pe,2)+Math.pow(re.averageSize-Pe,2)+Math.pow(ce.averageSize-Pe,2))/Pe;return ke+xe}catch{return 1/0}}function w(M,R){for(var T=Math.round(R.x);M.get(T,Math.round(R.y));)T--;for(var V=Math.round(R.x);M.get(V,Math.round(R.y));)V++;for(var H=(T+V)/2,X=Math.round(R.y);M.get(Math.round(H),X);)X--;for(var se=Math.round(R.y);M.get(Math.round(H),se);)se++;var he=(X+se)/2;return{x:H,y:he}}function A(M){for(var R=[],T=[],V=[],H=[],X=function(ve){for(var mt=0,Mt=!1,st=[0,0,0,0,0],yt=function(Nt){var si=M.get(Nt,ve);if(si===Mt)mt++;else{st=[st[1],st[2],st[3],st[4],mt],mt=1,Mt=si;var Xe=u(st)/7,et=Math.abs(st[0]-Xe)<Xe&&Math.abs(st[1]-Xe)<Xe&&Math.abs(st[2]-3*Xe)<3*Xe&&Math.abs(st[3]-Xe)<Xe&&Math.abs(st[4]-Xe)<Xe&&!si,St=u(st.slice(-3))/3,Qt=Math.abs(st[2]-St)<St&&Math.abs(st[3]-St)<St&&Math.abs(st[4]-St)<St&&si;if(et){var fi=Nt-st[3]-st[4],oi=fi-st[2],Bi={startX:oi,endX:fi,y:ve},_i=T.filter(function(ti){return oi>=ti.bottom.startX&&oi<=ti.bottom.endX||fi>=ti.bottom.startX&&oi<=ti.bottom.endX||oi<=ti.bottom.startX&&fi>=ti.bottom.endX&&st[2]/(ti.bottom.endX-ti.bottom.startX)<a&&st[2]/(ti.bottom.endX-ti.bottom.startX)>r});_i.length>0?_i[0].bottom=Bi:T.push({top:Bi,bottom:Bi})}if(Qt){var Ke=Nt-st[4],ye=Ke-st[3],Bi={startX:ye,y:ve,endX:Ke},_i=H.filter(function(Jt){return ye>=Jt.bottom.startX&&ye<=Jt.bottom.endX||Ke>=Jt.bottom.startX&&ye<=Jt.bottom.endX||ye<=Jt.bottom.startX&&Ke>=Jt.bottom.endX&&st[2]/(Jt.bottom.endX-Jt.bottom.startX)<a&&st[2]/(Jt.bottom.endX-Jt.bottom.startX)>r});_i.length>0?_i[0].bottom=Bi:H.push({top:Bi,bottom:Bi})}}},Ce=-1;Ce<=M.width;Ce++)yt(Ce);R.push.apply(R,T.filter(function(Nt){return Nt.bottom.y!==ve&&Nt.bottom.y-Nt.top.y>=2})),T=T.filter(function(Nt){return Nt.bottom.y===ve}),V.push.apply(V,H.filter(function(Nt){return Nt.bottom.y!==ve})),H=H.filter(function(Nt){return Nt.bottom.y===ve})},se=0;se<=M.height;se++)X(se);R.push.apply(R,T.filter(function(ve){return ve.bottom.y-ve.top.y>=2})),V.push.apply(V,H);var he=R.filter(function(ve){return ve.bottom.y-ve.top.y>=2}).map(function(ve){var mt=(ve.top.startX+ve.top.endX+ve.bottom.startX+ve.bottom.endX)/4,Mt=(ve.top.y+ve.bottom.y+1)/2;if(M.get(Math.round(mt),Math.round(Mt))){var st=[ve.top.endX-ve.top.startX,ve.bottom.endX-ve.bottom.startX,ve.bottom.y-ve.top.y+1],yt=u(st)/st.length,Ce=y({x:Math.round(mt),y:Math.round(Mt)},[1,1,3,1,1],M);return{score:Ce,x:mt,y:Mt,size:yt}}}).filter(function(ve){return!!ve}).sort(function(ve,mt){return ve.score-mt.score}).map(function(ve,mt,Mt){if(mt>s)return null;var st=Mt.filter(function(Ce,Nt){return mt!==Nt}).map(function(Ce){return{x:Ce.x,y:Ce.y,score:Ce.score+Math.pow(Ce.size-ve.size,2)/ve.size,size:Ce.size}}).sort(function(Ce,Nt){return Ce.score-Nt.score});if(st.length<2)return null;var yt=ve.score+st[0].score+st[1].score;return{points:[ve].concat(st.slice(0,2)),score:yt}}).filter(function(ve){return!!ve}).sort(function(ve,mt){return ve.score-mt.score});if(he.length===0)return null;var J=f(he[0].points[0],he[0].points[1],he[0].points[2]),ue=J.topRight,be=J.topLeft,re=J.bottomLeft,ce=I(M,V,ue,be,re),ke=[];ce&&ke.push({alignmentPattern:{x:ce.alignmentPattern.x,y:ce.alignmentPattern.y},bottomLeft:{x:re.x,y:re.y},dimension:ce.dimension,topLeft:{x:be.x,y:be.y},topRight:{x:ue.x,y:ue.y}});var Pe=w(M,ue),xe=w(M,be),He=w(M,re),Ue=I(M,V,Pe,xe,He);return Ue&&ke.push({alignmentPattern:{x:Ue.alignmentPattern.x,y:Ue.alignmentPattern.y},bottomLeft:{x:He.x,y:He.y},topLeft:{x:xe.x,y:xe.y},topRight:{x:Pe.x,y:Pe.y},dimension:Ue.dimension}),ke.length===0?null:ke}i.locate=A;function I(M,R,T,V,H){var X,se,he;try{X=g(V,T,H,M),se=X.dimension,he=X.moduleSize}catch{return null}var J={x:T.x-V.x+H.x,y:T.y-V.y+H.y},ue=(d(V,H)+d(V,T))/2/he,be=1-3/ue,re={x:V.x+be*(J.x-V.x),y:V.y+be*(J.y-V.y)},ce=R.map(function(Pe){var xe=(Pe.top.startX+Pe.top.endX+Pe.bottom.startX+Pe.bottom.endX)/4,He=(Pe.top.y+Pe.bottom.y+1)/2;if(M.get(Math.floor(xe),Math.floor(He))){var Ue=[Pe.top.endX-Pe.top.startX,Pe.bottom.endX-Pe.bottom.startX,Pe.bottom.y-Pe.top.y+1];u(Ue)/Ue.length;var ve=y({x:Math.floor(xe),y:Math.floor(He)},[1,1,1],M),mt=ve+d({x:xe,y:He},re);return{x:xe,y:He,score:mt}}}).filter(function(Pe){return!!Pe}).sort(function(Pe,xe){return Pe.score-xe.score}),ke=ue>=15&&ce.length?ce[0]:re;return{alignmentPattern:ke,dimension:se}}})]).default})})(ym)),ym.exports}var rY=oY();const aY=gS(rY);var lY=B('<label class="svelte-1ua3isv">Passcode <input type="number" placeholder="20202021" class="svelte-1ua3isv"/></label> <label class="svelte-1ua3isv">Discriminator (optional) <input type="number" placeholder="3840" class="svelte-1ua3isv"/></label>',1),cY=B('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label> <div class="scan-row svelte-1ua3isv"><button class="scan-btn svelte-1ua3isv" title="Scan QR code with camera"><svg width="13" height="13" viewBox="0 0 16 16" fill="currentColor"><path d="M1 1h5v5H1V1zm1 1v3h3V2H2zm7-1h5v5h-5V1zm1 1v3h3V2h-3zM1 9h5v5H1V9zm1 1v3h3v-3H2zm7 0h2v2H9v-2zm2 0h2v2h-2v-2zm0 2h2v2h-2v-2zm-2 2h2v2H9v-2zm2 0h2v2h-2v-2z"></path></svg> Camera</button> <label class="scan-btn scan-file-btn svelte-1ua3isv" title="Decode QR from image file"><svg width="13" height="13" viewBox="0 0 16 16" fill="currentColor"><path d="M13 4H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1zM3 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H3zm5 2.5a.5.5 0 0 1 .5.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1V6a.5.5 0 0 1 .5-.5z"></path></svg> Image… <input type="file" accept="image/*" style="display:none" class="svelte-1ua3isv"/></label></div>',1),Z2=B('<p class="err svelte-1ua3isv"> </p>'),dY=B('<div class="wizard svelte-1ua3isv"><div class="wizard-tabs svelte-1ua3isv"><button>Passcode</button> <button>QR / Code</button></div> <!> <label class="svelte-1ua3isv">IP Address (optional, bypasses mDNS) <input type="text" placeholder="192.168.1.100 or 192.168.1.100:5540" class="svelte-1ua3isv"/></label> <!> <button class="commission-btn svelte-1ua3isv"> </button></div>'),uY=B('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),hY=B('<span class="device-name svelte-1ua3isv"> </span>'),fY=B('<li><button class="device-select-btn svelte-1ua3isv"><span></span> <span class="device-label svelte-1ua3isv"><!></span></button> <button class="unpair-btn svelte-1ua3isv" title="Unpair">✕</button></li>'),gY=B('<li class="empty svelte-1ua3isv">No paired devices</li>'),pY=B('<p class="info svelte-1ua3isv">Loading…</p>'),xY=B('<p class="device-subtitle svelte-1ua3isv"> </p>'),mY=B('<span class="ep-chip svelte-1ua3isv"> </span>'),vY=B('<span class="attr-id svelte-1ua3isv"> </span>'),_Y=B('<button class="attr-action-btn svelte-1ua3isv"> </button>'),bY=B('<div class="attr-actions svelte-1ua3isv"></div>'),CY=B('<span class="cmd-sep svelte-1ua3isv">,</span>'),EY=B('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),yY=B('<span class="cmd-id svelte-1ua3isv"> </span>'),wY=B("<!> <!>",1),SY=B('<span class="cmd-list svelte-1ua3isv"></span>'),DY=B(' <span class="cmd-id svelte-1ua3isv"> </span>',1),AY=B('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),kY=B('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"><th class="svelte-1ua3isv">deviceType</th><th class="svelte-1ua3isv">revision</th></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),BY=B('<th class="svelte-1ua3isv"> </th>'),FY=B('<td class="svelte-1ua3isv"> </td>'),LY=B('<tr class="svelte-1ua3isv"></tr>'),IY=B('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),PY=B('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),TY=B('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),MY=B('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),RY=B('<span class="attr-val svelte-1ua3isv"> </span>'),NY=B('<tr class="svelte-1ua3isv"><td class="attr-name-cell svelte-1ua3isv"><span class="attr-key svelte-1ua3isv"> </span><!></td><td class="attr-actions-cell svelte-1ua3isv"><!></td><td class="attr-val-cell svelte-1ua3isv"><!></td></tr>'),OY=B('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),HY=B('<table class="cluster-table svelte-1ua3isv"><colgroup><col class="col-attr-name svelte-1ua3isv"/><col class="col-attr-actions svelte-1ua3isv"/><col class="col-attr-val"/></colgroup><tbody class="svelte-1ua3isv"></tbody></table>'),WY=B('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),zY=B('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),VY=B('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),jY=B('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),$Y=B('<span class="stream-badge svelte-1ua3isv"> </span>'),UY=B('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),YC=B(' <span class="e-sub svelte-1ua3isv"> </span>',1),qY=B('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),GY=B('<span class="e-badge e-badge-attr svelte-1ua3isv">attr</span> <span class="e-node svelte-1ua3isv"> <!></span> <span class="e-ep svelte-1ua3isv"> <!></span> <span class="e-cluster svelte-1ua3isv"> </span> <span class="e-attr svelte-1ua3isv"> </span> <span class="e-val svelte-1ua3isv"> </span>',1),KY=B('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),ZY=B('<div class="stream-body svelte-1ua3isv"><!></div>'),XY=B('<p class="scan-err svelte-1ua3isv"> </p>'),YY=B('<div class="scan-preview svelte-1ua3isv"><video playsinline="" class="scan-video svelte-1ua3isv"></video> <div class="scan-reticle svelte-1ua3isv"></div></div> <p class="scan-hint svelte-1ua3isv">Point camera at the QR code on the device</p>',3),QY=B('<div class="scan-backdrop svelte-1ua3isv"></div> <div class="scan-modal svelte-1ua3isv"><div class="scan-modal-hdr svelte-1ua3isv"><span>Scan Matter QR Code</span> <button class="scan-close svelte-1ua3isv">✕</button></div> <!> <canvas style="display:none"></canvas></div>',1),JY=B('<!> <div class="matter-page svelte-1ua3isv"><div class="matter-main svelte-1ua3isv"><div class="sidebar svelte-1ua3isv"><div class="sidebar-header svelte-1ua3isv"><span class="sidebar-title svelte-1ua3isv">Matter Devices</span> <button class="add-btn svelte-1ua3isv" title="Commission new device">+</button></div> <!> <ul class="device-list svelte-1ua3isv"><!> <!></ul></div> <div class="detail svelte-1ua3isv"><!></div></div> <div class="stream-panel svelte-1ua3isv"><div class="stream-resize svelte-1ua3isv"></div> <div class="stream-hdr-row svelte-1ua3isv"><span class="stream-title svelte-1ua3isv">Matter Events</span> <!> <button class="stream-toggle svelte-1ua3isv" title="Toggle event feed"> </button></div> <!></div></div> <!>',1);function eQ(o,e){js(e,!0);const t={onOff:{onOff:[{label:"On",command:"on"},{label:"Off",command:"off"},{label:"Toggle",command:"toggle"}]},levelControl:{currentLevel:[{label:"Step ▲",command:"stepWithOnOff",args:{stepMode:0,stepSize:25,transitionTime:5}},{label:"Step ▼",command:"stepWithOnOff",args:{stepMode:1,stepSize:25,transitionTime:5}}]},windowCovering:{currentPositionLiftPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}],currentPositionTiltPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}]}};async function i(Y,Te,lt,we,di){try{await cU(Y,Te,lt,we,di)}catch(Lt){console.error("matter command failed",Lt)}}const n={identify:{0:"identify",1:"triggerEffect"},groups:{0:"addGroup",1:"viewGroup",2:"getGroupMembership",3:"removeGroup",4:"removeAllGroups",5:"addGroupIfIdentifying"},scenes:{0:"addScene",1:"viewScene",2:"removeScene",3:"removeAllScenes",4:"storeScene",5:"recallScene",6:"getSceneMembership",64:"enhancedAddScene",65:"enhancedViewScene",66:"copyScene"},onOff:{0:"off",1:"on",2:"toggle",64:"offWithEffect",65:"onWithRecallGlobalScene",66:"onWithTimedOff"},levelControl:{0:"moveToLevel",1:"move",2:"step",3:"stop",4:"moveToLevelWithOnOff",5:"moveWithOnOff",6:"stepWithOnOff",7:"stopWithOnOff",8:"moveToClosestFrequency"},colorControl:{0:"moveToHue",1:"moveHue",2:"stepHue",3:"moveToSaturation",4:"moveSaturation",5:"stepSaturation",6:"moveToHueAndSaturation",7:"moveToColor",8:"moveColor",9:"stepColor",10:"moveToColorTemperature",64:"enhancedMoveToHue",65:"enhancedMoveHue",66:"enhancedStepHue",67:"enhancedMoveToHueAndSaturation",68:"colorLoopSet",71:"stopMoveStep",75:"moveColorTemperature",76:"stepColorTemperature"},thermostat:{0:"setpointRaiseLower",1:"setWeeklySchedule",2:"getWeeklySchedule",3:"clearWeeklySchedule"},doorLock:{0:"lockDoor",1:"unlockDoor",3:"unlockWithTimeout",11:"setWeekDaySchedule",12:"getWeekDaySchedule",13:"clearWeekDaySchedule",14:"setYearDaySchedule",15:"getYearDaySchedule",16:"clearYearDaySchedule",17:"setHolidaySchedule",18:"getHolidaySchedule",19:"clearHolidaySchedule",26:"setUser",27:"getUser",28:"clearUser",34:"setCredential",36:"getCredential",38:"clearCredential"},windowCovering:{0:"upOrOpen",1:"downOrClose",2:"stopMotion",4:"goToLiftValue",5:"goToLiftPercentage",7:"goToTiltValue",8:"goToTiltPercentage"},fanControl:{0:"step"}};function s(Y,Te){const lt=n[Y];return Te.map(we=>{const di=typeof we=="number"?we:Number(we);return{id:di,name:(lt==null?void 0:lt[di])??null}})}const r={10:"Door Lock",11:"Door Lock Controller",14:"Aggregator",15:"Generic Switch",17:"On/Off Plug-In Unit",18:"Dimmable Plug-In Unit",19:"Pump",20:"On/Off Light Switch",21:"Dimmer Switch",22:"Color Dimmer Switch",23:"Control Bridge",24:"Pump Controller",256:"On/Off Light",257:"Dimmable Light",268:"Extended Color Light",269:"Color Temperature Light",262:"Light Sensor",263:"Occupancy Sensor",514:"Window Covering",515:"Window Covering Controller",768:"Heating/Cooling Unit",769:"Thermostat",770:"Temperature Sensor",771:"Pressure Sensor",772:"Flow Sensor",773:"Humidity Sensor",774:"On/Off Sensor",2112:"Air Quality Sensor"},a={generatedCommandList:65528,acceptedCommandList:65529,eventList:65530,attributeList:65531,featureMap:65532,clusterRevision:65533},d={descriptor:{deviceTypeList:0,serverList:1,clientList:2,partsList:3,tagList:4},basicInformation:{dataModelRevision:0,vendorName:1,vendorID:2,vendorId:2,productName:3,productID:4,productId:4,nodeLabel:5,location:6,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,localConfigDisabled:16,reachable:17,uniqueID:18,uniqueId:18,capabilityMinima:19,productAppearance:20,specificationVersion:21,maxPathsPerInvoke:22},bridgedDeviceBasicInformation:{vendorName:1,vendorID:2,vendorId:2,productName:3,productId:4,nodeLabel:5,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,reachable:17,uniqueID:18,uniqueId:18,productAppearance:20},identify:{identifyTime:0,identifyType:1},groups:{nameSupport:0},onOff:{onOff:0,globalSceneControl:16384,onTime:16385,offWaitTime:16386,startUpOnOff:16387},levelControl:{currentLevel:0,remainingTime:1,minLevel:2,maxLevel:3,currentFrequency:4,minFrequency:5,maxFrequency:6,options:15,onOffTransitionTime:16,onLevel:17,onTransitionTime:18,offTransitionTime:19,defaultMoveRate:20,startUpCurrentLevel:16384},colorControl:{currentHue:0,currentSaturation:1,remainingTime:2,currentX:3,currentY:4,colorTemperatureMireds:7,colorMode:8,options:15,enhancedCurrentHue:16384,enhancedColorMode:16385,colorLoopActive:16386,colorLoopDirection:16387,colorLoopTime:16388,colorCapabilities:16394,colorTempPhysicalMinMireds:16395,colorTempPhysicalMaxMireds:16396,coupleColorTempToLevelMinMireds:16397,startUpColorTemperatureMireds:16400},thermostat:{localTemperature:0,outdoorTemperature:1,occupancy:2,absMinHeatSetpointLimit:3,absMaxHeatSetpointLimit:4,absMinCoolSetpointLimit:5,absMaxCoolSetpointLimit:6,piCoolingDemand:7,piHeatingDemand:8,localTemperatureCalibration:16,occupiedCoolingSetpoint:17,occupiedHeatingSetpoint:18,unoccupiedCoolingSetpoint:19,unoccupiedHeatingSetpoint:20,minHeatSetpointLimit:21,maxHeatSetpointLimit:22,minCoolSetpointLimit:23,maxCoolSetpointLimit:24,minSetpointDeadBand:25,remoteSensing:26,controlSequenceOfOperation:27,systemMode:28,thermostatRunningMode:30,startOfWeek:32,numberOfWeeklyTransitions:33,numberOfDailyTransitions:34,temperatureSetpointHold:35,temperatureSetpointHoldDuration:36,thermostatProgrammingOperationMode:37,thermostatRunningState:41,setpointChangeSource:48,setpointChangeAmount:49,setpointChangeSourceTimestamp:50,occupiedSetback:52,unoccupiedSetback:55,emergencyHeatDelta:58},windowCovering:{type:0,physicalClosedLimitLift:1,physicalClosedLimitTilt:2,currentPositionLift:3,currentPositionTilt:4,numberOfActuationsLift:5,numberOfActuationsTilt:6,configStatus:7,currentPositionLiftPercentage:8,currentPositionTiltPercentage:9,operationalStatus:10,targetPositionLiftPercent100ths:11,targetPositionTiltPercent100ths:12,endProductType:13,currentPositionLiftPercent100ths:14,currentPositionTiltPercent100ths:15,installedOpenLimitLift:16,installedClosedLimitLift:17,installedOpenLimitTilt:18,installedClosedLimitTilt:19,mode:23,safetyStatus:26},doorLock:{lockState:0,lockType:1,actuatorEnabled:2,doorState:3,numberOfTotalUsersSupported:17,numberOfPINUsersSupported:18,maxPINCodeLength:23,minPINCodeLength:24,language:33,autoRelockTime:35,soundVolume:36,operatingMode:37,supportedOperatingModes:38,wrongCodeEntryLimit:48},fanControl:{fanMode:0,fanModeSequence:1,percentSetting:2,percentCurrent:3,speedMax:4,speedSetting:5,speedCurrent:6,rockSupport:7,rockSetting:8,windSupport:9,windSetting:10,airflowDirectionSupport:11,airflowDirection:12},occupancySensing:{occupancy:0,occupancySensorType:1,occupancySensorTypeBitmap:2,holdTime:3,pirOccupiedToUnoccupiedDelay:16,pirUnoccupiedToOccupiedDelay:17},illuminanceMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,lightSensorType:4},temperatureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},pressureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,scaledValue:16,minScaledValue:17,maxScaledValue:18,scale:20},flowMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},relativeHumidityMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},powerSource:{status:0,order:1,description:2,batVoltage:11,batPercentRemaining:12,batTimeRemaining:13,batChargeLevel:14,batReplacementNeeded:15,batReplaceability:16,batPresent:17,activeBatFaults:18,batChargeState:26}};function u(Y){return"0x"+Y.toString(16).toUpperCase().padStart(4,"0")}let f=F(Pi([])),g=Pi(new Map);function p(Y){if(Y==null)return"—";if(typeof Y=="boolean"||typeof Y=="number")return String(Y);if(typeof Y=="string")return Y.length>50?Y.slice(0,47)+"…":Y;const Te=JSON.stringify(Y);return Te.length>60?Te.slice(0,57)+"…":Te}function C(Y){return Y==null?"—":typeof Y=="boolean"||typeof Y=="number"?String(Y):typeof Y=="string"?Y:JSON.stringify(Y)}function b(Y){return Y!==null&&typeof Y=="object"&&!Array.isArray(Y)}function y(Y){return Array.isArray(Y)&&Y.length>0&&Y.every(b)}function w(Y,Te){return!!(Te==="attributeList"||Array.isArray(Y)&&Y.length===0||b(Y)&&Object.keys(Y).length===0)}function A(Y){return new Date(Y).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const I=500,M=20,R=32;let T=0,V=F(Pi([])),H=F(!0),X=F(180),se=Ft(()=>{const Y=Math.max(1,Math.floor((c(X)-R)/M)+1);return c(V).slice(0,Y)});function he(Y){Y.preventDefault();const Te=Y.clientY,lt=c(X);function we(Lt){m(X,Math.max(60,Math.min(600,lt+Te-Lt.clientY)),!0)}function di(){document.removeEventListener("mousemove",we),document.removeEventListener("mouseup",di)}document.addEventListener("mousemove",we),document.addEventListener("mouseup",di)}let J=F(null),ue=F(!1),be=F(null),re=F(!1),ce=F("passcode"),ke=F(""),Pe=F(""),xe=F(""),He=F(!1),Ue=F(null),ve=F(""),mt=F(!1),Mt=F(""),st=F(void 0),yt=F(void 0),Ce=null,Nt=null;function si(){Nt!==null&&(cancelAnimationFrame(Nt),Nt=null),Ce&&(Ce.getTracks().forEach(Y=>Y.stop()),Ce=null),m(mt,!1),m(Mt,"")}function Xe(Y){si(),m(ce,"pairingCode"),m(xe,Y,!0)}function et(){if(!c(yt))return null;const Y=c(yt).getContext("2d",{willReadFrequently:!0}),{width:Te,height:lt}=c(yt);if(!Te||!lt)return null;const we=Y.getImageData(0,0,Te,lt);return aY(we.data,we.width,we.height,{inversionAttempts:"dontInvert"})}async function St(){if(m(mt,!0),m(Mt,""),await hl(),!c(st)||!c(yt))return;try{Ce=await navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}}),c(st).srcObject=Ce,await c(st).play()}catch(Te){m(Mt,"Camera unavailable: "+(Te instanceof Error?Te.message:String(Te)));return}const Y=()=>{var Te;if(!(!c(st)||!c(yt)||!Ce)){if(c(st).readyState===c(st).HAVE_ENOUGH_DATA){c(yt).width=c(st).videoWidth,c(yt).height=c(st).videoHeight,c(yt).getContext("2d",{willReadFrequently:!0}).drawImage(c(st),0,0);const we=et();if((Te=we==null?void 0:we.data)!=null&&Te.startsWith("MT:")){Xe(we.data);return}}Nt=requestAnimationFrame(Y)}};Nt=requestAnimationFrame(Y)}function Qt(Y){var we;const Te=(we=Y.target.files)==null?void 0:we[0];if(!Te)return;const lt=new FileReader;lt.onload=di=>{const Lt=new Image;Lt.onload=()=>{var Bt;if(!c(yt))return;c(yt).width=Lt.width,c(yt).height=Lt.height,c(yt).getContext("2d",{willReadFrequently:!0}).drawImage(Lt,0,0);const Ye=et();(Bt=Ye==null?void 0:Ye.data)!=null&&Bt.startsWith("MT:")?Xe(Ye.data):m(Mt,"No Matter QR code found in image.")},Lt.src=di.target.result},lt.readAsDataURL(Te)}const fi="she:matter:selectedNodeId";async function oi(){try{m(f,await dS(),!0);for(const Y of c(f))bm(Y.nodeId).then(Te=>{g.set(Y.nodeId,Te)}).catch(()=>{});if(c(f).length>0&&!c(J)){const Y=localStorage.getItem(fi),Te=Y&&c(f).find(lt=>lt.nodeId===Y)?Y:c(f)[0].nodeId;Bi(Te)}}catch{m(f,[],!0)}}async function Bi(Y){m(ue,!0),m(be,null);try{m(J,await bm(Y),!0),g.set(Y,c(J)),localStorage.setItem(fi,Y)}catch(Te){m(be,Te instanceof Error?Te.message:String(Te),!0)}finally{m(ue,!1)}}let _i;async function Ke(Y){var Te;if(await _i.show(`Unpair device ${Y}?`,{confirm:"Unpair",danger:!0}))try{await lU(Y),((Te=c(J))==null?void 0:Te.nodeId)===Y&&m(J,null),await oi()}catch(lt){m(be,lt instanceof Error?lt.message:String(lt),!0)}}async function ye(){m(He,!0),m(Ue,null);try{let Y;c(ce)==="passcode"?(Y={passcode:Number(c(ke))},c(Pe)&&(Y={...Y,discriminator:Number(c(Pe))})):Y={pairingCode:c(xe).trim()},c(ve).trim()&&(Y={...Y,discoveryAddress:c(ve).trim()}),await aU(Y),m(re,!1),m(ke,""),m(Pe,""),m(xe,""),m(ve,""),await oi()}catch(Y){m(Ue,Y instanceof Error?Y.message:String(Y),!0)}finally{m(He,!1)}}Xs(()=>{oi()});const ti=hr("matter:deviceList",Y=>{if(!Array.isArray(Y.devices))return;const Te=Y.devices;for(const lt of Te)g.has(lt.nodeId)||bm(lt.nodeId).then(we=>{g.set(lt.nodeId,we)}).catch(()=>{});m(f,Te,!0)}),Ei=hr("matter:deviceStatus",Y=>{if(Y.nodeId===void 0)return;const Te=String(Y.nodeId),lt=!!Y.online;m(f,c(f).map(we=>we.nodeId===Te?{...we,online:lt}:we),!0),m(V,[{id:T++,kind:"status",nodeId:Te,online:lt,ts:Date.now()},...c(V).slice(0,I-1)],!0)}),Jt=hr("matter:attr",Y=>{const Te=String(Y.nodeId),lt=Y.endpointId,we=String(Y.clusterName),di=String(Y.attrName),Lt=Y.value;if(c(J)&&c(J).nodeId===Te){const Ye=c(J).endpoints.find(It=>It.endpointId===lt),Bt=Ye==null?void 0:Ye.clusters.find(It=>It.name===we);Bt&&(Bt.attrs[di]=Lt)}const te=g.get(Te);if(te){const Ye=te.endpoints.find(It=>It.endpointId===lt),Bt=Ye==null?void 0:Ye.clusters.find(It=>It.name===we);Bt&&(Bt.attrs[di]=Lt)}m(V,[{id:T++,kind:"attr",nodeId:Te,endpointId:lt,clusterName:we,attrName:di,value:Lt,ts:Y.ts??Date.now()},...c(V).slice(0,I-1)],!0)});Vp(()=>{ti(),Ei(),Jt(),si()});var Vi=JY(),Yi=Et(Vi);gs(Yc(Yi,{}),Y=>_i=Y,()=>_i);var Ti=v(Yi,2),wn=_(Ti),cn=_(wn),gn=_(cn),hn=v(_(gn),2),ft=v(gn,2);{var Ut=Y=>{var Te=dY(),lt=_(Te),we=_(lt);let di;var Lt=v(we,2);let te;var Ye=v(lt,2);{var Bt=Xt=>{var pe=lY(),Ge=Et(pe),ot=v(_(Ge)),rt=v(Ge,2),jt=v(_(rt));Vt(ot,()=>c(ke),Ot=>m(ke,Ot)),Vt(jt,()=>c(Pe),Ot=>m(Pe,Ot)),D(Xt,pe)},It=Xt=>{var pe=cY(),Ge=Et(pe),ot=v(_(Ge)),rt=v(Ge,2),jt=_(rt),Ot=v(jt,2),Ci=v(_(Ot),2);Vt(ot,()=>c(xe),P=>m(xe,P)),U("click",jt,St),U("change",Ci,Qt),D(Xt,pe)};z(Ye,Xt=>{c(ce)==="passcode"?Xt(Bt):Xt(It,-1)})}var Dt=v(Ye,2),Be=v(_(Dt)),je=v(Dt,2);{var Kt=Xt=>{var pe=Z2(),Ge=_(pe);j(()=>W(Ge,c(Ue))),D(Xt,pe)};z(je,Xt=>{c(Ue)&&Xt(Kt)})}var ri=v(je,2),hi=_(ri);j(()=>{di=kt(we,1,"svelte-1ua3isv",null,di,{active:c(ce)==="passcode"}),te=kt(Lt,1,"svelte-1ua3isv",null,te,{active:c(ce)==="pairingCode"}),ri.disabled=c(He),W(hi,c(He)?"Commissioning…":"Commission")}),U("click",we,()=>m(ce,"passcode")),U("click",Lt,()=>m(ce,"pairingCode")),Vt(Be,()=>c(ve),Xt=>m(ve,Xt)),U("click",ri,ye),D(Y,Te)};z(ft,Y=>{c(re)&&Y(Ut)})}var Ri=v(ft,2),qi=_(Ri);ei(qi,17,()=>c(f),Y=>Y.nodeId,(Y,Te)=>{var lt=fY();let we;var di=_(lt),Lt=_(di);let te;var Ye=v(Lt,2),Bt=_(Ye);{var It=je=>{var Kt=uY(),ri=Et(Kt),hi=_(ri),Xt=v(ri,2),pe=_(Xt);j(()=>{W(hi,c(Te).name),W(pe,`#${c(Te).nodeId??""}`)}),D(je,Kt)},Dt=je=>{var Kt=hY(),ri=_(Kt);j(()=>W(ri,`Node ${c(Te).nodeId??""}`)),D(je,Kt)};z(Bt,je=>{c(Te).name?je(It):je(Dt,-1)})}var Be=v(di,2);j(()=>{var je;we=kt(lt,1,"svelte-1ua3isv",null,we,{selected:((je=c(J))==null?void 0:je.nodeId)===c(Te).nodeId}),te=kt(Lt,1,"status-dot svelte-1ua3isv",null,te,{online:c(Te).online})}),U("click",di,()=>Bi(c(Te).nodeId)),U("click",Be,()=>Ke(c(Te).nodeId)),D(Y,lt)});var bi=v(qi,2);{var Wi=Y=>{var Te=gY();D(Y,Te)};z(bi,Y=>{c(f).length===0&&Y(Wi)})}var ji=v(cn,2),Ji=_(ji);{var Si=Y=>{var Te=pY();D(Y,Te)},$i=Y=>{var Te=Z2(),lt=_(Te);j(()=>W(lt,c(be))),D(Y,Te)},ze=Y=>{var Te=VY(),lt=Et(Te),we=_(lt),di=_(we),Lt=v(we,2);{var te=Dt=>{var Be=xY(),je=_(Be);j(()=>W(je,c(J).subtitle)),D(Dt,Be)};z(Lt,Dt=>{c(J).subtitle&&Dt(te)})}var Ye=v(Lt,2),Bt=_(Ye),It=v(lt,2);ei(It,17,()=>c(J).endpoints,Dt=>Dt.endpointId,(Dt,Be)=>{var je=zY(),Kt=_(je),ri=_(Kt),hi=v(ri),Xt=_(hi),pe=v(hi,2);ei(pe,21,()=>c(Be).clusters,Hi,(jt,Ot)=>{var Ci=mY(),P=_(Ci);j(()=>W(P,c(Ot).name)),D(jt,Ci)});var Ge=v(Kt,2);{var ot=jt=>{var Ot=HY(),Ci=v(_(Ot));ei(Ci,21,()=>c(Be).clusters,Hi,(P,N)=>{var $=OY(),oe=Et($),ne=_(oe),ie=_(ne),ae=v(oe,2);ei(ae,17,()=>Object.entries(c(N).attrs),Hi,(Je,Le)=>{var _e=Ft(()=>c8(c(Le),2));let Ze=()=>c(_e)[0],Me=()=>c(_e)[1];var ct=ws(),Zt=Et(ct);{var Z=$e=>{const Pt=Ft(()=>{var zt;return(zt=t[c(N).name])==null?void 0:zt[Ze()]}),Ee=Ft(()=>(Ze()==="acceptedCommandList"||Ze()==="generatedCommandList")&&Array.isArray(Me())),We=Ft(()=>{var zt;return((zt=d[c(N).name])==null?void 0:zt[Ze()])??a[Ze()]});var wt=NY(),gt=_(wt),Ie=_(gt),ge=_(Ie),Re=v(Ie);{var Ne=zt=>{var At=vY(),Ht=_(At);j(ii=>W(Ht,`(${ii??""})`),[()=>u(c(We))]),D(zt,At)};z(Re,zt=>{c(We)!==void 0&&zt(Ne)})}var it=v(gt),at=_(it);{var Oe=zt=>{var At=bY();ei(At,21,()=>c(Pt),Hi,(Ht,ii)=>{var pi=_Y(),tn=_(pi);j(()=>W(tn,c(ii).label)),U("click",pi,()=>i(c(J).nodeId,c(Be).endpointId,c(N).name,c(ii).command,c(ii).args)),D(Ht,pi)}),D(zt,At)};z(at,zt=>{c(Pt)&&zt(Oe)})}var ut=v(it),fe=_(ut);{var Ve=zt=>{var At=SY();ei(At,21,()=>s(c(N).name,Me()),Hi,(Ht,ii,pi)=>{var tn=wY(),dn=Et(tn);{var In=Pn=>{var Jn=CY();D(Pn,Jn)};z(dn,Pn=>{pi>0&&Pn(In)})}var Ni=v(dn,2);{var An=Pn=>{var Jn=EY(),Oi=Et(Jn),Gs=_(Oi),On=v(Oi),es=_(On);j(()=>{W(Gs,c(ii).name),W(es,`(${c(ii).id??""})`)}),D(Pn,Jn)},Gn=Pn=>{var Jn=yY(),Oi=_(Jn);j(()=>W(Oi,c(ii).id)),D(Pn,Jn)};z(Ni,Pn=>{c(ii).name?Pn(An):Pn(Gn,-1)})}D(Ht,tn)}),D(zt,At)},Ct=zt=>{var At=kY(),Ht=v(_(At));ei(Ht,21,Me,Hi,(ii,pi)=>{const tn=Ft(()=>c(pi)),dn=Ft(()=>c(tn).deviceType),In=Ft(()=>r[c(dn)]);var Ni=AY(),An=_(Ni),Gn=_(An);{var Pn=On=>{var es=DY(),Ms=Et(es),tr=v(Ms),zr=_(tr);j(Xa=>{W(Ms,`${c(In)??""} `),W(zr,`(${Xa??""})`)},[()=>u(c(dn))]),D(On,es)},Jn=On=>{var es=oo();j(Ms=>W(es,Ms),[()=>u(c(dn))]),D(On,es)};z(Gn,On=>{c(In)?On(Pn):On(Jn,-1)})}var Oi=v(An),Gs=_(Oi);j(On=>W(Gs,On),[()=>C(c(tn).revision)]),D(ii,Ni)}),D(zt,At)},Wt=Ft(()=>Ze()==="deviceTypeList"&&Array.isArray(Me())),bt=zt=>{const At=Ft(()=>[...new Set(Me().flatMap(dn=>Object.keys(dn)))]);var Ht=IY(),ii=_(Ht),pi=_(ii);ei(pi,21,()=>c(At),Hi,(dn,In)=>{var Ni=BY(),An=_(Ni);j(()=>W(An,c(In))),D(dn,Ni)});var tn=v(ii);ei(tn,21,Me,Hi,(dn,In)=>{var Ni=LY();ei(Ni,21,()=>c(At),Hi,(An,Gn)=>{var Pn=FY(),Jn=_(Pn);j(Oi=>W(Jn,Oi),[()=>C(c(In)[c(Gn)])]),D(An,Pn)}),D(dn,Ni)}),D(zt,Ht)},gi=Ft(()=>y(Me())),Ai=zt=>{var At=TY(),Ht=_(At);ei(Ht,21,()=>Object.entries(Me()),Hi,(ii,pi)=>{var tn=Ft(()=>c8(c(pi),2));let dn=()=>c(tn)[0],In=()=>c(tn)[1];var Ni=PY(),An=_(Ni),Gn=_(An),Pn=v(An),Jn=_(Pn);j(Oi=>{W(Gn,dn()),W(Jn,Oi)},[()=>C(In())]),D(ii,Ni)}),D(zt,At)},Xi=Ft(()=>b(Me())),yi=zt=>{var At=MY(),Ht=_(At);j(()=>{ln(At,"href",Me()),W(Ht,Me())}),D(zt,At)},ai=zt=>{var At=RY(),Ht=_(At);j(ii=>W(Ht,ii),[()=>C(Me())]),D(zt,At)};z(fe,zt=>{c(Ee)?zt(Ve):c(Wt)?zt(Ct,1):c(gi)?zt(bt,2):c(Xi)?zt(Ai,3):(Ze()==="productUrl"||Ze()==="productURL")&&typeof Me()=="string"?zt(yi,4):zt(ai,-1)})}j(()=>{ln(gt,"title",Ze()),W(ge,Ze())}),D($e,wt)},le=Ft(()=>!w(Me(),Ze()));z(Zt,$e=>{c(le)&&$e(Z)})}D(Je,ct)}),j(()=>W(ie,c(N).name)),D(P,$)}),D(jt,Ot)},rt=jt=>{var Ot=WY();D(jt,Ot)};z(Ge,jt=>{c(Be).clusters.length>0?jt(ot):jt(rt,-1)})}j(()=>{W(ri,`${c(Be).name??`Endpoint ${c(Be).endpointId}`??""} `),W(Xt,`ep${c(Be).endpointId??""}`)}),D(Dt,je)}),j(()=>{W(di,c(J).name??`Node ${c(J).nodeId}`),W(Bt,`Node ID: ${c(J).nodeId??""}`)}),D(Y,Te)},qt=Y=>{var Te=jY();D(Y,Te)};z(Ji,Y=>{c(ue)?Y(Si):c(be)?Y($i,1):c(J)?Y(ze,2):Y(qt,-1)})}var Fi=v(wn,2),zi=_(Fi),Di=v(zi,2),K=v(_(Di),2);{var De=Y=>{var Te=$Y(),lt=_(Te);j(()=>W(lt,c(V).length)),D(Y,Te)};z(K,Y=>{!c(H)&&c(V).length>0&&Y(De)})}var Qe=v(K,2),tt=_(Qe),Gt=v(Di,2);{var ci=Y=>{var Te=ZY(),lt=_(Te);{var we=Lt=>{var te=UY();D(Lt,te)},di=Lt=>{var te=ws(),Ye=Et(te);ei(Ye,17,()=>c(se),Bt=>Bt.id,(Bt,It)=>{const Dt=Ft(()=>{var ot,rt;return((ot=g.get(c(It).nodeId))==null?void 0:ot.name)??((rt=c(f).find(jt=>jt.nodeId===c(It).nodeId))==null?void 0:rt.name)??null}),Be=Ft(()=>{var ot,rt;return c(It).endpointId!==void 0?((rt=(ot=g.get(c(It).nodeId))==null?void 0:ot.endpoints.find(jt=>jt.endpointId===c(It).endpointId))==null?void 0:rt.name)??null:null}),je=Ft(()=>c(It).attrName??c(It).clusterName);var Kt=KY(),ri=_(Kt),hi=_(ri),Xt=v(ri,2);{var pe=ot=>{var rt=qY(),jt=v(Et(rt),2),Ot=_(jt),Ci=v(Ot);{var P=ne=>{var ie=YC(),ae=v(Et(ie)),Je=_(ae);j(()=>W(Je,`(#${c(It).nodeId??""})`)),D(ne,ie)};z(Ci,ne=>{c(Dt)&&ne(P)})}var N=v(jt,2);let $;var oe=_(N);j(()=>{W(Ot,c(Dt)??`#${c(It).nodeId}`),$=kt(N,1,"e-val svelte-1ua3isv",null,$,{"e-online":c(It).online,"e-offline":!c(It).online}),W(oe,c(It).online?"online":"offline")}),D(ot,rt)},Ge=ot=>{var rt=GY(),jt=v(Et(rt),2),Ot=_(jt),Ci=v(Ot);{var P=Me=>{var ct=YC(),Zt=v(Et(ct)),Z=_(Zt);j(()=>W(Z,`(#${c(It).nodeId??""})`)),D(Me,ct)};z(Ci,Me=>{c(Dt)&&Me(P)})}var N=v(jt,2),$=_(N),oe=v($);{var ne=Me=>{var ct=YC(),Zt=v(Et(ct)),Z=_(Zt);j(()=>W(Z,`(ep ${c(It).endpointId??""})`)),D(Me,ct)};z(oe,Me=>{c(Be)&&Me(ne)})}var ie=v(N,2),ae=_(ie),Je=v(ie,2),Le=_(Je),_e=v(Je,2),Ze=_(_e);j(Me=>{W(Ot,c(Dt)??`#${c(It).nodeId}`),W($,c(Be)??`ep${c(It).endpointId}`),W(ae,c(It).clusterName),W(Le,c(je)),W(Ze,Me)},[()=>p(c(It).value)]),D(ot,rt)};z(Xt,ot=>{c(It).kind==="status"?ot(pe):ot(Ge,-1)})}j(ot=>W(hi,ot),[()=>A(c(It).ts)]),D(Bt,Kt)}),D(Lt,te)};z(lt,Lt=>{c(se).length===0?Lt(we):Lt(di,-1)})}D(Y,Te)};z(Gt,Y=>{c(H)&&Y(ci)})}var vt=v(Ti,2);{var dt=Y=>{var Te=QY(),lt=Et(Te),we=v(lt,2),di=_(we),Lt=v(_(di),2),te=v(di,2);{var Ye=Dt=>{var Be=XY(),je=_(Be);j(()=>W(je,c(Mt))),D(Dt,Be)},Bt=Dt=>{var Be=YY(),je=Et(Be),Kt=_(je);gs(Kt,ri=>m(st,ri),()=>c(st)),D(Dt,Be)};z(te,Dt=>{c(Mt)?Dt(Ye):Dt(Bt,-1)})}var It=v(te,2);gs(It,Dt=>m(yt,Dt),()=>c(yt)),U("click",lt,si),U("click",Lt,si),D(Y,Te)};z(vt,Y=>{c(mt)&&Y(dt)})}j(()=>{qo(Fi,c(H)?`height: ${c(X)}px;`:""),W(tt,c(H)?"▾":"▸")}),U("click",hn,()=>m(re,!c(re))),U("mousedown",zi,he),U("click",Qe,()=>{m(H,!c(H))}),D(o,Vi),$s()}Ys(["click","change","mousedown"]);var tQ=B("<button>›</button>"),iQ=B('<span class="chev-ph svelte-1vejtrc"></span>'),nQ=B('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),sQ=B("<button>🔒</button>"),oQ=B('<span class="acl-loading">Loading…</span>'),rQ=B("<span> </span>"),aQ=B('<span class="acl-dyn svelte-1vejtrc" title="per-user/client pattern — cannot evaluate statically">⚠%u/%c</span>'),lQ=B('<span class="acl-members svelte-1vejtrc"> </span>'),cQ=B('<span class="acl-group svelte-1vejtrc"> </span>'),dQ=B('<span> <strong class="svelte-1vejtrc"> </strong> <!> <!> <!></span>'),uQ=B('<div class="acl-sec svelte-1vejtrc"><span class="acl-sec-hdr svelte-1vejtrc"> </span> <!></div>'),hQ=B('<div class="acl-panel svelte-1vejtrc"><!></div>'),fQ=B('<div class="tc svelte-1vejtrc"></div>'),gQ=B('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!> <!></div> <!> <!></div>'),pQ=B('<button class="acl-refresh svelte-1vejtrc" title="Refresh ACL data">↺</button>'),xQ=B('<button title="Show ACL coverage for topics"><svg width="11" height="11" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><rect x="3" y="7" width="10" height="8" rx="1.5"></rect><path d="M5 7V5a3 3 0 0 1 6 0v2" fill="none" stroke="currentColor" stroke-width="1.8"></path></svg> ACL<!></button> <!>',1),mQ=B("<option></option>"),vQ=B('<span class="pub-ok svelte-1vejtrc">✓</span>'),_Q=B('<span class="pub-err svelte-1vejtrc"> </span>'),bQ=B('<div class="info svelte-1vejtrc">Loading…</div>'),CQ=B('<div class="info err svelte-1vejtrc"> </div>'),EQ=B('<div class="info svelte-1vejtrc">No topics match.</div>'),yQ=B('<div class="vr svelte-1vejtrc"><span class="v-topic svelte-1vejtrc"> </span> <span class="v-val svelte-1vejtrc"> </span> <span class="v-ts svelte-1vejtrc"> </span></div>'),wQ=B('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),SQ=B('<div class="info svelte-1vejtrc">No topics yet.</div>'),DQ=B('<div class="tree-wrap svelte-1vejtrc"><!></div>'),AQ=B('<span class="stream-badge"> </span>'),kQ=B('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),BQ=B('<span class="s-ret svelte-1vejtrc" title="retained snapshot">⊛</span>'),FQ=B('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),LQ=B('<div class="stream-body svelte-1vejtrc"><!></div>'),IQ=B('<div class="ctx-bd svelte-1vejtrc"></div> <div class="ctx-menu svelte-1vejtrc"><button class="svelte-1vejtrc">Copy topic</button> <button class="svelte-1vejtrc">Clear retained</button></div>',1),PQ=B('<label class="modal-check svelte-1vejtrc"><input type="checkbox" class="svelte-1vejtrc"/> <span class="checkmark svelte-1vejtrc"></span> Recursive — also clear all child topics</label>'),TQ=B('<div class="modal-bd svelte-1vejtrc"></div> <div class="modal svelte-1vejtrc"><div class="modal-title svelte-1vejtrc">Clear retained</div> <div class="modal-body svelte-1vejtrc"><p class="svelte-1vejtrc">Clear retained value for <code class="svelte-1vejtrc"> </code>?</p> <!></div> <div class="modal-footer svelte-1vejtrc"><button class="btn-cancel svelte-1vejtrc">Cancel</button> <button class="btn-confirm svelte-1vejtrc">Clear</button></div></div>',1),MQ=B('<div class="page svelte-1vejtrc"><div class="toolbar svelte-1vejtrc"><h2 class="svelte-1vejtrc">MQTT</h2> <!></div> <div class="main-group svelte-1vejtrc"><div class="pub-bar svelte-1vejtrc"><input class="pt svelte-1vejtrc" type="text" placeholder="topic" list="pub-topic-list" autocomplete="off"/> <datalist id="pub-topic-list"></datalist> <input class="pp svelte-1vejtrc" type="text" placeholder="payload"/> <label class="rl svelte-1vejtrc"><input type="checkbox" class="svelte-1vejtrc"/> <span class="checkmark svelte-1vejtrc"></span> retain</label> <select class="svelte-1vejtrc"><option>QoS 0</option><option>QoS 1</option><option>QoS 2</option></select> <button class="svelte-1vejtrc">Publish</button> <!> <!></div> <div class="tree-filter-bar svelte-1vejtrc"><input class="filter-in svelte-1vejtrc" type="search" placeholder="Filter topics…"/> <span class="count svelte-1vejtrc"><!> </span></div> <!></div> <div class="stream-panel svelte-1vejtrc"><div class="stream-resize svelte-1vejtrc"></div> <div class="stream-hdr-row svelte-1vejtrc"><input class="filter-in stream-filter-in svelte-1vejtrc" type="search" placeholder="Live stream filter (MQTT wildcard, default: #)"/> <!> <button class="stream-toggle svelte-1vejtrc" title="Toggle live stream"> </button></div> <!></div> <!> <!></div>');function RQ(o,e){js(e,!0);const t=(P,N=ab)=>{const $=Ft(()=>c(g).has(N().path)),oe=Ft(()=>c(a)>=0&&N().children.size>0),ne=Ft(()=>c(a)>=0&&N().isLeaf&&!n.has(N().path));var ie=gQ(),ae=_(ie);let Je;var Le=_(ae);{var _e=Ie=>{var ge=tQ();let Re;j(()=>{Re=kt(ge,1,"chev svelte-1vejtrc",null,Re,{open:c($)}),ln(ge,"aria-label",c($)?"Collapse":"Expand")}),U("click",ge,()=>p(N().path)),D(Ie,ge)},Ze=Ie=>{var ge=iQ();D(Ie,ge)};z(Le,Ie=>{c(oe)?Ie(_e):Ie(Ze,-1)})}var Me=v(Le,2),ct=_(Me),Zt=v(Me,2);{var Z=Ie=>{var ge=nQ(),Re=Et(ge),Ne=_(Re),it=v(Re,2),at=_(it);j((Oe,ut,fe)=>{ln(Re,"title",Oe),W(Ne,ut),W(at,fe)},[()=>{var Oe;return fi((Oe=_i(N().path))==null?void 0:Oe.val)},()=>{var Oe;return fi((Oe=_i(N().path))==null?void 0:Oe.val)},()=>{var Oe;return((Oe=_i(N().path))==null?void 0:Oe.ts)!=null?oi(_i(N().path).ts):""}]),D(Ie,ge)},le=Ft(()=>N().isLeaf&&i.has(N().path));z(Zt,Ie=>{c(le)&&Ie(Z)})}var $e=v(Zt,2);{var Pt=Ie=>{const ge=Ft(()=>!!c(Vi)&&gn(N().path));var Re=sQ();let Ne;j(()=>{Ne=kt(Re,1,"acl-badge svelte-1vejtrc",null,Ne,{matched:c(ge)}),ln(Re,"title",c(ge)?"Has explicit ACL — click to inspect":"No explicit ACL — click to inspect defaults")}),U("click",Re,it=>{it.stopPropagation(),ft(N().path)}),D(Ie,Re)};z($e,Ie=>{c(Ei)&&N().isLeaf&&Ie(Pt)})}var Ee=v(ae,2);{var We=Ie=>{var ge=hQ(),Re=_(ge);{var Ne=at=>{var Oe=oQ();D(at,Oe)},it=at=>{var Oe=ws(),ut=Et(Oe);ei(ut,17,()=>[{label:"Send",section:c(Ti).send},{label:"Subscribe",section:c(Ti).subscribe},{label:"Receive",section:c(Ti).receive}],Hi,(fe,Ve)=>{var Ct=uQ(),Wt=_(Ct),bt=_(Wt),gi=v(Wt,2);{var Ai=yi=>{var ai=rQ();let zt;var At=_(ai);j(()=>{zt=kt(ai,1,"acl-def svelte-1vejtrc",null,zt,{allow:c(Ve).section.default,deny:!c(Ve).section.default}),W(At,`${c(Ve).section.default?"allow":"deny"} (default)`)}),D(yi,ai)},Xi=yi=>{var ai=ws(),zt=Et(ai);ei(zt,17,()=>c(Ve).section.roles,Hi,(At,Ht)=>{var ii=dQ();let pi;var tn=_(ii),dn=v(tn),In=_(dn),Ni=v(dn,2);{var An=Oi=>{var Gs=aQ();D(Oi,Gs)};z(Ni,Oi=>{c(Ht).dynamic&&Oi(An)})}var Gn=v(Ni,2);{var Pn=Oi=>{var Gs=lQ(),On=_(Gs);j(es=>W(On,es),[()=>c(Ht).users.join(", ")]),D(Oi,Gs)};z(Gn,Oi=>{c(Ht).users.length>0&&Oi(Pn)})}var Jn=v(Gn,2);ei(Jn,17,()=>c(Ht).groups,Hi,(Oi,Gs)=>{var On=cQ(),es=_(On);j(()=>W(es,c(Gs).groupname)),D(Oi,On)}),j(()=>{pi=kt(ii,1,"acl-role svelte-1vejtrc",null,pi,{allow:c(Ht).allow,deny:!c(Ht).allow}),W(tn,`${c(Ht).allow?"✓":"✗"} `),W(In,c(Ht).rolename)}),D(At,ii)}),D(yi,ai)};z(gi,yi=>{c(Ve).section.roles.length===0?yi(Ai):yi(Xi,-1)})}j(()=>W(bt,c(Ve).label)),D(fe,Ct)}),D(at,Oe)};z(Re,at=>{c(wn)?at(Ne):c(Ti)&&at(it,1)})}D(Ie,ge)};z(Ee,Ie=>{c(Ei)&&N().isLeaf&&c(Yi)===N().path&&Ie(We)})}var wt=v(Ee,2);{var gt=Ie=>{var ge=fQ();ei(ge,21,()=>[...N().children.values()].sort((Re,Ne)=>Re.seg.localeCompare(Ne.seg)),Re=>Re.path,(Re,Ne)=>{t(Re,()=>c(Ne))}),D(Ie,ge)};z(wt,Ie=>{c(oe)&&c($)&&Ie(gt)})}j(()=>{Je=kt(ae,1,"tr svelte-1vejtrc",null,Je,{stale:c(ne)}),W(ct,N().seg)}),U("click",ae,()=>{m(ue,N().path+"/#")}),U("contextmenu",ae,Ie=>{Ie.preventDefault(),m(ve,{x:Ie.clientX,y:Ie.clientY,topic:N().path},!0)}),D(P,ie)},i=new Map,n=new Set,s=new Set;let r=null,a=F(0);function d(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const P of s)f(P);s.clear(),h8(a)}))}const u=new Map;function f(P){const N=P.split("/");let $=u,oe="";for(let ne=0;ne<N.length;ne++){const ie=N[ne];oe=ne===0?ie:`${oe}/${ie}`,$.has(ie)||$.set(ie,{seg:ie,path:oe,children:new Map,isLeaf:!1});const ae=$.get(ie);ne===N.length-1&&(ae.isLeaf=!0),$=ae.children}}let g=F(Pi(new Set));function p(P){const N=new Set(c(g));N.has(P)?N.delete(P):N.add(P),m(g,N,!0)}let C=F("");const b=24,y=5;let w=F(0),A=F(300),I=Ft(()=>{if(c(a),!c(C))return[];const P=c(C).toLowerCase().split(/\s+/).filter(Boolean),N=[];for(const[$,oe]of i){const ne=$.toLowerCase();P.every(ie=>ne.includes(ie))&&N.push({topic:$,...oe})}return N.sort(($,oe)=>$.topic.localeCompare(oe.topic))}),M=Ft(()=>{const P=c(I).length,N=Math.max(0,Math.floor(c(w)/b)-y),$=Math.min(P,Math.ceil((c(w)+c(A))/b)+y);return{start:N,end:$,totalH:P*b,top:N*b}});const R=1e3,T=200,V=20,H=36;let X=0,se=F(Pi([])),he=F(Pi([])),J=F(!0),ue=F("#"),be=F(200);Kn(()=>{const P=c(ue).trim(),N=Hl(()=>c(se)),$=!P||P==="#"?N.slice(0,T):N.filter(oe=>re(P,oe.topic)).slice(0,T);if(P&&P!=="#"){const oe=new Set($.map(ie=>ie.topic)),ne=[];for(const[ie,ae]of i)oe.has(ie)||re(P,ie)&&ne.push({id:-(ne.length+1),topic:ie,val:ae.val,ts:ae.ts,retained:!0});ne.sort((ie,ae)=>ie.topic.localeCompare(ae.topic)),m(he,[...$,...ne],!0)}else m(he,$,!0)});function re(P,N){if(P==="#")return!0;const $=P.split("/"),oe=N.split("/");for(let ne=0;ne<$.length;ne++){if($[ne]==="#")return!0;if(ne>=oe.length||$[ne]!=="+"&&$[ne]!==oe[ne])return!1}return $.length===oe.length}function ce(P){P.preventDefault();const N=P.clientY,$=c(be);function oe(ie){m(be,Math.max(60,Math.min(800,$+N-ie.clientY)),!0)}function ne(){document.removeEventListener("mousemove",oe),document.removeEventListener("mouseup",ne)}document.addEventListener("mousemove",oe),document.addEventListener("mouseup",ne)}let ke=Ft(()=>{const P=Math.max(1,Math.floor((c(be)-H)/V)+1);return c(he).slice(0,P)}),Pe=F(!0),xe=F(null);async function He(){m(Pe,!0),m(xe,null);try{const P=await bF();for(const N of P)i.set(N.topic,{val:N.val,ts:N.ts}),f(N.topic)}catch(P){m(xe,P instanceof Error?P.message:String(P),!0)}finally{m(Pe,!1),h8(a)}}const Ue=hr("mqtt",P=>{const{topic:N,val:$,ts:oe}=P;i.set(N,{val:$,ts:oe}),n.add(N),s.add(N),d();const ne={id:X++,topic:N,val:$,ts:oe};m(se,[ne,...c(se).slice(0,R-1)],!0);const ie=c(ue).trim();(!ie||ie==="#"||re(ie,N))&&m(he,[ne,...c(he).filter(ae=>!(ae.retained&&ae.topic===N)).slice(0,T-1)],!0)});let ve=F(null),mt=F(null);async function Mt(P,N){const $=[P];if(N){const oe=P+"/";for(const ne of i.keys())ne.startsWith(oe)&&$.push(ne)}for(const oe of $)await g2(oe,"",!0,0)}let st=Ft(()=>(c(a),[...i.keys()].sort())),yt=F(""),Ce=F(""),Nt=F(!1),si=F(0),Xe=F(!1),et=F(null),St=F(!1);async function Qt(){if(c(yt)){m(Xe,!0),m(et,null),m(St,!1);try{await g2(c(yt),c(Ce),c(Nt),c(si)),m(St,!0),setTimeout(()=>{m(St,!1)},2e3)}catch(P){m(et,P instanceof Error?P.message:String(P),!0)}finally{m(Xe,!1)}}}function fi(P){return P==null?"":typeof P=="object"?JSON.stringify(P):String(P)}function oi(P){return new Date(P).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Bi(P){return new Date(P).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function _i(P){return c(a),i.get(P)}let Ke=Ft(()=>(c(a),[...u.values()].sort((P,N)=>P.seg.localeCompare(N.seg)))),ye=Ft(()=>(c(a),i.size)),ti=F(!1),Ei=F(!1),Jt=F(!1),Vi=F(null),Yi=F(null),Ti=F(null),wn=F(!1);function cn(P,N,$){return N.includes("%u")||N.includes("%c")?"dynamic":P==="subscribeLiteral"||P==="unsubscribeLiteral"?N===$?"match":"no-match":re(N,$)?"match":"no-match"}function gn(P){if(!c(Vi))return!1;for(const N of c(Vi).roles)if(N.acls){for(const $ of N.acls)if(cn($.acltype,$.topic,P)!=="no-match")return!0}return!1}async function hn(){m(Jt,!0);try{const P=await AF();m(Vi,{roles:P.roles},!0)}catch{m(Vi,null),m(Ei,!1)}finally{m(Jt,!1)}}async function ft(P){if(c(Yi)===P){m(Yi,null),m(Ti,null);return}m(Yi,P,!0),m(Ti,null),m(wn,!0);try{m(Ti,await TU(P),!0)}catch{m(Ti,null)}finally{m(wn,!1)}}async function Ut(){c(Ei)?(m(Ei,!1),m(Yi,null),m(Ti,null)):(m(Ei,!0),m(Yi,null),m(Ti,null),c(Vi)||await hn())}Xs(He),Xs(async()=>{var P;try{const N=await Tb();m(ti,!!((P=N.dynsec)!=null&&P.dynsecReady),!0)}catch{m(ti,!1)}}),Vp(()=>{Ue(),r!==null&&cancelAnimationFrame(r)});var Ri=MQ(),qi=_(Ri),bi=v(_(qi),2);{var Wi=P=>{var N=xQ(),$=Et(N);let oe;var ne=v(_($),2);{var ie=Le=>{var _e=oo("…");D(Le,_e)};z(ne,Le=>{c(Jt)&&Le(ie)})}var ae=v($,2);{var Je=Le=>{var _e=pQ();j(()=>_e.disabled=c(Jt)),U("click",_e,hn),D(Le,_e)};z(ae,Le=>{c(Ei)&&Le(Je)})}j(()=>{oe=kt($,1,"acl-btn svelte-1vejtrc",null,oe,{active:c(Ei)}),$.disabled=c(Jt)}),U("click",$,Ut),D(P,N)};z(bi,P=>{c(ti)&&P(Wi)})}var ji=v(qi,2),Ji=_(ji),Si=_(Ji),$i=v(Si,2);ei($i,20,()=>c(st),P=>P,(P,N)=>{var $=mQ(),oe={};j(()=>{oe!==(oe=N)&&($.value=($.__value=N)??"")}),D(P,$)});var ze=v($i,2),qt=v(ze,2),Fi=_(qt),zi=v(qt,2),Di=_(zi);Di.value=Di.__value=0;var K=v(Di);K.value=K.__value=1;var De=v(K);De.value=De.__value=2;var Qe=v(zi,2),tt=v(Qe,2);{var Gt=P=>{var N=vQ();D(P,N)};z(tt,P=>{c(St)&&P(Gt)})}var ci=v(tt,2);{var vt=P=>{var N=_Q(),$=_(N);j(()=>W($,c(et))),D(P,N)};z(ci,P=>{c(et)&&P(vt)})}var dt=v(Ji,2),Y=_(dt),Te=v(Y,2),lt=_(Te);{var we=P=>{var N=oo();j(()=>W(N,`${c(I).length??""} /`)),D(P,N)};z(lt,P=>{c(C)&&P(we)})}var di=v(lt),Lt=v(dt,2);{var te=P=>{var N=bQ();D(P,N)},Ye=P=>{var N=CQ(),$=_(N);j(()=>W($,c(xe))),D(P,N)},Bt=P=>{var N=ws(),$=Et(N);{var oe=ie=>{var ae=EQ();D(ie,ae)},ne=ie=>{var ae=wQ(),Je=_(ae),Le=_(Je);ei(Le,21,()=>c(I).slice(c(M).start,c(M).end),_e=>_e.topic,(_e,Ze)=>{var Me=yQ(),ct=_(Me),Zt=_(ct),Z=v(ct,2),le=_(Z),$e=v(Z,2),Pt=_($e);j((Ee,We,wt)=>{W(Zt,c(Ze).topic),ln(Z,"title",Ee),W(le,We),W(Pt,wt)},[()=>fi(c(Ze).val),()=>fi(c(Ze).val),()=>oi(c(Ze).ts)]),D(_e,Me)}),j(()=>{qo(Je,`height: ${c(M).totalH??""}px; position: relative;`),qo(Le,`top: ${c(M).top??""}px;`)}),xs("scroll",ae,_e=>{m(w,_e.currentTarget.scrollTop,!0)}),fP(ae,"clientHeight",_e=>m(A,_e)),D(ie,ae)};z($,ie=>{c(I).length===0?ie(oe):ie(ne,-1)})}D(P,N)},It=P=>{var N=DQ(),$=_(N);{var oe=ie=>{var ae=SQ();D(ie,ae)},ne=ie=>{var ae=ws(),Je=Et(ae);ei(Je,17,()=>c(Ke),Le=>Le.path,(Le,_e)=>{t(Le,()=>c(_e))}),D(ie,ae)};z($,ie=>{c(Ke).length===0?ie(oe):ie(ne,-1)})}D(P,N)};z(Lt,P=>{c(Pe)?P(te):c(xe)?P(Ye,1):c(C)?P(Bt,2):P(It,-1)})}var Dt=v(ji,2),Be=_(Dt),je=v(Be,2),Kt=_(je),ri=v(Kt,2);{var hi=P=>{var N=AQ(),$=_(N);j(()=>W($,c(he).length)),D(P,N)};z(ri,P=>{!c(J)&&c(he).length>0&&P(hi)})}var Xt=v(ri,2),pe=_(Xt),Ge=v(je,2);{var ot=P=>{var N=LQ(),$=_(N);{var oe=ie=>{var ae=kQ();D(ie,ae)},ne=ie=>{var ae=ws(),Je=Et(ae);ei(Je,17,()=>c(ke),Le=>Le.id,(Le,_e)=>{var Ze=FQ();let Me;var ct=_(Ze),Zt=_(ct),Z=v(ct,2);{var le=wt=>{var gt=BQ();D(wt,gt)};z(Z,wt=>{c(_e).retained&&wt(le)})}var $e=v(Z,2),Pt=_($e),Ee=v($e,2),We=_(Ee);j((wt,gt,Ie)=>{Me=kt(Ze,1,"sr svelte-1vejtrc",null,Me,{retained:c(_e).retained}),W(Zt,wt),W(Pt,c(_e).topic),ln(Ee,"title",gt),W(We,Ie)},[()=>Bi(c(_e).ts),()=>fi(c(_e).val),()=>fi(c(_e).val)]),D(Le,Ze)}),D(ie,ae)};z($,ie=>{c(ke).length===0?ie(oe):ie(ne,-1)})}D(P,N)};z(Ge,P=>{c(J)&&P(ot)})}var rt=v(Dt,2);{var jt=P=>{var N=IQ(),$=Et(N),oe=v($,2);let ne;var ie=_(oe),ae=v(ie,2);j(()=>ne=qo(oe,"",ne,{left:`${c(ve).x??""}px`,top:`${c(ve).y??""}px`})),U("click",$,()=>m(ve,null)),U("contextmenu",$,Je=>{Je.preventDefault(),m(ve,null)}),U("click",ie,()=>{navigator.clipboard.writeText(c(ve).topic),m(ve,null)}),U("click",ae,()=>{const Je=c(ve).topic,Le=Je+"/",_e=[...i.keys()].some(Ze=>Ze.startsWith(Le));m(mt,{topic:Je,hasChildren:_e,recursive:!1},!0),m(ve,null)}),D(P,N)};z(rt,P=>{c(ve)&&P(jt)})}var Ot=v(rt,2);{var Ci=P=>{var N=TQ(),$=Et(N),oe=v($,2),ne=v(_(oe),2),ie=_(ne),ae=v(_(ie)),Je=_(ae),Le=v(ie,2);{var _e=Zt=>{var Z=PQ(),le=_(Z);ys(le,()=>c(mt).recursive,$e=>c(mt).recursive=$e),D(Zt,Z)};z(Le,Zt=>{c(mt).hasChildren&&Zt(_e)})}var Ze=v(ne,2),Me=_(Ze),ct=v(Me,2);j(()=>W(Je,c(mt).topic)),U("click",$,()=>m(mt,null)),U("click",Me,()=>m(mt,null)),U("click",ct,()=>{const{topic:Zt,recursive:Z}=c(mt);m(mt,null),Mt(Zt,Z)}),D(P,N)};z(Ot,P=>{c(mt)&&P(Ci)})}j(()=>{Qe.disabled=c(Xe)||!c(yt),W(di,` ${c(ye)??""}`),qo(Dt,c(J)?`height: ${c(be)}px;`:""),W(pe,c(J)?"▾":"▸")}),Vt(Si,()=>c(yt),P=>m(yt,P)),Vt(ze,()=>c(Ce),P=>m(Ce,P)),ys(Fi,()=>c(Nt),P=>m(Nt,P)),Fs(zi,()=>c(si),P=>m(si,P)),U("click",Qe,Qt),Vt(Y,()=>c(C),P=>m(C,P)),U("mousedown",Be,ce),Vt(Kt,()=>c(ue),P=>m(ue,P)),U("click",Xt,()=>{m(J,!c(J))}),D(o,Ri),$s()}Ys(["click","contextmenu","mousedown"]);var NQ=B('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),OQ=B('<div class="restart-banner svelte-twakcj">⚠ Package changes require a daemon restart to take effect. <button class="restart-btn svelte-twakcj">Restart now</button></div>'),HQ=B('<div class="err svelte-twakcj"> </div>'),WQ=B('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),zQ=B('<p class="empty svelte-twakcj">No packages installed.</p>'),VQ=B('<p class="empty svelte-twakcj">No match.</p>'),jQ=B("<span> </span>"),$Q=S6('<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>'),UQ=S6('<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>'),qQ=B('<div><div class="dep-info svelte-twakcj"><a class="dep-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="dep-ver svelte-twakcj"> </span> <!></div> <div class="dep-btns svelte-twakcj"><button><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 4.5l-4 4l-4 1.5l-1.5 1.5l7 7l1.5 -1.5l1.5 -4l4 -4"></path><line x1="9" y1="15" x2="4.5" y2="19.5"></line><line x1="14.5" y1="4" x2="20" y2="9.5"></line></svg></button> <button><!></button> <button class="icon-btn icon-btn--danger svelte-twakcj" title="Uninstall"><svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><line x1="2" y1="2" x2="14" y2="14"></line><line x1="14" y1="2" x2="2" y2="14"></line></svg></button></div></div>'),GQ=B('<span class="result-author svelte-twakcj"> </span>'),KQ=B('<span class="result-date svelte-twakcj"> </span>'),ZQ=B('<span class="result-desc svelte-twakcj"> </span>'),XQ=B('<div class="result-row svelte-twakcj"><div class="result-info svelte-twakcj"><a class="result-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="result-ver svelte-twakcj"> </span> <!> <!> <!></div> <button class="install-btn svelte-twakcj"> </button></div>'),YQ=B('<div class="results-list svelte-twakcj"></div>'),QQ=B('<pre class="npm-output svelte-twakcj"> </pre>'),JQ=B(`<p class="hint svelte-twakcj">Install npm packages into <code class="svelte-twakcj">~/.she/</code>. Scripts can then <code class="svelte-twakcj">require('package-name')</code> directly.</p>`),eJ=B('<!> <div class="pkg-shell svelte-twakcj"><!> <!> <div class="pkg-body svelte-twakcj"><div class="pkg-left svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Installed</span> <span class="pane-count svelte-twakcj"> </span> <!> <button class="icon-btn check-outdated-btn svelte-twakcj" title="Check for package updates"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8A5 5 0 1 1 10.5 3.67"></path><polyline points="10.5,1.5 10.5,4 13,4"></polyline></svg></button></div> <div class="filter-row svelte-twakcj"><input class="filter-in svelte-twakcj" type="search" placeholder="Filter…"/></div> <div class="installed-list svelte-twakcj"><!></div></div> <div class="pkg-right svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Search npm</span></div> <div class="search-row svelte-twakcj"><input class="search-in svelte-twakcj" type="text" placeholder="Package name, e.g. axios, lodash…"/> <button class="search-btn svelte-twakcj"> </button></div> <!> <!> <!></div></div></div>',1);function tJ(o,e){js(e,!0);let t=F(Pi([])),i=F(""),n=F(Pi({})),s=F(Pi([])),r=F(!1),a=F(""),d=F(Pi([])),u=F(!1),f=F(!1),g=F(!1),p=F(""),C=F(""),b=Pi({});const y=Ft(()=>c(i).trim()?c(t).filter(ft=>ft.name.toLowerCase().includes(c(i).toLowerCase())):c(t)),w=Ft(()=>Object.keys(c(n)).filter(ft=>!c(s).includes(ft)).length);Xs(async()=>{await Promise.all([A(),I(),M()])});async function A(){try{m(t,await Q$(),!0),m(p,"")}catch(ft){m(p,ft.message,!0)}}async function I(){try{m(n,await _F(),!0)}catch{}}async function M(){try{const ft=await Pl();m(s,Array.isArray(ft.pinnedPackages)?ft.pinnedPackages:[],!0)}catch{}}async function R(ft){const Ut=c(s).includes(ft)?c(s).filter(Ri=>Ri!==ft):[...c(s),ft];m(s,Ut,!0);try{const Ri=await Pl();await pp({...Ri,pinnedPackages:Ut})}catch{}}async function T(){m(r,!0);try{m(n,await nU(),!0)}catch{}finally{m(r,!1)}}async function V(){const ft=c(a).trim();if(!ft){m(d,[],!0);return}m(g,!0),m(p,"");try{m(d,await J$(ft),!0)}catch(Ut){m(p,Ut.message,!0)}finally{m(g,!1)}}function H(ft){if(!ft)return"";try{return new Date(ft).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function X(ft,Ut){b[ft]=!0,m(p,""),m(C,"");try{const Ri=await eU(ft,Ut);m(C,Ri.stdout||Ri.stderr||"Done.",!0),m(u,!0),await A()}catch(Ri){m(p,Ri.message,!0)}finally{b[ft]=!1}}async function se(ft){b[ft]=!0,m(p,""),m(C,"");try{const Ut=await tU(ft);m(C,Ut.stdout||Ut.stderr||"Done.",!0),m(u,!0);const Ri={...c(n)};delete Ri[ft],m(n,Ri,!0),await A()}catch(Ut){m(p,Ut.message,!0)}finally{b[ft]=!1}}async function he(ft){b[ft]=!0,m(p,""),m(C,"");try{const Ut=await iU(ft);m(C,Ut.stdout||Ut.stderr||"Done.",!0),m(u,!0);const Ri={...c(n)};delete Ri[ft],m(n,Ri,!0),await A()}catch(Ut){m(p,Ut.message,!0)}finally{b[ft]=!1}}let J;async function ue(){if(await J.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){m(f,!0);try{await xF()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var be=eJ(),re=Et(be);gs(Yc(re,{}),ft=>J=ft,()=>J);var ce=v(re,2),ke=_(ce);{var Pe=ft=>{var Ut=NQ();D(ft,Ut)},xe=ft=>{var Ut=OQ(),Ri=v(_(Ut));U("click",Ri,ue),D(ft,Ut)};z(ke,ft=>{c(f)?ft(Pe):c(u)&&ft(xe,1)})}var He=v(ke,2);{var Ue=ft=>{var Ut=HQ(),Ri=_(Ut);j(()=>W(Ri,c(p))),D(ft,Ut)};z(He,ft=>{c(p)&&ft(Ue)})}var ve=v(He,2),mt=_(ve),Mt=_(mt),st=v(_(Mt),2),yt=_(st),Ce=v(st,2);{var Nt=ft=>{var Ut=WQ(),Ri=_(Ut);j(()=>W(Ri,`${c(w)??""} outdated`)),D(ft,Ut)};z(Ce,ft=>{c(w)>0&&ft(Nt)})}var si=v(Ce,2),Xe=_(si);let et;var St=v(Mt,2),Qt=_(St),fi=v(St,2),oi=_(fi);{var Bi=ft=>{var Ut=zQ();D(ft,Ut)},_i=ft=>{var Ut=VQ();D(ft,Ut)},Ke=ft=>{var Ut=ws(),Ri=Et(Ut);ei(Ri,17,()=>c(y),qi=>qi.name,(qi,bi)=>{var Wi=qQ();let ji;var Ji=_(Wi),Si=_(Ji),$i=_(Si),ze=v(Si,2),qt=_(ze),Fi=v(ze,2);{var zi=Y=>{var Te=jQ();let lt;var we=_(Te);j(di=>{lt=kt(Te,1,"dep-latest svelte-twakcj",null,lt,di),W(we,`→ v${c(n)[c(bi).name].latest??""}`)},[()=>({"dep-latest--pinned":c(s).includes(c(bi).name)})]),D(Y,Te)};z(Fi,Y=>{c(n)[c(bi).name]&&Y(zi)})}var Di=v(Ji,2),K=_(Di);let De;var Qe=v(K,2);let tt;var Gt=_(Qe);{var ci=Y=>{var Te=$Q();D(Y,Te)},vt=Y=>{var Te=UQ();D(Y,Te)};z(Gt,Y=>{b[c(bi).name]?Y(ci):Y(vt,-1)})}var dt=v(Qe,2);j((Y,Te,lt)=>{ji=kt(Wi,1,"dep-row svelte-twakcj",null,ji,{"dep-busy":!!b[c(bi).name]}),ln(Si,"href",c(bi).url??`https://www.npmjs.com/package/${c(bi).name}`),W($i,c(bi).name),W(qt,c(bi).installedVersion??c(bi).version),De=kt(K,1,"icon-btn svelte-twakcj",null,De,Y),ln(K,"title",Te),tt=kt(Qe,1,"icon-btn svelte-twakcj",null,tt,lt),Qe.disabled=!!b[c(bi).name],ln(Qe,"title",c(n)[c(bi).name]?`Update to v${c(n)[c(bi).name].latest}`:"Update to latest"),dt.disabled=!!b[c(bi).name]},[()=>({"icon-btn--pinned":c(s).includes(c(bi).name)}),()=>c(s).includes(c(bi).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!c(n)[c(bi).name]&&!c(s).includes(c(bi).name)})]),U("click",K,()=>R(c(bi).name)),U("click",Qe,()=>he(c(bi).name)),U("click",dt,()=>se(c(bi).name)),D(qi,Wi)}),D(ft,Ut)};z(oi,ft=>{c(t).length===0?ft(Bi):c(y).length===0?ft(_i,1):ft(Ke,-1)})}var ye=v(mt,2),ti=v(_(ye),2),Ei=_(ti),Jt=v(Ei,2),Vi=_(Jt),Yi=v(ti,2);{var Ti=ft=>{var Ut=YQ();ei(Ut,21,()=>c(d),Ri=>Ri.name,(Ri,qi)=>{var bi=XQ(),Wi=_(bi),ji=_(Wi),Ji=_(ji),Si=v(ji,2),$i=_(Si),ze=v(Si,2);{var qt=tt=>{var Gt=GQ(),ci=_(Gt);j(()=>W(ci,c(qi).author)),D(tt,Gt)};z(ze,tt=>{c(qi).author&&tt(qt)})}var Fi=v(ze,2);{var zi=tt=>{var Gt=KQ(),ci=_(Gt);j(vt=>{ln(Gt,"title",c(qi).date),W(ci,vt)},[()=>H(c(qi).date)]),D(tt,Gt)};z(Fi,tt=>{c(qi).date&&tt(zi)})}var Di=v(Fi,2);{var K=tt=>{var Gt=ZQ(),ci=_(Gt);j(()=>W(ci,c(qi).description)),D(tt,Gt)};z(Di,tt=>{c(qi).description&&tt(K)})}var De=v(Wi,2),Qe=_(De);j(()=>{ln(ji,"href",c(qi).url??`https://www.npmjs.com/package/${c(qi).name}`),W(Ji,c(qi).name),W($i,c(qi).version),De.disabled=!!b[c(qi).name],W(Qe,b[c(qi).name]?"Installing…":"Install")}),U("click",De,()=>X(c(qi).name)),D(Ri,bi)}),D(ft,Ut)};z(Yi,ft=>{c(d).length>0&&ft(Ti)})}var wn=v(Yi,2);{var cn=ft=>{var Ut=QQ(),Ri=_(Ut);j(()=>W(Ri,c(C))),D(ft,Ut)};z(wn,ft=>{c(C)&&ft(cn)})}var gn=v(wn,2);{var hn=ft=>{var Ut=JQ();D(ft,Ut)};z(gn,ft=>{!c(d).length&&!c(C)&&ft(hn)})}j(()=>{W(yt,c(t).length),si.disabled=c(r),et=kt(Xe,0,"svelte-twakcj",null,et,{spinning:c(r)}),Jt.disabled=c(g),W(Vi,c(g)?"Searching…":"Search")}),U("click",si,T),Vt(Qt,()=>c(i),ft=>m(i,ft)),U("keydown",Ei,ft=>ft.key==="Enter"&&V()),Vt(Ei,()=>c(a),ft=>m(a,ft)),U("click",Jt,V),D(o,be),$s()}Ys(["click","keydown"]);var iJ=B('<div class="plugin-warning svelte-3itf14">⚠ The dynamic-security plugin is not responding. Add <code class="svelte-3itf14">plugin …/mosquitto_dynamic_security.so</code> and <code class="svelte-3itf14">plugin_opt_config_file …/dynamic-security.json</code> to your mosquitto.conf and restart mosquitto. Operations below will time out until the plugin is active.</div>'),Ca=B('<div class="err svelte-3itf14"> </div>'),nJ=B('<div class="empty svelte-3itf14">No users found.</div>'),sJ=B('<span class="tag svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove role">×</button></span>'),Th=B("<option> </option>"),qx=B('<div class="inline-err svelte-3itf14"> </div>'),X2=B('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— role —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),oJ=B('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove from group">×</button></span>'),rJ=B('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— group —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),aJ=B('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus svelte-3itf14" title="Add role">+</button></div> <!></div></td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus tag-plus--group svelte-3itf14" title="Add to group">+</button></div> <!></div></td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button title="Set password" class="svelte-3itf14">🔑</button> <button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),lJ=B('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Username</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14">Groups</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),cJ=B('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Users</h3> <button class="btn-add svelte-3itf14">+ Add user</button></div> <!> <!></div>'),dJ=B('<div class="empty svelte-3itf14">No roles found.</div>'),uJ=B('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button title="Edit ACLs" class="svelte-3itf14">Edit ACLs</button> <button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),hJ=B('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Role</th><th class="svelte-3itf14">ACLs</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),fJ=B('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Roles</h3> <button class="btn-add svelte-3itf14">+ Add role</button></div> <!> <!></div>'),gJ=B('<div class="empty svelte-3itf14">No groups found.</div>'),pJ=B('<span class="tag svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove member">×</button></span>'),xJ=B('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— user —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),mJ=B('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove role">×</button></span>'),vJ=B('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus svelte-3itf14" title="Add member">+</button></div> <!></div></td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus tag-plus--group svelte-3itf14" title="Add role">+</button></div> <!></div></td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),_J=B('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Group</th><th class="svelte-3itf14">Members</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),bJ=B('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Groups</h3> <button class="btn-add svelte-3itf14">+ Add group</button></div> <!> <!></div>'),Y2=B('<div class="empty svelte-3itf14">Loading…</div>'),CJ=B('<tr><td class="mono small svelte-3itf14"> </td><td class="acl-radio svelte-3itf14"><input type="radio" value="allow"/></td><td class="acl-radio svelte-3itf14"><input type="radio" value="deny"/></td></tr>'),EJ=B('<table class="acl-defaults-table svelte-3itf14"><thead><tr><th class="svelte-3itf14">Operation</th><th class="svelte-3itf14">Allow</th><th class="svelte-3itf14">Deny</th></tr></thead><tbody></tbody></table>'),yJ=B('<div class="anon-current svelte-3itf14">Current: <span class="mono svelte-3itf14"> </span></div>'),wJ=B('<div class="anon-current muted svelte-3itf14">No anonymous group configured.</div>'),SJ=B('<div class="anon-row svelte-3itf14"><select class="svelte-3itf14"><option>— none —</option><!></select> <button class="svelte-3itf14"> </button></div> <!>',1),DJ=B('<div class="panel svelte-3itf14"><div class="settings-section svelte-3itf14"><h3 class="settings-heading svelte-3itf14">Default ACL Access</h3> <p class="settings-hint svelte-3itf14">Broker-wide defaults applied when no role ACL matches. Role ACLs always take precedence over these defaults.</p> <!> <!></div> <div class="settings-section svelte-3itf14"><h3 class="settings-heading svelte-3itf14">Anonymous Group</h3> <p class="settings-hint svelte-3itf14">Clients connecting without credentials are treated as members of this group. Requires <code class="svelte-3itf14">allow_anonymous true</code> in mosquitto.conf.</p> <!> <!></div></div>'),AJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add user</h3> <label class="svelte-3itf14">Username<input autocomplete="off" class="svelte-3itf14"/></label> <label class="svelte-3itf14">Password <div class="pw-row svelte-3itf14"><input autocomplete="new-password" class="svelte-3itf14"/> <button class="toggle-pw svelte-3itf14"> </button></div></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),kJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Set password for <em class="svelte-3itf14"> </em></h3> <label class="svelte-3itf14">New password <input type="password" autocomplete="new-password" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),BJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add role</h3> <label class="svelte-3itf14">Role name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),FJ=B('<tr class="svelte-3itf14"><td class="mono small svelte-3itf14"> </td><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="svelte-3itf14"><button class="danger">✕</button></td></tr>'),LJ=B('<table class="acl-table svelte-3itf14"><thead><tr><th class="svelte-3itf14">Type</th><th class="svelte-3itf14">Topic</th><th class="svelte-3itf14">Allow</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),IJ=B('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),PJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-3itf14"><h3 class="svelte-3itf14">ACLs for role <em class="svelte-3itf14"> </em></h3> <!> <div class="acl-add-row svelte-3itf14"><select class="svelte-3itf14"></select> <input placeholder="topic or pattern" class="svelte-3itf14"/> <label class="allow-toggle svelte-3itf14"><input type="checkbox" class="svelte-3itf14"/> Allow</label> <button class="svelte-3itf14">Add</button></div> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Close</button></div></div></div>'),TJ=B('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add group</h3> <label class="svelte-3itf14">Group name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),MJ=B('<div class="users-page svelte-3itf14"><!> <div class="panel-tabs svelte-3itf14"><button>Users</button> <button>Roles</button> <button>Groups</button> <button>Settings</button> <button class="reload-btn svelte-3itf14" title="Refresh">↺</button></div> <!> <!> <!> <!></div> <!> <!> <!> <!> <!> <!>',1);function RJ(o,e){js(e,!0);let t=Tu(e,"dynsecReady",3,!1),i,n=F(Pi([])),s=F(Pi([])),r=F(Pi([])),a=F(""),d=F(""),u=F(""),f=F("users"),g=F(null),p=F(""),C=F(""),b=F(!1);const y=Ft(()=>c(g)?c(g).kind==="user-roles"?c(s).map(pe=>pe.rolename).filter(pe=>{var Ge,ot;return!((ot=(Ge=c(n).find(rt=>rt.username===c(g).target))==null?void 0:Ge.roles)!=null&&ot.some(rt=>rt.rolename===pe))}):c(g).kind==="user-groups"?c(r).map(pe=>pe.groupname).filter(pe=>{var Ge,ot;return!((ot=(Ge=c(n).find(rt=>rt.username===c(g).target))==null?void 0:Ge.groups)!=null&&ot.some(rt=>rt.groupname===pe))}):c(g).kind==="group-members"?c(n).map(pe=>pe.username).filter(pe=>{var Ge,ot;return!((ot=(Ge=c(r).find(rt=>rt.groupname===c(g).target))==null?void 0:Ge.clients)!=null&&ot.some(rt=>rt.username===pe))}):c(s).map(pe=>pe.rolename).filter(pe=>{var Ge,ot;return!((ot=(Ge=c(r).find(rt=>rt.groupname===c(g).target))==null?void 0:Ge.roles)!=null&&ot.some(rt=>rt.rolename===pe))}):[]);function w(pe,Ge){m(g,{kind:pe,target:Ge},!0),m(p,""),m(C,"")}async function A(){if(!(!c(g)||!c(p))){m(b,!0),m(C,"");try{const{kind:pe,target:Ge}=c(g);pe==="user-roles"?await CU(Ge,c(p)):pe==="user-groups"?await p2(c(p),Ge):pe==="group-members"?await p2(Ge,c(p)):await FU(Ge,c(p)),m(g,null),m(p,""),await Ti()}catch(pe){m(C,pe.message,!0)}finally{m(b,!1)}}}async function I(pe,Ge){try{await EU(pe,Ge),await Ti()}catch(ot){m(a,ot.message,!0)}}async function M(pe,Ge){try{await x2(Ge,pe),await Ti()}catch(ot){m(a,ot.message,!0)}}async function R(pe,Ge){try{await x2(pe,Ge),await Ti()}catch(ot){m(u,ot.message,!0)}}async function T(pe,Ge){try{await LU(pe,Ge),await Ti()}catch(ot){m(u,ot.message,!0)}}let V=F(!1),H=F(""),X=F(""),se=F(!1),he=F(""),J=F(!1),ue=F(!1),be=F(""),re=F(""),ce=F(""),ke=F(!1),Pe=F(!1),xe=F(""),He=F(""),Ue=F(!1),ve=F(null),mt=F(!1),Mt=F("publishClientSend"),st=F(""),yt=F(!0),Ce=F(""),Nt=F(!1),si=F(""),Xe=F(""),et=F(!1),St=F(Pi([])),Qt=F(""),fi=F(!1),oi=F(null),Bi=F(""),_i=F(""),Ke=F(!1),ye=F(!1);const ti=[{acltype:"publishClientSend",label:"Publish (send)"},{acltype:"publishClientReceive",label:"Publish (receive)"},{acltype:"subscribe",label:"Subscribe"},{acltype:"unsubscribe",label:"Unsubscribe"}];async function Ei(){var pe,Ge;m(ye,!1),m(Qt,""),m(_i,"");try{const[ot,rt]=await Promise.allSettled([IU(),MU()]);if(ot.status==="fulfilled"){const jt=Object.fromEntries(ot.value.acls.map(Ot=>[Ot.acltype,Ot.allow]));m(St,ti.map(({acltype:Ot})=>({acltype:Ot,allow:jt[Ot]??(Ot==="publishClientReceive"||Ot==="unsubscribe")})),!0)}else m(Qt,((pe=ot.reason)==null?void 0:pe.message)??"Failed to load default ACLs",!0);rt.status==="fulfilled"?(m(oi,rt.value.group,!0),m(Bi,rt.value.group??"",!0)):m(_i,((Ge=rt.reason)==null?void 0:Ge.message)??"Failed to load anonymous group",!0)}finally{m(ye,!0)}}async function Jt(pe,Ge){m(St,c(St).map(ot=>ot.acltype===pe?{...ot,allow:Ge}:ot),!0),m(fi,!0),m(Qt,"");try{await PU(c(St))}catch(ot){m(Qt,ot.message,!0)}finally{m(fi,!1)}}async function Vi(){m(Ke,!0),m(_i,"");try{await RU(c(Bi)||null),m(oi,c(Bi)||null,!0)}catch(pe){m(_i,pe.message,!0)}finally{m(Ke,!1)}}const Yi=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function Ti(){var pe,Ge,ot;try{const[rt,jt,Ot]=await Promise.allSettled([mU(),AF(),AU()]);rt.status==="fulfilled"?(m(n,rt.value.users,!0),m(a,"")):m(a,((pe=rt.reason)==null?void 0:pe.message)??"Failed to load users",!0),jt.status==="fulfilled"?(m(s,jt.value.roles,!0),m(d,"")):m(d,((Ge=jt.reason)==null?void 0:Ge.message)??"Failed to load roles",!0),Ot.status==="fulfilled"?(m(r,Ot.value.groups,!0),m(u,"")):m(u,((ot=Ot.reason)==null?void 0:ot.message)??"Failed to load groups",!0)}catch{}}Xs(()=>{Ti()});async function wn(){m(he,""),m(J,!0);try{await vU(c(H),c(X)),m(H,""),m(X,""),m(V,!1),await Ti()}catch(pe){m(he,pe.message??"Failed to create user",!0)}finally{m(J,!1)}}async function cn(pe){if(await i.show(`Delete user “${pe}”?`,{confirm:"Delete",danger:!0}))try{await _U(pe),await Ti()}catch(Ge){m(a,Ge.message,!0)}}async function gn(pe){m(be,pe,!0),m(re,""),m(ce,""),m(ue,!0)}async function hn(){m(ce,""),m(ke,!0);try{await bU(c(be),c(re)),m(ue,!1)}catch(pe){m(ce,pe.message,!0)}finally{m(ke,!1)}}async function ft(){m(He,""),m(Ue,!0);try{await yU(c(xe)),m(xe,""),m(Pe,!1),await Ti()}catch(pe){m(He,pe.message??"Failed to create role",!0)}finally{m(Ue,!1)}}async function Ut(pe){var Ge;if(await i.show(`Delete role “${pe}”?`,{confirm:"Delete",danger:!0}))try{await wU(pe),((Ge=c(ve))==null?void 0:Ge.rolename)===pe&&(m(ve,null),m(mt,!1)),await Ti()}catch(ot){m(d,ot.message,!0)}}function Ri(pe){m(ve,pe,!0),m(mt,!0),m(Mt,"publishClientSend"),m(st,""),m(yt,!0),m(Ce,"")}async function qi(){if(c(ve)){m(Ce,"");try{await SU(c(ve).rolename,{acltype:c(Mt),topic:c(st),allow:c(yt)}),m(st,""),await Ti(),m(ve,c(s).find(pe=>pe.rolename===c(ve).rolename)??c(ve),!0)}catch(pe){m(Ce,pe.message,!0)}}}async function bi(pe,Ge,ot){try{await DU(pe,Ge,ot),await Ti(),m(ve,c(s).find(rt=>rt.rolename===pe)??c(ve),!0)}catch(rt){m(Ce,rt.message,!0)}}async function Wi(){m(Xe,""),m(et,!0);try{await kU(c(si)),m(si,""),m(Nt,!1),await Ti()}catch(pe){m(Xe,pe.message??"Failed to create group",!0)}finally{m(et,!1)}}async function ji(pe){if(await i.show(`Delete group “${pe}”?`,{confirm:"Delete",danger:!0}))try{await BU(pe),await Ti()}catch(Ge){m(u,Ge.message,!0)}}var Ji=MJ(),Si=Et(Ji),$i=_(Si);{var ze=pe=>{var Ge=iJ();D(pe,Ge)};z($i,pe=>{t()||pe(ze)})}var qt=v($i,2),Fi=_(qt);let zi;var Di=v(Fi,2);let K;var De=v(Di,2);let Qe;var tt=v(De,2);let Gt;var ci=v(tt,2),vt=v(qt,2);{var dt=pe=>{var Ge=cJ(),ot=_(Ge),rt=v(_(ot),2),jt=v(ot,2);{var Ot=$=>{var oe=Ca(),ne=_(oe);j(()=>W(ne,c(a))),D($,oe)};z(jt,$=>{c(a)&&$(Ot)})}var Ci=v(jt,2);{var P=$=>{var oe=nJ();D($,oe)},N=$=>{var oe=lJ(),ne=v(_(oe));ei(ne,21,()=>c(n),Hi,(ie,ae)=>{var Je=aJ(),Le=_(Je),_e=_(Le),Ze=v(Le),Me=_(Ze),ct=_(Me),Zt=_(ct);ei(Zt,17,()=>c(ae).roles??[],Hi,(Oe,ut)=>{var fe=sJ(),Ve=_(fe),Ct=v(Ve);j(()=>W(Ve,c(ut).rolename)),U("click",Ct,()=>I(c(ae).username,c(ut).rolename)),D(Oe,fe)});var Z=v(Zt,2),le=v(ct,2);{var $e=Oe=>{var ut=X2(),fe=Et(ut),Ve=_(fe),Ct=_(Ve);Ct.value=Ct.__value="";var Wt=v(Ct);ei(Wt,17,()=>c(y),Hi,(yi,ai)=>{var zt=Th(),At=_(zt),Ht={};j(()=>{W(At,c(ai)),Ht!==(Ht=c(ai))&&(zt.value=(zt.__value=c(ai))??"")}),D(yi,zt)});var bt=v(Ve,2),gi=v(bt,2),Ai=v(fe,2);{var Xi=yi=>{var ai=qx(),zt=_(ai);j(()=>W(zt,c(C))),D(yi,ai)};z(Ai,yi=>{c(C)&&yi(Xi)})}j(()=>bt.disabled=!c(p)||c(b)),Fs(Ve,()=>c(p),yi=>m(p,yi)),U("click",bt,A),U("click",gi,()=>m(g,null)),D(Oe,ut)};z(le,Oe=>{var ut;((ut=c(g))==null?void 0:ut.kind)==="user-roles"&&c(g).target===c(ae).username&&Oe($e)})}var Pt=v(Ze),Ee=_(Pt),We=_(Ee),wt=_(We);ei(wt,17,()=>c(ae).groups??[],Hi,(Oe,ut)=>{var fe=oJ(),Ve=_(fe),Ct=v(Ve);j(()=>W(Ve,c(ut).groupname)),U("click",Ct,()=>M(c(ae).username,c(ut).groupname)),D(Oe,fe)});var gt=v(wt,2),Ie=v(We,2);{var ge=Oe=>{var ut=rJ(),fe=Et(ut),Ve=_(fe),Ct=_(Ve);Ct.value=Ct.__value="";var Wt=v(Ct);ei(Wt,17,()=>c(y),Hi,(yi,ai)=>{var zt=Th(),At=_(zt),Ht={};j(()=>{W(At,c(ai)),Ht!==(Ht=c(ai))&&(zt.value=(zt.__value=c(ai))??"")}),D(yi,zt)});var bt=v(Ve,2),gi=v(bt,2),Ai=v(fe,2);{var Xi=yi=>{var ai=qx(),zt=_(ai);j(()=>W(zt,c(C))),D(yi,ai)};z(Ai,yi=>{c(C)&&yi(Xi)})}j(()=>bt.disabled=!c(p)||c(b)),Fs(Ve,()=>c(p),yi=>m(p,yi)),U("click",bt,A),U("click",gi,()=>m(g,null)),D(Oe,ut)};z(Ie,Oe=>{var ut;((ut=c(g))==null?void 0:ut.kind)==="user-groups"&&c(g).target===c(ae).username&&Oe(ge)})}var Re=v(Pt),Ne=_(Re),it=_(Ne),at=v(it,2);j(()=>W(_e,c(ae).username)),U("click",Z,()=>w("user-roles",c(ae).username)),U("click",gt,()=>w("user-groups",c(ae).username)),U("click",it,()=>gn(c(ae).username)),U("click",at,()=>cn(c(ae).username)),D(ie,Je)}),D($,oe)};z(Ci,$=>{c(n).length===0?$(P):$(N,-1)})}U("click",rt,()=>{m(V,!0),m(he,"")}),D(pe,Ge)};z(vt,pe=>{c(f)==="users"&&pe(dt)})}var Y=v(vt,2);{var Te=pe=>{var Ge=fJ(),ot=_(Ge),rt=v(_(ot),2),jt=v(ot,2);{var Ot=$=>{var oe=Ca(),ne=_(oe);j(()=>W(ne,c(d))),D($,oe)};z(jt,$=>{c(d)&&$(Ot)})}var Ci=v(jt,2);{var P=$=>{var oe=dJ();D($,oe)},N=$=>{var oe=hJ(),ne=v(_(oe));ei(ne,21,()=>c(s),Hi,(ie,ae)=>{var Je=uJ(),Le=_(Je),_e=_(Le),Ze=v(Le),Me=_(Ze),ct=v(Ze),Zt=_(ct),Z=_(Zt),le=v(Z,2);j(()=>{var $e;W(_e,c(ae).rolename),W(Me,(($e=c(ae).acls)==null?void 0:$e.length)??0)}),U("click",Z,()=>Ri(c(ae))),U("click",le,()=>Ut(c(ae).rolename)),D(ie,Je)}),D($,oe)};z(Ci,$=>{c(s).length===0?$(P):$(N,-1)})}U("click",rt,()=>{m(Pe,!0),m(He,""),m(xe,"")}),D(pe,Ge)};z(Y,pe=>{c(f)==="roles"&&pe(Te)})}var lt=v(Y,2);{var we=pe=>{var Ge=bJ(),ot=_(Ge),rt=v(_(ot),2),jt=v(ot,2);{var Ot=$=>{var oe=Ca(),ne=_(oe);j(()=>W(ne,c(u))),D($,oe)};z(jt,$=>{c(u)&&$(Ot)})}var Ci=v(jt,2);{var P=$=>{var oe=gJ();D($,oe)},N=$=>{var oe=_J(),ne=v(_(oe));ei(ne,21,()=>c(r),Hi,(ie,ae)=>{var Je=vJ(),Le=_(Je),_e=_(Le),Ze=v(Le),Me=_(Ze),ct=_(Me),Zt=_(ct);ei(Zt,17,()=>c(ae).clients??[],Hi,(at,Oe)=>{var ut=pJ(),fe=_(ut),Ve=v(fe);j(()=>W(fe,c(Oe).username)),U("click",Ve,()=>R(c(ae).groupname,c(Oe).username)),D(at,ut)});var Z=v(Zt,2),le=v(ct,2);{var $e=at=>{var Oe=xJ(),ut=Et(Oe),fe=_(ut),Ve=_(fe);Ve.value=Ve.__value="";var Ct=v(Ve);ei(Ct,17,()=>c(y),Hi,(Xi,yi)=>{var ai=Th(),zt=_(ai),At={};j(()=>{W(zt,c(yi)),At!==(At=c(yi))&&(ai.value=(ai.__value=c(yi))??"")}),D(Xi,ai)});var Wt=v(fe,2),bt=v(Wt,2),gi=v(ut,2);{var Ai=Xi=>{var yi=qx(),ai=_(yi);j(()=>W(ai,c(C))),D(Xi,yi)};z(gi,Xi=>{c(C)&&Xi(Ai)})}j(()=>Wt.disabled=!c(p)||c(b)),Fs(fe,()=>c(p),Xi=>m(p,Xi)),U("click",Wt,A),U("click",bt,()=>m(g,null)),D(at,Oe)};z(le,at=>{var Oe;((Oe=c(g))==null?void 0:Oe.kind)==="group-members"&&c(g).target===c(ae).groupname&&at($e)})}var Pt=v(Ze),Ee=_(Pt),We=_(Ee),wt=_(We);ei(wt,17,()=>c(ae).roles??[],Hi,(at,Oe)=>{var ut=mJ(),fe=_(ut),Ve=v(fe);j(()=>W(fe,c(Oe).rolename)),U("click",Ve,()=>T(c(ae).groupname,c(Oe).rolename)),D(at,ut)});var gt=v(wt,2),Ie=v(We,2);{var ge=at=>{var Oe=X2(),ut=Et(Oe),fe=_(ut),Ve=_(fe);Ve.value=Ve.__value="";var Ct=v(Ve);ei(Ct,17,()=>c(y),Hi,(Xi,yi)=>{var ai=Th(),zt=_(ai),At={};j(()=>{W(zt,c(yi)),At!==(At=c(yi))&&(ai.value=(ai.__value=c(yi))??"")}),D(Xi,ai)});var Wt=v(fe,2),bt=v(Wt,2),gi=v(ut,2);{var Ai=Xi=>{var yi=qx(),ai=_(yi);j(()=>W(ai,c(C))),D(Xi,yi)};z(gi,Xi=>{c(C)&&Xi(Ai)})}j(()=>Wt.disabled=!c(p)||c(b)),Fs(fe,()=>c(p),Xi=>m(p,Xi)),U("click",Wt,A),U("click",bt,()=>m(g,null)),D(at,Oe)};z(Ie,at=>{var Oe;((Oe=c(g))==null?void 0:Oe.kind)==="group-roles"&&c(g).target===c(ae).groupname&&at(ge)})}var Re=v(Pt),Ne=_(Re),it=_(Ne);j(()=>W(_e,c(ae).groupname)),U("click",Z,()=>w("group-members",c(ae).groupname)),U("click",gt,()=>w("group-roles",c(ae).groupname)),U("click",it,()=>ji(c(ae).groupname)),D(ie,Je)}),D($,oe)};z(Ci,$=>{c(r).length===0?$(P):$(N,-1)})}U("click",rt,()=>{m(Nt,!0),m(Xe,""),m(si,"")}),D(pe,Ge)};z(lt,pe=>{c(f)==="groups"&&pe(we)})}var di=v(lt,2);{var Lt=pe=>{var Ge=DJ(),ot=_(Ge),rt=v(_(ot),4);{var jt=Je=>{var Le=Ca(),_e=_(Le);j(()=>W(_e,c(Qt))),D(Je,Le)};z(rt,Je=>{c(Qt)&&Je(jt)})}var Ot=v(rt,2);{var Ci=Je=>{var Le=Y2();D(Je,Le)},P=Je=>{var Le=EJ(),_e=v(_(Le));ei(_e,21,()=>ti,Hi,(Ze,Me)=>{let ct=()=>c(Me).acltype,Zt=()=>c(Me).label;const Z=Ft(()=>c(St).find(ge=>ge.acltype===ct()));var le=CJ();let $e;var Pt=_(le),Ee=_(Pt),We=v(Pt),wt=_(We),gt=v(We),Ie=_(gt);j(()=>{var ge,Re;$e=kt(le,1,"svelte-3itf14",null,$e,{saving:c(fi)}),W(Ee,Zt()),ln(wt,"name",ct()),Zo(wt,((ge=c(Z))==null?void 0:ge.allow)===!0),ln(Ie,"name",ct()),Zo(Ie,((Re=c(Z))==null?void 0:Re.allow)===!1)}),U("change",wt,()=>Jt(ct(),!0)),U("change",Ie,()=>Jt(ct(),!1)),D(Ze,le)}),D(Je,Le)};z(Ot,Je=>{c(ye)?Je(P,-1):Je(Ci)})}var N=v(ot,2),$=v(_(N),4);{var oe=Je=>{var Le=Ca(),_e=_(Le);j(()=>W(_e,c(_i))),D(Je,Le)};z($,Je=>{c(_i)&&Je(oe)})}var ne=v($,2);{var ie=Je=>{var Le=Y2();D(Je,Le)},ae=Je=>{var Le=SJ(),_e=Et(Le),Ze=_(_e),Me=_(Ze);Me.value=Me.__value="";var ct=v(Me);ei(ct,17,()=>c(r),Hi,(Ee,We)=>{var wt=Th(),gt=_(wt),Ie={};j(()=>{W(gt,c(We).groupname),Ie!==(Ie=c(We).groupname)&&(wt.value=(wt.__value=c(We).groupname)??"")}),D(Ee,wt)});var Zt=v(Ze,2),Z=_(Zt),le=v(_e,2);{var $e=Ee=>{var We=yJ(),wt=v(_(We)),gt=_(wt);j(()=>W(gt,c(oi))),D(Ee,We)},Pt=Ee=>{var We=wJ();D(Ee,We)};z(le,Ee=>{c(oi)?Ee($e):Ee(Pt,-1)})}j(()=>{Zt.disabled=c(Ke)||c(Bi)===(c(oi)??""),W(Z,c(Ke)?"Saving…":"Save")}),Fs(Ze,()=>c(Bi),Ee=>m(Bi,Ee)),U("click",Zt,Vi),D(Je,Le)};z(ne,Je=>{c(ye)?Je(ae,-1):Je(ie)})}D(pe,Ge)};z(di,pe=>{c(f)==="settings"&&pe(Lt)})}var te=v(Si,2);{var Ye=pe=>{var Ge=AJ(),ot=_(Ge),rt=v(_(ot),2),jt=v(_(rt)),Ot=v(rt,2),Ci=v(_(Ot)),P=_(Ci),N=v(P,2),$=_(N),oe=v(Ot,2);{var ne=_e=>{var Ze=Ca(),Me=_(Ze);j(()=>W(Me,c(he))),D(_e,Ze)};z(oe,_e=>{c(he)&&_e(ne)})}var ie=v(oe,2),ae=_(ie),Je=v(ae,2),Le=_(Je);j(()=>{ln(P,"type",c(se)?"text":"password"),W($,c(se)?"Hide":"Show"),Je.disabled=c(J)||!c(H)||!c(X),W(Le,c(J)?"Creating…":"Create")}),Vt(jt,()=>c(H),_e=>m(H,_e)),Vt(P,()=>c(X),_e=>m(X,_e)),U("click",N,()=>m(se,!c(se))),U("click",ae,()=>m(V,!1)),U("click",Je,wn),D(pe,Ge)};z(te,pe=>{c(V)&&pe(Ye)})}var Bt=v(te,2);{var It=pe=>{var Ge=kJ(),ot=_(Ge),rt=_(ot),jt=v(_(rt)),Ot=_(jt),Ci=v(rt,2),P=v(_(Ci)),N=v(Ci,2);{var $=Je=>{var Le=Ca(),_e=_(Le);j(()=>W(_e,c(ce))),D(Je,Le)};z(N,Je=>{c(ce)&&Je($)})}var oe=v(N,2),ne=_(oe),ie=v(ne,2),ae=_(ie);j(()=>{W(Ot,c(be)),ie.disabled=c(ke)||!c(re),W(ae,c(ke)?"Saving…":"Set password")}),Vt(P,()=>c(re),Je=>m(re,Je)),U("click",ne,()=>m(ue,!1)),U("click",ie,hn),D(pe,Ge)};z(Bt,pe=>{c(ue)&&pe(It)})}var Dt=v(Bt,2);{var Be=pe=>{var Ge=BJ(),ot=_(Ge),rt=v(_(ot),2),jt=v(_(rt)),Ot=v(rt,2);{var Ci=ne=>{var ie=Ca(),ae=_(ie);j(()=>W(ae,c(He))),D(ne,ie)};z(Ot,ne=>{c(He)&&ne(Ci)})}var P=v(Ot,2),N=_(P),$=v(N,2),oe=_($);j(()=>{$.disabled=c(Ue)||!c(xe),W(oe,c(Ue)?"Creating…":"Create")}),Vt(jt,()=>c(xe),ne=>m(xe,ne)),U("click",N,()=>m(Pe,!1)),U("click",$,ft),D(pe,Ge)};z(Dt,pe=>{c(Pe)&&pe(Be)})}var je=v(Dt,2);{var Kt=pe=>{var Ge=PJ(),ot=_(Ge),rt=_(ot),jt=v(_(rt)),Ot=_(jt),Ci=v(rt,2);{var P=ct=>{var Zt=LJ(),Z=v(_(Zt));ei(Z,21,()=>c(ve).acls??[],Hi,(le,$e)=>{var Pt=FJ(),Ee=_(Pt),We=_(Ee),wt=v(Ee),gt=_(wt),Ie=v(wt),ge=_(Ie),Re=v(Ie),Ne=_(Re);j(()=>{W(We,c($e).acltype),W(gt,c($e).topic),W(ge,c($e).allow?"✓":"✗")}),U("click",Ne,()=>bi(c(ve).rolename,c($e).acltype,c($e).topic)),D(le,Pt)}),D(ct,Zt)},N=ct=>{var Zt=IJ();D(ct,Zt)};z(Ci,ct=>{var Zt;(((Zt=c(ve).acls)==null?void 0:Zt.length)??0)>0?ct(P):ct(N,-1)})}var $=v(Ci,2),oe=_($);ei(oe,21,()=>Yi,Hi,(ct,Zt)=>{var Z=Th(),le=_(Z),$e={};j(()=>{W(le,c(Zt)),$e!==($e=c(Zt))&&(Z.value=(Z.__value=c(Zt))??"")}),D(ct,Z)});var ne=v(oe,2),ie=v(ne,2),ae=_(ie),Je=v(ie,2),Le=v($,2);{var _e=ct=>{var Zt=Ca(),Z=_(Zt);j(()=>W(Z,c(Ce))),D(ct,Zt)};z(Le,ct=>{c(Ce)&&ct(_e)})}var Ze=v(Le,2),Me=_(Ze);j(()=>{W(Ot,c(ve).rolename),Je.disabled=!c(st)}),Fs(oe,()=>c(Mt),ct=>m(Mt,ct)),Vt(ne,()=>c(st),ct=>m(st,ct)),ys(ae,()=>c(yt),ct=>m(yt,ct)),U("click",Je,qi),U("click",Me,()=>m(mt,!1)),D(pe,Ge)};z(je,pe=>{c(mt)&&c(ve)&&pe(Kt)})}var ri=v(je,2);{var hi=pe=>{var Ge=TJ(),ot=_(Ge),rt=v(_(ot),2),jt=v(_(rt)),Ot=v(rt,2);{var Ci=ne=>{var ie=Ca(),ae=_(ie);j(()=>W(ae,c(Xe))),D(ne,ie)};z(Ot,ne=>{c(Xe)&&ne(Ci)})}var P=v(Ot,2),N=_(P),$=v(N,2),oe=_($);j(()=>{$.disabled=c(et)||!c(si),W(oe,c(et)?"Creating…":"Create")}),Vt(jt,()=>c(si),ne=>m(si,ne)),U("click",N,()=>m(Nt,!1)),U("click",$,Wi),D(pe,Ge)};z(ri,pe=>{c(Nt)&&pe(hi)})}var Xt=v(ri,2);gs(Yc(Xt,{}),pe=>i=pe,()=>i),j(()=>{zi=kt(Fi,1,"svelte-3itf14",null,zi,{active:c(f)==="users"}),K=kt(Di,1,"svelte-3itf14",null,K,{active:c(f)==="roles"}),Qe=kt(De,1,"svelte-3itf14",null,Qe,{active:c(f)==="groups"}),Gt=kt(tt,1,"svelte-3itf14",null,Gt,{active:c(f)==="settings"})}),U("click",Fi,()=>m(f,"users")),U("click",Di,()=>m(f,"roles")),U("click",De,()=>m(f,"groups")),U("click",tt,()=>{m(f,"settings"),c(ye)||Ei()}),U("click",ci,Ti),D(o,Ji),$s()}Ys(["click","change"]);var Q2=B('<div class="err svelte-9i68x"> </div>'),NJ=B('<div class="ok svelte-9i68x">Saved.</div>'),OJ=B('<div class="reload-msg svelte-9i68x"> </div>'),HJ=B('<div class="loading svelte-9i68x">Loading…</div>'),WJ=B('<div class="anon-row svelte-9i68x"><span class="field-label svelte-9i68x"><code class="svelte-9i68x">allow_anonymous</code></span> <select class="svelte-9i68x"><option>auto (broker default)</option><option>true — allow unauthenticated clients</option><option>false — require authentication</option></select></div>'),zJ=B("<option></option>"),VJ=B('<div class="tls-section svelte-9i68x"><div class="field-row svelte-9i68x"><label class="svelte-9i68x">Certificate file (certfile) <input placeholder="/etc/mosquitto/certs/server.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Key file (keyfile) <input placeholder="/etc/mosquitto/certs/server.key" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CA file (cafile) — single CA cert <input placeholder="/etc/mosquitto/ca.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">CA path (capath) — CA cert directory <input placeholder="/etc/mosquitto/ca-certs/" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CRL file (crlfile) <input placeholder="/etc/mosquitto/crl.pem" class="svelte-9i68x"/></label> <label class="svelte-9i68x">TLS version <select class="svelte-9i68x"><option>Default</option><option>tlsv1.3</option><option>tlsv1.2</option></select></label></div> <div class="field-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Require client certificate (require_certificate)</label> <label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Use cert CN as username (use_identity_as_username)</label></div></div>'),jJ=B('<div class="field-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Use cert Subject as username (use_subject_as_username)</label></div>'),$J=B('<div class="advanced-section svelte-9i68x"><div class="field-row svelte-9i68x"><label class="svelte-9i68x">Mount point <input placeholder="(none)" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Max connections <input type="number" min="-1" placeholder="-1 (unlimited)" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Max QoS <select class="svelte-9i68x"><option>default</option><option>0 — fire and forget</option><option>1 — at least once</option><option>2 — exactly once</option></select></label></div> <!></div>'),UJ=B('<div class="auth-section svelte-9i68x"><div class="auth-section-title svelte-9i68x">Authentication</div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">allow_anonymous <select class="svelte-9i68x"><option>auto (broker default)</option><option>true — allow unauthenticated</option><option>false — require auth</option></select></label> <label class="svelte-9i68x">password_file <input placeholder="/etc/mosquitto/passwd" class="svelte-9i68x"/></label> <label class="svelte-9i68x">acl_file <input placeholder="/etc/mosquitto/acl" class="svelte-9i68x"/></label></div></div>'),qJ=B('<div class="listener-card svelte-9i68x"><div class="card-title svelte-9i68x"><span> </span> <button class="remove-btn svelte-9i68x" title="Remove listener">✕</button></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">Port <input type="number" min="1" max="65535" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Protocol <select class="svelte-9i68x"><option>mqtt</option><option>websockets</option></select></label> <label class="svelte-9i68x">Bind address <input placeholder="(all interfaces)" class="svelte-9i68x"/></label> <label class="toggle-label tls-inline svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> TLS</label></div> <datalist></datalist> <!> <button class="advanced-btn svelte-9i68x"> </button> <!> <!></div>'),GJ=B('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),KJ=B('<div class="global-settings svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> <span><code>per_listener_settings</code> — independent auth per listener</span> <span class="info-icon svelte-9i68x" title="Not recommended when using the dynamic-security plugin — dynsec credentials only apply to the default listener. See mosquitto documentation.">ℹ</span></label> <!></div> <div class="cards svelte-9i68x"><!> <!></div>',1),ZJ=B('<div class="listeners-page svelte-9i68x"><div class="page-header svelte-9i68x"><h3 class="svelte-9i68x">Listeners</h3> <div class="header-actions svelte-9i68x"><button class="svelte-9i68x">+ Add listener</button> <button class="btn-save svelte-9i68x"> </button> <button class="btn-reload svelte-9i68x" title="Apply & Reload mosquitto"> </button></div></div> <!> <!> <!> <!> <!></div>');function XJ(o,e){js(e,!0);let t=F(null),i=F(""),n=F(!1),s=F(""),r=F(!1),a=F(!1),d=F(""),u=F(Pi([])),f=F(null),g=F(!1),p=F(""),C=F(Pi([])),b=F(Pi(new Set));Xs(()=>{y(),uU().then(Ce=>{m(C,Ce.addresses,!0)}).catch(()=>{})});async function y(){try{m(t,await uS(),!0),m(u,JSON.parse(JSON.stringify(c(t).listeners)),!0),m(f,c(t).checksum,!0);const Ce=c(t).managed.allow_anonymous;m(p,Ce==="true"||Ce==="false"?Ce:"",!0),m(g,c(t).managed.per_listener_settings==="true"),m(i,"")}catch(Ce){m(i,Ce.message??"Failed to load broker config",!0)}}function w(){m(u,[...c(u),{port:1883,bindAddress:"",protocol:"mqtt",tls:{}}],!0),m(b,new Set(c(b)),!0)}function A(Ce){const Nt=new Set(c(b));Nt.has(Ce)?Nt.delete(Ce):Nt.add(Ce),m(b,Nt,!0)}function I(Ce){m(u,c(u).filter((Nt,si)=>si!==Ce),!0)}async function M(){if(c(t)){m(n,!0),m(s,""),m(r,!1);try{const Ce={...c(t).managed};c(g)?(Ce.per_listener_settings="true",delete Ce.allow_anonymous):(delete Ce.per_listener_settings,c(p)?Ce.allow_anonymous=c(p):delete Ce.allow_anonymous),await SF({listeners:c(u),managed:Ce,passthrough:c(t).passthrough,checksum:c(f)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await y()}catch(Ce){m(s,Ce.message??"Save failed",!0)}finally{m(n,!1)}}}async function R(){m(a,!0),m(d,"");try{const Ce=await DF();m(d,Ce.stderr||Ce.stdout||"Reloaded",!0)}catch(Ce){m(d,"Error: "+(Ce.message??"reload failed"))}finally{m(a,!1)}}function T(Ce){var Nt,si,Xe,et,St;return!!((Nt=Ce.tls)!=null&&Nt.enabled||(si=Ce.tls)!=null&&si.certfile||(Xe=Ce.tls)!=null&&Xe.keyfile||(et=Ce.tls)!=null&&et.capath||(St=Ce.tls)!=null&&St.cafile)}function V(Ce,Nt){Nt?Ce.tls={...Ce.tls,enabled:!0}:Ce.tls={},m(u,[...c(u)],!0)}var H=ZJ(),X=_(H),se=v(_(X),2),he=_(se),J=v(he,2),ue=_(J),be=v(J,2),re=_(be),ce=v(X,2);{var ke=Ce=>{var Nt=Q2(),si=_(Nt);j(()=>W(si,c(i))),D(Ce,Nt)};z(ce,Ce=>{c(i)&&Ce(ke)})}var Pe=v(ce,2);{var xe=Ce=>{var Nt=Q2(),si=_(Nt);j(()=>W(si,c(s))),D(Ce,Nt)};z(Pe,Ce=>{c(s)&&Ce(xe)})}var He=v(Pe,2);{var Ue=Ce=>{var Nt=NJ();D(Ce,Nt)};z(He,Ce=>{c(r)&&Ce(Ue)})}var ve=v(He,2);{var mt=Ce=>{var Nt=OJ(),si=_(Nt);j(()=>W(si,c(d))),D(Ce,Nt)};z(ve,Ce=>{c(d)&&Ce(mt)})}var Mt=v(ve,2);{var st=Ce=>{var Nt=HJ();D(Ce,Nt)},yt=Ce=>{var Nt=KJ(),si=Et(Nt),Xe=_(si),et=_(Xe),St=v(Xe,2);{var Qt=Ke=>{var ye=WJ(),ti=v(_(ye),2),Ei=_(ti);Ei.value=Ei.__value="";var Jt=v(Ei);Jt.value=Jt.__value="true";var Vi=v(Jt);Vi.value=Vi.__value="false",Fs(ti,()=>c(p),Yi=>m(p,Yi)),D(Ke,ye)};z(St,Ke=>{c(g)||Ke(Qt)})}var fi=v(si,2),oi=_(fi);ei(oi,17,()=>c(u),Hi,(Ke,ye,ti)=>{var Ei=qJ(),Jt=_(Ei),Vi=_(Jt),Yi=_(Vi),Ti=v(Vi,2),wn=v(Jt,2),cn=_(wn),gn=v(_(cn)),hn=v(cn,2),ft=v(_(hn)),Ut=_(ft);Ut.value=Ut.__value="mqtt";var Ri=v(Ut);Ri.value=Ri.__value="websockets";var qi=v(hn,2),bi=v(_(qi));ln(bi,"list",`bind-addr-list-${ti}`);var Wi=v(qi,2),ji=_(Wi),Ji=v(wn,2);ln(Ji,"id",`bind-addr-list-${ti}`),ei(Ji,21,()=>c(C),Hi,(tt,Gt)=>{var ci=zJ(),vt={};j(()=>{vt!==(vt=c(Gt))&&(ci.value=(ci.__value=c(Gt))??"")}),D(tt,ci)});var Si=v(Ji,2);{var $i=tt=>{var Gt=VJ(),ci=_(Gt),vt=_(ci),dt=v(_(vt)),Y=v(vt,2),Te=v(_(Y)),lt=v(ci,2),we=_(lt),di=v(_(we)),Lt=v(we,2),te=v(_(Lt)),Ye=v(lt,2),Bt=_(Ye),It=v(_(Bt)),Dt=v(Bt,2),Be=v(_(Dt)),je=_(Be);je.value=je.__value="";var Kt=v(je);Kt.value=Kt.__value="tlsv1.3";var ri=v(Kt);ri.value=ri.__value="tlsv1.2";var hi=v(Ye,2),Xt=_(hi),pe=_(Xt),Ge=v(Xt,2),ot=_(Ge);Vt(dt,()=>c(ye).tls.certfile,rt=>c(ye).tls.certfile=rt),Vt(Te,()=>c(ye).tls.keyfile,rt=>c(ye).tls.keyfile=rt),Vt(di,()=>c(ye).tls.cafile,rt=>c(ye).tls.cafile=rt),Vt(te,()=>c(ye).tls.capath,rt=>c(ye).tls.capath=rt),Vt(It,()=>c(ye).tls.crlfile,rt=>c(ye).tls.crlfile=rt),Fs(Be,()=>c(ye).tls.tls_version,rt=>c(ye).tls.tls_version=rt),ys(pe,()=>c(ye).tls.require_certificate,rt=>c(ye).tls.require_certificate=rt),ys(ot,()=>c(ye).tls.use_identity_as_username,rt=>c(ye).tls.use_identity_as_username=rt),D(tt,Gt)},ze=Ft(()=>T(c(ye)));z(Si,tt=>{c(ze)&&tt($i)})}var qt=v(Si,2),Fi=_(qt),zi=v(qt,2);{var Di=tt=>{var Gt=$J(),ci=_(Gt),vt=_(ci),dt=v(_(vt)),Y=v(vt,2),Te=v(_(Y)),lt=v(Y,2),we=v(_(lt)),di=_(we);di.value=di.__value="";var Lt=v(di);Lt.value=Lt.__value="0";var te=v(Lt);te.value=te.__value="1";var Ye=v(te);Ye.value=Ye.__value="2";var Bt;B1(we);var It=v(ci,2);{var Dt=je=>{var Kt=jJ(),ri=_(Kt),hi=_(ri);ys(hi,()=>c(ye).tls.use_subject_as_username,Xt=>c(ye).tls.use_subject_as_username=Xt),D(je,Kt)},Be=Ft(()=>T(c(ye)));z(It,je=>{c(Be)&&je(Dt)})}j(je=>{Bt!==(Bt=je)&&(we.value=(we.__value=je)??"",Wm(we,je))},[()=>c(ye).max_qos!==void 0?String(c(ye).max_qos):""]),Vt(dt,()=>c(ye).mount_point,je=>c(ye).mount_point=je),Vt(Te,()=>c(ye).max_connections,je=>c(ye).max_connections=je),U("change",we,je=>{const Kt=je.target.value;c(ye).max_qos=Kt===""?void 0:Number(Kt),m(u,[...c(u)],!0)}),D(tt,Gt)},K=Ft(()=>c(b).has(ti));z(zi,tt=>{c(K)&&tt(Di)})}var De=v(zi,2);{var Qe=tt=>{var Gt=UJ(),ci=v(_(Gt),2),vt=_(ci),dt=v(_(vt)),Y=_(dt);Y.value=Y.__value="";var Te=v(Y);Te.value=Te.__value="true";var lt=v(Te);lt.value=lt.__value="false";var we;B1(dt);var di=v(vt,2),Lt=v(_(di)),te=v(di,2),Ye=v(_(te));j(()=>{we!==(we=c(ye).allow_anonymous===void 0?"":c(ye).allow_anonymous?"true":"false")&&(dt.value=dt.__value=c(ye).allow_anonymous===void 0?"":c(ye).allow_anonymous?"true":"false",Wm(dt,c(ye).allow_anonymous===void 0?"":c(ye).allow_anonymous?"true":"false"))}),U("change",dt,Bt=>{const It=Bt.target.value;c(ye).allow_anonymous=It===""?void 0:It==="true",m(u,[...c(u)],!0)}),Vt(Lt,()=>c(ye).password_file,Bt=>c(ye).password_file=Bt),Vt(Ye,()=>c(ye).acl_file,Bt=>c(ye).acl_file=Bt),D(tt,Gt)};z(De,tt=>{c(g)&&tt(Qe)})}j((tt,Gt)=>{W(Yi,`Port ${c(ye).port??""}`),Zo(ji,tt),W(Fi,`${Gt??""} Advanced`)},[()=>T(c(ye)),()=>c(b).has(ti)?"▾":"▸"]),U("click",Ti,()=>I(ti)),Vt(gn,()=>c(ye).port,tt=>c(ye).port=tt),Fs(ft,()=>c(ye).protocol,tt=>c(ye).protocol=tt),Vt(bi,()=>c(ye).bindAddress,tt=>c(ye).bindAddress=tt),U("change",ji,tt=>V(c(ye),tt.target.checked)),U("click",qt,()=>A(ti)),D(Ke,Ei)});var Bi=v(oi,2);{var _i=Ke=>{var ye=GJ();D(Ke,ye)};z(Bi,Ke=>{c(u).length===0&&Ke(_i)})}ys(et,()=>c(g),Ke=>m(g,Ke)),D(Ce,Nt)};z(Mt,Ce=>{c(t)===null&&!c(i)?Ce(st):Ce(yt,-1)})}j(()=>{J.disabled=c(n),W(ue,c(n)?"Saving…":"Save"),be.disabled=c(a),W(re,c(a)?"Reloading…":"Apply & Reload")}),U("click",he,w),U("click",J,M),U("click",be,R),D(o,H),$s()}Ys(["click","change"]);var J2=B('<div class="err svelte-1by6o5t"> </div>'),YJ=B('<div class="ok svelte-1by6o5t">Saved.</div>'),QJ=B('<div class="reload-msg svelte-1by6o5t"> </div>'),QC=B('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> </label>'),JJ=B('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> <strong> </strong></label>'),eee=B(`<div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">General</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistence</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — persist sessions & retained msgs</option><option>false — no disk persistence</option></select></label> <p class="hint svelte-1by6o5t">Enable on-disk persistence of subscriptions, retained messages, and QoS 1/2 queues.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistence_location</span> <input placeholder="/var/lib/mosquitto/" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Directory where mosquitto stores its persistence data. Must be writable by the mosquitto process.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">sys_interval</span> <input type="number" placeholder="10" min="0" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Interval in seconds between <code class="svelte-1by6o5t">$SYS</code> status updates. <code class="svelte-1by6o5t">0</code> disables <code class="svelte-1by6o5t">$SYS</code> messages.</p></div></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">include_dir</span> <textarea placeholder="/etc/mosquitto/conf.d" class="svelte-1by6o5t"></textarea></label> <p class="hint svelte-1by6o5t">One path per line. Each directory will be scanned for <code class="svelte-1by6o5t">*.conf</code> files and included in order.</p></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Logging</h4> <div class="field svelte-1by6o5t"><span class="field-key svelte-1by6o5t">log_dest</span> <div class="checkbox-group svelte-1by6o5t"></div> <p class="hint svelte-1by6o5t">Log destinations. Enable <code class="svelte-1by6o5t">topic</code> to stream logs to <code class="svelte-1by6o5t">$SYS/broker/log/*</code> and view them in the Logs tab. <code class="svelte-1by6o5t">none</code> disables logging entirely.</p></div> <div class="field svelte-1by6o5t"><span class="field-key svelte-1by6o5t">log_type</span> <div class="log-type-grid svelte-1by6o5t"><div class="log-type-group svelte-1by6o5t"><span class="log-type-group-label svelte-1by6o5t">Severity</span> <!></div> <div class="log-type-group svelte-1by6o5t"><span class="log-type-group-label svelte-1by6o5t">Events</span> <!></div> <div class="log-type-group log-type-group--other svelte-1by6o5t"><!> <span class="all-hint svelte-1by6o5t">enables all types above</span></div></div> <p class="hint svelte-1by6o5t">Types of messages to log. Leave all unchecked to use the broker default.</p></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Connection limits</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_connections</span> <input placeholder="−1 (unlimited)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum simultaneous client connections. <code class="svelte-1by6o5t">-1</code> = unlimited.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_keepalive</span> <input placeholder="65535" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum keepalive value (seconds) a client may request. <code class="svelte-1by6o5t">0</code> = unlimited.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_inflight_messages</span> <input placeholder="20" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Max simultaneous unacknowledged QoS 1/2 messages per client.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_queued_messages</span> <input placeholder="100" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Max messages queued for a disconnected persistent client.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Packet & payload size</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_packet_size</span> <input placeholder="0 (no limit)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum MQTT packet size in bytes (MQTT v5 only). <code class="svelte-1by6o5t">0</code> = no limit.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">message_size_limit</span> <input placeholder="0 (no limit)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum payload size in bytes for published messages. <code class="svelte-1by6o5t">0</code> = no limit.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Sessions & persistence</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistent_client_expiration</span> <input placeholder="e.g. 7d, 2h, 30m" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Expire persistent sessions after this duration. Suffix: <code class="svelte-1by6o5t">d</code>/<code class="svelte-1by6o5t">h</code>/<code class="svelte-1by6o5t">m</code>/<code class="svelte-1by6o5t">s</code>. Empty = never expire.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">retain_available</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — allow retained messages</option><option>false — disable retained messages globally</option></select></label> <p class="hint svelte-1by6o5t">Disable retained messages broker-wide.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Performance</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">set_tcp_nodelay</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — disable Nagle (lower latency)</option><option>false — enable Nagle</option></select></label> <p class="hint svelte-1by6o5t">Disable Nagle's algorithm to reduce latency at the cost of slightly more packets.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">connection_messages</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — log connect/disconnect</option><option>false — suppress</option></select></label> <p class="hint svelte-1by6o5t">Log a message on every client connect and disconnect.</p></div></div></div>`,1),tee=B('<div class="config-page svelte-1by6o5t"><div class="page-header svelte-1by6o5t"><h3 class="svelte-1by6o5t">Global config</h3> <div class="header-actions svelte-1by6o5t"><button class="btn-save svelte-1by6o5t"> </button> <button class="btn-reload svelte-1by6o5t"> </button></div></div> <!> <!> <!> <!> <!></div>');function iee(o,e){js(e,!0);let t=F(null),i=F(""),n=F(!1),s=F(""),r=F(!1),a=F(!1),d=F(""),u=F(null),f=F(""),g=F(""),p=F(""),C=F(""),b=F(""),y=F(""),w=F(""),A=F(""),I=F(""),M=F(""),R=F(""),T=F(""),V=F(""),H=F("");const X=["file","stdout","stderr","syslog","topic","none"],se=["error","warning","notice","information","debug"],he=["connect","disconnect","subscribe","unsubscribe","publish","receive","websockets"],J=["all"];[...se,...he,...J];let ue=F(Pi(new Set)),be=F(Pi(new Set));function re(Ke,ye){const ti=new Set(Ke);return ti.has(ye)?ti.delete(ye):ti.add(ye),ti}function ce(Ke){if(!c(t))return"";const ye=c(t).managed[Ke];return Array.isArray(ye)?ye[0]:ye??""}function ke(Ke){if(!c(t))return new Set;const ye=c(t).managed[Ke];return ye?new Set(Array.isArray(ye)?ye:[ye]):new Set}Xs(()=>Pe());async function Pe(){try{m(t,await uS(),!0),m(u,c(t).checksum,!0),m(f,ce("persistence"),!0),m(g,ce("persistence_location"),!0),m(p,ce("sys_interval"),!0);const Ke=c(t).managed.include_dir;m(C,Ke?Array.isArray(Ke)?Ke.join(`
|
|
231
|
-
`):Ke:"",!0),m(b,ce("max_connections"),!0),m(y,ce("max_inflight_messages"),!0),m(w,ce("max_queued_messages"),!0),m(A,ce("max_packet_size"),!0),m(I,ce("message_size_limit"),!0),m(M,ce("max_keepalive"),!0),m(R,ce("persistent_client_expiration"),!0),m(T,ce("retain_available"),!0),m(V,ce("set_tcp_nodelay"),!0),m(H,ce("connection_messages"),!0),m(ue,ke("log_dest"),!0),m(be,ke("log_type"),!0),m(i,"")}catch(Ke){m(i,Ke.message??"Failed to load config",!0)}}async function xe(){if(c(t)){m(n,!0),m(s,""),m(r,!1);try{let ye=function(Ei,Jt){Jt!==""?Ke[Ei]=Jt:delete Ke[Ei]};const Ke={...c(t).managed};ye("persistence",c(f)),ye("persistence_location",c(g)),ye("sys_interval",c(p));const ti=c(C).split(`
|
|
232
|
-
`).map(Ei=>Ei.trim()).filter(Boolean);ti.length>0?Ke.include_dir=ti.length===1?ti[0]:ti:delete Ke.include_dir,ye("max_connections",c(b)),ye("max_inflight_messages",c(y)),ye("max_queued_messages",c(w)),ye("max_packet_size",c(A)),ye("message_size_limit",c(I)),ye("max_keepalive",c(M)),ye("persistent_client_expiration",c(R)),ye("retain_available",c(T)),ye("set_tcp_nodelay",c(V)),ye("connection_messages",c(H)),c(ue).size>0?Ke.log_dest=c(ue).size===1?[...c(ue)][0]:[...c(ue)]:delete Ke.log_dest,c(be).size>0?Ke.log_type=c(be).size===1?[...c(be)][0]:[...c(be)]:delete Ke.log_type,await SF({listeners:c(t).listeners,managed:Ke,passthrough:c(t).passthrough,checksum:c(u)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await Pe()}catch(Ke){m(s,Ke.message??"Save failed",!0)}finally{m(n,!1)}}}async function He(){m(a,!0),m(d,"");try{const Ke=await DF();m(d,Ke.stderr||Ke.stdout||"Reloaded",!0)}catch(Ke){m(d,"Error: "+(Ke.message??"reload failed"))}finally{m(a,!1)}}var Ue=tee(),ve=_(Ue),mt=v(_(ve),2),Mt=_(mt),st=_(Mt),yt=v(Mt,2),Ce=_(yt),Nt=v(ve,2);{var si=Ke=>{var ye=J2(),ti=_(ye);j(()=>W(ti,c(i))),D(Ke,ye)};z(Nt,Ke=>{c(i)&&Ke(si)})}var Xe=v(Nt,2);{var et=Ke=>{var ye=J2(),ti=_(ye);j(()=>W(ti,c(s))),D(Ke,ye)};z(Xe,Ke=>{c(s)&&Ke(et)})}var St=v(Xe,2);{var Qt=Ke=>{var ye=YJ();D(Ke,ye)};z(St,Ke=>{c(r)&&Ke(Qt)})}var fi=v(St,2);{var oi=Ke=>{var ye=QJ(),ti=_(ye);j(()=>W(ti,c(d))),D(Ke,ye)};z(fi,Ke=>{c(d)&&Ke(oi)})}var Bi=v(fi,2);{var _i=Ke=>{var ye=eee(),ti=Et(ye),Ei=v(_(ti),2),Jt=_(Ei),Vi=_(Jt),Yi=v(_(Vi),2),Ti=_(Yi);Ti.value=Ti.__value="";var wn=v(Ti);wn.value=wn.__value="true";var cn=v(wn);cn.value=cn.__value="false";var gn=v(Jt,2),hn=_(gn),ft=v(_(hn),2),Ut=v(gn,2),Ri=_(Ut),qi=v(_(Ri),2),bi=v(Ei,2),Wi=_(bi),ji=v(_(Wi),2);ln(ji,"rows",3);var Ji=v(ti,2),Si=v(_(Ji),2),$i=v(_(Si),2);ei($i,21,()=>X,Hi,(Ee,We)=>{var wt=QC(),gt=_(wt),Ie=v(gt,3);j(ge=>{Zo(gt,ge),W(Ie,` ${c(We)??""}`)},[()=>c(ue).has(c(We))]),U("change",gt,()=>{m(ue,re(c(ue),c(We)),!0)}),D(Ee,wt)});var ze=v(Si,2),qt=v(_(ze),2),Fi=_(qt),zi=v(_(Fi),2);ei(zi,17,()=>se,Hi,(Ee,We)=>{var wt=QC(),gt=_(wt),Ie=v(gt,3);j(ge=>{Zo(gt,ge),W(Ie,` ${c(We)??""}`)},[()=>c(be).has(c(We))]),U("change",gt,()=>{m(be,re(c(be),c(We)),!0)}),D(Ee,wt)});var Di=v(Fi,2),K=v(_(Di),2);ei(K,17,()=>he,Hi,(Ee,We)=>{var wt=QC(),gt=_(wt),Ie=v(gt,3);j(ge=>{Zo(gt,ge),W(Ie,` ${c(We)??""}`)},[()=>c(be).has(c(We))]),U("change",gt,()=>{m(be,re(c(be),c(We)),!0)}),D(Ee,wt)});var De=v(Di,2),Qe=_(De);ei(Qe,17,()=>J,Hi,(Ee,We)=>{var wt=JJ(),gt=_(wt),Ie=v(gt,4),ge=_(Ie);j(Re=>{Zo(gt,Re),W(ge,c(We))},[()=>c(be).has(c(We))]),U("change",gt,()=>{m(be,re(c(be),c(We)),!0)}),D(Ee,wt)});var tt=v(Ji,2),Gt=v(_(tt),2),ci=_(Gt),vt=_(ci),dt=v(_(vt),2),Y=v(ci,2),Te=_(Y),lt=v(_(Te),2),we=v(Y,2),di=_(we),Lt=v(_(di),2),te=v(we,2),Ye=_(te),Bt=v(_(Ye),2),It=v(tt,2),Dt=v(_(It),2),Be=_(Dt),je=_(Be),Kt=v(_(je),2),ri=v(Be,2),hi=_(ri),Xt=v(_(hi),2),pe=v(It,2),Ge=v(_(pe),2),ot=_(Ge),rt=_(ot),jt=v(_(rt),2),Ot=v(ot,2),Ci=_(Ot),P=v(_(Ci),2),N=_(P);N.value=N.__value="";var $=v(N);$.value=$.__value="true";var oe=v($);oe.value=oe.__value="false";var ne=v(pe,2),ie=v(_(ne),2),ae=_(ie),Je=_(ae),Le=v(_(Je),2),_e=_(Le);_e.value=_e.__value="";var Ze=v(_e);Ze.value=Ze.__value="true";var Me=v(Ze);Me.value=Me.__value="false";var ct=v(ae,2),Zt=_(ct),Z=v(_(Zt),2),le=_(Z);le.value=le.__value="";var $e=v(le);$e.value=$e.__value="true";var Pt=v($e);Pt.value=Pt.__value="false",Fs(Yi,()=>c(f),Ee=>m(f,Ee)),Vt(ft,()=>c(g),Ee=>m(g,Ee)),Vt(qi,()=>c(p),Ee=>m(p,Ee)),Vt(ji,()=>c(C),Ee=>m(C,Ee)),Vt(dt,()=>c(b),Ee=>m(b,Ee)),Vt(lt,()=>c(M),Ee=>m(M,Ee)),Vt(Lt,()=>c(y),Ee=>m(y,Ee)),Vt(Bt,()=>c(w),Ee=>m(w,Ee)),Vt(Kt,()=>c(A),Ee=>m(A,Ee)),Vt(Xt,()=>c(I),Ee=>m(I,Ee)),Vt(jt,()=>c(R),Ee=>m(R,Ee)),Fs(P,()=>c(T),Ee=>m(T,Ee)),Fs(Le,()=>c(V),Ee=>m(V,Ee)),Fs(Z,()=>c(H),Ee=>m(H,Ee)),D(Ke,ye)};z(Bi,Ke=>{c(t)&&Ke(_i)})}j(()=>{Mt.disabled=c(n),W(st,c(n)?"Saving…":"Save"),yt.disabled=c(a),W(Ce,c(a)?"Reloading…":"Apply & Reload")}),U("click",Mt,xe),U("click",yt,He),D(o,Ue),$s()}Ys(["click","change"]);var nl=B('<div class="err svelte-9auejo"> </div>'),nee=B('<div class="info-card svelte-9auejo"><dl class="svelte-9auejo"><dt class="svelte-9auejo">CN</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint (SHA-256)</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd> </dd></dl></div>'),see=B('<div class="empty svelte-9auejo">No managed server certificate. Use one of the options above, or configure <code>certfile</code>/<code>keyfile</code> manually in the Listeners tab.</div>'),oee=B('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),ree=B('<tr><td class="mono svelte-9auejo"> </td><td class="mono small svelte-9auejo"> </td><td> </td><td class="actions svelte-9auejo"><button class="danger svelte-9auejo">✕</button></td></tr>'),aee=B('<table class="svelte-9auejo"><thead><tr><th class="svelte-9auejo">CN</th><th class="svelte-9auejo">Fingerprint</th><th class="svelte-9auejo">Expires</th><th class="svelte-9auejo"></th></tr></thead><tbody></tbody></table>'),lee=B('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Certificate installed.</p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd><dt class="svelte-9auejo">Expires</dt><dd class="svelte-9auejo"> </dd></dl></div>'),eA=B('<button class="btn-primary svelte-9auejo"> </button>'),cee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate self-signed server certificate</h3> <label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.local" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Validity (days)<input type="number" min="1" max="3650" class="svelte-9auejo"/></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div></div></div>'),dee=B('<label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.local" class="svelte-9auejo"/></label> <p class="hint svelte-9auejo">A private key and CSR are generated on the server. Copy the CSR, have it signed by your CA, then paste the signed cert below.</p> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),uee=B('<div class="ok svelte-9auejo">✓ Certificate installed.</div>'),hee=B('<p class="hint svelte-9auejo">Key stored on server. Copy the CSR, get it signed, then paste the signed certificate to complete installation.</p> <label class="svelte-9auejo">Certificate Signing Request<textarea readonly="" rows="8" class="svelte-9auejo"></textarea></label> <div class="csr-actions svelte-9auejo"><button class="svelte-9auejo">Copy CSR</button> <a class="btn-download svelte-9auejo" download="server.csr">Download .csr</a></div> <hr class="svelte-9auejo"/> <label class="svelte-9auejo">Upload signed certificate (PEM)<textarea rows="6" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div>',1),fee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Generate key + CSR for server certificate</h3> <!></div></div>'),gee=B('<label class="svelte-9auejo">Certificate (PEM)<textarea rows="5" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <label class="svelte-9auejo">Private key (PEM — leave blank if key is already on disk from a prior CSR)<textarea rows="4" placeholder="-----BEGIN PRIVATE KEY----- … -----END PRIVATE KEY-----" class="svelte-9auejo"></textarea></label>',1),pee=B('<span class="file-name mono small svelte-9auejo"> </span>'),xee=B('<label class="svelte-9auejo">PKCS#12 file <div class="file-row svelte-9auejo"><input type="file" accept=".p12,.pfx" class="svelte-9auejo"/> <!></div></label> <label class="svelte-9auejo">Passphrase <div class="pw-row svelte-9auejo"><input autocomplete="off" class="svelte-9auejo"/> <button class="toggle-pw svelte-9auejo"> </button></div></label>',1),mee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Import server certificate</h3> <div class="import-mode-tabs svelte-9auejo"><button>PEM files</button> <button>PKCS#12 (.p12 / .pfx)</button></div> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),JC=B("<option></option>"),vee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Use existing certificate files</h3> <p class="hint svelte-9auejo">Enter absolute paths on the broker host. Tab-completion is available for paths starting with /.</p> <label class="svelte-9auejo">Certificate file path <input list="set-cert-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/fullchain.pem" class="svelte-9auejo"/> <datalist id="set-cert-path-list"></datalist></label> <label class="svelte-9auejo">Private key file path <input list="set-key-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/privkey.pem" class="svelte-9auejo"/> <datalist id="set-key-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),_ee=B('<label class="svelte-9auejo">CA certificate (PEM)<textarea rows="8" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),bee=B('<p class="hint svelte-9auejo">Enter the absolute path to the CA certificate file on the broker host.</p> <label class="svelte-9auejo">CA certificate path <input list="trusted-path-list" placeholder="/etc/ssl/certs/my-ca.pem" class="svelte-9auejo"/> <datalist id="trusted-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),Cee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Add trusted CA certificate</h3> <div class="import-mode-tabs svelte-9auejo"><button>Paste PEM</button> <button>From path</button></div> <!></div></div>'),Eee=B('<div class="certs-page svelte-9auejo"><div class="page-toolbar svelte-9auejo"><button class="reload-btn svelte-9auejo" title="Refresh">↺</button></div> <!> <!> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Server Certificate</h3> <button class="svelte-9auejo">Self-signed</button> <button class="svelte-9auejo">Generate CSR</button> <button class="svelte-9auejo">Import cert</button> <button class="svelte-9auejo">Use path</button></div> <!></div> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Trusted CA Certificates</h3> <button class="svelte-9auejo">+ Add CA cert</button></div> <!></div></div> <!> <!> <!> <!> <!>',1);function yee(o,e){js(e,!0);let t=F(null),i=F(Pi([])),n=F(""),s=F(""),r=F(!1),a=F(""),d=F(""),u=F(365),f=F(!1),g=F(""),p=F(null),C=F(!1),b=F(""),y=F(""),w=F(!1),A=F(""),I=F(""),M=F(""),R=F(!1),T=F(""),V=F(!1),H=F(!1),X=F("pem"),se=F(""),he=F(""),J=F(""),ue=F(""),be=F(""),re=F(!1),ce=F(!1),ke=F(""),Pe=F(!1),xe=F(""),He=F(""),Ue=F(!1),ve=F(""),mt=F(Pi([])),Mt=F(Pi([])),st=F(!1),yt=F("pem"),Ce=F(""),Nt=F(!1),si=F(""),Xe=F(""),et=F(Pi([])),St=F(!1),Qt=F("");async function fi(){try{const[Be,je]=await Promise.allSettled([NU(),WU()]);Be.status==="fulfilled"&&m(t,Be.value.server,!0),je.status==="fulfilled"&&m(i,je.value.certs,!0),m(n,"")}catch(Be){m(n,Be.message,!0)}}Xs(()=>{fi()});async function oi(){m(g,""),m(f,!0),m(p,null);try{const Be=c(d).split(",").map(Kt=>Kt.trim()).filter(Boolean),je=await OU({cn:c(a),san:Be,days:c(u)});m(p,{fingerprint:je.fingerprint,expires:je.expires},!0),await fi()}catch(Be){m(g,Be.message,!0)}finally{m(f,!1)}}async function Bi(){m(A,""),m(w,!0),m(I,"");try{const Be=c(y).split(",").map(Kt=>Kt.trim()).filter(Boolean),je=await HU({cn:c(b),san:Be});m(I,je.csrPem,!0)}catch(Be){m(A,Be.message,!0)}finally{m(w,!1)}}async function _i(){m(T,""),m(R,!0),m(V,!1);try{if(!c(M).trim())throw new Error("Paste the signed certificate PEM");await GC({cert:c(M)}),m(V,!0),await fi()}catch(Be){m(T,Be.message,!0)}finally{m(R,!1)}}function Ke(){navigator.clipboard.writeText(c(I)).catch(()=>{})}function ye(Be){var ri;const je=(ri=Be.target.files)==null?void 0:ri[0];if(!je)return;m(ue,je.name,!0);const Kt=new FileReader;Kt.onload=()=>{const hi=Kt.result;m(J,btoa(String.fromCharCode(...new Uint8Array(hi))),!0)},Kt.readAsArrayBuffer(je)}async function ti(){m(ke,""),m(ce,!0);try{if(c(X)==="p12"){if(!c(J))throw new Error("Select a .p12 / .pfx file");await GC({p12base64:c(J),passphrase:c(be)})}else{if(!c(se).trim())throw new Error("Certificate PEM is required");await GC({cert:c(se),key:c(he)||void 0})}m(H,!1),await fi()}catch(Be){m(ke,Be.message,!0)}finally{m(ce,!1)}}function Ei(Be){let je;return Kt=>{const ri=Kt.target.value;clearTimeout(je),je=setTimeout(async()=>{if(!ri.startsWith("/")||ri.length<2){Be([]);return}try{Be((await jU(ri)).suggestions)}catch{Be([])}},280)}}const Jt=Ei(Be=>{m(mt,Be,!0)}),Vi=Ei(Be=>{m(Mt,Be,!0)}),Yi=Ei(Be=>{m(et,Be,!0)});async function Ti(){m(ve,""),m(Ue,!0);try{await $U({certPath:c(xe),keyPath:c(He)}),m(Pe,!1),await fi()}catch(Be){m(ve,Be.message,!0)}finally{m(Ue,!1)}}async function wn(){m(si,""),m(Nt,!0);try{await zU(c(Ce)),m(Ce,""),m(st,!1),await fi()}catch(Be){m(si,Be.message,!0)}finally{m(Nt,!1)}}async function cn(){m(Qt,""),m(St,!0);try{await UU(c(Xe)),m(Xe,""),m(st,!1),await fi()}catch(Be){m(Qt,Be.message,!0)}finally{m(St,!1)}}async function gn(Be){if(confirm("Remove this trusted CA cert?"))try{await VU(Be),await fi()}catch(je){m(s,je.message,!0)}}function hn(Be){const je=new Date(Be).getTime()-Date.now();return je<0?"expired":je<30*864e5?"expiring":""}function ft(Be){return new Date(Be).toLocaleDateString()}var Ut=Eee(),Ri=Et(Ut),qi=_(Ri),bi=_(qi),Wi=v(qi,2);{var ji=Be=>{var je=nl(),Kt=_(je);j(()=>W(Kt,c(n))),D(Be,je)};z(Wi,Be=>{c(n)&&Be(ji)})}var Ji=v(Wi,2);{var Si=Be=>{var je=nl(),Kt=_(je);j(()=>W(Kt,c(s))),D(Be,je)};z(Ji,Be=>{c(s)&&Be(Si)})}var $i=v(Ji,2),ze=_($i),qt=v(_(ze),2),Fi=v(qt,2),zi=v(Fi,2),Di=v(zi,2),K=v(ze,2);{var De=Be=>{var je=nee(),Kt=_(je),ri=v(_(Kt)),hi=_(ri),Xt=v(ri,3),pe=_(Xt),Ge=v(Xt,3),ot=_(Ge);j((rt,jt)=>{W(hi,c(t).cn),W(pe,c(t).fingerprint),kt(Ge,1,rt,"svelte-9auejo"),W(ot,jt)},[()=>hg(hn(c(t).expires)),()=>ft(c(t).expires)]),D(Be,je)},Qe=Be=>{var je=see();D(Be,je)};z(K,Be=>{c(t)?Be(De):Be(Qe,-1)})}var tt=v($i,2),Gt=_(tt),ci=v(_(Gt),2),vt=v(Gt,2);{var dt=Be=>{var je=oee();D(Be,je)},Y=Be=>{var je=aee(),Kt=v(_(je));ei(Kt,21,()=>c(i),Hi,(ri,hi)=>{var Xt=ree(),pe=_(Xt),Ge=_(pe),ot=v(pe),rt=_(ot),jt=v(ot),Ot=_(jt),Ci=v(jt),P=_(Ci);j((N,$,oe)=>{W(Ge,c(hi).cn),W(rt,`${N??""}…`),kt(jt,1,$,"svelte-9auejo"),W(Ot,oe)},[()=>c(hi).fingerprint.slice(0,29),()=>hg(hn(c(hi).expires)),()=>ft(c(hi).expires)]),U("click",P,()=>gn(c(hi).fingerprint)),D(ri,Xt)}),D(Be,je)};z(vt,Be=>{c(i).length===0?Be(dt):Be(Y,-1)})}var Te=v(Ri,2);{var lt=Be=>{var je=cee(),Kt=_(je),ri=v(_(Kt),2),hi=v(_(ri)),Xt=v(ri,2),pe=v(_(Xt)),Ge=v(Xt,2),ot=v(_(Ge)),rt=v(Ge,2);{var jt=ne=>{var ie=nl(),ae=_(ie);j(()=>W(ae,c(g))),D(ne,ie)};z(rt,ne=>{c(g)&&ne(jt)})}var Ot=v(rt,2);{var Ci=ne=>{var ie=lee(),ae=v(_(ie),2),Je=v(_(ae)),Le=_(Je),_e=v(Je,2),Ze=_(_e);j(Me=>{W(Le,c(p).fingerprint),W(Ze,Me)},[()=>ft(c(p).expires)]),D(ne,ie)};z(Ot,ne=>{c(p)&&ne(Ci)})}var P=v(Ot,2),N=_(P),$=v(N,2);{var oe=ne=>{var ie=eA(),ae=_(ie);j(()=>{ie.disabled=c(f),W(ae,c(f)?"Generating…":"Generate")}),U("click",ie,oi),D(ne,ie)};z($,ne=>{c(p)||ne(oe)})}Vt(hi,()=>c(a),ne=>m(a,ne)),Vt(pe,()=>c(d),ne=>m(d,ne)),Vt(ot,()=>c(u),ne=>m(u,ne)),U("click",N,()=>m(r,!1)),D(Be,je)};z(Te,Be=>{c(r)&&Be(lt)})}var we=v(Te,2);{var di=Be=>{var je=fee(),Kt=_(je),ri=v(_(Kt),2);{var hi=pe=>{var Ge=dee(),ot=Et(Ge),rt=v(_(ot)),jt=v(ot,2),Ot=v(_(jt)),Ci=v(jt,4);{var P=ie=>{var ae=nl(),Je=_(ae);j(()=>W(Je,c(A))),D(ie,ae)};z(Ci,ie=>{c(A)&&ie(P)})}var N=v(Ci,2),$=_(N),oe=v($,2),ne=_(oe);j(()=>{oe.disabled=c(w),W(ne,c(w)?"Generating…":"Generate key + CSR")}),Vt(rt,()=>c(b),ie=>m(b,ie)),Vt(Ot,()=>c(y),ie=>m(y,ie)),U("click",$,()=>m(C,!1)),U("click",oe,Bi),D(pe,Ge)},Xt=pe=>{var Ge=hee(),ot=v(Et(Ge),2),rt=v(_(ot)),jt=v(ot,2),Ot=_(jt),Ci=v(Ot,2),P=v(jt,4),N=v(_(P)),$=v(P,2);{var oe=Ze=>{var Me=nl(),ct=_(Me);j(()=>W(ct,c(T))),D(Ze,Me)};z($,Ze=>{c(T)&&Ze(oe)})}var ne=v($,2);{var ie=Ze=>{var Me=uee();D(Ze,Me)};z(ne,Ze=>{c(V)&&Ze(ie)})}var ae=v(ne,2),Je=_(ae),Le=v(Je,2);{var _e=Ze=>{var Me=eA(),ct=_(Me);j(Zt=>{Me.disabled=Zt,W(ct,c(R)?"Uploading…":"Upload signed cert")},[()=>c(R)||!c(M).trim()]),U("click",Me,_i),D(Ze,Me)};z(Le,Ze=>{c(V)||Ze(_e)})}j(Ze=>{F1(rt,c(I)),ln(Ci,"href",`data:application/pkcs10;charset=utf-8,${Ze??""}`)},[()=>encodeURIComponent(c(I))]),U("click",Ot,Ke),Vt(N,()=>c(M),Ze=>m(M,Ze)),U("click",Je,()=>m(C,!1)),D(pe,Ge)};z(ri,pe=>{c(I)?pe(Xt,-1):pe(hi)})}D(Be,je)};z(we,Be=>{c(C)&&Be(di)})}var Lt=v(we,2);{var te=Be=>{var je=mee(),Kt=_(je),ri=v(_(Kt),2),hi=_(ri);let Xt;var pe=v(hi,2);let Ge;var ot=v(ri,2);{var rt=ne=>{var ie=gee(),ae=Et(ie),Je=v(_(ae)),Le=v(ae,2),_e=v(_(Le));Vt(Je,()=>c(se),Ze=>m(se,Ze)),Vt(_e,()=>c(he),Ze=>m(he,Ze)),D(ne,ie)},jt=ne=>{var ie=xee(),ae=Et(ie),Je=v(_(ae)),Le=_(Je),_e=v(Le,2);{var Ze=$e=>{var Pt=pee(),Ee=_(Pt);j(()=>W(Ee,c(ue))),D($e,Pt)};z(_e,$e=>{c(ue)&&$e(Ze)})}var Me=v(ae,2),ct=v(_(Me)),Zt=_(ct),Z=v(Zt,2),le=_(Z);j(()=>{ln(Zt,"type",c(re)?"text":"password"),W(le,c(re)?"Hide":"Show")}),U("change",Le,ye),Vt(Zt,()=>c(be),$e=>m(be,$e)),U("click",Z,()=>m(re,!c(re))),D(ne,ie)};z(ot,ne=>{c(X)==="pem"?ne(rt):ne(jt,-1)})}var Ot=v(ot,2);{var Ci=ne=>{var ie=nl(),ae=_(ie);j(()=>W(ae,c(ke))),D(ne,ie)};z(Ot,ne=>{c(ke)&&ne(Ci)})}var P=v(Ot,2),N=_(P),$=v(N,2),oe=_($);j(()=>{Xt=kt(hi,1,"svelte-9auejo",null,Xt,{active:c(X)==="pem"}),Ge=kt(pe,1,"svelte-9auejo",null,Ge,{active:c(X)==="p12"}),$.disabled=c(ce),W(oe,c(ce)?"Importing…":"Import")}),U("click",hi,()=>m(X,"pem")),U("click",pe,()=>m(X,"p12")),U("click",N,()=>m(H,!1)),U("click",$,ti),D(Be,je)};z(Lt,Be=>{c(H)&&Be(te)})}var Ye=v(Lt,2);{var Bt=Be=>{var je=vee(),Kt=_(je),ri=v(_(Kt),4),hi=v(_(ri)),Xt=v(hi,2);ei(Xt,21,()=>c(mt),Hi,($,oe)=>{var ne=JC(),ie={};j(()=>{ie!==(ie=c(oe))&&(ne.value=(ne.__value=c(oe))??"")}),D($,ne)});var pe=v(ri,2),Ge=v(_(pe)),ot=v(Ge,2);ei(ot,21,()=>c(Mt),Hi,($,oe)=>{var ne=JC(),ie={};j(()=>{ie!==(ie=c(oe))&&(ne.value=(ne.__value=c(oe))??"")}),D($,ne)});var rt=v(pe,2);{var jt=$=>{var oe=nl(),ne=_(oe);j(()=>W(ne,c(ve))),D($,oe)};z(rt,$=>{c(ve)&&$(jt)})}var Ot=v(rt,2),Ci=_(Ot),P=v(Ci,2),N=_(P);j($=>{P.disabled=$,W(N,c(Ue)?"Installing…":"Install")},[()=>c(Ue)||!c(xe).trim()||!c(He).trim()]),U("input",hi,Jt),Vt(hi,()=>c(xe),$=>m(xe,$)),U("input",Ge,Vi),Vt(Ge,()=>c(He),$=>m(He,$)),U("click",Ci,()=>m(Pe,!1)),U("click",P,Ti),D(Be,je)};z(Ye,Be=>{c(Pe)&&Be(Bt)})}var It=v(Ye,2);{var Dt=Be=>{var je=Cee(),Kt=_(je),ri=v(_(Kt),2),hi=_(ri);let Xt;var pe=v(hi,2);let Ge;var ot=v(ri,2);{var rt=Ot=>{var Ci=_ee(),P=Et(Ci),N=v(_(P)),$=v(P,2);{var oe=Le=>{var _e=nl(),Ze=_(_e);j(()=>W(Ze,c(si))),D(Le,_e)};z($,Le=>{c(si)&&Le(oe)})}var ne=v($,2),ie=_(ne),ae=v(ie,2),Je=_(ae);j(Le=>{ae.disabled=Le,W(Je,c(Nt)?"Adding…":"Add CA cert")},[()=>c(Nt)||!c(Ce).trim()]),Vt(N,()=>c(Ce),Le=>m(Ce,Le)),U("click",ie,()=>m(st,!1)),U("click",ae,wn),D(Ot,Ci)},jt=Ot=>{var Ci=bee(),P=v(Et(Ci),2),N=v(_(P)),$=v(N,2);ei($,21,()=>c(et),Hi,(_e,Ze)=>{var Me=JC(),ct={};j(()=>{ct!==(ct=c(Ze))&&(Me.value=(Me.__value=c(Ze))??"")}),D(_e,Me)});var oe=v(P,2);{var ne=_e=>{var Ze=nl(),Me=_(Ze);j(()=>W(Me,c(Qt))),D(_e,Ze)};z(oe,_e=>{c(Qt)&&_e(ne)})}var ie=v(oe,2),ae=_(ie),Je=v(ae,2),Le=_(Je);j(_e=>{Je.disabled=_e,W(Le,c(St)?"Adding…":"Add CA cert")},[()=>c(St)||!c(Xe).trim()]),U("input",N,Yi),Vt(N,()=>c(Xe),_e=>m(Xe,_e)),U("click",ae,()=>m(st,!1)),U("click",Je,cn),D(Ot,Ci)};z(ot,Ot=>{c(yt)==="pem"?Ot(rt):Ot(jt,-1)})}j(()=>{Xt=kt(hi,1,"svelte-9auejo",null,Xt,{active:c(yt)==="pem"}),Ge=kt(pe,1,"svelte-9auejo",null,Ge,{active:c(yt)==="path"})}),U("click",hi,()=>m(yt,"pem")),U("click",pe,()=>m(yt,"path")),D(Be,je)};z(It,Be=>{c(st)&&Be(Dt)})}U("click",bi,fi),U("click",qt,()=>{m(r,!0),m(g,""),m(p,null)}),U("click",Fi,()=>{m(C,!0),m(A,""),m(I,""),m(M,""),m(V,!1),m(T,"")}),U("click",zi,()=>{m(H,!0),m(ke,""),m(X,"pem"),m(se,""),m(he,""),m(J,""),m(ue,""),m(be,""),m(re,!1)}),U("click",Di,()=>{m(Pe,!0),m(ve,""),m(xe,""),m(He,""),m(mt,[],!0),m(Mt,[],!0)}),U("click",ci,()=>{m(st,!0),m(si,""),m(Ce,""),m(yt,"pem"),m(Qt,""),m(Xe,""),m(et,[],!0)}),D(o,Ut),$s()}Ys(["click","change","input"]);var Gx=B('<div class="err svelte-17yczfe"> </div>'),wee=B('<div class="check-list svelte-17yczfe"><div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto_ctrl</code> <span> </span></div> <div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto</code> <span> </span></div></div>'),See=B('<div class="checking svelte-17yczfe">Checking…</div>'),Dee=B('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Tool availability</h3> <p class="hint svelte-17yczfe">These tools must be installed and in the PATH of the she process. They are used by the Setup Wizard and cert installation.</p> <!> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div></div>'),Aee=B('<label class="svelte-17yczfe">Install command (run locally) <div class="pubkey-row svelte-17yczfe"><input readonly="" class="svelte-17yczfe"/> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),kee=B('<label class="svelte-17yczfe">Public key <div class="pubkey-row svelte-17yczfe"><textarea readonly="" rows="3" class="svelte-17yczfe"></textarea> <button class="copy-btn svelte-17yczfe">Copy</button></div></label> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>',1),Bee=B('<div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>'),Fee=B("<span> </span>"),Lee=B('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH connection</h3> <p class="hint svelte-17yczfe">Used for file operations: reading/writing mosquitto.conf and installing certificates on the broker host. User/ACL management always uses the MQTT port directly.</p> <div class="fields svelte-17yczfe"><label class="svelte-17yczfe">Host<input placeholder="192.168.1.10 or broker.local" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Port<input type="number" min="1" max="65535" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">SSH user<input placeholder="root" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Identity file (private key)<input class="svelte-17yczfe"/></label></div></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH keypair</h3> <p class="hint svelte-17yczfe">Dedicated Ed25519 keypair for she to authenticate to the broker host. Private key stored at <code class="svelte-17yczfe"> </code>.</p> <!> <!></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Test connection</h3> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button> <!></div></div>',1),Iee=B('<div class="ok svelte-17yczfe">Saved.</div>'),Pee=B('<div class="mosquitto-page svelte-17yczfe"><!> <div class="mode-bar svelte-17yczfe"><span class="mode-label svelte-17yczfe">Connection mode</span> <div class="mode-toggle svelte-17yczfe"><button>Local</button> <button>SSH / Remote</button></div> <span class="mode-desc svelte-17yczfe"> </span></div> <!> <!> <!> <!> <div class="row svelte-17yczfe"><button class="btn-primary svelte-17yczfe"> </button></div></div>');function Tee(o,e){js(e,!0);let t=F(Pi({})),i=F(""),n=F(!1),s=F(!1),r=F(""),a=F("~/.she/ssh/broker_id_ed25519"),d=F("local"),u=F(null),f=F(!1),g=F(""),p=F(""),C=F(!1),b=F(""),y=F(!1),w=F(""),A=F(Pi({}));Xs(async()=>{try{const[et,St,Qt]=await Promise.all([Pl(),Tb(),fetch("/she/broker/ssh/pubkey").then(oi=>oi.json()).catch(()=>({publicKey:null}))]);m(A,et,!0),St.sshKeyDefault&&m(a,St.sshKeyDefault,!0);const fi=c(A).broker??{};m(t,fi.ssh??{},!0),c(t).port||(c(t).port=22),c(t).identityFile||(c(t).identityFile=c(a)),Qt.publicKey&&m(p,Qt.publicKey,!0),m(d,c(t).host?"ssh":"local",!0),c(d)==="local"&&I()}catch(et){m(i,et.message,!0)}});async function I(){m(f,!0),m(g,"");try{m(u,await dU(),!0)}catch(et){m(g,et.message??"Check failed",!0)}finally{m(f,!1)}}async function M(){m(n,!0),m(r,""),m(s,!1);try{const et=c(A).broker??{},St=c(d)==="local"?{...c(t),host:""}:c(t),Qt={...c(A),broker:{...et,ssh:St}};await pp(Qt),m(s,!0),setTimeout(()=>m(s,!1),3e3)}catch(et){m(r,et.message,!0)}finally{m(n,!1)}}async function R(){m(C,!0),m(b,"");try{const et=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),St=await et.json();if(!et.ok)throw new Error(St.error??et.statusText);m(p,St.publicKey,!0)}catch(et){m(b,et.message,!0)}finally{m(C,!1)}}async function T(){m(y,!0),m(w,"");try{const et=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),St=await et.json();if(!et.ok)throw new Error(St.error??et.statusText);m(w,St.ok?"✓ Connection successful":"✗ "+(St.error??"Failed"),!0)}catch(et){m(w,"✗ "+et.message)}finally{m(y,!1)}}function V(et){navigator.clipboard.writeText(et).catch(()=>{})}const H=Ft(()=>c(t).identityFile&&c(t).user&&c(t).host?`ssh-copy-id -i ${c(t).identityFile}.pub ${c(t).user}@${c(t).host}`:"");var X=Pee(),se=_(X);{var he=et=>{var St=Gx(),Qt=_(St);j(()=>W(Qt,c(i))),D(et,St)};z(se,et=>{c(i)&&et(he)})}var J=v(se,2),ue=v(_(J),2),be=_(ue);let re;var ce=v(be,2);let ke;var Pe=v(ue,2),xe=_(Pe),He=v(J,2);{var Ue=et=>{var St=Dee(),Qt=v(_(St),4);{var fi=Ei=>{var Jt=Gx(),Vi=_(Jt);j(()=>W(Vi,c(g))),D(Ei,Jt)};z(Qt,Ei=>{c(g)&&Ei(fi)})}var oi=v(Qt,2);{var Bi=Ei=>{var Jt=wee(),Vi=_(Jt),Yi=_(Vi);let Ti;var wn=_(Yi),cn=v(Yi,4);let gn;var hn=_(cn),ft=v(Vi,2),Ut=_(ft);let Ri;var qi=_(Ut),bi=v(Ut,4);let Wi;var ji=_(bi);j(()=>{Ti=kt(Yi,1,"check-icon svelte-17yczfe",null,Ti,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(wn,c(u).mosquittoCtrl?"✓":"✗"),gn=kt(cn,1,"check-note svelte-17yczfe",null,gn,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(hn,c(u).mosquittoCtrl?"found in PATH":"not found — install the mosquitto or mosquitto-clients package"),Ri=kt(Ut,1,"check-icon svelte-17yczfe",null,Ri,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(qi,c(u).mosquitto?"✓":"✗"),Wi=kt(bi,1,"check-note svelte-17yczfe",null,Wi,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(ji,c(u).mosquitto?"found in PATH":"not found — install the mosquitto package")}),D(Ei,Jt)},_i=Ei=>{var Jt=See();D(Ei,Jt)};z(oi,Ei=>{c(u)?Ei(Bi):c(f)&&Ei(_i,1)})}var Ke=v(oi,2),ye=_(Ke),ti=_(ye);j(()=>{ye.disabled=c(f),W(ti,c(f)?"Checking…":c(u)?"Re-check":"Check tools")}),U("click",ye,I),D(et,St)};z(He,et=>{c(d)==="local"&&et(Ue)})}var ve=v(He,2);{var mt=et=>{var St=Lee(),Qt=Et(St),fi=v(_(Qt),4),oi=_(fi),Bi=v(_(oi)),_i=v(oi,2),Ke=v(_(_i)),ye=v(_i,2),ti=v(_(ye)),Ei=v(ye,2),Jt=v(_(Ei)),Vi=v(Qt,2),Yi=v(_(Vi),2),Ti=v(_(Yi)),wn=_(Ti),cn=v(Yi,2);{var gn=Si=>{var $i=kee(),ze=Et($i),qt=v(_(ze)),Fi=_(qt),zi=v(Fi,2),Di=v(ze,2);{var K=Gt=>{var ci=Aee(),vt=v(_(ci)),dt=_(vt),Y=v(dt,2);j(()=>F1(dt,c(H))),U("click",Y,()=>V(c(H))),D(Gt,ci)};z(Di,Gt=>{c(H)&&Gt(K)})}var De=v(Di,2),Qe=_(De),tt=_(Qe);j(()=>{F1(Fi,c(p)),Qe.disabled=c(C),W(tt,c(C)?"Generating…":"Regenerate keypair")}),U("click",zi,()=>V(c(p))),U("click",Qe,R),D(Si,$i)},hn=Si=>{var $i=Bee(),ze=_($i),qt=_(ze);j(()=>{ze.disabled=c(C),W(qt,c(C)?"Generating…":"Generate keypair")}),U("click",ze,R),D(Si,$i)};z(cn,Si=>{c(p)?Si(gn):Si(hn,-1)})}var ft=v(cn,2);{var Ut=Si=>{var $i=Gx(),ze=_($i);j(()=>W(ze,c(b))),D(Si,$i)};z(ft,Si=>{c(b)&&Si(Ut)})}var Ri=v(Vi,2),qi=v(_(Ri),2),bi=_(qi),Wi=_(bi),ji=v(bi,2);{var Ji=Si=>{var $i=Fee();let ze;var qt=_($i);j(Fi=>{ze=kt($i,1,"test-result svelte-17yczfe",null,ze,Fi),W(qt,c(w))},[()=>({ok:c(w).startsWith("✓"),fail:c(w).startsWith("✗")})]),D(Si,$i)};z(ji,Si=>{c(w)&&Si(Ji)})}j(()=>{ln(Jt,"placeholder",c(a)),W(wn,c(t).identityFile||c(a)),bi.disabled=c(y)||!c(t).host,W(Wi,c(y)?"Testing…":"Test SSH connection")}),Vt(Bi,()=>c(t).host,Si=>c(t).host=Si),Vt(Ke,()=>c(t).port,Si=>c(t).port=Si),Vt(ti,()=>c(t).user,Si=>c(t).user=Si),Vt(Jt,()=>c(t).identityFile,Si=>c(t).identityFile=Si),U("click",bi,T),D(et,St)};z(ve,et=>{c(d)==="ssh"&&et(mt)})}var Mt=v(ve,2);{var st=et=>{var St=Gx(),Qt=_(St);j(()=>W(Qt,c(r))),D(et,St)};z(Mt,et=>{c(r)&&et(st)})}var yt=v(Mt,2);{var Ce=et=>{var St=Iee();D(et,St)};z(yt,et=>{c(s)&&et(Ce)})}var Nt=v(yt,2),si=_(Nt),Xe=_(si);j(()=>{re=kt(be,1,"svelte-17yczfe",null,re,{active:c(d)==="local"}),ke=kt(ce,1,"svelte-17yczfe",null,ke,{active:c(d)==="ssh"}),W(xe,c(d)==="local"?"she and mosquitto run on the same machine — local filesystem access":"mosquitto runs on a remote host — file operations go through SSH"),si.disabled=c(n),W(Xe,c(n)?"Saving…":"Save")}),U("click",be,()=>{m(d,"local"),c(u)||I()}),U("click",ce,()=>m(d,"ssh")),U("click",si,M),D(o,X),$s()}Ys(["click"]);var Mee=B("<button> </button>"),Ree=B('<code>log_dest topic</code> is not enabled in mosquitto.conf.<br/> <span class="hint svelte-1yc29ow">Enable it in the <strong>Config</strong> tab, then click <em>Apply & Reload</em>.</span>',1),Nee=B('<code>log_dest topic</code> is configured — waiting for messages…<br/> <span class="hint svelte-1yc29ow">If nothing appears, mosquitto may need a full restart for the change to take effect.</span>',1),Oee=B('Waiting for log messages…<br/> <span class="hint svelte-1yc29ow">Make sure <code class="svelte-1yc29ow">log_dest topic</code> is set in mosquitto.conf.</span>',1),Hee=B('<div class="empty svelte-1yc29ow"><!></div>'),Wee=B('<div class="entry svelte-1yc29ow"><span class="ts svelte-1yc29ow"> </span> <span> </span> <span class="msg svelte-1yc29ow"> </span></div>'),zee=B('<div class="logs-page svelte-1yc29ow"><div class="toolbar svelte-1yc29ow"><div class="level-filters svelte-1yc29ow"></div> <div class="spacer svelte-1yc29ow"></div> <label class="autoscroll-label svelte-1yc29ow"><input type="checkbox" class="svelte-1yc29ow"/> <span class="checkmark svelte-1yc29ow"></span> Auto-scroll</label> <button class="btn-clear svelte-1yc29ow">Clear</button></div> <div class="log-container svelte-1yc29ow"><!></div></div>');function Vee(o,e){js(e,!0);const t={D:"DBG",I:"INF",N:"NTC",W:"WRN",E:"ERR"},i={D:"lvl-d",I:"lvl-i",N:"lvl-n",W:"lvl-w",E:"lvl-e"},n=new Set(["D","I","N","W","E"]);let s=F(Pi([])),r=F(!0),a=F(Pi(new Set(["D","I","N","W","E"]))),d=F(void 0),u=F(!1),f=F(null),g=null;Xs(async()=>{const J=await hU().catch(()=>[]),ue=KU(),be=new Set,re=[...J,...ue].filter(ce=>n.has(ce.level)).map(ce=>({ts:ce.ts,level:ce.level,msg:ce.msg}));re.sort((ce,ke)=>ce.ts-ke.ts),m(s,re.filter(ce=>{const ke=`${ce.ts}\0${ce.msg}`;return be.has(ke)?!1:(be.add(ke),!0)}).slice(-500),!0),c(s).length>0&&(m(u,!0),hl().then(p)),g=hr("brokerLog",ce=>{n.has(ce.level)&&(m(u,!0),m(s,[...c(s).slice(-499),{ts:ce.ts,level:ce.level,msg:ce.msg}],!0),c(r)&&hl().then(p))}),uS().then(ce=>{const ke=ce.managed.log_dest,Pe=Array.isArray(ke)?ke:ke?[ke]:[];m(f,Pe.includes("topic"),!0)}).catch(()=>{m(f,null)})}),Vp(()=>{g==null||g()});function p(){c(d)&&(c(d).scrollTop=c(d).scrollHeight)}function C(J){const ue=new Set(c(a));ue.has(J)?ue.delete(J):ue.add(J),m(a,ue,!0)}function b(){m(s,[],!0),m(u,!1)}let y=Ft(()=>c(s).filter(J=>c(a).has(J.level)));function w(J){const ue=new Date(J);return ue.toTimeString().slice(0,8)+"."+String(ue.getMilliseconds()).padStart(3,"0")}var A=zee(),I=_(A),M=_(I);ei(M,20,()=>["D","I","N","W","E"],Hi,(J,ue)=>{var be=Mee();let re;var ce=_(be);j(ke=>{re=kt(be,1,`lvl-btn ${i[ue]??""}`,"svelte-1yc29ow",re,ke),ln(be,"title",`Toggle ${ue??""} messages`),W(ce,t[ue])},[()=>({active:c(a).has(ue)})]),U("click",be,()=>C(ue)),D(J,be)});var R=v(M,4),T=_(R),V=v(R,2),H=v(I,2),X=_(H);{var se=J=>{var ue=Hee(),be=_(ue);{var re=ke=>{var Pe=ws(),xe=Et(Pe);{var He=mt=>{var Mt=Ree();D(mt,Mt)},Ue=mt=>{var Mt=Nee();D(mt,Mt)},ve=mt=>{var Mt=Oee();D(mt,Mt)};z(xe,mt=>{c(f)===!1?mt(He):c(f)===!0?mt(Ue,1):mt(ve,-1)})}D(ke,Pe)},ce=ke=>{var Pe=oo("No messages match the current filter.");D(ke,Pe)};z(be,ke=>{c(u)?ke(ce,-1):ke(re)})}D(J,ue)},he=J=>{var ue=ws(),be=Et(ue);ei(be,17,()=>c(y),re=>re.ts+re.msg,(re,ce)=>{var ke=Wee(),Pe=_(ke),xe=_(Pe),He=v(Pe,2),Ue=_(He),ve=v(He,2),mt=_(ve);j(Mt=>{W(xe,Mt),kt(He,1,`badge ${i[c(ce).level]??""}`,"svelte-1yc29ow"),W(Ue,t[c(ce).level]),W(mt,c(ce).msg)},[()=>w(c(ce).ts)]),D(re,ke)}),D(J,ue)};z(X,J=>{c(y).length===0?J(se):J(he,-1)})}gs(H,J=>m(d,J),()=>c(d)),ys(T,()=>c(r),J=>m(r,J)),U("click",V,b),D(o,A),$s()}Ys(["click"]);var jee=B('<div class="err svelte-d31be1"> </div>'),$ee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1">This wizard will configure the <strong>Mosquitto Dynamic Security plugin</strong> for use with she. It will:</p> <ul class="svelte-d31be1"><li>Create a <code class="svelte-d31be1">she-admin</code> service account with a random strong password.</li> <li>Write <code class="svelte-d31be1">dynamic-security.json</code> to your mosquitto config directory.</li> <li>Add the <code class="svelte-d31be1">plugin</code> line to <code class="svelte-d31be1">mosquitto.conf</code>.</li> <li>Ask you to restart mosquitto to activate the plugin.</li></ul> <p class="hint svelte-d31be1">In <strong>remote mode</strong> (SSH host configured), <code class="svelte-d31be1">mosquitto_ctrl</code> is invoked on the broker host via SSH. In local mode, it must be installed on this machine. <code class="svelte-d31be1">mosquitto_ctrl</code> is part of the <code class="svelte-d31be1">mosquitto</code> package.</p> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Start</button></div></div>'),Uee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),qee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1">dynsec is not yet active. Configure bootstrap settings:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" placeholder="(leave blank to auto-generate)" class="svelte-d31be1"/></label> <label class="svelte-d31be1">Mosquitto config directory<input class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1"> </button></div></div>'),Gee=B('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),Kee=B(`<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec files written and credentials saved.</div> <p class="svelte-d31be1">The <code class="svelte-d31be1">plugin</code> line has been added to <code class="svelte-d31be1"> </code>.</p> <p class="svelte-d31be1">Enabling a new plugin requires a <strong>full mosquitto restart</strong> (not just SIGHUP):</p> <div class="actions svelte-d31be1"><button class="btn-warn svelte-d31be1"> </button> <button class="skip-step svelte-d31be1">Skip (I'll restart manually)</button></div> <!></div>`),Zee=B('<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec is configured and connected.</div> <p class="svelte-d31be1">she is now managing broker users and ACLs via the Dynamic Security plugin. You can use the <strong>Users & Roles</strong> tab to add users, create roles, and define ACL rules.</p> <div class="actions svelte-d31be1"><button class="btn-primary svelte-d31be1">Done</button></div></div>'),Xee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1">Enter the credentials of an existing dynsec admin account:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Back</button> <button class="btn-primary svelte-d31be1"> </button></div></div>'),Yee=B('<div class="wizard svelte-d31be1"><div class="wizard-header svelte-d31be1"><h3 class="svelte-d31be1">dynsec Setup Wizard</h3> <button class="skip-btn svelte-d31be1">Manual setup instead</button></div> <!> <!></div>');function Qee(o,e){js(e,!0);let t=F("intro"),i=F(""),n=F(!1),s=F("she-admin"),r=F(""),a=F("/etc/mosquitto"),d=F(null),u=F(!1),f=F(!1),g=F("she-admin"),p=F(""),C=F(!1);async function b(){m(n,!0),m(i,"");try{(await(await fetch("/she/broker/wizard/probe",{method:"POST",headers:{"Content-Type":"application/json"}})).json()).active?m(t,"done"):m(t,"config")}catch(re){m(i,re.message,!0)}finally{m(n,!1)}}async function y(){m(n,!0),m(i,"");try{const re=await fetch("/she/broker/wizard/bootstrap",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adminUsername:c(s),adminPassword:c(r)||void 0,configDir:c(a)})}),ce=await re.json();if(!re.ok||!ce.ok)throw new Error(ce.error??"Bootstrap failed");m(d,ce,!0);const ke=await Pl(),Pe=ke.broker??{};await pp({...ke,broker:{...Pe,dynsec:{adminUsername:ce.adminUsername,adminPassword:ce.adminPassword}}}),await pU().catch(()=>{}),m(t,"restart")}catch(re){m(i,re.message,!0)}finally{m(n,!1)}}async function w(){m(f,!0),m(i,"");try{await fU(),await new Promise(re=>setTimeout(re,2e3)),m(u,!0),m(t,"done")}catch(re){m(i,re.message,!0)}finally{m(f,!1)}}async function A(){m(C,!0),m(i,"");try{const re=await Pl(),ce=re.broker??{};await pp({...re,broker:{...ce,dynsec:{adminUsername:c(g),adminPassword:c(p)}}}),m(t,"done")}catch(re){m(i,re.message,!0)}finally{m(C,!1)}}var I=Yee(),M=_(I),R=v(_(M),2),T=v(M,2);{var V=re=>{var ce=jee(),ke=_(ce);j(()=>W(ke,c(i))),D(re,ce)};z(T,re=>{c(i)&&re(V)})}var H=v(T,2);{var X=re=>{var ce=$ee(),ke=v(_(ce),6),Pe=_(ke);j(()=>Pe.disabled=c(n)),U("click",Pe,()=>{m(t,"probe"),b()}),D(re,ce)},se=re=>{var ce=Uee(),ke=_(ce),Pe=_(ke);j(()=>W(Pe,c(n)?"Probing dynsec…":"Checking dynsec status…")),D(re,ce)},he=re=>{var ce=qee(),ke=v(_(ce),2),Pe=v(_(ke)),xe=v(ke,2),He=v(_(xe)),Ue=v(xe,2),ve=v(_(Ue)),mt=v(Ue,2),Mt=_(mt),st=_(Mt);j(()=>{Mt.disabled=c(n)||!c(s),W(st,c(n)?"Bootstrapping…":"Bootstrap dynsec")}),Vt(Pe,()=>c(s),yt=>m(s,yt)),Vt(He,()=>c(r),yt=>m(r,yt)),Vt(ve,()=>c(a),yt=>m(a,yt)),U("click",Mt,y),D(re,ce)},J=re=>{var ce=Kee(),ke=v(_(ce),2),Pe=v(_(ke),3),xe=_(Pe),He=v(ke,4),Ue=_(He),ve=_(Ue),mt=v(Ue,2),Mt=v(He,2);{var st=yt=>{var Ce=Gee();D(yt,Ce)};z(Mt,yt=>{c(f)&&yt(st)})}j(()=>{W(xe,c(d).confFilePath),Ue.disabled=c(f),W(ve,c(f)?"Restarting…":"Restart mosquitto now")}),U("click",Ue,w),U("click",mt,()=>{m(t,"done")}),D(re,ce)},ue=re=>{var ce=Zee(),ke=v(_(ce),4),Pe=_(ke);U("click",Pe,function(...xe){var He;(He=e.onDone)==null||He.apply(this,xe)}),D(re,ce)},be=re=>{var ce=Xee(),ke=v(_(ce),2),Pe=v(_(ke)),xe=v(ke,2),He=v(_(xe)),Ue=v(xe,2),ve=_(Ue),mt=v(ve,2),Mt=_(mt);j(()=>{mt.disabled=c(C)||!c(g)||!c(p),W(Mt,c(C)?"Saving…":"Save credentials")}),Vt(Pe,()=>c(g),st=>m(g,st)),Vt(He,()=>c(p),st=>m(p,st)),U("click",ve,()=>m(t,"intro")),U("click",mt,A),D(re,ce)};z(H,re=>{c(t)==="intro"?re(X):c(t)==="probe"?re(se,1):c(t)==="config"?re(he,2):c(t)==="restart"&&c(d)?re(J,3):c(t)==="done"?re(ue,4):c(t)==="manual"&&re(be,5)})}U("click",R,()=>m(t,"manual")),D(o,I),$s()}Ys(["click"]);var Jee=B('<div class="loading svelte-zuhcpo">Loading…</div>'),ete=B('<div class="error-banner svelte-zuhcpo"> </div>'),tte=B('<div class="conn-row svelte-zuhcpo"><span></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span><!></span> <button class="btn-deactivate svelte-zuhcpo"> </button></div>'),ite=B('<button class="btn-wizard-inline svelte-zuhcpo">Setup Wizard ↗</button>'),nte=B('<div class="conn-row svelte-zuhcpo"><span class="dot dot-off svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span class="conn-detail muted svelte-zuhcpo">not configured</span> <!></div>'),ste=B('<div class="error-inline svelte-zuhcpo"> </div>'),ote=B('<button class="diag-btn svelte-zuhcpo"> </button>'),tA=B('<p class="diag-issue svelte-zuhcpo"> </p>'),rte=B('<p class="diag-ok-msg svelte-zuhcpo">✓ dynamic-security.json looks correct. Verify mosquitto restarted with the plugin loaded.</p>'),ate=B('<p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">File</span><code class="svelte-zuhcpo"> </code></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Admin user exists</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Has admin role</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">$CONTROL publish ACL</span><span> </span></p> <!> <!>',1),lte=B('<div><!></div> <button class="diag-btn svelte-zuhcpo" style="margin-top:6px"> </button>',1),cte=B('<button class="wizard-btn svelte-zuhcpo">Run Setup Wizard</button>'),dte=B('<div class="diag-area svelte-zuhcpo"><!> <!></div>'),ute=B('<div class="stats-block svelte-zuhcpo"><dl class="svelte-zuhcpo"><dt class="svelte-zuhcpo">Version</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Uptime</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Clients</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Messages</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Topics</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Traffic</dt><dd class="svelte-zuhcpo"> </dd></dl></div>'),hte=B('<div style="margin-top: 20px;"><!></div>'),fte=B('<div class="status-layout svelte-zuhcpo"><div class="conn-block svelte-zuhcpo"><div class="conn-row svelte-zuhcpo"><span class="dot ok svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">mosquitto</span> <span class="conn-detail svelte-zuhcpo"> </span></div> <!> <!></div> <!> <!></div> <!>',1),gte=B('<div class="tab-content svelte-zuhcpo"><!></div>'),pte=B('<div class="broker-page svelte-zuhcpo"><div class="sub-nav svelte-zuhcpo"><button>Status</button> <button>Directory</button> <button>Config</button> <button>Listeners</button> <button>Certificates</button> <button>Connection</button> <button>Logs</button></div> <!></div> <!>',1);function xte(o,e){js(e,!0);let t=F(!1),i,n=F(!1),s=F(""),r=F(!1),a=F(null);const d="she-broker-tab";let u=F(Pi(localStorage.getItem(d)??"status"));Kn(()=>{localStorage.setItem(d,c(u))});let f=F(null),g=F(""),p=F(!0);async function C(){try{m(f,await Tb(),!0),m(g,"")}catch(Xe){m(g,Xe.message??"Failed to load broker status",!0)}finally{m(p,!1)}}Xs(()=>{C();const Xe=setInterval(C,1e4);return()=>clearInterval(Xe)});async function b(){m(r,!0),m(a,null);try{m(a,await xU(),!0)}catch(Xe){m(a,{ok:!1,dynSecPath:"",issues:[Xe.message??"Diagnose request failed"]},!0)}finally{m(r,!1)}}async function y(){if(await i.show("Remove dynsec plugin lines from mosquitto.conf and clear credentials? You will need to restart mosquitto afterwards.",{confirm:"Deactivate",danger:!0})){m(n,!0),m(s,"");try{await gU(),await C()}catch(Xe){m(s,Xe.message??"Deactivate failed",!0)}finally{m(n,!1)}}}function w(Xe){var St;if(!((St=c(f))!=null&&St.sys))return"—";const et=c(f).sys[Xe];return et?String(et.val??"—"):"—"}function A(Xe){if(Xe==="—")return Xe;const et=Xe.match(/^(\d+)/),St=et?parseInt(et[1]):NaN;if(isNaN(St))return Xe;const Qt=Math.floor(St/86400),fi=Math.floor(St%86400/3600),oi=Math.floor(St%3600/60),Bi=St%60,_i=Ke=>String(Ke).padStart(2,"0");return Qt>0?`${Qt}d ${_i(fi)}:${_i(oi)}:${_i(Bi)}`:`${_i(fi)}:${_i(oi)}:${_i(Bi)}`}function I(Xe){if(Xe==="—")return Xe;const et=parseInt(Xe);return isNaN(et)?Xe:et<1024?`${et} B`:et<1048576?`${(et/1024).toFixed(1)} KB`:et<1073741824?`${(et/1048576).toFixed(1)} MB`:`${(et/1073741824).toFixed(1)} GB`}var M=pte(),R=Et(M),T=_(R),V=_(T);let H;var X=v(V,2);let se;var he=v(X,2);let J;var ue=v(he,2);let be;var re=v(ue,2);let ce;var ke=v(re,2);let Pe;var xe=v(ke,2);let He;var Ue=v(T,2);{var ve=Xe=>{var et=gte(),St=_(et);{var Qt=Bi=>{var _i=Jee();D(Bi,_i)},fi=Bi=>{var _i=ete(),Ke=_(_i);j(()=>W(Ke,c(g))),D(Bi,_i)},oi=Bi=>{var _i=fte(),Ke=Et(_i),ye=_(Ke),ti=_(ye),Ei=v(_(ti),4),Jt=_(Ei),Vi=v(ti,2);{var Yi=Wi=>{var ji=tte(),Ji=_(ji);let Si;var $i=v(Ji,4);let ze;var qt=_($i);{var Fi=Qe=>{var tt=oo("plugin active");D(Qe,tt)},zi=Qe=>{var tt=oo("connected — plugin not responding");D(Qe,tt)},Di=Qe=>{var tt=oo("disconnected");D(Qe,tt)};z(qt,Qe=>{c(f).dynsec.dynsecReady?Qe(Fi):c(f).dynsec.connected?Qe(zi,1):Qe(Di,-1)})}var K=v($i,2),De=_(K);j(()=>{Si=kt(Ji,1,"dot svelte-zuhcpo",null,Si,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,"dot-err":!c(f).dynsec.connected}),ze=kt($i,1,"conn-detail svelte-zuhcpo",null,ze,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,err:!c(f).dynsec.connected}),K.disabled=c(n),W(De,c(n)?"…":"deactivate")}),U("click",K,y),D(Wi,ji)},Ti=Wi=>{var ji=nte(),Ji=v(_(ji),6);{var Si=$i=>{var ze=ite();U("click",ze,()=>m(t,!0)),D($i,ze)};z(Ji,$i=>{c(t)||$i(Si)})}D(Wi,ji)};z(Vi,Wi=>{c(f).dynsec.configured?Wi(Yi):Wi(Ti,-1)})}var wn=v(Vi,2);{var cn=Wi=>{var ji=ste(),Ji=_(ji);j(()=>W(Ji,c(s))),D(Wi,ji)};z(wn,Wi=>{c(s)&&Wi(cn)})}var gn=v(ye,2);{var hn=Wi=>{var ji=dte(),Ji=_(ji);{var Si=Fi=>{var zi=ote(),Di=_(zi);j(()=>{zi.disabled=c(r),W(Di,c(r)?"Running diagnostics…":"Run diagnostics")}),U("click",zi,b),D(Fi,zi)},$i=Fi=>{var zi=lte(),Di=Et(zi);let K;var De=_(Di);{var Qe=vt=>{var dt=tA(),Y=_(dt);j(()=>W(Y,`⚠ ${c(a).error??""}`)),D(vt,dt)},tt=vt=>{var dt=ate(),Y=Et(dt),Te=v(_(Y)),lt=_(Te),we=v(Y,2),di=v(_(we)),Lt=_(di),te=v(we,2),Ye=v(_(te)),Bt=_(Ye),It=v(te,2),Dt=v(_(It)),Be=_(Dt),je=v(It,2);ei(je,17,()=>c(a).issues,Hi,(hi,Xt)=>{var pe=tA(),Ge=_(pe);j(()=>W(Ge,`⚠ ${c(Xt)??""}`)),D(hi,pe)});var Kt=v(je,2);{var ri=hi=>{var Xt=rte();D(hi,Xt)};z(Kt,hi=>{c(a).ok&&hi(ri)})}j(()=>{W(lt,c(a).dynSecPath),kt(di,1,hg(c(a).adminClientExists?"ok":"fail"),"svelte-zuhcpo"),W(Lt,c(a).adminClientExists?"✓ yes":"✗ no"),kt(Ye,1,hg(c(a).hasAdminRole?"ok":"fail"),"svelte-zuhcpo"),W(Bt,c(a).hasAdminRole?"✓ yes":"✗ no"),kt(Dt,1,hg(c(a).hasControlSendAcl?"ok":"fail"),"svelte-zuhcpo"),W(Be,c(a).hasControlSendAcl?"✓ present":"✗ missing")}),D(vt,dt)};z(De,vt=>{c(a).error?vt(Qe):vt(tt,-1)})}var Gt=v(Di,2),ci=_(Gt);j(()=>{K=kt(Di,1,"diag-card svelte-zuhcpo",null,K,{"diag-ok":c(a).ok,"diag-fail":!c(a).ok}),Gt.disabled=c(r),W(ci,c(r)?"Running…":"Re-run")}),U("click",Gt,b),D(Fi,zi)};z(Ji,Fi=>{c(a)?Fi($i,-1):Fi(Si)})}var ze=v(Ji,2);{var qt=Fi=>{var zi=cte();U("click",zi,()=>m(t,!0)),D(Fi,zi)};z(ze,Fi=>{c(t)||Fi(qt)})}D(Wi,ji)};z(gn,Wi=>{c(f).dynsec.configured&&c(f).dynsec.connected&&!c(f).dynsec.dynsecReady&&Wi(hn)})}var ft=v(gn,2);{var Ut=Wi=>{var ji=ute(),Ji=_(ji),Si=v(_(Ji)),$i=_(Si),ze=v(Si,3),qt=_(ze),Fi=v(ze,3),zi=_(Fi),Di=v(Fi,3),K=_(Di),De=v(Di,3),Qe=_(De),tt=v(De,3),Gt=_(tt);j((ci,vt,dt,Y,Te,lt,we,di,Lt,te,Ye,Bt)=>{W($i,ci),W(qt,vt),W(zi,`${dt??""} connected · ${Y??""} max · ${Te??""} total`),W(K,`${lt??""} rcv · ${we??""} sent · ${di??""} stored`),W(Qe,`${Lt??""} retained · ${te??""} subscriptions`),W(Gt,`${Ye??""} in · ${Bt??""} out`)},[()=>w("$SYS/broker/version"),()=>A(w("$SYS/broker/uptime")),()=>w("$SYS/broker/clients/connected"),()=>w("$SYS/broker/clients/maximum"),()=>w("$SYS/broker/clients/total"),()=>w("$SYS/broker/messages/received"),()=>w("$SYS/broker/messages/sent"),()=>w("$SYS/broker/messages/stored"),()=>w("$SYS/broker/retained messages/count"),()=>w("$SYS/broker/subscriptions/count"),()=>I(w("$SYS/broker/bytes/received")),()=>I(w("$SYS/broker/bytes/sent"))]),D(Wi,ji)},Ri=Ft(()=>Object.keys(c(f).sys).length>0);z(ft,Wi=>{c(Ri)&&Wi(Ut)})}var qi=v(Ke,2);{var bi=Wi=>{var ji=hte(),Ji=_(ji);Qee(Ji,{onDone:()=>{m(t,!1),C()}}),D(Wi,ji)};z(qi,Wi=>{c(t)&&(!c(f).dynsec.configured||!c(f).dynsec.dynsecReady)&&Wi(bi)})}j(()=>W(Jt,c(f).sshConfigured?`ssh — ${c(f).sshHost}`:"local")),D(Bi,_i)};z(St,Bi=>{c(p)?Bi(Qt):c(g)?Bi(fi,1):c(f)&&Bi(oi,2)})}D(Xe,et)},mt=Xe=>{{let et=Ft(()=>{var St;return((St=c(f))==null?void 0:St.dynsec.dynsecReady)??!1});RJ(Xe,{get dynsecReady(){return c(et)}})}},Mt=Xe=>{iee(Xe,{})},st=Xe=>{XJ(Xe,{})},yt=Xe=>{yee(Xe,{})},Ce=Xe=>{Tee(Xe,{})},Nt=Xe=>{Vee(Xe,{})};z(Ue,Xe=>{c(u)==="status"?Xe(ve):c(u)==="users"?Xe(mt,1):c(u)==="brokerconfig"?Xe(Mt,2):c(u)==="listeners"?Xe(st,3):c(u)==="certs"?Xe(yt,4):c(u)==="ssh"?Xe(Ce,5):c(u)==="logs"&&Xe(Nt,6)})}var si=v(R,2);gs(Yc(si,{}),Xe=>i=Xe,()=>i),j(()=>{H=kt(V,1,"svelte-zuhcpo",null,H,{active:c(u)==="status"}),se=kt(X,1,"svelte-zuhcpo",null,se,{active:c(u)==="users"}),J=kt(he,1,"svelte-zuhcpo",null,J,{active:c(u)==="brokerconfig"}),be=kt(ue,1,"svelte-zuhcpo",null,be,{active:c(u)==="listeners"}),ce=kt(re,1,"svelte-zuhcpo",null,ce,{active:c(u)==="certs"}),Pe=kt(ke,1,"svelte-zuhcpo",null,Pe,{active:c(u)==="ssh"}),He=kt(xe,1,"svelte-zuhcpo",null,He,{active:c(u)==="logs"})}),U("click",V,()=>m(u,"status")),U("click",X,()=>m(u,"users")),U("click",he,()=>m(u,"brokerconfig")),U("click",ue,()=>m(u,"listeners")),U("click",re,()=>m(u,"certs")),U("click",ke,()=>m(u,"ssh")),U("click",xe,()=>m(u,"logs")),D(o,M),$s()}Ys(["click"]);var mte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),vte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),_te=B('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),bte=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),Cte=B('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><circle cx="8" cy="10" r="2" class="svelte-1n46o8q"></circle><path d="M5,7 A4,4 0,0,1 11,7" class="svelte-1n46o8q"></path><path d="M3,5 A6.5,6.5 0,0,1 13,5" class="svelte-1n46o8q"></path><line x1="8" y1="12" x2="8" y2="15" class="svelte-1n46o8q"></line></svg> Broker</button>'),Ete=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),yte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),wte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),Ste=B('<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>'),Dte=B('<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>'),Ate=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),kte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),Bte=B('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),Fte=B('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),Lte=B('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),Ite=B('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button>'),Pte=B('<div class="version-popup svelte-1n46o8q"><dl class="svelte-1n46o8q"><dt class="svelte-1n46o8q">Installed</dt><dd class="svelte-1n46o8q"></dd> <!></dl> <div class="version-actions svelte-1n46o8q"><!> <button class="check-btn svelte-1n46o8q" title="Check for updates now"><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button></div></div>'),Tte=B('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),Mte=B('<dt class="svelte-1n46o8q">Matter nodes</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Matter endpoints</dt><dd class="svelte-1n46o8q"> </dd>',1),Rte=B('<dt class="svelte-1n46o8q">DB docs</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">DB views</dt><dd class="svelte-1n46o8q"> </dd>',1),Nte=B('<dl class="svelte-1n46o8q"><!> <dt class="svelte-1n46o8q">Scripts</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT topics</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT msg/s</dt><dd class="svelte-1n46o8q"> </dd> <!> <!> <dt class="svelte-1n46o8q">Handlers</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Memory</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">CPU</dt><dd class="svelte-1n46o8q"> </dd></dl>'),Ote=B('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),Hte=B('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M18.36 6.64a9 9 0 1 1-12.73 0" class="svelte-1n46o8q"></path><line x1="12" y1="2" x2="12" y2="12" class="svelte-1n46o8q"></line></svg> Restart daemon</button>'),Wte=B('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),zte=B('<button class="nav-logout svelte-1n46o8q" title="Logout"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" class="svelte-1n46o8q"></path><polyline points="16 17 21 12 16 7" class="svelte-1n46o8q"></polyline><line x1="21" y1="12" x2="9" y2="12" class="svelte-1n46o8q"></line></svg></button>'),Vte=B('<div class="shell svelte-1n46o8q"><nav class="svelte-1n46o8q"><span class="brand svelte-1n46o8q">she</span> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="5,3 1,8 5,13" class="svelte-1n46o8q"></polyline><polyline points="11,3 15,8 11,13" class="svelte-1n46o8q"></polyline></svg> Scripts</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" class="svelte-1n46o8q"><rect x="0.75" y="0.75" width="14.5" height="14.5" rx="1" class="svelte-1n46o8q"></rect><path d="M2,11 V5 H5 V11" class="svelte-1n46o8q"></path><path d="M6,12 V5 H9 V8 H6" class="svelte-1n46o8q"></path><path d="M10,11 V5 H15 V11" class="svelte-1n46o8q"></path><line x1="12.5" y1="5" x2="12.5" y2="11" class="svelte-1n46o8q"></line></svg> Packages <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" stroke="none" style="vertical-align: middle" class="svelte-1n46o8q"><path fill-rule="evenodd" d="M2,0 H14 A2,2 0 0,1 16,2 V14 A2,2 0 0,1 14,16 H0 V2 A2,2 0 0,1 2,0 Z M0,16 L0,12 A4,4 0 0,1 4,16 Z M0,10.5 A5.5,5.5 0 0,1 5.5,16 L9,16 A9,9 0 0,0 0,7 Z M0,5.5 A10.5,10.5 0 0,1 10.5,16 L13.5,16 A13.5,13.5 0 0,0 0,2.5 Z" class="svelte-1n46o8q"></path></svg> MQTT <!></button> <!> <!> <!> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-1n46o8q"><line x1="2" y1="5" x2="14" y2="5" class="svelte-1n46o8q"></line><line x1="2" y1="8" x2="14" y2="8" class="svelte-1n46o8q"></line><line x1="2" y1="11" x2="9" y2="11" class="svelte-1n46o8q"></line></svg> Logs <!></button> <div class="nav-spacer svelte-1n46o8q"></div> <div class="nav-right svelte-1n46o8q"><a class="nav-icon svelte-1n46o8q" href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" title="GitHub"><svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" class="svelte-1n46o8q"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" class="svelte-1n46o8q"></path></svg></a> <div class="version-wrap svelte-1n46o8q"><button class="version svelte-1n46o8q"> <!></button> <!></div> <div class="stats-wrap svelte-1n46o8q"><button class="nav-icon svelte-1n46o8q" title="Daemon status"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><line x1="18" y1="20" x2="18" y2="10" class="svelte-1n46o8q"></line><line x1="12" y1="20" x2="12" y2="4" class="svelte-1n46o8q"></line><line x1="6" y1="20" x2="6" y2="14" class="svelte-1n46o8q"></line></svg></button> <!></div> <button title="Settings"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z" class="svelte-1n46o8q"></path><circle cx="12" cy="12" r="3" class="svelte-1n46o8q"></circle></svg></button> <!></div></nav> <main class="svelte-1n46o8q"><!> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div></main></div>'),jte=B('<div class="login-error svelte-1n46o8q"> </div>'),$te=B('<div class="login-overlay svelte-1n46o8q"><form class="login-box svelte-1n46o8q"><div class="login-brand svelte-1n46o8q">she</div> <h2 class="svelte-1n46o8q">Sign in</h2> <div class="login-field svelte-1n46o8q"><label for="she-password" class="svelte-1n46o8q">Password</label> <input id="she-password" type="password" placeholder="Enter password" autocomplete="current-password" class="svelte-1n46o8q"/></div> <!> <button type="submit" class="login-btn svelte-1n46o8q"> </button></form></div>'),Ute=B('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Restarting smart-home-engine…</div></div>'),qte=B('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Updating smart-home-engine…</div></div>'),Gte=B("<!> <!> <!> <!>",1);function Kte(o,e){js(e,!0);const t=["scripts","mqtt","matter","security","db","logs","config","packages"];function i(){const Xe=location.hash.slice(1);return t.includes(Xe)?Xe:"scripts"}let n=F(Pi(i())),s=F(null),r=F(!1),a=F(!1),d=F(!1),u=F(!1),f=F("none"),g=F(""),p=F(!1),C=F(""),b=F(""),y=F(!1),w=F(!1);T$(()=>{m(p,!0)});async function A(){m(b,""),m(y,!0);try{await N$(c(C)),m(C,""),m(p,!1)}catch(Xe){m(b,Xe.message??"Login failed",!0)}finally{m(y,!1)}}async function I(){if(c(f)==="proxy"&&c(g)){window.location.href=c(g);return}await O$(),m(p,!0)}let M=F(null),R=F(!1),T=F(!1),V=F(!1),H=F(!1),X=F(Pi([])),se=F(0),he=F(!1),J=F(Pi([]));const ue=Ft(()=>c(J).filter(Xe=>Xe.online).length),be=Ft(()=>c(J).length===0?"none":c(ue)===c(J).length?"all":c(ue)>0?"some":"offline");let re=F(!1),ce=F(!1);async function ke(){if(!await c(M).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;m(R,!0);let Xe;try{Xe=(await e0()).startedAt}catch{}try{await xF()}catch{}const et=Date.now()+6e4;for(;Date.now()<et;){await new Promise(St=>setTimeout(St,250));try{const St=await e0();if(Xe===void 0||St.startedAt!==Xe){location.reload();return}}catch{}}location.reload()}async function Pe(){m(d,!0);try{const Xe=await $$();c(s)&&m(s,{...c(s),latestVersion:Xe.latestVersion??void 0},!0)}catch{}finally{m(d,!1)}}async function xe(){var St,Qt;if(!await c(M).show(`Update to v${(St=c(s))==null?void 0:St.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;m(a,!1),m(u,!0);const Xe=(Qt=c(s))==null?void 0:Qt.startedAt;try{await j$()}catch{}const et=Date.now()+18e4;for(;Date.now()<et;){await new Promise(fi=>setTimeout(fi,1e3));try{const fi=await e0();if(Xe===void 0||fi.startedAt!==Xe){location.reload();return}}catch{m(u,!1),m(R,!0)}}location.reload()}function He(Xe){m(n,Xe,!0),location.hash=Xe}Xs(async()=>{location.hash||(location.hash=c(n));const Xe=()=>{m(n,i(),!0)};window.addEventListener("hashchange",Xe);try{const Ke=await R$();m(f,Ke.mode,!0),m(g,Ke.proxyLogoutUrl??"",!0),c(f)==="password"&&(await fetch("/she/scripts")).status===401&&m(p,!0)}catch{}m(w,!0);async function et(){var Ke,ye,ti;try{m(s,await e0(),!0)}catch{}try{const[Ei,Jt]=await Promise.all([_F(),Pl()]);m(X,Array.isArray(Jt.pinnedPackages)?Jt.pinnedPackages:[],!0),m(se,Object.keys(Ei).filter(Yi=>!c(X).includes(Yi)).length,!0);const Vi=c(he);m(he,((Ke=Jt.broker)==null?void 0:Ke.enabled)===!0),Vi&&!c(he)&&c(n)==="security"&&He("scripts")}catch{}!((ye=c(s))!=null&&ye.matterEnabled)&&c(n)==="matter"&&He("scripts"),!((ti=c(s))!=null&&ti.dbEnabled)&&c(n)==="db"&&He("scripts")}et();const St=setInterval(et,5e3),Qt=hr("mqtt:status",Ke=>{Ke.connected===!1?(m(H,!0),m(T,!1),m(V,!1)):(m(H,!1),m(T,Ke.ready===!1),m(V,Ke.ready===!0))}),fi=hr("matter:deviceList",Ke=>{Array.isArray(Ke.devices)&&m(J,Ke.devices.map(ye=>({nodeId:String(ye.nodeId),online:!!ye.online})),!0)}),oi=hr("matter:deviceStatus",Ke=>{if(Ke.nodeId===void 0)return;const ye=String(Ke.nodeId),ti=!!Ke.online;m(J,c(J).map(Ei=>Ei.nodeId===ye?{...Ei,online:ti}:Ei),!0)}),Bi=kF();m(re,Bi.some(Ke=>Ke.level==="error"),!0),m(ce,!c(re)&&Bi.some(Ke=>Ke.level==="warn"),!0);const _i=fS(Ke=>{Ke.level==="error"?(m(re,!0),m(ce,!1)):Ke.level==="warn"&&!c(re)&&m(ce,!0)});return()=>{window.removeEventListener("hashchange",Xe),clearInterval(St),Qt(),fi(),oi(),_i()}});var Ue=Gte();xs("click",s6,()=>{c(r)&&m(r,!1),c(a)&&m(a,!1)});var ve=Et(Ue);{var mt=Xe=>{var et=Vte(),St=_(et),Qt=v(_(St),2);let fi;var oi=v(Qt,2);let Bi;var _i=v(_(oi),2);{var Ke=N=>{var $=mte();j(()=>ln($,"title",`${c(se)??""} package update${c(se)===1?"":"s"} available`)),D(N,$)};z(_i,N=>{c(se)>0&&N(Ke)})}var ye=v(oi,2);let ti;var Ei=v(_(ye),2);{var Jt=N=>{var $=vte();D(N,$)},Vi=N=>{var $=_te();D(N,$)},Yi=N=>{var $=bte();D(N,$)};z(Ei,N=>{c(H)?N(Jt):c(T)?N(Vi,1):c(V)&&N(Yi,2)})}var Ti=v(ye,2);{var wn=N=>{var $=Cte();let oe;j(()=>oe=kt($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="security"})),U("click",$,()=>He("security")),D(N,$)};z(Ti,N=>{c(he)&&N(wn)})}var cn=v(Ti,2);{var gn=N=>{var $=Ste();let oe;var ne=v(_($),2);{var ie=Le=>{var _e=Ete();D(Le,_e)},ae=Le=>{var _e=yte();D(Le,_e)},Je=Le=>{var _e=wte();D(Le,_e)};z(ne,Le=>{c(be)==="all"?Le(ie):c(be)==="some"?Le(ae,1):c(be)==="offline"&&Le(Je,2)})}j(()=>oe=kt($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="matter"})),U("click",$,()=>He("matter")),D(N,$)};z(cn,N=>{var $;($=c(s))!=null&&$.matterEnabled&&N(gn)})}var hn=v(cn,2);{var ft=N=>{var $=Dte();let oe;j(()=>oe=kt($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="db"})),U("click",$,()=>He("db")),D(N,$)};z(hn,N=>{var $;($=c(s))!=null&&$.dbEnabled&&N(ft)})}var Ut=v(hn,2);let Ri;var qi=v(_(Ut),2);{var bi=N=>{var $=Ate();D(N,$)},Wi=N=>{var $=kte();D(N,$)};z(qi,N=>{c(re)?N(bi):c(ce)&&N(Wi,1)})}var ji=v(Ut,4),Ji=v(_(ji),2),Si=_(Ji),$i=_(Si);$i.nodeValue="v1.14.2 ";var ze=v($i);{var qt=N=>{var $=Bte();D(N,$)};z(ze,N=>{var $,oe;($=c(s))!=null&&$.latestVersion&&!((oe=c(s))!=null&&oe.docker)&&N(qt)})}var Fi=v(Si,2);{var zi=N=>{var $=Pte(),oe=_($),ne=v(_(oe));ne.textContent="v1.14.2";var ie=v(ne,2);{var ae=le=>{var $e=Fte(),Pt=v(Et($e)),Ee=_(Pt);j(()=>W(Ee,`v${c(s).latestVersion??""}`)),D(le,$e)},Je=le=>{var $e=Lte();D(le,$e)};z(ie,le=>{var $e;($e=c(s))!=null&&$e.latestVersion?le(ae):le(Je,-1)})}var Le=v(oe,2),_e=_(Le);{var Ze=le=>{var $e=Ite(),Pt=v(_($e));j(()=>W(Pt,` Update to v${c(s).latestVersion??""}`)),U("click",$e,xe),D(le,$e)};z(_e,le=>{var $e;($e=c(s))!=null&&$e.latestVersion&&le(Ze)})}var Me=v(_e,2),ct=_(Me);let Zt;var Z=v(ct);j(()=>{Me.disabled=c(d),Zt=kt(ct,0,"svelte-1n46o8q",null,Zt,{spinning:c(d)}),W(Z,` ${c(d)?"Checking…":"Check for updates"}`)}),U("click",$,le=>le.stopPropagation()),U("click",Me,Pe),D(N,$)};z(Fi,N=>{var $;c(a)&&!(($=c(s))!=null&&$.docker)&&N(zi)})}var Di=v(Ji,2),K=_(Di),De=v(K,2);{var Qe=N=>{var $=Wte(),oe=_($);{var ne=_e=>{var Ze=Nte(),Me=_(Ze);{var ct=ut=>{const fe=Ft(()=>Math.floor((Date.now()-c(s).startedAt)/1e3)),Ve=Ft(()=>Math.floor(c(fe)/86400)),Ct=Ft(()=>Math.floor(c(fe)%86400/3600)),Wt=Ft(()=>Math.floor(c(fe)%3600/60));var bt=Tte(),gi=v(Et(bt)),Ai=_(gi);j(()=>W(Ai,`${c(Ve)>0?c(Ve)+"d ":""}${c(Ct)>0||c(Ve)>0?c(Ct)+"h ":""}${c(Wt)??""}m`)),D(ut,bt)};z(Me,ut=>{c(s).startedAt&&ut(ct)})}var Zt=v(Me,3),Z=_(Zt),le=v(Zt,3),$e=_(le),Pt=v(le,3),Ee=_(Pt),We=v(Pt,2);{var wt=ut=>{var fe=Mte(),Ve=v(Et(fe)),Ct=_(Ve),Wt=v(Ve,3),bt=_(Wt);j(()=>{W(Ct,c(s).matterNodes??0),W(bt,c(s).matterEndpoints??0)}),D(ut,fe)};z(We,ut=>{c(s).matterEnabled&&ut(wt)})}var gt=v(We,2);{var Ie=ut=>{var fe=Rte(),Ve=v(Et(fe)),Ct=_(Ve),Wt=v(Ve,3),bt=_(Wt);j(()=>{W(Ct,c(s).dbDocs??"—"),W(bt,c(s).dbViews??"—")}),D(ut,fe)};z(gt,ut=>{c(s).dbEnabled&&ut(Ie)})}var ge=v(gt,3),Re=_(ge),Ne=v(ge,3),it=_(Ne),at=v(Ne,3),Oe=_(at);j(()=>{W(Z,c(s).scripts),W($e,c(s).topics),W(Ee,c(s).mqttMsgPerSec??"—"),W(Re,c(s).handlers??"—"),W(it,c(s).memMb!=null?c(s).memMb+" MB":"—"),W(Oe,c(s).cpuPercent!=null?c(s).cpuPercent+" %":"—")}),D(_e,Ze)},ie=_e=>{var Ze=Ote();D(_e,Ze)};z(oe,_e=>{c(s)?_e(ne):_e(ie,-1)})}var ae=v(oe,2),Je=_(ae);{var Le=_e=>{var Ze=Hte();U("click",Ze,()=>{m(r,!1),ke()}),D(_e,Ze)};z(Je,_e=>{var Ze;(Ze=c(s))!=null&&Ze.docker||_e(Le)})}U("click",$,_e=>_e.stopPropagation()),D(N,$)};z(De,N=>{c(r)&&N(Qe)})}var tt=v(Di,2);let Gt;var ci=v(tt,2);{var vt=N=>{var $=zte();U("click",$,I),D(N,$)};z(ci,N=>{c(f)==="password"&&N(vt)})}var dt=v(St,2),Y=_(dt);gs(Yc(Y,{}),N=>m(M,N,!0),()=>c(M));var Te=v(Y,2);let lt;var we=_(Te);{let N=Ft(()=>c(n)==="scripts");lZ(we,{get active(){return c(N)}})}var di=v(Te,2);let Lt;var te=_(di);tJ(te,{});var Ye=v(di,2);let Bt;var It=_(Ye);RQ(It,{});var Dt=v(Ye,2);let Be;var je=_(Dt);eQ(je,{});var Kt=v(Dt,2);let ri;var hi=_(Kt);xte(hi,{});var Xt=v(Kt,2);let pe;var Ge=_(Xt);nY(Ge,{});var ot=v(Xt,2);let rt;var jt=_(ot);ZZ(jt,{});var Ot=v(ot,2);let Ci;var P=_(Ot);JZ(P,{}),j(()=>{fi=kt(Qt,1,"svelte-1n46o8q",null,fi,{active:c(n)==="scripts"}),Bi=kt(oi,1,"svelte-1n46o8q",null,Bi,{active:c(n)==="packages"}),ti=kt(ye,1,"svelte-1n46o8q",null,ti,{active:c(n)==="mqtt"}),Ri=kt(Ut,1,"svelte-1n46o8q",null,Ri,{active:c(n)==="logs"}),Gt=kt(tt,1,"nav-settings svelte-1n46o8q",null,Gt,{active:c(n)==="config"}),lt=kt(Te,1,"page-wrap svelte-1n46o8q",null,lt,{hidden:c(n)!=="scripts"}),Lt=kt(di,1,"page-wrap svelte-1n46o8q",null,Lt,{hidden:c(n)!=="packages"}),Bt=kt(Ye,1,"page-wrap svelte-1n46o8q",null,Bt,{hidden:c(n)!=="mqtt"}),Be=kt(Dt,1,"page-wrap svelte-1n46o8q",null,Be,{hidden:c(n)!=="matter"}),ri=kt(Kt,1,"page-wrap svelte-1n46o8q",null,ri,{hidden:c(n)!=="security"}),pe=kt(Xt,1,"page-wrap svelte-1n46o8q",null,pe,{hidden:c(n)!=="db"}),rt=kt(ot,1,"page-wrap svelte-1n46o8q",null,rt,{hidden:c(n)!=="config"}),Ci=kt(Ot,1,"page-wrap svelte-1n46o8q",null,Ci,{hidden:c(n)!=="logs"})}),U("click",Qt,()=>He("scripts")),U("click",oi,()=>He("packages")),U("click",ye,()=>He("mqtt")),U("click",Ut,()=>{He("logs"),m(re,!1),m(ce,!1)}),U("click",Si,N=>{N.stopPropagation(),m(a,!c(a)),m(r,!1)}),U("click",K,N=>{N.stopPropagation(),m(r,!c(r)),m(a,!1)}),U("click",tt,()=>He("config")),D(Xe,et)};z(ve,Xe=>{c(w)&&!c(p)&&Xe(mt)})}var Mt=v(ve,2);{var st=Xe=>{var et=$te(),St=_(et),Qt=v(_(St),4),fi=v(_(Qt),2),oi=v(Qt,2);{var Bi=ye=>{var ti=jte(),Ei=_(ti);j(()=>W(Ei,c(b))),D(ye,ti)};z(oi,ye=>{c(b)&&ye(Bi)})}var _i=v(oi,2),Ke=_(_i);j(()=>{fi.disabled=c(y),_i.disabled=c(y)||!c(C),W(Ke,c(y)?"Signing in…":"Sign in")}),xs("submit",St,ye=>{ye.preventDefault(),A()}),Vt(fi,()=>c(C),ye=>m(C,ye)),D(Xe,et)};z(Mt,Xe=>{c(p)&&Xe(st)})}var yt=v(Mt,2);{var Ce=Xe=>{var et=Ute();D(Xe,et)};z(yt,Xe=>{c(R)&&Xe(Ce)})}var Nt=v(yt,2);{var si=Xe=>{var et=qte();D(Xe,et)};z(Nt,Xe=>{c(u)&&Xe(si)})}D(o,Ue),$s()}Ys(["click"]);QI(Kte,{target:document.getElementById("app")});export{N6 as t};
|