@kekonic/diagrams-studio 1.0.0-rc.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.
- package/LICENSE +21 -0
- package/README.md +47 -0
- package/dist/browser/assets/SourceEditor-CTsSCxbb.js +23 -0
- package/dist/browser/assets/codicon-Brq4_Ui5.ttf +0 -0
- package/dist/browser/assets/dist-xSRpPWs-.js +49 -0
- package/dist/browser/assets/editor-CPgU7loC.css +1 -0
- package/dist/browser/assets/editor.api-Pc7YbpSQ.js +423 -0
- package/dist/browser/assets/editor.worker-r79G8Edd.js +30 -0
- package/dist/browser/assets/format-CEbYvQUd.css +1 -0
- package/dist/browser/assets/format-CX-V5tOl.js +425 -0
- package/dist/browser/assets/github-dark-C-LZuMrd.js +1 -0
- package/dist/browser/assets/github-light-EUqPIrTm.js +1 -0
- package/dist/browser/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
- package/dist/browser/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
- package/dist/browser/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
- package/dist/browser/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
- package/dist/browser/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2 +0 -0
- package/dist/browser/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff +0 -0
- package/dist/browser/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2 +0 -0
- package/dist/browser/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff +0 -0
- package/dist/browser/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff +0 -0
- package/dist/browser/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2 +0 -0
- package/dist/browser/assets/index-D15KDLkg.css +1 -0
- package/dist/browser/assets/index-D4UABSTV.js +3411 -0
- package/dist/browser/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
- package/dist/browser/assets/inter-latin-500-normal-DIm8MnOp.js +1 -0
- package/dist/browser/assets/language-BHyJ3vcB.js +11 -0
- package/dist/browser/assets/monaco-features-DiflRtGt.css +1 -0
- package/dist/browser/assets/monaco-features-i8AvDstT.js +28 -0
- package/dist/browser/assets/wasm-BnjxR4X6.js +1 -0
- package/dist/browser/favicon.svg +8 -0
- package/dist/browser/index.html +17 -0
- package/dist/index.d.mts +173 -0
- package/dist/index.mjs +457 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
import{$ as e,$a as t,$c as n,$d as r,$f as i,$i as a,$n as o,$s as s,$u as c,A as l,Aa as u,Ac as d,Ad as f,Af as p,Ai as m,Al as h,An as g,Ao as _,Ar as v,As as y,At as ee,Au as b,Ba as te,Bc as ne,Bd as re,Bl as ie,Bn as ae,Bo as oe,Br as se,Bs as ce,Bt as le,Bu as ue,C as de,Ca as fe,Cc as x,Cd as pe,Cf as me,Ci as he,Cl as ge,Cn as _e,Cp as ve,Cs as ye,Ct as be,Cu as xe,D as Se,Da as Ce,Dc as we,Dd as S,Df as Te,Di as Ee,Dl as De,Dn as Oe,Do as ke,Dr as Ae,Ds as je,Dt as Me,Du as Ne,E as Pe,Ea as Fe,Ed as Ie,Ei as Le,El as Re,Eo as ze,Er as Be,Es as Ve,Et as He,Eu as Ue,Fa as We,Fc as Ge,Fd as Ke,Ff as qe,Fi as Je,Fn as Ye,Fo as Xe,Fr as Ze,Fs as Qe,Ft as $e,Fu as et,Ga as tt,Gd as nt,Gf as rt,Gi as it,Gl as at,Gr as ot,Gs as st,Gt as ct,Gu as lt,Ha as ut,Hc as dt,Hd as ft,Hf as pt,Hl as mt,Hr as ht,Hs as gt,Ht as _t,Hu as vt,Ia as yt,Ic as bt,Id as xt,If as St,Ii as Ct,In as wt,Io as C,Ir as Tt,Is as Et,It as Dt,Iu as Ot,J as kt,Ja as At,Jc as jt,Ji as Mt,Jl as Nt,Js as w,Jt as Pt,Ju as Ft,K as It,Ka as Lt,Kc as Rt,Kd as zt,Kf as Bt,Kl as Vt,Ko as Ht,Ks as Ut,Kt as Wt,Ku as Gt,La as Kt,Lc as qt,Ld as Jt,Li as Yt,Ll as Xt,Ln as Zt,Lo as Qt,Ls as $t,Lt as en,Lu as tn,Ma as nn,Mc as rn,Md as an,Mf as on,Mi as sn,Ml as cn,Mn as ln,Mo as un,Mr as dn,Ms as T,Mt as fn,Mu as pn,N as mn,Na as hn,Nc as gn,Nd as _n,Nf as vn,Ni as yn,Nl as bn,Nn as xn,No as E,Ns as D,Nt as Sn,Nu as Cn,O as wn,Oa as Tn,Oc as En,Od as Dn,Of as On,Oi as kn,Ol as An,On as jn,Oo as Mn,Os as Nn,Ot as Pn,Ou as Fn,Pa as In,Pc as Ln,Pd as Rn,Pf as zn,Pi as Bn,Pn as Vn,Po as Hn,Pr as Un,Ps as Wn,Pt as Gn,Pu as Kn,Q as qn,Qa as Jn,Qc as Yn,Qd as Xn,Qf as Zn,Qi as Qn,Qn as $n,Qo as er,Qs as tr,Qt as nr,Qu as rr,R as ir,Ra as ar,Rc as or,Rd as sr,Rf as cr,Rl as lr,Rn as ur,Ro as dr,Rr as fr,Rs as pr,Rt as mr,Ru as hr,S as gr,Sa as _r,Sd as vr,Sf as yr,Si as br,Sl as xr,Sn as Sr,So as Cr,Sp as wr,Sr as Tr,Ss as Er,St as Dr,Su as Or,Ta as kr,Tc as Ar,Td as jr,Tl as Mr,Tn as Nr,To as Pr,Tr as Fr,Ts as Ir,Tt as Lr,Tu as Rr,Ud as zr,Uf as Br,Ui as Vr,Ul as Hr,Uo as Ur,Ur as Wr,Us as Gr,Ut as Kr,Uu as qr,V as Jr,Va as Yr,Vd as Xr,Vf as Zr,Vl as Qr,Vo as $r,Vr as ei,Vs as ti,Vt as ni,Vu as ri,Wa as ii,Wc as ai,Wd as oi,Wf as si,Wl as ci,Wn as li,Wo as ui,Ws as di,Wt as fi,Wu as pi,Xa as mi,Xc as hi,Xd as gi,Xf as _i,Xi as vi,Xl as yi,Xn as bi,Xs as xi,Xt as Si,Xu as Ci,Y as wi,Ya as Ti,Yc as Ei,Yd as Di,Yf as Oi,Yi as ki,Yl as Ai,Yn as ji,Ys as Mi,Yt as Ni,Yu as Pi,Z as Fi,Za as O,Zc as Ii,Zd as Li,Zf as Ri,Zi as zi,Zl as Bi,Zn as Vi,Zs as Hi,Zt as Ui,Zu as Wi,_ as Gi,_d as Ki,_f as k,_i as qi,_l as Ji,_n as A,_o as Yi,_p as Xi,_r as Zi,_s as Qi,_u as $i,aa as ea,ad as ta,af as na,al as j,an as ra,ao as ia,ap as aa,ar as oa,as as sa,at as ca,ba as la,bd as ua,bf as da,bi as fa,bl as pa,bn as ma,bo as ha,bp as ga,br as _a,bs as va,bt as ya,bu as ba,c as xa,cc as Sa,cd as Ca,cf as wa,cl as Ta,cn as Ea,co as Da,cp as Oa,cr as ka,cs as Aa,ct as ja,d as Ma,dc as M,dd as Na,df as N,dl as Pa,do as Fa,dp as Ia,dr as La,dt as Ra,ea as za,ec as P,ed as Ba,ef as F,el as I,en as Va,eo as Ha,ep as Ua,er as Wa,f as Ga,fc as Ka,ff as qa,fl as Ja,fn as Ya,fo as Xa,fp as Za,fr as Qa,fs as $a,ft as eo,g as to,ga as no,gc as ro,gd as io,gf as ao,gi as oo,gl as so,gn as co,go as lo,gp as uo,gr as fo,gt as po,gu as mo,h as ho,ha as go,hc as _o,hd as vo,hf as yo,hl as bo,hn as xo,hp as So,hr as Co,hs as wo,ht as To,hu as Eo,ic as Do,id as Oo,if as ko,il as Ao,in as jo,io as Mo,ir as No,is as Po,it as Fo,iu as Io,j as Lo,ja as Ro,jc as zo,jf as L,ji as Bo,jl as Vo,jn as Ho,jo as Uo,js as Wo,jt as Go,ju as Ko,k as qo,ka as Jo,kc as Yo,kd as Xo,kf as Zo,ki as Qo,kl as $o,ko as es,kr as R,kt as ts,ku as ns,la as rs,lc as z,ld as is,lf as B,ll as V,ln as as,lp as os,lr as ss,lt as cs,m as ls,ma as us,mc as ds,mf as fs,ml as ps,mn as ms,mo as hs,mp as gs,mt as _s,mu as vs,nc as ys,nd as bs,nf as xs,nl as Ss,nn as Cs,no as ws,nr as Ts,ns as Es,nt as Ds,nu as Os,oa as ks,oc as As,od as js,of as Ms,ol as Ns,oo as Ps,op as Fs,or as Is,os as Ls,ot as Rs,ou as zs,pc as Bs,pf as Vs,pl as Hs,pn as Us,po as Ws,pt as Gs,qa as Ks,qc as qs,qd as Js,qf as Ys,qi as Xs,ql as Zs,qo as Qs,qs as $s,qt as ec,qu as tc,rc as H,rd as nc,rf as rc,rl as ic,rn as ac,ro as oc,rp as sc,rr as cc,rs as lc,rt as uc,ru as dc,sa as fc,sc as pc,sd as mc,sf as hc,sl as gc,sn as _c,so as U,sp as vc,sr as yc,ss as bc,st as xc,t as Sc,tc as Cc,td as wc,tf as W,tl as Tc,tn as Ec,to as Dc,tp as Oc,tr as kc,tu as Ac,u as jc,uc as Mc,ud as Nc,uf as Pc,ul as Fc,un as Ic,uo as Lc,up as Rc,ur as zc,ut as Bc,v as Vc,vc as Hc,vf as G,vi as Uc,vl as Wc,vo as Gc,vp as Kc,vr as qc,vs as Jc,vt as Yc,vu as Xc,w as Zc,wc as K,wd as q,wi as Qc,wl as $c,wn as el,wo as tl,wp as nl,wr as rl,ws as il,wt as al,wu as ol,xa as sl,xd as cl,xf as ll,xi as ul,xl as J,xn as dl,xp as fl,xr as pl,xs as ml,xt as hl,xu as gl,yc as _l,yd as vl,yf as yl,yi as bl,yl as xl,yn as Sl,yo as Cl,yr as wl,ys as Tl,yt as El,yu as Dl,z as Ol,za as kl,zc as Al,zd as jl,zl as Ml,zn as Nl,zo as Pl,zr as Fl,zs as Il,zt as Ll,zu as Rl}from"./format-CX-V5tOl.js";function zl(e,t,n){return new Bl(e,t,n)}var Bl=class extends mi{constructor(e,t,n){super(n.worker,n.keepIdleModels||!1,e,t),this._foreignModuleHost=n.host||null,this._foreignProxy=this._getProxy().then(e=>new Proxy({},{get(t,n,r){if(n!==`then`){if(typeof n!=`string`)throw Error(`Not supported`);return(...t)=>e.$fmr(n,t)}}}))}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!=`function`)return Promise.reject(Error(`Missing method `+e+` or missing main thread foreign host.`));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(e){return Promise.reject(e)}}getProxy(){return this._foreignProxy}withSyncedResources(e){return this.workerWithSyncedResources(e).then(e=>this.getProxy())}};function Vl(e){return Array.isArray(e)}function Hl(e){return!Vl(e)}function Ul(e){return typeof e==`string`}function Wl(e){return!Ul(e)}function Gl(e){return!e}function Kl(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function ql(e){return e.replace(/[&<>'"_]/g,`-`)}function Jl(e,t){console.log(`${e.languageId}: ${t}`)}function Y(e,t){return Error(`${e.languageId}: ${t}`)}function Yl(e,t,n,r,i){let a=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,o=null;return t.replace(a,function(t,a,s,c,l,u,d,f,p){return Gl(s)?Gl(c)?!Gl(l)&&l<r.length?Kl(e,r[l]):!Gl(d)&&e&&typeof e[d]==`string`?e[d]:(o===null&&(o=i.split(`.`),o.unshift(i)),!Gl(u)&&u<o.length?Kl(e,o[u]):``):Kl(e,n):`$`})}function Xl(e,t,n){let r=/\$[sS](\d\d?)/g,i=null;return t.replace(r,function(t,r){return i===null&&(i=n.split(`.`),i.unshift(n)),!Gl(r)&&r<i.length?Io(Kl(e,i[r])):``})}function Zl(e,t){let n=t;for(;n&&n.length>0;){let t=e.tokenizer[n];if(t)return t;let r=n.lastIndexOf(`.`);n=r<0?null:n.substr(0,r)}return null}function Ql(e,t){let n=t;for(;n&&n.length>0;){if(e.stateNames[n])return!0;let t=n.lastIndexOf(`.`);n=t<0?null:n.substr(0,t)}return!1}var $l=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},eu=function(e,t){return function(n,r){t(n,r,e)}},tu,nu=5,ru=class e{static{this._INSTANCE=new e(nu)}static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new iu(e,t);let n=iu.getStackElementId(e);n.length>0&&(n+=`|`),n+=t;let r=this._entries[n];return r||(r=new iu(e,t),this._entries[n]=r,r)}},iu=class e{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t=``;for(;e!==null;)t.length>0&&(t+=`|`),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(t){return e._equals(this,t)}push(e){return ru.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return ru.create(this.parent,e)}},au=class e{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new e(this.languageId,this.state)}},ou=class e{static{this._INSTANCE=new e(nu)}static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(t!==null||e!==null&&e.depth>=this._maxCacheDepth)return new su(e,t);let n=iu.getStackElementId(e),r=this._entries[n];return r||(r=new su(e,null),this._entries[n]=r,r)}},su=class e{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:ou.create(this.stack,this.embeddedLanguageData)}equals(t){return!(t instanceof e)||!this.stack.equals(t.stack)?!1:this.embeddedLanguageData===null&&t.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||t.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(t.embeddedLanguageData)}},cu=class{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new cl(e,t,this._languageId)))}nestedLanguageTokenize(e,t,n,r){let i=n.languageId,a=n.state,o=vr.get(i);if(!o)return this.enterLanguage(i),this.emit(r,``),a;let s=o.tokenize(e,t,a);if(r!==0)for(let e of s.tokens)this._tokens.push(new cl(e.offset+r,e.type,e.language));else this._tokens=this._tokens.concat(s.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,s.endState}finalize(e){return new pe(this._tokens,e)}},lu=class e{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){let n=this._theme.match(this._currentLanguageId,t)|1024;this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))}static _merge(e,t,n){let r=e===null?0:e.length,i=t.length,a=n===null?0:n.length;if(r===0&&i===0&&a===0)return new Uint32Array;if(r===0&&i===0)return n;if(i===0&&a===0)return e;let o=new Uint32Array(r+i+a);e!==null&&o.set(e);for(let e=0;e<i;e++)o[r+e]=t[e];return n!==null&&o.set(n,r+i),o}nestedLanguageTokenize(t,n,r,i){let a=r.languageId,o=r.state,s=vr.get(a);if(!s)return this.enterLanguage(a),this.emit(i,``),o;let c=s.tokenizeEncoded(t,n,o);if(i!==0)for(let e=0,t=c.tokens.length;e<t;e+=2)c.tokens[e]+=i;return this._prependTokens=e._merge(this._prependTokens,this._tokens,c.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,c.endState}finalize(t){return new vo(e._merge(this._prependTokens,this._tokens,null),[],t)}},uu=tu=class extends B{constructor(e,t,n,r,i){super(),this._configurationService=i,this._languageService=e,this._standaloneThemeService=t,this._languageId=n,this._lexer=r,this._embeddedLanguages=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let a=!1;this._register(vr.onDidChange(e=>{if(a)return;let t=!1;for(let n=0,r=e.changedLanguages.length;n<r;n++){let r=e.changedLanguages[n];if(this._embeddedLanguages[r]){t=!0;break}}t&&(a=!0,vr.handleChange([this._languageId]),a=!1)})),this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.maxTokenizationLineLength`)&&(this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}))}))}getLoadStatus(){let e=[];for(let t in this._embeddedLanguages){let n=vr.get(t);if(n){if(n instanceof tu){let t=n.getLoadStatus();t.loaded===!1&&e.push(t.promise)}continue}vr.isResolved(t)||e.push(vr.getOrCreate(t))}return e.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(e=>void 0)}}getInitialState(){let e=ru.create(null,this._lexer.start);return ou.create(e,null)}tokenize(e,t,n){if(e.length>=this._maxTokenizationLineLength)return Ks(this._languageId,n);let r=new cu,i=this._tokenize(e,t,n,r);return r.finalize(i)}tokenizeEncoded(e,t,n){if(e.length>=this._maxTokenizationLineLength)return At(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),n);let r=new lu(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),i=this._tokenize(e,t,n,r);return r.finalize(i)}_tokenize(e,t,n,r){return n.embeddedLanguageData?this._nestedTokenize(e,t,n,0,r):this._myTokenize(e,t,n,0,r)}_findLeavingNestedLanguageOffset(e,t){let n=this._lexer.tokenizer[t.stack.state];if(!n&&(n=Zl(this._lexer,t.stack.state),!n))throw Y(this._lexer,`tokenizer state is not defined: `+t.stack.state);let r=-1,i=!1;for(let a of n){if(!Wl(a.action)||!(a.action.nextEmbedded===`@pop`||a.action.hasEmbeddedEndInCases))continue;i=!0;let n=a.resolveRegex(t.stack.state),o=n.source;if(o.substr(0,4)===`^(?:`&&o.substr(o.length-1,1)===`)`){let e=(n.ignoreCase?`i`:``)+(n.unicode?`u`:``);n=new RegExp(o.substr(4,o.length-5),e)}let s=e.search(n);s===-1||s!==0&&a.matchOnlyAtLineStart||(r===-1||s<r)&&(r=s)}if(!i)throw Y(this._lexer,`no rule containing nextEmbedded: "@pop" in tokenizer embedded state: `+t.stack.state);return r}_nestedTokenize(e,t,n,r,i){let a=this._findLeavingNestedLanguageOffset(e,n);if(a===-1){let a=i.nestedLanguageTokenize(e,t,n.embeddedLanguageData,r);return ou.create(n.stack,new au(n.embeddedLanguageData.languageId,a))}let o=e.substring(0,a);o.length>0&&i.nestedLanguageTokenize(o,!1,n.embeddedLanguageData,r);let s=e.substring(a);return this._myTokenize(s,t,n,r+a,i)}_safeRuleName(e){return e?e.name:`(unknown)`}_myTokenize(e,t,n,r,i){i.enterLanguage(this._languageId);let a=e.length,o=t&&this._lexer.includeLF?e+`
|
|
2
|
+
`:e,s=o.length,c=n.embeddedLanguageData,l=n.stack,u=0,d=null,f=!0;for(;f||u<s;){let n=u,p=l.depth,m=d?d.groups.length:0,h=l.state,g=null,_=null,v=null,y=null,ee=null;if(d){g=d.matches;let e=d.groups.shift();_=e.matched,v=e.action,y=d.rule,d.groups.length===0&&(d=null)}else{if(!f&&u>=s)break;f=!1;let e=this._lexer.tokenizer[h];if(!e&&(e=Zl(this._lexer,h),!e))throw Y(this._lexer,`tokenizer state is not defined: `+h);let t=o.substr(u);for(let n of e)if((u===0||!n.matchOnlyAtLineStart)&&(g=t.match(n.resolveRegex(h)),g)){_=g[0],v=n.action;break}}if(g||(g=[``],_=``),v||=(u<s&&(g=[o.charAt(u)],_=g[0]),this._lexer.defaultToken),_===null)break;for(u+=_.length;Hl(v)&&Wl(v)&&v.test;)v=v.test(_,g,h,u===s);let b=null;if(typeof v==`string`||Array.isArray(v))b=v;else if(v.group)b=v.group;else if(v.token!==null&&v.token!==void 0){if(b=v.tokenSubst?Yl(this._lexer,v.token,_,g,h):v.token,v.nextEmbedded)if(v.nextEmbedded===`@pop`){if(!c)throw Y(this._lexer,`cannot pop embedded language if not inside one`);c=null}else if(c)throw Y(this._lexer,`cannot enter embedded language from within an embedded language`);else ee=Yl(this._lexer,v.nextEmbedded,_,g,h);if(v.goBack&&(u=Math.max(0,u-v.goBack)),v.switchTo&&typeof v.switchTo==`string`){let e=Yl(this._lexer,v.switchTo,_,g,h);if(e[0]===`@`&&(e=e.substr(1)),Zl(this._lexer,e))l=l.switchTo(e);else throw Y(this._lexer,`trying to switch to a state '`+e+`' that is undefined in rule: `+this._safeRuleName(y))}else if(v.transform&&typeof v.transform==`function`)throw Y(this._lexer,`action.transform not supported`);else if(v.next)if(v.next===`@push`){if(l.depth>=this._lexer.maxStack)throw Y(this._lexer,`maximum tokenizer stack size reached: [`+l.state+`,`+l.parent.state+`,...]`);l=l.push(h)}else if(v.next===`@pop`){if(l.depth<=1)throw Y(this._lexer,`trying to pop an empty stack in rule: `+this._safeRuleName(y));l=l.pop()}else if(v.next===`@popall`)l=l.popall();else{let e=Yl(this._lexer,v.next,_,g,h);if(e[0]===`@`&&(e=e.substr(1)),Zl(this._lexer,e))l=l.push(e);else throw Y(this._lexer,`trying to set a next state '`+e+`' that is undefined in rule: `+this._safeRuleName(y))}v.log&&typeof v.log==`string`&&Jl(this._lexer,this._lexer.languageId+`: `+Yl(this._lexer,v.log,_,g,h))}if(b===null)throw Y(this._lexer,`lexer rule has no well-defined action in rule: `+this._safeRuleName(y));let te=n=>{let a=this._languageService.getLanguageIdByLanguageName(n)||this._languageService.getLanguageIdByMimeType(n)||n,o=this._getNestedEmbeddedLanguageData(a);if(u<s){let n=e.substr(u);return this._nestedTokenize(n,t,ou.create(l,o),r+u,i)}else return ou.create(l,o)};if(Array.isArray(b)){if(d&&d.groups.length>0)throw Y(this._lexer,`groups cannot be nested: `+this._safeRuleName(y));if(g.length!==b.length+1)throw Y(this._lexer,`matched number of groups does not match the number of actions in rule: `+this._safeRuleName(y));let e=0;for(let t=1;t<g.length;t++)e+=g[t].length;if(e!==_.length)throw Y(this._lexer,`with groups, all characters should be matched in consecutive groups in rule: `+this._safeRuleName(y));d={rule:y,matches:g,groups:[]};for(let e=0;e<b.length;e++)d.groups[e]={action:b[e],matched:g[e+1]};u-=_.length;continue}else{if(b===`@rematch`&&(u-=_.length,_=``,g=null,b=``,ee!==null))return te(ee);if(_.length===0){if(s===0||p!==l.depth||h!==l.state||(d?d.groups.length:0)!==m)continue;throw Y(this._lexer,`no progress in tokenizer in rule: `+this._safeRuleName(y))}let e=null;if(Ul(b)&&b.indexOf(`@brackets`)===0){let t=b.substr(9),n=du(this._lexer,_);if(!n)throw Y(this._lexer,`@brackets token returned but no bracket defined as: `+_);e=ql(n.token+t)}else e=ql(b===``?``:b+this._lexer.tokenPostfix);n<a&&i.emit(n+r,e)}if(ee!==null)return te(ee)}return ou.create(l,c)}_getNestedEmbeddedLanguageData(e){if(!this._languageService.isRegisteredLanguageId(e))return new au(e,Lt);e!==this._languageId&&(this._languageService.requestBasicLanguageFeatures(e),vr.getOrCreate(e),this._embeddedLanguages[e]=!0);let t=vr.get(e);return t?new au(e,t.getInitialState()):new au(e,Lt)}};uu=tu=$l([eu(4,C)],uu);function du(e,t){if(!t)return null;t=Kl(e,t);let n=e.brackets;for(let e of n)if(e.open===t)return{token:e.token,bracketType:1};else if(e.close===t)return{token:e.token,bracketType:-1};return null}var fu=tt(`standaloneColorizer`,{createHTML:e=>e}),pu=class{static colorizeElement(e,t,n,r){r||={};let i=r.theme||`vs`,a=r.mimeType||n.getAttribute(`lang`)||n.getAttribute(`data-lang`);if(!a)return console.error(`Mode not detected`),Promise.resolve();let o=t.getLanguageIdByMimeType(a)||a;e.setTheme(i);let s=n.firstChild?n.firstChild.nodeValue:``;return n.className+=` `+i,this.colorize(t,s||``,o,r).then(e=>{n.innerHTML=fu?.createHTML(e)??e},e=>console.error(e))}static async colorize(e,t,n,r){let i=e.languageIdCodec,a=4;r&&typeof r.tabSize==`number`&&(a=r.tabSize),Xc(t)&&(t=t.substr(1));let o=$i(t);if(!e.isRegisteredLanguageId(n))return hu(o,a,i);let s=await vr.getOrCreate(n);return s?mu(o,a,s,i):hu(o,a,i)}static colorizeLine(e,t,n,r,i=4){let a=yt.isBasicASCII(e,t);return te(new Kt(!1,!0,e,!1,a,yt.containsRTL(e,a,n),0,r,[],i,0,0,0,0,-1,`none`,!1,!1,null,null,0)).html}static colorizeModelLine(e,t,n=4){let r=e.getLineContent(t);e.tokenization.forceTokenization(t);let i=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(r,e.mightContainNonBasicASCII(),e.mightContainRTL(),i,n)}};function mu(e,t,n,r){return new Promise((i,a)=>{let o=()=>{let s=gu(e,t,n,r);if(n instanceof uu){let e=n.getLoadStatus();if(e.loaded===!1){e.promise.then(o,a);return}}i(s)};o()})}function hu(e,t,n){let r=[],i=new Uint32Array(2);i[0]=0,i[1]=33587200;for(let a=0,o=e.length;a<o;a++){let o=e[a];i[0]=o.length;let s=new ut(i,o,n),c=yt.isBasicASCII(o,!0),l=te(new Kt(!1,!0,o,!1,c,yt.containsRTL(o,c,!0),0,s,[],t,0,0,0,0,-1,`none`,!1,!1,null,null,0));r=r.concat(l.html),r.push(`<br/>`)}return r.join(``)}function gu(e,t,n,r){let i=[],a=n.getInitialState();for(let o=0,s=e.length;o<s;o++){let s=e[o],c=n.tokenizeEncoded(s,!0,a);ut.convertToEndOffset(c.tokens,s.length);let l=new ut(c.tokens,s,r),u=yt.isBasicASCII(s,!0),d=te(new Kt(!1,!0,s,!1,u,yt.containsRTL(s,u,!0),0,l.inflate(),[],t,0,0,0,0,-1,`none`,!1,!1,null,null,0));i=i.concat(d.html),i.push(`<br/>`),a=c.endState}return i.join(``)}var _u=P,vu=class extends B{constructor(e){super(),this.containerDomNode=document.createElement(`div`),this.containerDomNode.className=`monaco-hover`,this.containerDomNode.classList.toggle(`fade-in`,!!e),this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute(`role`,`tooltip`),this.contentsDomNode=document.createElement(`div`),this.contentsDomNode.className=`monaco-hover-content`,this.scrollbar=this._register(new qi(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}},yu=class e extends B{static render(t,n,r){return new e(t,n,r)}constructor(e,t,n){super(),this.actionLabel=t.label,this.actionKeybindingLabel=n,this.actionContainer=M(e,_u(`div.action-container`)),this.actionContainer.setAttribute(`tabindex`,`0`),this.action=M(this.actionContainer,_u(`a.action`)),this.action.setAttribute(`role`,`button`),t.iconClass&&M(this.action,_u(`span.icon`)).classList.add(...t.iconClass.split(` `)),this.actionRenderedLabel=n?`${t.label} (${n})`:t.label;let r=M(this.action,_u(`span`));r.textContent=this.actionRenderedLabel,this._store.add(new xu(this.actionContainer,t.run)),this._store.add(new Su(this.actionContainer,t.run,[3,10])),this.setEnabled(!0)}setEnabled(e){e?(this.actionContainer.classList.remove(`disabled`),this.actionContainer.removeAttribute(`aria-disabled`)):(this.actionContainer.classList.add(`disabled`),this.actionContainer.setAttribute(`aria-disabled`,`true`))}};function bu(e,t){return e&&t?L(7,`Inspect this in the accessible view with {0}.`,t):e?L(8,`Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding.`):``}var xu=class extends B{constructor(e,t){super(),this._register(z(e,H.CLICK,n=>{n.stopPropagation(),n.preventDefault(),t(e)}))}},Su=class extends B{constructor(e,t,n){super(),this._register(z(e,H.KEY_DOWN,r=>{let i=new Qr(r);n.some(e=>i.equals(e))&&(r.stopPropagation(),r.preventDefault(),t(e))}))}},Cu=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},wu=function(e,t){return function(n,r){t(n,r,e)}},Tu=P,Eu=class extends ul{get _targetWindow(){return x(this._target.targetElements[0])}get _targetDocumentElement(){return x(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return this._hoverPosition===2?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this._hoverContainer.classList.toggle(`locked`,this._isLocked))}addMouseTrackingElement(e){return this._lockMouseTracker.addElement(e)}constructor(e,t,n,r,i){if(super(),this._keybindingService=t,this._configurationService=n,this._markdownRenderer=r,this._accessibilityService=i,this._messageListeners=new N,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._maxHeightRatioRelativeToWindow=.5,this._onDispose=this._register(new F),this._onRequestLayout=this._register(new F),this._linkHandler=e.linkHandler,this._target=`targetElements`in e.target?e.target:new Ou(e.target),e.style)switch(e.style){case 1:e.appearance??={},e.appearance.compact??=!0,e.appearance.showPointer??=!0;break;case 2:e.appearance??={},e.appearance.compact??=!0;break}this._hoverPointer=e.appearance?.showPointer?Tu(`div.workbench-hover-pointer`):void 0,this._hover=this._register(new vu(!e.appearance?.skipFadeInAnimation)),this._hover.containerDomNode.classList.add(`workbench-hover`),e.appearance?.compact&&this._hover.containerDomNode.classList.add(`workbench-hover`,`compact`),this._hoverPointer&&this._hover.containerDomNode.classList.add(`with-pointer`),e.additionalClasses&&this._hover.containerDomNode.classList.add(...e.additionalClasses),e.position?.forcePosition&&(this._forcePosition=!0),e.trapFocus&&(this._enableFocusTraps=!0);let a=e.appearance?.maxHeightRatio;a!==void 0&&a>0&&a<=1&&(this._maxHeightRatioRelativeToWindow=a),this._hoverPosition=e.position?.hoverPosition===void 0?3:si(e.position.hoverPosition)?e.position.hoverPosition:2,this.onmousedown(this._hover.containerDomNode,e=>e.stopPropagation()),this.onkeydown(this._hover.containerDomNode,e=>{e.equals(9)&&this.dispose()}),this._register(z(this._targetWindow,`blur`,()=>this.dispose()));let o=Tu(`div.hover-row.markdown-hover`),s=Tu(`div.hover-contents`);if(typeof e.content==`string`)s.textContent=e.content,s.style.whiteSpace=`pre-wrap`;else if(gn(e.content)){s.appendChild(e.content),s.classList.add(`html-hover-contents`);let t=new ResizeObserver(()=>{this.layout(),this._onRequestLayout.fire()});t.observe(s),this._register(k(()=>t.disconnect()))}else{let t=e.content,{element:n}=this._register(this._markdownRenderer.render(t,{actionHandler:this._linkHandler,asyncRenderCallback:()=>{s.classList.add(`code-hover-contents`),this.layout(),this._onRequestLayout.fire()}}));s.appendChild(n)}if(o.appendChild(s),this._hover.contentsDomNode.appendChild(o),e.actions&&e.actions.length>0){let t=Tu(`div.hover-row.status-bar`),n=Tu(`div.actions`);e.actions.forEach(e=>{let t=this._keybindingService.lookupKeybinding(e.commandId),r=t?t.getLabel():null;this._register(yu.render(n,{label:e.label,commandId:e.commandId,run:t=>{e.run(t),this.dispose()},iconClass:e.iconClass},r))}),t.appendChild(n),this._hover.containerDomNode.appendChild(t)}this._hoverContainer=Tu(`div.workbench-hover-container`),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode);let c;if(c=e.actions&&e.actions.length>0?!1:e.persistence?.hideOnHover===void 0?typeof e.content==`string`||Ye(e.content)&&!e.content.value.includes(`](`)&&!e.content.value.includes(`</a>`):e.persistence.hideOnHover,e.appearance?.showHoverHint){let e=Tu(`div.hover-row.status-bar`),t=Tu(`div.info`);t.textContent=L(1761,`Hold {0} key to mouse over`,me?`Option`:`Alt`),e.appendChild(t),this._hover.containerDomNode.appendChild(e)}let l=[...this._target.targetElements];c||l.push(this._hoverContainer);let u=this._mouseTracker=this._register(new Du(l));if(this._register(u.onMouseOut(()=>{this._isLocked||this.dispose()})),c){let e=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new Du(e)),this._register(this._lockMouseTracker.onMouseOut(()=>{this._isLocked||this.dispose()}))}else this._lockMouseTracker=u}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;let e=this._hover.containerDomNode,t=this.findLastFocusableChild(this._hover.containerDomNode);if(t){let n=Al(this._hoverContainer,Tu(`div`)),r=M(this._hoverContainer,Tu(`div`));n.tabIndex=0,r.tabIndex=0,this._register(z(r,`focus`,t=>{e.focus(),t.preventDefault()})),this._register(z(n,`focus`,e=>{t.focus(),e.preventDefault()}))}}findLastFocusableChild(e){if(e.hasChildNodes())for(let t=0;t<e.childNodes.length;t++){let n=e.childNodes.item(e.childNodes.length-t-1);if(n.nodeType===n.ELEMENT_NODE){let e=n;if(typeof e.tabIndex==`number`&&e.tabIndex>=0)return e}let r=this.findLastFocusableChild(n);if(r)return r}}render(e){e.appendChild(this._hoverContainer);let t=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&bu(this._configurationService.getValue(`accessibility.verbosity.hover`)===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding(`editor.action.accessibleView`)?.getAriaLabel());t&&We(t),this.layout(),this.addFocusTrap()}layout(){this._mouseTracker?.suppressPendingMouseOut(),this._lockMouseTracker!==this._mouseTracker&&this._lockMouseTracker?.suppressPendingMouseOut(),this._hover.containerDomNode.classList.remove(`right-aligned`),this._hover.contentsDomNode.style.maxHeight=``;let e=e=>{let t=_l(e),n=e.getBoundingClientRect();return{top:n.top*t,bottom:n.bottom*t,right:n.right*t,left:n.left*t}},{top:t,right:n,bottom:r,left:i}=this._target.targetElements.map(t=>e(t))[0],a=n-i,o=r-t,s={top:t,right:n,bottom:r,left:i,width:a,height:o,center:{x:i+a/2,y:t+o/2}};if(this.adjustHorizontalHoverPosition(s),this.adjustVerticalHoverPosition(s),this.adjustHoverMaxHeight(s),this._hoverContainer.style.padding=``,this._hoverContainer.style.margin=``,this._hoverPointer){switch(this._hoverPosition){case 1:s.left+=3,s.right+=3,this._hoverContainer.style.paddingLeft=`3px`,this._hoverContainer.style.marginLeft=`-3px`;break;case 0:s.left-=3,s.right-=3,this._hoverContainer.style.paddingRight=`3px`,this._hoverContainer.style.marginRight=`-3px`;break;case 2:s.top+=3,s.bottom+=3,this._hoverContainer.style.paddingTop=`3px`,this._hoverContainer.style.marginTop=`-3px`;break;case 3:s.top-=3,s.bottom-=3,this._hoverContainer.style.paddingBottom=`3px`,this._hoverContainer.style.marginBottom=`-3px`;break}s.center.x=s.left+a/2,s.center.y=s.top+o/2}this.computeXCordinate(s),this.computeYCordinate(s),this._hoverPointer&&(this._hoverPointer.classList.remove(`top`),this._hoverPointer.classList.remove(`left`),this._hoverPointer.classList.remove(`right`),this._hoverPointer.classList.remove(`bottom`),this.setHoverPointerPosition(s)),this._hover.onContentsChanged()}computeXCordinate(e){let t=this._hover.containerDomNode.clientWidth+2;this._target.x===void 0?this._hoverPosition===1?this._x=e.right:this._hoverPosition===0?this._x=e.left-t:(this._hoverPointer?this._x=e.center.x-this._hover.containerDomNode.clientWidth/2:this._x=e.left,this._x+t>=this._targetDocumentElement.clientWidth&&(this._hover.containerDomNode.classList.add(`right-aligned`),this._x=Math.max(this._targetDocumentElement.clientWidth-t-2,this._targetDocumentElement.clientLeft))):this._x=this._target.x,this._x<this._targetDocumentElement.clientLeft&&(this._x=e.left+2)}computeYCordinate(e){this._target.y===void 0?this._hoverPosition===3?this._y=e.top:this._hoverPosition===2?this._y=e.bottom-2:this._hoverPointer?this._y=e.center.y+this._hover.containerDomNode.clientHeight/2:this._y=e.bottom:this._y=this._target.y,this._y>this._targetWindow.innerHeight&&(this._y=e.bottom)}adjustHorizontalHoverPosition(e){if(this._target.x!==void 0)return;let t=this._hoverPointer?3:0;if(this._forcePosition){let n=t+2;this._hoverPosition===1?this._hover.containerDomNode.style.maxWidth=`${this._targetDocumentElement.clientWidth-e.right-n}px`:this._hoverPosition===0&&(this._hover.containerDomNode.style.maxWidth=`${e.left-n}px`);return}this._hoverPosition===1?this._targetDocumentElement.clientWidth-e.right<this._hover.containerDomNode.clientWidth+t&&(e.left>=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=0:this._hoverPosition=2):this._hoverPosition===0&&(e.left<this._hover.containerDomNode.clientWidth+t&&(this._targetDocumentElement.clientWidth-e.right>=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=1:this._hoverPosition=2),e.left-this._hover.containerDomNode.clientWidth-t<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1))}adjustVerticalHoverPosition(e){if(this._target.y!==void 0||this._forcePosition)return;let t=this._hoverPointer?3:0;this._hoverPosition===3?e.top-this._hover.containerDomNode.clientHeight-t<0&&(this._hoverPosition=2):this._hoverPosition===2&&e.bottom+this._hover.containerDomNode.offsetHeight+t>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(e){let t=this._targetWindow.innerHeight*this._maxHeightRatioRelativeToWindow;if(this._forcePosition){let n=(this._hoverPointer?3:0)+2;this._hoverPosition===3?t=Math.min(t,e.top-n):this._hoverPosition===2&&(t=Math.min(t,this._targetWindow.innerHeight-e.bottom-n))}if(this._hover.containerDomNode.style.maxHeight=`${t}px`,this._hover.contentsDomNode.clientHeight<this._hover.contentsDomNode.scrollHeight){let e=`${this._hover.scrollbar.options.verticalScrollbarSize}px`;this._hover.contentsDomNode.style.paddingRight!==e&&(this._hover.contentsDomNode.style.paddingRight=e)}}setHoverPointerPosition(e){if(this._hoverPointer)switch(this._hoverPosition){case 0:case 1:{this._hoverPointer.classList.add(this._hoverPosition===0?`right`:`left`);let t=this._hover.containerDomNode.clientHeight;t>e.height?this._hoverPointer.style.top=`${e.center.y-(this._y-t)-3}px`:this._hoverPointer.style.top=`${Math.round(t/2)-3}px`;break}case 3:case 2:{this._hoverPointer.classList.add(this._hoverPosition===3?`bottom`:`top`);let t=this._hover.containerDomNode.clientWidth,n=Math.round(t/2)-3,r=this._x+n;(r<e.left||r>e.right)&&(n=e.center.x-this._x-3),this._hoverPointer.style.left=`${n}px`;break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._target.dispose?.(),this._hoverContainer.remove(),this._messageListeners.dispose(),super.dispose()),this._isDisposed=!0}};Eu=Cu([wu(1,rl),wu(2,C),wu(3,Nr),wu(4,Tn)],Eu);var Du=class extends ul{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(e,t=200){super(),this._elements=e,this._eventDebounceDelay=t,this._isMouseIn=!0,this._suppressNextMouseOut=!1,this._mouseTimer=this._register(new Vs),this._onMouseOut=this._register(new F);for(let e of this._elements)this.onmouseover(e,()=>this._onTargetMouseOver()),this.onmouseleave(e,()=>this._onTargetMouseLeave())}_onTargetMouseOver(){this._isMouseIn=!0,this._suppressNextMouseOut=!1,this._mouseTimer.clear()}_onTargetMouseLeave(){this._isMouseIn=!1,this._mouseTimer.value=new Vo(()=>this._fireIfMouseOutside(),this._eventDebounceDelay)}_fireIfMouseOutside(){!this._isMouseIn&&!this._suppressNextMouseOut&&this._onMouseOut.fire()}suppressPendingMouseOut(){this._isMouseIn||(this._suppressNextMouseOut=!0)}addElement(e){if(this._elements.includes(e))return B.None;this._elements.push(e);let t=new N;return t.add(z(e,H.MOUSE_OVER,()=>this._onTargetMouseOver())),t.add(z(e,H.MOUSE_LEAVE,()=>this._onTargetMouseLeave())),t.add(k(()=>{let t=this._elements.indexOf(e);t>=0&&this._elements.splice(t,1)})),t}},Ou=class{constructor(e){this._element=e,this.targetElements=[this._element]}dispose(){}};function ku(e){let t=e;return typeof t==`object`&&`markdown`in t&&`markdownNotSupportedFallback`in t}var Au=class{constructor(e,t,n){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=n}async update(e,t,n){if(this._cancellationTokenSource&&=(this._cancellationTokenSource.dispose(!0),void 0),this.isDisposed)return;let r;if(Bt(e)||gn(e)||e===void 0)r=e;else{this._cancellationTokenSource=new sr;let i=this._cancellationTokenSource.token,a;if(a=ku(e)?pt(e.markdown)?e.markdown(i).then(t=>t??e.markdownNotSupportedFallback):e.markdown??e.markdownNotSupportedFallback:e.element(i),a instanceof Promise?(this._hoverWidget||this.show(L(1762,`Loading...`),t,n),r=await a):r=a,this.isDisposed||i.isCancellationRequested)return}this.show(r,t,n)}show(e,t,n){let r=this._hoverWidget;if(this.hasContent(e)){let i={content:e,target:this.target,actions:n?.actions,linkHandler:n?.linkHandler,trapFocus:n?.trapFocus,appearance:{showPointer:this.hoverDelegate.placement===`element`,skipFadeInAnimation:!this.fadeInAnimation||!!r,showHoverHint:n?.appearance?.showHoverHint},position:{hoverPosition:2}};this._hoverWidget=this.hoverDelegate.showHover(i,t)}r?.dispose()}hasContent(e){return e?Ye(e)?!!e.value:!0:!1}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){this._hoverWidget?.dispose(),this._cancellationTokenSource?.dispose(!0),this._cancellationTokenSource=void 0}},ju=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Mu=function(e,t){return function(n,r){t(n,r,e)}},Nu=3,Pu=class extends B{get _currentHover(){return this._hoverStack.at(-1)?.hover}get _currentHoverOptions(){return this._hoverStack.at(-1)?.options}_getContainingHoverIndex(e){let t=gn(e)?[e]:e.targetElements;for(let e=this._hoverStack.length-1;e>=0;e--)for(let n of t)if(En(n,this._hoverStack[e].hover.domNode))return e;return-1}constructor(e,t,n,r,i,a){super(),this._instantiationService=e,this._configurationService=t,this._keybindingService=r,this._layoutService=i,this._accessibilityService=a,this._hoverStack=[],this._currentDelayedHoverWasShown=!1,this._delayedHovers=new Map,this._managedHovers=new Map,this._register(n.onDidShowContextMenu(()=>this.hideHover())),this._register(y.registerCommandAndKeybindingRule({id:`workbench.action.showHover`,weight:0,primary:Rn(2089,2087),handler:()=>{this._showAndFocusHoverForActiveElement()}}))}showInstantHover(e,t,n,r){let i=this._createHover(e,n);if(i)return this._showHover(i,e,t),i.hover}showDelayedHover(e,t){if(e.id===void 0&&(e.id=Iu(e.content)),!this._currentDelayedHover||this._currentDelayedHoverWasShown){if(this._currentHover?.isLocked&&this._getContainingHoverIndex(e.target)<0)return;if(Fu(this._currentHoverOptions)===Fu(e))return this._currentHover;if(this._currentHover&&!this._currentHover.isDisposed&&this._currentDelayedHoverGroupId!==void 0&&this._currentDelayedHoverGroupId===t?.groupId)return this.showInstantHover({...e,appearance:{...e.appearance,skipFadeInAnimation:!0}})}else if(this._currentDelayedHover&&Fu(this._currentHoverOptions)===Fu(e))return this._currentDelayedHover;let n=this._createHover(e,void 0);if(!n){this._currentDelayedHover=void 0,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=void 0;return}return this._currentDelayedHover=n.hover,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=t?.groupId,lr(t?.reducedDelay?this._configurationService.getValue(`workbench.hover.reducedDelay`):this._configurationService.getValue(`workbench.hover.delay`)).then(()=>{n.hover&&!n.hover.isDisposed&&(this._currentDelayedHoverWasShown=!0,this._showHover(n,e))}),n.hover}setupDelayedHover(e,t,n){return this._setupDelayedHover(e,n=>{let r={...typeof t==`function`?t():t,target:e};return r.style===2&&n&&(r.target=Hu(e,n)),r},n)}setupDelayedHoverAtMouse(e,t,n){return this._setupDelayedHover(e,n=>({...typeof t==`function`?t():t,target:n?Hu(e,n):e}),n)}_setupDelayedHover(e,t,n){let r=new N;return r.add(z(e,H.MOUSE_OVER,e=>{this.showDelayedHover(t(e),{groupId:n?.groupId,reducedDelay:n?.reducedDelay})})),n?.setupKeyboardEvents&&r.add(z(e,H.KEY_DOWN,e=>{let n=new Qr(e);(n.equals(10)||n.equals(3))&&this.showInstantHover(t(),!0)})),this._delayedHovers.set(e,{show:e=>{this.showInstantHover(t(),e)}}),r.add(k(()=>this._delayedHovers.delete(e))),r}_createHover(e,t){if(this._currentDelayedHover?.dispose(),this._currentDelayedHover=void 0,e.content===``)return;if(e.id===void 0&&(e.id=Iu(e.content)),this._getContainingHoverIndex(e.target)>=0){if(this._hoverStack.length>=Nu)return}else if(this._currentHover?.isLocked||Fu(this._currentHoverOptions)===Fu(e))return;this._lastHoverOptions=e;let n=e.trapFocus||this._accessibilityService.isScreenReaderOptimized(),r=ds(),i;t||n&&r&&(r.classList.contains(`monaco-hover`)||(i=r));let a=new N,o=this._instantiationService.createInstance(Eu,e);if(e.persistence?.sticky&&(o.isLocked=!0),e.position?.hoverPosition&&!si(e.position.hoverPosition)&&(e.target={targetElements:gn(e.target)?[e.target]:e.target.targetElements,x:e.position.hoverPosition.x+10}),o.onDispose(()=>{let e=this._hoverStack.findIndex(e=>e.hover===o);if(e>=0){let t=this._hoverStack[e];for(Yo(o.domNode)&&t.lastFocusedElementBeforeOpen&&t.lastFocusedElementBeforeOpen.focus();this._hoverStack.length>e+1;){let e=this._hoverStack.pop();e.contextView.dispose(),e.hover.dispose()}this._hoverStack.splice(e,1),t.contextView.dispose()}a.dispose()},void 0,a),!e.container){let t=gn(e.target)?e.target:e.target.targetElements[0];e.container=this._layoutService.getContainer(x(t))}if(a.add(z(x(e.container).document,H.MOUSE_DOWN,e=>{En(e.target,o.domNode)||this._hideHoverAndDescendants(o)})),!e.persistence?.sticky){if(`targetElements`in e.target)for(let t of e.target.targetElements)a.add(z(t,H.CLICK,()=>this._hideHoverAndDescendants(o)));else a.add(z(e.target,H.CLICK,()=>this._hideHoverAndDescendants(o)));let t=ds();if(t){let n=x(t).document;a.add(z(t,H.KEY_DOWN,t=>this._keyDown(t,o,!!e.persistence?.hideOnKeyDown))),a.add(z(n,H.KEY_DOWN,t=>this._keyDown(t,o,!!e.persistence?.hideOnKeyDown))),a.add(z(t,H.KEY_UP,e=>this._keyUp(e,o))),a.add(z(n,H.KEY_UP,e=>this._keyUp(e,o)))}}if(`IntersectionObserver`in ba){let t=new IntersectionObserver(e=>this._intersectionChange(e,o),{threshold:0}),n=`targetElements`in e.target?e.target.targetElements[0]:e.target;t.observe(n),a.add(k(()=>t.disconnect()))}return{hover:o,lastFocusedElementBeforeOpen:i,store:a}}_showHover(e,t,n){let{hover:r,lastFocusedElementBeforeOpen:i,store:a}=e,o=this._getContainingHoverIndex(t.target),s=o>=0;if(!s)this._hideAllHovers();else{for(let e=this._hoverStack.length-1;e>o;e--)this._hoverStack[e].hover.dispose();this._hoverStack.length=o+1}if(s)for(let e=0;e<=o;e++)a.add(this._hoverStack[e].hover.addMouseTrackingElement(r.domNode));let c=t.container??this._layoutService.getContainer(x(gn(t.target)?t.target:t.target.targetElements[0])),l=new dl(c,1),u={hover:r,options:t,contextView:l,lastFocusedElementBeforeOpen:i};this._hoverStack.push(u);let d=new zu(r,n,this._hoverStack.length);if(l.show(d),a.add(r.onRequestLayout(()=>l.layout())),n||t.persistence?.sticky){let e=x(c);a.add(z(e,H.RESIZE,()=>l.layout()))}if(t.onDidHide){let e=t.onDidHide;a.add(k(()=>e()))}t.onDidShow?.()}_hideHoverAndDescendants(e){let t=this._hoverStack.findIndex(t=>t.hover===e);if(!(t<0)){for(let e=this._hoverStack.length-1;e>=t;e--)this._hoverStack[e].hover.dispose();this._hoverStack.length=t}}_hideAllHovers(){for(let e=this._hoverStack.length-1;e>=0;e--)this._hoverStack[e].hover.dispose();this._hoverStack.length=0}hideHover(e){this._hoverStack.length!==0&&(!e&&this._currentHover?.isLocked||this.doHideHover())}doHideHover(){let e=this._hoverStack.length;this._hoverStack[e-1]?.hover.dispose(),this._hoverStack.length=e-1}_intersectionChange(e,t){e[e.length-1].isIntersecting||t.dispose()}showAndFocusLastHover(){this._lastHoverOptions&&this.showInstantHover(this._lastHoverOptions,!0,!0)}_showAndFocusHoverForActiveElement(){let e=ds();for(;e;){let t=this._delayedHovers.get(e)??this._managedHovers.get(e);if(t){t.show(!0);return}e=e.parentElement}}_keyDown(e,t,n){if(e.key===`Alt`){for(let e of this._hoverStack)e.hover.isLocked=!0;return}let r=new Qr(e);if(!(this._keybindingService.resolveKeyboardEvent(r).getSingleModifierDispatchChords().some(e=>!!e)||this._keybindingService.softDispatch(r,r.target).kind!==0)&&n&&(!this._currentHoverOptions?.trapFocus||e.key!==`Tab`)){let e=this._hoverStack.find(e=>e.hover===t);this._hideHoverAndDescendants(t),e?.lastFocusedElementBeforeOpen?.focus()}}_keyUp(e,t){if(e.key===`Alt`){for(let e of this._hoverStack)e.options.persistence?.sticky||(e.hover.isLocked=!1);if(!this._hoverStack.some(e=>e.hover.isMouseIn)){let e=this._hoverStack[this._hoverStack.length-1];this._hideAllHovers(),e?.lastFocusedElementBeforeOpen?.focus()}}}setupManagedHover(e,t,n,r){if(e.showNativeHover)return Ru(t,n);t.setAttribute(`custom-hover`,`true`),t.title!==``&&(console.warn(`HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute.`),t.title=``);let i,a,o=(t,n)=>{let r=a!==void 0;t&&(a?.dispose(),a=void 0),n&&(i?.dispose(),i=void 0),r&&(e.onDidHideHover?.(),a=void 0)},s=(i,o,s,c)=>new Vo(async()=>{(!a||a.isDisposed)&&(a=new Au(e,s||t,i>0),await a.update(typeof n==`function`?n():n,o,{...r,trapFocus:c}))},i),c=new N,l=!1;c.add(z(t,H.MOUSE_DOWN,()=>{l=!0,o(!0,!0)},!0)),c.add(z(t,H.MOUSE_UP,()=>{l=!1},!0)),c.add(z(t,H.MOUSE_LEAVE,e=>{l=!1,o(!1,e.fromElement===t)},!0)),c.add(z(t,H.MOUSE_OVER,r=>{if(i)return;let a=new N,c={targetElements:[t],dispose:()=>{}};(e.placement===void 0||e.placement===`mouse`)&&a.add(z(t,H.MOUSE_MOVE,e=>{c.x=e.x+10,Bu(e,t)||o(!0,!0)},!0)),i=a,Bu(r,t)&&a.add(s(typeof e.delay==`function`?e.delay(n):e.delay,!1,c))},!0)),d(t)||c.add(z(t,H.FOCUS,r=>{if(l||i||(a?.isDisposed&&(a=void 0),gn(r.relatedTarget)&&r.relatedTarget.closest(`.monaco-hover`)||!r.relatedTarget)||!Bu(r,t))return;let c={targetElements:[t],dispose:()=>{}},u=new N;u.add(z(t,H.BLUR,()=>o(!0,!0),!0)),u.add(s(typeof e.delay==`function`?e.delay(n):e.delay,!1,c)),i=u},!0));let u={show:e=>{o(!1,!0),s(0,e,void 0,e)},hide:()=>{o(!0,!0)},update:async(e,t)=>{n=e,await a?.update(n,void 0,t)},dispose:()=>{this._managedHovers.delete(t),c.dispose(),o(!0,!0)}};return this._managedHovers.set(t,u),u}showManagedHover(e){let t=this._managedHovers.get(e);t&&t.show(!0)}dispose(){this._managedHovers.forEach(e=>e.dispose()),super.dispose()}};Pu=ju([Mu(0,w),Mu(1,C),Mu(2,ji),Mu(3,rl),Mu(4,ma),Mu(5,Tn)],Pu);function Fu(e){if(e!==void 0)return e?.id??e}function Iu(e){if(!gn(e))return typeof e==`string`?e.toString():e.value}function Lu(e){let t=typeof e==`function`?e():e;if(Bt(t))return Nl(t);if(ku(t))return t.markdownNotSupportedFallback}function Ru(e,t){function n(t){t?e.setAttribute(`title`,t):e.removeAttribute(`title`)}return n(Lu(t)),{update:e=>n(Lu(e)),show:()=>{},hide:()=>{},dispose:()=>n(void 0)}}var zu=class{get anchorPosition(){return this._hover.anchor}constructor(e,t=!1,n=1){this._hover=e,this._focus=t,this.layer=n}render(e){return this._hover.render(e),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}};function Bu(e,t){return gn(e.target)&&Vu(e.target,t)===t}function Vu(e,t){for(t??=x(e).document.body;!e.hasAttribute(`custom-hover`)&&e!==t;)e=e.parentElement;return e}function Hu(e,t){return{targetElements:[e],x:t.x+10}}E(Vi,Pu,1),ht((e,t)=>{let n=e.getColor(ks);n&&(t.addRule(`.monaco-hover.workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-hover.workbench-hover hr { border-top: 1px solid ${n.transparent(.5)}; }`))});var Uu=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Wu=function(e,t){return function(n,r){t(n,r,e)}};function Gu(e){return e.scheme===J.file?e.fsPath:e.path}var Ku=0,qu=class{constructor(e,t,n,r,i,a,o){this.id=++Ku,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=n,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=r,this.groupOrder=i,this.sourceId=a,this.sourceOrder=o,this.isValid=!0}setValid(e){this.isValid=e}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?` VALID`:`INVALID`}] ${this.actual.constructor.name} - ${this.actual}`}},Ju=class{constructor(e,t){this.resourceLabel=e,this.reason=t}},Yu=class{constructor(){this.elements=new Map}createMessage(){let e=[],t=[];for(let[,n]of this.elements)(n.reason===0?e:t).push(n.resourceLabel);let n=[];return e.length>0&&n.push(L(2099,`The following files have been closed and modified on disk: {0}.`,e.join(`, `))),t.length>0&&n.push(L(2100,`The following files have been modified in an incompatible way: {0}.`,t.join(`, `))),n.join(`
|
|
3
|
+
`)}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}},Xu=class{constructor(e,t,n,r,i,a,o){this.id=++Ku,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=n,this.groupId=r,this.groupOrder=i,this.sourceId=a,this.sourceOrder=o,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split==`function`}removeResource(e,t,n){this.removedResources||=new Yu,this.removedResources.has(t)||this.removedResources.set(t,new Ju(e,n))}setValid(e,t,n){n?this.invalidatedResources&&(this.invalidatedResources.delete(t),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||=new Yu,this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new Ju(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?`INVALID`:` VALID`}] ${this.actual.constructor.name} - ${this.actual}`}},Zu=class{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(let e of this._past)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);for(let e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){let e=[];e.push(`* ${this.strResource}:`);for(let t=0;t<this._past.length;t++)e.push(` * [UNDO] ${this._past[t]}`);for(let t=this._future.length-1;t>=0;t--)e.push(` * [REDO] ${this._future[t]}`);return e.join(`
|
|
4
|
+
`)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){e.type===1?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(let n of this._past)t(n.actual)&&this._setElementValidFlag(n,e);for(let n of this._future)t(n.actual)&&this._setElementValidFlag(n,e)}pushElement(e){for(let e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){let t=[];for(let e=0,n=this._past.length;e<n;e++)t.push(this._past[e].id);for(let e=this._future.length-1;e>=0;e--)t.push(this._future[e].id);return new fo(e,t)}restoreSnapshot(e){let t=e.elements.length,n=!0,r=0,i=-1;for(let a=0,o=this._past.length;a<o;a++,r++){let o=this._past[a];n&&(r>=t||o.id!==e.elements[r])&&(n=!1,i=a),!n&&o.type===1&&o.removeResource(this.resourceLabel,this.strResource,0)}let a=-1;for(let i=this._future.length-1;i>=0;i--,r++){let o=this._future[i];n&&(r>=t||o.id!==e.elements[r])&&(n=!1,a=i),!n&&o.type===1&&o.removeResource(this.resourceLabel,this.strResource,0)}i!==-1&&(this._past=this._past.slice(0,i)),a!==-1&&(this._future=this._future.slice(a+1)),this.versionId++}getElements(){let e=[],t=[];for(let t of this._past)e.push(t.actual);for(let e of this._future)t.push(e.actual);return{past:e,future:t}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let n=this._past.length-1;n>=0;n--)if(this._past[n]===e){t.has(this.strResource)?this._past[n]=t.get(this.strResource):this._past.splice(n,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let n=this._future.length-1;n>=0;n--)if(this._future[n]===e){t.has(this.strResource)?this._future[n]=t.get(this.strResource):this._future.splice(n,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}},Qu=class{constructor(e){this.editStacks=e,this._versionIds=[];for(let e=0,t=this.editStacks.length;e<t;e++)this._versionIds[e]=this.editStacks[e].versionId}isValid(){for(let e=0,t=this.editStacks.length;e<t;e++)if(this._versionIds[e]!==this.editStacks[e].versionId)return!1;return!0}},$u=new Zu(``,``);$u.locked=!0;var ed=class{constructor(e,t){this._dialogService=e,this._notificationService=t,this._editStacks=new Map,this._uriComparisonKeyComputers=[]}getUriComparisonKey(e){for(let t of this._uriComparisonKeyComputers)if(t[0]===e.scheme)return t[1].getComparisonKey(e);return e.toString()}_print(e){console.log(`------------------------------------`),console.log(`AFTER ${e}: `);let t=[];for(let e of this._editStacks)t.push(e[1].toString());console.log(t.join(`
|
|
5
|
+
`))}pushElement(e,t=Zi.None,n=qc.None){if(e.type===0){let r=Gu(e.resource),i=this.getUriComparisonKey(e.resource);this._pushElement(new qu(e,r,i,t.id,t.nextOrder(),n.id,n.nextOrder()))}else{let r=new Set,i=[],a=[];for(let t of e.resources){let e=Gu(t),n=this.getUriComparisonKey(t);r.has(n)||(r.add(n),i.push(e),a.push(n))}i.length===1?this._pushElement(new qu(e,i[0],a[0],t.id,t.nextOrder(),n.id,n.nextOrder())):this._pushElement(new Xu(e,i,a,t.id,t.nextOrder(),n.id,n.nextOrder()))}}_pushElement(e){for(let t=0,n=e.strResources.length;t<n;t++){let n=e.resourceLabels[t],r=e.strResources[t],i;this._editStacks.has(r)?i=this._editStacks.get(r):(i=new Zu(n,r),this._editStacks.set(r,i)),i.pushElement(e)}}getLastElement(e){let t=this.getUriComparisonKey(e);if(this._editStacks.has(t)){let e=this._editStacks.get(t);if(e.hasFutureElements())return null;let n=e.getClosestPastElement();return n?n.actual:null}return null}_splitPastWorkspaceElement(e,t){let n=e.actual.split(),r=new Map;for(let e of n){let t=new qu(e,Gu(e.resource),this.getUriComparisonKey(e.resource),0,0,0,0);r.set(t.strResource,t)}for(let n of e.strResources)t&&t.has(n)||this._editStacks.get(n).splitPastWorkspaceElement(e,r)}_splitFutureWorkspaceElement(e,t){let n=e.actual.split(),r=new Map;for(let e of n){let t=new qu(e,Gu(e.resource),this.getUriComparisonKey(e.resource),0,0,0,0);r.set(t.strResource,t)}for(let n of e.strResources)t&&t.has(n)||this._editStacks.get(n).splitFutureWorkspaceElement(e,r)}removeElements(e){let t=typeof e==`string`?e:this.getUriComparisonKey(e);this._editStacks.has(t)&&(this._editStacks.get(t).dispose(),this._editStacks.delete(t))}setElementsValidFlag(e,t,n){let r=this.getUriComparisonKey(e);this._editStacks.has(r)&&this._editStacks.get(r).setElementsValidFlag(t,n)}createSnapshot(e){let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).createSnapshot(e):new fo(e,[])}restoreSnapshot(e){let t=this.getUriComparisonKey(e.resource);if(this._editStacks.has(t)){let n=this._editStacks.get(t);n.restoreSnapshot(e),!n.hasPastElements()&&!n.hasFutureElements()&&(n.dispose(),this._editStacks.delete(t))}}getElements(e){let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).getElements():{past:[],future:[]}}_findClosestUndoElementWithSource(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestPastElement();a&&a.sourceId===e&&(!t||a.sourceOrder>t.sourceOrder)&&(t=a,n=r)}return[t,n]}canUndo(e){if(e instanceof qc){let[,t]=this._findClosestUndoElementWithSource(e.id);return!!t}let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).hasPastElements():!1}_onError(e,t){Oc(e);for(let e of t.strResources)this.removeElements(e);this._notificationService.error(e)}_acquireLocks(e){for(let t of e.editStacks)if(t.locked)throw Error(`Cannot acquire edit stack lock`);for(let t of e.editStacks)t.locked=!0;return()=>{for(let t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,n,r,i){let a=this._acquireLocks(n),o;try{o=t()}catch(t){return a(),r.dispose(),this._onError(t,e)}return o?o.then(()=>(a(),r.dispose(),i()),t=>(a(),r.dispose(),this._onError(t,e))):(a(),r.dispose(),i())}async _invokeWorkspacePrepare(e){if(e.actual.prepareUndoRedo===void 0)return B.None;let t=e.actual.prepareUndoRedo();return t===void 0?B.None:t}_invokeResourcePrepare(e,t){if(e.actual.type!==1||e.actual.prepareUndoRedo===void 0)return t(B.None);let n=e.actual.prepareUndoRedo();return n?ao(n)?t(n):n.then(e=>t(e)):t(B.None)}_getAffectedEditStacks(e){let t=[];for(let n of e.strResources)t.push(this._editStacks.get(n)||$u);return new Qu(t)}_tryToSplitAndUndo(e,t,n,r){if(t.canSplit())return this._splitPastWorkspaceElement(t,n),this._notificationService.warn(r),new td(this._undo(e,0,!0));for(let e of t.strResources)this.removeElements(e);return this._notificationService.warn(r),new td}_checkWorkspaceUndo(e,t,n,r){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,L(2101,`Could not undo '{0}' across all files. {1}`,t.label,t.removedResources.createMessage()));if(r&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,L(2102,`Could not undo '{0}' across all files. {1}`,t.label,t.invalidatedResources.createMessage()));let i=[];for(let e of n.editStacks)e.getClosestPastElement()!==t&&i.push(e.resourceLabel);if(i.length>0)return this._tryToSplitAndUndo(e,t,null,L(2103,`Could not undo '{0}' across all files because changes were made to {1}`,t.label,i.join(`, `)));let a=[];for(let e of n.editStacks)e.locked&&a.push(e.resourceLabel);return a.length>0?this._tryToSplitAndUndo(e,t,null,L(2104,`Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}`,t.label,a.join(`, `))):n.isValid()?null:this._tryToSplitAndUndo(e,t,null,L(2105,`Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime`,t.label))}_workspaceUndo(e,t,n){let r=this._getAffectedEditStacks(t),i=this._checkWorkspaceUndo(e,t,r,!1);return i?i.returnValue:this._confirmAndExecuteWorkspaceUndo(e,t,r,n)}_isPartOfUndoGroup(e){if(!e.groupId)return!1;for(let[,t]of this._editStacks){let n=t.getClosestPastElement();if(n){if(n===e){let n=t.getSecondClosestPastElement();if(n&&n.groupId===e.groupId)return!0}if(n.groupId===e.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(e,t,n,r){if(t.canSplit()&&!this._isPartOfUndoGroup(t)){let i;(function(e){e[e.All=0]=`All`,e[e.This=1]=`This`,e[e.Cancel=2]=`Cancel`})(i||={});let{result:a}=await this._dialogService.prompt({type:R.Info,message:L(2106,`Would you like to undo '{0}' across all files?`,t.label),buttons:[{label:L(2107,`&&Undo in {0} Files`,n.editStacks.length),run:()=>i.All},{label:L(2108,`Undo this &&File`),run:()=>i.This}],cancelButton:{run:()=>i.Cancel}});if(a===i.Cancel)return;if(a===i.This)return this._splitPastWorkspaceElement(t,null),this._undo(e,0,!0);let o=this._checkWorkspaceUndo(e,t,n,!1);if(o)return o.returnValue;r=!0}let i;try{i=await this._invokeWorkspacePrepare(t)}catch(e){return this._onError(e,t)}let a=this._checkWorkspaceUndo(e,t,n,!0);if(a)return i.dispose(),a.returnValue;for(let e of n.editStacks)e.moveBackward(t);return this._safeInvokeWithLocks(t,()=>t.actual.undo(),n,i,()=>this._continueUndoInGroup(t.groupId,r))}_resourceUndo(e,t,n){if(!t.isValid){e.flushAllElements();return}if(e.locked){let e=L(2109,`Could not undo '{0}' because there is already an undo or redo operation running.`,t.label);this._notificationService.warn(e);return}return this._invokeResourcePrepare(t,r=>(e.moveBackward(t),this._safeInvokeWithLocks(t,()=>t.actual.undo(),new Qu([e]),r,()=>this._continueUndoInGroup(t.groupId,n))))}_findClosestUndoElementInGroup(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestPastElement();a&&a.groupId===e&&(!t||a.groupOrder>t.groupOrder)&&(t=a,n=r)}return[t,n]}_continueUndoInGroup(e,t){if(!e)return;let[,n]=this._findClosestUndoElementInGroup(e);if(n)return this._undo(n,0,t)}undo(e){if(e instanceof qc){let[,t]=this._findClosestUndoElementWithSource(e.id);return t?this._undo(t,e.id,!1):void 0}return typeof e==`string`?this._undo(e,0,!1):this._undo(this.getUriComparisonKey(e),0,!1)}_undo(e,t=0,n){if(!this._editStacks.has(e))return;let r=this._editStacks.get(e),i=r.getClosestPastElement();if(i){if(i.groupId){let[e,r]=this._findClosestUndoElementInGroup(i.groupId);if(i!==e&&r)return this._undo(r,t,n)}if((i.sourceId!==t||i.confirmBeforeUndo)&&!n)return this._confirmAndContinueUndo(e,t,i);try{return i.type===1?this._workspaceUndo(e,i,n):this._resourceUndo(r,i,n)}finally{}}}async _confirmAndContinueUndo(e,t,n){if((await this._dialogService.confirm({message:L(2110,`Would you like to undo '{0}'?`,n.label),primaryButton:L(2111,`&&Yes`),cancelButton:L(2112,`No`)})).confirmed)return this._undo(e,t,!0)}_findClosestRedoElementWithSource(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestFutureElement();a&&a.sourceId===e&&(!t||a.sourceOrder<t.sourceOrder)&&(t=a,n=r)}return[t,n]}canRedo(e){if(e instanceof qc){let[,t]=this._findClosestRedoElementWithSource(e.id);return!!t}let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).hasFutureElements():!1}_tryToSplitAndRedo(e,t,n,r){if(t.canSplit())return this._splitFutureWorkspaceElement(t,n),this._notificationService.warn(r),new td(this._redo(e));for(let e of t.strResources)this.removeElements(e);return this._notificationService.warn(r),new td}_checkWorkspaceRedo(e,t,n,r){if(t.removedResources)return this._tryToSplitAndRedo(e,t,t.removedResources,L(2113,`Could not redo '{0}' across all files. {1}`,t.label,t.removedResources.createMessage()));if(r&&t.invalidatedResources)return this._tryToSplitAndRedo(e,t,t.invalidatedResources,L(2114,`Could not redo '{0}' across all files. {1}`,t.label,t.invalidatedResources.createMessage()));let i=[];for(let e of n.editStacks)e.getClosestFutureElement()!==t&&i.push(e.resourceLabel);if(i.length>0)return this._tryToSplitAndRedo(e,t,null,L(2115,`Could not redo '{0}' across all files because changes were made to {1}`,t.label,i.join(`, `)));let a=[];for(let e of n.editStacks)e.locked&&a.push(e.resourceLabel);return a.length>0?this._tryToSplitAndRedo(e,t,null,L(2116,`Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}`,t.label,a.join(`, `))):n.isValid()?null:this._tryToSplitAndRedo(e,t,null,L(2117,`Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime`,t.label))}_workspaceRedo(e,t){let n=this._getAffectedEditStacks(t),r=this._checkWorkspaceRedo(e,t,n,!1);return r?r.returnValue:this._executeWorkspaceRedo(e,t,n)}async _executeWorkspaceRedo(e,t,n){let r;try{r=await this._invokeWorkspacePrepare(t)}catch(e){return this._onError(e,t)}let i=this._checkWorkspaceRedo(e,t,n,!0);if(i)return r.dispose(),i.returnValue;for(let e of n.editStacks)e.moveForward(t);return this._safeInvokeWithLocks(t,()=>t.actual.redo(),n,r,()=>this._continueRedoInGroup(t.groupId))}_resourceRedo(e,t){if(!t.isValid){e.flushAllElements();return}if(e.locked){let e=L(2118,`Could not redo '{0}' because there is already an undo or redo operation running.`,t.label);this._notificationService.warn(e);return}return this._invokeResourcePrepare(t,n=>(e.moveForward(t),this._safeInvokeWithLocks(t,()=>t.actual.redo(),new Qu([e]),n,()=>this._continueRedoInGroup(t.groupId))))}_findClosestRedoElementInGroup(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestFutureElement();a&&a.groupId===e&&(!t||a.groupOrder<t.groupOrder)&&(t=a,n=r)}return[t,n]}_continueRedoInGroup(e){if(!e)return;let[,t]=this._findClosestRedoElementInGroup(e);if(t)return this._redo(t)}redo(e){if(e instanceof qc){let[,t]=this._findClosestRedoElementWithSource(e.id);return t?this._redo(t):void 0}return typeof e==`string`?this._redo(e):this._redo(this.getUriComparisonKey(e))}_redo(e){if(!this._editStacks.has(e))return;let t=this._editStacks.get(e),n=t.getClosestFutureElement();if(n){if(n.groupId){let[e,t]=this._findClosestRedoElementInGroup(n.groupId);if(n!==e&&t)return this._redo(t)}try{return n.type===1?this._workspaceRedo(e,n):this._resourceRedo(t,n)}finally{}}}};ed=Uu([Wu(0,Sl),Wu(1,Be)],ed);var td=class{constructor(e){this.returnValue=e}};E(Co,ed,1);var nd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},rd=function(e,t){return function(n,r){t(n,r,e)}},id=xi(`IInlineCompletionsService`),ad=new Wn(`inlineCompletions.snoozed`,!1,L(83,`Whether inline completions are currently snoozed`)),od=class extends B{get snoozeTimeLeft(){return this._snoozeTimeEnd===void 0?0:Math.max(0,this._snoozeTimeEnd-Date.now())}constructor(e,t){super(),this._contextKeyService=e,this._telemetryService=t,this._onDidChangeIsSnoozing=this._register(new F),this.onDidChangeIsSnoozing=this._onDidChangeIsSnoozing.event,this._snoozeTimeEnd=void 0,this._recentCompletionIds=[],this._timer=this._register(new Vo);let n=ad.bindTo(this._contextKeyService);this._register(this.onDidChangeIsSnoozing(()=>n.set(this.isSnoozing())))}setSnoozeDuration(e){if(e<0)throw new _i(`Invalid snooze duration: ${e}. Duration must be non-negative.`);if(e===0){this.cancelSnooze();return}let t=this.isSnoozing(),n=this.snoozeTimeLeft;this._snoozeTimeEnd=Date.now()+e,t||this._onDidChangeIsSnoozing.fire(!0),this._timer.cancelAndSet(()=>{if(!this.isSnoozing())this._onDidChangeIsSnoozing.fire(!1);else throw new _i(`Snooze timer did not fire as expected`)},this.snoozeTimeLeft+1),this._reportSnooze(e-n,e)}isSnoozing(){return this.snoozeTimeLeft>0}cancelSnooze(){this.isSnoozing()&&(this._reportSnooze(-this.snoozeTimeLeft,0),this._snoozeTimeEnd=void 0,this._timer.cancel(),this._onDidChangeIsSnoozing.fire(!1))}reportNewCompletion(e){this._lastCompletionId=e,this._recentCompletionIds.unshift(e),this._recentCompletionIds.length>5&&this._recentCompletionIds.pop()}_reportSnooze(e,t){let n=Math.round(e/1e3),r=Math.round(t/1e3);this._telemetryService.publicLog2(`inlineCompletions.snooze`,{deltaSeconds:n,totalSeconds:r,lastCompletionId:this._lastCompletionId,recentCompletionIds:this._recentCompletionIds})}};od=nd([rd(0,D),rd(1,va)],od),E(id,od,1);var sd=`editor.action.inlineSuggest.snooze`,cd=`editor.action.inlineSuggest.cancelSnooze`,ld=`inlineCompletions.lastSnoozeDuration`;(class e extends ml{static{this.ID=sd}constructor(){super({id:e.ID,title:on(97,`Snooze Inline Suggestions`),precondition:T.true(),f1:!0})}async run(e,...t){let n=e.get(Ya),r=e.get(id),i=e.get(as),a;t.length>0&&typeof t[0]==`number`&&(a=t[0]*6e4),a||=await this.getDurationFromUser(n,i),a&&r.setSnoozeDuration(a)}async getDurationFromUser(e,t){let n=t.getNumber(ld,0,3e5),r=[{label:L(84,`1 minute`),id:`1`,value:6e4},{label:L(85,`5 minutes`),id:`5`,value:3e5},{label:L(86,`10 minutes`),id:`10`,value:6e5},{label:L(87,`15 minutes`),id:`15`,value:9e5},{label:L(88,`30 minutes`),id:`30`,value:18e5},{label:L(89,`60 minutes`),id:`60`,value:36e5}],i=r;if(n>0&&!r.some(e=>e.value===n)){let e={label:L(90,`{0} minutes (Last used)`,n/6e4),id:`last-custom`,value:n,description:L(91,`Last used custom duration`)},t=r.findIndex(e=>e.value>n);i=t===-1?[...r,e]:[...r.slice(0,t),e,...r.slice(t)]}i.push({label:L(92,`Custom...`),id:`custom`,value:-1});let a=await e.pick(i,{placeHolder:L(93,`Select snooze duration for Inline Suggestions`),activeItem:i.find(e=>e.value===n)});if(a)return a.id===`custom`?this.getCustomDurationFromUser(e,t):(t.store(ld,a.value,0,0),a.value)}async getCustomDurationFromUser(e,t){let n=await e.input({placeHolder:L(94,`Duration in minutes (e.g. 90)`),prompt:L(95,`Enter snooze duration in minutes`),validateInput:async e=>{let t=Number(e);if(isNaN(t)||t<=0||!Number.isFinite(t))return L(96,`Please enter a positive number`)}});if(n){let e=Number(n)*6e4;return t.store(ld,e,0,0),e}}}),class e extends ml{static{this.ID=cd}constructor(){super({id:e.ID,title:on(98,`Cancel Snooze Inline Suggestions`),precondition:ad,f1:!0})}async run(e){e.get(id).cancelSnooze()}};function ud(e){return typeof e==`string`?!1:Array.isArray(e)?e.every(ud):!!e.exclusive}var dd=class{constructor(e,t,n,r,i){this.uri=e,this.languageId=t,this.notebookUri=n,this.notebookType=r,this.recursive=i}equals(e){return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&this.notebookUri?.toString()===e.notebookUri?.toString()&&this.recursive===e.recursive}},X=class e{get onDidChange(){return this._onDidChange.event}constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new F}register(e,t){let n={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(n),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),k(()=>{if(n){let e=this._entries.indexOf(n);e>=0&&(this._entries.splice(e,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),n=void 0)}})}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e,!1);let t=[];for(let e of this._entries)e._score>0&&t.push(e.provider);return t}allNoModel(){return this._entries.map(e=>e.provider)}ordered(e,t=!1){let n=[];return this._orderedForEach(e,t,e=>n.push(e.provider)),n}orderedGroups(e){let t=[],n,r;return this._orderedForEach(e,!1,e=>{n&&r===e._score?n.push(e.provider):(r=e._score,n=[e.provider],t.push(n))}),t}_orderedForEach(e,t,n){this._updateScores(e,t);for(let e of this._entries)e._score>0&&n(e)}_updateScores(t,n){let r=this._notebookInfoResolver?.(t.uri),i=r?new dd(t.uri,t.getLanguageId(),r.uri,r.type,n):new dd(t.uri,t.getLanguageId(),void 0,void 0,n);if(!this._lastCandidate?.equals(i)){this._lastCandidate=i;for(let e of this._entries)if(e._score=jo(e.selector,i.uri,i.languageId,ha(t),i.notebookUri,i.notebookType),ud(e.selector)&&e._score>0)if(n)e._score=0;else{for(let e of this._entries)e._score=0;e._score=1e3;break}this._entries.sort(e._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._score<t._score?1:e._score>t._score?-1:fd(e.selector)&&!fd(t.selector)?1:!fd(e.selector)&&fd(t.selector)?-1:e._time<t._time?1:e._time>t._time?-1:0}};function fd(e){return typeof e==`string`?!1:Array.isArray(e)?e.some(fd):!!e.isBuiltin}E(O,class{constructor(){this.referenceProvider=new X(this._score.bind(this)),this.renameProvider=new X(this._score.bind(this)),this.newSymbolNamesProvider=new X(this._score.bind(this)),this.codeActionProvider=new X(this._score.bind(this)),this.definitionProvider=new X(this._score.bind(this)),this.typeDefinitionProvider=new X(this._score.bind(this)),this.declarationProvider=new X(this._score.bind(this)),this.implementationProvider=new X(this._score.bind(this)),this.documentSymbolProvider=new X(this._score.bind(this)),this.inlayHintsProvider=new X(this._score.bind(this)),this.colorProvider=new X(this._score.bind(this)),this.codeLensProvider=new X(this._score.bind(this)),this.documentFormattingEditProvider=new X(this._score.bind(this)),this.documentRangeFormattingEditProvider=new X(this._score.bind(this)),this.onTypeFormattingEditProvider=new X(this._score.bind(this)),this.signatureHelpProvider=new X(this._score.bind(this)),this.hoverProvider=new X(this._score.bind(this)),this.documentHighlightProvider=new X(this._score.bind(this)),this.multiDocumentHighlightProvider=new X(this._score.bind(this)),this.selectionRangeProvider=new X(this._score.bind(this)),this.foldingRangeProvider=new X(this._score.bind(this)),this.linkProvider=new X(this._score.bind(this)),this.inlineCompletionsProvider=new X(this._score.bind(this)),this.completionProvider=new X(this._score.bind(this)),this.linkedEditingRangeProvider=new X(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new X(this._score.bind(this)),this.documentSemanticTokensProvider=new X(this._score.bind(this)),this.documentDropEditProvider=new X(this._score.bind(this)),this.documentPasteEditProvider=new X(this._score.bind(this))}_score(e){return this._notebookTypeResolver?.(e)}},1);var pd=class{constructor(e=5){this.timesPerSecond=e,this._lastRun=0,this._minimumTimeBetweenRuns=1e3/e}runIfNotLimited(e){let t=Date.now();t-this._lastRun>=this._minimumTimeBetweenRuns&&(this._lastRun=t,e())}};(class e{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){let t=[];for(let n=0;n<this._tokenCount;n++)t.push(`(${this._getDeltaLine(n)+e},${this._getStartCharacter(n)}-${this._getEndCharacter(n)})`);return`[${t.join(`,`)}]`}getMaxDeltaLine(){let e=this._getTokenCount();return e===0?-1:this._getDeltaLine(e-1)}getRange(){let e=this._getTokenCount();if(e===0)return null;let t=this._getStartCharacter(0),n=this._getDeltaLine(e-1),r=this._getEndCharacter(e-1);return new S(0,t+1,n,r+1)}_getTokenCount(){return this._tokenCount}_getDeltaLine(e){return this._tokens[4*e]}_getStartCharacter(e){return this._tokens[4*e+1]}_getEndCharacter(e){return this._tokens[4*e+2]}isEmpty(){return this._getTokenCount()===0}getLineTokens(e){let t=0,n=this._getTokenCount()-1;for(;t<n;){let r=t+Math.floor((n-t)/2),i=this._getDeltaLine(r);if(i<e)t=r+1;else if(i>e)n=r-1;else{let i=r;for(;i>t&&this._getDeltaLine(i-1)===e;)i--;let a=r;for(;a<n&&this._getDeltaLine(a+1)===e;)a++;return new md(this._tokens.subarray(4*i,4*a+4))}}return this._getDeltaLine(t)===e?new md(this._tokens.subarray(4*t,4*t+4)):null}clear(){this._tokenCount=0}removeTokens(e,t,n,r){let i=this._tokens,a=this._tokenCount,o=0,s=!1,c=0;for(let l=0;l<a;l++){let a=4*l,u=i[a],d=i[a+1],f=i[a+2],p=i[a+3];if((u>e||u===e&&f>=t)&&(u<n||u===n&&d<=r))s=!0;else{if(o===0&&(c=u),s){let e=4*o;i[e]=u-c,i[e+1]=d,i[e+2]=f,i[e+3]=p}else c!==0&&(i[a]=u-c);o++}}return this._tokenCount=o,c}split(t,n,r,i){let a=this._tokens,o=this._tokenCount,s=[],c=[],l=s,u=0,d=0;for(let e=0;e<o;e++){let o=4*e,s=a[o],f=a[o+1],p=a[o+2],m=a[o+3];if(s>t||s===t&&p>=n){if(s<r||s===r&&f<=i)continue;l!==c&&(l=c,u=0,d=s)}l[u++]=s-d,l[u++]=f,l[u++]=p,l[u++]=m}return[new e(new Uint32Array(s)),new e(new Uint32Array(c)),d]}acceptDeleteRange(e,t,n,r,i){let a=this._tokens,o=this._tokenCount,s=r-t,c=0,l=!1;for(let u=0;u<o;u++){let d=4*u,f=a[d],p=a[d+1],m=a[d+2],h=a[d+3];if(f<t||f===t&&m<=n){c++;continue}else if(f===t&&p<n)f===r&&m>i?m-=i-n:m=n;else if(f===t&&p===n)if(f===r&&m>i)m-=i-n;else{l=!0;continue}else if(f<r||f===r&&p<i)if(f===r&&m>i)f=t,p=n,m=p+(m-i);else{l=!0;continue}else if(f>r){if(s===0&&!l){c=o;break}f-=s}else if(f===r&&p>=i)e&&f===0&&(p+=e,m+=e),f-=s,p-=i-n,m-=i-n;else throw Error(`Not possible!`);let g=4*c;a[g]=f,a[g+1]=p,a[g+2]=m,a[g+3]=h,c++}this._tokenCount=c}acceptInsertText(e,t,n,r,i,a){let o=n===0&&r===1&&(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122),s=this._tokens,c=this._tokenCount;for(let a=0;a<c;a++){let c=4*a,l=s[c],u=s[c+1],d=s[c+2];if(!(l<e||l===e&&d<t)){if(l===e&&d===t)if(o)d+=1;else continue;else if(l===e&&u<t&&t<d)n===0?d+=r:d=t;else{if(l===e&&u===t&&o)continue;if(l===e)if(l+=n,n===0)u+=r,d+=r;else{let e=d-u;u=i+(u-t),d=u+e}else l+=n}s[c]=l,s[c+1]=u,s[c+2]=d}}}static{this._rateLimiter=new pd(10/60)}reportIfInvalid(t,n){for(let r=0;r<this._tokenCount;r++){let i=this._getDeltaLine(r)+n;i<1?e._rateLimiter.runIfNotLimited(()=>{console.error(`Invalid Semantic Tokens Data From Extension: lineNumber < 1`)}):i>t.getLineCount()?e._rateLimiter.runIfNotLimited(()=>{console.error(`Invalid Semantic Tokens Data From Extension: lineNumber > model.getLineCount()`)}):this._getEndCharacter(r)>t.getLineLength(i)&&e._rateLimiter.runIfNotLimited(()=>{console.error(`Invalid Semantic Tokens Data From Extension: end character > model.getLineLength(lineNumber)`)})}}});var md=class{constructor(e){this._tokens=e}getCount(){return this._tokens.length/4}getStartCharacter(e){return this._tokens[4*e+1]}getEndCharacter(e){return this._tokens[4*e+2]}getMetadata(e){return this._tokens[4*e+3]}},hd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},gd=function(e,t){return function(n,r){t(n,r,e)}},_d=class{constructor(e,t,n,r){this._legend=e,this._themeService=t,this._languageService=n,this._logService=r,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new yd}getMetadata(e,t,n){let r=this._languageService.languageIdCodec.encodeLanguageId(n),i=this._hashTable.get(e,t,r),a;if(i)a=i.metadata;else{let i=this._legend.tokenTypes[e],o=[];if(i){let e=t;for(let t=0;e>0&&t<this._legend.tokenModifiers.length;t++)e&1&&o.push(this._legend.tokenModifiers[t]),e>>=1;let r=this._themeService.getColorTheme().getTokenStyleMetadata(i,o,n);if(r===void 0)a=2147483647;else{if(a=0,r.italic!==void 0){let e=!!r.italic<<11;a|=e|1}if(r.bold!==void 0){let e=(r.bold?2:0)<<11;a|=e|2}if(r.underline!==void 0){let e=(r.underline?4:0)<<11;a|=e|4}if(r.strikethrough!==void 0){let e=(r.strikethrough?8:0)<<11;a|=e|8}if(r.foreground){let e=r.foreground<<15;a|=e|16}a===0&&(a=2147483647)}}else a=2147483647,i=`not-in-legend`;this._hashTable.add(e,t,r,a)}return a}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${e}, column ${t}`))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${e}, column ${t}`))}warnInvalidEditStart(e,t,n,r,i){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${e}, resultId: ${t}) at edit #${n}: The provided start offset ${r} is outside the previous data (length ${i}).`))}};_d=hd([gd(1,se),gd(2,Xe),gd(3,lc)],_d);var vd=class{constructor(e,t,n,r){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=n,this.metadata=r,this.next=null}},yd=class e{static{this._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]}constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=e._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<e._SIZES.length?2/3*this._currentLength:0),this._elements=[],e._nullOutEntries(this._elements,this._currentLength)}static _nullOutEntries(e,t){for(let n=0;n<t;n++)e[n]=null}_hash2(e,t){return(e<<5)-e+t|0}_hashFunc(e,t,n){return this._hash2(this._hash2(e,t),n)%this._currentLength}get(e,t,n){let r=this._hashFunc(e,t,n),i=this._elements[r];for(;i;){if(i.tokenTypeIndex===e&&i.tokenModifierSet===t&&i.languageId===n)return i;i=i.next}return null}add(t,n,r,i){if(this._elementsCount++,this._growCount!==0&&this._elementsCount>=this._growCount){let t=this._elements;this._currentLengthIndex++,this._currentLength=e._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<e._SIZES.length?2/3*this._currentLength:0),this._elements=[],e._nullOutEntries(this._elements,this._currentLength);for(let e of t){let t=e;for(;t;){let e=t.next;t.next=null,this._add(t),t=e}}}this._add(new vd(t,n,r,i))}_add(e){let t=this._hashFunc(e.tokenTypeIndex,e.tokenModifierSet,e.languageId);e.next=this._elements[t],this._elements[t]=e}},bd=xi(`semanticTokensStylingService`),xd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Sd=function(e,t){return function(n,r){t(n,r,e)}},Cd=class extends B{constructor(e,t,n){super(),this._themeService=e,this._logService=t,this._languageService=n,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new _d(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};Cd=xd([Sd(0,se),Sd(1,lc),Sd(2,Xe)],Cd),E(bd,Cd,1);var wd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Td=function(e,t){return function(n,r){t(n,r,e)}},Ed=class extends B{constructor(e){super(),this._themeService=e,this._onWillCreateCodeEditor=this._register(new F),this._onCodeEditorAdd=this._register(new F),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new F),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new F),this._onDiffEditorAdd=this._register(new F),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new F),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new wa,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map(e=>this._codeEditors[e])}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}removeDiffEditor(e){delete this._diffEditors[e.getId()]&&this._onDiffEditorRemove.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map(e=>this._diffEditors[e])}getFocusedCodeEditor(){let e=null,t=this.listCodeEditors();for(let n of t){if(n.hasTextFocus())return n;n.hasWidgetFocus()&&(e=n)}return e}removeDecorationType(e){let t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(t=>t.removeDecorationsByType(e))))}setModelProperty(e,t,n){let r=e.toString(),i;this._modelProperties.has(r)?i=this._modelProperties.get(r):(i=new Map,this._modelProperties.set(r,i)),i.set(t,n)}getModelProperty(e,t){let n=e.toString();if(this._modelProperties.has(n))return this._modelProperties.get(n).get(t)}async openCodeEditor(e,t,n){for(let r of this._codeEditorOpenHandlers){let i=await r(e,t,n);if(i!==null)return i}return null}registerCodeEditorOpenHandler(e){return k(this._codeEditorOpenHandlers.unshift(e))}};Ed=wd([Td(0,se)],Ed);var Dd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Od=function(e,t){return function(n,r){t(n,r,e)}},kd=class extends Ed{constructor(e,t){super(t),this._register(this.onCodeEditorAdd(()=>this._checkContextKey())),this._register(this.onCodeEditorRemove(()=>this._checkContextKey())),this._editorIsOpen=e.createKey(`editorIsOpen`,!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler(async(e,t,n)=>t?this.doOpenEditor(t,e):null))}_checkContextKey(){let e=!1;for(let t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}setActiveCodeEditor(e){this._activeCodeEditor=e}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){let n=t.resource.scheme;if(n===J.http||n===J.https)return qs(t.resource.toString()),e}return null}let n=t.options?t.options.selection:null;if(n)if(typeof n.endLineNumber==`number`&&typeof n.endColumn==`number`)e.setSelection(n),e.revealRangeInCenter(n,1);else{let t={lineNumber:n.startLineNumber,column:n.startColumn};e.setPosition(t),e.revealPositionInCenter(t,1)}return e}findModel(e,t){let n=e.getModel();return n&&n.uri.toString()!==t.toString()?null:n}};kd=Dd([Od(0,D),Od(1,se)],kd),E($s,kd,0);var Ad=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},jd=function(e,t){return function(n,r){t(n,r,e)}},Md=class{get mainContainer(){return this._codeEditorService.listCodeEditors().at(0)?.getContainerDomNode()??ba.document.body}get activeContainer(){return(this._codeEditorService.getFocusedCodeEditor()??this._codeEditorService.getActiveCodeEditor())?.getContainerDomNode()??this.mainContainer}get mainContainerDimension(){return ro(this.mainContainer)}get activeContainerDimension(){return ro(this.activeContainer)}get containers(){return Fs(this._codeEditorService.listCodeEditors().map(e=>e.getContainerDomNode()))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){this._codeEditorService.getFocusedCodeEditor()?.focus()}constructor(e){this._codeEditorService=e,this.onDidLayoutMainContainer=W.None,this.onDidLayoutActiveContainer=W.None,this.onDidLayoutContainer=W.None,this.onDidChangeActiveContainer=W.None,this.onDidAddContainer=W.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};Md=Ad([jd(0,$s)],Md);var Nd=class extends Md{get mainContainer(){return this._container}constructor(e,t){super(t),this._container=e}};Nd=Ad([jd(1,$s)],Nd),E(ma,Md,1);var Pd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Fd=function(e,t){return function(n,r){t(n,r,e)}},Id=class extends B{constructor(e,t,n){super(),this._contextKeyService=e,this._layoutService=t,this._configurationService=n,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=this._register(new F),this._onDidChangeReducedMotion=this._register(new F),this._onDidChangeReducedTransparency=this._register(new F),this._onDidChangeLinkUnderline=this._register(new F),this._accessibilityModeEnabledContext=Ce.bindTo(this._contextKeyService);let r=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.accessibilitySupport`)&&(r(),this._onDidChangeScreenReaderOptimized.fire()),e.affectsConfiguration(`workbench.reduceMotion`)&&(this._configMotionReduced=this._configurationService.getValue(`workbench.reduceMotion`),this._onDidChangeReducedMotion.fire()),e.affectsConfiguration(`workbench.reduceTransparency`)&&(this._configTransparencyReduced=this._configurationService.getValue(`workbench.reduceTransparency`),this._onDidChangeReducedTransparency.fire())})),r(),this._register(this.onDidChangeScreenReaderOptimized(()=>r()));let i=ba.matchMedia(`(prefers-reduced-motion: reduce)`);this._systemMotionReduced=i.matches,this._configMotionReduced=this._configurationService.getValue(`workbench.reduceMotion`);let a=ba.matchMedia(`(prefers-reduced-transparency: reduce)`);this._systemTransparencyReduced=a.matches,this._configTransparencyReduced=this._configurationService.getValue(`workbench.reduceTransparency`),this._linkUnderlinesEnabled=this._configurationService.getValue(`accessibility.underlineLinks`),this.initReducedMotionListeners(i),this.initReducedTransparencyListeners(a),this.initLinkUnderlineListeners()}initReducedMotionListeners(e){this._register(z(e,`change`,()=>{this._systemMotionReduced=e.matches,this._configMotionReduced===`auto`&&this._onDidChangeReducedMotion.fire()}));let t=()=>{let e=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle(`monaco-reduce-motion`,e),this._layoutService.mainContainer.classList.toggle(`monaco-enable-motion`,!e)};t(),this._register(this.onDidChangeReducedMotion(()=>t()))}initReducedTransparencyListeners(e){this._register(z(e,`change`,()=>{this._systemTransparencyReduced=e.matches,this._configTransparencyReduced===`auto`&&this._onDidChangeReducedTransparency.fire()}));let t=()=>{let e=this.isTransparencyReduced();this._layoutService.mainContainer.classList.toggle(`monaco-reduce-transparency`,e)};t(),this._register(this.onDidChangeReducedTransparency(()=>t()))}initLinkUnderlineListeners(){this._register(this._configurationService.onDidChangeConfiguration(e=>{if(e.affectsConfiguration(`accessibility.underlineLinks`)){let e=this._configurationService.getValue(`accessibility.underlineLinks`);this._linkUnderlinesEnabled=e,this._onDidChangeLinkUnderline.fire()}}));let e=()=>{let e=this._linkUnderlinesEnabled;this._layoutService.mainContainer.classList.toggle(`underline-links`,e)};e(),this._register(this.onDidChangeLinkUnderlines(()=>e()))}onDidChangeLinkUnderlines(e){return this._onDidChangeLinkUnderline.event(e)}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){let e=this.getAccessibilitySupportConfigurationValue();return e===`on`||e===`auto`&&this._accessibilitySupport===2}getAccessibilitySupportConfigurationValue(){let e=this._configurationService.inspect(`editor.accessibilitySupport`);return e.policyValue??e.memoryValue??e.workspaceFolderValue??e.workspaceValue??e.userValue??e.applicationValue??e.defaultValue??`auto`}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){let e=this._configMotionReduced;return e===`on`||e===`auto`&&this._systemMotionReduced}get onDidChangeReducedTransparency(){return this._onDidChangeReducedTransparency.event}isTransparencyReduced(){let e=this._configTransparencyReduced;return e===`on`||e===`auto`&&this._systemTransparencyReduced}getAccessibilitySupport(){return this._accessibilitySupport}};Id=Pd([Fd(0,D),Fd(1,ma),Fd(2,C)],Id);var Ld=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Rd=function(e,t){return function(n,r){t(n,r,e)}},zd,Bd,Vd=class extends B{constructor(e,t,n){super(),this._commandService=e,this._keybindingService=t,this._hiddenStates=this._register(new Hd(n))}createMenu(e,t,n){return new Gd(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...n},this._commandService,this._keybindingService,t)}getMenuActions(e,t,n){let r=new Gd(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...n},this._commandService,this._keybindingService,t),i=r.getActions(n);return r.dispose(),i}resetHiddenStates(e){this._hiddenStates.reset(e)}};Vd=Ld([Rd(0,$t),Rd(1,rl),Rd(2,as)],Vd);var Hd=class{static{zd=this}static{this._key=`menu.hiddenCommands`}constructor(e){this._storageService=e,this._disposables=new N,this._onDidChange=new F,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{let t=e.get(zd._key,0,`{}`);this._data=JSON.parse(t)}catch{this._data=Object.create(null)}this._disposables.add(e.onDidChangeValue(0,zd._key,this._disposables)(()=>{if(!this._ignoreChangeEvent)try{let t=e.get(zd._key,0,`{}`);this._data=JSON.parse(t)}catch(e){console.log(`FAILED to read storage after UPDATE`,e)}this._onDidChange.fire()}))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(e,t){return this._hiddenByDefaultCache.get(`${e.id}/${t}`)??!1}setDefaultState(e,t,n){this._hiddenByDefaultCache.set(`${e.id}/${t}`,n)}isHidden(e,t){let n=this._isHiddenByDefault(e,t),r=this._data[e.id]?.includes(t)??!1;return n?!r:r}updateHidden(e,t,n){this._isHiddenByDefault(e,t)&&(n=!n);let r=this._data[e.id];if(n)r?r.indexOf(t)<0&&r.push(t):this._data[e.id]=[t];else if(r){let n=r.indexOf(t);n>=0&&fl(r,n),r.length===0&&delete this._data[e.id]}this._persist()}reset(e){if(e===void 0)this._data=Object.create(null),this._persist();else{for(let{id:t}of e)this._data[t]&&delete this._data[t];this._persist()}}_persist(){try{this._ignoreChangeEvent=!0;let e=JSON.stringify(this._data);this._storageService.store(zd._key,e,0,0)}finally{this._ignoreChangeEvent=!1}}};Hd=zd=Ld([Rd(0,as)],Hd);var Ud=class e{constructor(e,t){this._id=e,this._collectContextKeysForSubmenus=t,this._menuGroups=[],this._allMenuIds=new Set,this._structureContextKeys=new Set,this._preconditionContextKeys=new Set,this._toggledContextKeys=new Set,this.refresh()}get allMenuIds(){return this._allMenuIds}get structureContextKeys(){return this._structureContextKeys}get preconditionContextKeys(){return this._preconditionContextKeys}get toggledContextKeys(){return this._toggledContextKeys}refresh(){this._menuGroups.length=0,this._allMenuIds.clear(),this._structureContextKeys.clear(),this._preconditionContextKeys.clear(),this._toggledContextKeys.clear();let e=this._sort(Ir.getMenuItems(this._id)),t;for(let n of e){let e=n.group||``;(!t||t[0]!==e)&&(t=[e,[]],this._menuGroups.push(t)),t[1].push(n),this._collectContextKeysAndSubmenuIds(n)}this._allMenuIds.add(this._id)}_sort(e){return e}_collectContextKeysAndSubmenuIds(t){if(e._fillInKbExprKeys(t.when,this._structureContextKeys),je(t)){if(t.command.precondition&&e._fillInKbExprKeys(t.command.precondition,this._preconditionContextKeys),t.command.toggled){let n=t.command.toggled.condition||t.command.toggled;e._fillInKbExprKeys(n,this._toggledContextKeys)}}else this._collectContextKeysForSubmenus&&(Ir.getMenuItems(t.submenu).forEach(this._collectContextKeysAndSubmenuIds,this),this._allMenuIds.add(t.submenu))}static _fillInKbExprKeys(e,t){if(e)for(let n of e.keys())t.add(n)}},Wd=Bd=class extends Ud{constructor(e,t,n,r,i,a){super(e,n),this._hiddenStates=t,this._commandService=r,this._keybindingService=i,this._contextKeyService=a,this.refresh()}createActionGroups(e){let t=[];for(let n of this._menuGroups){let[r,i]=n,a;for(let t of i)if(this._contextKeyService.contextMatchesRules(t.when)){let n=je(t);n&&this._hiddenStates.setDefaultState(this._id,t.command.id,!!t.isHiddenByDefault);let r=Kd(this._id,n?t.command:t,this._hiddenStates);if(n){let n=qd(this._commandService,this._keybindingService,t.command.id,t.when);(a??=[]).push(new il(t.command,t.alt,e,r,n,this._contextKeyService,this._commandService))}else{let n=new Bd(t.submenu,this._hiddenStates,this._collectContextKeysForSubmenus,this._commandService,this._keybindingService,this._contextKeyService).createActionGroups(e),i=gt.join(...n.map(e=>e[1]));i.length>0&&(a??=[]).push(new Ve(t,r,i))}}a&&a.length>0&&t.push([r,a])}return t}_sort(e){return e.sort(Bd._compareMenuItems)}static _compareMenuItems(e,t){let n=e.group,r=t.group;if(n!==r){if(!n)return 1;if(!r||n===`navigation`)return-1;if(r===`navigation`)return 1;let e=n.localeCompare(r);if(e!==0)return e}let i=e.order||0,a=t.order||0;return i<a?-1:i>a?1:Bd._compareTitles(je(e)?e.command.title:e.title,je(t)?t.command.title:t.title)}static _compareTitles(e,t){let n=typeof e==`string`?e:e.original,r=typeof t==`string`?t:t.original;return n.localeCompare(r)}};Wd=Bd=Ld([Rd(3,$t),Rd(4,rl),Rd(5,D)],Wd);var Gd=class{constructor(e,t,n,i,a,o){this._disposables=new N,this._menuInfo=new Wd(e,t,n.emitEventsForSubmenuChanges,i,a,o);let s=new $o(()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})},n.eventDebounceDelay);this._disposables.add(s),this._disposables.add(Ir.onDidChangeMenu(e=>{for(let t of this._menuInfo.allMenuIds)if(e.has(t)){s.schedule();break}}));let c=this._disposables.add(new N),l=e=>{let t=!1,n=!1,r=!1;for(let i of e)if(t||=i.isStructuralChange,n||=i.isEnablementChange,r||=i.isToggleChange,t&&n&&r)break;return{menu:this,isStructuralChange:t,isEnablementChange:n,isToggleChange:r}},u=()=>{c.add(o.onDidChangeContext(e=>{let t=e.affectsSome(this._menuInfo.structureContextKeys),n=e.affectsSome(this._menuInfo.preconditionContextKeys),r=e.affectsSome(this._menuInfo.toggledContextKeys);(t||n||r)&&this._onDidChange.fire({menu:this,isStructuralChange:t,isEnablementChange:n,isToggleChange:r})})),c.add(t.onDidChange(e=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})}))};this._onDidChange=new r({onWillAddFirstListener:u,onDidRemoveLastListener:c.clear.bind(c),delay:n.eventDebounceDelay,merge:l}),this.onDidChange=this._onDidChange.event}getActions(e){return this._menuInfo.createActionGroups(e)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};Gd=Ld([Rd(3,$t),Rd(4,rl),Rd(5,D)],Gd);function Kd(e,t,n){let r=Nn(t)?t.submenu.id:t.id,i=typeof t.title==`string`?t.title:t.title.value,a=di({id:`hide/${e.id}/${r}`,label:L(1703,`Hide '{0}'`,i),run(){n.updateHidden(e,r,!0)}}),o=di({id:`toggle/${e.id}/${r}`,label:i,get checked(){return!n.isHidden(e,r)},run(){n.updateHidden(e,r,!!this.checked)}});return{hide:a,toggle:o,get isHidden(){return!o.checked}}}function qd(e,t,n,r=void 0,i=!0){return di({id:`configureKeybinding/${n}`,label:L(1704,`Configure Keybinding`),enabled:i,run(){let i=!t.lookupKeybinding(n)&&r?r.serialize():void 0;e.executeCommand(`workbench.action.openGlobalKeybindings`,`@command:${n}`+(i?` +when:${i}`:``))}})}var Jd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Yd=function(e,t){return function(n,r){t(n,r,e)}},Xd,Zd=`application/vnd.code.resources`,Qd=class extends B{static{Xd=this}constructor(e,t){super(),this.layoutService=e,this.logService=t,this.mapTextToType=new Map,this.findText=``,this.resources=[],this.resourcesStateHash=void 0,(yi||Bi)&&this.installWebKitWriteTextWorkaround(),this._register(W.runAndSubscribe(qt,({window:e,disposables:t})=>{t.add(z(e.document,`copy`,()=>this.clearResourcesState()))},{window:ba,disposables:this._store}))}triggerPaste(){this.logService.trace(`BrowserClipboardService#triggerPaste`)}installWebKitWriteTextWorkaround(){let e=()=>{let e=new $c;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=e,_o().navigator.clipboard.write([new ClipboardItem({"text/plain":e.p})]).catch(async t=>{(!(t instanceof Error)||t.name!==`NotAllowedError`||!e.isRejected)&&this.logService.error(t)})};this._register(W.runAndSubscribe(this.layoutService.onDidAddContainer,({container:t,disposables:n})=>{n.add(z(t,`click`,e)),n.add(z(t,`keydown`,e))},{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(e,t){if(this.logService.trace(`BrowserClipboardService#writeText called with type:`,t,` text.length:`,e.length),this.clearResourcesState(),t){this.mapTextToType.set(t,e),this.logService.trace(`BrowserClipboardService#writeText`);return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(e);try{return this.logService.trace(`before navigator.clipboard.writeText`),await _o().navigator.clipboard.writeText(e)}catch(e){console.error(e)}this.fallbackWriteText(e)}fallbackWriteText(e){this.logService.trace(`BrowserClipboardService#fallbackWriteText`);let t=Bs(),n=t.activeElement,r=t.body.appendChild(P(`textarea`,{"aria-hidden":!0}));r.style.height=`1px`,r.style.width=`1px`,r.style.position=`absolute`,r.value=e,r.focus(),r.select(),t.execCommand(`copy`),gn(n)&&n.focus(),r.remove()}async readText(e){if(this.logService.trace(`BrowserClipboardService#readText called with type:`,e),e){let t=this.mapTextToType.get(e)||``;return this.logService.trace(`BrowserClipboardService#readText text.length:`,t.length),t}try{let e=await _o().navigator.clipboard.readText();return this.logService.trace(`BrowserClipboardService#readText text.length:`,e.length),e}catch(e){console.error(e)}return``}async readFindText(){return this.findText}async writeFindText(e){this.findText=e}static{this.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3}async readResources(){try{let e=await _o().navigator.clipboard.read();for(let t of e)if(t.types.includes(`web ${Zd}`)){let e=await t.getType(`web ${Zd}`);return JSON.parse(await e.text()).map(e=>Xo.from(e))}}catch{}let e=await this.computeResourcesStateHash();return this.resourcesStateHash!==e&&this.clearResourcesState(),this.resources}async computeResourcesStateHash(){if(this.resources.length!==0)return xl((await this.readText()).substring(0,Xd.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearInternalState(){this.clearResourcesState()}clearResourcesState(){this.resources=[],this.resourcesStateHash=void 0}};Qd=Xd=Jd([Yd(0,ma),Yd(1,lc)],Qd);function $d(e){return Object.isFrozen(e)?e:qe(e)}var ef=class e{static createEmptyModel(t){return new e({},[],[],void 0,t)}constructor(e,t,n,r,i){this._contents=e,this._keys=t,this._overrides=n,this._raw=r,this.logService=i,this.overrideConfigurations=new Map}get rawConfiguration(){if(!this._rawConfiguration)if(this._raw){let t=(Array.isArray(this._raw)?this._raw:[this._raw]).map(t=>{if(t instanceof e)return t;let n=new tf(``,this.logService);return n.parseRaw(t),n.configurationModel});this._rawConfiguration=t.reduce((e,t)=>t===e?t:e.merge(t),t[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}get raw(){if(this._raw&&!(Array.isArray(this._raw)&&this._raw.every(t=>t instanceof e)))return this._raw}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(e){return e?dr(this.contents,e):this.contents}inspect(t,n){let r=this;return{get value(){return $d(r.rawConfiguration.getValue(t))},get override(){return n?$d(r.rawConfiguration.getOverrideValue(t,n)):void 0},get merged(){return $d(n?r.rawConfiguration.override(n).getValue(t):r.rawConfiguration.getValue(t))},get overrides(){let n=[];for(let{contents:i,identifiers:a,keys:o}of r.rawConfiguration.overrides){let s=new e(i,o,[],void 0,r.logService).getValue(t);s!==void 0&&n.push({identifiers:a,value:s})}return n.length?$d(n):void 0}}}getOverrideValue(e,t){let n=this.getContentsForOverrideIdentifer(t);return n?e?dr(n,e):n:void 0}override(e){let t=this.overrideConfigurations.get(e);return t||(t=this.createOverrideConfigurationModel(e),this.overrideConfigurations.set(e,t)),t}merge(...t){let n=zn(this.contents),r=zn(this.overrides),i=[...this.keys],a=this._raw?Array.isArray(this._raw)?[...this._raw]:[this._raw]:[this];for(let e of t)if(a.push(...e._raw?Array.isArray(e._raw)?e._raw:[e._raw]:[e]),!e.isEmpty()){this.mergeContents(n,e.contents);for(let t of e.overrides){let[e]=r.filter(e=>Rc(e.identifiers,t.identifiers));e?(this.mergeContents(e.contents,t.contents),e.keys.push(...t.keys),e.keys=os(e.keys)):r.push(zn(t))}for(let t of e.keys)i.indexOf(t)===-1&&i.push(t)}return new e(n,i,r,!a.length||a.every(t=>t instanceof e)?void 0:a,this.logService)}createOverrideConfigurationModel(t){let n=this.getContentsForOverrideIdentifer(t);if(!n||typeof n!=`object`||!Object.keys(n).length)return this;let r={};for(let e of os([...Object.keys(this.contents),...Object.keys(n)])){let t=this.contents[e],i=n[e];i&&(typeof t==`object`&&typeof i==`object`?(t=zn(t),this.mergeContents(t,i)):t=i),r[e]=t}return new e(r,this.keys,this.overrides,void 0,this.logService)}mergeContents(e,t){for(let n of Object.keys(t)){if(n in e&&rt(e[n])&&rt(t[n])){this.mergeContents(e[n],t[n]);continue}e[n]=zn(t[n])}}getContentsForOverrideIdentifer(e){let t=null,n=null,r=e=>{e&&(n?this.mergeContents(n,e):n=zn(e))};for(let n of this.overrides)n.identifiers.length===1&&n.identifiers[0]===e?t=n.contents:n.identifiers.includes(e)&&r(n.contents);return r(t),n}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(e,t){this.updateValue(e,t,!1)}removeValue(e){let t=this.keys.indexOf(e);t!==-1&&(this.keys.splice(t,1),Pl(this.contents,e),es.test(e)&&this.overrides.splice(this.overrides.findIndex(t=>Rc(t.identifiers,_(e))),1))}updateValue(e,t,n){if(Qt(this.contents,e,t,e=>this.logService.error(e)),n||=this.keys.indexOf(e)===-1,n&&this.keys.push(e),es.test(e)){let t=this.contents[e],n=_(e),r={identifiers:n,keys:Object.keys(t),contents:oe(t,e=>this.logService.error(e))},i=this.overrides.findIndex(e=>Rc(e.identifiers,n));i===-1?this.overrides.push(r):this.overrides[i]=r}}},tf=class{constructor(e,t){this._name=e,this.logService=t,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||ef.createEmptyModel(this.logService)}parseRaw(e,t){this._raw=e;let{contents:n,keys:r,overrides:i,restricted:a,hasExcludedProperties:o}=this.doParseRaw(e,t);this._configurationModel=new ef(n,r,i,o?[e]:void 0,this.logService),this._restrictedConfigurations=a||[]}doParseRaw(e,t){let n=Wo.as(Mn.Configuration),r=n.getConfigurationProperties(),i=n.getExcludedConfigurationProperties(),a=this.filter(e,r,i,!0,t);return e=a.raw,{contents:oe(e,e=>this.logService.error(`Conflict in settings file ${this._name}: ${e}`)),keys:Object.keys(e),overrides:this.toOverrides(e,e=>this.logService.error(`Conflict in settings file ${this._name}: ${e}`)),restricted:a.restricted,hasExcludedProperties:a.hasExcludedProperties}}filter(e,t,n,r,i){let a=!1;if(!i?.scopes&&!i?.skipRestricted&&!i?.skipUnregistered&&!i?.exclude?.length)return{raw:e,restricted:[],hasExcludedProperties:a};let o={},s=[];for(let c in e)if(es.test(c)&&r){let r=this.filter(e[c],t,n,!1,i);o[c]=r.raw,a||=r.hasExcludedProperties,s.push(...r.restricted)}else{let r=t[c];r?.restricted&&s.push(c),this.shouldInclude(c,r,n,i)?o[c]=e[c]:a=!0}return{raw:o,restricted:s,hasExcludedProperties:a}}shouldInclude(e,t,n,r){if(r.exclude?.includes(e))return!1;if(r.include?.includes(e))return!0;if(r.skipRestricted&&t?.restricted||r.skipUnregistered&&!t)return!1;let i=t??n[e],a=i?i.scope===void 0?4:i.scope:void 0;return a===void 0||r.scopes===void 0?!0:r.scopes.includes(a)}toOverrides(e,t){let n=[];for(let r of Object.keys(e))if(es.test(r)){let i={},a=e[r];for(let e in a)i[e]=a[e];n.push({identifiers:_(r),keys:Object.keys(i),contents:oe(i,t)})}return n}},nf=class{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f){this.key=e,this.overrides=t,this._value=n,this.overrideIdentifiers=r,this.defaultConfiguration=i,this.policyConfiguration=a,this.applicationConfiguration=o,this.userConfiguration=s,this.localUserConfiguration=c,this.remoteUserConfiguration=l,this.workspaceConfiguration=u,this.folderConfigurationModel=d,this.memoryConfigurationModel=f}toInspectValue(e){return e?.value!==void 0||e?.override!==void 0||e?.overrides!==void 0?e:void 0}get defaultInspectValue(){return this._defaultInspectValue||=this.defaultConfiguration.inspect(this.key,this.overrides.overrideIdentifier),this._defaultInspectValue}get defaultValue(){return this.defaultInspectValue.merged}get policyInspectValue(){return this._policyInspectValue===void 0&&(this._policyInspectValue=this.policyConfiguration?this.policyConfiguration.inspect(this.key):null),this._policyInspectValue}get policyValue(){return this.policyInspectValue?.merged}get applicationInspectValue(){return this._applicationInspectValue===void 0&&(this._applicationInspectValue=this.applicationConfiguration?this.applicationConfiguration.inspect(this.key):null),this._applicationInspectValue}get applicationValue(){return this.applicationInspectValue?.merged}get userInspectValue(){return this._userInspectValue||=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier),this._userInspectValue}get userValue(){return this.userInspectValue.merged}get user(){return this.toInspectValue(this.userInspectValue)}get workspaceInspectValue(){return this._workspaceInspectValue===void 0&&(this._workspaceInspectValue=this.workspaceConfiguration?this.workspaceConfiguration.inspect(this.key,this.overrides.overrideIdentifier):null),this._workspaceInspectValue}get workspaceValue(){return this.workspaceInspectValue?.merged}get workspaceFolderInspectValue(){return this._workspaceFolderInspectValue===void 0&&(this._workspaceFolderInspectValue=this.folderConfigurationModel?this.folderConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier):null),this._workspaceFolderInspectValue}get workspaceFolderValue(){return this.workspaceFolderInspectValue?.merged}get memoryInspectValue(){return this._memoryInspectValue===void 0&&(this._memoryInspectValue=this.memoryConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier)),this._memoryInspectValue}get memoryValue(){return this.memoryInspectValue.merged}},rf=class e{constructor(e,t,n,r,i,a,o,s,c,l){this._defaultConfiguration=e,this._policyConfiguration=t,this._applicationConfiguration=n,this._localUserConfiguration=r,this._remoteUserConfiguration=i,this._workspaceConfiguration=a,this._folderConfigurations=o,this._memoryConfiguration=s,this._memoryConfigurationByResource=c,this.logService=l,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new Qi,this._userConfiguration=null}getValue(e,t,n){return this.getConsolidatedConfigurationModel(e,t,n).getValue(e)}updateValue(e,t,n={}){let r;n.resource?(r=this._memoryConfigurationByResource.get(n.resource),r||(r=ef.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(n.resource,r))):r=this._memoryConfiguration,t===void 0?r.removeValue(e):r.setValue(e,t),n.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(e,t,n){let r=this.getConsolidatedConfigurationModel(e,t,n),i=this.getFolderConfigurationModelForResource(t.resource,n),a=t.resource&&this._memoryConfigurationByResource.get(t.resource)||this._memoryConfiguration,o=new Set;for(let t of r.overrides)for(let n of t.identifiers)r.getOverrideValue(e,n)!==void 0&&o.add(n);return new nf(e,t,r.getValue(e),o.size?[...o]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,n?this._workspaceConfiguration:void 0,i||void 0,a)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){if(!this._userConfiguration)if(this._remoteUserConfiguration.isEmpty())this._userConfiguration=this._localUserConfiguration;else{let e=this._localUserConfiguration.merge(this._remoteUserConfiguration);this._userConfiguration=new ef(e.contents,e.keys,e.overrides,void 0,this.logService)}return this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(e,t,n){let r=this.getConsolidatedConfigurationModelForResource(t,n);if(t.overrideIdentifier&&(r=r.override(t.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(e)!==void 0){r=r.merge();for(let e of this._policyConfiguration.keys)r.setValue(e,this._policyConfiguration.getValue(e))}return r}getConsolidatedConfigurationModelForResource({resource:e},t){let n=this.getWorkspaceConsolidatedConfiguration();if(t&&e){let r=t.getFolder(e);r&&(n=this.getFolderConsolidatedConfiguration(r.uri)||n);let i=this._memoryConfigurationByResource.get(e);i&&(n=n.merge(i))}return n}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(e){let t=this._foldersConsolidatedConfigurations.get(e);if(!t){let n=this.getWorkspaceConsolidatedConfiguration(),r=this._folderConfigurations.get(e);r?(t=n.merge(r),this._foldersConsolidatedConfigurations.set(e,t)):t=n}return t}getFolderConfigurationModelForResource(e,t){if(t&&e){let n=t.getFolder(e);if(n)return this._folderConfigurations.get(n.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys,raw:Array.isArray(this.applicationConfiguration.raw)?void 0:this.applicationConfiguration.raw},userLocal:{contents:this.localUserConfiguration.contents,overrides:this.localUserConfiguration.overrides,keys:this.localUserConfiguration.keys,raw:Array.isArray(this.localUserConfiguration.raw)?void 0:this.localUserConfiguration.raw},userRemote:{contents:this.remoteUserConfiguration.contents,overrides:this.remoteUserConfiguration.overrides,keys:this.remoteUserConfiguration.keys,raw:Array.isArray(this.remoteUserConfiguration.raw)?void 0:this.remoteUserConfiguration.raw},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((e,t)=>{let{contents:n,overrides:r,keys:i}=this._folderConfigurations.get(t);return e.push([t,{contents:n,overrides:r,keys:i}]),e},[])}}static parse(t,n){let r=this.parseConfigurationModel(t.defaults,n),i=this.parseConfigurationModel(t.policy,n),a=this.parseConfigurationModel(t.application,n),o=this.parseConfigurationModel(t.userLocal,n),s=this.parseConfigurationModel(t.userRemote,n),c=this.parseConfigurationModel(t.workspace,n),l=t.folders.reduce((e,t)=>(e.set(Xo.revive(t[0]),this.parseConfigurationModel(t[1],n)),e),new Qi);return new e(r,i,a,o,s,c,l,ef.createEmptyModel(n),new Qi,n)}static parseConfigurationModel(e,t){return new ef(e.contents,e.keys,e.overrides,e.raw,t)}},af=class{constructor(e,t,n,r,i){this.change=e,this.previous=t,this.currentConfiguraiton=n,this.currentWorkspace=r,this.logService=i,this._marker=`
|
|
6
|
+
`,this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=46,this.affectedKeys=new Set,this._previousConfiguration=void 0;for(let t of e.keys)this.affectedKeys.add(t);for(let[,t]of e.overrides)for(let e of t)this.affectedKeys.add(e);this._affectsConfigStr=this._marker;for(let e of this.affectedKeys)this._affectsConfigStr+=e+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=rf.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(e,t){let n=this._marker+e,r=this._affectsConfigStr.indexOf(n);if(r<0)return!1;let i=r+n.length;if(i>=this._affectsConfigStr.length)return!1;let a=this._affectsConfigStr.charCodeAt(i);return a!==this._markerCode1&&a!==this._markerCode2?!1:t?!St(this.previousConfiguration?this.previousConfiguration.getValue(e,t,this.previous?.workspace):void 0,this.currentConfiguraiton.getValue(e,t,this.currentWorkspace)):!0}},of=class extends B{get configurationModel(){return this._configurationModel}constructor(e){super(),this.logService=e,this._configurationModel=ef.createEmptyModel(e)}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=ef.createEmptyModel(this.logService);let e=Wo.as(Mn.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){let n=this.getConfigurationDefaultOverrides();for(let r of e){let e=n[r],i=t[r];e===void 0?i?this._configurationModel.setValue(r,this.getDefaultValue(r,i)):this._configurationModel.removeValue(r):this._configurationModel.setValue(r,e)}}getDefaultValue(e,t){return zn(t.default)}},sf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},cf=function(e,t){return function(n,r){t(n,r,e)}},lf=`data-keybinding-context`,uf=class{constructor(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}get value(){return{...this._value}}setValue(e,t){return St(this._value[e],t)?!1:(this._value[e]=t,!0)}removeValue(e){return e in this._value?(delete this._value[e],!0):!1}getValue(e){let t=this._value[e];return t===void 0&&this._parent?this._parent.getValue(e):t}},df=class e extends uf{static{this.INSTANCE=new e}constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}},ff=class e extends uf{static{this._keyPrefix=`config.`}constructor(e,t,n){super(e,null),this._configurationService=t,this._values=Va.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(e=>{if(e.source===7){let e=Array.from(this._values,([e])=>e);this._values.clear(),n.fire(new hf(e))}else{let t=[];for(let n of e.affectedKeys){let e=`config.${n}`,r=this._values.findSuperstr(e);r!==void 0&&(t.push(...G.map(r,([e])=>e)),this._values.deleteSuperstr(e)),this._values.has(e)&&(t.push(e),this._values.delete(e))}n.fire(new hf(t))}})}dispose(){this._listener.dispose()}getValue(t){if(t.indexOf(e._keyPrefix)!==0)return super.getValue(t);if(this._values.has(t))return this._values.get(t);let n=t.substr(e._keyPrefix.length),r=this._configurationService.getValue(n),i;switch(typeof r){case`number`:case`boolean`:case`string`:i=r;break;default:i=Array.isArray(r)?JSON.stringify(r):r}return this._values.set(t,i),i}setValue(e,t){return super.setValue(e,t)}removeValue(e){return super.removeValue(e)}},pf=class{constructor(e,t,n){this._service=e,this._key=t,this._defaultValue=n,this.reset()}set(e){this._service.setContext(this._key,e)}reset(){this._defaultValue===void 0?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}},mf=class{constructor(e){this.key=e}affectsSome(e){return e.has(this.key)}allKeysContainedIn(e){return this.affectsSome(e)}},hf=class{constructor(e){this.keys=e}affectsSome(e){for(let t of this.keys)if(e.has(t))return!0;return!1}allKeysContainedIn(e){return this.keys.every(t=>e.has(t))}},gf=class{constructor(e){this.events=e}affectsSome(e){for(let t of this.events)if(t.affectsSome(e))return!0;return!1}allKeysContainedIn(e){return this.events.every(t=>t.allKeysContainedIn(e))}};function _f(e,t){return e.allKeysContainedIn(new Set(Object.keys(t)))}var vf=class extends B{get onDidChangeContext(){return this._onDidChangeContext.event}constructor(e){super(),this._onDidChangeContext=this._register(new na({merge:e=>new gf(e)})),this._isDisposed=!1,this._myContextId=e}createKey(e,t){if(this._isDisposed)throw Error(`AbstractContextKeyService has been disposed`);return new pf(this,e,t)}bufferChangeEvents(e){this._onDidChangeContext.pause();try{e()}finally{this._onDidChangeContext.resume()}}createScoped(e){if(this._isDisposed)throw Error(`AbstractContextKeyService has been disposed`);return new bf(this,e)}contextMatchesRules(e){if(this._isDisposed)throw Error(`AbstractContextKeyService has been disposed`);let t=this.getContextValuesContainer(this._myContextId);return e?e.evaluate(t):!0}getContextKeyValue(e){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(e)}setContext(e,t){if(this._isDisposed)return;let n=this.getContextValuesContainer(this._myContextId);n&&n.setValue(e,t)&&this._onDidChangeContext.fire(new mf(e))}removeContext(e){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContext.fire(new mf(e))}getContext(e){return this._isDisposed?df.INSTANCE:this.getContextValuesContainer(xf(e))}dispose(){super.dispose(),this._isDisposed=!0}},yf=class extends vf{constructor(e){super(0),this._contexts=new Map,this._lastContextId=0,this.inputFocusedContext=Ui.bindTo(this);let t=this._register(new ff(this._myContextId,e,this._onDidChangeContext));this._contexts.set(this._myContextId,t),this._register(W.runAndSubscribe(qt,({window:e,disposables:t})=>{let n=t.add(new Vs);t.add(z(e,H.FOCUS_IN,()=>{n.value=new N,this.updateInputContextKeys(e.document,n.value)},!0))},{window:ba,disposables:this._store}))}updateInputContextKeys(e,t){function n(){return!!e.activeElement&&d(e.activeElement)}let r=n();if(this.inputFocusedContext.set(r),r){let r=t.add(Rt(e.activeElement));W.once(r.onDidBlur)(()=>{_o().document===e&&this.inputFocusedContext.set(n()),r.dispose()},void 0,t)}}getContextValuesContainer(e){return this._isDisposed?df.INSTANCE:this._contexts.get(e)||df.INSTANCE}createChildContext(e=this._myContextId){if(this._isDisposed)throw Error(`ContextKeyService has been disposed`);let t=++this._lastContextId;return this._contexts.set(t,new uf(t,this.getContextValuesContainer(e))),t}disposeContext(e){this._isDisposed||this._contexts.delete(e)}};yf=sf([cf(0,C)],yf);var bf=class extends vf{constructor(e,t){if(super(e.createChildContext()),this._parentChangeListener=this._register(new Vs),this._parent=e,this._updateParentChangeListener(),this._domNode=t,this._domNode.hasAttribute(lf)){let e=``;this._domNode.classList&&(e=Array.from(this._domNode.classList.values()).join(`, `)),console.error(`Element already has context attribute${e?`: `+e:``}`)}this._domNode.setAttribute(lf,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(e=>{let t=this._parent.getContextValuesContainer(this._myContextId).value;_f(e,t)||this._onDidChangeContext.fire(e)})}dispose(){this._isDisposed||(this._parentChangeListener.clear(),this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(lf),super.dispose())}getContextValuesContainer(e){return this._isDisposed?df.INSTANCE:this._parent.getContextValuesContainer(e)}createChildContext(e=this._myContextId){if(this._isDisposed)throw Error(`ScopedContextKeyService has been disposed`);return this._parent.createChildContext(e)}disposeContext(e){this._parent.disposeContext(e)}};function xf(e){for(;e;){if(e.hasAttribute(lf)){let t=e.getAttribute(lf);return t?parseInt(t,10):NaN}e=e.parentElement}return 0}function Sf(e,t,n){e.get(D).createKey(String(t),Cf(n))}function Cf(e){return vn(e,e=>{if(typeof e==`object`&&e.$mid===1)return Xo.revive(e).toString();if(e instanceof Xo)return e.toString()})}Et.registerCommand(`_setContext`,Sf),Et.registerCommand({id:`getContextKeyInfo`,handler(){return[...Wn.all()].sort((e,t)=>e.key.localeCompare(t.key))},metadata:{description:L(1736,`A command that returns information about context keys`),args:[]}}),Et.registerCommand(`_generateContextKeyInfo`,function(){let e=[],t=new Set;for(let n of Wn.all())t.has(n.key)||(t.add(n.key),e.push(n));e.sort((e,t)=>e.key.localeCompare(t.key)),console.log(JSON.stringify(e,void 0,2))});var wf=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,Tf=/(&)?(&)([^\s&])/g,Ef;(function(e){e[e.Right=0]=`Right`,e[e.Left=1]=`Left`})(Ef||={});var Df;(function(e){e[e.Above=0]=`Above`,e[e.Below=1]=`Below`})(Df||={});var Of=class t extends e{constructor(e,t,n,r){e.classList.add(`monaco-menu-container`),e.setAttribute(`role`,`presentation`);let i=document.createElement(`div`);i.classList.add(`monaco-menu`),i.setAttribute(`role`,`presentation`),super(i,{orientation:1,actionViewItemProvider:e=>this.doGetActionViewItem(e,n,a),context:n.context,actionRunner:n.actionRunner,ariaLabel:n.ariaLabel,ariaRole:`menu`,focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...me||yr?[10]:[]],keyDown:!0}}),this.menuStyles=r,this.menuElement=i,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(e,r),this._register(he.addTarget(i)),this._register(z(i,H.KEY_DOWN,e=>{new Qr(e).equals(2)&&e.preventDefault()})),n.enableMnemonics&&this._register(z(i,H.KEY_DOWN,e=>{let t=e.key.toLocaleLowerCase(),n=this.mnemonics.get(t);if(n!==void 0&&(ys.stop(e,!0),n.length===1&&(n[0]instanceof Af&&n[0].container&&this.focusItemByElement(n[0].container),n[0].onClick(e)),n.length>1)){let e=n.shift();e&&e.container&&(this.focusItemByElement(e.container),n.push(e)),this.mnemonics.set(t,n)}})),yr&&this._register(z(i,H.KEY_DOWN,e=>{let t=new Qr(e);t.equals(14)||t.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),ys.stop(e,!0)):(t.equals(13)||t.equals(12))&&(this.focusedItem=0,this.focusPrevious(),ys.stop(e,!0))})),this._register(z(this.domNode,H.MOUSE_OUT,e=>{let t=e.relatedTarget;En(t,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),e.stopPropagation())})),this._register(z(this.actionsList,H.MOUSE_OVER,e=>{let t=e.target;if(!(!t||!En(t,this.actionsList)||t===this.actionsList)){for(;t.parentElement!==this.actionsList&&t.parentElement!==null;)t=t.parentElement;if(t.classList.contains(`action-item`)){let e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}})),this._register(he.addTarget(this.actionsList)),this._register(z(this.actionsList,br.Tap,e=>{let t=e.initialTarget;if(!(!t||!En(t,this.actionsList)||t===this.actionsList)){for(;t.parentElement!==this.actionsList&&t.parentElement!==null;)t=t.parentElement;if(t.classList.contains(`action-item`)){let e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}}));let a={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new qi(i,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));let o=this.scrollableElement.getDomNode();o.style.position=``,this.styleScrollElement(o,r),this._register(z(i,br.Change,e=>{ys.stop(e,!0);let t=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:t-e.translationY})})),this._register(z(o,H.MOUSE_UP,e=>{e.preventDefault()}));let s=x(e);i.style.maxHeight=`${Math.max(10,s.innerHeight-e.getBoundingClientRect().top-35)}px`,t=t.filter((e,r)=>n.submenuIds?.has(e.id)?(console.warn(`Found submenu cycle: ${e.id}`),!1):!(e instanceof gt&&(r===t.length-1||r===0||t[r-1]instanceof gt))),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(e=>!(e instanceof jf)).forEach((e,t,n)=>{e.updatePositionInSet(t+1,n.length)})}initializeOrUpdateStyleSheet(e,n){this.styleSheet||(Ln(e)?this.styleSheet=Fe(e):(t.globalStyleSheet||=Fe(),this.styleSheet=t.globalStyleSheet)),this.styleSheet.textContent=Pf(n,Ln(e))}styleScrollElement(e,t){let n=t.foregroundColor??``,r=t.backgroundColor??``,i=t.borderColor?`1px solid ${t.borderColor}`:``;e.style.outline=i,e.style.borderRadius=`var(--vscode-cornerRadius-large)`,e.style.color=n,e.style.backgroundColor=r}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(e){let t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()}setFocusedItem(e){for(let t=0;t<this.actionsList.children.length;t++)if(e===this.actionsList.children[t]){this.focusedItem=t;break}}updateFocus(e){super.updateFocus(e,!0,!0),this.focusedItem!==void 0&&this.scrollableElement.setScrollPosition({scrollTop:Math.round(this.menuElement.scrollTop)})}doGetActionViewItem(e,t,n){if(e instanceof gt)return new jf(t.context,e,{icon:!0},this.menuStyles);if(e instanceof Gr){let r=new Af(e,e.actions,n,{...t,submenuIds:new Set([...t.submenuIds||[],e.id])},this.menuStyles);if(t.enableMnemonics){let e=r.getMnemonic();if(e&&r.isEnabled()){let t=this.mnemonics.get(e);t===void 0?this.mnemonics.set(e,[r]):t.push(r)}}return r}else{let n=t.getKeyBinding?.(e)?.getLabel(),r={enableMnemonics:t.enableMnemonics,useEventAsContext:t.useEventAsContext,keybinding:n},i=new kf(t.context,e,r,this.menuStyles);if(t.enableMnemonics){let e=i.getMnemonic();if(e&&i.isEnabled()){let t=this.mnemonics.get(e);t===void 0?this.mnemonics.set(e,[i]):t.push(i)}}return i}}},kf=class extends al{constructor(e,t,n,r){if(n={...n,isMenu:!0,icon:n.icon===void 0?!1:n.icon,label:n.label===void 0?!0:n.label},super(t,t,n),this.menuStyle=r,this.options=n,this.cssClass=``,this.options.label&&n.enableMnemonics){let e=this.action.label;if(e){let t=wf.exec(e);t&&(this.mnemonic=(t[1]?t[1]:t[3]).toLocaleLowerCase())}}this.runOnceToEnableMouseUp=new $o(()=>{this.element&&(this._register(z(this.element,H.MOUSE_UP,e=>{if(ys.stop(e,!0),Ai){if(new ie(x(this.element),e).rightButton)return;this.onClick(e)}else setTimeout(()=>{this.onClick(e)},0)})),this._register(z(this.element,H.CONTEXT_MENU,e=>{ys.stop(e,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(e){super.render(e),this.element&&(this.container=e,this.item=M(this.element,P(`a.action-menu-item`)),this._action.id===gt.ID?this.item.setAttribute(`role`,`presentation`):(this.item.setAttribute(`role`,`menuitem`),this.mnemonic&&this.item.setAttribute(`aria-keyshortcuts`,`${this.mnemonic}`)),this.check=M(this.item,P(`span.menu-item-check`+pr.asCSSSelector(q.menuSelection))),this.check.setAttribute(`role`,`none`),this.label=M(this.item,P(`span.action-label`)),this.options.label&&this.options.keybinding&&(M(this.item,P(`span.keybinding`)).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item?.focus(),this.applyStyle()}updatePositionInSet(e,t){this.item&&(this.item.setAttribute(`aria-posinset`,`${e}`),this.item.setAttribute(`aria-setsize`,`${t}`))}updateLabel(){if(this.label&&this.options.label){Ka(this.label);let e=Nl(this.action.label);if(e){let t=Mf(e);this.options.enableMnemonics||(e=t),this.label.setAttribute(`aria-label`,t.replace(/&&/g,`&`));let n=wf.exec(e);if(n){e=dc(e),Tf.lastIndex=0;let t=Tf.exec(e);for(;t&&t[1];)t=Tf.exec(e);let r=e=>e.replace(/&&/g,`&`);t?this.label.append(vs(r(e.substr(0,t.index)),` `),P(`u`,{"aria-hidden":`true`},t[3]),mo(r(e.substr(t.index+t[0].length)),` `)):this.label.textContent=r(e).trim(),this.item?.setAttribute(`aria-keyshortcuts`,(n[1]?n[1]:n[3]).toLocaleLowerCase())}else this.label.textContent=e.replace(/&&/g,`&`).trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(` `)),this.options.icon&&this.label?(this.cssClass=this.action.class||``,this.label.classList.add(`icon`),this.cssClass&&this.label.classList.add(...this.cssClass.split(` `)),this.updateEnabled()):this.label&&this.label.classList.remove(`icon`)}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove(`disabled`),this.element.removeAttribute(`aria-disabled`)),this.item&&(this.item.classList.remove(`disabled`),this.item.removeAttribute(`aria-disabled`),this.item.tabIndex=0)):(this.element&&(this.element.classList.add(`disabled`),this.element.setAttribute(`aria-disabled`,`true`)),this.item&&(this.item.classList.add(`disabled`),this.item.setAttribute(`aria-disabled`,`true`)))}updateChecked(){if(!this.item)return;let e=this.action.checked;this.item.classList.toggle(`checked`,!!e),e===void 0?(this.item.setAttribute(`role`,`menuitem`),this.item.setAttribute(`aria-checked`,``)):(this.item.setAttribute(`role`,`menuitemcheckbox`),this.item.setAttribute(`aria-checked`,e?`true`:`false`))}getMnemonic(){return this.mnemonic}applyStyle(){let e=this.element&&this.element.classList.contains(`focused`),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,n=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,r=e&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:``,i=e&&this.menuStyle.selectionBorderColor?`-1px`:``;this.item&&(this.item.style.color=t??``,this.item.style.backgroundColor=n??``,this.item.style.outline=r,this.item.style.outlineOffset=i),this.check&&(this.check.style.color=t??``)}},Af=class extends kf{constructor(e,t,n,r,i){super(e,e,r,i),this.submenuActions=t,this.parentData=n,this.submenuOptions=r,this.mysubmenu=null,this.submenuDisposables=this._register(new N),this.mouseOver=!1,this.expandDirection=r&&r.expandDirection!==void 0?r.expandDirection:{horizontal:Ef.Right,vertical:Df.Below},this.showScheduler=new $o(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new $o(()=>{this.element&&!En(ds(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(e){super.render(e),this.element&&(this.item&&(this.item.classList.add(`monaco-submenu-item`),this.item.tabIndex=0,this.item.setAttribute(`aria-haspopup`,`true`),this.updateAriaExpanded(`false`),this.submenuIndicator=M(this.item,P(`span.submenu-indicator`+pr.asCSSSelector(q.menuSubmenu))),this.submenuIndicator.setAttribute(`aria-hidden`,`true`)),this._register(z(this.element,H.KEY_UP,e=>{let t=new Qr(e);(t.equals(17)||t.equals(3))&&(ys.stop(e,!0),this.createSubmenu(!0))})),this._register(z(this.element,H.KEY_DOWN,e=>{let t=new Qr(e);ds()===this.item&&(t.equals(17)||t.equals(3))&&ys.stop(e,!0)})),this._register(z(this.element,H.MOUSE_OVER,e=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register(z(this.element,H.MOUSE_LEAVE,e=>{this.mouseOver=!1})),this._register(z(this.element,H.FOCUS_OUT,e=>{this.element&&!En(ds(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))})))}updateEnabled(){}onClick(e){ys.stop(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(e){if(this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}this.parentData.submenu=void 0,this.updateAriaExpanded(`false`),this.submenuContainer&&=(this.submenuDisposables.clear(),void 0)}}calculateSubmenuMenuLayout(e,t,n,r){let i={top:0,left:0};return i.left=_e(e.width,t.width,{position:r.horizontal===Ef.Right?0:1,offset:n.left,size:n.width}).position,i.left>=n.left&&i.left<n.left+n.width&&(n.left+10+t.width<=e.width&&(i.left=n.left+10),n.top+=10,n.height=0),i.top=_e(e.height,t.height,{position:0,offset:n.top,size:0}).position,i.top+t.height===n.top&&i.top+n.height+t.height<=e.height&&(i.top+=n.height),i}createSubmenu(e=!0){if(this.element)if(this.parentData.submenu)this.parentData.submenu.focus(!1);else{this.updateAriaExpanded(`true`),this.submenuContainer=M(this.element,P(`div.monaco-submenu`)),this.submenuContainer.classList.add(`menubar-menu-items-holder`,`context-view`);let t=x(this.parentData.parent.domNode).getComputedStyle(this.parentData.parent.domNode),n=parseFloat(t.paddingTop||`0`)||0;this.submenuContainer.style.position=`fixed`,this.submenuContainer.style.top=`0`,this.submenuContainer.style.left=`0`,this.submenuContainer.style.zIndex=`1`,this.parentData.submenu=new Of(this.submenuContainer,this.submenuActions.length?this.submenuActions:[new ti],this.submenuOptions,this.menuStyle);let r=this.element.getBoundingClientRect(),i={top:r.top-n,left:r.left,height:r.height+2*n,width:r.width},a=this.submenuContainer.getBoundingClientRect(),o=x(this.element),{top:s,left:c}=this.calculateSubmenuMenuLayout(new Cc(o.innerWidth,o.innerHeight),Cc.lift(a),i,this.expandDirection);this.submenuContainer.style.left=`${c-a.left}px`,this.submenuContainer.style.top=`${s-a.top}px`,this.submenuDisposables.add(z(this.submenuContainer,H.KEY_UP,e=>{new Qr(e).equals(15)&&(ys.stop(e,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add(z(this.submenuContainer,H.KEY_DOWN,e=>{new Qr(e).equals(15)&&ys.stop(e,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(e){this.item&&this.item?.setAttribute(`aria-expanded`,e)}applyStyle(){super.applyStyle();let e=this.element&&this.element.classList.contains(`focused`)&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=e??``)}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&=(this.mysubmenu.dispose(),null),this.submenuContainer&&=void 0}},jf=class extends be{constructor(e,t,n,r){super(e,t,n),this.menuStyles=r}render(e){super.render(e),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:``)}};function Mf(e){let t=wf,n=t.exec(e);if(!n)return e;let r=!n[1];return e.replace(t,r?`$2$3`:``).trim()}function Nf(e){let t=jr()[e.id];return`.codicon-${e.id}:before { content: '\\${t.toString(16)}'; }`}function Pf(e,t){let n=`
|
|
7
|
+
.monaco-menu {
|
|
8
|
+
font-size: 13px;
|
|
9
|
+
border-radius: var(--vscode-cornerRadius-large);
|
|
10
|
+
border: 1px solid ${e.borderColor??`var(--vscode-menu-border)`};
|
|
11
|
+
min-width: 160px;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
${Nf(q.menuSelection)}
|
|
15
|
+
${Nf(q.menuSubmenu)}
|
|
16
|
+
|
|
17
|
+
.monaco-menu .monaco-action-bar {
|
|
18
|
+
text-align: right;
|
|
19
|
+
overflow: hidden;
|
|
20
|
+
white-space: nowrap;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.monaco-menu .monaco-action-bar .actions-container {
|
|
24
|
+
display: flex;
|
|
25
|
+
margin: 0 auto;
|
|
26
|
+
padding: 0;
|
|
27
|
+
width: 100%;
|
|
28
|
+
justify-content: flex-end;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.monaco-menu .monaco-action-bar.vertical .actions-container {
|
|
32
|
+
display: inline-block;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.monaco-menu .monaco-action-bar.reverse .actions-container {
|
|
36
|
+
flex-direction: row-reverse;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.monaco-menu .monaco-action-bar .action-item {
|
|
40
|
+
cursor: pointer;
|
|
41
|
+
display: inline-block;
|
|
42
|
+
transition: transform 50ms ease;
|
|
43
|
+
position: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.monaco-menu .monaco-action-bar .action-item.disabled {
|
|
47
|
+
cursor: default;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.monaco-menu .monaco-action-bar .action-item .icon,
|
|
51
|
+
.monaco-menu .monaco-action-bar .action-item .codicon {
|
|
52
|
+
display: inline-block;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.monaco-menu .monaco-action-bar .action-item .codicon {
|
|
56
|
+
display: flex;
|
|
57
|
+
align-items: center;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.monaco-menu .monaco-action-bar .action-label {
|
|
61
|
+
font-size: 11px;
|
|
62
|
+
margin-right: 4px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.monaco-menu .monaco-action-bar .action-item.disabled .action-label,
|
|
66
|
+
.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {
|
|
67
|
+
color: var(--vscode-disabledForeground);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/* Vertical actions */
|
|
71
|
+
|
|
72
|
+
.monaco-menu .monaco-action-bar.vertical {
|
|
73
|
+
text-align: left;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.monaco-menu .monaco-action-bar.vertical .action-item {
|
|
77
|
+
display: block;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
|
|
81
|
+
display: block;
|
|
82
|
+
border-bottom: 1px solid var(--vscode-menu-separatorBackground);
|
|
83
|
+
padding-top: 1px;
|
|
84
|
+
padding: 30px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.monaco-menu .secondary-actions .monaco-action-bar .action-label {
|
|
88
|
+
margin-left: 6px;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/* Action Items */
|
|
92
|
+
.monaco-menu .monaco-action-bar .action-item.select-container {
|
|
93
|
+
overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */
|
|
94
|
+
flex: 1;
|
|
95
|
+
max-width: 170px;
|
|
96
|
+
min-width: 60px;
|
|
97
|
+
display: flex;
|
|
98
|
+
align-items: center;
|
|
99
|
+
justify-content: center;
|
|
100
|
+
margin-right: 10px;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.monaco-menu .monaco-action-bar.vertical {
|
|
104
|
+
margin-left: 0;
|
|
105
|
+
overflow: visible;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.monaco-menu .monaco-action-bar.vertical .actions-container {
|
|
109
|
+
display: block;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.monaco-menu .monaco-action-bar.vertical .action-item {
|
|
113
|
+
padding: 0;
|
|
114
|
+
transform: none;
|
|
115
|
+
display: flex;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.monaco-menu .monaco-action-bar.vertical .action-item.active {
|
|
119
|
+
transform: none;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.monaco-menu .monaco-action-bar.vertical .action-menu-item {
|
|
123
|
+
flex: 1 1 auto;
|
|
124
|
+
display: flex;
|
|
125
|
+
height: 24px;
|
|
126
|
+
align-items: center;
|
|
127
|
+
position: relative;
|
|
128
|
+
margin: 0 4px;
|
|
129
|
+
border-radius: var(--vscode-cornerRadius-medium);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,
|
|
133
|
+
.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {
|
|
134
|
+
opacity: unset;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.monaco-menu .monaco-action-bar.vertical .action-label {
|
|
138
|
+
flex: 1 1 auto;
|
|
139
|
+
text-decoration: none;
|
|
140
|
+
padding: 0 1em;
|
|
141
|
+
background: none;
|
|
142
|
+
font-size: 12px;
|
|
143
|
+
line-height: 1;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.monaco-menu .monaco-action-bar.vertical .keybinding,
|
|
147
|
+
.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
|
|
148
|
+
display: inline-block;
|
|
149
|
+
flex: 2 1 auto;
|
|
150
|
+
padding: 0 1em;
|
|
151
|
+
text-align: right;
|
|
152
|
+
font-size: 12px;
|
|
153
|
+
line-height: 1;
|
|
154
|
+
opacity: 0.7;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
|
|
158
|
+
height: 100%;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {
|
|
162
|
+
font-size: 16px !important;
|
|
163
|
+
display: flex;
|
|
164
|
+
align-items: center;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {
|
|
168
|
+
margin-left: auto;
|
|
169
|
+
margin-right: -20px;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,
|
|
173
|
+
.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {
|
|
174
|
+
opacity: 0.4;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {
|
|
178
|
+
display: inline-block;
|
|
179
|
+
box-sizing: border-box;
|
|
180
|
+
margin: 0;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.monaco-menu .monaco-action-bar.vertical .action-item {
|
|
184
|
+
position: static;
|
|
185
|
+
overflow: visible;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {
|
|
189
|
+
position: absolute;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
|
|
193
|
+
width: 100%;
|
|
194
|
+
height: 0px !important;
|
|
195
|
+
opacity: 1;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {
|
|
199
|
+
padding: 0.7em 1em 0.1em 1em;
|
|
200
|
+
font-weight: bold;
|
|
201
|
+
opacity: 1;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.monaco-menu .monaco-action-bar.vertical .action-label:hover {
|
|
205
|
+
color: inherit;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.monaco-menu .monaco-action-bar.vertical .menu-item-check {
|
|
209
|
+
position: absolute;
|
|
210
|
+
visibility: hidden;
|
|
211
|
+
width: 1em;
|
|
212
|
+
height: 100%;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {
|
|
216
|
+
visibility: visible;
|
|
217
|
+
display: flex;
|
|
218
|
+
align-items: center;
|
|
219
|
+
justify-content: center;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/* Context Menu */
|
|
223
|
+
|
|
224
|
+
.context-view.monaco-menu-container {
|
|
225
|
+
outline: 0;
|
|
226
|
+
border: none;
|
|
227
|
+
animation: fadeIn 0.083s linear;
|
|
228
|
+
-webkit-app-region: no-drag;
|
|
229
|
+
box-shadow: var(--vscode-shadow-lg${e.shadowColor?`, 0 0 12px ${e.shadowColor}`:``});
|
|
230
|
+
border-radius: var(--vscode-cornerRadius-large);
|
|
231
|
+
overflow: hidden;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.context-view.monaco-menu-container :focus,
|
|
235
|
+
.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,
|
|
236
|
+
.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {
|
|
237
|
+
outline: 0;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.hc-black .context-view.monaco-menu-container,
|
|
241
|
+
.hc-light .context-view.monaco-menu-container,
|
|
242
|
+
:host-context(.hc-black) .context-view.monaco-menu-container,
|
|
243
|
+
:host-context(.hc-light) .context-view.monaco-menu-container {
|
|
244
|
+
box-shadow: none;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,
|
|
248
|
+
.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,
|
|
249
|
+
:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,
|
|
250
|
+
:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {
|
|
251
|
+
background: none;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/* Show the menu item selection border only for keyboard navigation. Pointer-driven focus typically does not set :focus-visible, so suppress the border in that case. */
|
|
255
|
+
.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus:not(:focus-visible) {
|
|
256
|
+
outline: none !important;
|
|
257
|
+
outline-offset: 0 !important;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/* High contrast themes always show the selection border to indicate the focused item, regardless of input modality. The duplicated .monaco-menu raises specificity above the keyboard-only suppression rule above so this wins independent of declaration order. */
|
|
261
|
+
.hc-black .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item,
|
|
262
|
+
.hc-light .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item,
|
|
263
|
+
:host-context(.hc-black) .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item,
|
|
264
|
+
:host-context(.hc-light) .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item {
|
|
265
|
+
outline: 1px solid var(--vscode-menu-selectionBorder) !important;
|
|
266
|
+
outline-offset: -1px !important;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
/* Vertical Action Bar Styles */
|
|
270
|
+
|
|
271
|
+
.monaco-menu .monaco-action-bar.vertical {
|
|
272
|
+
padding: 4px 0;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.monaco-menu .monaco-action-bar.vertical .action-menu-item {
|
|
276
|
+
height: 24px;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),
|
|
280
|
+
.monaco-menu .monaco-action-bar.vertical .keybinding {
|
|
281
|
+
font-size: inherit;
|
|
282
|
+
padding: 0 2em;
|
|
283
|
+
max-height: 100%;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
.monaco-menu .monaco-action-bar.vertical .menu-item-check {
|
|
287
|
+
font-size: inherit;
|
|
288
|
+
width: 2em;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
|
|
292
|
+
font-size: inherit;
|
|
293
|
+
margin: 5px 0 !important;
|
|
294
|
+
padding: 0;
|
|
295
|
+
border-radius: 0;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,
|
|
299
|
+
:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {
|
|
300
|
+
margin-left: 0;
|
|
301
|
+
margin-right: 0;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
|
|
305
|
+
font-size: 60%;
|
|
306
|
+
padding: 0 1.8em;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,
|
|
310
|
+
:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {
|
|
311
|
+
height: 100%;
|
|
312
|
+
mask-size: 10px 10px;
|
|
313
|
+
-webkit-mask-size: 10px 10px;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.monaco-menu .action-item {
|
|
317
|
+
cursor: default;
|
|
318
|
+
}`;if(t){n+=`
|
|
319
|
+
/* Arrows */
|
|
320
|
+
.monaco-scrollable-element > .scrollbar > .scra {
|
|
321
|
+
cursor: pointer;
|
|
322
|
+
font-size: 11px !important;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
.monaco-scrollable-element > .visible {
|
|
326
|
+
opacity: 1;
|
|
327
|
+
|
|
328
|
+
/* Background rule added for IE9 - to allow clicks on dom node */
|
|
329
|
+
background:rgba(0,0,0,0);
|
|
330
|
+
|
|
331
|
+
transition: opacity 100ms linear;
|
|
332
|
+
}
|
|
333
|
+
.monaco-scrollable-element > .invisible {
|
|
334
|
+
opacity: 0;
|
|
335
|
+
pointer-events: none;
|
|
336
|
+
}
|
|
337
|
+
.monaco-scrollable-element > .invisible.fade {
|
|
338
|
+
transition: opacity 800ms linear;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
/* Scrollable Content Inset Shadow */
|
|
342
|
+
.monaco-scrollable-element > .shadow {
|
|
343
|
+
position: absolute;
|
|
344
|
+
display: none;
|
|
345
|
+
}
|
|
346
|
+
.monaco-scrollable-element > .shadow.top {
|
|
347
|
+
display: block;
|
|
348
|
+
top: 0;
|
|
349
|
+
left: 3px;
|
|
350
|
+
height: 3px;
|
|
351
|
+
width: 100%;
|
|
352
|
+
}
|
|
353
|
+
.monaco-scrollable-element > .shadow.left {
|
|
354
|
+
display: block;
|
|
355
|
+
top: 3px;
|
|
356
|
+
left: 0;
|
|
357
|
+
height: 100%;
|
|
358
|
+
width: 3px;
|
|
359
|
+
}
|
|
360
|
+
.monaco-scrollable-element > .shadow.top-left-corner {
|
|
361
|
+
display: block;
|
|
362
|
+
top: 0;
|
|
363
|
+
left: 0;
|
|
364
|
+
height: 3px;
|
|
365
|
+
width: 3px;
|
|
366
|
+
}
|
|
367
|
+
/* Fix for https://github.com/microsoft/vscode/issues/103170 */
|
|
368
|
+
.monaco-menu .action-item .monaco-submenu {
|
|
369
|
+
z-index: 1;
|
|
370
|
+
}
|
|
371
|
+
`;let t=e.scrollbarShadow;t&&(n+=`
|
|
372
|
+
.monaco-scrollable-element > .shadow.top {
|
|
373
|
+
box-shadow: ${t} 0 6px 6px -6px inset;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
.monaco-scrollable-element > .shadow.left {
|
|
377
|
+
box-shadow: ${t} 6px 0 6px -6px inset;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
.monaco-scrollable-element > .shadow.top.left {
|
|
381
|
+
box-shadow: ${t} 6px 6px 6px -6px inset;
|
|
382
|
+
}
|
|
383
|
+
`);let r=e.scrollbarSliderBackground;r&&(n+=`
|
|
384
|
+
.monaco-scrollable-element > .scrollbar > .slider {
|
|
385
|
+
background: ${r};
|
|
386
|
+
}
|
|
387
|
+
`);let i=e.scrollbarSliderHoverBackground;i&&(n+=`
|
|
388
|
+
.monaco-scrollable-element > .scrollbar > .slider:hover {
|
|
389
|
+
background: ${i};
|
|
390
|
+
}
|
|
391
|
+
`);let a=e.scrollbarSliderActiveBackground;a&&(n+=`
|
|
392
|
+
.monaco-scrollable-element > .scrollbar > .slider.active {
|
|
393
|
+
background: ${a};
|
|
394
|
+
}
|
|
395
|
+
`)}return n}var Ff=class{constructor(e,t,n,r){this.contextViewService=e,this.telemetryService=t,this.notificationService=n,this.keybindingService=r,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){let t=e.getActions();if(!t.length)return;this.focusToReturn=ds();let n,r=gn(e.domForShadowRoot)?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,layer:e.layer,render:r=>{this.lastContainer=r;let i=e.getMenuClassName?e.getMenuClassName():``;i&&(r.className+=` `+i),this.options.blockMouse&&(this.block=r.appendChild(P(`.context-view-block`)),this.block.style.position=`fixed`,this.block.style.cursor=`initial`,this.block.style.left=`0`,this.block.style.top=`0`,this.block.style.width=`100%`,this.block.style.height=`100%`,this.block.style.zIndex=`-1`,this.blockDisposable?.dispose(),this.blockDisposable=z(this.block,H.MOUSE_DOWN,e=>e.stopPropagation()));let a=new N,o=e.actionRunner||a.add(new ce);o.onWillRun(t=>this.onActionRun(t,!e.skipTelemetry),this,a),o.onDidRun(this.onDidActionRun,this,a),n=new Of(r,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:o,getKeyBinding:e.getKeyBinding?e.getKeyBinding:e=>this.keybindingService.lookupKeybinding(e.id)},Gs),n.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,a),n.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,a);let s=x(r);return a.add(z(s,H.BLUR,()=>this.contextViewService.hideContextView(!0))),a.add(z(s,H.MOUSE_DOWN,e=>{if(e.defaultPrevented)return;let t=new ie(s,e),n=t.target;if(!t.rightButton){for(;n;){if(n===r)return;n=n.parentElement}this.contextViewService.hideContextView(!0)}})),fs(a,n)},focus:()=>{n?.focus(!!e.autoSelectFirstItem)},onHide:t=>{e.onHide?.(!!t),this.block&&=(this.block.remove(),null),this.blockDisposable?.dispose(),this.blockDisposable=null,this.lastContainer&&(ds()===this.lastContainer||En(ds(),this.lastContainer))&&this.focusToReturn?.focus(),this.lastContainer=null}},r,!!r)}onActionRun(e,t){t&&this.telemetryService.publicLog2(`workbenchActionExecuted`,{id:e.action.id,from:`contextMenu`}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!Ua(e.error)&&this.notificationService.error(e.error)}},If=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Lf=function(e,t){return function(n,r){t(n,r,e)}},Rf=class extends B{get contextMenuHandler(){return this._contextMenuHandler||=new Ff(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService),this._contextMenuHandler}constructor(e,t,n,r,i,a){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=n,this.keybindingService=r,this.menuService=i,this.contextKeyService=a,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new F),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new F),this.onDidHideContextMenu=this._onDidHideContextMenu.event}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=zf.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{e.onHide?.(t),this._onDidHideContextMenu.fire()}}),Do.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};Rf=If([Lf(0,va),Lf(1,Be),Lf(2,bi),Lf(3,rl),Lf(4,Er),Lf(5,D)],Rf);var zf;(function(e){function t(e){return e&&e.menuId instanceof ye}function n(e,n,r){if(!t(e))return e;let{menuId:i,menuActionOptions:a,contextKeyService:o}=e;return{...e,getActions:()=>{let t=[];return i&&(t=Fo(n.getMenuActions(i,o??r,a))),e.getActions?gt.join(e.getActions(),t):t}}}e.transform=n})(zf||={});var Bf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Vf=function(e,t){return function(n,r){t(n,r,e)}},Hf=class extends B{constructor(e){super(),this.layoutService=e,this.contextView=this._register(new dl(this.layoutService.mainContainer,1)),this.layout(),this._register(e.onDidLayoutContainer(()=>this.layout()))}showContextView(e,t,n){let r;r=t?t===this.layoutService.getContainer(x(t))?1:n?3:2:1,this.contextView.setContainer(t??this.layoutService.activeContainer,r),this.contextView.show(e);let i={close:()=>{this.openContextView===i&&this.hideContextView()}};return this.openContextView=i,i}layout(){this.contextView.layout()}hideContextView(e){this.contextView.hide(e),this.openContextView=void 0}};Hf=Bf([Vf(0,ma)],Hf);var Uf=class extends Hf{getContextViewElement(){return this.contextView.getViewElement()}},Wf=xi(`dataChannelService`),Gf=class{getDataChannel(e){return{sendData:()=>{}}}},Kf=xi(`defaultAccountService`),qf=class{constructor(e,t){this.key=e,this.data=t,this.incoming=new Map,this.outgoing=new Map}},Jf=class{constructor(e){this._hashFn=e,this._nodes=new Map}roots(){let e=[];for(let t of this._nodes.values())t.outgoing.size===0&&e.push(t);return e}insertEdge(e,t){let n=this.lookupOrInsertNode(e),r=this.lookupOrInsertNode(t);n.outgoing.set(r.key,r),r.incoming.set(n.key,n)}removeNode(e){let t=this._hashFn(e);this._nodes.delete(t);for(let e of this._nodes.values())e.outgoing.delete(t),e.incoming.delete(t)}lookupOrInsertNode(e){let t=this._hashFn(e),n=this._nodes.get(t);return n||(n=new qf(t,e),this._nodes.set(t,n)),n}isEmpty(){return this._nodes.size===0}toString(){let e=[];for(let[t,n]of this._nodes)e.push(`${t}\n\t(-> incoming)[${[...n.incoming.keys()].join(`, `)}]\n\t(outgoing ->)[${[...n.outgoing.keys()].join(`,`)}]\n`);return e.join(`
|
|
396
|
+
`)}findCycleSlow(){for(let[e,t]of this._nodes){let n=new Set([e]),r=this._findCycle(t,n);if(r)return r}}_findCycle(e,t){for(let[n,r]of e.outgoing){if(t.has(n))return[...t,n].join(` -> `);t.add(n);let e=this._findCycle(r,t);if(e)return e;t.delete(n)}}},Yf=!1,Xf=class extends Error{constructor(e){super(`cyclic dependency between services`),this.message=e.findCycleSlow()??`UNABLE to detect cycle, dumping graph: \n${e.toString()}`}},Zf=class e{constructor(e=new Wa,t=!1,n,r=Yf){this._services=e,this._strict=t,this._parent=n,this._enableTracing=r,this._isDisposed=!1,this._servicesToMaybeDispose=new Set,this._children=new Set,this._activeInstantiations=new Set,this._services.set(w,this),this._globalGraph=r?n?._globalGraph??new Jf(e=>e):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,yo(this._children),this._children.clear();for(let e of this._servicesToMaybeDispose)ao(e)&&e.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw Error(`InstantiationService has been disposed`)}createChild(t,n){this._throwIfDisposed();let r=this,i=new class extends e{dispose(){r._children.delete(i),super.dispose()}}(t,this._strict,this,this._enableTracing);return this._children.add(i),n?.add(i),i}invokeFunction(e,...t){this._throwIfDisposed();let n=Qf.traceInvocation(this._enableTracing,e),r=!1;try{return e({get:e=>{if(r)throw i(`service accessor is only valid during the invocation of its target method`);let t=this._getOrCreateServiceInstance(e,n);return t||this._throwIfStrict(`[invokeFunction] unknown service '${e}'`,!1),t}},...t)}finally{r=!0,n.stop()}}createInstance(e,...t){this._throwIfDisposed();let n,r;return e instanceof Hn?(n=Qf.traceCreation(this._enableTracing,e.ctor),r=this._createInstance(e.ctor,e.staticArguments.concat(t),n)):(n=Qf.traceCreation(this._enableTracing,e),r=this._createInstance(e,t,n)),n.stop(),r}_createInstance(e,t=[],n){let r=Mi.getServiceDependencies(e).sort((e,t)=>e.index-t.index),i=[];for(let t of r){let r=this._getOrCreateServiceInstance(t.id,n);r||this._throwIfStrict(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id}.`,!1),i.push(r)}let a=r.length>0?r[0].index:t.length;if(t.length!==a){console.trace(`[createInstance] First service dependency of ${e.name} at position ${a+1} conflicts with ${t.length} static arguments`);let n=a-t.length;t=n>0?t.concat(Array(n)):t.slice(0,a)}return Reflect.construct(e,t.concat(i))}_setCreatedServiceInstance(e,t){if(this._services.get(e)instanceof Hn)this._services.set(e,t);else if(this._parent)this._parent._setCreatedServiceInstance(e,t);else throw Error(`illegalState - setting UNKNOWN service instance`)}_getServiceInstanceOrDescriptor(e){let t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(e));let n=this._getServiceInstanceOrDescriptor(e);return n instanceof Hn?this._safeCreateAndCacheServiceInstance(e,n,t.branch(e,!0)):(t.branch(e,!1),n)}_safeCreateAndCacheServiceInstance(e,t,n){if(this._activeInstantiations.has(e))throw Error(`illegal state - RECURSIVELY instantiating service '${e}'`);this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,n)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,n){let r=new Jf(e=>e.id.toString()),i=0,a=[{id:e,desc:t,_trace:n}],o=new Set;for(;a.length;){let t=a.pop();if(!o.has(String(t.id))){if(o.add(String(t.id)),r.lookupOrInsertNode(t),i++>1e3)throw new Xf(r);for(let n of Mi.getServiceDependencies(t.desc.ctor)){let i=this._getServiceInstanceOrDescriptor(n.id);if(i||this._throwIfStrict(`[createInstance] ${e} depends on ${n.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(t.id),String(n.id)),i instanceof Hn){let e={id:n.id,desc:i,_trace:t._trace.branch(n.id,!0)};r.insertEdge(t,e),a.push(e)}}}}for(;;){let e=r.roots();if(e.length===0){if(!r.isEmpty())throw new Xf(r);break}for(let{data:t}of e){if(this._getServiceInstanceOrDescriptor(t.id)instanceof Hn){let e=this._createServiceInstanceWithOwner(t.id,t.desc.ctor,t.desc.staticArguments,t.desc.supportsDelayedInstantiation,t._trace);this._setCreatedServiceInstance(t.id,e)}r.removeNode(t)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,n=[],r,i){if(this._services.get(e)instanceof Hn)return this._createServiceInstance(e,t,n,r,i,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,n,r,i);throw Error(`illegalState - creating UNKNOWN service instance ${t.name}`)}_createServiceInstance(t,n,r=[],i,a,o){if(i){let i=new e(void 0,this._strict,this,this._enableTracing);i._globalGraphImplicitDependency=String(t);let s=new Map,c=new Re(()=>{let e=i._createInstance(n,r,a);for(let[t,n]of s){let r=e[t];if(typeof r==`function`)for(let t of n)t.disposable=r.apply(e,t.listener)}return s.clear(),o.add(e),e});return new Proxy(Object.create(null),{get(e,t){if(!c.isInitialized&&typeof t==`string`&&(t.startsWith(`onDid`)||t.startsWith(`onWill`))){let e=s.get(t);return e||(e=new wa,s.set(t,e)),(n,r,i)=>{if(c.isInitialized)return c.value[t](n,r,i);{let t={listener:[n,r,i],disposable:void 0},a=e.push(t);return k(()=>{a(),t.disposable?.dispose()})}}}if(t in e)return e[t];let n=c.value,r=n[t];return typeof r==`function`?(r=r.bind(n),e[t]=r,r):r},set(e,t,n){return c.value[t]=n,!0},getPrototypeOf(e){return n.prototype}})}else{let e=this._createInstance(n,r,a);return o.add(e),e}}_throwIfStrict(e,t){if(t&&console.warn(e),this._strict)throw Error(e)}},Qf=class e{static{this.all=new Set}static{this._None=new class extends e{constructor(){super(0,null)}stop(){}branch(){return this}}}static traceInvocation(t,n){return t?new e(2,n.name||Error().stack.split(`
|
|
397
|
+
`).slice(3,4).join(`
|
|
398
|
+
`)):e._None}static traceCreation(t,n){return t?new e(1,n.name):e._None}static{this._totals=0}constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}branch(t,n){let r=new e(3,t.toString());return this._dep.push([t,n,r]),r}stop(){let t=Date.now()-this._start;e._totals+=t;let n=!1;function r(e,t){let i=[],a=Array(e+1).join(` `);for(let[o,s,c]of t._dep)if(s&&c){n=!0,i.push(`${a}CREATES -> ${o}`);let t=r(e+1,c);t&&i.push(t)}else i.push(`${a}uses -> ${o}`);return i.join(`
|
|
399
|
+
`)}let i=[`${this.type===1?`CREATE`:`CALL`} ${this.name}`,`${r(1,this)}`,`DONE, took ${t.toFixed(2)}ms (grand total ${e._totals.toFixed(2)}ms)`];(t>2||n)&&e.all.add(i.join(`
|
|
400
|
+
`))}},$f={kind:0},ep={kind:1};function tp(e,t,n){return{kind:2,commandId:e,commandArgs:t,isBubble:n}}var np=class e{constructor(t,n,r){this._log=r,this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(let e of t){let t=e.command;t&&t.charAt(0)!==`-`&&this._defaultBoundCommands.set(t,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=e.handleRemovals([].concat(t,n));for(let e=0,t=this._keybindings.length;e<t;e++){let t=this._keybindings[e];if(t.chords.length===0)continue;let n=t.when?.substituteConstants();n&&n.type===0||this._addKeyPress(t.chords[0],t)}}static _isTargetedForRemoval(t,n,r){if(n){for(let e=0;e<n.length;e++)if(n[e]!==t.chords[e])return!1}if(r&&r.type!==1){if(!t.when)return!1;let n=t.when.substituteConstants(),i=r.substituteConstants();if(!e.whenIsEntirelyIncluded(n,i))return!1}return!0}static handleRemovals(e){let t=new Map;for(let n=0,r=e.length;n<r;n++){let r=e[n];if(r.command&&r.command.charAt(0)===`-`){let e=r.command.substring(1);t.has(e)?t.get(e).push(r):t.set(e,[r])}}if(t.size===0)return e;let n=[];for(let r=0,i=e.length;r<i;r++){let i=e[r];if(!i.command||i.command.length===0){n.push(i);continue}if(i.command.charAt(0)===`-`)continue;let a=t.get(i.command);if(!a||!i.isDefault){n.push(i);continue}let o=!1;for(let e of a){let t=e.when;if(this._isTargetedForRemoval(i,e.chords,t)){o=!0;break}}if(!o){n.push(i);continue}}return n}_addKeyPress(t,n){let r=this._map.get(t);if(r===void 0){this._map.set(t,[n]),this._addToLookupMap(n);return}for(let t=r.length-1;t>=0;t--){let i=r[t];if(i.command===n.command)continue;let a=!0;for(let e=1;e<i.chords.length&&e<n.chords.length;e++)if(i.chords[e]!==n.chords[e]){a=!1;break}a&&e.whenIsEntirelyIncluded(i.when,n.when)&&this._removeFromLookupMap(i)}r.push(n),this._addToLookupMap(n)}_addToLookupMap(e){if(!e.command)return;let t=this._lookupMap.get(e.command);t===void 0?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}_removeFromLookupMap(e){if(!e.command)return;let t=this._lookupMap.get(e.command);if(t!==void 0){for(let n=0,r=t.length;n<r;n++)if(t[n]===e){t.splice(n,1);return}}}static whenIsEntirelyIncluded(e,t){return!t||t.type===1?!0:!e||e.type===1?!1:Qe(e,t)}getKeybindings(){return this._keybindings}lookupPrimaryKeybinding(e,t,n=!1){let r=this._lookupMap.get(e);if(r===void 0||r.length===0)return null;if(r.length===1&&!n)return r[0];for(let e=r.length-1;e>=0;e--){let n=r[e];if(t.contextMatchesRules(n.when))return n}return n?null:r[r.length-1]}resolve(e,t,n){let r=[...t,n];this._log(`| Resolving ${r}`);let i=this._map.get(r[0]);if(i===void 0)return this._log(`\\ No keybinding entries.`),$f;let a=null;if(r.length<2)a=i;else{a=[];for(let e=0,t=i.length;e<t;e++){let t=i[e];if(r.length>t.chords.length)continue;let n=!0;for(let e=1;e<r.length;e++)if(t.chords[e]!==r[e]){n=!1;break}n&&a.push(t)}}let o=this._findCommand(e,a);return o?r.length<o.chords.length?(this._log(`\\ From ${a.length} keybinding entries, awaiting ${o.chords.length-r.length} more chord(s), when: ${rp(o.when)}, source: ${ip(o)}.`),ep):(this._log(`\\ From ${a.length} keybinding entries, matched ${o.command}, when: ${rp(o.when)}, source: ${ip(o)}.`),tp(o.command,o.commandArgs,o.bubble)):(this._log(`\\ From ${a.length} keybinding entries, no when clauses matched the context.`),$f)}_findCommand(t,n){for(let r=n.length-1;r>=0;r--){let i=n[r];if(e._contextMatchesRules(t,i.when))return i}return null}static _contextMatchesRules(e,t){return t?t.evaluate(e):!0}};function rp(e){return e?`${e.serialize()}`:`no when condition`}function ip(e){return e.extensionId?e.isBuiltinExtension?`built-in extension ${e.extensionId}`:`user extension ${e.extensionId}`:e.isDefault?`built-in`:`user`}var ap=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/,op=class extends B{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:W.None}get inChordMode(){return this._currentChords.length>0}constructor(e,t,n,r,i){super(),this._contextKeyService=e,this._commandService=t,this._telemetryService=n,this._notificationService=r,this._logService=i,this._onDidUpdateKeybindings=this._register(new F),this._currentChords=[],this._currentChordChecker=new De,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=sp.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new Vo,this._currentlyDispatchingCommandId=null,this._logging=!1}_log(e){this._logging&&this._logService.info(`[KeybindingService]: ${e}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(e,t,n=!1){let r=this._getResolver().lookupPrimaryKeybinding(e,t||this._contextKeyService,n);if(r)return r.resolvedKeybinding}dispatchEvent(e,t){return this._dispatch(e,t)}softDispatch(e,t){this._log(`/ Soft dispatching keyboard event`);let n=this.resolveKeyboardEvent(e);if(n.hasMultipleChords())return console.warn(`keyboard event should not be mapped to multiple chords`),$f;let[r]=n.getDispatchChords();if(r===null)return this._log(`\\ Keyboard event cannot be dispatched`),$f;let i=this._contextKeyService.getContext(t),a=this._currentChords.map((({keypress:e})=>e));return this._getResolver().resolve(i,a,r)}_scheduleLeaveChordMode(){let e=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}Date.now()-e>5e3&&this._leaveChordMode()},500)}_expectAnotherChord(e,t){switch(this._currentChords.push({keypress:e,label:t}),this._currentChords.length){case 0:throw i(`impossible`);case 1:this._currentChordStatusMessage=this._notificationService.status(L(1763,`({0}) was pressed. Waiting for second key of chord...`,t));break;default:{let e=this._currentChords.map(({label:e})=>e).join(`, `);this._currentChordStatusMessage=this._notificationService.status(L(1764,`({0}) was pressed. Waiting for next key of chord...`,e))}}this._scheduleLeaveChordMode(),Fr.enabled&&Fr.disable()}_leaveChordMode(){this._currentChordStatusMessage&&=(this._currentChordStatusMessage.close(),null),this._currentChordChecker.cancel(),this._currentChords=[],Fr.enable()}_dispatch(e,t){return this._doDispatch(this.resolveKeyboardEvent(e),t,!1)}_singleModifierDispatch(e,t){let n=this.resolveKeyboardEvent(e),[r]=n.getSingleModifierDispatchChords();if(r)return this._ignoreSingleModifiers.has(r)?(this._log(`+ Ignoring single modifier ${r} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=sp.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=sp.EMPTY,this._currentSingleModifier===null?(this._log(`+ Storing single modifier for possible chord ${r}.`),this._currentSingleModifier=r,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log(`+ Clearing single modifier due to 300ms elapsed.`),this._currentSingleModifier=null},300),!1):r===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${r} ${r}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(n,t,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${r}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));let[i]=n.getChords();return this._ignoreSingleModifiers=new sp(i),this._currentSingleModifier!==null&&this._log(`+ Clearing single modifier due to other key up.`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(e,t,n=!1){let r=!1;if(e.hasMultipleChords())return console.warn(`Unexpected keyboard event mapped to multiple chords`),!1;let i=null,a=null;if(n){let[t]=e.getSingleModifierDispatchChords();i=t,a=t?[t]:[]}else[i]=e.getDispatchChords(),a=this._currentChords.map(({keypress:e})=>e);if(i===null)return this._log(`\\ Keyboard event cannot be dispatched in keydown phase.`),r;let o=this._contextKeyService.getContext(t),s=e.getLabel(),c=this._getResolver().resolve(o,a,i);switch(c.kind){case 0:if(this._logService.trace(`KeybindingService#dispatch`,s,`[ No matching keybinding ]`),this.inChordMode){let e=this._currentChords.map(({label:e})=>e).join(`, `);this._log(`+ Leaving multi-chord mode: Nothing bound to "${e}, ${s}".`),this._notificationService.status(L(1765,`The key combination ({0}, {1}) is not a command.`,e,s),{hideAfter:10*1e3}),this._leaveChordMode(),r=!0}return r;case 1:return this._logService.trace(`KeybindingService#dispatch`,s,`[ Several keybindings match - more chords needed ]`),r=!0,this._expectAnotherChord(i,s),this._log(this._currentChords.length===1?`+ Entering multi-chord mode...`:`+ Continuing multi-chord mode...`),r;case 2:if(this._logService.trace(`KeybindingService#dispatch`,s,`[ Will dispatch command ${c.commandId} ]`),c.commandId===null||c.commandId===``){if(this.inChordMode){let e=this._currentChords.map(({label:e})=>e).join(`, `);this._log(`+ Leaving chord mode: Nothing bound to "${e}, ${s}".`),this._notificationService.status(L(1766,`The key combination ({0}, {1}) is not a command.`,e,s),{hideAfter:10*1e3}),this._leaveChordMode(),r=!0}}else{this.inChordMode&&this._leaveChordMode(),c.isBubble||(r=!0),this._log(`+ Invoking command ${c.commandId}.`),this._currentlyDispatchingCommandId=c.commandId;try{c.commandArgs===void 0?this._commandService.executeCommand(c.commandId).then(void 0,e=>this._notificationService.warn(e)):this._commandService.executeCommand(c.commandId,c.commandArgs).then(void 0,e=>this._notificationService.warn(e))}finally{this._currentlyDispatchingCommandId=null}ap.test(c.commandId)||this._telemetryService.publicLog2(`workbenchActionExecuted`,{id:c.commandId,from:`keybinding`,detail:e.getUserSettingsLabel()??void 0})}return r}}mightProducePrintableCharacter(e){return e.ctrlKey||e.metaKey?!1:e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30}appendKeybinding(e,t,n,r){if(t){let i=this.lookupKeybinding(t,n,r)?.getLabel();if(i)return L(1767,`{0} ({1})`,e,i)}return e}},sp=class e{static{this.EMPTY=new e(null)}constructor(e){this._ctrlKey=e?e.ctrlKey:!1,this._shiftKey=e?e.shiftKey:!1,this._altKey=e?e.altKey:!1,this._metaKey=e?e.metaKey:!1}has(e){switch(e){case`ctrl`:return this._ctrlKey;case`shift`:return this._shiftKey;case`alt`:return this._altKey;case`meta`:return this._metaKey}}},cp=class{constructor(e,t,n,r,i,a,o){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=e,this.chords=e?lp(e.getDispatchChords()):[],e&&this.chords.length===0&&(this.chords=lp(e.getSingleModifierDispatchChords())),this.bubble=t?t.charCodeAt(0)===94:!1,this.command=this.bubble?t.substr(1):t,this.commandArgs=n,this.when=r,this.isDefault=i,this.extensionId=a,this.isBuiltinExtension=o}};function lp(e){let t=[];for(let n=0,r=e.length;n<r;n++){let r=e[n];if(!r)return[];t.push(r)}return t}var up=class extends ci{constructor(e,t){if(super(),t.length===0)throw Zn(`chords`);this._os=e,this._chords=t}getLabel(){return ya.toLabel(this._os,this._chords,e=>this._getLabel(e))}getAriaLabel(){return Yc.toLabel(this._os,this._chords,e=>this._getAriaLabel(e))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:El.toLabel(this._os,this._chords,e=>this._getElectronAccelerator(e))}getUserSettingsLabel(){return hl.toLabel(this._os,this._chords,e=>this._getUserSettingsLabel(e))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map(e=>this._getChord(e))}_getChord(e){return new Hr(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))}getDispatchChords(){return this._chords.map(e=>this._getChordDispatch(e))}getSingleModifierDispatchChords(){return this._chords.map(e=>this._getSingleModifierChordDispatch(e))}},dp=class e extends up{constructor(e,t){super(t,e)}_keyCodeToUILabel(e){if(this._os===2)switch(e){case 15:return`←`;case 16:return`↑`;case 17:return`→`;case 18:return`↓`}return Ke.toString(e)}_getLabel(e){return e.isDuplicateModifierCase()?``:this._keyCodeToUILabel(e.keyCode)}_getAriaLabel(e){return e.isDuplicateModifierCase()?``:Ke.toString(e.keyCode)}_getElectronAccelerator(e){return Ke.toElectronAccelerator(e.keyCode)}_getUserSettingsLabel(e){if(e.isDuplicateModifierCase())return``;let t=Ke.toUserSettingsUS(e.keyCode);return t&&t.toLowerCase()}_getChordDispatch(t){return e.getDispatchStr(t)}static getDispatchStr(e){if(e.isModifierKey())return null;let t=``;return e.ctrlKey&&(t+=`ctrl+`),e.shiftKey&&(t+=`shift+`),e.altKey&&(t+=`alt+`),e.metaKey&&(t+=`meta+`),t+=Ke.toString(e.keyCode),t}_getSingleModifierChordDispatch(e){return e.keyCode===5&&!e.shiftKey&&!e.altKey&&!e.metaKey?`ctrl`:e.keyCode===4&&!e.ctrlKey&&!e.altKey&&!e.metaKey?`shift`:e.keyCode===6&&!e.ctrlKey&&!e.shiftKey&&!e.metaKey?`alt`:e.keyCode===57&&!e.ctrlKey&&!e.shiftKey&&!e.altKey?`meta`:null}static _scanCodeToKeyCode(e){let t=_n[e];if(t!==-1)return t;switch(e){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(e){if(!e)return null;if(e instanceof mt)return e;let t=this._scanCodeToKeyCode(e.scanCode);return t===0?null:new mt(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,t)}static resolveKeybinding(t,n){let r=lp(t.chords.map(e=>this._toKeyCodeChord(e)));return r.length>0?[new e(r,n)]:[]}},fp=class{get templateId(){return this.renderer.templateId}constructor(e,t){this.renderer=e,this.modelProvider=t}renderTemplate(e){return{data:this.renderer.renderTemplate(e),disposable:B.None}}renderElement(e,t,n,r){if(n.disposable?.dispose(),!n.data)return;let i=this.modelProvider();if(i.isResolved(e))return this.renderer.renderElement(i.get(e),e,n.data,r);let a=new sr,o=i.resolve(e,a.token);n.disposable={dispose:()=>a.cancel()},this.renderer.renderPlaceholder(e,n.data),o.then(t=>this.renderer.renderElement(t,e,n.data,r))}disposeTemplate(e){e.disposable&&=(e.disposable.dispose(),void 0),e.data&&=(this.renderer.disposeTemplate(e.data),void 0)}},pp=class{constructor(e,t){this.modelProvider=e,this.accessibilityProvider=t}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(e){let t=this.modelProvider();return t.isResolved(e)?this.accessibilityProvider.getAriaLabel(t.get(e)):null}};function mp(e,t){return{...t,accessibilityProvider:t.accessibilityProvider&&new pp(e,t.accessibilityProvider)}}var hp=class{constructor(e,t,n,r,i={}){this.modelDisposables=new N;let a=()=>this.model,o=r.map(e=>new fp(e,a));this.list=new Lr(e,t,n,o,mp(a,i))}updateOptions(e){this.list.updateOptions(e)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return W.map(this.list.onMouseDblClick,({element:e,index:t,browserEvent:n})=>({element:e===void 0?void 0:this._model.get(e),index:t,browserEvent:n}))}get onPointer(){return W.map(this.list.onPointer,({element:e,index:t,browserEvent:n})=>({element:e===void 0?void 0:this._model.get(e),index:t,browserEvent:n}))}get onDidChangeSelection(){return W.map(this.list.onDidChangeSelection,({elements:e,indexes:t,browserEvent:n})=>({elements:e.map(e=>this._model.get(e)),indexes:t,browserEvent:n}))}get model(){return this._model}set model(e){this.modelDisposables.clear(),this._model=e,this.list.splice(0,this.list.length,ga(e.length)),this.modelDisposables.add(e.onDidIncrementLength(e=>this.list.splice(this.list.length,0,ga(this.list.length,e))))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map(e=>this.model.get(e))}style(e){this.list.style(e)}dispose(){this.list.dispose(),this.modelDisposables.dispose()}},gp={separatorBorder:Ha.transparent},_p=class{set size(e){this._size=e}get size(){return this._size}get visible(){return this._cachedVisibleSize===void 0}setVisible(e,t){if(e!==this.visible){e?(this.size=Ea(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof t==`number`?t:this.size,this.size=0),this.container.classList.toggle(`visible`,e);try{this.view.setVisible?.(e)}catch(e){console.error(`Splitview: Failed to set visible view`),console.error(e)}}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){return this.view.proportionalLayout??!0}get snap(){return!!this.view.snap}set enabled(e){this.container.style.pointerEvents=e?``:`none`}constructor(e,t,n,r){this.container=e,this.view=t,this.disposable=r,this._cachedVisibleSize=void 0,typeof n==`number`?(this._size=n,this._cachedVisibleSize=void 0,e.classList.add(`visible`)):(this._size=0,this._cachedVisibleSize=n.cachedVisibleSize)}layout(e,t){this.layoutContainer(e);try{this.view.layout(this.size,e,t)}catch(e){console.error(`Splitview: Failed to layout view`),console.error(e)}}dispose(){this.disposable.dispose()}},vp=class extends _p{layoutContainer(e){this.container.style.top=`${e}px`,this.container.style.height=`${this.size}px`}},yp=class extends _p{layoutContainer(e){this.container.style.left=`${e}px`,this.container.style.width=`${this.size}px`}},bp;(function(e){e[e.Idle=0]=`Idle`,e[e.Busy=1]=`Busy`})(bp||={});var xp;(function(e){e.Distribute={type:`distribute`};function t(e){return{type:`split`,index:e}}e.Split=t;function n(e){return{type:`auto`,index:e}}e.Auto=n;function r(e){return{type:`invisible`,cachedVisibleSize:e}}e.Invisible=r})(xp||={});var Sp=class extends B{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(e){for(let t of this.sashItems)t.sash.orthogonalStartSash=e;this._orthogonalStartSash=e}set orthogonalEndSash(e){for(let t of this.sashItems)t.sash.orthogonalEndSash=e;this._orthogonalEndSash=e}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}constructor(e,t={}){super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=bp.Idle,this._onDidSashChange=this._register(new F),this._onDidSashReset=this._register(new F),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=t.orientation??0,this.inverseAltBehavior=t.inverseAltBehavior??!1,this.proportionalLayout=t.proportionalLayout??!0,this.getSashOrthogonalSize=t.getSashOrthogonalSize,this.el=document.createElement(`div`),this.el.classList.add(`monaco-split-view2`),this.el.classList.add(this.orientation===0?`vertical`:`horizontal`),e.appendChild(this.el),this.sashContainer=M(this.el,P(`.sash-container`)),this.viewContainer=P(`.split-view-container`),this.scrollable=this._register(new bl({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:e=>dt(x(this.el),e)})),this.scrollableElement=this._register(new Uc(this.viewContainer,{vertical:this.orientation===0?t.scrollbarVisibility??1:2,horizontal:this.orientation===1?t.scrollbarVisibility??1:2},this.scrollable));let n=this._register(new oo(this.viewContainer,`scroll`)).event;this._register(n(e=>{let t=this.scrollableElement.getScrollPosition(),n=Math.abs(this.viewContainer.scrollLeft-t.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,r=Math.abs(this.viewContainer.scrollTop-t.scrollTop)<=1?void 0:this.viewContainer.scrollTop;(n!==void 0||r!==void 0)&&this.scrollableElement.setScrollPosition({scrollLeft:n,scrollTop:r})})),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll(e=>{e.scrollTopChanged&&(this.viewContainer.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this.viewContainer.scrollLeft=e.scrollLeft)})),M(this.el,this.scrollableElement.getDomNode()),this.style(t.styles||gp),t.descriptor&&(this.size=t.descriptor.size,t.descriptor.views.forEach((e,t)=>{let n=Ys(e.visible)||e.visible?e.size:{type:`invisible`,cachedVisibleSize:e.size},r=e.view;this.doAddView(r,n,t,!0)}),this._contentSize=this.viewItems.reduce((e,t)=>e+t.size,0),this.saveProportions())}style(e){e.separatorBorder.isTransparent()?(this.el.classList.remove(`separator-border`),this.el.style.removeProperty(`--separator-border`)):(this.el.classList.add(`separator-border`),this.el.style.setProperty(`--separator-border`,e.separatorBorder.toString()))}addView(e,t,n=this.viewItems.length,r){this.doAddView(e,t,n,r)}layout(e,t){let n=Math.max(this.size,this._contentSize);if(this.size=e,this.layoutContext=t,this.proportions){let t=0;for(let n=0;n<this.viewItems.length;n++){let r=this.viewItems[n],i=this.proportions[n];typeof i==`number`?t+=i:e-=r.size}for(let n=0;n<this.viewItems.length;n++){let r=this.viewItems[n],i=this.proportions[n];typeof i==`number`&&t>0&&(r.size=Ea(Math.round(i*e/t),r.minimumSize,r.maximumSize))}}else{let t=ga(this.viewItems.length),r=t.filter(e=>this.viewItems[e].priority===1),i=t.filter(e=>this.viewItems[e].priority===2);this.resize(this.viewItems.length-1,e-n,void 0,r,i)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map(e=>e.proportionalLayout&&e.visible?e.size/this._contentSize:void 0))}onSashStart({sash:e,start:t,alt:n}){for(let e of this.viewItems)e.enabled=!1;let r=this.sashItems.findIndex(t=>t.sash===e),i=fs(z(this.el.ownerDocument.body,`keydown`,e=>a(this.sashDragState.current,e.altKey)),z(this.el.ownerDocument.body,`keyup`,()=>a(this.sashDragState.current,!1))),a=(e,t)=>{let n=this.viewItems.map(e=>e.size),a=-1/0,o=1/0;if(this.inverseAltBehavior&&(t=!t),t)if(r===this.sashItems.length-1){let e=this.viewItems[r];a=(e.minimumSize-e.size)/2,o=(e.maximumSize-e.size)/2}else{let e=this.viewItems[r+1];a=(e.size-e.maximumSize)/2,o=(e.size-e.minimumSize)/2}let s,c;if(!t){let e=ga(r,-1),t=ga(r+1,this.viewItems.length),i=e.reduce((e,t)=>e+(this.viewItems[t].minimumSize-n[t]),0),a=e.reduce((e,t)=>e+(this.viewItems[t].viewMaximumSize-n[t]),0),o=t.length===0?1/0:t.reduce((e,t)=>e+(n[t]-this.viewItems[t].minimumSize),0),l=t.length===0?-1/0:t.reduce((e,t)=>e+(n[t]-this.viewItems[t].viewMaximumSize),0),u=Math.max(i,l),d=Math.min(o,a),f=this.findFirstSnapIndex(e),p=this.findFirstSnapIndex(t);if(typeof f==`number`){let e=this.viewItems[f],t=Math.floor(e.viewMinimumSize/2);s={index:f,limitDelta:e.visible?u-t:u+t,size:e.size}}if(typeof p==`number`){let e=this.viewItems[p],t=Math.floor(e.viewMinimumSize/2);c={index:p,limitDelta:e.visible?d+t:d-t,size:e.size}}}this.sashDragState={start:e,current:e,index:r,sizes:n,minDelta:a,maxDelta:o,alt:t,snapBefore:s,snapAfter:c,disposable:i}};a(t,n)}onSashChange({current:e}){let{index:t,start:n,sizes:r,alt:i,minDelta:a,maxDelta:o,snapBefore:s,snapAfter:c}=this.sashDragState;this.sashDragState.current=e;let l=e-n,u=this.resize(t,l,r,void 0,void 0,a,o,s,c);if(i){let e=t===this.sashItems.length-1,n=this.viewItems.map(e=>e.size),r=e?t:t+1,i=this.viewItems[r],a=i.size-i.maximumSize,o=i.size-i.minimumSize,s=e?t-1:t+1;this.resize(s,-u,n,void 0,void 0,a,o)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions();for(let e of this.viewItems)e.enabled=!0}onViewChange(e,t){let n=this.viewItems.indexOf(e);n<0||n>=this.viewItems.length||(t=typeof t==`number`?t:e.size,t=Ea(t,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&n>0?(this.resize(n-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([n],void 0)))}resizeView(e,t){if(!(e<0||e>=this.viewItems.length)){if(this.state!==bp.Idle)throw Error(`Cant modify splitview`);this.state=bp.Busy;try{let n=ga(this.viewItems.length).filter(t=>t!==e),r=[...n.filter(e=>this.viewItems[e].priority===1),e],i=n.filter(e=>this.viewItems[e].priority===2),a=this.viewItems[e];t=Math.round(t),t=Ea(t,a.minimumSize,Math.min(a.maximumSize,this.size)),a.size=t,this.relayout(r,i)}finally{this.state=bp.Idle}}}distributeViewSizes(){let e=[],t=0;for(let n of this.viewItems)n.maximumSize-n.minimumSize>0&&(e.push(n),t+=n.size);let n=Math.floor(t/e.length);for(let t of e)t.size=Ea(n,t.minimumSize,t.maximumSize);let r=ga(this.viewItems.length),i=r.filter(e=>this.viewItems[e].priority===1),a=r.filter(e=>this.viewItems[e].priority===2);this.relayout(i,a)}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}doAddView(e,t,n=this.viewItems.length,r){if(this.state!==bp.Idle)throw Error(`Cant modify splitview`);this.state=bp.Busy;try{let i=P(`.split-view-view`);n===this.viewItems.length?this.viewContainer.appendChild(i):this.viewContainer.insertBefore(i,this.viewContainer.children.item(n));let a=fs(e.onDidChange(e=>this.onViewChange(s,e)),k(()=>i.remove())),o;typeof t==`number`?o=t:(t.type===`auto`&&(t=this.areViewsDistributed()?{type:`distribute`}:{type:`split`,index:t.index}),o=t.type===`split`?this.getViewSize(t.index)/2:t.type===`invisible`?{cachedVisibleSize:t.cachedVisibleSize}:e.minimumSize);let s=this.orientation===0?new vp(i,e,o,a):new yp(i,e,o,a);if(this.viewItems.splice(n,0,s),this.viewItems.length>1){let e={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},t=this.orientation===0?new Fi(this.sashContainer,{getHorizontalSashTop:e=>this.getSashPosition(e),getHorizontalSashWidth:this.getSashOrthogonalSize},{...e,orientation:1}):new Fi(this.sashContainer,{getVerticalSashLeft:e=>this.getSashPosition(e),getVerticalSashHeight:this.getSashOrthogonalSize},{...e,orientation:0}),r=this.orientation===0?e=>({sash:t,start:e.startY,current:e.currentY,alt:e.altKey}):e=>({sash:t,start:e.startX,current:e.currentX,alt:e.altKey}),i={sash:t,disposable:fs(W.map(t.onDidStart,r)(this.onSashStart,this),W.map(t.onDidChange,r)(this.onSashChange,this),W.map(t.onDidEnd,()=>this.sashItems.findIndex(e=>e.sash===t))(this.onSashEnd,this),t.onDidReset(()=>{let e=this.sashItems.findIndex(e=>e.sash===t),n=ga(e,-1),r=ga(e+1,this.viewItems.length),i=this.findFirstSnapIndex(n),a=this.findFirstSnapIndex(r);typeof i==`number`&&!this.viewItems[i].visible||typeof a==`number`&&!this.viewItems[a].visible||this._onDidSashReset.fire(e)}),t)};this.sashItems.splice(n-1,0,i)}i.appendChild(e.element);let c;typeof t!=`number`&&t.type===`split`&&(c=[t.index]),r||this.relayout([n],c),!r&&typeof t!=`number`&&t.type===`distribute`&&this.distributeViewSizes()}finally{this.state=bp.Idle}}relayout(e,t){let n=this.viewItems.reduce((e,t)=>e+t.size,0);this.resize(this.viewItems.length-1,this.size-n,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(e,t,n=this.viewItems.map(e=>e.size),r,i,a=-1/0,o=1/0,s,c){if(e<0||e>=this.viewItems.length)return 0;let l=ga(e,-1),u=ga(e+1,this.viewItems.length);if(i)for(let e of i)Kc(l,e),Kc(u,e);if(r)for(let e of r)Xi(l,e),Xi(u,e);let d=l.map(e=>this.viewItems[e]),f=l.map(e=>n[e]),p=u.map(e=>this.viewItems[e]),m=u.map(e=>n[e]),h=l.reduce((e,t)=>e+(this.viewItems[t].minimumSize-n[t]),0),g=l.reduce((e,t)=>e+(this.viewItems[t].maximumSize-n[t]),0),_=u.length===0?1/0:u.reduce((e,t)=>e+(n[t]-this.viewItems[t].minimumSize),0),v=u.length===0?-1/0:u.reduce((e,t)=>e+(n[t]-this.viewItems[t].maximumSize),0),y=Math.max(h,v,a),ee=Math.min(_,g,o),b=!1;if(s){let e=this.viewItems[s.index],n=t>=s.limitDelta;b=n!==e.visible,e.setVisible(n,s.size)}if(!b&&c){let e=this.viewItems[c.index],n=t<c.limitDelta;b=n!==e.visible,e.setVisible(n,c.size)}if(b)return this.resize(e,t,n,r,i,a,o);t=Ea(t,y,ee);for(let e=0,n=t;e<d.length;e++){let t=d[e],r=Ea(f[e]+n,t.minimumSize,t.maximumSize),i=r-f[e];n-=i,t.size=r}for(let e=0,n=t;e<p.length;e++){let t=p[e],r=Ea(m[e]-n,t.minimumSize,t.maximumSize),i=r-m[e];n+=i,t.size=r}return t}distributeEmptySpace(e){let t=this.viewItems.reduce((e,t)=>e+t.size,0),n=this.size-t,r=ga(this.viewItems.length-1,-1),i=r.filter(e=>this.viewItems[e].priority===1),a=r.filter(e=>this.viewItems[e].priority===2);for(let e of a)Kc(r,e);for(let e of i)Xi(r,e);typeof e==`number`&&Xi(r,e);for(let e=0;n!==0&&e<r.length;e++){let t=this.viewItems[r[e]],i=Ea(t.size+n,t.minimumSize,t.maximumSize),a=i-t.size;n-=a,t.size=i}}layoutViews(){this._contentSize=this.viewItems.reduce((e,t)=>e+t.size,0);let e=0;for(let t of this.viewItems)t.layout(e,this.layoutContext),e+=t.size;this.sashItems.forEach(e=>e.sash.layout()),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){this.orientation===0?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this._contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let e=!1,t=this.viewItems.map(t=>e=t.size-t.minimumSize>0||e);e=!1;let n=this.viewItems.map(t=>e=t.maximumSize-t.size>0||e),r=[...this.viewItems].reverse();e=!1;let i=r.map(t=>e=t.size-t.minimumSize>0||e).reverse();e=!1;let a=r.map(t=>e=t.maximumSize-t.size>0||e).reverse(),o=0;for(let e=0;e<this.sashItems.length;e++){let{sash:r}=this.sashItems[e],s=this.viewItems[e];o+=s.size;let c=!(t[e]&&a[e+1]),l=!(n[e]&&i[e+1]);if(c&&l){let n=ga(e,-1),a=ga(e+1,this.viewItems.length),s=this.findFirstSnapIndex(n),c=this.findFirstSnapIndex(a),l=typeof s==`number`&&!this.viewItems[s].visible,u=typeof c==`number`&&!this.viewItems[c].visible;l&&i[e]&&(o>0||this.startSnappingEnabled)?r.state=1:u&&t[e]&&(o<this._contentSize||this.endSnappingEnabled)?r.state=2:r.state=0}else c&&!l?r.state=1:!c&&l?r.state=2:r.state=3}}getSashPosition(e){let t=0;for(let n=0;n<this.sashItems.length;n++)if(t+=this.viewItems[n].size,this.sashItems[n].sash===e)return t;return 0}findFirstSnapIndex(e){for(let t of e){let e=this.viewItems[t];if(e.visible&&e.snap)return t}for(let t of e){let e=this.viewItems[t];if(e.visible&&e.maximumSize-e.minimumSize>0)return;if(!e.visible&&e.snap)return t}}areViewsDistributed(){let e,t;for(let n of this.viewItems)if(e=e===void 0?n.size:Math.min(e,n.size),t=t===void 0?n.size:Math.max(t,n.size),t-e>2)return!1;return!0}dispose(){this.sashDragState?.disposable.dispose(),yo(this.viewItems),this.viewItems=[],this.sashItems.forEach(e=>e.disposable.dispose()),this.sashItems=[],super.dispose()}},Cp=class e{static{this.TemplateId=`row`}constructor(t,n,r){this.columns=t,this.getColumnSize=r,this.templateId=e.TemplateId,this.renderedTemplates=new Set;let i=new Map(n.map(e=>[e.templateId,e]));this.renderers=[];for(let e of t){let t=i.get(e.templateId);if(!t)throw Error(`Table cell renderer for template id ${e.templateId} not found.`);this.renderers.push(t)}}renderTemplate(e){let t=M(e,P(`.monaco-table-tr`)),n=[],r=[];for(let e=0;e<this.columns.length;e++){let i=this.renderers[e],a=M(t,P(`.monaco-table-td`,{"data-col-index":e}));a.style.width=`${this.getColumnSize(e)}px`,n.push(a),r.push(i.renderTemplate(a))}let i={container:e,cellContainers:n,cellTemplateData:r};return this.renderedTemplates.add(i),i}renderElement(e,t,n,r){for(let i=0;i<this.columns.length;i++){let a=this.columns[i].project(e);this.renderers[i].renderElement(a,t,n.cellTemplateData[i],r)}}disposeElement(e,t,n,r){for(let i=0;i<this.columns.length;i++){let a=this.renderers[i];if(a.disposeElement){let o=this.columns[i].project(e);a.disposeElement(o,t,n.cellTemplateData[i],r)}}}disposeTemplate(e){for(let t=0;t<this.columns.length;t++)this.renderers[t].disposeTemplate(e.cellTemplateData[t]);Ka(e.container),this.renderedTemplates.delete(e)}layoutColumn(e,t){for(let{cellContainers:n}of this.renderedTemplates)n[e].style.width=`${t}px`}};function wp(e){return{getHeight(t){return e.getHeight(t)},getTemplateId(){return Cp.TemplateId}}}var Tp=class extends B{get minimumSize(){return this.column.minimumWidth??120}get maximumSize(){return this.column.maximumWidth??1/0}get onDidChange(){return this.column.onDidChangeWidthConstraints??W.None}constructor(e,t){super(),this.column=e,this.index=t,this._onDidLayout=this._register(new F),this.onDidLayout=this._onDidLayout.event,this.element=P(`.monaco-table-th`,{"data-col-index":t},e.label),e.tooltip&&this._register(Ll().setupManagedHover(_t(`mouse`),this.element,e.tooltip))}layout(e){this._onDidLayout.fire([this.index,e])}},Ep=class e{static{this.InstanceCount=0}get onDidChangeFocus(){return this.list.onDidChangeFocus}get onDidChangeSelection(){return this.list.onDidChangeSelection}get onDidScroll(){return this.list.onDidScroll}get onMouseDblClick(){return this.list.onMouseDblClick}get onPointer(){return this.list.onPointer}get onDidFocus(){return this.list.onDidFocus}get scrollTop(){return this.list.scrollTop}set scrollTop(e){this.list.scrollTop=e}get scrollHeight(){return this.list.scrollHeight}get renderHeight(){return this.list.renderHeight}get onDidDispose(){return this.list.onDidDispose}constructor(t,n,r,i,a,o){this.virtualDelegate=r,this.columns=i,this.domId=`table_id_${++e.InstanceCount}`,this.disposables=new N,this.cachedWidth=0,this.cachedHeight=0,this.domNode=M(n,P(`.monaco-table.${this.domId}`));let s=i.map((e,t)=>this.disposables.add(new Tp(e,t))),c={size:s.reduce((e,t)=>e+t.column.weight,0),views:s.map(e=>({size:e.column.weight,view:e}))};this.splitview=this.disposables.add(new Sp(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:c})),this.splitview.el.style.height=`${r.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${r.headerRowHeight}px`;let l=new Cp(i,a,e=>this.splitview.getViewSize(e));this.list=this.disposables.add(new Lr(t,this.domNode,wp(r),[l],o)),W.any(...s.map(e=>e.onDidLayout))(([e,t])=>l.layoutColumn(e,t),null,this.disposables),this.splitview.onDidSashReset(e=>{let t=i.reduce((e,t)=>e+t.weight,0),n=i[e].weight/t*this.cachedWidth;this.splitview.resizeView(e,n)},null,this.disposables),this.styleElement=Fe(this.domNode),this.style(Dt)}updateOptions(e){this.list.updateOptions(e)}splice(e,t,n=[]){this.list.splice(e,t,n)}getHTMLElement(){return this.domNode}style(e){let t=[];t.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {
|
|
401
|
+
top: ${this.virtualDelegate.headerRowHeight+1}px;
|
|
402
|
+
height: calc(100% - ${this.virtualDelegate.headerRowHeight}px);
|
|
403
|
+
}`),this.styleElement.textContent=t.join(`
|
|
404
|
+
`),this.list.style(e)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}},Dp;(function(e){e[e.Expanded=0]=`Expanded`,e[e.Collapsed=1]=`Collapsed`,e[e.PreserveOrExpanded=2]=`PreserveOrExpanded`,e[e.PreserveOrCollapsed=3]=`PreserveOrCollapsed`})(Dp||={});var Op;(function(e){e[e.Unknown=0]=`Unknown`,e[e.Twistie=1]=`Twistie`,e[e.Element=2]=`Element`,e[e.Filter=3]=`Filter`})(Op||={});var kp=class extends Error{constructor(e,t){super(`TreeError [${e}] ${t}`)}},Ap=class{constructor(e){this.fn=e,this._map=new WeakMap}map(e){let t=this._map.get(e);return t||(t=this.fn(e),this._map.set(e,t)),t}};function jp(e){return!!e&&e.visibility!==void 0}function Mp(e){switch(e){case!0:return 1;case!1:return 0;default:return e}}function Np(e){return`collapsible`in e}var Pp=class{constructor(e,t,n={}){this.user=e,this.rootRef=[],this.eventBufferer=new xs,this._onDidSpliceModel=new F,this.onDidSpliceModel=this._onDidSpliceModel.event,this._onDidSpliceRenderedNodes=new F,this.onDidSpliceRenderedNodes=this._onDidSpliceRenderedNodes.event,this._onDidChangeCollapseState=new F,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new F,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this.refilterDelayer=new Mr(Ml),this.collapseByDefault=n.collapseByDefault===void 0?!1:n.collapseByDefault,this.allowNonCollapsibleParents=n.allowNonCollapsibleParents??!1,this.filter=n.filter,this.autoExpandSingleChildren=n.autoExpandSingleChildren===void 0?!1:n.autoExpandSingleChildren,this.root={parent:void 0,element:t,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(e,t,n=G.empty(),r={}){if(e.length===0)throw new kp(this.user,`Invalid tree location`);r.diffIdentityProvider?this.spliceSmart(r.diffIdentityProvider,e,t,n,r):this.spliceSimple(e,t,n,r)}spliceSmart(e,t,n,r=G.empty(),i,a=i.diffDepth??0){let{parentNode:o}=this.getParentNodeWithListIndex(t);if(!o.lastDiffIds)return this.spliceSimple(t,n,r,i);let s=[...r],c=t[t.length-1],l=new tl({getElements:()=>o.lastDiffIds},{getElements:()=>[...o.children.slice(0,c),...s,...o.children.slice(c+n)].map(t=>e.getId(t.element).toString())}).ComputeDiff(!1);if(l.quitEarly)return o.lastDiffIds=void 0,this.spliceSimple(t,n,s,i);let u=t.slice(0,-1),d=(t,n,r)=>{if(a>0)for(let o=0;o<r;o++)t--,n--,this.spliceSmart(e,[...u,t,0],2**53-1,s[n].children,i,a-1)},f=Math.min(o.children.length,c+n),p=s.length;for(let e of l.changes.sort((e,t)=>t.originalStart-e.originalStart))d(f,p,f-(e.originalStart+e.originalLength)),f=e.originalStart,p=e.modifiedStart-c,this.spliceSimple([...u,f],e.originalLength,G.slice(s,p,p+e.modifiedLength),i);d(f,p,f)}spliceSimple(e,t,n=G.empty(),{onDidCreateNode:r,onDidDeleteNode:i,diffIdentityProvider:a}){let{parentNode:o,listIndex:s,revealed:c,visible:l}=this.getParentNodeWithListIndex(e),u=[],d=G.map(n,e=>this.createTreeNode(e,o,+!!o.visible,c,u,r)),f=e[e.length-1],p=0;for(let e=f;e>=0&&e<o.children.length;e--){let t=o.children[e];if(t.visible){p=t.visibleChildIndex;break}}let m=[],h=0,g=0;for(let e of d)m.push(e),g+=e.renderNodeCount,e.visible&&(e.visibleChildIndex=p+h++);let _=wr(o.children,f,t,m);a?o.lastDiffIds?wr(o.lastDiffIds,f,t,m.map(e=>a.getId(e.element).toString())):o.lastDiffIds=o.children.map(e=>a.getId(e.element).toString()):o.lastDiffIds=void 0;let v=0;for(let e of _)e.visible&&v++;if(v!==0)for(let e=f+m.length;e<o.children.length;e++){let t=o.children[e];t.visible&&(t.visibleChildIndex-=v)}if(o.visibleChildrenCount+=h-v,_.length>0&&i){let e=t=>{i(t),t.children.forEach(e)};_.forEach(e)}if(c&&l){let e=_.reduce((e,t)=>e+(t.visible?t.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(o,g-e),this._onDidSpliceRenderedNodes.fire({start:s,deleteCount:e,elements:u})}this._onDidSpliceModel.fire({insertedNodes:m,deletedNodes:_});let y=o;for(;y;){if(y.visibility===2){this.refilterDelayer.trigger(()=>this.refilter());break}y=y.parent}}rerender(e){if(e.length===0)throw new kp(this.user,`Invalid tree location`);let{node:t,listIndex:n,revealed:r}=this.getTreeNodeWithListIndex(e);t.visible&&r&&this._onDidSpliceRenderedNodes.fire({start:n,deleteCount:1,elements:[t]})}has(e){return this.hasTreeNode(e)}getListIndex(e){let{listIndex:t,visible:n,revealed:r}=this.getTreeNodeWithListIndex(e);return n&&r?t:-1}getListRenderCount(e){return this.getTreeNode(e).renderNodeCount}isCollapsible(e){return this.getTreeNode(e).collapsible}setCollapsible(e,t){let n=this.getTreeNode(e);t===void 0&&(t=!n.collapsible);let r={collapsible:t};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,r))}isCollapsed(e){return this.getTreeNode(e).collapsed}setCollapsed(e,t,n){let r=this.getTreeNode(e);t===void 0&&(t=!r.collapsed);let i={collapsed:t,recursive:n||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,i))}_setCollapseState(e,t){let{node:n,listIndex:r,revealed:i}=this.getTreeNodeWithListIndex(e),a=this._setListNodeCollapseState(n,r,i,t);if(n!==this.root&&this.autoExpandSingleChildren&&a&&!Np(t)&&n.collapsible&&!n.collapsed&&!t.recursive){let r=-1;for(let e=0;e<n.children.length;e++)if(n.children[e].visible)if(r>-1){r=-1;break}else r=e;r>-1&&this._setCollapseState([...e,r],t)}return a}_setListNodeCollapseState(e,t,n,r){let i=this._setNodeCollapseState(e,r,!1);if(!n||!e.visible||!i)return i;let a=e.renderNodeCount,o=this.updateNodeAfterCollapseChange(e),s=a-(t===-1?0:1);return this._onDidSpliceRenderedNodes.fire({start:t+1,deleteCount:s,elements:o.slice(1)}),i}_setNodeCollapseState(e,t,n){let r;if(e===this.root?r=!1:(Np(t)?(r=e.collapsible!==t.collapsible,e.collapsible=t.collapsible):e.collapsible?(r=e.collapsed!==t.collapsed,e.collapsed=t.collapsed):r=!1,r&&this._onDidChangeCollapseState.fire({node:e,deep:n})),!Np(t)&&t.recursive)for(let n of e.children)r=this._setNodeCollapseState(n,t,!0)||r;return r}expandTo(e){this.eventBufferer.bufferEvents(()=>{let t=this.getTreeNode(e);for(;t.parent;)t=t.parent,e=e.slice(0,e.length-1),t.collapsed&&this._setCollapseState(e,{collapsed:!1,recursive:!1})})}refilter(){let e=this.root.renderNodeCount,t=this.updateNodeAfterFilterChange(this.root);this._onDidSpliceRenderedNodes.fire({start:0,deleteCount:e,elements:t}),this.refilterDelayer.cancel()}createTreeNode(e,t,n,r,i,a){let o={parent:t,element:e.element,children:[],depth:t.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof e.collapsible==`boolean`?e.collapsible:e.collapsed!==void 0,collapsed:e.collapsed===void 0?this.collapseByDefault:e.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},s=this._filterNode(o,n);o.visibility=s,r&&i.push(o);let c=e.children||G.empty(),l=r&&s!==0&&!o.collapsed,u=0,d=1;for(let e of c){let t=this.createTreeNode(e,o,s,l,i,a);o.children.push(t),d+=t.renderNodeCount,t.visible&&(t.visibleChildIndex=u++)}return this.allowNonCollapsibleParents||(o.collapsible=o.collapsible||o.children.length>0),o.visibleChildrenCount=u,o.visible=s===2?u>0:s===1,o.visible?o.collapsed||(o.renderNodeCount=d):(o.renderNodeCount=0,r&&i.pop()),a?.(o),o}updateNodeAfterCollapseChange(e){let t=e.renderNodeCount,n=[];return this._updateNodeAfterCollapseChange(e,n),this._updateAncestorsRenderNodeCount(e.parent,n.length-t),n}_updateNodeAfterCollapseChange(e,t){if(e.visible===!1)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(let n of e.children)e.renderNodeCount+=this._updateNodeAfterCollapseChange(n,t);return this._onDidChangeRenderNodeCount.fire(e),e.renderNodeCount}updateNodeAfterFilterChange(e){let t=e.renderNodeCount,n=[];return this._updateNodeAfterFilterChange(e,+!!e.visible,n),this._updateAncestorsRenderNodeCount(e.parent,n.length-t),n}_updateNodeAfterFilterChange(e,t,n,r=!0){let i;if(e!==this.root){if(i=this._filterNode(e,t),i===0)return e.visible=!1,e.renderNodeCount=0,!1;r&&n.push(e)}let a=n.length;e.renderNodeCount=e===this.root?0:1;let o=!1;if(!e.collapsed||i!==0){let t=0;for(let a of e.children)o=this._updateNodeAfterFilterChange(a,i,n,r&&!e.collapsed)||o,a.visible&&(a.visibleChildIndex=t++);e.visibleChildrenCount=t}else e.visibleChildrenCount=0;return e!==this.root&&(e.visible=i===2?o:i===1,e.visibility=i),e.visible?e.collapsed||(e.renderNodeCount+=n.length-a):(e.renderNodeCount=0,r&&n.pop()),this._onDidChangeRenderNodeCount.fire(e),e.visible}_updateAncestorsRenderNodeCount(e,t){if(t!==0)for(;e;)e.renderNodeCount+=t,this._onDidChangeRenderNodeCount.fire(e),e=e.parent}_filterNode(e,t){let n=this.filter?this.filter.filter(e.element,t):1;return typeof n==`boolean`?(e.filterData=void 0,+!!n):jp(n)?(e.filterData=n.data,Mp(n.visibility)):(e.filterData=void 0,Mp(n))}hasTreeNode(e,t=this.root){if(!e||e.length===0)return!0;let[n,...r]=e;return n<0||n>t.children.length?!1:this.hasTreeNode(r,t.children[n])}getTreeNode(e,t=this.root){if(!e||e.length===0)return t;let[n,...r]=e;if(n<0||n>t.children.length)throw new kp(this.user,`Invalid tree location`);return this.getTreeNode(r,t.children[n])}getTreeNodeWithListIndex(e){if(e.length===0)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};let{parentNode:t,listIndex:n,revealed:r,visible:i}=this.getParentNodeWithListIndex(e),a=e[e.length-1];if(a<0||a>t.children.length)throw new kp(this.user,`Invalid tree location`);let o=t.children[a];return{node:o,listIndex:n,revealed:r,visible:i&&o.visible}}getParentNodeWithListIndex(e,t=this.root,n=0,r=!0,i=!0){let[a,...o]=e;if(a<0||a>t.children.length)throw new kp(this.user,`Invalid tree location`);for(let e=0;e<a;e++)n+=t.children[e].renderNodeCount;return r&&=!t.collapsed,i&&=t.visible,o.length===0?{parentNode:t,listIndex:n,revealed:r,visible:i}:this.getParentNodeWithListIndex(o,t.children[a],n+1,r,i)}getNode(e=[]){return this.getTreeNode(e)}getNodeLocation(e){let t=[],n=e;for(;n.parent;)t.push(n.parent.children.indexOf(n)),n=n.parent;return t.reverse()}getParentNodeLocation(e){if(e.length!==0)return e.length===1?[]:ve(e)[0]}getFirstElementChild(e){let t=this.getTreeNode(e);if(t.children.length!==0)return t.children[0].element}},Fp=class extends mr{constructor(e){super(e.elements.map(e=>e.element)),this.data=e}};function Ip(e){return e instanceof mr?new Fp(e):e}var Lp=class{constructor(e,t){this.modelProvider=e,this.dnd=t,this.autoExpandDisposable=B.None,this.disposables=new N}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(e=>e.element),t)}onDragStart(e,t){this.dnd.onDragStart?.(Ip(e),t)}onDragOver(e,t,n,r,i,a=!0){let o=this.dnd.onDragOver(Ip(e),t&&t.element,n,r,i),s=this.autoExpandNode!==t;if(s&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=t),t===void 0)return o;if(s&&typeof o!=`boolean`&&o.autoExpand&&(this.autoExpandDisposable=bn(()=>{let e=this.modelProvider(),n=e.getNodeLocation(t);e.isCollapsed(n)&&e.setCollapsed(n,!1),this.autoExpandNode=void 0},500,this.disposables)),typeof o==`boolean`||!o.accept||o.bubble===void 0||o.feedback)return a?o:{accept:typeof o==`boolean`?o:o.accept,effect:typeof o==`boolean`?void 0:o.effect,feedback:[n]};if(o.bubble===1){let n=this.modelProvider(),a=n.getNodeLocation(t),o=n.getParentNodeLocation(a),s=n.getNode(o),c=o&&n.getListIndex(o);return this.onDragOver(e,s,c,r,i,!1)}let c=this.modelProvider(),l=c.getNodeLocation(t),u=c.getListIndex(l),d=c.getListRenderCount(l);return{...o,feedback:ga(u,u+d)}}drop(e,t,n,r,i){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(Ip(e),t&&t.element,n,r,i)}onDragEnd(e){this.dnd.onDragEnd?.(e)}dispose(){this.disposables.dispose(),this.dnd.dispose()}};function Rp(e,t,n){return n&&{...n,identityProvider:n.identityProvider&&{getId(e){return n.identityProvider.getId(e.element)},getGroupId:n.identityProvider.getGroupId?e=>n.identityProvider.getGroupId(e.element):void 0},dnd:n.dnd&&t.add(new Lp(e,n.dnd)),multipleSelectionController:n.multipleSelectionController&&{isSelectionSingleChangeEvent(e){return n.multipleSelectionController.isSelectionSingleChangeEvent({...e,element:e.element})},isSelectionRangeChangeEvent(e){return n.multipleSelectionController.isSelectionRangeChangeEvent({...e,element:e.element})}},accessibilityProvider:n.accessibilityProvider&&{...n.accessibilityProvider,getSetSize(t){let n=e(),r=n.getNodeLocation(t),i=n.getParentNodeLocation(r);return n.getNode(i).visibleChildrenCount},getPosInSet(e){return e.visibleChildIndex+1},isChecked:n.accessibilityProvider&&n.accessibilityProvider.isChecked?e=>n.accessibilityProvider.isChecked(e.element):void 0,getRole:n.accessibilityProvider&&n.accessibilityProvider.getRole?e=>n.accessibilityProvider.getRole(e.element):()=>`treeitem`,getAriaLabel(e){return n.accessibilityProvider.getAriaLabel(e.element)},getWidgetAriaLabel(){return n.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:n.accessibilityProvider&&n.accessibilityProvider.getWidgetRole?()=>n.accessibilityProvider.getWidgetRole():()=>`tree`,getAriaLevel:n.accessibilityProvider&&n.accessibilityProvider.getAriaLevel?e=>n.accessibilityProvider.getAriaLevel(e.element):e=>e.depth,getActiveDescendantId:n.accessibilityProvider.getActiveDescendantId&&(e=>n.accessibilityProvider.getActiveDescendantId(e.element))},keyboardNavigationLabelProvider:n.keyboardNavigationLabelProvider&&{...n.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(e){return n.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}}}}var zp=class{constructor(e){this.delegate=e}getHeight(e){return this.delegate.getHeight(e.element)}getTemplateId(e){return this.delegate.getTemplateId(e.element)}hasDynamicHeight(e){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(e.element)}setDynamicHeight(e,t){this.delegate.setDynamicHeight?.(e.element,t)}},Bp;(function(e){e.None=`none`,e.OnHover=`onHover`,e.Always=`always`})(Bp||={});var Vp=class{get elements(){return this._elements}constructor(e,t=[]){this._elements=t,this.disposables=new N,this.onDidChange=W.forEach(e,e=>this._elements=e,this.disposables)}dispose(){this.disposables.dispose()}},Hp=class e{static{this.DefaultIndent=8}constructor(t,n,r,i,a,o={}){this.renderer=t,this.model=n,this.activeNodes=i,this.renderedIndentGuides=a,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=e.DefaultIndent,this.defaultIndent=e.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=B.None,this.disposables=new N,this.templateId=t.templateId,this.updateOptions(o),W.map(r,e=>e.node)(this.onDidChangeNodeTwistieState,this,this.disposables),t.onDidChangeTwistieState?.(this.onDidChangeTwistieState,this,this.disposables)}updateOptions(e={}){if(e.defaultIndent!==void 0&&(this.defaultIndent=e.defaultIndent),e.indent!==void 0||e.defaultIndent!==void 0){let t=e.indent===void 0?this.indent:Ea(e.indent,0,40);if(t!==this.indent||e.defaultIndent!==void 0){this.indent=t;for(let[e,t]of this.renderedNodes)t.indentSize=this.defaultIndent+(e.depth-1)*this.indent,this.renderTreeElement(e,t)}}if(e.renderIndentGuides!==void 0){let t=e.renderIndentGuides!==Bp.None;if(t!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=t;for(let[e,t]of this.renderedNodes)this._renderIndentGuides(e,t);if(this.indentGuidesDisposable.dispose(),t){let e=new N;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,e),this.indentGuidesDisposable=e,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}e.hideTwistiesOfChildlessElements!==void 0&&(this.hideTwistiesOfChildlessElements=e.hideTwistiesOfChildlessElements),e.twistieAdditionalCssClass!==void 0&&(this.twistieAdditionalCssClass=e.twistieAdditionalCssClass)}renderTemplate(e){let t=M(e,P(`.monaco-tl-row`)),n=M(t,P(`.monaco-tl-indent`)),r=M(t,P(`.monaco-tl-twistie`)),i=M(t,P(`.monaco-tl-contents`)),a=this.renderer.renderTemplate(i);return{container:e,indent:n,twistie:r,indentGuidesDisposable:B.None,indentSize:0,templateData:a}}renderElement(e,t,n,r){n.indentSize=this.defaultIndent+(e.depth-1)*this.indent,this.renderedNodes.set(e,n),this.renderedElements.set(e.element,e),this.renderTreeElement(e,n),this.renderer.renderElement(e,t,n.templateData,{...r,indent:n.indentSize})}disposeElement(e,t,n,r){n.indentGuidesDisposable.dispose(),this.renderer.disposeElement?.(e,t,n.templateData,{...r,indent:n.indentSize}),typeof r?.height==`number`&&(this.renderedNodes.delete(e),this.renderedElements.delete(e.element))}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}onDidChangeTwistieState(e){let t=this.renderedElements.get(e);t&&this.onDidChangeNodeTwistieState(t)}onDidChangeNodeTwistieState(e){let t=this.renderedNodes.get(e);t&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(e,t))}renderTreeElement(e,t){t.twistie.className=t.twistie.classList.item(0),t.twistie.style.paddingLeft=`${t.indentSize}px`,t.indent.style.width=`${t.indentSize+this.indent-16}px`,e.collapsible?t.container.setAttribute(`aria-expanded`,String(!e.collapsed)):t.container.removeAttribute(`aria-expanded`),t.twistie.classList.remove(...pr.asClassNameArray(q.treeItemExpanded));let n=!1;if(this.renderer.renderTwistie&&(n=this.renderer.renderTwistie(e.element,t.twistie)),e.collapsible&&(!this.hideTwistiesOfChildlessElements||e.visibleChildrenCount>0)?(n||t.twistie.classList.add(...pr.asClassNameArray(q.treeItemExpanded)),t.twistie.classList.add(`collapsible`),t.twistie.classList.toggle(`collapsed`,e.collapsed)):t.twistie.classList.remove(`collapsible`,`collapsed`),this.twistieAdditionalCssClass){let n=this.twistieAdditionalCssClass(e.element);n&&t.twistie.classList.add(n)}this._renderIndentGuides(e,t)}_renderIndentGuides(e,t){if(Ka(t.indent),t.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;let n=new N;for(;;){let r=this.model.getNodeLocation(e),i=this.model.getParentNodeLocation(r);if(!i)break;let a=this.model.getNode(i),o=P(`.indent-guide`,{style:`width: ${this.indent}px`});this.activeIndentNodes.has(a)&&o.classList.add(`active`),t.indent.childElementCount===0?t.indent.appendChild(o):t.indent.insertBefore(o,t.indent.firstElementChild),this.renderedIndentGuides.add(a,o),n.add(k(()=>this.renderedIndentGuides.delete(a,o))),e=a}t.indentGuidesDisposable=n}_onDidChangeActiveNodes(e){if(!this.shouldRenderIndentGuides)return;let t=new Set;e.forEach(e=>{let n=this.model.getNodeLocation(e);try{let r=this.model.getParentNodeLocation(n);e.collapsible&&e.children.length>0&&!e.collapsed?t.add(e):r&&t.add(this.model.getNode(r))}catch{}}),this.activeIndentNodes.forEach(e=>{t.has(e)||this.renderedIndentGuides.forEach(e,e=>e.classList.remove(`active`))}),t.forEach(e=>{this.activeIndentNodes.has(e)||this.renderedIndentGuides.forEach(e,e=>e.classList.add(`active`))}),this.activeIndentNodes=t}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),yo(this.disposables)}};function Up(e,t){let n=t.toLowerCase().indexOf(e),r;if(n>-1){r=[2**53-1,0];for(let t=e.length;t>0;t--)r.push(n+t-1)}return r}var Wp=class{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}set findMatchType(e){this._findMatchType=e}get findMatchType(){return this._findMatchType}set findMode(e){this._findMode=e}get findMode(){return this._findMode}constructor(e,t,n){this._keyboardNavigationLabelProvider=e,this._filter=t,this._defaultFindVisibility=n,this._totalCount=0,this._matchCount=0,this._findMatchType=qp.Fuzzy,this._findMode=Kp.Highlight,this._pattern=``,this._lowercasePattern=``,this.disposables=new N}filter(e,t){let n=1;if(this._filter){let r=this._filter.filter(e,t);if(n=typeof r==`boolean`?+!!r:jp(r)?Mp(r.visibility):r,n===0)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:ae.Default,visibility:n};let r=this._keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),i=Array.isArray(r)?r:[r];for(let e of i){let t=e&&e.toString();if(t===void 0)return{data:ae.Default,visibility:n};let r;if(r=this._findMatchType===qp.Contiguous?Up(this._lowercasePattern,t.toLowerCase()):li(this._pattern,this._lowercasePattern,0,t,t.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0}),r)return this._matchCount++,i.length===1?{data:r,visibility:n}:{data:{label:t,score:r},visibility:n}}return this._findMode===Kp.Filter?typeof this._defaultFindVisibility==`number`?this._defaultFindVisibility:this._defaultFindVisibility?this._defaultFindVisibility(e):2:{data:ae.Default,visibility:n}}reset(){this._totalCount=0,this._matchCount=0}dispose(){yo(this.disposables)}},Gp=class{constructor(e){this.stateMap=new Map(e.map(e=>[e.id,{...e}]))}get(e){let t=this.stateMap.get(e);if(t===void 0)throw Error(`No state found for toggle id ${e}`);return t.isChecked}set(e,t){let n=this.stateMap.get(e);if(n===void 0)throw Error(`No state found for toggle id ${e}`);return n.isChecked===t?!1:(n.isChecked=t,!0)}},Kp;(function(e){e[e.Highlight=0]=`Highlight`,e[e.Filter=1]=`Filter`})(Kp||={});var qp;(function(e){e[e.Fuzzy=0]=`Fuzzy`,e[e.Contiguous=1]=`Contiguous`})(qp||={});var Jp;(function(e){e.Mode=`mode`,e.MatchType=`matchType`})(Jp||={});var Yp=class{get pattern(){return this._pattern}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.widget?.setPlaceHolder(e)}constructor(e,t,n,r={}){this.tree=e,this.filter=t,this.contextViewProvider=n,this.options=r,this._pattern=``,this._onDidChangePattern=new F,this._onDidChangeOpenState=new F,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new N,this.disposables=new N,this.toggles=new Gp(r.toggles??[]),this._placeholder=r.placeholder??L(22,`Type to search`)}isOpened(){return!!this.widget}updateToggleState(e,t){this.toggles.set(e,t),this.widget?.setToggleState(e,t)}renderMessage(e,t){e?this.tree.options.showNotFoundMessage??!0?this.widget?.showMessage({type:2,content:t??L(23,`No results found.`)}):this.widget?.showMessage({type:2}):this.widget?.clearMessage()}alertResults(e){hn(e?L(25,`{0} results`,e):L(24,`No results`))}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}},Xp=class extends Yp{get mode(){return this.toggles.get(Jp.Mode)?Kp.Filter:Kp.Highlight}set mode(e){if(e===this.mode)return;let t=e===Kp.Filter;this.updateToggleState(Jp.Mode,t),this.placeholder=t?L(26,`Type to filter`):L(27,`Type to search`),this.filter.findMode=e,this.tree.refilter(),this.render(),this._onDidChangeMode.fire(e)}get matchType(){return this.toggles.get(Jp.MatchType)?qp.Fuzzy:qp.Contiguous}set matchType(e){e!==this.matchType&&(this.updateToggleState(Jp.MatchType,e===qp.Fuzzy),this.filter.findMatchType=e,this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(e))}constructor(e,t,n,r={}){let i=r.defaultFindMode??Kp.Highlight,a=r.defaultFindMatchType??qp.Fuzzy,o=[{id:Jp.Mode,icon:q.listFilter,title:L(28,`Filter`),isChecked:i===Kp.Filter},{id:Jp.MatchType,icon:q.searchFuzzy,title:L(29,`Fuzzy Match`),isChecked:a===qp.Fuzzy}];t.findMatchType=a,t.findMode=i,super(e,t,n,{...r,toggles:o}),this.filter=t,this._onDidChangeMode=new F,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new F,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this.disposables.add(this.tree.onDidChangeModel(()=>{this.isOpened()&&(this.pattern.length!==0&&this.tree.refilter(),this.render())})),this.disposables.add(this.tree.onWillRefilter(()=>this.filter.reset()))}updateOptions(e={}){e.defaultFindMode!==void 0&&(this.mode=e.defaultFindMode),e.defaultFindMatchType!==void 0&&(this.matchType=e.defaultFindMatchType)}shouldAllowFocus(e){return!this.isOpened()||!this.pattern||this.filter.totalCount>0&&this.filter.matchCount<=1?!0:!ae.isDefault(e.filterData)}render(){let e=this.filter.matchCount===0&&this.filter.totalCount>0&&this.pattern.length>0;this.renderMessage(e),this.pattern.length&&this.alertResults(this.filter.matchCount)}};function Zp(e,t){return e.position===t.position&&Qp(e,t)}function Qp(e,t){return e.node.element===t.node.element&&e.startIndex===t.startIndex&&e.height===t.height&&e.endIndex===t.endIndex}var $p=class{constructor(e=[]){this.stickyNodes=e}get count(){return this.stickyNodes.length}equal(e){return Rc(this.stickyNodes,e.stickyNodes,Zp)}contains(e){return this.stickyNodes.some(t=>t.node.element===e.element)}lastNodePartiallyVisible(){if(this.count===0)return!1;let e=this.stickyNodes[this.count-1];if(this.count===1)return e.position!==0;let t=this.stickyNodes[this.count-2];return t.position+t.height!==e.position}animationStateChanged(e){if(!Rc(this.stickyNodes,e.stickyNodes,Qp)||this.count===0)return!1;let t=this.stickyNodes[this.count-1],n=e.stickyNodes[e.count-1];return t.position!==n.position}},em=class{constrainStickyScrollNodes(e,t,n){for(let r=0;r<e.length;r++){let i=e[r];if(i.position+i.height>n||r>=t)return e.slice(0,r)}return e}},tm=class extends B{constructor(e,t,n,r,i,a={}){super(),this.tree=e,this.model=t,this.view=n,this.treeDelegate=i,this.maxWidgetViewRatio=.4;let o=this.validateStickySettings(a);this.stickyScrollMaxItemCount=o.stickyScrollMaxItemCount,this.stickyScrollDelegate=a.stickyScrollDelegate??new em,this.paddingTop=a.paddingTop??0,this._widget=this._register(new nm(n.getScrollableElement(),n,e,r,i,a.accessibilityProvider)),this.onDidChangeHasFocus=this._widget.onDidChangeHasFocus,this.onContextMenu=this._widget.onContextMenu,this._register(n.onDidScroll(()=>this.update())),this._register(n.onDidChangeContentHeight(()=>this.update())),this._register(e.onDidChangeCollapseState(()=>this.update())),this._register(t.onDidSpliceRenderedNodes(e=>{let t=this._widget.state;if(t){if(e.deleteCount>0&&t.stickyNodes.some(e=>!this.model.has(this.model.getNodeLocation(e.node)))){this.update();return}t.stickyNodes.some(n=>{let r=this.model.getListIndex(this.model.getNodeLocation(n.node));return r>=e.start&&r<e.start+e.deleteCount&&t.contains(n.node)})&&this._widget.rerender()}})),this.update()}get height(){return this._widget.height}getNodeAtHeight(e){let t;if(t=e===0?this.view.firstVisibleIndex:this.view.indexAt(e+this.view.scrollTop),!(t<0||t>=this.view.length))return this.view.element(t)}update(){let e=this.getNodeAtHeight(this.paddingTop);if(!e||this.tree.scrollTop<=this.paddingTop||this.view.renderHeight===0){this._widget.setState(void 0);return}let t=this.findStickyState(e);this._widget.setState(t)}findStickyState(e){let t=[],n=e,r=0,i=this.getNextStickyNode(n,void 0,r);for(;i&&(t.push(i),r+=i.height,!(t.length<=this.stickyScrollMaxItemCount&&(n=this.getNextVisibleNode(i),!n)));)i=this.getNextStickyNode(n,i.node,r);let a=this.constrainStickyNodes(t);return a.length?new $p(a):void 0}getNextVisibleNode(e){return this.getNodeAtHeight(e.position+e.height)}getNextStickyNode(e,t,n){let r=this.getAncestorUnderPrevious(e,t);if(r&&!(r===e&&(!this.nodeIsUncollapsedParent(e)||this.nodeTopAlignsWithStickyNodesBottom(e,n))))return this.createStickyScrollNode(r,n)}nodeTopAlignsWithStickyNodesBottom(e,t){let n=this.getNodeIndex(e),r=this.view.getElementTop(n),i=t;return this.view.scrollTop===r-i}createStickyScrollNode(e,t){let n=this.treeDelegate.getHeight(e),{startIndex:r,endIndex:i}=this.getNodeRange(e);return{node:e,position:this.calculateStickyNodePosition(i,t,n),height:n,startIndex:r,endIndex:i}}getAncestorUnderPrevious(e,t=void 0){let n=e,r=this.getParentNode(n);for(;r;){if(r===t)return n;n=r,r=this.getParentNode(n)}if(t===void 0)return n}calculateStickyNodePosition(e,t,n){let r=this.view.getRelativeTop(e);if(r===null&&this.view.firstVisibleIndex===e&&e+1<this.view.length){let t=this.treeDelegate.getHeight(this.view.element(e)),n=this.view.getRelativeTop(e+1);r=n?n-t/this.view.renderHeight:null}if(r===null)return t;let i=this.view.element(e),a=this.treeDelegate.getHeight(i),o=r*this.view.renderHeight+a;return t+n>o&&t<=o?o-n:t}constrainStickyNodes(e){if(e.length===0)return[];let t=this.view.renderHeight*this.maxWidgetViewRatio,n=e[e.length-1];if(e.length<=this.stickyScrollMaxItemCount&&n.position+n.height<=t)return e;let r=this.stickyScrollDelegate.constrainStickyScrollNodes(e,this.stickyScrollMaxItemCount,t);if(!r.length)return[];let i=r[r.length-1];if(r.length>this.stickyScrollMaxItemCount||i.position+i.height>t)throw Error(`stickyScrollDelegate violates constraints`);return r}getParentNode(e){let t=this.model.getNodeLocation(e),n=this.model.getParentNodeLocation(t);return n?this.model.getNode(n):void 0}nodeIsUncollapsedParent(e){let t=this.model.getNodeLocation(e);return this.model.getListRenderCount(t)>1}getNodeIndex(e){let t=this.model.getNodeLocation(e);return this.model.getListIndex(t)}getNodeRange(e){let t=this.model.getNodeLocation(e),n=this.model.getListIndex(t);if(n<0)throw Error(`Node not found in tree`);return{startIndex:n,endIndex:n+this.model.getListRenderCount(t)-1}}nodePositionTopBelowWidget(e){let t=[],n=this.getParentNode(e);for(;n;)t.push(n),n=this.getParentNode(n);let r=0;for(let e=0;e<t.length&&e<this.stickyScrollMaxItemCount;e++)r+=this.treeDelegate.getHeight(t[e]);return r}domFocus(){this._widget.domFocus()}focusedLast(){return this._widget.focusedLast()}updateOptions(e={}){if(e.paddingTop!==void 0&&(this.paddingTop=e.paddingTop),e.stickyScrollMaxItemCount!==void 0){let t=this.validateStickySettings(e);this.stickyScrollMaxItemCount!==t.stickyScrollMaxItemCount&&(this.stickyScrollMaxItemCount=t.stickyScrollMaxItemCount,this.update())}}validateStickySettings(e){let t=7;return typeof e.stickyScrollMaxItemCount==`number`&&(t=Math.max(e.stickyScrollMaxItemCount,1)),{stickyScrollMaxItemCount:t}}},nm=class{get state(){return this._previousState}constructor(e,t,n,r,i,a){this.view=t,this.tree=n,this.treeRenderers=r,this.treeDelegate=i,this.accessibilityProvider=a,this._previousElements=[],this._previousStateDisposables=new N,this._rootDomNode=P(`.monaco-tree-sticky-container.empty`),e.appendChild(this._rootDomNode);let o=P(`.monaco-tree-sticky-container-shadow`);this._rootDomNode.appendChild(o),this.stickyScrollFocus=new rm(this._rootDomNode,t),this.onDidChangeHasFocus=this.stickyScrollFocus.onDidChangeHasFocus,this.onContextMenu=this.stickyScrollFocus.onContextMenu}get height(){if(!this._previousState)return 0;let e=this._previousState.stickyNodes[this._previousState.count-1];return e.position+e.height}setState(e){let t=!!this._previousState&&this._previousState.count>0,n=!!e&&e.count>0;if(!t&&!n||t&&n&&this._previousState.equal(e))return;if(t!==n&&this.setVisible(n),!n){this._previousState=void 0,this._previousElements=[],this._previousStateDisposables.clear();return}let r=e.stickyNodes[e.count-1];this._previousState&&e.animationStateChanged(this._previousState)?this._previousElements[this._previousState.count-1].style.top=`${r.position}px`:this.renderState(e),this._previousState=e,this._rootDomNode.style.height=`${r.position+r.height}px`}renderState(e){this._previousStateDisposables.clear();let t=Array(e.count);for(let n=e.count-1;n>=0;n--){let r=e.stickyNodes[n],{element:i,disposable:a}=this.createElement(r,n,e.count);t[n]=i,this._rootDomNode.appendChild(i),this._previousStateDisposables.add(a)}this.stickyScrollFocus.updateElements(t,e),this._previousElements=t}rerender(){this._previousState&&this.renderState(this._previousState)}createElement(e,t,n){let r=e.startIndex,i=document.createElement(`div`);i.style.top=`${e.position}px`,this.tree.options.setRowHeight!==!1&&(i.style.height=`${e.height}px`),this.tree.options.setRowLineHeight!==!1&&(i.style.lineHeight=`${e.height}px`),i.classList.add(`monaco-tree-sticky-row`),i.classList.add(`monaco-list-row`),i.setAttribute(`data-index`,`${r}`),i.setAttribute(`data-parity`,r%2==0?`even`:`odd`),i.setAttribute(`id`,this.view.getElementID(r));let a=this.setAccessibilityAttributes(i,e.node.element,t,n),o=this.treeDelegate.getTemplateId(e.node),s=this.treeRenderers.find(e=>e.templateId===o);if(!s)throw Error(`No renderer found for template id ${o}`);let c=e.node;c===this.tree.getNode(this.tree.getNodeLocation(e.node))&&(c=new Proxy(e.node,{}));let l=s.renderTemplate(i);return s.renderElement(c,e.startIndex,l,{height:e.height}),{element:i,disposable:k(()=>{a.dispose(),s.disposeElement(c,e.startIndex,l,{height:e.height}),s.disposeTemplate(l),i.remove()})}}setAccessibilityAttributes(e,t,n,r){if(!this.accessibilityProvider)return B.None;this.accessibilityProvider.getSetSize&&e.setAttribute(`aria-setsize`,String(this.accessibilityProvider.getSetSize(t,n,r))),this.accessibilityProvider.getPosInSet&&e.setAttribute(`aria-posinset`,String(this.accessibilityProvider.getPosInSet(t,n))),this.accessibilityProvider.getRole&&e.setAttribute(`role`,this.accessibilityProvider.getRole(t)??`treeitem`);let i=this.accessibilityProvider.getAriaLabel(t),a=i&&typeof i!=`string`?i:en(i),o=j(t=>{let n=t.readObservable(a);n?e.setAttribute(`aria-label`,n):e.removeAttribute(`aria-label`)});typeof i==`string`||i&&e.setAttribute(`aria-label`,i.get());let s=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(t);return typeof s==`number`&&e.setAttribute(`aria-level`,`${s}`),e.setAttribute(`aria-selected`,`false`),o}setVisible(e){this._rootDomNode.classList.toggle(`empty`,!e),e||this.stickyScrollFocus.updateElements([],void 0)}domFocus(){this.stickyScrollFocus.domFocus()}focusedLast(){return this.stickyScrollFocus.focusedLast()}dispose(){this.stickyScrollFocus.dispose(),this._previousStateDisposables.dispose(),this._rootDomNode.remove()}},rm=class extends B{get domHasFocus(){return this._domHasFocus}set domHasFocus(e){e!==this._domHasFocus&&(this._onDidChangeHasFocus.fire(e),this._domHasFocus=e)}constructor(e,t){super(),this.container=e,this.view=t,this.focusedIndex=-1,this.elements=[],this._onDidChangeHasFocus=this._register(new F),this.onDidChangeHasFocus=this._onDidChangeHasFocus.event,this._onContextMenu=this._register(new F),this.onContextMenu=this._onContextMenu.event,this._domHasFocus=!1,this._register(z(this.container,`focus`,()=>this.onFocus())),this._register(z(this.container,`blur`,()=>this.onBlur())),this._register(this.view.onDidFocus(()=>this.toggleStickyScrollFocused(!1))),this._register(this.view.onKeyDown(e=>this.onKeyDown(e))),this._register(this.view.onMouseDown(e=>this.onMouseDown(e))),this._register(this.view.onContextMenu(e=>this.handleContextMenu(e)))}handleContextMenu(e){let t=e.browserEvent.target;if(!Gn(t)&&!$e(t)){this.focusedLast()&&this.view.domFocus();return}if(!Ge(e.browserEvent)){if(!this.state)throw Error(`Context menu should not be triggered when state is undefined`);let t=this.state.stickyNodes.findIndex(t=>t.node.element===e.element?.element);if(t===-1)throw Error(`Context menu should not be triggered when element is not in sticky scroll widget`);this.container.focus(),this.setFocus(t);return}if(!this.state||this.focusedIndex<0)throw Error(`Context menu key should not be triggered when focus is not in sticky scroll widget`);let n=this.state.stickyNodes[this.focusedIndex].node.element,r=this.elements[this.focusedIndex];this._onContextMenu.fire({element:n,anchor:r,browserEvent:e.browserEvent,isStickyScroll:!0})}onKeyDown(e){if(this.domHasFocus&&this.state){if(e.key===`ArrowUp`)this.setFocusedElement(Math.max(0,this.focusedIndex-1)),e.preventDefault(),e.stopPropagation();else if(e.key===`ArrowDown`||e.key===`ArrowRight`){if(this.focusedIndex>=this.state.count-1){let e=this.state.stickyNodes[this.state.count-1].startIndex+1;this.view.domFocus(),this.view.setFocus([e]),this.scrollNodeUnderWidget(e,this.state)}else this.setFocusedElement(this.focusedIndex+1);e.preventDefault(),e.stopPropagation()}}}onMouseDown(e){let t=e.browserEvent.target;!Gn(t)&&!$e(t)||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation())}updateElements(e,t){if(t&&t.count===0)throw Error(`Sticky scroll state must be undefined when there are no sticky nodes`);if(t&&t.count!==e.length)throw Error(`Sticky scroll focus received illigel state`);let n=this.focusedIndex;if(this.removeFocus(),this.elements=e,this.state=t,t){let e=Ea(n,0,t.count-1);this.setFocus(e)}else this.domHasFocus&&this.view.domFocus();this.container.tabIndex=t?0:-1}setFocusedElement(e){let t=this.state;if(!t)throw Error(`Cannot set focus when state is undefined`);if(this.setFocus(e),!(e<t.count-1)&&t.lastNodePartiallyVisible()){let n=t.stickyNodes[e];this.scrollNodeUnderWidget(n.endIndex+1,t)}}scrollNodeUnderWidget(e,t){let n=t.stickyNodes[t.count-1],r=t.count>1?t.stickyNodes[t.count-2]:void 0,i=this.view.getElementTop(e),a=r?r.position+r.height+n.height:n.height;this.view.scrollTop=i-a}domFocus(){if(!this.state)throw Error(`Cannot focus when state is undefined`);this.container.focus()}focusedLast(){return this.state?this.view.getHTMLElement().classList.contains(`sticky-scroll-focused`):!1}removeFocus(){this.focusedIndex!==-1&&(this.toggleElementFocus(this.elements[this.focusedIndex],!1),this.focusedIndex=-1)}setFocus(e){if(0>e)throw Error(`addFocus() can not remove focus`);if(!this.state&&e>=0)throw Error(`Cannot set focus index when state is undefined`);if(this.state&&e>=this.state.count)throw Error(`Cannot set focus index to an index that does not exist`);let t=this.focusedIndex;t>=0&&this.toggleElementFocus(this.elements[t],!1),e>=0&&this.toggleElementFocus(this.elements[e],!0),this.focusedIndex=e}toggleElementFocus(e,t){this.toggleElementActiveFocus(e,t&&this.domHasFocus),this.toggleElementPassiveFocus(e,t)}toggleCurrentElementActiveFocus(e){this.focusedIndex!==-1&&this.toggleElementActiveFocus(this.elements[this.focusedIndex],e)}toggleElementActiveFocus(e,t){e.classList.toggle(`focused`,t)}toggleElementPassiveFocus(e,t){e.classList.toggle(`passive-focused`,t)}toggleStickyScrollFocused(e){this.view.getHTMLElement().classList.toggle(`sticky-scroll-focused`,e)}onFocus(){if(!this.state||this.elements.length===0)throw Error(`Cannot focus when state is undefined or elements are empty`);this.domHasFocus=!0,this.toggleStickyScrollFocused(!0),this.toggleCurrentElementActiveFocus(!0),this.focusedIndex===-1&&this.setFocus(0)}onBlur(){this.domHasFocus=!1,this.toggleCurrentElementActiveFocus(!1)}dispose(){this.toggleStickyScrollFocused(!1),this._onDidChangeHasFocus.fire(!1),super.dispose()}};function im(e){let t=Op.Unknown;return Ar(e.browserEvent.target,`monaco-tl-twistie`,`monaco-tl-row`)?t=Op.Twistie:Ar(e.browserEvent.target,`monaco-tl-contents`,`monaco-tl-row`)?t=Op.Element:Ar(e.browserEvent.target,`monaco-tree-type-filter`,`monaco-list`)&&(t=Op.Filter),{browserEvent:e.browserEvent,element:e.element?e.element.element:null,target:t}}function am(e){let t=Gn(e.browserEvent.target);return{element:e.element?e.element.element:null,browserEvent:e.browserEvent,anchor:e.anchor,isStickyScroll:t}}function om(e,t){t(e),e.children.forEach(e=>om(e,t))}var sm=class{get nodeSet(){return this._nodeSet||=this.createNodeSet(),this._nodeSet}constructor(e,t){this.getFirstViewElementWithTrait=e,this.identityProvider=t,this.nodes=[],this._onDidChange=new F,this.onDidChange=this._onDidChange.event}set(e,t){!t?.__forceEvent&&Rc(this.nodes,e)||this._set(e,!1,t)}_set(e,t,n){if(this.nodes=[...e],this.elements=void 0,this._nodeSet=void 0,!t){let e=this;this._onDidChange.fire({get elements(){return e.get()},browserEvent:n})}}get(){return this.elements||=this.nodes.map(e=>e.element),[...this.elements]}getNodes(){return this.nodes}has(e){return this.nodeSet.has(e)}onDidModelSplice({insertedNodes:e,deletedNodes:t}){if(!this.identityProvider){let e=this.createNodeSet(),n=t=>e.delete(t);t.forEach(e=>om(e,n)),this.set([...e.values()]);return}let n=new Set,r=e=>n.add(this.identityProvider.getId(e.element).toString());t.forEach(e=>om(e,r));let i=new Map,a=e=>i.set(this.identityProvider.getId(e.element).toString(),e);e.forEach(e=>om(e,a));let o=[];for(let e of this.nodes){let t=this.identityProvider.getId(e.element).toString();if(!n.has(t))o.push(e);else{let e=i.get(t);e&&e.visible&&o.push(e)}}if(this.nodes.length>0&&o.length===0){let e=this.getFirstViewElementWithTrait();e&&o.push(e)}this._set(o,!0)}createNodeSet(){let e=new Set;for(let t of this.nodes)e.add(t);return e}},cm=class extends He{constructor(e,t,n){super(e),this.tree=t,this.stickyScrollProvider=n}onViewPointer(e){if(ts(e.browserEvent.target)||d(e.browserEvent.target)||Go(e.browserEvent.target)||e.browserEvent.isHandledByList)return;let t=e.element;if(!t||this.isSelectionRangeChangeEvent(e)||this.isSelectionSingleChangeEvent(e))return super.onViewPointer(e);let n=e.browserEvent.target,r=n.classList.contains(`monaco-tl-twistie`)||n.classList.contains(`monaco-icon-label`)&&n.classList.contains(`folder-icon`)&&e.browserEvent.offsetX<16,i=$e(e.browserEvent.target),a=!1;if(a=i?!0:typeof this.tree.expandOnlyOnTwistieClick==`function`?this.tree.expandOnlyOnTwistieClick(t.element):!!this.tree.expandOnlyOnTwistieClick,i)this.handleStickyScrollMouseEvent(e,t);else if(a&&!r&&e.browserEvent.detail!==2||!this.tree.expandOnDoubleClick&&e.browserEvent.detail===2)return super.onViewPointer(e);if(t.collapsible&&(!i||r)){let n=this.tree.getNodeLocation(t),i=e.browserEvent.altKey;if(this.tree.setFocus([n]),this.tree.toggleCollapsed(n,i),r){e.browserEvent.isHandledByList=!0;return}}i||super.onViewPointer(e)}handleStickyScrollMouseEvent(e,t){if(ee(e.browserEvent.target)||Pn(e.browserEvent.target))return;let n=this.stickyScrollProvider();if(!n)throw Error(`Sticky scroll controller not found`);let r=this.list.indexOf(t),i=this.list.getElementTop(r),a=n.nodePositionTopBelowWidget(t);this.tree.scrollTop=i-a,this.list.domFocus(),this.list.setFocus([r]),this.list.setSelection([r])}onDoubleClick(e){e.browserEvent.target.classList.contains(`monaco-tl-twistie`)||!this.tree.expandOnDoubleClick||e.browserEvent.isHandledByList||super.onDoubleClick(e)}onMouseDown(e){let t=e.browserEvent.target;if(!Gn(t)&&!$e(t)){super.onMouseDown(e);return}}onContextMenu(e){let t=e.browserEvent.target;if(!Gn(t)&&!$e(t)){super.onContextMenu(e);return}}},lm=class extends Lr{constructor(e,t,n,r,i,a,o,s){super(e,t,n,r,s),this.focusTrait=i,this.selectionTrait=a,this.anchorTrait=o}createMouseController(e){return new cm(this,e.tree,e.stickyScrollProvider)}splice(e,t,n=[]){if(super.splice(e,t,n),n.length===0)return;let r=[],i=[],a;n.forEach((t,n)=>{this.focusTrait.has(t)&&r.push(e+n),this.selectionTrait.has(t)&&i.push(e+n),this.anchorTrait.has(t)&&(a=e+n)}),r.length>0&&super.setFocus(os([...super.getFocus(),...r])),i.length>0&&super.setSelection(os([...super.getSelection(),...i])),typeof a==`number`&&super.setAnchor(a)}setFocus(e,t,n=!1){super.setFocus(e,t),n||this.focusTrait.set(e.map(e=>this.element(e)),t)}setSelection(e,t,n=!1){super.setSelection(e,t),n||this.selectionTrait.set(e.map(e=>this.element(e)),t)}setAnchor(e,t=!1){super.setAnchor(e),t||(e===void 0?this.anchorTrait.set([]):this.anchorTrait.set([this.element(e)]))}},um=class{get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return W.filter(W.map(this.view.onMouseDblClick,im),e=>e.target!==Op.Filter)}get onMouseOver(){return W.map(this.view.onMouseOver,im)}get onMouseOut(){return W.map(this.view.onMouseOut,im)}get onContextMenu(){return W.any(W.filter(W.map(this.view.onContextMenu,am),e=>!e.isStickyScroll),this.stickyScrollController?.onContextMenu??W.None)}get onPointer(){return W.map(this.view.onPointer,im)}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return W.any(this.onDidChangeModelRelay.event,this.onDidSwapModel.event)}get onDidChangeCollapseState(){return this.onDidChangeCollapseStateRelay.event}get expandOnDoubleClick(){return this._options.expandOnDoubleClick===void 0?!0:this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return this._options.expandOnlyOnTwistieClick===void 0?!0:this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(e,t,n,r,i={}){this._user=e,this._options=i,this.eventBufferer=new xs,this.onDidChangeFindOpenState=W.None,this.onDidChangeStickyScrollFocused=W.None,this.disposables=new N,this.onDidSwapModel=this.disposables.add(new F),this.onDidChangeModelRelay=this.disposables.add(new Ms),this.onDidSpliceModelRelay=this.disposables.add(new Ms),this.onDidChangeCollapseStateRelay=this.disposables.add(new Ms),this.onDidChangeRenderNodeCountRelay=this.disposables.add(new Ms),this.onDidChangeActiveNodesRelay=this.disposables.add(new Ms),this._onWillRefilter=new F,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new F,this.modelDisposables=new N,i.keyboardNavigationLabelProvider&&(i.findWidgetEnabled??!0)&&(this.findFilter=new Wp(i.keyboardNavigationLabelProvider,i.filter,i.defaultFindVisibility),i={...i,filter:this.findFilter},this.disposables.add(this.findFilter)),this.model=this.createModel(e,i),this.treeDelegate=new zp(n);let a=this.disposables.add(new Vp(this.onDidChangeActiveNodesRelay.event)),o=new Tl;this.renderers=r.map(e=>new Hp(e,this.model,this.onDidChangeCollapseStateRelay.event,a,o,i));for(let e of this.renderers)this.disposables.add(e);if(this.focus=new sm(()=>this.view.getFocusedElements()[0],i.identityProvider),this.selection=new sm(()=>this.view.getSelectedElements()[0],i.identityProvider),this.anchor=new sm(()=>this.view.getAnchorElement(),i.identityProvider),this.view=new lm(e,t,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...Rp(()=>this.model,this.disposables,i),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.setupModel(this.model),i.keyboardSupport!==!1){let e=W.chain(this.view.onKeyDown,e=>e.filter(e=>!d(e.target)).map(e=>new Qr(e)));W.chain(e,e=>e.filter(e=>e.keyCode===15))(this.onLeftArrow,this,this.disposables),W.chain(e,e=>e.filter(e=>e.keyCode===17))(this.onRightArrow,this,this.disposables),W.chain(e,e=>e.filter(e=>e.keyCode===10))(this.onSpace,this,this.disposables)}if((i.findWidgetEnabled??!0)&&i.keyboardNavigationLabelProvider&&i.contextViewProvider){let e={styles:i.findWidgetStyles,defaultFindMode:i.defaultFindMode,defaultFindMatchType:i.defaultFindMatchType,showNotFoundMessage:i.showNotFoundMessage,findWidgetContainer:i.findWidgetContainer};this.findController=this.disposables.add(new Xp(this,this.findFilter,i.contextViewProvider,e)),this.focusNavigationFilter=e=>this.findController.shouldAllowFocus(e),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindMode=W.None,this.onDidChangeFindMatchType=W.None;i.enableStickyScroll&&(this.stickyScrollController=new tm(this,this.model,this.view,this.renderers,this.treeDelegate,i),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus),this.styleElement=Fe(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle(`always`,this._options.renderIndentGuides===Bp.Always)}updateOptions(e={}){this._options={...this._options,...e};for(let t of this.renderers)t.updateOptions(e);this.view.updateOptions(e),this.findController?.updateOptions(e),this.updateStickyScroll(e),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle(`always`,this._options.renderIndentGuides===Bp.Always)}get options(){return this._options}updateStickyScroll(e){!this.stickyScrollController&&this._options.enableStickyScroll?(this.stickyScrollController=new tm(this,this.model,this.view,this.renderers,this.treeDelegate,this._options),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.onDidChangeStickyScrollFocused=W.None,this.stickyScrollController.dispose(),this.stickyScrollController=void 0),this.stickyScrollController?.updateOptions(e)}getHTMLElement(){return this.view.getHTMLElement()}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.scrollTop}set scrollTop(e){this.view.scrollTop=e}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get ariaLabel(){return this.view.ariaLabel}set ariaLabel(e){this.view.ariaLabel=e}domFocus(){this.stickyScrollController?.focusedLast()?this.stickyScrollController.domFocus():this.view.domFocus()}isDOMFocused(){return we(this.getHTMLElement())}layout(e,t){this.view.layout(e,t)}style(e){let t=`.${this.view.domId}`,n=[];e.treeIndentGuidesStroke&&(n.push(`.monaco-list${t}:hover .monaco-tl-indent > .indent-guide, .monaco-list${t}.always .monaco-tl-indent > .indent-guide { opacity: 1; border-color: ${e.treeInactiveIndentGuidesStroke}; }`),n.push(`.monaco-list${t} .monaco-tl-indent > .indent-guide.active { opacity: 1; border-color: ${e.treeIndentGuidesStroke}; }`));let r=e.treeStickyScrollBackground??e.listBackground;r&&(n.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${r}; }`),n.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${r}; }`)),e.treeStickyScrollBorder&&n.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container { border-bottom: 1px solid ${e.treeStickyScrollBorder}; }`),e.treeStickyScrollShadow&&n.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow { box-shadow: ${e.treeStickyScrollShadow} 0 6px 6px -6px inset; height: 3px; }`),e.listFocusForeground&&(n.push(`.monaco-list${t}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),n.push(`.monaco-list${t}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }`));let i=Wt(e.listFocusAndSelectionOutline,Wt(e.listSelectionOutline,e.listFocusOutline??``));i&&(n.push(`.monaco-list${t}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ${i}; outline-offset: -1px;}`),n.push(`.monaco-list${t}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}`)),e.listFocusOutline&&(n.push(`.monaco-list${t}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),n.push(`.monaco-list${t}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }`),n.push(`.context-menu-visible .monaco-list${t}.last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),n.push(`.context-menu-visible .monaco-list${t}.last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`),n.push(`.context-menu-visible .monaco-list${t}.last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`)),this.styleElement.textContent=n.join(`
|
|
405
|
+
`),this.view.style(e)}getParentElement(e){let t=this.model.getParentNodeLocation(e);return this.model.getNode(t).element}getFirstElementChild(e){return this.model.getFirstElementChild(e)}getNode(e){return this.model.getNode(e)}getNodeLocation(e){return this.model.getNodeLocation(e)}collapse(e,t=!1){return this.model.setCollapsed(e,!0,t)}expand(e,t=!1){return this.model.setCollapsed(e,!1,t)}toggleCollapsed(e,t=!1){return this.model.setCollapsed(e,void 0,t)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(e,t){this.eventBufferer.bufferEvents(()=>{let n=e.map(e=>this.model.getNode(e));this.selection.set(n,t);let r=e.map(e=>this.model.getListIndex(e)).filter(e=>e>-1);this.view.setSelection(r,t,!0)})}getSelection(){return this.selection.get()}setFocus(e,t){this.eventBufferer.bufferEvents(()=>{let n=e.map(e=>this.model.getNode(e));this.focus.set(n,t);let r=e.map(e=>this.model.getListIndex(e)).filter(e=>e>-1);this.view.setFocus(r,t,!0)})}focusNext(e=1,t=!1,n,r=Ge(n)&&n.altKey?void 0:this.focusNavigationFilter){this.view.focusNext(e,t,n,r)}focusPrevious(e=1,t=!1,n,r=Ge(n)&&n.altKey?void 0:this.focusNavigationFilter){this.view.focusPrevious(e,t,n,r)}focusNextPage(e,t=Ge(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusNextPage(e,t)}focusPreviousPage(e,t=Ge(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusPreviousPage(e,t,()=>this.stickyScrollController?.height??0)}focusLast(e,t=Ge(e)&&e.altKey?void 0:this.focusNavigationFilter){this.view.focusLast(e,t)}focusFirst(e,t=Ge(e)&&e.altKey?void 0:this.focusNavigationFilter){this.view.focusFirst(e,t)}getFocus(){return this.focus.get()}reveal(e,t){this.model.expandTo(e);let n=this.model.getListIndex(e);if(n!==-1)if(!this.stickyScrollController)this.view.reveal(n,t);else{let r=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(e));this.view.reveal(n,t,r)}}onLeftArrow(e){e.preventDefault(),e.stopPropagation();let t=this.view.getFocusedElements();if(t.length===0)return;let n=t[0],r=this.model.getNodeLocation(n);if(!this.model.setCollapsed(r,!0)){let e=this.model.getParentNodeLocation(r);if(!e)return;let t=this.model.getListIndex(e);this.view.reveal(t),this.view.setFocus([t])}}onRightArrow(e){e.preventDefault(),e.stopPropagation();let t=this.view.getFocusedElements();if(t.length===0)return;let n=t[0],r=this.model.getNodeLocation(n);if(!this.model.setCollapsed(r,!1)){if(!n.children.some(e=>e.visible))return;let[e]=this.view.getFocus(),t=e+1;this.view.reveal(t),this.view.setFocus([t])}}onSpace(e){e.preventDefault(),e.stopPropagation();let t=this.view.getFocusedElements();if(t.length===0)return;let n=t[0],r=this.model.getNodeLocation(n),i=e.browserEvent.altKey;this.model.setCollapsed(r,void 0,i)}setupModel(e){this.modelDisposables.clear(),this.modelDisposables.add(e.onDidSpliceRenderedNodes(({start:e,deleteCount:t,elements:n})=>this.view.splice(e,t,n)));let t=W.forEach(e.onDidSpliceModel,e=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(e),this.selection.onDidModelSplice(e)})},this.modelDisposables);t(()=>null,null,this.modelDisposables);let n=this.modelDisposables.add(new F),r=this.modelDisposables.add(new Mr(0));this.modelDisposables.add(W.any(t,this.focus.onDidChange,this.selection.onDidChange)(()=>{r.trigger(()=>{let e=new Set;for(let t of this.focus.getNodes())e.add(t);for(let t of this.selection.getNodes())e.add(t);n.fire([...e.values()])})})),this.onDidChangeActiveNodesRelay.input=n.event,this.onDidChangeModelRelay.input=W.signal(e.onDidSpliceModel),this.onDidChangeCollapseStateRelay.input=e.onDidChangeCollapseState,this.onDidChangeRenderNodeCountRelay.input=e.onDidChangeRenderNodeCount,this.onDidSpliceModelRelay.input=e.onDidSpliceModel,me&&this.modelDisposables.add(e.onDidChangeCollapseState(e=>{let{node:t,deep:n}=e;t.collapsible&&!n&&this.isDOMFocused()&&hn(t.collapsed?L(30,`collapsed`):L(31,`expanded`))}))}dispose(){yo(this.disposables),this.stickyScrollController?.dispose(),this.view.dispose(),this.modelDisposables.dispose()}},dm=class{constructor(e,t={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new Pp(e,null,t),this.onDidSpliceModel=this.model.onDidSpliceModel,this.onDidSpliceRenderedNodes=this.model.onDidSpliceRenderedNodes,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,t.sorter&&(this.sorter={compare(e,n){return t.sorter.compare(e.element,n.element)}}),this.identityProvider=t.identityProvider}setChildren(e,t=G.empty(),n={}){let r=this.getElementLocation(e);this._setChildren(r,this.preserveCollapseState(t),n)}_setChildren(e,t=G.empty(),n){let r=new Set,i=new Set,a=e=>{if(e.element===null)return;let t=e;if(r.add(t.element),this.nodes.set(t.element,t),this.identityProvider){let e=this.identityProvider.getId(t.element).toString();i.add(e),this.nodesByIdentity.set(e,t)}n.onDidCreateNode?.(t)},o=e=>{if(e.element===null)return;let t=e;if(r.has(t.element)||this.nodes.delete(t.element),this.identityProvider){let e=this.identityProvider.getId(t.element).toString();i.has(e)||this.nodesByIdentity.delete(e)}n.onDidDeleteNode?.(t)};this.model.splice([...e,0],Number.MAX_VALUE,t,{...n,onDidCreateNode:a,onDidDeleteNode:o})}preserveCollapseState(e=G.empty()){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),G.map(e,e=>{let t=this.nodes.get(e.element);if(!t&&this.identityProvider){let n=this.identityProvider.getId(e.element).toString();t=this.nodesByIdentity.get(n)}if(!t){let t;return t=e.collapsed===void 0?void 0:e.collapsed===Dp.Collapsed||e.collapsed===Dp.PreserveOrCollapsed?!0:e.collapsed===Dp.Expanded||e.collapsed===Dp.PreserveOrExpanded?!1:!!e.collapsed,{...e,children:this.preserveCollapseState(e.children),collapsed:t}}let n=typeof e.collapsible==`boolean`?e.collapsible:t.collapsible,r;return r=e.collapsed===void 0||e.collapsed===Dp.PreserveOrCollapsed||e.collapsed===Dp.PreserveOrExpanded?t.collapsed:e.collapsed===Dp.Collapsed?!0:e.collapsed===Dp.Expanded?!1:!!e.collapsed,{...e,collapsible:n,collapsed:r,children:this.preserveCollapseState(e.children)}})}rerender(e){let t=this.getElementLocation(e);this.model.rerender(t)}resort(e=null,t=!0){if(!this.sorter)return;let n=this.getElementLocation(e),r=this.model.getNode(n);this._setChildren(n,this.resortChildren(r,t),{})}resortChildren(e,t,n=!0){let r=[...e.children];return(t||n)&&(r=r.sort(this.sorter.compare.bind(this.sorter))),G.map(r,e=>({element:e.element,collapsible:e.collapsible,collapsed:e.collapsed,children:this.resortChildren(e,t,!1)}))}getFirstElementChild(e=null){let t=this.getElementLocation(e);return this.model.getFirstElementChild(t)}has(e){return this.nodes.has(e)}getListIndex(e){let t=this.getElementLocation(e);return this.model.getListIndex(t)}getListRenderCount(e){let t=this.getElementLocation(e);return this.model.getListRenderCount(t)}isCollapsible(e){let t=this.getElementLocation(e);return this.model.isCollapsible(t)}setCollapsible(e,t){let n=this.getElementLocation(e);return this.model.setCollapsible(n,t)}isCollapsed(e){let t=this.getElementLocation(e);return this.model.isCollapsed(t)}setCollapsed(e,t,n){let r=this.getElementLocation(e);return this.model.setCollapsed(r,t,n)}expandTo(e){let t=this.getElementLocation(e);this.model.expandTo(t)}refilter(){this.model.refilter()}getNode(e=null){if(e===null)return this.model.getNode(this.model.rootRef);let t=this.nodes.get(e);if(!t)throw new kp(this.user,`Tree element not found: ${e}`);return t}getNodeLocation(e){return e.element}getParentNodeLocation(e){if(e===null)throw new kp(this.user,`Invalid getParentNodeLocation call`);let t=this.nodes.get(e);if(!t)throw new kp(this.user,`Tree element not found: ${e}`);let n=this.model.getNodeLocation(t),r=this.model.getParentNodeLocation(n);return this.model.getNode(r).element}getElementLocation(e){if(e===null)return[];let t=this.nodes.get(e);if(!t)throw new kp(this.user,`Tree element not found: ${e}`);return this.model.getNodeLocation(t)}};function fm(e){return{element:{elements:[e.element],incompressible:e.incompressible||!1},children:G.map(G.from(e.children),fm),collapsible:e.collapsible,collapsed:e.collapsed}}function pm(e){let t=[e.element],n=e.incompressible||!1,r,i;for(;[i,r]=G.consume(G.from(e.children),2),!(i.length!==1||i[0].incompressible);)e=i[0],t.push(e.element);return{element:{elements:t,incompressible:n},children:G.map(G.concat(i,r),pm),collapsible:e.collapsible,collapsed:e.collapsed}}function mm(e,t=0){let n;return n=t<e.element.elements.length-1?[mm(e,t+1)]:G.map(G.from(e.children),e=>mm(e,0)),t===0&&e.element.incompressible?{element:e.element.elements[t],children:n,incompressible:!0,collapsible:e.collapsible,collapsed:e.collapsed}:{element:e.element.elements[t],children:n,collapsible:e.collapsible,collapsed:e.collapsed}}function hm(e){return mm(e,0)}function gm(e,t,n){return e.element===t?{...e,children:n}:{...e,children:G.map(G.from(e.children),e=>gm(e,t,n))}}var _m=e=>({getId(t){return t.elements.map(t=>e.getId(t).toString()).join(`\0`)},getGroupId:e.getGroupId?t=>e.getGroupId(t.elements[t.elements.length-1]):void 0}),vm=class{get onDidSpliceRenderedNodes(){return this.model.onDidSpliceRenderedNodes}get onDidSpliceModel(){return this.model.onDidSpliceModel}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(e,t={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.model=new dm(e,t),this.enabled=t.compressionEnabled===void 0?!0:t.compressionEnabled,this.identityProvider=t.identityProvider}setChildren(e,t=G.empty(),n){let r=n.diffIdentityProvider&&_m(n.diffIdentityProvider);if(e===null){let e=G.map(t,this.enabled?pm:fm);this._setChildren(null,e,{diffIdentityProvider:r,diffDepth:1/0});return}let i=this.nodes.get(e);if(!i)throw new kp(this.user,`Unknown compressed tree node`);let a=this.model.getNode(i),o=this.model.getParentNodeLocation(i),s=this.model.getNode(o),c=gm(hm(a),e,t),l=(this.enabled?pm:fm)(c),u=n.diffIdentityProvider?((e,t)=>n.diffIdentityProvider.getId(e)===n.diffIdentityProvider.getId(t)):void 0;if(Rc(l.element.elements,a.element.elements,u)){this._setChildren(i,l.children||G.empty(),{diffIdentityProvider:r,diffDepth:1});return}let d=s.children.map(e=>e===a?l:e);this._setChildren(s.element,d,{diffIdentityProvider:r,diffDepth:a.depth-s.depth})}isCompressionEnabled(){return this.enabled}setCompressionEnabled(e){if(e===this.enabled)return;this.enabled=e;let t=this.model.getNode().children,n=G.map(t,hm),r=G.map(n,e?pm:fm);this._setChildren(null,r,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(e,t,n){let r=new Set,i=e=>{for(let t of e.element.elements)r.add(t),this.nodes.set(t,e.element)},a=e=>{for(let t of e.element.elements)r.has(t)||this.nodes.delete(t)};this.model.setChildren(e,t,{...n,onDidCreateNode:i,onDidDeleteNode:a})}has(e){return this.nodes.has(e)}getListIndex(e){let t=this.getCompressedNode(e);return this.model.getListIndex(t)}getListRenderCount(e){let t=this.getCompressedNode(e);return this.model.getListRenderCount(t)}getNode(e){if(e===void 0)return this.model.getNode();let t=this.getCompressedNode(e);return this.model.getNode(t)}getNodeLocation(e){let t=this.model.getNodeLocation(e);return t===null?null:t.elements[t.elements.length-1]}getParentNodeLocation(e){let t=this.getCompressedNode(e),n=this.model.getParentNodeLocation(t);return n===null?null:n.elements[n.elements.length-1]}getFirstElementChild(e){let t=this.getCompressedNode(e);return this.model.getFirstElementChild(t)}isCollapsible(e){let t=this.getCompressedNode(e);return this.model.isCollapsible(t)}setCollapsible(e,t){let n=this.getCompressedNode(e);return this.model.setCollapsible(n,t)}isCollapsed(e){let t=this.getCompressedNode(e);return this.model.isCollapsed(t)}setCollapsed(e,t,n){let r=this.getCompressedNode(e);return this.model.setCollapsed(r,t,n)}expandTo(e){let t=this.getCompressedNode(e);this.model.expandTo(t)}rerender(e){let t=this.getCompressedNode(e);this.model.rerender(t)}refilter(){this.model.refilter()}resort(e=null,t=!0){let n=this.getCompressedNode(e);this.model.resort(n,t)}getCompressedNode(e){if(e===null)return null;let t=this.nodes.get(e);if(!t)throw new kp(this.user,`Tree element not found: ${e}`);return t}},ym=e=>e[e.length-1],bm=class e{get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map(t=>new e(this.unwrapper,t))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e,t){this.unwrapper=e,this.node=t}};function xm(e,t){return{...t,identityProvider:t.identityProvider&&{getId(n){return t.identityProvider.getId(e(n))},getGroupId:t.identityProvider.getGroupId?n=>t.identityProvider.getGroupId(e(n)):void 0},sorter:t.sorter&&{compare(e,n){return t.sorter.compare(e.elements[0],n.elements[0])}},filter:t.filter&&{filter(e,n){let r=e.elements;for(let e=0;e<r.length-1;e++){let i=t.filter.filter(r[e],n);n=Mp(jp(i)?i.visibility:i)}return t.filter.filter(r[r.length-1],n)}}}}var Sm=class{get onDidSpliceModel(){return W.map(this.model.onDidSpliceModel,({insertedNodes:e,deletedNodes:t})=>({insertedNodes:e.map(e=>this.nodeMapper.map(e)),deletedNodes:t.map(e=>this.nodeMapper.map(e))}))}get onDidSpliceRenderedNodes(){return W.map(this.model.onDidSpliceRenderedNodes,({start:e,deleteCount:t,elements:n})=>({start:e,deleteCount:t,elements:n.map(e=>this.nodeMapper.map(e))}))}get onDidChangeCollapseState(){return W.map(this.model.onDidChangeCollapseState,({node:e,deep:t})=>({node:this.nodeMapper.map(e),deep:t}))}get onDidChangeRenderNodeCount(){return W.map(this.model.onDidChangeRenderNodeCount,e=>this.nodeMapper.map(e))}constructor(e,t={}){this.rootRef=null,this.elementMapper=t.elementMapper||ym;let n=e=>this.elementMapper(e.elements);this.nodeMapper=new Ap(e=>new bm(n,e)),this.model=new vm(e,xm(n,t))}setChildren(e,t=G.empty(),n={}){this.model.setChildren(e,t,n)}isCompressionEnabled(){return this.model.isCompressionEnabled()}setCompressionEnabled(e){this.model.setCompressionEnabled(e)}has(e){return this.model.has(e)}getListIndex(e){return this.model.getListIndex(e)}getListRenderCount(e){return this.model.getListRenderCount(e)}getNode(e){return this.nodeMapper.map(this.model.getNode(e))}getNodeLocation(e){return e.element}getParentNodeLocation(e){return this.model.getParentNodeLocation(e)}getFirstElementChild(e){let t=this.model.getFirstElementChild(e);return t==null?t:this.elementMapper(t.elements)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}setCollapsed(e,t,n){return this.model.setCollapsed(e,t,n)}expandTo(e){return this.model.expandTo(e)}rerender(e){return this.model.rerender(e)}refilter(){return this.model.refilter()}resort(e=null,t=!0){return this.model.resort(e,t)}getCompressedTreeNode(e=null){return this.model.getNode(e)}},Cm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},wm=class extends um{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(e,t,n,r,i={}){super(e,t,n,r,i),this.user=e}setChildren(e,t=G.empty(),n){this.model.setChildren(e,t,n)}rerender(e){if(e===void 0){this.view.rerender();return}this.model.rerender(e)}resort(e,t=!0){this.model.resort(e,t)}hasElement(e){return this.model.has(e)}createModel(e,t){return new dm(e,t)}},Tm=class{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(e,t,n){this._compressedTreeNodeProvider=e,this.stickyScrollDelegate=t,this.renderer=n,this.templateId=n.templateId,n.onDidChangeTwistieState&&(this.onDidChangeTwistieState=n.onDidChangeTwistieState)}renderTemplate(e){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(e)}}renderElement(e,t,n,r){let i=this.stickyScrollDelegate.getCompressedNode(e);i||=this.compressedTreeNodeProvider.getCompressedTreeNode(e.element),i.element.elements.length===1?(n.compressedTreeNode=void 0,this.renderer.renderElement(e,t,n.data,r)):(n.compressedTreeNode=i,this.renderer.renderCompressedElements(i,t,n.data,r))}disposeElement(e,t,n,r){n.compressedTreeNode?this.renderer.disposeCompressedElements?.(n.compressedTreeNode,t,n.data,r):this.renderer.disposeElement?.(e,t,n.data,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.data)}renderTwistie(e,t){return this.renderer.renderTwistie?.(e,t)??!1}};Cm([Qc],Tm.prototype,`compressedTreeNodeProvider`,null);var Em=class{constructor(e){this.modelProvider=e,this.compressedStickyNodes=new Map}getCompressedNode(e){return this.compressedStickyNodes.get(e)}constrainStickyScrollNodes(e,t,n){if(this.compressedStickyNodes.clear(),e.length===0)return[];for(let r=0;r<e.length;r++){let i=e[r],a=i.position+i.height;if(r+1<e.length&&a+e[r+1].height>n||r>=t-1&&t<e.length){let t=e.slice(0,r),n=e.slice(r),i=this.compressStickyNodes(n);return[...t,i]}}return e}compressStickyNodes(e){if(e.length===0)throw Error(`Can't compress empty sticky nodes`);let t=this.modelProvider();if(!t.isCompressionEnabled())return e[0];let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t.getCompressedTreeNode(i.node.element);if(a.element){if(r!==0&&a.element.incompressible)break;n.push(...a.element.elements)}}if(n.length<2)return e[0];let r=e[e.length-1],i={elements:n,incompressible:!1},a={...r.node,children:[],element:i},o=new Proxy(e[0].node,{}),s={node:o,startIndex:e[0].startIndex,endIndex:r.endIndex,position:e[0].position,height:e[0].height};return this.compressedStickyNodes.set(o,a),s}};function Dm(e,t){return t&&{...t,keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel(n){let r;try{r=e().getCompressedTreeNode(n)}catch{return t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(n)}return r.element.elements.length===1?t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(n):t.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(r.element.elements)}}}}var Om=class extends wm{constructor(e,t,n,r,i={}){let a=()=>this,o=new Em(()=>this.model),s=r.map(e=>new Tm(a,o,e));super(e,t,n,s,{...Dm(a,i),stickyScrollDelegate:o})}setChildren(e,t=G.empty(),n){this.model.setChildren(e,t,n)}createModel(e,t){return new Sm(e,t)}updateOptions(e={}){super.updateOptions(e),e.compressionEnabled!==void 0&&this.model.setCompressionEnabled(e.compressionEnabled)}getCompressedTreeNode(e=null){return this.model.getCompressedTreeNode(e)}};function km(e){return{...e,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function Am(e,t){return t.parent?t.parent===e?!0:Am(e,t.parent):!1}function jm(e,t){return e===t||Am(e,t)||Am(t,e)}var Mm=class e{get element(){return this.node.element.element}get children(){return this.node.children.map(t=>new e(t))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}},Nm=class{constructor(e,t,n){this.renderer=e,this.nodeMapper=t,this.onDidChangeTwistieState=n,this.renderedNodes=new Map,this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,n,r){this.renderer.renderElement(this.nodeMapper.map(e),t,n.templateData,r)}renderTwistie(e,t){return e.slow?(t.classList.add(...pr.asClassNameArray(q.treeItemLoading)),!0):(t.classList.remove(...pr.asClassNameArray(q.treeItemLoading)),!1)}disposeElement(e,t,n,r){this.renderer.disposeElement?.(this.nodeMapper.map(e),t,n.templateData,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear()}};function Pm(e){return{browserEvent:e.browserEvent,elements:e.elements.map(e=>e.element)}}function Fm(e){return{browserEvent:e.browserEvent,element:e.element&&e.element.element,target:e.target}}var Im=class extends mr{constructor(e){super(e.elements.map(e=>e.element)),this.data=e}};function Lm(e){return e instanceof mr?new Im(e):e}var Rm=class{constructor(e){this.dnd=e}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(e=>e.element),t)}onDragStart(e,t){this.dnd.onDragStart?.(Lm(e),t)}onDragOver(e,t,n,r,i,a=!0){return this.dnd.onDragOver(Lm(e),t&&t.element,n,r,i)}drop(e,t,n,r,i){this.dnd.drop(Lm(e),t&&t.element,n,r,i)}onDragEnd(e){this.dnd.onDragEnd?.(e)}dispose(){this.dnd.dispose()}},zm=class extends Wp{constructor(e,t,n){super(t,n),this.findProvider=e,this.isFindSessionActive=!1}filter(e,t){let n=super.filter(e,t);return!this.isFindSessionActive||this.findMode===Kp.Highlight||!this.findProvider.isVisible?n:Mp(jp(n)?n.visibility:n)===0?0:this.findProvider.isVisible(e)?n:0}},Bm=class extends Xp{constructor(e,t,n,r,i){super(e,n,r,i),this.findProvider=t,this.filter=n,this.activeSession=!1,this.asyncWorkInProgress=!1,this.disposables.add(k(async()=>{this.activeSession&&await this.findProvider.endSession?.()}))}render(){if(this.asyncWorkInProgress||!this.activeFindMetadata)return;let e=this.activeFindMetadata.matchCount===0&&this.pattern.length>0;this.renderMessage(e),this.pattern.length&&this.alertResults(this.activeFindMetadata.matchCount)}shouldAllowFocus(e){return this.shouldFocusWhenNavigating(e)}shouldFocusWhenNavigating(e){if(!this.activeSession||!this.activeFindMetadata)return!0;let t=e.element?.element;return t&&this.activeFindMetadata.isMatch(t)?!0:!ae.isDefault(e.filterData)}};function Vm(e){return e&&{...e,collapseByDefault:!0,identityProvider:e.identityProvider&&{getId(t){return e.identityProvider.getId(t.element)},getGroupId:e.identityProvider.getGroupId?t=>e.identityProvider.getGroupId(t.element):void 0},dnd:e.dnd&&new Rm(e.dnd),multipleSelectionController:e.multipleSelectionController&&{isSelectionSingleChangeEvent(t){return e.multipleSelectionController.isSelectionSingleChangeEvent({...t,element:t.element})},isSelectionRangeChangeEvent(t){return e.multipleSelectionController.isSelectionRangeChangeEvent({...t,element:t.element})}},accessibilityProvider:e.accessibilityProvider&&{...e.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:e.accessibilityProvider.getRole?t=>e.accessibilityProvider.getRole(t.element):()=>`treeitem`,isChecked:e.accessibilityProvider.isChecked?t=>!!e.accessibilityProvider?.isChecked(t.element):void 0,getAriaLabel(t){return e.accessibilityProvider.getAriaLabel(t.element)},getWidgetAriaLabel(){return e.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:e.accessibilityProvider.getWidgetRole?()=>e.accessibilityProvider.getWidgetRole():()=>`tree`,getAriaLevel:e.accessibilityProvider.getAriaLevel&&(t=>e.accessibilityProvider.getAriaLevel(t.element)),getActiveDescendantId:e.accessibilityProvider.getActiveDescendantId&&(t=>e.accessibilityProvider.getActiveDescendantId(t.element))},filter:e.filter&&{filter(t,n){return e.filter.filter(t.element,n)}},keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(t){return e.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)}},sorter:void 0,expandOnlyOnTwistieClick:e.expandOnlyOnTwistieClick===void 0?void 0:typeof e.expandOnlyOnTwistieClick==`function`?(t=>e.expandOnlyOnTwistieClick(t.element)):e.expandOnlyOnTwistieClick,twistieAdditionalCssClass:e.twistieAdditionalCssClass===void 0?void 0:(t=>e.twistieAdditionalCssClass(t.element)),defaultFindVisibility:t=>t.hasChildren&&t.stale?1:typeof e.defaultFindVisibility==`number`?e.defaultFindVisibility:e.defaultFindVisibility===void 0?2:e.defaultFindVisibility(t.element),stickyScrollDelegate:e.stickyScrollDelegate}}function Hm(e,t){t(e),e.children.forEach(e=>Hm(e,t))}var Um=class{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return W.map(this.tree.onDidChangeFocus,Pm)}get onDidChangeSelection(){return W.map(this.tree.onDidChangeSelection,Pm)}get onMouseDblClick(){return W.map(this.tree.onMouseDblClick,Fm)}get onPointer(){return W.map(this.tree.onPointer,Fm)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeStickyScrollFocused(){return this.tree.onDidChangeStickyScrollFocused}get onDidDispose(){return this.tree.onDidDispose}constructor(e,t,n,r,i,a={}){this.user=e,this.dataSource=i,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new F,this._onDidChangeNodeSlowState=new F,this.nodeMapper=new Ap(e=>new Mm(e)),this.disposables=new N,this.identityProvider=a.identityProvider,this.autoExpandSingleChildren=a.autoExpandSingleChildren===void 0?!1:a.autoExpandSingleChildren,this.sorter=a.sorter,this.getDefaultCollapseState=e=>a.collapseByDefault?a.collapseByDefault(e)?Dp.PreserveOrCollapsed:Dp.PreserveOrExpanded:void 0;let o=!1,s;if(a.findProvider&&(a.findWidgetEnabled??!0)&&a.keyboardNavigationLabelProvider&&a.contextViewProvider&&(o=!0,s=new zm(a.findProvider,a.keyboardNavigationLabelProvider,a.filter)),this.tree=this.createTree(e,t,n,r,{...a,findWidgetEnabled:!o,filter:s??a.filter}),this.root=km({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables),o){let e={styles:a.findWidgetStyles,showNotFoundMessage:a.showNotFoundMessage,defaultFindMatchType:a.defaultFindMatchType,defaultFindMode:a.defaultFindMode};this.findController=this.disposables.add(new Bm(this.tree,a.findProvider,s,this.tree.options.contextViewProvider,e)),this.focusNavigationFilter=e=>this.findController.shouldFocusWhenNavigating(e),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindOpenState=this.tree.onDidChangeFindOpenState,this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType}createTree(e,t,n,r,i){return new wm(e,t,new zp(n),r.map(e=>new Nm(e,this.nodeMapper,this._onDidChangeNodeSlowState.event)),Vm(i)||{})}updateOptions(e={}){this.findController&&(e.defaultFindMode!==void 0&&(this.findController.mode=e.defaultFindMode),e.defaultFindMatchType!==void 0&&(this.findController.matchType=e.defaultFindMatchType)),this.tree.updateOptions(e)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(e){this.tree.scrollTop=e}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(e,t){this.tree.layout(e,t)}style(e){this.tree.style(e)}getInput(){return this.root.element}async setInput(e,t){this.cancelAllRefreshPromises(),this.root.element=e;let n=t&&{viewState:t,focus:[],selection:[]};await this._updateChildren(e,!0,!1,n),n&&(this.tree.setFocus(n.focus),this.tree.setSelection(n.selection)),t&&typeof t.scrollTop==`number`&&(this.scrollTop=t.scrollTop)}cancelAllRefreshPromises(e=!1){this.refreshPromises.forEach(e=>e.cancel()),this.refreshPromises.clear(),e&&(this.subTreeRefreshPromises.forEach(e=>e.cancel()),this.subTreeRefreshPromises.clear())}async _updateChildren(e=this.root.element,t=!0,n=!1,r,i){if(this.root.element===void 0)throw new kp(this.user,`Tree input not set`);this.root.refreshPromise&&(await this.root.refreshPromise,await W.toPromise(this._onDidRender.event));let a=this.getDataNode(e);if(await this.refreshAndRenderNode(a,t,r,i),n)try{this.tree.rerender(a)}catch{}}rerender(e){if(e===void 0||e===this.root.element){this.tree.rerender();return}let t=this.getDataNode(e);this.tree.rerender(t)}getNode(e=this.root.element){let t=this.getDataNode(e),n=this.tree.getNode(t===this.root?null:t);return this.nodeMapper.map(n)}collapse(e,t=!1){let n=this.getDataNode(e);return this.tree.collapse(n===this.root?null:n,t)}async expand(e,t=!1){if(this.root.element===void 0)throw new kp(this.user,`Tree input not set`);this.root.refreshPromise&&(await this.root.refreshPromise,await W.toPromise(this._onDidRender.event));let n=this.getDataNode(e);if(this.tree.hasElement(n)&&!this.tree.isCollapsible(n)||(n.refreshPromise&&(await n.refreshPromise,await W.toPromise(this._onDidRender.event)),n!==this.root&&!n.refreshPromise&&!this.tree.isCollapsed(n)))return!1;let r=this.tree.expand(n===this.root?null:n,t);return n.refreshPromise&&(await n.refreshPromise,await W.toPromise(this._onDidRender.event)),r}setSelection(e,t){let n=e.map(e=>this.getDataNode(e));this.tree.setSelection(n,t)}getSelection(){return this.tree.getSelection().map(e=>e.element)}setFocus(e,t){let n=e.map(e=>this.getDataNode(e));this.tree.setFocus(n,t)}getFocus(){return this.tree.getFocus().map(e=>e.element)}reveal(e,t){this.tree.reveal(this.getDataNode(e),t)}getParentElement(e){let t=this.tree.getParentElement(this.getDataNode(e));return t&&t.element}getFirstElementChild(e=this.root.element){let t=this.getDataNode(e),n=this.tree.getFirstElementChild(t===this.root?null:t);return n&&n.element}getDataNode(e){let t=this.nodes.get(e===this.root.element?null:e);if(!t){let t=this.identityProvider?.getId(e).toString();throw new kp(this.user,`Data tree node not found${t?`: ${t}`:``}`)}return t}async refreshAndRenderNode(e,t,n,r){this.disposables.isDisposed||(await this.refreshNode(e,t,n),!this.disposables.isDisposed&&this.render(e,n,r))}async refreshNode(e,t,n){let r;if(this.subTreeRefreshPromises.forEach((i,a)=>{!r&&jm(a,e)&&(r=i.then(()=>this.refreshNode(e,t,n)))}),r)return r;if(e!==this.root&&this.tree.getNode(e).collapsed){e.hasChildren=!!this.dataSource.hasChildren(e.element),e.stale=!0,this.setChildren(e,[],t,n);return}return this.doRefreshSubTree(e,t,n)}async doRefreshSubTree(e,t,n){let r=cn(async()=>{let r=await this.doRefreshNode(e,t,n);e.stale=!1,await An.settled(r.map(e=>this.doRefreshSubTree(e,t,n)))});return e.refreshPromise=r,this.subTreeRefreshPromises.set(e,r),r.finally(()=>{e.refreshPromise=void 0,this.subTreeRefreshPromises.delete(e)}),r}async doRefreshNode(e,t,n){e.hasChildren=!!this.dataSource.hasChildren(e.element);let r;if(!e.hasChildren)r=Promise.resolve(G.empty());else{let t=this.doGetChildren(e);if(Br(t))r=Promise.resolve(t);else{let n=lr(800);n.then(()=>{e.slow=!0,this._onDidChangeNodeSlowState.fire(e)},e=>null),r=t.finally(()=>n.cancel())}}try{let i=await r;return this.setChildren(e,i,t,n)}catch(t){if(e!==this.root&&this.tree.hasElement(e)&&this.tree.collapse(e),Ua(t))return[];throw t}finally{e.slow&&(e.slow=!1,this._onDidChangeNodeSlowState.fire(e))}}doGetChildren(e){let t=this.refreshPromises.get(e);if(t)return t;let n=this.dataSource.getChildren(e.element);return Br(n)?this.processChildren(n):(t=cn(async()=>this.processChildren(await n)),this.refreshPromises.set(e,t),t.finally(()=>{this.refreshPromises.delete(e)}))}_onDidChangeCollapseState({node:e,deep:t}){e.element!==null&&!e.collapsed&&e.element.stale&&(t?this.collapse(e.element.element):this.refreshAndRenderNode(e.element,!1).catch(Oc))}setChildren(e,t,n,r){let i=[...t];if(e.children.length===0&&i.length===0)return[];let a=new Map,o=new Map;for(let t of e.children)a.set(t.element,t),this.identityProvider&&o.set(t.id,{node:t,collapsed:this.tree.hasElement(t)&&this.tree.isCollapsed(t)});let s=[],c=i.map(t=>{let i=!!this.dataSource.hasChildren(t);if(!this.identityProvider){let n=km({element:t,parent:e,hasChildren:i,defaultCollapseState:this.getDefaultCollapseState(t)});return i&&n.defaultCollapseState===Dp.PreserveOrExpanded&&s.push(n),n}let c=this.identityProvider.getId(t).toString(),l=o.get(c);if(l){let e=l.node;return a.delete(e.element),this.nodes.delete(e.element),this.nodes.set(t,e),e.element=t,e.hasChildren=i,n?l.collapsed?(e.children.forEach(e=>Hm(e,e=>this.nodes.delete(e.element))),e.children.splice(0,e.children.length),e.stale=!0):s.push(e):i&&!l.collapsed&&s.push(e),e}let u=km({element:t,parent:e,id:c,hasChildren:i,defaultCollapseState:this.getDefaultCollapseState(t)});return r&&r.viewState.focus&&r.viewState.focus.indexOf(c)>-1&&r.focus.push(u),r&&r.viewState.selection&&r.viewState.selection.indexOf(c)>-1&&r.selection.push(u),(r&&r.viewState.expanded&&r.viewState.expanded.indexOf(c)>-1||i&&u.defaultCollapseState===Dp.PreserveOrExpanded)&&s.push(u),u});for(let e of a.values())Hm(e,e=>this.nodes.delete(e.element));for(let e of c)this.nodes.set(e.element,e);return wr(e.children,0,e.children.length,c),e!==this.root&&this.autoExpandSingleChildren&&c.length===1&&s.length===0&&(c[0].forceExpanded=!0,s.push(c[0])),s}render(e,t,n){let r=e.children.map(e=>this.asTreeElement(e,t)),i=n&&{...n,diffIdentityProvider:n.diffIdentityProvider&&{getId(e){return n.diffIdentityProvider.getId(e.element)},getGroupId:n.diffIdentityProvider.getGroupId?e=>n.diffIdentityProvider.getGroupId(e.element):void 0}};this.tree.setChildren(e===this.root?null:e,r,i),e!==this.root&&this.tree.setCollapsible(e,e.hasChildren),this._onDidRender.fire()}asTreeElement(e,t){if(e.stale)return{element:e,collapsible:e.hasChildren,collapsed:!0};let n;return t&&t.viewState.expanded&&e.id&&t.viewState.expanded.indexOf(e.id)>-1?n=!1:e.forceExpanded?(n=!1,e.forceExpanded=!1):n=e.defaultCollapseState,{element:e,children:e.hasChildren?G.map(e.children,e=>this.asTreeElement(e,t)):[],collapsible:e.hasChildren,collapsed:n}}processChildren(e){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),e}dispose(){this._onDidRender.dispose(),this._onDidChangeNodeSlowState.dispose(),this.disposables.dispose(),this.tree.dispose()}},Wm=class e{get element(){return{elements:this.node.element.elements.map(e=>e.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(t=>new e(t))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}},Gm=class{constructor(e,t,n,r){this.renderer=e,this.nodeMapper=t,this.compressibleNodeMapperProvider=n,this.onDidChangeTwistieState=r,this.renderedNodes=new Map,this.disposables=[],this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,n,r){this.renderer.renderElement(this.nodeMapper.map(e),t,n.templateData,r)}renderCompressedElements(e,t,n,r){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(e),t,n.templateData,r)}renderTwistie(e,t){return e.slow?(t.classList.add(...pr.asClassNameArray(q.treeItemLoading)),!0):(t.classList.remove(...pr.asClassNameArray(q.treeItemLoading)),!1)}disposeElement(e,t,n,r){this.renderer.disposeElement?.(this.nodeMapper.map(e),t,n.templateData,r)}disposeCompressedElements(e,t,n,r){this.renderer.disposeCompressedElements?.(this.compressibleNodeMapperProvider().map(e),t,n.templateData,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=yo(this.disposables)}};function Km(e){let t=e&&Vm(e);return t&&{...t,keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{...t.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel(t){return e.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(t.map(e=>e.element))}},stickyScrollDelegate:t.stickyScrollDelegate}}var qm=class extends Um{constructor(e,t,n,r,i,a,o={}){super(e,t,n,i,a,o),this.compressionDelegate=r,this.compressibleNodeMapper=new Ap(e=>new Wm(e)),this.filter=o.filter}createTree(e,t,n,r,i){return new Om(e,t,new zp(n),r.map(e=>new Gm(e,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),Km(i)||{})}asTreeElement(e,t){return{incompressible:this.compressionDelegate.isIncompressible(e.element),...super.asTreeElement(e,t)}}render(e,t,n){if(!this.identityProvider)return super.render(e,t);let r=e=>this.identityProvider.getId(e).toString(),i=e=>{let t=new Set;for(let n of e){let e=this.tree.getCompressedTreeNode(n===this.root?null:n);if(e.element)for(let n of e.element.elements)t.add(r(n.element))}return t},a=i(this.tree.getSelection()),o=i(this.tree.getFocus());super.render(e,t,n);let s=this.getSelection(),c=!1,l=this.getFocus(),u=!1,d=e=>{let t=e.element;if(t)for(let e=0;e<t.elements.length;e++){let n=r(t.elements[e].element),i=t.elements[t.elements.length-1].element;a.has(n)&&s.indexOf(i)===-1&&(s.push(i),c=!0),o.has(n)&&l.indexOf(i)===-1&&(l.push(i),u=!0)}e.children.forEach(d)};d(this.tree.getCompressedTreeNode(e===this.root?null:e)),c&&this.setSelection(s),u&&this.setFocus(l)}processChildren(e){return this.filter&&(e=G.filter(e,e=>{let t=Jm(this.filter.filter(e,1));if(t===2)throw Error(`Recursive tree visibility not supported in async data compressed trees`);return t===1})),super.processChildren(e)}};function Jm(e){return typeof e==`boolean`?+!!e:jp(e)?Mp(e.visibility):Mp(e)}var Ym=class extends um{constructor(e,t,n,r,i,a={}){super(e,t,n,r,a),this.user=e,this.dataSource=i,this.identityProvider=a.identityProvider}createModel(e,t){return new dm(e,t)}},Xm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Z=function(e,t){return function(n,r){t(n,r,e)}},Zm=xi(`listService`),Qm=class{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new N,this.lists=[],this._lastFocusedWidget=void 0}setLastFocusedList(e){e!==this._lastFocusedWidget&&(this._lastFocusedWidget?.getHTMLElement().classList.remove(`last-focused`),this._lastFocusedWidget=e,this._lastFocusedWidget?.getHTMLElement().classList.add(`last-focused`))}register(e,t){if(this.lists.some(t=>t.widget===e))throw Error(`Cannot register the same widget multiple times`);let n={widget:e,extraContextKeys:t};return this.lists.push(n),we(e.getHTMLElement())&&this.setLastFocusedList(e),fs(e.onDidFocus(()=>this.setLastFocusedList(e)),k(()=>this.lists.splice(this.lists.indexOf(n),1)),e.onDidDispose(()=>{this.lists=this.lists.filter(e=>e!==n),this._lastFocusedWidget===e&&this.setLastFocusedList(void 0)}))}dispose(){this.disposables.dispose()}},$m=new Wn(`listScrollAtBoundary`,`none`);T.or($m.isEqualTo(`top`),$m.isEqualTo(`both`)),T.or($m.isEqualTo(`bottom`),$m.isEqualTo(`both`));var eh=new Wn(`listFocus`,!0),th=new Wn(`treestickyScrollFocused`,!1),nh=new Wn(`listSupportsMultiselect`,!0);T.and(eh,T.not(nr),th.negate());var rh=new Wn(`listHasSelectionOrFocus`,!1),ih=new Wn(`listDoubleSelection`,!1),ah=new Wn(`listMultiSelection`,!1),oh=new Wn(`listSelectionNavigation`,!1),sh=new Wn(`listSupportsFind`,!0),ch=new Wn(`treeElementCanCollapse`,!1),lh=new Wn(`treeElementHasParent`,!1),uh=new Wn(`treeElementCanExpand`,!1),dh=new Wn(`treeElementHasChild`,!1),fh=new Wn(`treeFindOpen`,!1),ph=`listTypeNavigationMode`,mh=`listAutomaticKeyboardNavigation`;function hh(e,t){let n=e.createScoped(t.getHTMLElement());return eh.bindTo(n),n}function gh(e,t){let n=$m.bindTo(e),r=()=>{let e=t.scrollTop===0,r=t.scrollHeight-t.renderHeight-t.scrollTop<1;e&&r?n.set(`both`):e?n.set(`top`):r?n.set(`bottom`):n.set(`none`)};return r(),t.onDidScroll(r)}var _h=`workbench.list.multiSelectModifier`,vh=`workbench.list.openMode`,yh=`workbench.list.horizontalScrolling`,bh=`workbench.list.defaultFindMode`,xh=`workbench.list.typeNavigationMode`,Sh=`workbench.list.keyboardNavigation`,Ch=`workbench.list.scrollByPage`,wh=`workbench.list.defaultFindMatchType`,Th=`workbench.tree.indent`,Eh=`workbench.tree.renderIndentGuides`,Dh=`workbench.list.smoothScrolling`,Oh=`workbench.list.mouseWheelScrollSensitivity`,kh=`workbench.list.fastScrollSensitivity`,Ah=`workbench.tree.expandMode`,jh=`workbench.tree.enableStickyScroll`,Mh=`workbench.tree.stickyScrollMaxItemCount`;function Nh(e){return e.getValue(_h)===`alt`}var Ph=class extends B{constructor(e){super(),this.configurationService=e,this.useAltAsMultipleSelectionModifier=Nh(e),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(_h)&&(this.useAltAsMultipleSelectionModifier=Nh(this.configurationService))}))}isSelectionSingleChangeEvent(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:Sn(e)}isSelectionRangeChangeEvent(e){return fn(e)}};function Fh(e,t){let n=e.get(C),r=e.get(rl),i=new N;return[{...t,keyboardNavigationDelegate:{mightProducePrintableCharacter(e){return r.mightProducePrintableCharacter(e)}},smoothScrolling:!!n.getValue(Dh),mouseWheelScrollSensitivity:n.getValue(Oh),fastScrollSensitivity:n.getValue(kh),multipleSelectionController:t.multipleSelectionController??i.add(new Ph(n)),keyboardNavigationEventFilter:Uh(r),scrollByPage:!!n.getValue(Ch)},i]}var Ih=class extends Lr{constructor(e,t,n,r,i,a,o,s,c){let l=i.horizontalScrolling===void 0?!!s.getValue(yh):i.horizontalScrolling,[u,d]=c.invokeFunction(Fh,i);super(e,t,n,r,{keyboardSupport:!1,...u,horizontalScrolling:l}),this.disposables.add(d),this.contextKeyService=hh(a,this),this.disposables.add(gh(this.contextKeyService,this)),this.listSupportsMultiSelect=nh.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(i.multipleSelectionSupport!==!1),oh.bindTo(this.contextKeyService).set(!!i.selectionNavigation),this.listHasSelectionOrFocus=rh.bindTo(this.contextKeyService),this.listDoubleSelection=ih.bindTo(this.contextKeyService),this.listMultiSelection=ah.bindTo(this.contextKeyService),this.horizontalScrolling=i.horizontalScrolling,this._useAltAsMultipleSelectionModifier=Nh(s),this.disposables.add(this.contextKeyService),this.disposables.add(o.register(this)),this.updateStyles(i.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{let e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(e.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{let e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)})),this.disposables.add(s.onDidChangeConfiguration(e=>{e.affectsConfiguration(_h)&&(this._useAltAsMultipleSelectionModifier=Nh(s));let t={};if(e.affectsConfiguration(yh)&&this.horizontalScrolling===void 0){let e=!!s.getValue(yh);t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(Ch)){let e=!!s.getValue(Ch);t={...t,scrollByPage:e}}if(e.affectsConfiguration(Dh)){let e=!!s.getValue(Dh);t={...t,smoothScrolling:e}}if(e.affectsConfiguration(Oh)){let e=s.getValue(Oh);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(kh)){let e=s.getValue(kh);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)})),this.navigator=new Bh(this,{configurationService:s,...i}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?po(e):eo)}};Ih=Xm([Z(5,D),Z(6,Zm),Z(7,C),Z(8,w)],Ih);var Lh=class extends hp{constructor(e,t,n,r,i,a,o,s,c){let l=i.horizontalScrolling===void 0?!!s.getValue(yh):i.horizontalScrolling,[u,d]=c.invokeFunction(Fh,i);super(e,t,n,r,{keyboardSupport:!1,...u,horizontalScrolling:l}),this.disposables=new N,this.disposables.add(d),this.contextKeyService=hh(a,this),this.disposables.add(gh(this.contextKeyService,this.widget)),this.horizontalScrolling=i.horizontalScrolling,this.listSupportsMultiSelect=nh.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(i.multipleSelectionSupport!==!1),oh.bindTo(this.contextKeyService).set(!!i.selectionNavigation),this._useAltAsMultipleSelectionModifier=Nh(s),this.disposables.add(this.contextKeyService),this.disposables.add(o.register(this)),this.updateStyles(i.overrideStyles),this.disposables.add(s.onDidChangeConfiguration(e=>{e.affectsConfiguration(_h)&&(this._useAltAsMultipleSelectionModifier=Nh(s));let t={};if(e.affectsConfiguration(yh)&&this.horizontalScrolling===void 0){let e=!!s.getValue(yh);t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(Ch)){let e=!!s.getValue(Ch);t={...t,scrollByPage:e}}if(e.affectsConfiguration(Dh)){let e=!!s.getValue(Dh);t={...t,smoothScrolling:e}}if(e.affectsConfiguration(Oh)){let e=s.getValue(Oh);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(kh)){let e=s.getValue(kh);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)})),this.navigator=new Bh(this,{configurationService:s,...i}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?po(e):eo)}dispose(){this.disposables.dispose(),super.dispose()}};Lh=Xm([Z(5,D),Z(6,Zm),Z(7,C),Z(8,w)],Lh);var Rh=class extends Ep{constructor(e,t,n,r,i,a,o,s,c,l){let u=a.horizontalScrolling===void 0?!!c.getValue(yh):a.horizontalScrolling,[d,f]=l.invokeFunction(Fh,a);super(e,t,n,r,i,{keyboardSupport:!1,...d,horizontalScrolling:u}),this.disposables.add(f),this.contextKeyService=hh(o,this),this.disposables.add(gh(this.contextKeyService,this)),this.listSupportsMultiSelect=nh.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(a.multipleSelectionSupport!==!1),oh.bindTo(this.contextKeyService).set(!!a.selectionNavigation),this.listHasSelectionOrFocus=rh.bindTo(this.contextKeyService),this.listDoubleSelection=ih.bindTo(this.contextKeyService),this.listMultiSelection=ah.bindTo(this.contextKeyService),this.horizontalScrolling=a.horizontalScrolling,this._useAltAsMultipleSelectionModifier=Nh(c),this.disposables.add(this.contextKeyService),this.disposables.add(s.register(this)),this.updateStyles(a.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{let e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(e.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{let e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)})),this.disposables.add(c.onDidChangeConfiguration(e=>{e.affectsConfiguration(_h)&&(this._useAltAsMultipleSelectionModifier=Nh(c));let t={};if(e.affectsConfiguration(yh)&&this.horizontalScrolling===void 0){let e=!!c.getValue(yh);t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(Ch)){let e=!!c.getValue(Ch);t={...t,scrollByPage:e}}if(e.affectsConfiguration(Dh)){let e=!!c.getValue(Dh);t={...t,smoothScrolling:e}}if(e.affectsConfiguration(Oh)){let e=c.getValue(Oh);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(kh)){let e=c.getValue(kh);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)})),this.navigator=new Vh(this,{configurationService:c,...a}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?po(e):eo)}dispose(){this.disposables.dispose(),super.dispose()}};Rh=Xm([Z(6,D),Z(7,Zm),Z(8,C),Z(9,w)],Rh);var zh=class extends B{constructor(e,t){super(),this.widget=e,this._onDidOpen=this._register(new F),this.onDidOpen=this._onDidOpen.event,this._register(W.filter(this.widget.onDidChangeSelection,e=>Ge(e.browserEvent))(e=>this.onSelectionFromKeyboard(e))),this._register(this.widget.onPointer(e=>this.onPointer(e.element,e.browserEvent))),this._register(this.widget.onMouseDblClick(e=>this.onMouseDblClick(e.element,e.browserEvent))),typeof t?.openOnSingleClick!=`boolean`&&t?.configurationService?(this.openOnSingleClick=t?.configurationService.getValue(vh)!==`doubleClick`,this._register(t?.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(vh)&&(this.openOnSingleClick=t?.configurationService.getValue(vh)!==`doubleClick`)}))):this.openOnSingleClick=t?.openOnSingleClick??!0}onSelectionFromKeyboard(e){if(e.elements.length!==1)return;let t=e.browserEvent,n=typeof t.preserveFocus==`boolean`?t.preserveFocus:!0,r=typeof t.pinned==`boolean`?t.pinned:!n;this._open(this.getSelectedElement(),n,r,!1,e.browserEvent)}onPointer(e,t){if(!this.openOnSingleClick||t.detail===2)return;let n=t.button===1,r=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!0,n,r,t)}onMouseDblClick(e,t){if(!t)return;let n=t.target;if(n.classList.contains(`monaco-tl-twistie`)||n.classList.contains(`monaco-icon-label`)&&n.classList.contains(`folder-icon`)&&t.offsetX<16)return;let r=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!1,!0,r,t)}_open(e,t,n,r,i){e&&this._onDidOpen.fire({editorOptions:{preserveFocus:t,pinned:n,revealIfVisible:!0},sideBySide:r,element:e,browserEvent:i})}},Bh=class extends zh{constructor(e,t){super(e,t),this.widget=e}getSelectedElement(){return this.widget.getSelectedElements()[0]}},Vh=class extends zh{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelectedElements()[0]}},Hh=class extends zh{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelection()[0]??void 0}};function Uh(e){let t=!1;return n=>{if(n.toKeyCodeChord().isModifierKey())return!1;if(t)return t=!1,!1;let r=e.softDispatch(n,n.target);return r.kind===1?(t=!0,!1):(t=!1,r.kind===0)}}var Wh=class extends wm{get onDidOpen(){return this.internals.onDidOpen}constructor(e,t,n,r,i,a,o,s,c){let{options:l,getTypeNavigationMode:u,disposable:d}=a.invokeFunction(Zh,i);super(e,t,n,r,l),this.disposables.add(d),this.internals=new Qh(this,i,u,i.overrideStyles,o,s,c),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};Wh=Xm([Z(5,w),Z(6,D),Z(7,Zm),Z(8,C)],Wh);var Gh=class extends Om{constructor(e,t,n,r,i,a,o,s,c){let{options:l,getTypeNavigationMode:u,disposable:d}=a.invokeFunction(Zh,i);super(e,t,n,r,l),this.disposables.add(d),this.internals=new Qh(this,i,u,i.overrideStyles,o,s,c),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};Gh=Xm([Z(5,w),Z(6,D),Z(7,Zm),Z(8,C)],Gh);var Kh=class extends Ym{constructor(e,t,n,r,i,a,o,s,c,l){let{options:u,getTypeNavigationMode:d,disposable:f}=o.invokeFunction(Zh,a);super(e,t,n,r,i,u),this.disposables.add(f),this.internals=new Qh(this,a,d,a.overrideStyles,s,c,l),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles!==void 0&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};Kh=Xm([Z(6,w),Z(7,D),Z(8,Zm),Z(9,C)],Kh);var qh=class extends Um{get onDidOpen(){return this.internals.onDidOpen}constructor(e,t,n,r,i,a,o,s,c,l){let{options:u,getTypeNavigationMode:d,disposable:f}=o.invokeFunction(Zh,a);super(e,t,n,r,i,u),this.disposables.add(f),this.internals=new Qh(this,a,d,a.overrideStyles,s,c,l),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};qh=Xm([Z(6,w),Z(7,D),Z(8,Zm),Z(9,C)],qh);var Jh=class extends qm{constructor(e,t,n,r,i,a,o,s,c,l,u){let{options:d,getTypeNavigationMode:f,disposable:p}=s.invokeFunction(Zh,o);super(e,t,n,r,i,a,d),this.disposables.add(p),this.internals=new Qh(this,o,f,o.overrideStyles,c,l,u),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};Jh=Xm([Z(7,w),Z(8,D),Z(9,Zm),Z(10,C)],Jh);function Yh(e){let t=e.getValue(bh);if(t===`highlight`)return Kp.Highlight;if(t===`filter`)return Kp.Filter;let n=e.getValue(Sh);if(n===`simple`||n===`highlight`)return Kp.Highlight;if(n===`filter`)return Kp.Filter}function Xh(e){let t=e.getValue(wh);if(t===`fuzzy`)return qp.Fuzzy;if(t===`contiguous`)return qp.Contiguous}function Zh(e,t){let n=e.get(C),r=e.get(bi),i=e.get(D),a=e.get(w),o=()=>{let e=i.getContextKeyValue(ph);if(e===`automatic`)return Me.Automatic;if(e===`trigger`||i.getContextKeyValue(mh)===!1)return Me.Trigger;let t=n.getValue(xh);if(t===`automatic`)return Me.Automatic;if(t===`trigger`)return Me.Trigger},s=t.horizontalScrolling===void 0?!!n.getValue(yh):t.horizontalScrolling,[c,l]=a.invokeFunction(Fh,t),u=t.paddingBottom,d=t.renderIndentGuides===void 0?n.getValue(Eh):t.renderIndentGuides;return{getTypeNavigationMode:o,disposable:l,options:{keyboardSupport:!1,...c,indent:typeof n.getValue(Th)==`number`?n.getValue(Th):void 0,renderIndentGuides:d,smoothScrolling:!!n.getValue(Dh),defaultFindMode:t.defaultFindMode??Yh(n),defaultFindMatchType:t.defaultFindMatchType??Xh(n),horizontalScrolling:s,scrollByPage:!!n.getValue(Ch),paddingBottom:u,hideTwistiesOfChildlessElements:t.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:t.expandOnlyOnTwistieClick??n.getValue(Ah)===`doubleClick`,contextViewProvider:r,findWidgetStyles:cs,enableStickyScroll:!!n.getValue(jh),stickyScrollMaxItemCount:Number(n.getValue(Mh))}}}var Qh=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(e,t,n,r,i,a,o){this.tree=e,this.disposables=[],this.contextKeyService=hh(i,e),this.disposables.push(gh(this.contextKeyService,e)),this.listSupportsMultiSelect=nh.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(t.multipleSelectionSupport!==!1),oh.bindTo(this.contextKeyService).set(!!t.selectionNavigation),this.listSupportFindWidget=sh.bindTo(this.contextKeyService),this.listSupportFindWidget.set(t.findWidgetEnabled??!0),this.hasSelectionOrFocus=rh.bindTo(this.contextKeyService),this.hasDoubleSelection=ih.bindTo(this.contextKeyService),this.hasMultiSelection=ah.bindTo(this.contextKeyService),this.treeElementCanCollapse=ch.bindTo(this.contextKeyService),this.treeElementHasParent=lh.bindTo(this.contextKeyService),this.treeElementCanExpand=uh.bindTo(this.contextKeyService),this.treeElementHasChild=dh.bindTo(this.contextKeyService),this.treeFindOpen=fh.bindTo(this.contextKeyService),this.treeStickyScrollFocused=th.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=Nh(o),this.updateStyleOverrides(r);let s=()=>{let t=e.getFocus()[0];if(!t)return;let n=e.getNode(t);this.treeElementCanCollapse.set(n.collapsible&&!n.collapsed),this.treeElementHasParent.set(!!e.getParentElement(t)),this.treeElementCanExpand.set(n.collapsible&&n.collapsed),this.treeElementHasChild.set(!!e.getFirstElementChild(t))},c=new Set;c.add(ph),c.add(mh),this.disposables.push(this.contextKeyService,a.register(e),e.onDidChangeSelection(()=>{let t=e.getSelection(),n=e.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(t.length>0||n.length>0),this.hasMultiSelection.set(t.length>1),this.hasDoubleSelection.set(t.length===2)})}),e.onDidChangeFocus(()=>{let t=e.getSelection(),n=e.getFocus();this.hasSelectionOrFocus.set(t.length>0||n.length>0),s()}),e.onDidChangeCollapseState(s),e.onDidChangeModel(s),e.onDidChangeFindOpenState(e=>this.treeFindOpen.set(e)),e.onDidChangeStickyScrollFocused(e=>this.treeStickyScrollFocused.set(e)),o.onDidChangeConfiguration(r=>{let i={};if(r.affectsConfiguration(_h)&&(this._useAltAsMultipleSelectionModifier=Nh(o)),r.affectsConfiguration(Th)){let e=o.getValue(Th);i={...i,indent:e}}if(r.affectsConfiguration(Eh)&&t.renderIndentGuides===void 0){let e=o.getValue(Eh);i={...i,renderIndentGuides:e}}if(r.affectsConfiguration(Dh)){let e=!!o.getValue(Dh);i={...i,smoothScrolling:e}}if(r.affectsConfiguration(bh)||r.affectsConfiguration(Sh)){let e=Yh(o);i={...i,defaultFindMode:e}}if(r.affectsConfiguration(xh)||r.affectsConfiguration(Sh)){let e=n();i={...i,typeNavigationMode:e}}if(r.affectsConfiguration(wh)){let e=Xh(o);i={...i,defaultFindMatchType:e}}if(r.affectsConfiguration(yh)&&t.horizontalScrolling===void 0){let e=!!o.getValue(yh);i={...i,horizontalScrolling:e}}if(r.affectsConfiguration(Ch)){let e=!!o.getValue(Ch);i={...i,scrollByPage:e}}if(r.affectsConfiguration(Ah)&&t.expandOnlyOnTwistieClick===void 0&&(i={...i,expandOnlyOnTwistieClick:o.getValue(Ah)===`doubleClick`}),r.affectsConfiguration(jh)){let e=o.getValue(jh);i={...i,enableStickyScroll:e}}if(r.affectsConfiguration(Mh)){let e=Math.max(1,o.getValue(Mh));i={...i,stickyScrollMaxItemCount:e}}if(r.affectsConfiguration(Oh)){let e=o.getValue(Oh);i={...i,mouseWheelScrollSensitivity:e}}if(r.affectsConfiguration(kh)){let e=o.getValue(kh);i={...i,fastScrollSensitivity:e}}Object.keys(i).length>0&&e.updateOptions(i)}),this.contextKeyService.onDidChangeContext(t=>{t.affectsSome(c)&&e.updateOptions({typeNavigationMode:n()})})),this.navigator=new Hh(e,{configurationService:o,...t}),this.disposables.push(this.navigator)}updateOptions(e){e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyleOverrides(e){this.tree.style(e?po(e):eo)}dispose(){this.disposables=yo(this.disposables)}};Qh=Xm([Z(4,D),Z(5,Zm),Z(6,C)],Qh),Wo.as(Mn.Configuration).registerConfiguration({id:`workbench`,order:7,title:L(1768,`Workbench`),type:`object`,properties:{[_h]:{type:`string`,enum:[`ctrlCmd`,`alt`],markdownEnumDescriptions:[L(1769,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),L(1770,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:`ctrlCmd`,description:L(1771,`The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.`)},[vh]:{type:`string`,enum:[`singleClick`,`doubleClick`],default:`singleClick`,description:L(1772,`Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.`)},[yh]:{type:`boolean`,default:!1,description:L(1773,`Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.`)},[Ch]:{type:`boolean`,default:!1,description:L(1774,`Controls whether clicks in the scrollbar scroll page by page.`)},[Th]:{type:`number`,default:8,minimum:4,maximum:40,description:L(1775,`Controls tree indentation in pixels.`)},[Eh]:{type:`string`,enum:[`none`,`onHover`,`always`],default:`onHover`,description:L(1776,`Controls whether the tree should render indent guides.`)},[Dh]:{type:`boolean`,default:!1,description:L(1777,`Controls whether lists and trees have smooth scrolling.`)},[Oh]:{type:`number`,default:1,markdownDescription:L(1778,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[kh]:{type:`number`,default:5,markdownDescription:L(1779,"Scrolling speed multiplier when pressing `Alt`.")},[bh]:{type:`string`,enum:[`highlight`,`filter`],enumDescriptions:[L(1780,`Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements.`),L(1781,`Filter elements when searching.`)],default:`highlight`,description:L(1782,`Controls the default find mode for lists and trees in the workbench.`)},[Sh]:{type:`string`,enum:[`simple`,`highlight`,`filter`],enumDescriptions:[L(1783,`Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes.`),L(1784,`Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements.`),L(1785,`Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.`)],default:`highlight`,description:L(1786,`Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.`),deprecated:!0,deprecationMessage:L(1787,`Please use 'workbench.list.defaultFindMode' and 'workbench.list.typeNavigationMode' instead.`)},[wh]:{type:`string`,enum:[`fuzzy`,`contiguous`],enumDescriptions:[L(1788,`Use fuzzy matching when searching.`),L(1789,`Use contiguous matching when searching.`)],default:`fuzzy`,description:L(1790,`Controls the type of matching used when searching lists and trees in the workbench.`)},[Ah]:{type:`string`,enum:[`singleClick`,`doubleClick`],default:`singleClick`,description:L(1791,`Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.`)},[jh]:{type:`boolean`,default:!0,description:L(1792,`Controls whether sticky scrolling is enabled in trees.`)},[Mh]:{type:`number`,minimum:1,default:7,markdownDescription:L(1793,`Controls the number of sticky elements displayed in the tree when {0} is enabled.`,"`#workbench.tree.enableStickyScroll#`")},[xh]:{type:`string`,enum:[`automatic`,`trigger`],default:`automatic`,markdownDescription:L(1794,"Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.")}}});var $h=class extends B{constructor(e,t=[]){super(),this.logger=new sa([e,...t]),this._register(e.onDidChangeLogLevel(e=>this.setLevel(e)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(e){this.logger.setLevel(e)}getLevel(){return this.logger.getLevel()}trace(e,...t){this.logger.trace(e,...t)}debug(e,...t){this.logger.debug(e,...t)}info(e,...t){this.logger.info(e,...t)}warn(e,...t){this.logger.warn(e,...t)}error(e,...t){this.logger.error(e,...t)}},eg;(function(e){e[e.Hint=1]=`Hint`,e[e.Info=2]=`Info`,e[e.Warning=4]=`Warning`,e[e.Error=8]=`Error`})(eg||={}),(function(e){function t(e,t){return t-e}e.compare=t;let n=Object.create(null);n[e.Error]=L(1795,`Error`),n[e.Warning]=L(1796,`Warning`),n[e.Info]=L(1797,`Info`);function r(e){return n[e]||``}e.toString=r;let i=Object.create(null);i[e.Error]=L(1798,`Errors`),i[e.Warning]=L(1799,`Warnings`),i[e.Info]=L(1800,`Infos`);function a(e){return i[e]||``}e.toStringPlural=a;function o(t){switch(t){case R.Error:return e.Error;case R.Warning:return e.Warning;case R.Info:return e.Info;case R.Ignore:return e.Hint}}e.fromSeverity=o;function s(t){switch(t){case e.Error:return R.Error;case e.Warning:return R.Warning;case e.Info:return R.Info;case e.Hint:return R.Ignore}}e.toSeverity=s})(eg||={});var tg;(function(e){function t(e){return n(e,!0)}e.makeKey=t;function n(e,t){let n=[``];return e.source?n.push(e.source.replace(`¦`,`\\¦`)):n.push(``),e.code?typeof e.code==`string`?n.push(e.code.replace(`¦`,`\\¦`)):n.push(e.code.value.replace(`¦`,`\\¦`)):n.push(``),e.severity!==void 0&&e.severity!==null?n.push(eg.toString(e.severity)):n.push(``),e.message&&t?n.push(e.message.replace(`¦`,`\\¦`)):n.push(``),e.startLineNumber!==void 0&&e.startLineNumber!==null?n.push(e.startLineNumber.toString()):n.push(``),e.startColumn!==void 0&&e.startColumn!==null?n.push(e.startColumn.toString()):n.push(``),e.endLineNumber!==void 0&&e.endLineNumber!==null?n.push(e.endLineNumber.toString()):n.push(``),e.endColumn!==void 0&&e.endColumn!==null?n.push(e.endColumn.toString()):n.push(``),n.push(``),n.join(`¦`)}e.makeKeyOptionalMessage=n})(tg||={});var ng=xi(`markerService`),rg=new Set([J.inMemory,J.vscodeSourceControl,J.walkThrough,J.walkThroughSnippet,J.vscodeChatCodeBlock,J.vscodeTerminal]),ig=class{constructor(){this._byResource=new Qi,this._byOwner=new Map}set(e,t,n){let r=this._byResource.get(e);r||(r=new Map,this._byResource.set(e,r)),r.set(t,n);let i=this._byOwner.get(t);i||(i=new Qi,this._byOwner.set(t,i)),i.set(e,n)}get(e,t){return this._byResource.get(e)?.get(t)}delete(e,t){let n=!1,r=!1,i=this._byResource.get(e);i&&(n=i.delete(t));let a=this._byOwner.get(t);if(a&&(r=a.delete(e)),n!==r)throw Error(`illegal state`);return n&&r}values(e){return typeof e==`string`?this._byOwner.get(e)?.values()??G.empty():Xo.isUri(e)?this._byResource.get(e)?.values()??G.empty():G.map(G.concat(...this._byOwner.values()),e=>e[1])}},ag=class{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new Qi,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(let t of e){let e=this._data.get(t);e&&this._substract(e);let n=this._resourceStats(t);this._add(n),this._data.set(t,n)}}_resourceStats(e){let t={errors:0,warnings:0,infos:0,unknowns:0};if(rg.has(e.scheme))return t;for(let{severity:n}of this._service.read({resource:e}))n===eg.Error?t.errors+=1:n===eg.Warning?t.warnings+=1:n===eg.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}},og=class e{constructor(){this._onMarkerChanged=new ko({merge:e._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new ig,this._stats=new ag(this),this._filteredResources=new Qi}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(let n of t||[])this.changeOne(e,n,[])}changeOne(t,n,r){if(gs(r))this._data.delete(n,t)&&this._onMarkerChanged.fire([n]);else{let i=[];for(let a of r){let r=e._toMarker(t,n,a);r&&i.push(r)}this._data.set(n,t,i),this._onMarkerChanged.fire([n])}}static _toMarker(e,t,n){let{code:r,severity:i,message:a,source:o,startLineNumber:s,startColumn:c,endLineNumber:l,endColumn:u,relatedInformation:d,modelVersionId:f,tags:p,origin:m}=n;if(a)return s=s>0?s:1,c=c>0?c:1,l=l>=s?l:s,u=u>0?u:c,{resource:t,owner:e,code:r,severity:i,message:a,source:o,startLineNumber:s,startColumn:c,endLineNumber:l,endColumn:u,relatedInformation:d,modelVersionId:f,tags:p,origin:m}}changeAll(t,n){let r=[],i=this._data.values(t);if(i)for(let e of i){let n=G.first(e);n&&(r.push(n.resource),this._data.delete(n.resource,t))}if(So(n)){let i=new Qi;for(let{resource:a,marker:o}of n){let n=e._toMarker(t,a,o);if(!n)continue;let s=i.get(a);s?s.push(n):(i.set(a,[n]),r.push(a))}for(let[e,n]of i)this._data.set(e,t,n)}r.length>0&&this._onMarkerChanged.fire(r)}_createFilteredMarker(e,t){let n=t.length===1?L(1801,`Problems are paused because: "{0}"`,t[0]):L(1802,`Problems are paused because: "{0}" and {1} more`,t[0],t.length-1);return{owner:`markersFilter`,resource:e,severity:eg.Info,message:n,startLineNumber:1,startColumn:1,endLineNumber:1,endColumn:1}}read(t=Object.create(null)){let{owner:n,resource:r,severities:i,take:a}=t;if((!a||a<0)&&(a=-1),n&&r){let o=t.ignoreResourceFilters?void 0:this._filteredResources.get(r);if(o?.length)return[this._createFilteredMarker(r,o)];let s=this._data.get(r,n);if(!s)return[];let c=[];for(let n of s){if(a>0&&c.length===a)break;let o=t.ignoreResourceFilters?void 0:this._filteredResources.get(r);o?.length?c.push(this._createFilteredMarker(r,o)):e._accept(n,i)&&c.push(n)}return c}else{let o=!n&&!r?this._data.values():this._data.values(r??n),s=[],c=new Jc;for(let n of o)for(let r of n){if(c.has(r.resource))continue;if(a>0&&s.length===a)break;let n=t.ignoreResourceFilters?void 0:this._filteredResources.get(r.resource);n?.length?(s.push(this._createFilteredMarker(r.resource,n)),c.add(r.resource)):e._accept(r,i)&&s.push(r)}return s}}static _accept(e,t){return t===void 0||(t&e.severity)===e.severity}static _merge(e){let t=new Qi;for(let n of e)for(let e of n)t.set(e,!0);return Array.from(t.keys())}},sg=class{constructor(){this._modifierObservables=new WeakMap}readModifierKeyStatus(e,t){let n=e instanceof Window?e:x(e),r=this._modifierObservables.get(n);if(!r){let e=Do.getInstance();r=Ii(this,e.event,()=>({ctrlKey:e.keyStatus.ctrlKey,shiftKey:e.keyStatus.shiftKey,altKey:e.keyStatus.altKey,metaKey:e.keyStatus.metaKey})),this._modifierObservables.set(n,r)}return r.read(t)}createFocusTracker(e,t){let n=t.add(Rt(e)),r=I(`isFocused`,(e=>{if(e instanceof Window)return e.document.hasFocus();let t=e.getRootNode()instanceof ShadowRoot?e.getRootNode():null,n=t?t.activeElement:e.ownerDocument.activeElement;return e.contains(n)})(e));return t.add(n.onDidFocus(()=>r.set(!0,void 0))),t.add(n.onDidBlur(()=>r.set(!1,void 0))),r}createHoverTracker(e,t){let n=I(`isHovered`,!1),r=()=>n.set(!0,void 0),i=()=>n.set(!1,void 0);return e.addEventListener(`mouseenter`,r),e.addEventListener(`mouseleave`,i),t.add({dispose:()=>{e.removeEventListener(`mouseenter`,r),e.removeEventListener(`mouseleave`,i)}}),n}createDomFocusTracker(e){return Rt(e)}};E(Tr,sg,1);var cg=xi(`workspaceTrustManagementService`),lg;(function(e){e[e.API=0]=`API`,e[e.USER=1]=`USER`})(lg||={});var ug=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},dg=function(e,t){return function(n,r){t(n,r,e)}},fg=class{constructor(e){this._commandService=e}async open(e,t){if(!xr(e,J.command))return!1;if(!t?.allowCommands||(typeof e==`string`&&(e=Xo.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path)))return!0;let n=[];try{n=ln(decodeURIComponent(e.query))}catch{try{n=ln(e.query)}catch{}}return Array.isArray(n)||(n=[n]),await this._commandService.executeCommand(e.path,...n),!0}};fg=ug([dg(0,$t)],fg);var pg=class{constructor(e){this._editorService=e}async open(e,t){typeof e==`string`&&(e=Xo.parse(e));let{selection:n,uri:r}=jn(e);return e=r,e.scheme===J.file&&(e=$a(e)),await this._editorService.openCodeEditor({resource:e,options:{selection:n,source:t?.fromUserGesture?lg.USER:lg.API,...t?.editorOptions}},this._editorService.getFocusedCodeEditor(),t?.openToSide),!0}};pg=ug([dg(0,$s)],pg);var mg=class{constructor(e,t){this._openers=new wa,this._validators=new wa,this._resolvers=new wa,this._resolvedUriTargets=new Qi(e=>e.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new wa,this._defaultExternalOpener={openExternal:async e=>(ge(e,J.http,J.https)?qs(e):ba.location.href=e,!0)},this._openers.push({open:async(e,t)=>t?.openExternal||ge(e,J.mailto,J.http,J.https,J.vsls)?(await this._doOpenExternal(e,t),!0):!1}),this._openers.push(new fg(t)),this._openers.push(new pg(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}async open(e,t){let n=typeof e==`string`?Xo.parse(e):e;if(n.scheme===J.internal)return!1;if(!t?.skipValidation){let r=this._resolvedUriTargets.get(n)??e;for(let e of this._validators)if(!await e.shouldOpen(r,t))return!1}for(let n of this._openers)if(await n.open(e,t))return!0;return!1}async resolveExternalUri(e,t){for(let n of this._resolvers)try{let r=await n.resolveExternalUri(e,t);if(r)return this._resolvedUriTargets.has(r.resolved)||this._resolvedUriTargets.set(r.resolved,e),r}catch{}throw Error(`Could not resolve external URI: `+e.toString())}async _doOpenExternal(e,t){let n=typeof e==`string`?Xo.parse(e):e,r;try{r=(await this.resolveExternalUri(n,t)).resolved}catch{r=n}let i;if(i=typeof e==`string`&&n.toString()===r.toString()?e:encodeURI(r.toString(!0)),t?.allowContributedOpeners){let e=typeof t?.allowContributedOpeners==`string`?t?.allowContributedOpeners:void 0;for(let t of this._externalOpeners)if(await t.openExternal(i,{sourceUri:n,preferredOpenerId:e},Jt.None))return!0}return this._defaultExternalOpener.openExternal(i,{sourceUri:n},Jt.None)}dispose(){this._validators.clear()}};mg=ug([dg(0,$s),dg(1,$t)],mg);var hg=xi(`renameSymbolTrackerService`),gg=class{constructor(){this._trackedWord=I(this,void 0),this.trackedWord=this._trackedWord,this._trackedWord.set(void 0,void 0)}},_g={enableSplitViewResizing:!0,renderSideBySide:!0,renderMarginRevertIcon:!0,renderGutterMenu:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:`inherit`,diffAlgorithm:`advanced`,accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0,useTrueInlineView:!1},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0,compactMode:!1},vg={...Object.freeze({id:`editor`,order:5,type:`object`,title:L(163,`Editor`),scope:6}),properties:{"editor.tabSize":{type:`number`,default:Di.tabSize,minimum:1,maximum:100,markdownDescription:L(164,`The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.`,"`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:`string`,enum:[`tabSize`]},{type:`number`,minimum:1}],default:`tabSize`,markdownDescription:L(165,'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:`boolean`,default:Di.insertSpaces,markdownDescription:L(166,"Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:`boolean`,default:Di.detectIndentation,markdownDescription:L(167,`Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.`,"`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:`boolean`,default:Di.trimAutoWhitespace,description:L(168,`Remove trailing auto inserted whitespace.`)},"editor.largeFileOptimizations":{type:`boolean`,default:Di.largeFileOptimizations,description:L(169,`Special handling for large files to disable certain memory intensive features.`)},"editor.wordBasedSuggestions":{enum:[`off`,`offWithInlineSuggestions`,`currentDocument`,`matchingDocuments`,`allDocuments`],default:`offWithInlineSuggestions`,enumDescriptions:[L(170,`Turn off Word Based Suggestions.`),L(171,`Turn off Word Based Suggestions when Inline Suggestions are present.`),L(172,`Only suggest words from the active document.`),L(173,`Suggest words from all open documents of the same language.`),L(174,`Suggest words from all open documents.`)],description:L(175,`Controls whether completions should be computed based on words in the document and from which documents they are computed.`),experiment:{mode:`auto`}},"editor.semanticHighlighting.enabled":{enum:[!0,!1,`configuredByTheme`],enumDescriptions:[L(176,`Semantic highlighting enabled for all color themes.`),L(177,`Semantic highlighting disabled for all color themes.`),L(178,"Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:`configuredByTheme`,description:L(179,`Controls whether the semanticHighlighting is shown for the languages that support it.`)},"editor.stablePeek":{type:`boolean`,default:!1,markdownDescription:L(180,"Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:`integer`,default:2e4,description:L(181,`Lines above this length will not be tokenized for performance reasons`)},"editor.experimental.asyncTokenization":{type:`boolean`,default:!0,description:L(182,`Controls whether the tokenization should happen asynchronously on a web worker.`),tags:[`experimental`]},"editor.experimental.asyncTokenizationLogging":{type:`boolean`,default:!1,description:L(183,`Controls whether async tokenization should be logged. For debugging only.`)},"editor.experimental.asyncTokenizationVerification":{type:`boolean`,default:!1,description:L(184,`Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only.`),tags:[`experimental`]},"editor.experimental.treeSitterTelemetry":{type:`boolean`,default:!1,markdownDescription:L(185,"Controls whether tree sitter parsing should be turned on and telemetry collected. Setting `#editor.experimental.preferTreeSitter#` for specific languages will take precedence."),tags:[`experimental`],experiment:{mode:`auto`}},"editor.experimental.preferTreeSitter.css":{type:`boolean`,default:!1,markdownDescription:L(186,"Controls whether tree sitter parsing should be turned on for css. This will take precedence over `#editor.experimental.treeSitterTelemetry#` for css."),tags:[`experimental`],experiment:{mode:`auto`}},"editor.experimental.preferTreeSitter.typescript":{type:`boolean`,default:!1,markdownDescription:L(187,"Controls whether tree sitter parsing should be turned on for typescript. This will take precedence over `#editor.experimental.treeSitterTelemetry#` for typescript."),tags:[`experimental`],experiment:{mode:`auto`}},"editor.experimental.preferTreeSitter.ini":{type:`boolean`,default:!1,markdownDescription:L(188,"Controls whether tree sitter parsing should be turned on for ini. This will take precedence over `#editor.experimental.treeSitterTelemetry#` for ini."),tags:[`experimental`],experiment:{mode:`auto`}},"editor.experimental.preferTreeSitter.regex":{type:`boolean`,default:!1,markdownDescription:L(189,"Controls whether tree sitter parsing should be turned on for regex. This will take precedence over `#editor.experimental.treeSitterTelemetry#` for regex."),tags:[`experimental`],experiment:{mode:`auto`}},"editor.language.brackets":{type:[`array`,`null`],default:null,description:L(190,`Defines the bracket symbols that increase or decrease the indentation.`),items:{type:`array`,items:[{type:`string`,description:L(191,`The opening bracket character or string sequence.`)},{type:`string`,description:L(192,`The closing bracket character or string sequence.`)}]}},"editor.language.colorizedBracketPairs":{type:[`array`,`null`],default:null,description:L(193,`Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled.`),items:{type:`array`,items:[{type:`string`,description:L(194,`The opening bracket character or string sequence.`)},{type:`string`,description:L(195,`The closing bracket character or string sequence.`)}]}},"diffEditor.maxComputationTime":{type:`number`,default:_g.maxComputationTime,description:L(196,`Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.`)},"diffEditor.maxFileSize":{type:`number`,default:_g.maxFileSize,description:L(197,`Maximum file size in MB for which to compute diffs. Use 0 for no limit.`)},"diffEditor.renderSideBySide":{type:`boolean`,default:_g.renderSideBySide,description:L(198,`Controls whether the diff editor shows the diff side by side or inline.`),agentsWindow:{default:!0}},"diffEditor.renderSideBySideInlineBreakpoint":{type:`number`,default:_g.renderSideBySideInlineBreakpoint,description:L(199,`If the diff editor width is smaller than this value, the inline view is used.`)},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:`boolean`,default:_g.useInlineViewWhenSpaceIsLimited,description:L(200,`If enabled and the editor width is too small, the inline view is used.`),agentsWindow:{default:!0}},"diffEditor.renderMarginRevertIcon":{type:`boolean`,default:_g.renderMarginRevertIcon,description:L(201,`When enabled, the diff editor shows arrows in its glyph margin to revert changes.`),agentsWindow:{default:!1}},"diffEditor.renderGutterMenu":{type:`boolean`,default:_g.renderGutterMenu,description:L(202,`When enabled, the diff editor shows a special gutter for revert and stage actions.`),agentsWindow:{default:!1}},"diffEditor.ignoreTrimWhitespace":{type:`boolean`,default:_g.ignoreTrimWhitespace,description:L(203,`When enabled, the diff editor ignores changes in leading or trailing whitespace.`)},"diffEditor.renderIndicators":{type:`boolean`,default:_g.renderIndicators,description:L(204,`Controls whether the diff editor shows +/- indicators for added/removed changes.`),agentsWindow:{default:!1}},"diffEditor.codeLens":{type:`boolean`,default:_g.diffCodeLens,description:L(205,`Controls whether the editor shows CodeLens.`)},"diffEditor.wordWrap":{type:`string`,enum:[`off`,`on`,`inherit`],default:_g.diffWordWrap,markdownEnumDescriptions:[L(206,`Lines will never wrap.`),L(207,`Lines will wrap at the viewport width.`),L(208,`Lines will wrap according to the {0} setting.`,"`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:`string`,enum:[`legacy`,`advanced`,`advanced-external`,`advanced-wasm`],default:_g.diffAlgorithm,markdownEnumDescriptions:[L(209,`Uses the legacy diffing algorithm.`),L(210,`Uses the advanced diffing algorithm.`),L(211,"Uses the advanced diffing algorithm from the external `@vscode/diff` package (pure JavaScript)."),L(212,"Uses the advanced diffing algorithm from the external `@vscode/diff` package (WebAssembly).")]},"diffEditor.hideUnchangedRegions.enabled":{type:`boolean`,default:_g.hideUnchangedRegions.enabled,markdownDescription:L(213,`Controls whether the diff editor shows unchanged regions.`),agentsWindow:{default:!0}},"diffEditor.hideUnchangedRegions.revealLineCount":{type:`integer`,default:_g.hideUnchangedRegions.revealLineCount,markdownDescription:L(214,`Controls how many lines are used for unchanged regions.`),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:`integer`,default:_g.hideUnchangedRegions.minimumLineCount,markdownDescription:L(215,`Controls how many lines are used as a minimum for unchanged regions.`),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:`integer`,default:_g.hideUnchangedRegions.contextLineCount,markdownDescription:L(216,`Controls how many lines are used as context when comparing unchanged regions.`),minimum:1},"diffEditor.experimental.showMoves":{type:`boolean`,default:_g.experimental.showMoves,markdownDescription:L(217,`Controls whether the diff editor should show detected code moves.`)},"diffEditor.experimental.showEmptyDecorations":{type:`boolean`,default:_g.experimental.showEmptyDecorations,description:L(218,`Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.`)},"diffEditor.experimental.useTrueInlineView":{type:`boolean`,default:_g.experimental.useTrueInlineView,description:L(219,`If enabled and the editor uses the inline view, word changes are rendered inline.`)}}};function yg(e){return e.type!==void 0||e.anyOf!==void 0}for(let e of zt){let t=e.schema;if(t!==void 0)if(yg(t))vg.properties[`editor.${e.name}`]=t;else for(let e in t)Object.hasOwnProperty.call(t,e)&&(vg.properties[e]=t[e])}var bg=null;function xg(){return bg===null&&(bg=Object.create(null),Object.keys(vg.properties).forEach(e=>{bg[e]=!0})),bg}function Sg(e){return xg()[`editor.${e}`]||!1}function Cg(e){return xg()[`diffEditor.${e}`]||!1}Wo.as(Mn.Configuration).registerConfiguration(vg);var wg=[],Tg=[],Eg=[];function Dg(e,t=!1){Og(e,!1,t)}function Og(e,t,n){let r=kg(e,t);wg.push(r),r.userConfigured?Eg.push(r):Tg.push(r),n&&!r.userConfigured&&wg.forEach(e=>{e.mime===r.mime||e.userConfigured||(r.extension&&e.extension===r.extension&&console.warn(`Overwriting extension <<${r.extension}>> to now point to mime <<${r.mime}>>`),r.filename&&e.filename===r.filename&&console.warn(`Overwriting filename <<${r.filename}>> to now point to mime <<${r.mime}>>`),r.filepattern&&e.filepattern===r.filepattern&&console.warn(`Overwriting filepattern <<${r.filepattern}>> to now point to mime <<${r.mime}>>`),r.firstline&&e.firstline===r.firstline&&console.warn(`Overwriting firstline <<${r.firstline}>> to now point to mime <<${r.mime}>>`))})}function kg(e,t){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:t,filepatternParsed:e.filepattern?ra(e.filepattern,{ignoreCase:!0}):void 0,filepatternOnPath:e.filepattern?e.filepattern.indexOf(an.sep)>=0:!1}}function Ag(){wg=wg.filter(e=>e.userConfigured),Tg=[]}function jg(e,t){return Mg(e,t).map(e=>e.id)}function Mg(e,t){let n;if(e)switch(e.scheme){case J.file:n=e.fsPath;break;case J.data:n=bc.parseMetaData(e).get(bc.META_DATA_LABEL);break;case J.vscodeNotebookCell:n=void 0;break;default:n=e.path}if(!n)return[{id:`unknown`,mime:Uo.unknown}];n=n.toLowerCase();let r=f(n),i=Ng(n,r,Eg);if(i)return[i,{id:ke,mime:Uo.text}];let a=Ng(n,r,Tg);if(a)return[a,{id:ke,mime:Uo.text}];if(t){let e=Pg(t);if(e)return[e,{id:ke,mime:Uo.text}]}return[{id:`unknown`,mime:Uo.unknown}]}function Ng(e,t,n){let r,i,a;for(let o=n.length-1;o>=0;o--){let s=n[o];if(Os(t,s.filename)){r=s;break}if(s.filepattern&&(!i||s.filepattern.length>i.filepattern.length)){let n=s.filepatternOnPath?e:t;s.filepatternParsed?.(n)&&(i=s)}s.extension&&(!a||s.extension.length>a.extension.length)&&Ac(t,s.extension)&&(a=s)}if(r)return r;if(i)return i;if(a)return a}function Pg(e){if(Xc(e)&&(e=e.substring(1)),e.length>0)for(let t=wg.length-1;t>=0;t--){let n=wg[t];if(!n.firstline)continue;let r=e.match(n.firstline);if(r&&r.length>0)return n}}var Fg=Object.prototype.hasOwnProperty,Ig=`vs.editor.nullLanguage`,Lg=class{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(Ig,0),this._register(ke,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;let t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||Ig}},Rg=class e extends B{static{this.instanceCount=0}constructor(t=!0,n=!1){super(),this._onDidChange=this._register(new F),this.onDidChange=this._onDidChange.event,e.instanceCount++,this._warnOnOverwrite=n,this.languageIdCodec=new Lg,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},t&&(this._initializeFromRegistry(),this._register(ze.onDidChangeLanguages(e=>{this._initializeFromRegistry()})))}dispose(){e.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Ag();let e=[].concat(ze.getLanguages(),this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(let t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(e=>{let t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach(e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier}),t.mimetypes.forEach(e=>{this._mimeTypesMap[e]=t.identifier})}),Wo.as(Mn.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){let t=e.id,n;Fg.call(this._languages,t)?n=this._languages[t]:(this.languageIdCodec.register(t),n={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=n),this._mergeLanguage(n,e)}_mergeLanguage(e,t){let n=t.id,r=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),r=t.mimetypes[0]),r||(r=`text/x-${n}`,e.mimetypes.push(r)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(let e of t.extensions)Dg({id:n,mime:r,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(let i of t.filenames)Dg({id:n,mime:r,filename:i},this._warnOnOverwrite),e.filenames.push(i);if(Array.isArray(t.filenamePatterns))for(let e of t.filenamePatterns)Dg({id:n,mime:r,filepattern:e},this._warnOnOverwrite);if(typeof t.firstLine==`string`&&t.firstLine.length>0){let e=t.firstLine;e.charAt(0)!==`^`&&(e=`^`+e);try{let t=new RegExp(e);Eo(t)||Dg({id:n,mime:r,firstline:t},this._warnOnOverwrite)}catch(n){console.warn(`[${t.id}]: Invalid regular expression \`${e}\`: `,n)}}e.aliases.push(n);let i=null;if(t.aliases!==void 0&&Array.isArray(t.aliases)&&(i=t.aliases.length===0?[null]:t.aliases),i!==null)for(let t of i)!t||t.length===0||e.aliases.push(t);let a=i!==null&&i.length>0;if(!(a&&i[0]===null)){let t=(a?i[0]:null)||n;(a||!e.name)&&(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return e?Fg.call(this._languages,e):!1}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){let t=e.toLowerCase();return Fg.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&Fg.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return!e&&!t?[]:jg(e,t)}},zg=class e extends B{static{this.instanceCount=0}constructor(t=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new F),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new F),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new F({leakWarningThreshold:200,leakWarningName:`LanguageService._onDidChange`})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,e.instanceCount++,this._registry=this._register(new Rg(!0,t)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){e.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){return this._registry.guessLanguageIdByFilepathOrFirstLine(e,t).at(0)??null}createById(e){return new Bg(this.onDidChange,()=>this._createAndGetLanguageIdentifier(e))}createByFilepathOrFirstLine(e,t){return new Bg(this.onDidChange,()=>{let n=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(n)})}_createAndGetLanguageIdentifier(e){return(!e||!this.isRegisteredLanguageId(e))&&(e=ke),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),vr.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}},Bg=class{constructor(e,t){this._value=Ii(this,e,()=>t()),this.onDidChange=W.fromObservable(this._value)}get languageId(){return this._value.get()}},Vg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Hg=function(e,t){return function(n,r){t(n,r,e)}},Ug=class extends B{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new F),this._suppressedRanges=new Qi,this._markerDecorations=new Qi,e.getModels().forEach(e=>this._onModelAdded(e)),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(e=>e.dispose()),this._markerDecorations.clear()}getMarker(e,t){let n=this._markerDecorations.get(e);return n&&n.getMarker(t)||null}_handleMarkerChange(e){e.forEach(e=>{let t=this._markerDecorations.get(e);t&&this._updateDecorations(t)})}_onModelAdded(e){let t=new Wg(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){let t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),(e.uri.scheme===J.inMemory||e.uri.scheme===J.internal||e.uri.scheme===J.vscode)&&this._markerService?.read({resource:e.uri}).map(e=>e.owner).forEach(t=>this._markerService.remove(t,[e.uri]))}_updateDecorations(e){let t=this._markerService.read({resource:e.model.uri,take:500}),n=this._suppressedRanges.get(e.model.uri);n&&(t=t.filter(e=>!G.some(n,t=>S.areIntersectingOrTouching(t,e)))),e.update(t)&&this._onDidChangeMarker.fire(e.model)}};Ug=Vg([Hg(0,Ut),Hg(1,ng)],Ug);var Wg=class extends B{constructor(e){super(),this.model=e,this._map=new wo,this._register(k(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(e){let{added:t,removed:n}=wl(new Set(this._map.keys()),new Set(e));if(t.length===0&&n.length===0)return!1;let r=n.map(e=>this._map.get(e)),i=t.map(e=>({range:this._createDecorationRange(this.model,e),options:this._createDecorationOption(e)})),a=this.model.deltaDecorations(r,i);for(let e of n)this._map.delete(e);for(let e=0;e<a.length;e++)this._map.set(t[e],a[e]);return!0}getMarker(e){return this._map.getKey(e.id)}_createDecorationRange(e,t){let n=S.lift(t);if(t.severity===eg.Hint&&!this._hasMarkerTag(t,1)&&!this._hasMarkerTag(t,2)&&(n=n.setEndPosition(n.startLineNumber,n.startColumn+2)),n=e.validateRange(n),n.isEmpty()){let t=e.getLineLastNonWhitespaceColumn(n.startLineNumber)||e.getLineMaxColumn(n.startLineNumber);if(t===1||n.endColumn>=t)return n;let r=e.getWordAtPosition(n.getStartPosition());r&&(n=new S(n.startLineNumber,r.startColumn,n.endLineNumber,r.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&t.startColumn===1&&n.startLineNumber===n.endLineNumber){let r=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);r<n.endColumn&&(n=new S(n.startLineNumber,r,n.endLineNumber,n.endColumn),t.startColumn=r)}return n}_createDecorationOption(e){let t,n,r,i,a;switch(e.severity){case eg.Hint:t=this._hasMarkerTag(e,2)?void 0:this._hasMarkerTag(e,1)?`squiggly-unnecessary`:`squiggly-hint`,r=0;break;case eg.Info:t=`squiggly-info`,n=Wr(Tt),r=10,a={color:Wr(it),position:1};break;case eg.Warning:t=`squiggly-warning`,n=Wr(fr),r=20,a={color:Wr(Xs),position:1};break;case eg.Error:default:t=`squiggly-error`,n=Wr(Ze),r=30,a={color:Wr(Vr),position:1};break}return e.tags&&(e.tags.indexOf(1)!==-1&&(i=`squiggly-inline-unnecessary`),e.tags.indexOf(2)!==-1&&(i=`squiggly-inline-deprecated`)),{description:`marker-decoration`,stickiness:1,className:t,showIfCollapsed:!0,overviewRuler:{color:n,position:Gc.Right},minimap:a,zIndex:r,inlineClassName:i}}_hasMarkerTag(e,t){return e.tags?e.tags.indexOf(t)>=0:!1}},Gg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Kg=function(e,t){return function(n,r){t(n,r,e)}},qg;function Jg(e){return e.toString()}var Yg=class{constructor(e,t,n){this.model=e,this._modelEventListeners=new N,this.model=e,this._modelEventListeners.add(e.onWillDispose(()=>t(e))),this._modelEventListeners.add(e.onDidChangeLanguage(t=>n(e,t)))}dispose(){this._modelEventListeners.dispose()}},Xg=yr||me?1:2,Zg=class{constructor(e,t,n,r,i,a,o,s){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=n,this.sharesUndoRedoStack=r,this.heapSize=i,this.sha1=a,this.versionId=o,this.alternativeVersionId=s}},Qg=class extends B{static{qg=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024}constructor(e,t,n,r){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=n,this._instantiationService=r,this._onModelAdded=this._register(new F),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new F),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new F),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(e=>this._updateModelOptions(e))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){let n=Di.tabSize;e.editor&&e.editor.tabSize!==void 0&&(n=nt(e.editor.tabSize,Di.tabSize,1,100));let r=`tabSize`;e.editor&&e.editor.indentSize!==void 0&&e.editor.indentSize!==`tabSize`&&(r=nt(e.editor.indentSize,`tabSize`,1,100));let i=Di.insertSpaces;e.editor&&e.editor.insertSpaces!==void 0&&(i=e.editor.insertSpaces===`false`?!1:!!e.editor.insertSpaces);let a=Xg,o=e.eol;o===`\r
|
|
406
|
+
`?a=2:o===`
|
|
407
|
+
`&&(a=1);let s=Di.trimAutoWhitespace;e.editor&&e.editor.trimAutoWhitespace!==void 0&&(s=e.editor.trimAutoWhitespace===`false`?!1:!!e.editor.trimAutoWhitespace);let c=Di.detectIndentation;e.editor&&e.editor.detectIndentation!==void 0&&(c=e.editor.detectIndentation===`false`?!1:!!e.editor.detectIndentation);let l=Di.largeFileOptimizations;e.editor&&e.editor.largeFileOptimizations!==void 0&&(l=e.editor.largeFileOptimizations===`false`?!1:!!e.editor.largeFileOptimizations);let u=Di.bracketPairColorizationOptions;if(e.editor?.bracketPairColorization&&typeof e.editor.bracketPairColorization==`object`){let t=e.editor.bracketPairColorization;u={enabled:!!t.enabled,independentColorPoolPerBracketType:!!t.independentColorPoolPerBracketType}}return{isForSimpleWidget:t,tabSize:n,indentSize:r,insertSpaces:i,detectIndentation:c,defaultEOL:a,trimAutoWhitespace:s,largeFileOptimizations:l,bracketPairColorizationOptions:u}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);let n=this._configurationService.getValue(`files.eol`,{overrideIdentifier:t});return n&&typeof n==`string`&&n!==`auto`?n:da===3||da===2?`
|
|
408
|
+
`:`\r
|
|
409
|
+
`}_shouldRestoreUndoStack(){let e=this._configurationService.getValue(`files.restoreUndoStack`);return typeof e==`boolean`?e:!0}getCreationOptions(e,t,n){let r=typeof e==`string`?e:e.languageId,i=this._modelCreationOptionsByLanguageAndResource[r+t];if(!i){let e=this._configurationService.getValue(`editor`,{overrideIdentifier:r,resource:t}),a=this._getEOL(t,r);i=qg._readModelOptions({editor:e,eol:a},n),this._modelCreationOptionsByLanguageAndResource[r+t]=i}return i}_updateModelOptions(e){let t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);let n=Object.keys(this._models);for(let r=0,i=n.length;r<i;r++){let i=n[r],a=this._models[i],o=a.model.getLanguageId(),s=a.model.uri;if(e&&!e.affectsConfiguration(`editor`,{overrideIdentifier:o,resource:s})&&!e.affectsConfiguration(`files.eol`,{overrideIdentifier:o,resource:s}))continue;let c=t[o+s],l=this.getCreationOptions(o,s,a.model.isForSimpleWidget);qg._setModelOptionsForModel(a.model,l,c)}}static _setModelOptionsForModel(e,t,n){n&&n.defaultEOL!==t.defaultEOL&&e.getLineCount()===1&&e.setEOL(t.defaultEOL===1?0:1),!(n&&n.detectIndentation===t.detectIndentation&&n.insertSpaces===t.insertSpaces&&n.tabSize===t.tabSize&&n.indentSize===t.indentSize&&n.trimAutoWhitespace===t.trimAutoWhitespace&&St(n.bracketPairColorizationOptions,t.bracketPairColorizationOptions))&&(t.detectIndentation?(e.detectIndentation(t.insertSpaces,t.tabSize),e.updateOptions({trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions})):e.updateOptions({insertSpaces:t.insertSpaces,tabSize:t.tabSize,indentSize:t.indentSize,trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions}))}_insertDisposedModel(e){this._disposedModels.set(Jg(e.uri),e),this._disposedModelsHeapSize+=e.heapSize}_removeDisposedModel(e){let t=this._disposedModels.get(Jg(e));return t&&(this._disposedModelsHeapSize-=t.heapSize),this._disposedModels.delete(Jg(e)),t}_ensureDisposedModelsHeapSize(e){if(this._disposedModelsHeapSize>e){let t=[];for(this._disposedModels.forEach(e=>{e.sharesUndoRedoStack||t.push(e)}),t.sort((e,t)=>e.time-t.time);t.length>0&&this._disposedModelsHeapSize>e;){let e=t.shift();this._removeDisposedModel(e.uri),e.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,n,r){let i=this.getCreationOptions(t,n,r),a=this._instantiationService.createInstance(No,e,t,i,n);if(n&&this._disposedModels.has(Jg(n))){let e=this._removeDisposedModel(n),t=this._undoRedoService.getElements(n),r=this._getSHA1Computer(),i=r.canComputeSHA1(a)?r.computeSHA1(a)===e.sha1:!1;if(i||e.sharesUndoRedoStack){for(let e of t.past)ss(e)&&e.matchesResource(n)&&e.setModel(a);for(let e of t.future)ss(e)&&e.matchesResource(n)&&e.setModel(a);this._undoRedoService.setElementsValidFlag(n,!0,e=>ss(e)&&e.matchesResource(n)),i&&(a._overwriteVersionId(e.versionId),a._overwriteAlternativeVersionId(e.alternativeVersionId),a._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else e.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}let o=Jg(a.uri);if(this._models[o])throw Error(`ModelService: Cannot add model because it already exists!`);let s=new Yg(a,e=>this._onWillDispose(e),(e,t)=>this._onDidChangeLanguage(e,t));return this._models[o]=s,s}createModel(e,t,n,r=!1){let i;return i=t?this._createModelData(e,t,n,r):this._createModelData(e,ke,n,r),this._onModelAdded.fire(i.model),i.model}getModels(){let e=[],t=Object.keys(this._models);for(let n=0,r=t.length;n<r;n++){let r=t[n];e.push(this._models[r].model)}return e}getModel(e){let t=Jg(e),n=this._models[t];return n?n.model:null}_schemaShouldMaintainUndoRedoElements(e){return e.scheme===J.file||e.scheme===J.vscodeRemote||e.scheme===J.vscodeUserData||e.scheme===J.vscodeNotebookCell||e.scheme===`fake-fs`}_onWillDispose(e){let t=Jg(e.uri),n=this._models[t],r=this._undoRedoService.getUriComparisonKey(e.uri)!==e.uri.toString(),i=!1,a=0;if(r||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(e.uri)){let t=this._undoRedoService.getElements(e.uri);if(t.past.length>0||t.future.length>0){for(let n of t.past)ss(n)&&n.matchesResource(e.uri)&&(i=!0,a+=n.heapSize(e.uri),n.setModel(e.uri));for(let n of t.future)ss(n)&&n.matchesResource(e.uri)&&(i=!0,a+=n.heapSize(e.uri),n.setModel(e.uri))}}let o=qg.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,s=this._getSHA1Computer();if(!i){if(!r){let e=n.model.getInitialUndoRedoSnapshot();e!==null&&this._undoRedoService.restoreSnapshot(e)}}else if(!r&&(a>o||!s.canComputeSHA1(e))){let e=n.model.getInitialUndoRedoSnapshot();e!==null&&this._undoRedoService.restoreSnapshot(e)}else this._ensureDisposedModelsHeapSize(o-a),this._undoRedoService.setElementsValidFlag(e.uri,!1,t=>ss(t)&&t.matchesResource(e.uri)),this._insertDisposedModel(new Zg(e.uri,n.model.getInitialUndoRedoSnapshot(),Date.now(),r,a,s.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));delete this._models[t],n.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){let n=t.oldLanguage,r=e.getLanguageId(),i=this.getCreationOptions(n,e.uri,e.isForSimpleWidget),a=this.getCreationOptions(r,e.uri,e.isForSimpleWidget);qg._setModelOptionsForModel(e,a,i),this._onModelModeChanged.fire({model:e,oldLanguageId:n})}_getSHA1Computer(){return new $g}};Qg=qg=Gg([Kg(0,C),Kg(1,t),Kg(2,Co),Kg(3,w)],Qg);var $g=class e{static{this.MAX_MODEL_SIZE=10*1024*1024}canComputeSHA1(t){return t.getValueLength()<=e.MAX_MODEL_SIZE}computeSHA1(e){let t=new Wc,n=e.createSnapshot(),r;for(;r=n.read();)t.update(r);return t.digest()}},e_=xi(`themeService`),t_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},n_=function(e,t){return function(n,r){t(n,r,e)}},r_=class extends B{constructor(e,t,n){super(),this.quickInputService=e,this.instantiationService=t,this.contextKeyService=n,this.registry=Wo.as(Vc.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0,this._register(k(()=>{for(let e of this.mapProviderToDescriptor.values())ao(e)&&e.dispose();this.visibleQuickAccess?.picker.dispose()}))}show(e=``,t){this.doShowOrPick(e,!1,t)}doShowOrPick(e,t,n){let[r,i]=this.getOrInstantiateProvider(e,n?.enabledProviderPrefixes),a=this.visibleQuickAccess,o=a?.descriptor;if(a&&i&&o===i){e!==i.prefix&&!n?.preserveValue&&(a.picker.value=e),this.adjustValueSelection(a.picker,i,n);return}if(i&&!n?.preserveValue){let t;if(a&&o&&o!==i){let e=a.value.substr(o.prefix.length);e&&(t=`${i.prefix}${e}`)}if(!t){let e=r?.defaultFilterValue;e===Gi.LAST?t=this.lastAcceptedPickerValues.get(i):typeof e==`string`&&(t=`${i.prefix}${e}`)}typeof t==`string`&&(e=t)}let s=a?.picker?.valueSelection,c=a?.picker?.value,l=new N,u=l.add(this.quickInputService.createQuickPick({useSeparators:!0}));u.value=e,this.adjustValueSelection(u,i,n),u.placeholder=n?.placeholder??i?.placeholder,u.quickNavigate=n?.quickNavigateConfiguration,u.hideInput=!!u.quickNavigate&&!a,(typeof n?.itemActivation==`number`||n?.quickNavigateConfiguration)&&(u.itemActivation=n?.itemActivation??Us.SECOND),u.contextKey=i?.contextKey,u.filterValue=e=>e.substring(i?i.prefix.length:0);let d;t&&(d=new $c,l.add(W.once(u.onWillAccept)(e=>{e.veto(),u.hide()}))),l.add(this.registerPickerListeners(u,r,i,e,n));let f=l.add(new sr);if(r&&l.add(r.provide(u,f.token,n?.providerOptions)),W.once(u.onDidHide)(()=>{u.selectedItems.length===0&&f.cancel(),l.dispose(),d?.complete(u.selectedItems.slice(0))}),u.show(),s&&c===e&&(u.valueSelection=s),t)return d?.p}adjustValueSelection(e,t,n){let r;r=n?.preserveValue?[e.value.length,e.value.length]:[t?.prefix.length??0,e.value.length],e.valueSelection=r}registerPickerListeners(e,t,n,r,i){let a=new N,o=this.visibleQuickAccess={picker:e,descriptor:n,value:r};return a.add(k(()=>{o===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),a.add(e.onDidChangeValue(e=>{let[n]=this.getOrInstantiateProvider(e,i?.enabledProviderPrefixes);n===t?o.value=e:this.show(e,{enabledProviderPrefixes:i?.enabledProviderPrefixes,preserveValue:!0,providerOptions:i?.providerOptions})})),n&&a.add(e.onDidAccept(()=>{this.lastAcceptedPickerValues.set(n,e.value)})),a}getOrInstantiateProvider(e,t){let n=this.registry.getQuickAccessProvider(e,this.contextKeyService);if(!n||t&&!t?.includes(n.prefix))return[void 0,void 0];let r=this.mapProviderToDescriptor.get(n);return r||(r=this.instantiationService.createInstance(n.ctor),this.mapProviderToDescriptor.set(n,r)),[r,n]}};r_=t_([n_(0,Ya),n_(1,w),n_(2,D)],r_);var i_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},a_=class{constructor(e){this.nodes=e}toString(){return this.nodes.map(e=>typeof e==`string`?e:e.label).join(``)}};i_([Qc],a_.prototype,`toString`,null);var o_=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi;function s_(e){let t=[],n=0,r;for(;r=o_.exec(e);){r.index-n>0&&t.push(e.substring(n,r.index));let[,i,a,,o]=r;o?t.push({label:i,href:a,title:o}):t.push({label:i,href:a}),n=r.index+r[0].length}return n<e.length&&t.push(e.substring(n)),new a_(t)}var c_={},l_=new xn(`quick-input-button-icon-`);function u_(e){if(!e)return;let t,n=e.dark.toString();return c_[n]?t=c_[n]:(t=l_.nextId(),kr(`.${t}, .hc-light .${t}`,`background-image: ${ct(e.light||e.dark)}`),kr(`.vs-dark .${t}, .hc-black .${t}`,`background-image: ${ct(e.dark)}`),c_[n]=t),t}var d_=class{constructor(e,t,n,r,i,a,o){this.id=e,this.label=t,this.tooltip=n,this.enabled=i,this._checked=a,this._run=o,this.class=r}get checked(){return this._checked}set checked(e){this._checked=e,this._run()}run(){return this._checked=!this._checked,this._run()}};function f_(e,t,n){let r=e.iconClass||u_(e.iconPath);e.alwaysVisible&&(r=r?`${r} always-visible`:`always-visible`);let i=()=>(e.toggle&&(e.toggle.checked=!e.toggle.checked),n());return e.toggle?new d_(t,e.tooltip||``,``,r,!0,e.toggle.checked,i):{id:t,label:``,tooltip:e.tooltip||``,class:r,enabled:!0,run:i}}function p_(e,t,n){let r=[],i=[];return e.forEach((e,a)=>{let o=f_(e,`${t}-${a}`,async()=>n(e));e.label&&(o.label=e.label),e.secondary?i.push(o):r.push(o)}),{primary:r,secondary:i}}function m_(e,t,n){ne(t);let r=s_(e),i=0;for(let e of r.nodes)if(typeof e==`string`)t.append(...Ho(e));else{let r=e.title;!r&&e.href.startsWith(`command:`)?r=L(1835,`Click to execute command '{0}'`,e.href.substring(8)):r||=e.href;let a=P(`a`,{href:e.href,title:r,tabIndex:i++},e.label);a.style.textDecoration=`underline`;let o=t=>{zo(t)&&ys.stop(t,!0),n.callback(e.href)},s=n.disposables.add(new oo(a,H.CLICK)).event,c=n.disposables.add(new oo(a,H.KEY_DOWN)).event,l=W.chain(c,e=>e.filter(e=>{let t=new Qr(e);return t.equals(10)||t.equals(3)}));n.disposables.add(he.addTarget(a));let u=n.disposables.add(new oo(a,br.Tap)).event;W.any(s,u,l)(o,null,n.disposables),t.appendChild(a)}}var h_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},g_=function(e,t){return function(n,r){t(n,r,e)}},__=`inQuickInput`,v_=new Wn(__,!1,L(1812,`Whether keyboard focus is inside the quick input control`)),y_=T.has(__),b_=new Wn(`quickInputAlignment`,`top`,L(1813,`The alignment of the quick input`)),x_=`quickInputType`,S_=new Wn(x_,void 0,L(1814,`The type of the currently visible quick input`)),C_=`cursorAtEndOfQuickInputBox`,w_=new Wn(C_,!1,L(1815,`Whether the cursor in the quick input is at the end of the input box`)),T_=T.has(C_),E_={iconClass:pr.asClassName(q.quickInputBack),tooltip:L(1816,`Back`)},D_=class e extends B{static{this.noPromptMessage=L(1817,`Press 'Enter' to confirm your input or 'Escape' to cancel`)}constructor(t){super(),this.ui=t,this._visible=I(`visible`,!1),this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._leftButtons=[],this._rightButtons=[],this._inlineButtons=[],this._inputButtons=[],this.buttonsUpdated=!1,this.noValidationMessage=e.noPromptMessage,this._severity=R.Ignore,this.onDidTriggerButtonEmitter=this._register(new F),this.onDidHideEmitter=this._register(new F),this.onWillHideEmitter=this._register(new F),this.onDisposeEmitter=this._register(new F),this.visibleDisposables=this._register(new N),this.onDidTriggerButton=this.onDidTriggerButtonEmitter.event,this.onDidHide=this.onDidHideEmitter.event}get visible(){return this._visible.get()}get title(){return this._title}set title(e){this._title=e,this.update()}get description(){return this._description}set description(e){this._description=e,this.update()}get step(){return this._steps}set step(e){this._steps=e,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(e){this._totalSteps=e,this.update()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}get contextKey(){return this._contextKey}set contextKey(e){this._contextKey=e,this.update()}get busy(){return this._busy}set busy(e){this._busy=e,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(e){let t=this._ignoreFocusOut!==e&&!ll;this._ignoreFocusOut=e&&!ll,t&&this.update()}get titleButtons(){return this._leftButtons.length?[...this._leftButtons,this._rightButtons]:this._rightButtons}get buttons(){return[...this._leftButtons,...this._rightButtons,...this._inlineButtons,...this._inputButtons]}set buttons(e){let t=[],n=[],r=[],i=[];for(let a of e)if(a===E_)t.push(a);else switch(a.location){case xo.Inline:r.push(a);break;case xo.Input:i.push(a);break;default:n.push(a);break}this._leftButtons=t,this._rightButtons=n,this._inlineButtons=r,this._inputButtons=i,this.buttonsUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(e){this._validationMessage=e,this.update()}get severity(){return this._severity}set severity(e){this._severity=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(e=>{this.buttons.indexOf(e)!==-1&&this.onDidTriggerButtonEmitter.fire(e)})),this.ui.show(this),this._visible.set(!0,void 0),this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(e=co.Other){this._visible.set(!1,void 0),this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:e})}willHide(e=co.Other){this.onWillHideEmitter.fire({reason:e})}update(){if(!this.visible)return;let e=this.getTitle();e&&this.ui.title.textContent!==e?this.ui.title.textContent=e:!e&&this.ui.title.innerHTML!==` `&&(this.ui.title.innerText=`\xA0`);let t=this.getDescription();if(this.ui.description1.textContent!==t&&(this.ui.description1.textContent=t),this.ui.description2.textContent!==t&&(this.ui.description2.textContent=t),this.busy&&!this.busyDelay&&(this.busyDelay=new Vo,this.busyDelay.setIfNotSet(()=>{this.visible&&(this.ui.progressBar.infinite(),this.ui.progressBar.getContainer().removeAttribute(`aria-hidden`))},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.ui.progressBar.getContainer().setAttribute(`aria-hidden`,`true`),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1;let e=p_(this._leftButtons,`left-button`,e=>this.onDidTriggerButtonEmitter.fire(e));this.ui.leftActionBar.setActions(e.primary,e.secondary);let t=p_(this._rightButtons,`right-button`,e=>this.onDidTriggerButtonEmitter.fire(e));this.ui.rightActionBar.setActions(t.primary,t.secondary);let n=p_(this._inlineButtons,`inline-button`,e=>this.onDidTriggerButtonEmitter.fire(e));this.ui.inlineActionBar.setActions(n.primary,n.secondary);let r=this._inputButtons.length*22;this.ui.countContainer.style.right=r>0?`${4+r}px`:`4px`,this.ui.inputBox.actions=this._inputButtons.map((e,t)=>f_(e,`id-${t}`,async()=>this.onDidTriggerButtonEmitter.fire(e)))}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);let n=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==n&&(this._lastValidationMessage=n,ne(this.ui.message),n&&m_(n,this.ui.message,{callback:e=>{this.ui.linkOpenerDelegate(e)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():``}getDescription(){return this.description||``}getSteps(){return this.step&&this.totalSteps?L(1818,`{0}/{1}`,this.step,this.totalSteps):this.step?String(this.step):``}showMessageDecoration(e){if(this.ui.inputBox.showDecoration(e),e!==R.Ignore){let t=this.ui.inputBox.stylesForType(e);this.ui.message.style.color=t.foreground?`${t.foreground}`:``,this.ui.message.style.backgroundColor=t.background?`${t.background}`:``,this.ui.message.style.border=t.border?`1px solid ${t.border}`:``,this.ui.message.style.marginBottom=`-2px`}else this.ui.message.style.color=``,this.ui.message.style.backgroundColor=``,this.ui.message.style.border=``,this.ui.message.style.marginBottom=``}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}},O_=class e extends D_{static{this.DEFAULT_ARIA_LABEL=L(1819,`Type to narrow down results.`)}constructor(e){super(e),this._value=``,this.onDidChangeValueEmitter=this._register(new F),this.onWillAcceptEmitter=this._register(new F),this.onDidAcceptEmitter=this._register(new F),this.onDidCustomEmitter=this._register(new F),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode=`fuzzy`,this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=Us.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new F),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new F),this.onDidTriggerItemButtonEmitter=this._register(new F),this.onDidTriggerSeparatorButtonEmitter=this._register(new F),this.valueSelectionUpdated=!0,this._ok=`default`,this._customButton=!1,this._customButtonSecondary=!1,this._focusEventBufferer=new xs,this.type=`quickPick`,this.filterValue=e=>e,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event,this.noValidationMessage=void 0}get quickNavigate(){return this._quickNavigate}set quickNavigate(e){this._quickNavigate=e,this.update()}get value(){return this._value}set value(e){this.doSetValue(e)}doSetValue(e,t){this._value!==e&&(this._value=e,t||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(e){this._ariaLabel=e,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get prompt(){return this.noValidationMessage}set prompt(e){this.noValidationMessage=e,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(e){this.ui.list.scrollTop=e}set items(e){this._items=e,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(e){this._canSelectMany=e,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(e){this._canAcceptInBackground=e}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(e){this._keepScrollPosition=e}get itemActivation(){return this._itemActivation}set itemActivation(e){this._itemActivation=e}get activeItems(){return this._activeItems}set activeItems(e){this._activeItems=e,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(e){this._selectedItems=e,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?ms:this.ui.keyMods}get valueSelection(){let e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(e){this._customButton=e,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(e){this._customButtonLabel=e,this.update()}get customHover(){return this._customButtonHover}set customHover(e){this._customButtonHover=e,this.update()}get customButtonSecondary(){return this._customButtonSecondary}set customButtonSecondary(e){this._customButtonSecondary=e??!1,this.update()}get ok(){return this._ok}set ok(e){this._ok=e,this.update()}get okLabel(){return this._okLabel??L(1820,`OK`)}set okLabel(e){this._okLabel=e,this.update()}get hideInput(){return!!this._hideInput}set hideInput(e){this._hideInput=e,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(A.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{this.doSetValue(e,!0)})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this._focusEventBufferer.wrapEvent(this.ui.list.onDidChangeFocus,(e,t)=>t)(e=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&Rc(e,this._activeItems,(e,t)=>e===t)||(this._activeItems=e,this.onDidChangeActiveEmitter.fire(e))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:e,event:t})=>{if(this.canSelectMany&&!e.some(e=>e.pickable===!1)){e.length&&this.ui.list.setSelectedElements([]);return}this.selectedItemsToConfirm!==this._selectedItems&&Rc(e,this._selectedItems,(e,t)=>e===t)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e),e.length&&this.handleAccept(bt(t)&&t.button===1))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(e=>{!this.canSelectMany||!this.visible||this.selectedItemsToConfirm!==this._selectedItems&&Rc(e,this._selectedItems,(e,t)=>e===t)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(e=>this.onDidTriggerItemButtonEmitter.fire(e))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered(e=>this.onDidTriggerSeparatorButtonEmitter.fire(e))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(e){let t=!1;this.onWillAcceptEmitter.fire({veto:()=>t=!0}),t||this.onDidAcceptEmitter.fire({inBackground:e})}registerQuickNavigation(){return z(this.ui.container,H.KEY_UP,e=>{if(this.canSelectMany||!this._quickNavigate)return;let t=new Qr(e),n=t.keyCode;this._quickNavigate.keybindings.some(e=>{let r=e.getChords();return r.length>1?!1:r[0].shiftKey&&n===4?!(t.ctrlKey||t.altKey||t.metaKey):!!(r[0].altKey&&n===6||r[0].ctrlKey&&n===5||r[0].metaKey&&n===57)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)})}update(){if(!this.visible)return;let t=this.keepScrollPosition?this.scrollTop:0,n=!!this.description,r={title:!!this.title||!!this.step||!!this.titleButtons.length,description:n,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||n,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:this.ok==="default"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage||!!this.prompt,customButton:this.customButton};this.ui.setVisibilities(r),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||``)&&(this.ui.inputBox.placeholder=this.placeholder||``);let i=this.ariaLabel;!i&&r.inputBox&&(i=this.placeholder,this.title&&(i=i?`${i} - ${this.title}`:this.title),i||=e.DEFAULT_ARIA_LABEL),this.ui.list.ariaLabel!==i&&(this.ui.list.ariaLabel=i??null),this.ui.inputBox.ariaLabel!==i&&(this.ui.inputBox.ariaLabel=i??`input`),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated&&(this.itemsUpdated=!1,this._focusEventBufferer.bufferEvents(()=>{switch(this.ui.list.setElements(this.items),this.ui.list.shouldLoop=!this.canSelectMany,this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this._itemActivation){case Us.NONE:this._itemActivation=Us.FIRST;break;case Us.SECOND:this.ui.list.focus(A.Second),this._itemActivation=Us.FIRST;break;case Us.LAST:this.ui.list.focus(A.Last),this._itemActivation=Us.FIRST;break;default:this.trySelectFirst();break}})),this.ui.container.classList.contains(`show-checkboxes`)!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.ok.label=this.okLabel||``,this.ui.customButton.label=this.customLabel||``,this.ui.customButton.element.title=this.customHover||``,this.ui.customButton.secondary=this.customButtonSecondary||!1,r.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(A.First)),this.keepScrollPosition&&(this.scrollTop=t)}focus(e){this.ui.list.focus(e),this.canSelectMany&&this.ui.list.domFocus()}accept(e){e&&!this._canAcceptInBackground||(this.activeItems[0]&&!this._canSelectMany&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(e??!1))}},k_=class extends D_{constructor(){super(...arguments),this._value=``,this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new F),this.onDidAcceptEmitter=this._register(new F),this.type=`inputBox`,this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(e){this._value=e||``,this.update()}get valueSelection(){let e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.update()}get password(){return this._password}set password(e){this._password=e,this.update()}get prompt(){return this._prompt}set prompt(e){this._prompt=e,this.noValidationMessage=e?L(1821,`{0} (Press 'Enter' to confirm or 'Escape' to cancel)`,e):D_.noPromptMessage,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{e!==this.value&&(this._value=e,this.onDidValueChangeEmitter.fire(e))})),this.visibleDisposables.add(this.ui.onDidAccept(()=>this.onDidAcceptEmitter.fire())),this.valueSelectionUpdated=!0),super.show()}accept(){this.onDidAcceptEmitter.fire()}update(){if(!this.visible)return;this.ui.container.classList.remove(`hidden-input`);let e={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(e),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||``)&&(this.ui.inputBox.placeholder=this.placeholder||``),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password);let t=this.ariaLabel;!t&&e.inputBox&&(t=this.placeholder?this.title?`${this.placeholder} - ${this.title}`:this.placeholder:this.title?this.title:`input`),this.ui.inputBox.ariaLabel!==t&&(this.ui.inputBox.ariaLabel=t||`input`)}},A_=class extends $n{constructor(e,t){super(`mouse`,void 0,e=>this.getOverrideOptions(e),e,t)}getOverrideOptions(e){return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:(gn(e.content)?e.content.textContent??``:typeof e.content==`string`?e.content:e.content.value).includes(`
|
|
410
|
+
`),skipFadeInAnimation:!0}}}};A_=h_([g_(0,C),g_(1,Vi)],A_);var j_=20,M_=4,N_=`--vscode-toolbar-action-min-width`,P_=class extends B{get onDidChangeDropdownVisibility(){return this._onDidChangeDropdownVisibility.event}constructor(t,n,r={orientation:0}){if(super(),this.container=t,this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new rc),this.originalPrimaryActions=[],this.originalSecondaryActions=[],this.hiddenActions=[],this.disposables=this._register(new N),r.hoverDelegate=r.hoverDelegate??this._register(ni()),this.options=r,this.toggleMenuAction=this._register(new F_(()=>this.toggleMenuActionViewItem?.show(),r.toggleMenuTitle)),this.element=document.createElement(`div`),this.element.className=`monaco-toolbar`,t.appendChild(this.element),this.actionBar=this._register(new e(this.element,{orientation:r.orientation,ariaLabel:r.ariaLabel,actionRunner:r.actionRunner,allowContextMenu:r.allowContextMenu,highlightToggledItems:r.highlightToggledItems,hoverDelegate:r.hoverDelegate,actionViewItemProvider:(e,t)=>{if(e.id===F_.ID)return this.toggleMenuActionViewItem=new Dr(e,{getActions:()=>this.toggleMenuAction.menuActions},n,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:pr.asClassNameArray(r.moreIcon??q.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(r.actionViewItemProvider){let n=r.actionViewItemProvider(e,t);if(n)return n}if(e instanceof Gr){let t=new Dr(e,e.actions,n,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:e.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return t.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(t),this.disposables.add(this._onDidChangeDropdownVisibility.add(t.onDidChangeVisibility)),t}}})),this.options.responsiveBehavior?.enabled){this.element.classList.toggle(`responsive`,!0),this.element.classList.toggle(`responsive-all`,this.options.responsiveBehavior.kind===`all`),this.element.classList.toggle(`responsive-last`,this.options.responsiveBehavior.kind===`last`),this.element.style.setProperty(N_,`${this.getConfiguredActionMinWidth()}px`);let e=new ResizeObserver(()=>{this.updateActions(this.getAvailableWidth())});e.observe(this.options.responsiveBehavior?.observedElement??this.element),this._store.add(k(()=>e.disconnect()))}}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}set context(e){this.actionBar.context=e,this.toggleMenuActionViewItem?.setActionContext(e);for(let t of this.submenuActionViewItems)t.setActionContext(e)}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}getItemWidth(e){return this.actionBar.getWidth(e)}getItemsLength(){return this.actionBar.length()}setActions(e,t){this.clear(),this.originalPrimaryActions=e?e.slice(0):[],this.originalSecondaryActions=t?t.slice(0):[];let n=e?e.slice(0):[];if(this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),n.push(this.toggleMenuAction)),n.length>0&&this.options.trailingSeparator&&n.push(new gt),n.forEach(e=>{this.actionBar.push(e,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(e)})}),this.updateOverflowClassName(),this.applyResponsiveActionMinWidths(),this.options.responsiveBehavior?.enabled){if(this.hiddenActions.length=0,this.options.responsiveBehavior?.minItems!==void 0){let e=this.options.responsiveBehavior.minItems,t=this.originalPrimaryActions.slice(0,e).reduce((e,t)=>e+this.getActionMinWidth(t),0),n=0;(this.originalSecondaryActions.length>0||e<this.originalPrimaryActions.length)&&(n=24),this.container.style.minWidth=`${t+n}px`,this.element.style.minWidth=`${t+n}px`}else{let e=this.originalPrimaryActions.length>0?this.getActionMinWidth(this.originalPrimaryActions[0]):24;this.container.style.minWidth=`${e}px`,this.element.style.minWidth=`${e}px`}this.updateActions(this.getAvailableWidth())}}getKeybindingLabel(e){return(this.options.getKeyBinding?.(e))?.getLabel()??void 0}getConfiguredActionMinWidth(e){return e?.id===F_.ID?j_:this.options.responsiveBehavior?.getActionMinWidth?.(e??this.toggleMenuAction)??this.options.responsiveBehavior?.actionMinWidth??j_}getActionMinWidth(e){return this.getConfiguredActionMinWidth(e)+M_}getAvailableWidth(){return this.options.responsiveBehavior?.getAvailableWidth?this.options.responsiveBehavior.getAvailableWidth():this.element.getBoundingClientRect().width}applyResponsiveActionMinWidths(){if(!this.options.responsiveBehavior?.enabled)return;if(this.options.responsiveBehavior.kind===`last`){let e=this.actionBar.hasAction(this.toggleMenuAction)?this.actionBar.length()-2:this.actionBar.length()-1,t=e>=0?this.actionBar.getAction(e):void 0,n=`${this.getConfiguredActionMinWidth(t)}px`;this.element.style.getPropertyValue(N_)!==n&&this.element.style.setProperty(N_,n);return}let e=this.actionBar.getContainer().firstElementChild;if(gn(e))for(let t=0;t<e.children.length;t++){let n=e.children.item(t);if(!gn(n))continue;let r=this.actionBar.getAction(t),i=`${this.getConfiguredActionMinWidth(r)}px`;n.style.minWidth!==i&&(n.style.minWidth=i)}}updateActions(e){if(this.actionBar.isEmpty())return;this.applyResponsiveActionMinWidths();let t=parseInt(this.element.style.minWidth);e=Math.max(e,Number.isNaN(t)?0:t);let n=e=>{if(this.options.responsiveBehavior?.kind===`last`){let t=this.actionBar.hasAction(this.toggleMenuAction),n=t?this.actionBar.length()-1:this.actionBar.length();if(n===0)return t?24:0;let r=0;for(let e=0;e<n-1;e++)r+=this.actionBar.getWidth(e)+M_;let i=this.actionBar.getAction(n-1);return r+=e?this.actionBar.getWidth(n-1):this.getActionMinWidth(i),r+=t?24:0,r}else{let t=0;for(let n=0;n<this.actionBar.length();n++)t+=e?this.actionBar.getWidth(n):this.getActionMinWidth(this.actionBar.getAction(n));return t}},r=n(!1);if(r<=e&&this.hiddenActions.length===0)return;if(r>e){if(this.options.responsiveBehavior?.minItems!==void 0&&(this.actionBar.hasAction(this.toggleMenuAction)?this.actionBar.length()-1:this.actionBar.length())<=this.options.responsiveBehavior.minItems)return;for(;n(!1)>e&&this.actionBar.length()>0;){let e=this.originalPrimaryActions.length-this.hiddenActions.length-1;if(e<0)break;let t=this.originalPrimaryActions[e],n=Math.min(this.getActionMinWidth(t),this.getItemWidth(e));this.hiddenActions.unshift({action:t,size:n}),this.actionBar.pull(e),this.originalSecondaryActions.length===0&&this.hiddenActions.length===1&&(this.actionBar.push(this.toggleMenuAction,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(this.toggleMenuAction)}),this.updateOverflowClassName()),this.applyResponsiveActionMinWidths()}}else for(;this.hiddenActions.length>0;){let t=this.hiddenActions.shift();if(n(!0)+t.size>e){this.hiddenActions.unshift(t);break}this.actionBar.push(t.action,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(t.action),index:this.originalPrimaryActions.length-this.hiddenActions.length-1}),this.originalSecondaryActions.length===0&&this.hiddenActions.length===0&&(this.toggleMenuAction.menuActions=[],this.actionBar.pull(this.actionBar.length()-1),this.updateOverflowClassName()),this.applyResponsiveActionMinWidths()}let i=this.hiddenActions.map(e=>e.action);if(this.originalSecondaryActions.length>0||i.length>0){let e=this.originalSecondaryActions.slice(0);this.toggleMenuAction.menuActions=gt.join(i,e)}this.updateOverflowClassName(),this.applyResponsiveActionMinWidths()}updateOverflowClassName(){this.actionBar.domNode.classList.toggle(`has-overflow`,this.actionBar.hasAction(this.toggleMenuAction))}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),this.element.remove(),super.dispose()}},F_=class e extends Il{static{this.ID=`toolbar.toggle.more`}constructor(t,n){n||=L(19,`More Actions...`),super(e.ID,n,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=t}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}},I_=class extends B{constructor(e,t,n){super(),this.options=t,this.styles=n,this.count=0,this.hover=this._register(new Vs),this.element=M(e,P(`.monaco-count-badge`)),this._register(k(()=>e.removeChild(this.element))),this.countFormat=this.options.countFormat||`{0}`,this.titleFormat=this.options.titleFormat||``,this.setCount(this.options.count||0),this.updateHover()}setCount(e){this.count=e,this.render()}setTitleFormat(e){this.titleFormat=e,this.updateHover(),this.render()}updateHover(){this.titleFormat!==``&&!this.hover.value?this.hover.value=Ll().setupDelayedHoverAtMouse(this.element,()=>({content:zs(this.titleFormat,this.count),appearance:{compact:!0}})):this.titleFormat===``&&this.hover.value&&(this.hover.value=void 0)}render(){this.element.textContent=zs(this.countFormat,this.count),this.element.style.backgroundColor=this.styles.badgeBackground??``,this.element.style.color=this.styles.badgeForeground??``,this.styles.badgeBorder&&(this.element.style.border=`1px solid ${this.styles.badgeBorder}`)}},L_=`done`,R_=`active`,z_=`infinite`,B_=`infinite-long-running`,V_=`discrete`,H_=L(16,`Progress`),U_=class e extends B{static{this.LONG_RUNNING_INFINITE_THRESHOLD=1e4}constructor(t,n){super(),this.progressSignal=this._register(new Vs),this.workedVal=0,this.showDelayedScheduler=this._register(new $o(()=>ai(this.element),0)),this.longRunningScheduler=this._register(new $o(()=>this.infiniteLongRunning(),e.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(t,n)}create(e,t){this.element=document.createElement(`div`),this.element.classList.add(`monaco-progress-container`),this.element.setAttribute(`role`,`progressbar`),this.element.setAttribute(`aria-valuemin`,`0`),this.element.setAttribute(`aria-label`,t?.ariaLabel&&t.ariaLabel.trim()?t.ariaLabel:H_),e.appendChild(this.element),this.bit=document.createElement(`div`),this.bit.classList.add(`progress-bit`),this.bit.style.backgroundColor=t?.progressBarBackground||`#0E70C0`,this.element.appendChild(this.bit)}off(){this.bit.style.width=`inherit`,this.bit.style.opacity=`1`,this.element.classList.remove(R_,z_,B_,V_),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel(),this.progressSignal.clear()}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add(L_),this.element.classList.contains(z_)?(this.bit.style.opacity=`0`,e?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width=`inherit`,e?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width=`2%`,this.bit.style.opacity=`1`,this.element.classList.remove(V_,L_,B_),this.element.classList.add(R_,z_),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(B_)}getContainer(){return this.element}},W_=P,G_=class extends B{constructor(e,t,n){super(),this.parent=e,this._listFocusMode=!1,this.onDidChange=e=>this.findInput.onDidChange(e),this.container=M(this.parent,W_(`.quick-input-box`)),this.findInput=this._register(new Jr(this.container,void 0,{label:``,inputBoxStyles:t,toggleStyles:n,actionViewItemProvider:wi(n),hideHoverOnValueChange:!0}))}get onKeyDown(){return this.findInput.onKeyDown}get value(){return this.findInput.getValue()}set value(e){this.findInput.setValue(e)}select(e=null){this.findInput.inputBox.select(e)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute(`placeholder`)||``}set placeholder(e){this.findInput.inputBox.setPlaceHolder(e)}get password(){return this.findInput.inputBox.inputElement.type===`password`}set password(e){this.findInput.inputBox.inputElement.type=e?`password`:`text`}set enabled(e){this.findInput.inputBox.inputElement.toggleAttribute(`readonly`,!e)}set toggles(e){this.findInput.setAdditionalToggles(e)}set actions(e){this.setActions(e)}setActions(e,t){this.findInput.setActions(e,t)}get ariaLabel(){return this.findInput.inputBox.inputElement.getAttribute(`aria-label`)||``}set ariaLabel(e){this.findInput.inputBox.inputElement.setAttribute(`aria-label`,e)}hasFocus(){return this.findInput.inputBox.hasFocus()}setAttribute(e,t){this.findInput.inputBox.inputElement.setAttribute(e,t)}removeAttribute(e){this.findInput.inputBox.inputElement.removeAttribute(e)}setListFocusMode(e){if(this._listFocusMode===e)return;this._listFocusMode=e;let t=this.findInput.inputBox.inputElement;e?(t.setAttribute(`aria-haspopup`,`listbox`),t.setAttribute(`aria-autocomplete`,`list`)):(t.removeAttribute(`aria-haspopup`),t.removeAttribute(`aria-autocomplete`))}showDecoration(e){e===R.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:e===R.Info?1:e===R.Warning?2:3,content:``})}stylesForType(e){return this.findInput.inputBox.stylesForType(e===R.Info?1:e===R.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}},K_=new Dl(()=>{let e=Cr.Collator(void 0,{numeric:!0,sensitivity:`base`}).value;return{collator:e,collatorIsNumeric:e.resolvedOptions().numeric}});new Dl(()=>({collator:Cr.Collator(void 0,{numeric:!0}).value})),new Dl(()=>({collator:Cr.Collator(void 0,{numeric:!0,sensitivity:`accent`}).value}));function q_(e,t,n=!1){let r=e||``,i=t||``,a=K_.value.collator.compare(r,i);return K_.value.collatorIsNumeric&&a===0&&r!==i?r<i?-1:1:a}function J_(e,t,n){let r=e.toLowerCase(),i=t.toLowerCase(),a=Y_(e,t,n);if(a)return a;let o=r.endsWith(n);if(o!==i.endsWith(n))return o?-1:1;let s=q_(r,i);return s===0?r.localeCompare(i):s}function Y_(e,t,n){let r=e.toLowerCase(),i=t.toLowerCase(),a=r.startsWith(n),o=i.startsWith(n);if(a!==o)return a?-1:1;if(a&&o){if(r.length<i.length)return-1;if(r.length>i.length)return 1}return 0}var X_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Z_=function(e,t){return function(n,r){t(n,r,e)}},Q_,$_,ev=P,tv=class{constructor(e,t,n){this.index=e,this.hasCheckbox=t,this._hidden=!1,this._init=new Dl(()=>{let e=n.label??``;return{saneLabel:e,saneSortLabel:ur(e).text.trim(),saneAriaLabel:n.ariaLabel||[e,this.saneDescription,this.saneDetail].map(e=>wt(e)).filter(e=>!!e).join(`, `)}}),this._saneDescription=n.description,this._saneTooltip=n.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(e){this._element=e}get hidden(){return this._hidden}set hidden(e){this._hidden=e}get saneDescription(){return this._saneDescription}set saneDescription(e){this._saneDescription=e}get saneDetail(){return this._saneDetail}set saneDetail(e){this._saneDetail=e}get saneTooltip(){return this._saneTooltip}set saneTooltip(e){this._saneTooltip=e}get labelHighlights(){return this._labelHighlights}set labelHighlights(e){this._labelHighlights=e}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(e){this._descriptionHighlights=e}get detailHighlights(){return this._detailHighlights}set detailHighlights(e){this._detailHighlights=e}},nv=class extends tv{constructor(e,t,n,r,i,a,o){super(e,n,a),this.childIndex=t,this.fireButtonTriggered=r,this._onChecked=i,this.item=a,this._separator=o,this._checked=!1,this.onChecked=n?W.map(W.filter(this._onChecked.event,e=>e.element===this),e=>e.checked):W.None,this._saneDetail=a.detail,this._labelHighlights=a.highlights?.label,this._descriptionHighlights=a.highlights?.description,this._detailHighlights=a.highlights?.detail}get separator(){return this._separator}set separator(e){this._separator=e}get checked(){return this._checked}set checked(e){e!==this._checked&&(this._checked=e,this._onChecked.fire({element:this,checked:e}))}get checkboxDisabled(){return!!this.item.disabled}},rv;(function(e){e[e.NONE=0]=`NONE`,e[e.MOUSE_HOVER=1]=`MOUSE_HOVER`,e[e.ACTIVE_ITEM=2]=`ACTIVE_ITEM`})(rv||={});var iv=class extends tv{constructor(e,t,n){super(e,!1,n),this.fireSeparatorButtonTriggered=t,this.separator=n,this.children=[],this.focusInsideSeparator=rv.NONE}},av=class{getHeight(e){return e instanceof iv?30:e.saneDetail?44:22}getTemplateId(e){return e instanceof nv?cv.ID:lv.ID}},ov=class{getWidgetAriaLabel(){return L(1834,`Quick Input`)}getAriaLabel(e){return e.separator?.label?`${e.saneAriaLabel}, ${e.separator.label}`:e.saneAriaLabel}getWidgetRole(){return`listbox`}getRole(e){return e.hasCheckbox?`checkbox`:`option`}isChecked(e){if(!(!e.hasCheckbox||!(e instanceof nv)))return{get value(){return e.checked},onDidChange:t=>e.onChecked(()=>t())}}},sv=class extends B{constructor(e,t,n){super(),this.hoverDelegate=e,this.toggleStyles=t,this.contextMenuService=n,this._onDidDisposeFocusedElement=this._register(new F),this.onDidDisposeFocusedElement=this._onDidDisposeFocusedElement.event}renderTemplate(e){let t=Object.create(null);t.toDisposeElement=new N,t.toDisposeTemplate=new N,t.entry=M(e,ev(`.quick-input-list-entry`));let n=M(t.entry,ev(`label.quick-input-list-label`));t.outerLabel=n,t.checkbox=t.toDisposeTemplate.add(new Vs),t.toDisposeTemplate.add(Mc(n,H.CLICK,e=>{if(t.checkbox.value&&!e.defaultPrevented&&t.checkbox.value.enabled){let e=!t.checkbox.value.checked;t.checkbox.value.checked=e,t.element.checked=e}}));let r=M(n,ev(`.quick-input-list-rows`)),i=M(r,ev(`.quick-input-list-row`)),a=M(r,ev(`.quick-input-list-row`));return t.label=new ho(i,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.label),t.icon=Al(t.label.element,ev(`.quick-input-list-icon`)),t.keybinding=new ls(M(i,ev(`.quick-input-list-entry-keybinding`)),da),t.toDisposeTemplate.add(t.keybinding),t.detail=new ho(M(a,ev(`.quick-input-list-label-meta`)),{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.detail),t.separator=M(t.entry,ev(`.quick-input-list-separator`)),t.toolBar=new P_(t.entry,this.contextMenuService,{...this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0,actionViewItemProvider:wi(this.toggleStyles),icon:!0,label:!1}),t.toolBar.getElement().classList.add(`quick-input-list-entry-action-bar`),t.toDisposeTemplate.add(t.toolBar),t}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}disposeElement(e,t,n){Yo(n.entry)&&this._onDidDisposeFocusedElement.fire(),n.toDisposeElement.clear(),n.toolBar.setActions([])}},cv=class extends sv{static{Q_=this}static{this.ID=`quickpickitem`}constructor(e,t,n,r){super(e,t,n),this.themeService=r,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return Q_.ID}ensureCheckbox(e,t){if(!e.hasCheckbox){t.checkbox.value?.domNode.remove(),t.checkbox.clear();return}let n=t.checkbox.value;n?n.setTitle(e.saneLabel):(n=new It(e.saneLabel,e.checked,{...xc,size:15}),t.checkbox.value=n,t.outerLabel.prepend(n.domNode),n.domNode.tabIndex=-1),e.checkboxDisabled?n.disable():n.enable(),n.checked=e.checked,t.toDisposeElement.add(e.onChecked(e=>n.checked=e)),t.toDisposeElement.add(n.onChange(()=>e.checked=n.checked))}renderElement(e,t,n){let r=e.element;n.element=r,r.element=n.entry??void 0;let i=r.item;r.element.classList.toggle(`not-pickable`,r.item.pickable===!1),this.ensureCheckbox(r,n);let{labelHighlights:a,descriptionHighlights:o,detailHighlights:s}=r;if(i.iconPath){let e=kn(this.themeService.getColorTheme().type)?i.iconPath.dark:i.iconPath.light??i.iconPath.dark,t=Xo.revive(e);n.icon.className=`quick-input-list-icon`,n.icon.style.backgroundImage=ct(t)}else n.icon.style.backgroundImage=``,n.icon.className=i.iconClass?`quick-input-list-icon ${i.iconClass}`:``;let c;!r.saneTooltip&&r.saneDescription&&(c={markdown:{value:dc(r.saneDescription),supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDescription});let l={matches:a||[],descriptionTitle:c,descriptionMatches:o||[],labelEscapeNewLines:!0};if(l.extraClasses=i.iconClasses,l.italic=i.italic,l.strikethrough=i.strikethrough,n.entry.classList.remove(`quick-input-list-separator-as-item`),n.label.setLabel(r.saneLabel,r.saneDescription,l),n.keybinding.set(i.keybinding),r.saneDetail){let e;r.saneTooltip||(e={markdown:{value:dc(r.saneDetail),supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDetail}),n.detail.element.style.display=``,n.detail.setLabel(r.saneDetail,void 0,{matches:s,title:e,labelEscapeNewLines:!0})}else n.detail.element.style.display=`none`;r.separator?.label?(n.separator.textContent=r.separator.label,n.separator.style.display=``,this.addItemWithSeparator(r)):n.separator.style.display=`none`,n.entry.classList.toggle(`quick-input-list-separator-border`,!!r.separator&&r.childIndex!==0);let u=i.buttons;if(u&&u.length){let{primary:e,secondary:t}=p_(u,`quick-input-item`,e=>r.fireButtonTriggered({button:e,item:r.item}));n.toolBar.setActions(e,t),n.entry.classList.add(`has-actions`)}else n.toolBar.setActions([]),n.entry.classList.remove(`has-actions`)}disposeElement(e,t,n){this.removeItemWithSeparator(e.element),super.disposeElement(e,t,n)}isItemWithSeparatorVisible(e){return this._itemsWithSeparatorsFrequency.has(e)}addItemWithSeparator(e){this._itemsWithSeparatorsFrequency.set(e,(this._itemsWithSeparatorsFrequency.get(e)||0)+1)}removeItemWithSeparator(e){let t=this._itemsWithSeparatorsFrequency.get(e)||0;t>1?this._itemsWithSeparatorsFrequency.set(e,t-1):this._itemsWithSeparatorsFrequency.delete(e)}};cv=Q_=X_([Z_(2,ji),Z_(3,se)],cv);var lv=class extends sv{static{$_=this}static{this.ID=`quickpickseparator`}constructor(e,t,n){super(e,t,n),this._visibleSeparatorsFrequency=new Map}get templateId(){return $_.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(e){return this._visibleSeparatorsFrequency.has(e)}renderElement(e,t,n){let r=e.element;n.element=r,r.element=n.entry??void 0,r.element.classList.toggle(`focus-inside`,!!r.focusInsideSeparator);let i=r.separator,{labelHighlights:a,descriptionHighlights:o}=r;n.icon.style.backgroundImage=``,n.icon.className=``;let s;!r.saneTooltip&&r.saneDescription&&(s={markdown:{value:dc(r.saneDescription),supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDescription});let c={matches:a||[],descriptionTitle:s,descriptionMatches:o||[],labelEscapeNewLines:!0};n.entry.classList.add(`quick-input-list-separator-as-item`),n.label.setLabel(r.saneLabel,r.saneDescription,c),n.separator.style.display=`none`,n.entry.classList.add(`quick-input-list-separator-border`);let l=i.buttons;if(l&&l.length){let{primary:e,secondary:t}=p_(l,`quick-input-separator`,e=>r.fireSeparatorButtonTriggered({button:e,separator:r.separator}));n.toolBar.setActions(e,t),n.entry.classList.add(`has-actions`)}else n.toolBar.setActions([]),n.entry.classList.remove(`has-actions`);this.addSeparator(r)}disposeElement(e,t,n){this.removeSeparator(e.element),this.isSeparatorVisible(e.element)||e.element.element?.classList.remove(`focus-inside`),super.disposeElement(e,t,n)}addSeparator(e){this._visibleSeparatorsFrequency.set(e,(this._visibleSeparatorsFrequency.get(e)||0)+1)}removeSeparator(e){let t=this._visibleSeparatorsFrequency.get(e)||0;t>1?this._visibleSeparatorsFrequency.set(e,t-1):this._visibleSeparatorsFrequency.delete(e)}};lv=$_=X_([Z_(2,ji)],lv);var uv=class extends B{constructor(e,t,n,r,i,a,o){super(),this.parent=e,this.hoverDelegate=t,this.linkOpenerDelegate=n,this.styles=i,this.accessibilityService=o,this._onLeave=this._register(new F),this.onLeave=this._onLeave.event,this._visibleCountObservable=I(`VisibleCount`,0),this.onChangedVisibleCount=W.fromObservable(this._visibleCountObservable,this._store),this._allVisibleCheckedObservable=I(`AllVisibleChecked`,!1),this.onChangedAllVisibleChecked=W.fromObservable(this._allVisibleCheckedObservable,this._store),this._checkedCountObservable=I(`CheckedCount`,0),this.onChangedCheckedCount=W.fromObservable(this._checkedCountObservable,this._store),this._checkedElementsObservable=ka({equalsFn:Rc},[]),this.onChangedCheckedElements=W.fromObservable(this._checkedElementsObservable,this._store),this._onButtonTriggered=this._register(new F),this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=this._register(new F),this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._elementChecked=this._register(new F),this._elementCheckedEventBufferer=new xs,this._hasCheckboxes=!1,this._inputElements=[],this._elementTree=[],this._itemElements=[],this._elementDisposable=this._register(new N),this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode=`fuzzy`,this._sortByLabel=!0,this._shouldLoop=!0,this._container=M(this.parent,ev(`.quick-input-list`)),this._separatorRenderer=this._register(a.createInstance(lv,t,this.styles.toggle)),this._itemRenderer=this._register(a.createInstance(cv,t,this.styles.toggle)),this._tree=this._register(a.createInstance(Wh,`QuickInput`,this._container,new av,[this._itemRenderer,this._separatorRenderer],{filter:{filter(e){return e.hidden?0:e instanceof iv?2:1}},sorter:{compare:(e,t)=>!this.sortByLabel||!this._lastQueryString?0:pv(e,t,this._lastQueryString.toLowerCase())},accessibilityProvider:new ov,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:Bp.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=r,this._register(this._itemRenderer.onDidDisposeFocusedElement(()=>this._tree.domFocus())),this._register(this._separatorRenderer.onDidDisposeFocusedElement(()=>this._tree.domFocus())),this._registerListeners()}get onDidChangeFocus(){return W.map(this._tree.onDidChangeFocus,e=>e.elements.filter(e=>e instanceof nv).map(e=>e.item),this._store)}get onDidChangeSelection(){return W.map(this._tree.onDidChangeSelection,e=>({items:e.elements.filter(e=>e instanceof nv).map(e=>e.item),event:e.browserEvent}),this._store)}get displayed(){return this._container.style.display!==`none`}set displayed(e){this._container.style.display=e?``:`none`}get scrollTop(){return this._tree.scrollTop}set scrollTop(e){this._tree.scrollTop=e}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(e){this._tree.ariaLabel=e??``}set enabled(e){this._tree.getHTMLElement().style.pointerEvents=e?``:`none`}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}get shouldLoop(){return this._shouldLoop}set shouldLoop(e){this._shouldLoop=e}_registerListeners(){this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnTreeModelChanged(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnContainerClick(){this._register(z(this._container,H.CLICK,e=>{(e.x||e.y)&&this._onLeave.fire()}))}_registerOnMouseMiddleClick(){this._register(z(this._container,H.AUXCLICK,e=>{e.button===1&&this._onLeave.fire()}))}_registerOnTreeModelChanged(){this._register(this._tree.onDidChangeModel(()=>{let e=this._itemElements.filter(e=>!e.hidden).length;this._visibleCountObservable.set(e,void 0),this._hasCheckboxes&&this._updateCheckedObservables()}))}_registerOnElementChecked(){this._register(this._elementCheckedEventBufferer.wrapEvent(this._elementChecked.event,(e,t)=>t)(e=>this._updateCheckedObservables()))}_registerOnContextMenu(){this._register(this._tree.onContextMenu(e=>{e.element&&(e.browserEvent.preventDefault(),this._tree.setSelection([e.element]))}))}_registerHoverListeners(){let e=this._register(new h(typeof this.hoverDelegate.delay==`function`?this.hoverDelegate.delay():this.hoverDelegate.delay));this._register(this._tree.onMouseOver(async t=>{if(rn(t.browserEvent.target)){e.cancel();return}if(!(!rn(t.browserEvent.relatedTarget)&&En(t.browserEvent.relatedTarget,t.element?.element)))try{await e.trigger(async()=>{t.element instanceof nv&&this.showHover(t.element)})}catch(e){if(!Ua(e))throw e}})),this._register(this._tree.onMouseOut(t=>{En(t.browserEvent.relatedTarget,t.element?.element)||e.cancel()}))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus(e=>{let t=e.elements[0]?this._tree.getParentElement(e.elements[0]):null;for(let e of this._separatorRenderer.visibleSeparators){let n=e===t;!!(e.focusInsideSeparator&rv.ACTIVE_ITEM)!==n&&(n?e.focusInsideSeparator|=rv.ACTIVE_ITEM:e.focusInsideSeparator&=~rv.ACTIVE_ITEM,this._tree.rerender(e))}})),this._register(this._tree.onMouseOver(e=>{let t=e.element?this._tree.getParentElement(e.element):null;for(let e of this._separatorRenderer.visibleSeparators)e===t&&(e.focusInsideSeparator&rv.MOUSE_HOVER||(e.focusInsideSeparator|=rv.MOUSE_HOVER,this._tree.rerender(e)))})),this._register(this._tree.onMouseOut(e=>{let t=e.element?this._tree.getParentElement(e.element):null;for(let e of this._separatorRenderer.visibleSeparators)e===t&&e.focusInsideSeparator&rv.MOUSE_HOVER&&(e.focusInsideSeparator&=~rv.MOUSE_HOVER,this._tree.rerender(e))}))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection(e=>{let t=e.elements.filter(e=>e instanceof nv);t.length!==e.elements.length&&(e.elements.length===1&&e.elements[0]instanceof iv&&(this._tree.setFocus([e.elements[0].children[0]]),this._tree.reveal(e.elements[0],0)),this._tree.setSelection(t))}))}setAllVisibleChecked(e){this._elementCheckedEventBufferer.bufferEvents(()=>{this._itemElements.forEach(t=>{!t.hidden&&!t.checkboxDisabled&&t.item.pickable!==!1&&(t.checked=e)})})}setElements(e){this._elementDisposable.clear(),this._lastQueryString=void 0,this._inputElements=e,this._hasCheckboxes=this.parent.classList.contains(`show-checkboxes`);let t;this._itemElements=[],this._elementTree=e.reduce((n,r,i)=>{let a;if(r.type===`separator`){if(!r.buttons)return n;t=new iv(i,e=>this._onSeparatorButtonTriggered.fire(e),r),a=t}else{let o=i>0?e[i-1]:void 0,s;o&&o.type===`separator`&&!o.buttons&&(s=o);let c=new nv(i,t?.children?t.children.length:i,this._hasCheckboxes&&r.pickable!==!1,e=>this._onButtonTriggered.fire(e),this._elementChecked,r,s);if(this._itemElements.push(c),t)return t.children.push(c),n;a=c}return n.push(a),n},[]),this._setElementsToTree(this._elementTree),this.accessibilityService.isScreenReaderOptimized()&&bn(()=>{let e=this._tree.getHTMLElement().querySelector(`.monaco-list-row.focused`),t=e?.parentNode;if(e&&t){let n=e.nextSibling;e.remove(),t.insertBefore(e,n)}},0,this._elementDisposable)}setFocusedElements(e){let t=e.map(e=>this._itemElements.find(t=>t.item===e)).filter(e=>!!e).filter(e=>!e.hidden);if(this._tree.setFocus(t),e.length>0){let e=this._tree.getFocus()[0];e&&this._tree.reveal(e)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute(`aria-activedescendant`)}setSelectedElements(e){let t=e.map(e=>this._itemElements.find(t=>t.item===e)).filter(e=>!!e);this._tree.setSelection(t)}getCheckedElements(){return this._itemElements.filter(e=>e.checked).map(e=>e.item)}setCheckedElements(e){this._elementCheckedEventBufferer.bufferEvents(()=>{let t=new Set;for(let n of e)t.add(n);for(let e of this._itemElements)e.checked=t.has(e.item)})}focus(e){if(this._itemElements.length)switch(e===A.Second&&this._itemElements.length<2&&(e=A.First),e){case A.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,e=>e.element instanceof nv);break;case A.Second:{this._tree.scrollTop=0;let e=!1;this._tree.focusFirst(void 0,t=>t.element instanceof nv?e?!0:(e=!e,!1):!1);break}case A.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,e=>e.element instanceof nv);break;case A.Next:{let e=this._tree.getFocus();this._tree.focusNext(void 0,this._shouldLoop,void 0,e=>e.element instanceof nv?(this._tree.reveal(e.element),!0):!1);let t=this._tree.getFocus();e.length&&e[0]===t[0]&&this._onLeave.fire();break}case A.Previous:{let e=this._tree.getFocus();this._tree.focusPrevious(void 0,this._shouldLoop,void 0,e=>{if(!(e.element instanceof nv))return!1;let t=this._tree.getParentElement(e.element);return t===null||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0});let t=this._tree.getFocus();e.length&&e[0]===t[0]&&this._onLeave.fire();break}case A.NextPage:this._tree.focusNextPage(void 0,e=>e.element instanceof nv?(this._tree.reveal(e.element),!0):!1);break;case A.PreviousPage:this._tree.focusPreviousPage(void 0,e=>{if(!(e.element instanceof nv))return!1;let t=this._tree.getParentElement(e.element);return t===null||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0});break;case A.NextSeparator:{let e=!1,t=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,t=>{if(e)return!0;if(t.element instanceof iv)e=!0,this._separatorRenderer.isSeparatorVisible(t.element)?this._tree.reveal(t.element.children[0]):this._tree.reveal(t.element,0);else if(t.element instanceof nv){if(t.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(t.element)?this._tree.reveal(t.element):this._tree.reveal(t.element,0),!0;if(t.element===this._elementTree[0])return this._tree.reveal(t.element,0),!0}return!1}),t===this._tree.getFocus()[0]&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,e=>e.element instanceof nv));break}case A.PreviousSeparator:{let e,t=!!this._tree.getFocus()[0]?.separator;this._tree.focusPrevious(void 0,!0,void 0,n=>{if(n.element instanceof iv)t?e||=(this._separatorRenderer.isSeparatorVisible(n.element)?this._tree.reveal(n.element):this._tree.reveal(n.element,0),n.element.children[0]):t=!0;else if(n.element instanceof nv&&!e){if(n.element.separator)this._itemRenderer.isItemWithSeparatorVisible(n.element)?this._tree.reveal(n.element):this._tree.reveal(n.element,0),e=n.element;else if(n.element===this._elementTree[0])return this._tree.reveal(n.element,0),!0}return!1}),e&&this._tree.setFocus([e]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(e){this._tree.getHTMLElement().style.maxHeight=e?`${Math.floor(e/44)*44+6}px`:``,this._tree.layout()}filter(e){if(this._lastQueryString=e,!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;let t=e;if(e=e.trim(),!e||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this._itemElements.forEach(e=>{e.labelHighlights=void 0,e.descriptionHighlights=void 0,e.detailHighlights=void 0,e.hidden=!1;let t=e.index&&this._inputElements[e.index-1];e.item&&(e.separator=t&&t.type===`separator`&&!t.buttons?t:void 0)});else{let n;this._itemElements.forEach(r=>{let i;i=this.matchOnLabelMode===`fuzzy`?this.matchOnLabel?Zt(e,ur(r.saneLabel))??void 0:void 0:this.matchOnLabel?dv(t,ur(r.saneLabel))??void 0:void 0;let a=this.matchOnDescription?Zt(e,ur(r.saneDescription||``))??void 0:void 0,o=this.matchOnDetail?Zt(e,ur(r.saneDetail||``))??void 0:void 0;if(i||a||o?(r.labelHighlights=i,r.descriptionHighlights=a,r.detailHighlights=o,r.hidden=!1):(r.labelHighlights=void 0,r.descriptionHighlights=void 0,r.detailHighlights=void 0,r.hidden=r.item?!r.item.alwaysShow:!0),r.item?r.separator=void 0:r.separator&&(r.hidden=!0),!this.sortByLabel){let e=r.index&&this._inputElements[r.index-1]||void 0;e?.type===`separator`&&!e.buttons&&(n=e),n&&!r.hidden&&(r.separator=n,n=void 0)}})}return this._setElementsToTree(this._sortByLabel&&e?this._itemElements:this._elementTree),this._tree.layout(),!0}toggleCheckbox(){this._elementCheckedEventBufferer.bufferEvents(()=>{let e=this._tree.getFocus().filter(e=>e instanceof nv),t=this._allVisibleChecked(e);for(let n of e)n.checkboxDisabled||(n.checked=!t)})}style(e){this._tree.style(e)}toggleHover(){let e=this._tree.getFocus()[0];if(!e?.saneTooltip||!(e instanceof nv))return;if(this._lastHover&&!this._lastHover.isDisposed){this._lastHover.dispose();return}this.showHover(e);let t=new N;t.add(this._tree.onDidChangeFocus(e=>{e.elements[0]instanceof nv&&this.showHover(e.elements[0])})),this._lastHover&&t.add(this._lastHover),this._elementDisposable.add(t)}_setElementsToTree(e){let t=[];for(let n of e)n instanceof iv?t.push({element:n,collapsible:!1,collapsed:!1,children:n.children.map(e=>({element:e,collapsible:!1,collapsed:!1}))}):t.push({element:n,collapsible:!1,collapsed:!1});this._tree.setChildren(null,t)}_allVisibleChecked(e,t=!0){for(let n=0,r=e.length;n<r;n++){let r=e[n];if(!r.hidden&&r.item.pickable!==!1)if(r.checked)t=!0;else return!1}return t}_updateCheckedObservables(){Ao(e=>{this._allVisibleCheckedObservable.set(this._allVisibleChecked(this._itemElements,!1),e);let t=this._itemElements.filter(e=>e.checked).length;this._checkedCountObservable.set(t,e),this._checkedElementsObservable.set(this.getCheckedElements(),e)})}showHover(e){this._lastHover&&!this._lastHover.isDisposed&&(this.hoverDelegate.onDidHideHover?.(),this._lastHover?.dispose()),!(!e.element||!e.saneTooltip)&&(this._lastHover=this.hoverDelegate.showHover({content:e.saneTooltip,target:e.element,linkHandler:e=>{this.linkOpenerDelegate(e)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};X_([Qc],uv.prototype,`onDidChangeFocus`,null),X_([Qc],uv.prototype,`onDidChangeSelection`,null),uv=X_([Z_(5,w),Z_(6,Tn)],uv);function dv(e,t){let{text:n,iconOffsets:r}=t;if(!r||r.length===0)return fv(e,n);let i=vs(n,` `),a=n.length-i.length,o=fv(e,i);if(o)for(let e of o){let t=r[e.start+a]+a;e.start+=t,e.end+=t}return o}function fv(e,t){let n=t.toLowerCase().indexOf(e.toLowerCase());return n===-1?null:[{start:n,end:n+e.length}]}function pv(e,t,n){let r=e.labelHighlights||[],i=t.labelHighlights||[];return r.length&&!i.length?-1:!r.length&&i.length?1:r.length===0&&i.length===0?0:J_(e.saneSortLabel,t.saneSortLabel,n)}function mv(e,t={}){y.registerCommandAndKeybindingRule({weight:200,when:y_,metadata:{description:L(1822,`Used while in the context of any kind of quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.`)},...e,secondary:_v(e.primary,e.secondary??[],t)})}function hv(e,t={}){y.registerCommandAndKeybindingRule({weight:200,when:T.and(T.or(T.equals(x_,`quickPick`),T.equals(x_,`quickTree`)),y_),metadata:{description:L(1823,`Used while in the context of the quick pick. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.`)},...e,secondary:_v(e.primary,e.secondary??[],t)})}var gv=me?256:2048;function _v(e,t,n={}){return n.withAltMod&&t.push(512+e),n.withCtrlMod&&(t.push(gv+e),n.withAltMod&&t.push(512+gv+e)),n.withShiftMod&&(t.push(1024+e),n.withAltMod&&t.push(1536+e),n.withCtrlMod&&(t.push(gv+1024+e),n.withAltMod&&t.push(512+gv+1024+e))),n.withCmdMod&&me&&(t.push(2048+e),n.withCtrlMod&&t.push(2304+e),n.withAltMod&&(t.push(2560+e),n.withCtrlMod&&t.push(2816+e))),t}function vv(e,t){return n=>{let r=n.get(Ya).currentQuickInput;if(r)return t&&r.quickNavigate?r.focus(t):r.focus(e)}}hv({id:`quickInput.pageNext`,primary:12,handler:vv(A.NextPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),hv({id:`quickInput.pagePrevious`,primary:11,handler:vv(A.PreviousPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),hv({id:`quickInput.first`,primary:gv+14,handler:vv(A.First)},{withAltMod:!0,withCmdMod:!0}),hv({id:`quickInput.last`,primary:gv+13,handler:vv(A.Last)},{withAltMod:!0,withCmdMod:!0}),hv({id:`quickInput.next`,primary:18,handler:vv(A.Next)},{withCtrlMod:!0}),hv({id:`quickInput.previous`,primary:16,handler:vv(A.Previous)},{withCtrlMod:!0});var yv=L(1824,`If we're in quick access mode, this will navigate to the next item. If we are not in quick access mode, this will navigate to the next separator.`),bv=L(1825,`If we're in quick access mode, this will navigate to the previous item. If we are not in quick access mode, this will navigate to the previous separator.`);me?(hv({id:`quickInput.nextSeparatorWithQuickAccessFallback`,primary:2066,handler:vv(A.NextSeparator,A.Next),metadata:{description:yv}}),hv({id:`quickInput.nextSeparator`,primary:2578,secondary:[2322],handler:vv(A.NextSeparator)},{withCtrlMod:!0}),hv({id:`quickInput.previousSeparatorWithQuickAccessFallback`,primary:2064,handler:vv(A.PreviousSeparator,A.Previous),metadata:{description:bv}}),hv({id:`quickInput.previousSeparator`,primary:2576,secondary:[2320],handler:vv(A.PreviousSeparator)},{withCtrlMod:!0})):(hv({id:`quickInput.nextSeparatorWithQuickAccessFallback`,primary:530,handler:vv(A.NextSeparator,A.Next),metadata:{description:yv}}),hv({id:`quickInput.nextSeparator`,primary:2578,handler:vv(A.NextSeparator)}),hv({id:`quickInput.previousSeparatorWithQuickAccessFallback`,primary:528,handler:vv(A.PreviousSeparator,A.Previous),metadata:{description:bv}}),hv({id:`quickInput.previousSeparator`,primary:2576,handler:vv(A.PreviousSeparator)})),y.registerCommandAndKeybindingRule({id:`quickInput.accept`,primary:3,weight:200,when:T.and(T.notEquals(x_,`quickWidget`),y_,T.not(`isComposing`)),metadata:{description:L(1826,`Used while in the context of some quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.`)},handler:e=>{e.get(Ya).currentQuickInput?.accept()},secondary:_v(3,[],{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0,withShiftMod:!0})}),hv({id:`quickInput.acceptInBackground`,when:T.and(y_,T.equals(x_,`quickPick`),T.or(Ui.negate(),T_)),primary:17,weight:250,handler:e=>{e.get(Ya).currentQuickInput?.accept(!0)}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),mv({id:`quickInput.hide`,primary:9,handler:e=>{e.get(Ya).currentQuickInput?.hide()}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),hv({id:`quickInput.toggleCheckbox`,when:T.and(y_,T.or(T.equals(x_,`quickPick`),T.equals(x_,`quickTree`)),Ui.negate()),primary:10,handler:e=>{e.get(Ya).toggle()}}),hv({id:`quickInput.toggleHover`,primary:gv|10,handler:e=>{e.get(Ya).toggleHover()}});var xv=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Sv=function(e,t){return function(n,r){t(n,r,e)}},Cv,wv=P,Tv=class extends B{constructor(){super(...arguments),this._onDidChangeCheckboxState=this._register(new F),this.onDidChangeCheckboxState=this._onDidChangeCheckboxState.event}setCheckboxState(e,t){this._onDidChangeCheckboxState.fire({item:e,checked:t})}},Ev=class extends B{static{Cv=this}static{this.ID=`quickInputTreeElement`}constructor(e,t,n,r,i,a,o){super(),this._hoverDelegate=e,this._buttonTriggeredEmitter=t,this.onCheckedEvent=n,this._checkboxStateHandler=r,this._toggleStyles=i,this._contextMenuService=a,this._themeService=o,this.templateId=Cv.ID,this._onDidDisposeFocusedElement=this._register(new F),this.onDidDisposeFocusedElement=this._onDidDisposeFocusedElement.event}renderTemplate(e){let t=new N,n=M(e,wv(`.quick-input-tree-entry`)),r=t.add(new kt(``,!1,{...xc,size:15}));n.appendChild(r.domNode);let i=M(M(M(n,wv(`label.quick-input-tree-label`)),wv(`.quick-input-tree-rows`)),wv(`.quick-input-tree-row`)),a=Al(i,wv(`.quick-input-tree-icon`)),o=t.add(new ho(i,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this._hoverDelegate})),s=t.add(new P_(n,this._contextMenuService,{actionViewItemProvider:wi(this._toggleStyles),hoverDelegate:this._hoverDelegate,icon:!0,label:!1}));return s.getElement().classList.add(`quick-input-tree-entry-action-bar`),{toDisposeTemplate:t,entry:n,checkbox:r,icon:a,label:o,actionBar:s,toDisposeElement:new N}}renderElement(e,t,n,r){let i=n.toDisposeElement,a=e.element;if(a.pickable===!1)n.checkbox.domNode.style.display=`none`;else{let e=n.checkbox;e.domNode.style.display=``,e.checked=a.checked??!1,i.add(W.filter(this.onCheckedEvent,e=>e.item===a)(t=>e.checked=t.checked)),a.disabled&&e.disable(),i.add(e.onChange(t=>this._checkboxStateHandler.setCheckboxState(a,e.checked)))}if(a.iconPath){let e=kn(this._themeService.getColorTheme().type)?a.iconPath.dark:a.iconPath.light??a.iconPath.dark,t=Xo.revive(e);n.icon.className=`quick-input-tree-icon`,n.icon.style.backgroundImage=ct(t)}else n.icon.style.backgroundImage=``,n.icon.className=a.iconClass?`quick-input-tree-icon ${a.iconClass}`:``;let{labelHighlights:o,descriptionHighlights:s}=e.filterData||{},c;a.description&&(c={markdown:{value:dc(a.description),supportThemeIcons:!0},markdownNotSupportedFallback:a.description}),n.label.setLabel(a.label,a.description,{matches:o,descriptionMatches:s,extraClasses:a.iconClasses,italic:a.italic,strikethrough:a.strikethrough,labelEscapeNewLines:!0,descriptionTitle:c});let l=a.buttons;if(l&&l.length){let{primary:e,secondary:t}=p_(l,`quick-input-tree`,e=>this._buttonTriggeredEmitter.fire({item:a,button:e}));n.actionBar.setActions(e,t),n.entry.classList.add(`has-actions`)}else n.actionBar.setActions([]),n.entry.classList.remove(`has-actions`)}disposeElement(e,t,n,r){Yo(n.entry)&&this._onDidDisposeFocusedElement.fire(),n.toDisposeElement.clear(),n.actionBar.setActions([])}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}};Ev=Cv=xv([Sv(5,ji),Sv(6,se)],Ev);var Dv=class{getHeight(e){return 22}getTemplateId(e){return Ev.ID}};function Ov(e){let t=!1,n=!1,r=!1;for(let i of e){switch(i.element?.checked){case`mixed`:r=!0;break;case!0:t=!0;break;default:n=!0;break}if(t&&n&&r)break}return n?r||t?`mixed`:!1:r?`mixed`:t}var kv=class{constructor(e){this.onCheckedEvent=e}getWidgetAriaLabel(){return L(1836,`Quick Tree`)}getAriaLabel(e){return e.ariaLabel||[e.label,e.description].map(e=>wt(e)).filter(e=>!!e).join(`, `)}getWidgetRole(){return`tree`}getRole(e){return`checkbox`}isChecked(e){return{get value(){return e.checked===`mixed`?`mixed`:!!e.checked},onDidChange:t=>W.filter(this.onCheckedEvent,t=>t.item===e)(e=>t())}}},Av=class{constructor(){this.filterValue=``,this.matchOnLabel=!0,this.matchOnDescription=!1}filter(e,t){if(!this.filterValue||!(this.matchOnLabel||this.matchOnDescription))return e.children?{visibility:2,data:{}}:{visibility:1,data:{}};let n=this.matchOnLabel?Zt(this.filterValue,ur(e.label))??void 0:void 0,r=this.matchOnDescription?Zt(this.filterValue,ur(e.description||``))??void 0:void 0;return{visibility:t===1||n||r?1:e.children?2:0,data:{labelHighlights:n,descriptionHighlights:r}}}},jv=class extends B{constructor(){super(...arguments),this._sortByLabel=!0}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}compare(e,t){if(!this._sortByLabel)return 0;if(e.label<t.label)return-1;if(e.label>t.label)return 1;if(e.description&&t.description){if(e.description<t.description)return-1;if(e.description>t.description)return 1}else if(e.description)return-1;else if(t.description)return 1;return 0}},Mv=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Nv=function(e,t){return function(n,r){t(n,r,e)}},Pv=P,Fv=`quick-input-tree-flat`,Iv=class{constructor(){this._elementIds=new WeakMap,this._counter=0}getId(e){let t=e.id;return t!==void 0||(t=this._elementIds.get(e),t!==void 0)?t:(t=`__generated_${this._counter++}`,this._elementIds.set(e,t),t)}},Lv=class extends B{constructor(e,t,n,r){super(),this.instantiationService=r,this._onDidTriggerButton=this._register(new F),this._onDidChangeCheckboxState=this._register(new F),this.onDidChangeCheckboxState=this._onDidChangeCheckboxState.event,this._onDidCheckedLeafItemsChange=this._register(new F),this.onDidChangeCheckedLeafItems=this._onDidCheckedLeafItemsChange.event,this._onLeave=this._register(new F),this.onLeave=this._onLeave.event,this._onDidAccept=this._register(new F),this.onDidAccept=this._onDidAccept.event,this._container=M(e,Pv(`.quick-input-tree`)),this._checkboxStateHandler=this._register(new Tv),this._renderer=this._register(this.instantiationService.createInstance(Ev,t,this._onDidTriggerButton,this.onDidChangeCheckboxState,this._checkboxStateHandler,n.toggle)),this._filter=this.instantiationService.createInstance(Av),this._sorter=this._register(new jv),this._tree=this._register(this.instantiationService.createInstance(Wh,`QuickInputTree`,this._container,new Dv,[this._renderer],{accessibilityProvider:new kv(this.onDidChangeCheckboxState),horizontalScrolling:!1,multipleSelectionSupport:!1,findWidgetEnabled:!1,alwaysConsumeMouseWheel:!0,hideTwistiesOfChildlessElements:!0,renderIndentGuides:Bp.None,expandOnDoubleClick:!0,expandOnlyOnTwistieClick:!0,disableExpandOnSpacebar:!0,sorter:this._sorter,filter:this._filter,identityProvider:new Iv})),this._register(this._renderer.onDidDisposeFocusedElement(()=>{this._tree.domFocus()})),this.registerCheckboxStateListeners(),this.registerOnDidChangeFocus()}get tree(){return this._tree}get displayed(){return this._container.style.display!==`none`}set displayed(e){this._container.style.display=e?``:`none`}get sortByLabel(){return this._sorter.sortByLabel}set sortByLabel(e){this._sorter.sortByLabel=e,this._tree.resort(null,!0)}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute(`aria-activedescendant`)}filter(e){this._filter.filterValue=e,this._tree.refilter()}updateFilterOptions(e){e.matchOnLabel!==void 0&&(this._filter.matchOnLabel=e.matchOnLabel),e.matchOnDescription!==void 0&&(this._filter.matchOnDescription=e.matchOnDescription),this._tree.refilter()}setTreeData(e){let t=!1,n=e=>{let r;return e.children&&e.children.length>0&&(t=!0,r=e.children.map(e=>n(e)),e.checked=Ov(r)),{element:e,children:r,collapsible:!!r,collapsed:e.collapsed?Dp.PreserveOrCollapsed:Dp.PreserveOrExpanded}},r=e.map(e=>n(e));this._tree.setChildren(null,r),this._container.classList.toggle(Fv,!t)}layout(e){this._tree.getHTMLElement().style.maxHeight=e?`${Math.floor(e/44)*44+6}px`:``,this._tree.layout()}focus(e){switch(e){case A.First:this._tree.scrollTop=0,this._tree.focusFirst();break;case A.Second:{this._tree.scrollTop=0;let e=!1;this._tree.focusFirst(void 0,t=>e?!0:(e=!e,!1));break}case A.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast();break;case A.Next:{let e=this._tree.getFocus();this._tree.focusNext(void 0,!1,void 0,e=>(this._tree.reveal(e.element),!0));let t=this._tree.getFocus();e.length&&e[0]===t[0]&&this._onLeave.fire();break}case A.Previous:{let e=this._tree.getFocus();this._tree.focusPrevious(void 0,!1,void 0,e=>(this._tree.reveal(e.element),!0));let t=this._tree.getFocus();e.length&&e[0]===t[0]&&this._onLeave.fire();break}case A.NextPage:this._tree.focusNextPage(void 0,e=>(this._tree.reveal(e.element),!0));break;case A.PreviousPage:this._tree.focusPreviousPage(void 0,e=>(this._tree.reveal(e.element),!0));break;case A.NextSeparator:case A.PreviousSeparator:return}}registerCheckboxStateListeners(){this._register(this._tree.onDidOpen(e=>{let t=e.element;if(!t||t.disabled)return;if(t.pickable===!1){this._tree.setFocus([t]),this._onDidAccept.fire();return}let n=e.browserEvent?.target;n&&n.classList.contains(It.CLASS_NAME)||this.updateCheckboxState(t,t.checked===!0)})),this._register(this._checkboxStateHandler.onDidChangeCheckboxState(e=>{this.updateCheckboxState(e.item,e.checked===!0,!0),this._tree.setFocus([e.item]),this._tree.setSelection([e.item])}))}updateCheckboxState(e,t,n=!1){if((e.checked??!1)===t)return;e.checked=t,n||this._tree.rerender(e);let r=new Set,i=[...this._tree.getNode(e).children];for(;i.length;){let t=i.shift();t?.element&&!r.has(t.element)&&(r.add(t.element),(t.element.checked??!1)!==e.checked&&(t.element.checked=e.checked,this._tree.rerender(t.element)),i.push(...t.children))}let a=this._tree.getParentElement(e);for(;a;){let e=Ov([...this._tree.getNode(a).children]);(a.checked??!1)!==e&&(a.checked=e,this._tree.rerender(a)),a=this._tree.getParentElement(a)}this._onDidChangeCheckboxState.fire({item:e,checked:e.checked??!1}),this._onDidCheckedLeafItemsChange.fire(this.getCheckedLeafItems())}registerOnDidChangeFocus(){this._register(this._tree.onDidChangeFocus(e=>{let t=this._tree.getFocus().findLast(e=>e!==null);this._tree.setSelection(t?[t]:[],e.browserEvent)}))}getCheckedLeafItems(){let e=new Set,t=[...this._tree.getNode().children],n=[];for(;t.length;){let r=t.shift();!r?.element||e.has(r.element)||r.element.checked&&(e.add(r.element),t.push(...r.children),r.element.children||n.push(r.element))}return n}getActiveItems(){return this._tree.getFocus().filter(e=>e!==null)}toggleCheckbox(){for(let e of this.getActiveItems())e.pickable!==!1&&!e.disabled&&this.updateCheckboxState(e,e.checked!==!0)}checkAll(e){let t=new Set,n=[...this._tree.getNode().children],r=!1;for(;n.length;){let i=n.shift();!i?.element||t.has(i.element)||i.element.checked!==e&&(r=!0,i.element.checked=e,n.push(...i.children),t.add(i.element),this._tree.rerender(i.element),this._onDidChangeCheckboxState.fire({item:i.element,checked:i.element.checked}))}r&&this._onDidCheckedLeafItemsChange.fire(this.getCheckedLeafItems())}};Lv=Mv([Nv(3,w)],Lv);var Rv=class e extends D_{static{this.DEFAULT_ARIA_LABEL=L(1837,`Type to narrow down results.`)}constructor(e){super(e),this.type=`quickTree`,this._value=I(`value`,``),this._ariaLabel=I(`ariaLabel`,void 0),this._placeholder=I(`placeholder`,void 0),this._matchOnDescription=I(`matchOnDescription`,!1),this._matchOnLabel=I(`matchOnLabel`,!0),this._sortByLabel=I(`sortByLabel`,!0),this._activeItems=I(`activeItems`,[]),this._itemTree=I(`itemTree`,[]),this._onDidChangeCheckedLeafItems=this._register(new F),this._onDidChangeCheckboxState=this._register(new F),this._onDidAcceptEmitter=this._register(new F),this.onDidAccept=W.any(e.onDidAccept,this._onDidAcceptEmitter.event),this._registerAutoruns(),this._register(e.tree.onDidChangeCheckedLeafItems(e=>this._onDidChangeCheckedLeafItems.fire(e))),this._register(e.tree.onDidChangeCheckboxState(e=>this._onDidChangeCheckboxState.fire(e.item))),this._register(e.tree.tree.onDidChangeFocus(t=>{this._activeItems.set(e.tree.getActiveItems(),void 0)}))}get placeholder(){return this._placeholder.get()}set placeholder(e){this._placeholder.set(e,void 0)}show(){if(!this.visible){let e={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description,checkAll:!0,checkBox:!0,inputBox:!0,progressBar:!0,visibleCount:!0,count:!0,ok:!0,list:!1,tree:!0,message:!!this.validationMessage,customButton:!1};this.ui.setVisibilities(e),this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{this._value.set(e,void 0)})),this.visibleDisposables.add(this.ui.tree.onDidChangeCheckboxState(e=>{let t=Ov([...this.ui.tree.tree.getNode().children]);this.ui.checkAll.checked!==t&&(this.ui.checkAll.checked=t)})),this.visibleDisposables.add(this.ui.checkAll.onChange(e=>{let t=this.ui.checkAll.checked;this.ui.tree.checkAll(t)})),this.visibleDisposables.add(this.ui.tree.onDidChangeCheckedLeafItems(e=>{this.ui.count.setCount(e.length)}))}super.show(),On(()=>this.ui.count.setCount(this.ui.tree.getCheckedLeafItems().length));let e=Ov([...this.ui.tree.tree.getNode().children]);this.ui.checkAll.checked!==e&&(this.ui.checkAll.checked=e)}update(){if(!this.visible)return;let e={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description,checkAll:!0,checkBox:!0,inputBox:!0,progressBar:!0,visibleCount:!0,count:!0,ok:!0,tree:!0,message:!!this.validationMessage};this.ui.setVisibilities(e),super.update()}_registerAutoruns(){this.registerVisibleAutorun(e=>{let t=this._value.read(e);this.ui.inputBox.value=t,this.ui.tree.filter(t)}),this.registerVisibleAutorun(t=>{let n=this._ariaLabel.read(t);n||(n=this.placeholder||e.DEFAULT_ARIA_LABEL,this.title&&(n+=` - ${this.title}`)),this.ui.list.ariaLabel!==n&&(this.ui.list.ariaLabel=n??null),this.ui.inputBox.ariaLabel!==n&&(this.ui.inputBox.ariaLabel=n??`input`)}),this.registerVisibleAutorun(e=>{let t=this._placeholder.read(e);this.ui.inputBox.placeholder!==t&&(this.ui.inputBox.placeholder=t??``)}),this.registerVisibleAutorun(e=>{let t=this._matchOnLabel.read(e),n=this._matchOnDescription.read(e);this.ui.tree.updateFilterOptions({matchOnLabel:t,matchOnDescription:n})}),this.registerVisibleAutorun(e=>{let t=this._sortByLabel.read(e);this.ui.tree.sortByLabel=t}),this.registerVisibleAutorun(e=>{let t=this._itemTree.read(e);this.ui.tree.setTreeData(t)})}registerVisibleAutorun(e){this._register(j(t=>{this._visible.read(t)&&e(t)}))}focus(e){this.ui.tree.focus(e),this.ui.tree.tree.domFocus()}accept(e){this._onDidAcceptEmitter.fire()}},zv=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Bv=function(e,t){return function(n,r){t(n,r,e)}},Vv,Hv=P,Uv=`workbench.quickInput.viewState`,Wv=class extends B{static{Vv=this}static{this.MAX_WIDTH=600}get currentQuickInput(){return this.controller??void 0}get container(){return this._container}constructor(e,t,n,r,i,a){super(),this.options=e,this.layoutService=t,this.instantiationService=n,this.storageService=i,this.contextMenuService=a,this.enabled=!0,this.onDidAcceptEmitter=this._register(new F),this.onDidCustomEmitter=this._register(new F),this.onDidTriggerButtonEmitter=this._register(new F),this.keyMods={ctrlCmd:!1,alt:!1,shift:!1},this.controller=null,this.onShowEmitter=this._register(new F),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new F),this.onHide=this.onHideEmitter.event,this._alignment=I(this,`top`),this.alignment=this._alignment,this.inQuickInputContext=v_.bindTo(r),this.quickInputTypeContext=S_.bindTo(r),this.endOfQuickInputBoxContext=w_.bindTo(r),this.idPrefix=e.idPrefix,this._container=e.container,this.styles=e.styles,this._register(W.runAndSubscribe(qt,({window:e,disposables:t})=>this.registerKeyModsListeners(e,t),{window:ba,disposables:this._store})),this._register(or(e=>{this.ui&&x(this.ui.container)===e&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))})),this.viewState=this.loadViewState()}registerKeyModsListeners(e,t){let n=e=>{this.keyMods.ctrlCmd=e.ctrlKey||e.metaKey,this.keyMods.alt=e.altKey,this.keyMods.shift=e.shiftKey};for(let r of[H.KEY_DOWN,H.KEY_UP,H.MOUSE_DOWN])t.add(z(e,r,n,!0))}getUI(e){if(this.ui)return e&&x(this._container)!==x(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;let t=M(this._container,Hv(`.quick-input-widget.show-file-icons`));t.tabIndex=-1,t.style.display=`none`;let n=Fe(t),r=M(t,Hv(`.quick-input-titlebar`)),i=this._register(new P_(r,this.contextMenuService,{hoverDelegate:this.options.hoverDelegate,actionViewItemProvider:wi(this.styles.toggle),icon:!0,label:!1}));i.getElement().classList.add(`quick-input-left-action-bar`);let a=M(r,Hv(`.quick-input-title`)),o=this._register(new P_(r,this.contextMenuService,{hoverDelegate:this.options.hoverDelegate,actionViewItemProvider:wi(this.styles.toggle),icon:!0,label:!1}));o.getElement().classList.add(`quick-input-right-action-bar`);let s=M(t,Hv(`.quick-input-header`)),c=this._register(new kt(L(1827,`Toggle all checkboxes`),!1,{...xc,size:15}));M(s,c.domNode),this._register(c.onChange(()=>{let e=c.checked;oe.setAllVisibleChecked(e===!0)})),this._register(z(c.domNode,H.CLICK,e=>{(e.x||e.y)&&f.setFocus()}));let l=M(s,Hv(`.quick-input-description`)),u=M(s,Hv(`.quick-input-and-message`)),d=M(u,Hv(`.quick-input-filter`)),f=this._register(new G_(d,this.styles.inputBox,this.styles.toggle));f.setAttribute(`aria-describedby`,`${this.idPrefix}message`);let p=M(d,Hv(`.quick-input-visible-count`));p.setAttribute(`aria-live`,`polite`),p.setAttribute(`aria-atomic`,`true`);let m=this._register(new I_(p,{countFormat:L(1828,`{0} Results`)},this.styles.countBadge)),h=M(d,Hv(`.quick-input-count`));h.setAttribute(`aria-live`,`polite`);let g=this._register(new I_(h,{countFormat:L(1829,`{0} Selected`)},this.styles.countBadge)),_=this._register(new P_(s,this.contextMenuService,{hoverDelegate:this.options.hoverDelegate,actionViewItemProvider:wi(this.styles.toggle),icon:!0,label:!1}));_.getElement().classList.add(`quick-input-inline-action-bar`);let v=M(s,Hv(`.quick-input-action`)),y=this._register(new to(v,this.styles.button));y.label=L(1830,`OK`),this._register(y.onDidClick(e=>{this.onDidAcceptEmitter.fire()}));let ee=M(s,Hv(`.quick-input-action`)),b=this._register(new to(ee,{...this.styles.button,supportIcons:!0}));b.label=L(1831,`Custom`),this._register(b.onDidClick(e=>{this.onDidCustomEmitter.fire()}));let te=M(u,Hv(`#${this.idPrefix}message.quick-input-message`)),ne=this._register(new U_(t,this.styles.progressBar));ne.getContainer().classList.add(`quick-input-progress`);let re=M(t,Hv(`.quick-input-html-widget`));re.tabIndex=-1;let ie=M(t,Hv(`.quick-input-description`)),ae=this.idPrefix+`list`,oe=this._register(this.instantiationService.createInstance(uv,t,this.options.hoverDelegate,this.options.linkOpenerDelegate,ae,this.styles));f.setAttribute(`aria-controls`,ae),this._register(oe.onDidChangeFocus(()=>{if(f.hasFocus()){let e=oe.getActiveDescendant();e?(f.setAttribute(`aria-activedescendant`,e),f.setListFocusMode(!0)):(f.removeAttribute(`aria-activedescendant`),f.setListFocusMode(!1))}})),this._register(oe.onChangedAllVisibleChecked(e=>{c.checked=e})),this._register(oe.onChangedVisibleCount(e=>{m.setCount(e)})),this._register(oe.onChangedCheckedCount(e=>{On(()=>g.setCount(e))})),this._register(oe.onLeave(()=>{setTimeout(()=>{this.controller&&(f.setFocus(),this.controller instanceof O_&&this.controller.canSelectMany&&oe.clearFocus())},0)}));let se=this._register(this.instantiationService.createInstance(Lv,t,this.options.hoverDelegate,this.styles));this._register(se.tree.onDidChangeFocus(()=>{if(f.hasFocus()){let e=se.getActiveDescendant();e?(f.setAttribute(`aria-activedescendant`,e),f.setListFocusMode(!0)):(f.removeAttribute(`aria-activedescendant`),f.setListFocusMode(!1))}})),this._register(se.onLeave(()=>{setTimeout(()=>{this.controller&&(f.setFocus(),se.tree.setFocus([]))},0)})),this._register(se.onDidAccept(()=>{this.onDidAcceptEmitter.fire()})),this._register(se.tree.onDidChangeContentHeight(()=>this.updateLayout()));let ce=Rt(t);return this._register(ce),this._register(z(t,H.FOCUS,e=>{let t=this.getUI();if(En(e.relatedTarget,t.inputContainer)){let e=t.inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==e&&this.endOfQuickInputBoxContext.set(e)}En(e.relatedTarget,t.container)||(this.inQuickInputContext.set(!0),this.previousFocusElement=gn(e.relatedTarget)?e.relatedTarget:void 0)},!0)),this._register(ce.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(co.Blur),this.inQuickInputContext.set(!1),this.endOfQuickInputBoxContext.set(!1),this.previousFocusElement=void 0})),this._register(f.onKeyDown(e=>{let t=this.getUI().inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==t&&this.endOfQuickInputBoxContext.set(t),xt(e.keyCode)||(f.removeAttribute(`aria-activedescendant`),f.setListFocusMode(!1))})),this._register(z(t,H.FOCUS,e=>{f.setFocus()})),this.dndController=this._register(this.instantiationService.createInstance(Gv,this._container,t,[{node:r,includeChildren:!0,excludeNodes:[i.getElement(),o.getElement()]},{node:s,includeChildren:!1}],this.viewState)),this._register(j(e=>{let t=this.dndController?.dndViewState.read(e);t&&(t.top!==void 0&&t.left!==void 0?this.viewState={...this.viewState,top:t.top,left:t.left}:this.viewState=void 0,this.updateLayout(),t.done&&this.saveViewState(this.viewState))})),this._register(j(e=>{this._alignment.set(this.dndController.alignment.read(e),void 0)})),this.ui={container:t,styleSheet:n,leftActionBar:i,titleBar:r,title:a,description1:ie,description2:l,widget:re,rightActionBar:o,inlineActionBar:_,checkAll:c,inputContainer:u,filterContainer:d,inputBox:f,visibleCountContainer:p,visibleCount:m,countContainer:h,count:g,okContainer:v,ok:y,message:te,customButtonContainer:ee,customButton:b,list:oe,tree:se,progressBar:ne,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:e=>this.show(e),hide:()=>this.hide(),setVisibilities:e=>this.setVisibilities(e),setEnabled:e=>this.setEnabled(e),setContextKey:e=>this.options.setContextKey(e),linkOpenerDelegate:e=>this.options.linkOpenerDelegate(e)},this.updateStyles(),this.ui}reparentUI(e){this.ui&&(this._container=e,M(this._container,this.ui.container),this.dndController?.reparentUI(this._container))}pick(e,t={},n=Jt.None){return new Promise((r,i)=>{let a=e=>{a=r,t.onKeyMods?.(o.keyMods),r(e)};if(n.isCancellationRequested){a(void 0);return}let o=this.createQuickPick({useSeparators:!0}),s,c=[o,o.onDidAccept(()=>{if(o.canSelectMany)a(o.selectedItems.slice()),o.hide();else{let e=o.activeItems[0];e&&(a(e),o.hide())}}),o.onDidChangeActive(e=>{let n=e[0];n&&t.onDidFocus&&t.onDidFocus(n)}),o.onDidChangeSelection(e=>{if(!o.canSelectMany){let t=e[0];t&&(a(t),o.hide())}}),o.onDidTriggerItemButton(e=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton({...e,removeItem:()=>{let t=o.items.indexOf(e.item);if(t!==-1){let e=o.items.slice(),n=e.splice(t,1),r=o.activeItems.filter(e=>e!==n[0]),i=o.keepScrollPosition;o.keepScrollPosition=!0,o.items=e,r&&(o.activeItems=r),o.keepScrollPosition=i}}})),o.onDidTriggerSeparatorButton(e=>t.onDidTriggerSeparatorButton?.(e)),o.onDidChangeValue(e=>{s&&!e&&(o.activeItems.length!==1||o.activeItems[0]!==s)&&(o.activeItems=[s])}),n.onCancellationRequested(()=>{o.hide()}),o.onDidHide(()=>{yo(c),a(void 0)})];o.title=t.title,t.value&&(o.value=t.value),o.canSelectMany=!!t.canPickMany,o.placeholder=t.placeHolder,o.prompt=t.prompt,o.ignoreFocusOut=!!t.ignoreFocusLost,o.matchOnDescription=!!t.matchOnDescription,o.matchOnDetail=!!t.matchOnDetail,t.sortByLabel!==void 0&&(o.sortByLabel=t.sortByLabel),o.matchOnLabel=t.matchOnLabel===void 0||t.matchOnLabel,o.quickNavigate=t.quickNavigate,o.hideInput=!!t.hideInput,o.contextKey=t.contextKey,o.anchor=t.anchor,o.anchorPosition=t.anchorPosition,o.busy=!0,Promise.all([e,t.activeItem]).then(([e,t])=>{s=t,o.busy=!1,o.items=e,o.canSelectMany&&(o.selectedItems=e.filter(e=>e.type!==`separator`&&e.picked)),s&&(o.activeItems=[s])}),o.show(),Promise.resolve(e).then(void 0,e=>{i(e),o.hide()})})}setValidationOnInput(e,t){t&&Bt(t)?(e.severity=R.Error,e.validationMessage=t):t&&!Bt(t)?(e.severity=t.severity,e.validationMessage=t.content):(e.severity=R.Ignore,e.validationMessage=void 0)}input(e={},t=Jt.None){return new Promise(n=>{if(t.isCancellationRequested){n(void 0);return}let r=this.createInputBox(),i=e.validateInput||(()=>Promise.resolve(void 0)),a=W.debounce(r.onDidChangeValue,(e,t)=>t,100),o=e.value||``,s=Promise.resolve(i(o)),c=[r,a(e=>{e!==o&&(s=Promise.resolve(i(e)),o=e),s.then(t=>{e===o&&this.setValidationOnInput(r,t)})}),r.onDidAccept(()=>{let e=r.value;e!==o&&(s=Promise.resolve(i(e)),o=e),s.then(t=>{!t||!Bt(t)&&t.severity!==R.Error?(n(e),r.hide()):e===o&&this.setValidationOnInput(r,t)})}),t.onCancellationRequested(()=>{r.hide()}),r.onDidHide(()=>{yo(c),n(void 0)})];r.title=e.title,r.value=e.value||``,r.valueSelection=e.valueSelection,r.prompt=e.prompt,r.placeholder=e.placeHolder,r.password=!!e.password,r.ignoreFocusOut=!!e.ignoreFocusLost,r.show()})}createQuickPick(e={useSeparators:!1}){return new O_(this.getUI(!0))}createInputBox(){return new k_(this.getUI(!0))}show(e){let t=this.getUI(!0),n=this.controller;if(this.controller=e,n?.didHide(),gn(e.anchor)){let t=x(e.anchor);x(this._container)!==t&&this.reparentUI(this.layoutService.getContainer(t))}this.setEnabled(!0),t.leftActionBar.setActions([]),t.title.textContent=``,t.description1.textContent=``,t.description2.textContent=``,ne(t.widget),t.rightActionBar.setActions([]),t.inlineActionBar.setActions([]),t.checkAll.checked=!1,t.inputBox.placeholder=``,t.inputBox.password=!1,t.inputBox.showDecoration(R.Ignore),t.visibleCount.setCount(0),t.count.setCount(0),t.countContainer.style.right=`4px`,ne(t.message),t.progressBar.stop(),t.progressBar.getContainer().setAttribute(`aria-hidden`,`true`),t.list.setElements([]),t.list.matchOnDescription=!1,t.list.matchOnDetail=!1,t.list.matchOnLabel=!0,t.list.sortByLabel=!0,t.tree.updateFilterOptions({matchOnDescription:!1,matchOnLabel:!0}),t.tree.sortByLabel=!0,t.ignoreFocusOut=!1,t.inputBox.toggles=void 0,t.inputBox.actions=void 0;let r=this.options.backKeybindingLabel();E_.tooltip=r?L(1832,`Back ({0})`,r):L(1833,`Back`),t.container.style.display=``,this.updateLayout(),this.dndController?.setEnabled(!e.anchor),this.dndController?.layoutContainer(),e.anchor?this._alignment.set(`custom`,void 0):this._alignment.set(this.dndController?.alignment.get()??`top`,void 0),this.onShowEmitter.fire(),t.inputBox.setFocus(),this.quickInputTypeContext.set(e.type)}isVisible(){return!!this.ui&&this.ui.container.style.display!==`none`}setVisibilities(e){let t=this.getUI();t.title.style.display=e.title?``:`none`,t.description1.style.display=e.description&&(e.inputBox||e.checkAll)?``:`none`,t.description2.style.display=e.description&&!(e.inputBox||e.checkAll)?``:`none`,t.checkAll.domNode.style.display=e.checkAll?``:`none`,t.inputContainer.style.display=e.inputBox?``:`none`,t.filterContainer.style.display=e.inputBox?``:`none`,t.visibleCountContainer.style.display=e.visibleCount?``:`none`,t.countContainer.style.display=e.count?``:`none`,t.okContainer.style.display=e.ok?``:`none`,t.customButtonContainer.style.display=e.customButton?``:`none`,t.message.style.display=e.message?``:`none`,t.progressBar.getContainer().style.display=e.progressBar?``:`none`,t.list.displayed=!!e.list,t.tree.displayed=!!e.tree,t.container.classList.toggle(`show-checkboxes`,!!e.checkBox),t.container.classList.toggle(`hidden-input`,!e.inputBox&&!e.description),this.updateLayout()}setEnabled(e){if(e!==this.enabled){this.enabled=e;let t=this.getUI();for(let n=0;n<t.leftActionBar.getItemsLength();n++){let r=t.leftActionBar.getItemAction(n);r&&(r.enabled=e)}for(let n=0;n<t.rightActionBar.getItemsLength();n++){let r=t.rightActionBar.getItemAction(n);r&&(r.enabled=e)}e?t.checkAll.enable():t.checkAll.disable(),t.inputBox.enabled=e,t.ok.enabled=e,t.list.enabled=e}}hide(e){let t=this.controller;if(!t)return;t.willHide(e);let n=this.ui?.container,r=n&&!Yo(n);if(this.controller=null,this.onHideEmitter.fire(),n&&(n.style.display=`none`),!r){let e=this.previousFocusElement;for(;e&&!e.offsetParent;)e=e.parentElement??void 0;e?.offsetParent?(e.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}t.didHide(e)}toggle(){this.isVisible()&&(this.controller instanceof O_&&this.controller.canSelectMany?this.getUI().list.toggleCheckbox():this.controller instanceof Rv&&this.getUI().tree.toggleCheckbox())}toggleHover(){this.isVisible()&&this.controller instanceof O_&&this.getUI().list.toggleHover()}layout(e,t){this.dimension=e,this.titleBarOffset=t,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){let e=this.ui.container.style,t=Math.min(this.dimension.width*.62,Vv.MAX_WIDTH);e.width=t+`px`;let n=this.dimension&&this.dimension.height*.4;if(this.controller?.anchor){let r=this.controller.anchor,i=gn(r)?x(r):_o(),a=this.layoutService.getContainer(i).getBoundingClientRect(),o=Sr(r),s=1,c=.2,l=200;this.controller.anchorPosition===`overlay`?(t=o.width+12,c=.4,o={top:o.top-7,left:o.left-7,width:o.width,height:0},l=Math.min(400,a.bottom-o.top-48),s=0):t=380,n=this.dimension?Math.min(this.dimension.height*c,l):l;let u=Math.floor(n)+48,{top:d,left:f,right:p,bottom:m,anchorAlignment:h,anchorPosition:g}=el(a,{width:t,height:u},o,{anchorPosition:s});h===1?(e.right=`${p}px`,e.left=`initial`):(e.left=`${f}px`,e.right=`initial`),g===1?(e.bottom=`${m}px`,e.top=`initial`):(e.top=`${d}px`,e.bottom=`initial`),e.width=`${t}px`,e.height=``}else e.top=`${this.viewState?.top===void 0?this.titleBarOffset:Math.round(this.dimension.height*this.viewState.top)}px`,e.left=`${Math.round(this.dimension.width*(this.viewState?.left??.5)-t/2)}px`,e.right=``,e.bottom=``,e.height=``;this.ui.inputBox.layout(),this.ui.list.layout(n),this.ui.tree.layout(n)}}applyStyles(e){this.styles=e,this.updateStyles()}updateStyles(){if(this.ui){let{quickInputTitleBackground:e,quickInputBackground:t,quickInputForeground:n,widgetBorder:r}=this.styles.widget;this.ui.titleBar.style.backgroundColor=e??``,this.ui.container.style.backgroundColor=t??``,this.ui.container.style.color=n??``,this.ui.container.style.border=r?`1px solid ${r}`:``,this.ui.list.style(this.styles.list),this.ui.tree.tree.style(this.styles.list);let i=[];this.styles.pickerGroup.pickerGroupBorder&&i.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&i.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&i.push(`.quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }`),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(i.push(`.quick-input-list .monaco-keybinding > .monaco-keybinding-key {`),this.styles.keybindingLabel.keybindingLabelBackground&&i.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&i.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&i.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&i.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&i.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),i.push(`}`));let a=i.join(`
|
|
411
|
+
`);a!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=a)}}loadViewState(){try{let e=JSON.parse(this.storageService.get(Uv,-1,`{}`));if(e.top!==void 0||e.left!==void 0)return e}catch{}}saveViewState(e){this.layoutService.activeContainer===this.layoutService.mainContainer&&(e===void 0?this.storageService.remove(Uv,-1):this.storageService.store(Uv,JSON.stringify(e),-1,1))}};Wv=Vv=zv([Bv(1,ma),Bv(2,w),Bv(3,D),Bv(4,as),Bv(5,ji)],Wv);var Gv=class extends B{constructor(e,t,n,r,i,a,o){super(),this._container=e,this._quickInputContainer=t,this._quickInputDragAreas=n,this._layoutService=i,this.configurationService=o,this.dndViewState=I(this,void 0),this._enabled=!0,this._snapThreshold=20,this._snapLineHorizontalRatio=.25,this._alignment=I(this,`top`),this.alignment=this._alignment,this._quickInputAlignmentContext=b_.bindTo(a);let s=ca(this.configurationService)===`custom`;this._controlsOnLeft=s&&Te===1,this._controlsOnRight=s&&(Te===3||Te===2),this._registerLayoutListener(),this.registerMouseListeners(),this.dndViewState.set({...r,done:!0},void 0),r?.top!==void 0&&r?.left!==void 0&&this._setAlignmentState(void 0)}reparentUI(e){this._container=e}layoutContainer(e=this._layoutService.activeContainerDimension){if(!this._enabled)return;let t=this.dndViewState.get(),n=this._quickInputContainer.getBoundingClientRect();if(t?.top!==void 0&&t?.left!==void 0){let r=Math.round(t.left*100)/100,i=e.width,a=n.width,o=r*i-a/2;this._layout(t.top*e.height,o)}}setEnabled(e){this._enabled=e,this._quickInputContainer.classList.toggle(`no-drag`,!e)}_setAlignmentState(e){this._quickInputAlignmentContext.set(e),this._alignment.set(e??`custom`,void 0)}_registerLayoutListener(){this._register(W.filter(this._layoutService.onDidLayoutContainer,e=>e.container===this._container)(e=>this.layoutContainer(e.dimension)))}registerMouseListeners(){let e=this._quickInputContainer;this._register(Sa(e,t=>{if(!this._enabled)return;let n=new ie(x(e),t);if(n.detail!==2)return;let r=this._quickInputDragAreas.find(({node:e,includeChildren:t})=>t?En(n.target,e):n.target===e);!r||r.excludeNodes?.some(e=>En(n.target,e))||(this.dndViewState.set({top:void 0,left:void 0,done:!0},void 0),this._setAlignmentState(`top`))})),this._register(As(e,e=>{if(!this._enabled)return;let t=x(this._layoutService.activeContainer),n=new ie(t,e),r=this._quickInputDragAreas.find(({node:e,includeChildren:t})=>t?En(n.target,e):n.target===e);if(!r||r.excludeNodes?.some(e=>En(n.target,e)))return;let i=this._quickInputContainer.getBoundingClientRect(),a=n.browserEvent.clientX-i.left,o=n.browserEvent.clientY-i.top,s=!1,c=pc(t,e=>{new ie(t,e).preventDefault(),s||=!0,this._layout(e.clientY-o,e.clientX-a)}),l=Sa(t,e=>{if(s){let e=this.dndViewState.get();this.dndViewState.set({top:e?.top,left:e?.left,done:!0},void 0)}c.dispose(),l.dispose()})}))}_layout(e,t){let n=this._getTopSnapValue(),r=this._getCenterYSnapValue(),i=this._getCenterXSnapValue();e=Math.max(0,Math.min(e,this._container.clientHeight-this._quickInputContainer.clientHeight)),e<this._layoutService.activeContainerOffset.top&&(this._controlsOnLeft?t=Math.max(t,80/Nt(_o())):this._controlsOnRight&&(t=Math.min(t,this._container.clientWidth-this._quickInputContainer.clientWidth-140/Nt(_o()))));let a=Math.abs(e-n)<this._snapThreshold;e=a?n:e;let o=Math.abs(e-r)<this._snapThreshold;e=o?r:e;let s=e/this._container.clientHeight;t=Math.max(0,Math.min(t,this._container.clientWidth-this._quickInputContainer.clientWidth));let c=Math.abs(t-i)<this._snapThreshold;t=c?i:t;let l=this._container.clientWidth,u=this._quickInputContainer.clientWidth,d=(t+u/2)/l;if(this.dndViewState.set({top:s,left:d,done:!1},void 0),c){if(a){this._setAlignmentState(`top`);return}else if(o){this._setAlignmentState(`center`);return}}this._setAlignmentState(void 0)}_getTopSnapValue(){return this._layoutService.activeContainerOffset.quickPickTop}_getCenterYSnapValue(){return Math.round(this._container.clientHeight*this._snapLineHorizontalRatio)}_getCenterXSnapValue(){return Math.round(this._container.clientWidth/2)-Math.round(this._quickInputContainer.clientWidth/2)}};Gv=zv([Bv(4,ma),Bv(5,D),Bv(6,C)],Gv);var Kv=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},qv=function(e,t){return function(n,r){t(n,r,e)}},Jv=class extends ei{get controller(){return this._controller||=this._register(this.createController()),this._controller}get hasController(){return!!this._controller}get currentQuickInput(){return this.controller.currentQuickInput}get quickAccess(){return this._quickAccess||=this._register(this.instantiationService.createInstance(r_)),this._quickAccess}constructor(e,t,n,r,i){super(n),this.instantiationService=e,this.contextKeyService=t,this.layoutService=r,this.configurationService=i,this._alignment=I(this,`top`),this._onShow=this._register(new F),this._onHide=this._register(new F),this.contexts=new Map}createController(e=this.layoutService,t){let n={idPrefix:`quickInput_`,container:e.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>void 0,setContextKey:e=>this.setContextKey(e),linkOpenerDelegate:e=>{this.instantiationService.invokeFunction(t=>{t.get(Oe).open(e,{allowCommands:!0,fromUserGesture:!0})})},returnFocus:()=>e.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(A_))},r=this._register(this.instantiationService.createInstance(Wv,{...n,...t}));return r.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop),this._register(e.onDidLayoutActiveContainer(t=>{x(e.activeContainer)===x(r.container)&&r.layout(t,e.activeContainerOffset.quickPickTop)})),this._register(e.onDidChangeActiveContainer(()=>{r.isVisible()||r.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop)})),this._register(r.onShow(()=>{this.resetContextKeys(),this._onShow.fire()})),this._register(r.onHide(()=>{this.resetContextKeys(),this._onHide.fire()})),this._register(j(e=>{this._alignment.set(r.alignment.read(e),void 0)})),r}setContextKey(e){let t;e&&(t=this.contexts.get(e),t||(t=new Wn(e,!1).bindTo(this.contextKeyService),this.contexts.set(e,t))),!(t&&t.get())&&(this.resetContextKeys(),t?.set(!0))}resetContextKeys(){this.contexts.forEach(e=>{e.get()&&e.reset()})}pick(e,t,n=Jt.None){return this.controller.pick(e,t,n)}input(e={},t=Jt.None){return this.controller.input(e,t)}createQuickPick(e={useSeparators:!1}){return this.controller.createQuickPick(e)}createInputBox(){return this.controller.createInputBox()}toggle(){this.controller.toggle()}toggleHover(){this.hasController&&this.controller.toggleHover()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:sl(sn),quickInputForeground:sl(yn),quickInputTitleBackground:sl(Yt),widgetBorder:sl(us),widgetShadow:sl(go)},inputBox:Bc,toggle:To,countBadge:ja,button:Rs,progressBar:_s,keybindingLabel:Ra,list:po({listBackground:sn,listFocusBackground:Bn,listFocusForeground:Je,listInactiveFocusForeground:Je,listInactiveSelectionIconForeground:Ct,listInactiveFocusBackground:Bn,listInactiveSelectionBackground:Bn,listInactiveSelectionForeground:Je,listFocusOutline:no,listInactiveFocusOutline:no,treeStickyScrollBackground:sn}),pickerGroup:{pickerGroupBorder:sl(m),pickerGroupForeground:sl(Bo)}}}};Jv=Kv([qv(0,w),qv(1,D),qv(2,se),qv(3,ma),qv(4,C)],Jv);var Yv=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Xv=function(e,t){return function(n,r){t(n,r,e)}},Zv=class extends Jv{constructor(e,t,n,r,i,a){super(t,n,r,new Nd(e.getContainerDomNode(),i),a),this.host=void 0;let o=$v.get(e);if(o){let t=o.widget;this.host={_serviceBrand:void 0,get mainContainer(){return t.getDomNode()},getContainer(){return t.getDomNode()},whenContainerStylesLoaded(){},get containers(){return[t.getDomNode()]},get activeContainer(){return t.getDomNode()},get mainContainerDimension(){return e.getLayoutInfo()},get activeContainerDimension(){return e.getLayoutInfo()},get onDidLayoutMainContainer(){return e.onDidLayoutChange},get onDidLayoutActiveContainer(){return e.onDidLayoutChange},get onDidLayoutContainer(){return W.map(e.onDidLayoutChange,e=>({container:t.getDomNode(),dimension:e}))},get onDidChangeActiveContainer(){return W.None},get onDidAddContainer(){return W.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>e.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};Zv=Yv([Xv(1,w),Xv(2,D),Xv(3,se),Xv(4,$s),Xv(5,C)],Zv);var Qv=class{get activeService(){let e=this.codeEditorService.getFocusedCodeEditor();if(!e)throw Error(`Quick input service needs a focused editor to work.`);let t=this.mapEditorToService.get(e);if(!t){let n=t=this.instantiationService.createInstance(Zv,e);this.mapEditorToService.set(e,t),yl(e.onDidDispose)(()=>{n.dispose(),this.mapEditorToService.delete(e)})}return t}get currentQuickInput(){return this.activeService.currentQuickInput}get quickAccess(){return this.activeService.quickAccess}constructor(e,t){this.instantiationService=e,this.codeEditorService=t,this.mapEditorToService=new Map}pick(e,t,n=Jt.None){return this.activeService.pick(e,t,n)}input(e,t){return this.activeService.input(e,t)}createQuickPick(e={useSeparators:!1}){return this.activeService.createQuickPick(e)}createInputBox(){return this.activeService.createInputBox()}toggle(){return this.activeService.toggle()}toggleHover(){return this.activeService.toggleHover()}};Qv=Yv([Xv(0,w),Xv(1,$s)],Qv);var $v=class e{static{this.ID=`editor.controller.quickInput`}static get(t){return t.getContribution(e.ID)}constructor(e){this.editor=e,this.widget=new ey(this.editor)}dispose(){this.widget.dispose()}},ey=class e{static{this.ID=`editor.contrib.quickInputWidget`}constructor(e){this.codeEditor=e,this.domNode=document.createElement(`div`),this.codeEditor.addOverlayWidget(this)}getId(){return e.ID}getDomNode(){return this.domNode}getPosition(){return{preference:{top:0,left:0}}}dispose(){this.codeEditor.removeOverlayWidget(this)}};er($v.ID,$v,4);var ty=class e{static{this._workerIdPool=0}createWorkerClient(t){let n,r=++e._workerIdPool;return n=t instanceof Worker||ay(t)?Promise.resolve(t):this._createWorker(t),new ui(new oy(n,r))}_createWorker(e){let t=this.getWorkerUrl(e),n=ry(e.label,t,this._getWorkerLoadingFailedErrorMessage(e));return iy(new Worker(ny?ny.createScriptURL(n):n,{name:e.label,type:`module`}))}_getWorkerLoadingFailedErrorMessage(e){}getWorkerUrl(e){if(!e.esmModuleLocation)throw Error(`Missing esmModuleLocation in WebWorkerDescriptor`);return(typeof e.esmModuleLocation==`function`?e.esmModuleLocation():e.esmModuleLocation).toString(!0)}},ny=(()=>{let e=globalThis;return typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&e.workerttPolicy!==void 0?e.workerttPolicy:tt(`defaultWorkerFactory`,{createScriptURL:e=>e})})();function ry(e,t,n){if(!(/^((http:)|(https:)|(file:))/.test(t)&&t.substring(0,globalThis.origin.length)!==globalThis.origin)){let n=t.lastIndexOf(`?`),r=t.lastIndexOf(`#`,n),i=n>0?new URLSearchParams(t.substring(n+1,~r?r:void 0)):new URLSearchParams;pa.addSearchParam(i,!0,!0),t=i.toString()?`${t}?${i.toString()}#${e}`:`${t}#${e}`}let r=new Blob([Fs([`/*${e}*/`,`globalThis._VSCODE_NLS_MESSAGES = ${JSON.stringify(p())};`,`globalThis._VSCODE_NLS_LANGUAGE = ${JSON.stringify(Zo())};`,`globalThis._VSCODE_FILE_ROOT = ${JSON.stringify(globalThis._VSCODE_FILE_ROOT)};`,`const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });`,`globalThis.workerttPolicy = ttPolicy;`,n?`try {`:``,`await import(ttPolicy?.createScriptURL(${JSON.stringify(t)}) ?? ${JSON.stringify(t)});`,n?`} catch (err) { console.error(${JSON.stringify(n)}, err); throw err; }`:``,`globalThis.postMessage({ type: 'vscode-worker-ready' });`,`/*${e}*/`]).join(``)],{type:`application/javascript`});return URL.createObjectURL(r)}function iy(e){return new Promise((t,n)=>{e.onmessage=function(n){n.data.type===`vscode-worker-ready`&&(e.onmessage=null,t(e))},e.onerror=n})}function ay(e){return!!e&&typeof e.then==`function`}var oy=class extends B{constructor(e,t){super(),this._onMessage=this._register(new F),this.onMessage=this._onMessage.event,this._onError=this._register(new F),this.onError=this._onError.event,this.id=t,this.worker=e,this.postMessage(`-please-ignore-`,[]);let n=e=>{this._onError.fire(e)};this.worker.then(e=>{e.onmessage=e=>{this._onMessage.fire(e.data)},e.onmessageerror=e=>{this._onError.fire(e)},typeof e.addEventListener==`function`&&e.addEventListener(`error`,n)}),this._register(k(()=>{this.worker?.then(e=>{e.onmessage=null,e.onmessageerror=null,e.removeEventListener(`error`,n),e.terminate()}),this.worker=null}))}getId(){return this.id}postMessage(e,t){this.worker?.then(n=>{try{n.postMessage(e,t)}catch(e){Oc(e),Oc(Error(`FAILED to post message to worker`,{cause:e}))}})}},sy=class extends ty{_createWorker(e){let t=Zs();if(t&&typeof t.getWorker==`function`){let n=t.getWorker(`workerMain.js`,e.label);if(n!==void 0)return Promise.resolve(n)}return super._createWorker(e)}_getWorkerLoadingFailedErrorMessage(e){return`Failed to load worker script for label: ${e.label}.
|
|
412
|
+
Ensure your bundler properly bundles modules referenced by "new URL('...?esm', import.meta.url)".`}getWorkerUrl(e){let t=Zs();if(t&&typeof t.getWorkerUrl==`function`){let n=t.getWorkerUrl(`workerMain.js`,e.label);if(n!==void 0)return new URL(n,document.baseURI).toString()}if(!e.esmModuleLocationBundler)throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker for the worker label: ${e.label}`);return(typeof e.esmModuleLocationBundler==`function`?e.esmModuleLocationBundler():e.esmModuleLocationBundler).toString()}},cy={base:`vs`,inherit:!1,rules:[{token:``,foreground:`000000`,background:`fffffe`},{token:`invalid`,foreground:`cd3131`},{token:`emphasis`,fontStyle:`italic`},{token:`strong`,fontStyle:`bold`},{token:`variable`,foreground:`001188`},{token:`variable.predefined`,foreground:`4864AA`},{token:`constant`,foreground:`dd0000`},{token:`comment`,foreground:`008000`},{token:`number`,foreground:`098658`},{token:`number.hex`,foreground:`3030c0`},{token:`regexp`,foreground:`800000`},{token:`annotation`,foreground:`808080`},{token:`type`,foreground:`008080`},{token:`delimiter`,foreground:`000000`},{token:`delimiter.html`,foreground:`383838`},{token:`delimiter.xml`,foreground:`0000FF`},{token:`tag`,foreground:`800000`},{token:`tag.id.pug`,foreground:`4F76AC`},{token:`tag.class.pug`,foreground:`4F76AC`},{token:`meta.scss`,foreground:`800000`},{token:`metatag`,foreground:`e00000`},{token:`metatag.content.html`,foreground:`FF0000`},{token:`metatag.html`,foreground:`808080`},{token:`metatag.xml`,foreground:`808080`},{token:`metatag.php`,fontStyle:`bold`},{token:`key`,foreground:`863B00`},{token:`string.key.json`,foreground:`A31515`},{token:`string.value.json`,foreground:`0451A5`},{token:`attribute.name`,foreground:`FF0000`},{token:`attribute.value`,foreground:`0451A5`},{token:`attribute.value.number`,foreground:`098658`},{token:`attribute.value.unit`,foreground:`098658`},{token:`attribute.value.html`,foreground:`0000FF`},{token:`attribute.value.xml`,foreground:`0000FF`},{token:`string`,foreground:`A31515`},{token:`string.html`,foreground:`0000FF`},{token:`string.sql`,foreground:`FF0000`},{token:`string.yaml`,foreground:`0451A5`},{token:`keyword`,foreground:`0000FF`},{token:`keyword.json`,foreground:`0451A5`},{token:`keyword.flow`,foreground:`AF00DB`},{token:`keyword.flow.scss`,foreground:`0000FF`},{token:`operator.scss`,foreground:`666666`},{token:`operator.sql`,foreground:`778899`},{token:`operator.swift`,foreground:`666666`},{token:`predefined.sql`,foreground:`C700C7`}],colors:{[za]:`#FFFFFE`,[ea]:`#000000`,[fc]:`#E5EBF1`,[Un]:`#D3D3D3`,[dn]:`#939393`,[rs]:`#ADD6FF4D`}},ly={base:`vs-dark`,inherit:!1,rules:[{token:``,foreground:`D4D4D4`,background:`1E1E1E`},{token:`invalid`,foreground:`f44747`},{token:`emphasis`,fontStyle:`italic`},{token:`strong`,fontStyle:`bold`},{token:`variable`,foreground:`74B0DF`},{token:`variable.predefined`,foreground:`4864AA`},{token:`variable.parameter`,foreground:`9CDCFE`},{token:`constant`,foreground:`569CD6`},{token:`comment`,foreground:`608B4E`},{token:`number`,foreground:`B5CEA8`},{token:`number.hex`,foreground:`5BB498`},{token:`regexp`,foreground:`B46695`},{token:`annotation`,foreground:`cc6666`},{token:`type`,foreground:`3DC9B0`},{token:`delimiter`,foreground:`DCDCDC`},{token:`delimiter.html`,foreground:`808080`},{token:`delimiter.xml`,foreground:`808080`},{token:`tag`,foreground:`569CD6`},{token:`tag.id.pug`,foreground:`4F76AC`},{token:`tag.class.pug`,foreground:`4F76AC`},{token:`meta.scss`,foreground:`A79873`},{token:`meta.tag`,foreground:`CE9178`},{token:`metatag`,foreground:`DD6A6F`},{token:`metatag.content.html`,foreground:`9CDCFE`},{token:`metatag.html`,foreground:`569CD6`},{token:`metatag.xml`,foreground:`569CD6`},{token:`metatag.php`,fontStyle:`bold`},{token:`key`,foreground:`9CDCFE`},{token:`string.key.json`,foreground:`9CDCFE`},{token:`string.value.json`,foreground:`CE9178`},{token:`attribute.name`,foreground:`9CDCFE`},{token:`attribute.value`,foreground:`CE9178`},{token:`attribute.value.number.css`,foreground:`B5CEA8`},{token:`attribute.value.unit.css`,foreground:`B5CEA8`},{token:`attribute.value.hex.css`,foreground:`D4D4D4`},{token:`string`,foreground:`CE9178`},{token:`string.sql`,foreground:`FF0000`},{token:`keyword`,foreground:`569CD6`},{token:`keyword.flow`,foreground:`C586C0`},{token:`keyword.json`,foreground:`CE9178`},{token:`keyword.flow.scss`,foreground:`569CD6`},{token:`operator.scss`,foreground:`909090`},{token:`operator.sql`,foreground:`778899`},{token:`operator.swift`,foreground:`909090`},{token:`predefined.sql`,foreground:`FF00FF`}],colors:{[za]:`#1E1E1E`,[ea]:`#D4D4D4`,[fc]:`#3A3D41`,[Un]:`#404040`,[dn]:`#707070`,[rs]:`#ADD6FF26`}},uy={base:`hc-black`,inherit:!1,rules:[{token:``,foreground:`FFFFFF`,background:`000000`},{token:`invalid`,foreground:`f44747`},{token:`emphasis`,fontStyle:`italic`},{token:`strong`,fontStyle:`bold`},{token:`variable`,foreground:`1AEBFF`},{token:`variable.parameter`,foreground:`9CDCFE`},{token:`constant`,foreground:`569CD6`},{token:`comment`,foreground:`608B4E`},{token:`number`,foreground:`FFFFFF`},{token:`regexp`,foreground:`C0C0C0`},{token:`annotation`,foreground:`569CD6`},{token:`type`,foreground:`3DC9B0`},{token:`delimiter`,foreground:`FFFF00`},{token:`delimiter.html`,foreground:`FFFF00`},{token:`tag`,foreground:`569CD6`},{token:`tag.id.pug`,foreground:`4F76AC`},{token:`tag.class.pug`,foreground:`4F76AC`},{token:`meta`,foreground:`D4D4D4`},{token:`meta.tag`,foreground:`CE9178`},{token:`metatag`,foreground:`569CD6`},{token:`metatag.content.html`,foreground:`1AEBFF`},{token:`metatag.html`,foreground:`569CD6`},{token:`metatag.xml`,foreground:`569CD6`},{token:`metatag.php`,fontStyle:`bold`},{token:`key`,foreground:`9CDCFE`},{token:`string.key`,foreground:`9CDCFE`},{token:`string.value`,foreground:`CE9178`},{token:`attribute.name`,foreground:`569CD6`},{token:`attribute.value`,foreground:`3FF23F`},{token:`string`,foreground:`CE9178`},{token:`string.sql`,foreground:`FF0000`},{token:`keyword`,foreground:`569CD6`},{token:`keyword.flow`,foreground:`C586C0`},{token:`operator.sql`,foreground:`778899`},{token:`operator.swift`,foreground:`909090`},{token:`predefined.sql`,foreground:`FF00FF`}],colors:{[za]:`#000000`,[ea]:`#FFFFFF`,[Un]:`#FFFFFF`,[dn]:`#FFFFFF`}},dy={base:`hc-light`,inherit:!1,rules:[{token:``,foreground:`292929`,background:`FFFFFF`},{token:`invalid`,foreground:`B5200D`},{token:`emphasis`,fontStyle:`italic`},{token:`strong`,fontStyle:`bold`},{token:`variable`,foreground:`264F70`},{token:`variable.predefined`,foreground:`4864AA`},{token:`constant`,foreground:`dd0000`},{token:`comment`,foreground:`008000`},{token:`number`,foreground:`098658`},{token:`number.hex`,foreground:`3030c0`},{token:`regexp`,foreground:`800000`},{token:`annotation`,foreground:`808080`},{token:`type`,foreground:`008080`},{token:`delimiter`,foreground:`000000`},{token:`delimiter.html`,foreground:`383838`},{token:`tag`,foreground:`800000`},{token:`tag.id.pug`,foreground:`4F76AC`},{token:`tag.class.pug`,foreground:`4F76AC`},{token:`meta.scss`,foreground:`800000`},{token:`metatag`,foreground:`e00000`},{token:`metatag.content.html`,foreground:`B5200D`},{token:`metatag.html`,foreground:`808080`},{token:`metatag.xml`,foreground:`808080`},{token:`metatag.php`,fontStyle:`bold`},{token:`key`,foreground:`863B00`},{token:`string.key.json`,foreground:`A31515`},{token:`string.value.json`,foreground:`0451A5`},{token:`attribute.name`,foreground:`264F78`},{token:`attribute.value`,foreground:`0451A5`},{token:`string`,foreground:`A31515`},{token:`string.sql`,foreground:`B5200D`},{token:`keyword`,foreground:`0000FF`},{token:`keyword.flow`,foreground:`AF00DB`},{token:`operator.sql`,foreground:`778899`},{token:`operator.swift`,foreground:`666666`},{token:`predefined.sql`,foreground:`C700C7`}],colors:{[za]:`#FFFFFF`,[ea]:`#292929`,[Un]:`#292929`,[dn]:`#292929`}};function fy(e){let t=new N,n=t.add(new F),r=Ma();return t.add(r.onDidChange(()=>n.fire())),e&&t.add(e.onDidProductIconThemeChange(()=>n.fire())),{dispose:()=>t.dispose(),onDidChange:n.event,getCSS(){let t=e?e.getProductIconTheme():new py,n={},i=new fi,a=new fi;for(let e of r.getIcons()){let r=t.getIcon(e);if(!r)continue;let o=r.font,s=Ni`--vscode-icon-${ec(e.id)}-font-family`,c=Ni`--vscode-icon-${ec(e.id)}-content`;o?(n[o.id]=o.definition,a.push(Ni`${s}: ${Si(o.id)};`,Ni`${c}: ${Si(r.fontCharacter)};`),i.push(Ni`.codicon-${ec(e.id)}:before { content: ${Si(r.fontCharacter)}; font-family: ${Si(o.id)}; }`)):(a.push(Ni`${c}: ${Si(r.fontCharacter)}; ${s}: 'codicon';`),i.push(Ni`.codicon-${ec(e.id)}:before { content: ${Si(r.fontCharacter)}; }`))}for(let e in n){let t=n[e],r=t.weight?Ni`font-weight: ${Pt(t.weight)};`:Ni``,a=t.style?Ni`font-style: ${Pt(t.style)};`:Ni``,o=new fi;for(let e of t.src)o.push(Ni`${ct(e.location)} format(${Si(e.format)})`);i.push(Ni`@font-face { src: ${o.join(`, `)}; font-family: ${Si(e)};${r}${a} font-display: block; }`)}return i.push(Ni`:root { ${a.join(` `)} }`),i.join(`
|
|
413
|
+
`)}}}var py=class{getIcon(e){let t=Ma(),n=e.defaults;for(;pr.isThemeIcon(n);){let e=t.getIcon(n.id);if(!e)return;n=e.defaults}return n}},my=`vs-dark`,hy=`hc-black`,gy=`hc-light`,_y=Wo.as(la.ColorContribution),vy=Wo.as(Fl.ThemingContribution),yy=class{constructor(e,t){this.semanticHighlighting=!1,this.themeData=t;let n=t.base;e.length>0?(by(e)?this.id=e:this.id=n+` `+e,this.themeName=e):(this.id=n,this.themeName=n),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){let e=new Map;for(let t in this.themeData.colors)e.set(t,Ha.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){let t=xy(this.themeData.base);for(let n in t.colors)e.has(n)||e.set(n,Ha.fromHex(t.colors[n]))}this.colors=e}return this.colors}getColor(e,t){let n=this.getColors().get(e);if(n)return n;if(t!==!1)return this.getDefault(e)}getDefault(e){let t=this.defaultColors[e];return t||(t=_y.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)}defines(e){return this.getColors().has(e)}get type(){switch(this.base){case`vs`:return Ee.LIGHT;case hy:return Ee.HIGH_CONTRAST_DARK;case gy:return Ee.HIGH_CONTRAST_LIGHT;default:return Ee.DARK}}get tokenTheme(){if(!this._tokenTheme){let e=[],t=[];if(this.themeData.inherit){let n=xy(this.themeData.base);e=n.rules,n.encodedTokensColors&&(t=n.encodedTokensColors)}let n=this.themeData.colors[`editor.foreground`],r=this.themeData.colors[`editor.background`];if(n||r){let t={token:``};n&&(t.foreground=n),r&&(t.background=r),e.push(t)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=Is.createFromRawTokenTheme(e,t)}return this._tokenTheme}getTokenStyleMetadata(e,t,n){let r=this.tokenTheme._match([e].concat(t).join(`.`)).metadata,i=ii.getForeground(r),a=ii.getFontStyle(r);return{foreground:i,italic:!!(a&1),bold:!!(a&2),underline:!!(a&4),strikethrough:!!(a&8)}}get tokenColorMap(){return[]}};function by(e){return e===`vs`||e===`vs-dark`||e===`hc-black`||e===`hc-light`}function xy(e){switch(e){case`vs`:return cy;case my:return ly;case hy:return uy;case gy:return dy}}function Sy(e){return new yy(e,xy(e))}var Cy=class extends B{constructor(){super(),this._onColorThemeChange=this._register(new F),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new F),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new py,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(`vs`,Sy(`vs`)),this._knownThemes.set(my,Sy(my)),this._knownThemes.set(hy,Sy(hy)),this._knownThemes.set(gy,Sy(gy));let e=this._register(fy(this));this._codiconCSS=e.getCSS(),this._themeCSS=``,this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(`vs`),this._onOSSchemeChanged(),this._register(e.onDidChange(()=>{this._codiconCSS=e.getCSS(),this._updateCSS()})),Vt(ba,`(forced-colors: active)`,()=>{this._onOSSchemeChanged()})}registerEditorContainer(e){return Ln(e)?this._registerShadowDomContainer(e):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=Fe(void 0,e=>{e.className=`monaco-colors`,e.textContent=this._allCSS}),this._styleElements.push(this._globalStyleElement)),B.None}_registerShadowDomContainer(e){let t=Fe(e,e=>{e.className=`monaco-colors`,e.textContent=this._allCSS});return this._styleElements.push(t),{dispose:()=>{for(let e=0;e<this._styleElements.length;e++)if(this._styleElements[e]===t){this._styleElements.splice(e,1);return}}}}defineTheme(e,t){if(!/^[a-z0-9\-]+$/i.test(e))throw Error(`Illegal theme name!`);if(!by(t.base)&&!by(e))throw Error(`Illegal theme base!`);this._knownThemes.set(e,new yy(e,t)),by(e)&&this._knownThemes.forEach(t=>{t.base===e&&t.notifyBaseUpdated()}),this._theme.themeName===e&&this.setTheme(e)}getColorTheme(){return this._theme}setColorMapOverride(e){this._colorMapOverride=e,this._updateThemeOrColorMap()}setTheme(e){let t;t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(`vs`),this._updateActualTheme(t)}_updateActualTheme(e){!e||this._theme===e||(this._theme=e,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){let e=ba.matchMedia(`(forced-colors: active)`).matches;if(e!==Qo(this._theme.type)){let t;t=kn(this._theme.type)?e?hy:my:e?gy:`vs`,this._updateActualTheme(this._knownThemes.get(t))}}}setAutoDetectHighContrast(e){this._autoDetectHighContrast=e,this._onOSSchemeChanged()}_updateThemeOrColorMap(){let e=[],t={},n={addRule:n=>{t[n]||(e.push(n),t[n]=!0)}};vy.getThemingParticipants().forEach(e=>e(this._theme,n,this._environment));let r=[];for(let e of _y.getColors()){let t=this._theme.getColor(e.id,!0);t&&r.push(`${_r(e.id)}: ${t.toString()};`)}n.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${r.join(`
|
|
414
|
+
`)} }`);let i=this._colorMapOverride||this._theme.tokenTheme.getColorMap();n.addRule(yc(i)),n.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { forced-color-adjust: none; }`),this._themeCSS=e.join(`
|
|
415
|
+
`),this._updateCSS(),vr.setColorMap(i),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._styleElements.forEach(e=>e.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}},wy=class{getParserClass(){throw Error(`not implemented in StandaloneTreeSitterLibraryService`)}supportsLanguage(e,t){return!1}getLanguage(e,t,n){}getInjectionQueries(e,t){return null}getHighlightingQueries(e,t){return null}},Ty=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ey=function(e,t){return function(n,r){t(n,r,e)}},Dy=class{constructor(e){this.disposed=!1,this.model=e,this._onWillDispose=new F}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}},Oy=class{constructor(e){this.modelService=e}createModelReference(e){let t=this.modelService.getModel(e);return t?Promise.resolve(new qa(new Dy(t))):Promise.reject(Error(`Model not found`))}};Oy=Ty([Ey(0,Ut)],Oy);var ky=class e{static{this.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}}}show(){return e.NULL_PROGRESS_RUNNER}async showWhile(e,t){await e}},Ay=class{withProgress(e,t,n){return t({report:()=>{}})}},jy=class{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}},My=class{async confirm(e){return{confirmed:this.doConfirm(e.message,e.detail),checkboxChecked:!1}}doConfirm(e,t){let n=e;return t&&(n=n+`
|
|
416
|
+
|
|
417
|
+
`+t),ba.confirm(n)}async prompt(e){let t;if(this.doConfirm(e.message,e.detail)){let n=[...e.buttons??[]];e.cancelButton&&typeof e.cancelButton!=`string`&&typeof e.cancelButton!=`boolean`&&n.push(e.cancelButton),t=await n[0]?.run({checkboxChecked:!1})}return{result:t}}async error(e,t){await this.prompt({type:R.Error,message:e,detail:t})}},Ny=class e{static{this.NO_OP=new Ae}info(e){return this.notify({severity:R.Info,message:e})}warn(e){return this.notify({severity:R.Warning,message:e})}error(e){return this.notify({severity:R.Error,message:e})}notify(t){switch(t.severity){case R.Error:console.error(t.message);break;case R.Warning:console.warn(t.message);break;default:console.log(t.message);break}return e.NO_OP}prompt(t,n,r,i){return e.NO_OP}status(e,t){return{close:()=>{}}}},Py=class{constructor(e){this._onWillExecuteCommand=new F,this._onDidExecuteCommand=new F,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=e}executeCommand(e,...t){let n=Et.getCommand(e);if(!n)return Promise.reject(Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});let r=this._instantiationService.invokeFunction.apply(this._instantiationService,[n.handler,...t]);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(r)}catch(e){return Promise.reject(e)}}};Py=Ty([Ey(0,w)],Py);var Fy=class extends op{constructor(e,t,n,r,i,a){super(e,t,n,r,i),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];let o=e=>{let t=new N;t.add(z(e,H.KEY_DOWN,e=>{let t=new Qr(e);this._dispatch(t,t.target)&&(t.preventDefault(),t.stopPropagation())})),t.add(z(e,H.KEY_UP,e=>{let t=new Qr(e);this._singleModifierDispatch(t,t.target)&&t.preventDefault()})),this._domNodeListeners.push(new Iy(e,t))},s=e=>{for(let t=0;t<this._domNodeListeners.length;t++){let n=this._domNodeListeners[t];n.domNode===e&&(this._domNodeListeners.splice(t,1),n.dispose())}},c=e=>{e.getOption(70)||o(e.getContainerDomNode())};this._register(a.onCodeEditorAdd(c)),this._register(a.onCodeEditorRemove(e=>{e.getOption(70)||s(e.getContainerDomNode())})),a.listCodeEditors().forEach(c);let l=e=>{o(e.getContainerDomNode())};this._register(a.onDiffEditorAdd(l)),this._register(a.onDiffEditorRemove(e=>{s(e.getContainerDomNode())})),a.listDiffEditors().forEach(l)}addDynamicKeybinding(e,t,n,r){return fs(Et.registerCommand(e,n),this.addDynamicKeybindings([{keybinding:t,command:e,when:r}]))}addDynamicKeybindings(e){let t=e.map(e=>({keybinding:at(e.keybinding,da),command:e.command??null,commandArgs:e.commandArgs,when:e.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}));return this._dynamicKeybindings=this._dynamicKeybindings.concat(t),this.updateResolver(),k(()=>{for(let e=0;e<this._dynamicKeybindings.length;e++)if(this._dynamicKeybindings[e]===t[0]){this._dynamicKeybindings.splice(e,t.length),this.updateResolver();return}})}updateResolver(){this._cachedResolver=null,this._onDidUpdateKeybindings.fire()}_getResolver(){if(!this._cachedResolver){let e=this._toNormalizedKeybindingItems(y.getDefaultKeybindings(),!0),t=this._toNormalizedKeybindingItems(this._dynamicKeybindings,!1);this._cachedResolver=new np(e,t,e=>this._log(e))}return this._cachedResolver}_documentHasFocus(){return ba.document.hasFocus()}_toNormalizedKeybindingItems(e,t){let n=[],r=0;for(let i of e){let e=i.when||void 0,a=i.keybinding;if(!a)n[r++]=new cp(void 0,i.command,i.commandArgs,e,t,null,!1);else{let o=dp.resolveKeybinding(a,da);for(let a of o)n[r++]=new cp(a,i.command,i.commandArgs,e,t,null,!1)}}return n}resolveKeyboardEvent(e){return new dp([new mt(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode)],da)}};Fy=Ty([Ey(0,D),Ey(1,$t),Ey(2,va),Ey(3,Be),Ey(4,lc),Ey(5,$s)],Fy);var Iy=class extends B{constructor(e,t){super(),this.domNode=e,this._register(t)}};function Ly(e){return!!e&&typeof e==`object`&&(!e.overrideIdentifier||typeof e.overrideIdentifier==`string`)&&(!e.resource||e.resource instanceof Xo)}var Ry=class{constructor(e){this.logService=e,this._onDidChangeConfiguration=new F,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;let t=new of(e);this._configuration=new rf(t.reload(),ef.createEmptyModel(e),ef.createEmptyModel(e),ef.createEmptyModel(e),ef.createEmptyModel(e),ef.createEmptyModel(e),new Qi,ef.createEmptyModel(e),new Qi,e),t.dispose()}getValue(e,t){let n=typeof e==`string`?e:void 0,r=Ly(e)?e:Ly(t)?t:{};return this._configuration.getValue(n,r,void 0)}updateValues(e){let t={data:this._configuration.toData()},n=[];for(let t of e){let[e,r]=t;this.getValue(e)!==r&&(this._configuration.updateValue(e,r),n.push(e))}if(n.length>0){let e=new af({keys:n,overrides:[]},t,this._configuration,void 0,this.logService);e.source=8,this._onDidChangeConfiguration.fire(e)}return Promise.resolve()}updateValue(e,t,n,r){return this.updateValues([[e,t]])}inspect(e,t={}){return this._configuration.inspect(e,t,void 0)}};Ry=Ty([Ey(0,lc)],Ry);var zy=class extends B{constructor(e,t,n){super(),this.configurationService=e,this.modelService=t,this.languageService=n,this._onDidChangeConfiguration=this._register(new F),this._register(this.configurationService.onDidChangeConfiguration(e=>{this._onDidChangeConfiguration.fire({affectedKeys:e.affectedKeys,affectsConfiguration:(t,n)=>e.affectsConfiguration(n)})}))}getValue(e,t,n){let r=Dn.isIPosition(t)?t:null,i=r?typeof n==`string`?n:void 0:typeof t==`string`?t:void 0,a=e?this.getLanguage(e,r):void 0;return i===void 0?this.configurationService.getValue({resource:e,overrideIdentifier:a}):this.configurationService.getValue(i,{resource:e,overrideIdentifier:a})}getLanguage(e,t){let n=this.modelService.getModel(e);return n?t?n.getLanguageIdAtPosition(t.lineNumber,t.column):n.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(e)}};zy=Ty([Ey(0,C),Ey(1,Ut),Ey(2,Xe)],zy);var By=class{constructor(e){this.configurationService=e}getEOL(e,t){let n=this.configurationService.getValue(`files.eol`,{overrideIdentifier:t,resource:e});return n&&typeof n==`string`&&n!==`auto`?n:yr||me?`
|
|
418
|
+
`:`\r
|
|
419
|
+
`}};By=Ty([Ey(0,C)],By);var Vy=class{publicLog2(){}},Hy=class e{static{this.SCHEME=`inmemory`}constructor(){let t=Xo.from({scheme:e.SCHEME,authority:`model`,path:`/`});this.workspace={id:Lo,folders:[new mn({uri:t,name:``,index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(t){return t&&t.scheme===e.SCHEME?this.workspace.folders[0]:null}};function Uy(e,t,n){if(!t||!(e instanceof Ry))return;let r=[];Object.keys(t).forEach(e=>{Sg(e)&&r.push([`editor.${e}`,t[e]]),n&&Cg(e)&&r.push([`diffEditor.${e}`,t[e]])}),r.length>0&&e.updateValues(r)}var Wy=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){let n=Array.isArray(e)?e:wn.convert(e),r=new Map;for(let e of n){if(!(e instanceof qo))throw Error(`bad edit - only text edits are supported`);let t=this._modelService.getModel(e.resource);if(!t)throw Error(`bad edit - model not found`);if(typeof e.versionId==`number`&&t.getVersionId()!==e.versionId)throw Error(`bad state - model changed in the meantime`);let n=r.get(t);n||(n=[],r.set(t,n)),n.push(Pe.replaceMove(S.lift(e.textEdit.range),e.textEdit.text))}let i=0,a=0;for(let[e,t]of r)e.pushStackElement(),e.pushEditOperations([],t,()=>[]),e.pushStackElement(),a+=1,i+=t.length;return{ariaSummary:zs(de.bulkEditServiceSummary,i,a),isApplied:i>0}}};Wy=Ty([Ey(0,Ut)],Wy);var Gy=class{getUriLabel(e,t){return e.scheme===`file`?e.fsPath:e.path}getUriBasenameLabel(e){return Aa(e)}},Ky=class extends Uf{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,n){if(!t){let e=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();e&&(t=e.getContainerDomNode())}return super.showContextView(e,t,n)}};Ky=Ty([Ey(0,ma),Ey(1,$s)],Ky);var qy=class{constructor(){this._neverEmitter=new F,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}},Jy=class extends zg{constructor(){super()}},Yy=class extends $h{constructor(){super(new Es)}},Xy=class extends Rf{constructor(e,t,n,r,i,a){super(e,t,n,r,i,a),this.configure({blockMouse:!1})}};Xy=Ty([Ey(0,va),Ey(1,Be),Ey(2,bi),Ey(3,rl),Ey(4,Er),Ey(5,D)],Xy);var Zy=class{async playSignal(e,t){}},Qy=class{constructor(){this.onDidChangeDefaultAccount=W.None}async getDefaultAccount(){return null}};E(Ur,sy,0),E(lc,Yy,0),E(C,Ry,0),E(Jn,zy,0),E(t,By,0),E(l,Hy,0),E(qn,Gy,0),E(va,Vy,0),E(Sl,My,0),E(_c,jy,0),E(Be,Ny,0),E(ng,og,0),E(Xe,Jy,0),E(e_,Cy,0),E(Ut,Qg,0),E(Ro,Ug,0),E(D,yf,0),E(Ol,Ay,0),E(ir,ky,0),E(as,Ic,0),E(Se,Wy,0),E(cg,qy,0),E(st,Oy,0),E(Tn,Id,0),E(Zm,Qm,0),E($t,Py,0),E(rl,Fy,0),E(Ya,Qv,0),E(bi,Ky,0),E(Oe,mg,0),E(Ec,Qd,0),E(ji,Xy,0),E(Er,Vd,0),E(ac,Zy,0),E(oa,wy,0),E(Po,Ls,0),E(Wf,Gf,0),E(Kf,Qy,0),E(hg,gg,0),E(Tr,sg,0);var Q;(function(e){let t=new Wa;for(let[e,n]of un())t.set(e,n);let n=new Zf(t,!0);t.set(w,n);function r(e){i||o({});let r=t.get(e);if(!r)throw Error(`Missing service `+e);return r instanceof Hn?n.invokeFunction(t=>t.get(e)):r}e.get=r;let i=!1,a=new F;function o(e){if(i)return n;i=!0;for(let[e,n]of un())t.get(e)||t.set(e,n);for(let n in e)if(e.hasOwnProperty(n)){let r=xi(n);t.get(r)instanceof Hn&&t.set(r,e[n])}let r=Zc();for(let e of r)try{n.createInstance(e)}catch(e){Oc(e)}return a.fire(),n}e.initialize=o;function s(e){if(i)return e();let t=new N,n=t.add(a.event(()=>{n.dispose(),t.add(e())}));return t}e.withServices=s})(Q||={});function $y(e,t){return e}function eb(e,t,n,r=bo.ofCaller()){let i=e.bindTo(t),a=new N;return Pa({debugName:()=>`Set Context Key "${e.key}"`},e=>{let t=n(e);return i.set(t),t},r).recomputeInitiallyAndOnChange(a),a}function tb(e,t,n,r){if(e.length===0)return t;if(t.length===0)return e;let i=[],a=0,o=0;for(;a<e.length&&o<t.length;){let s=e[a],c=t[o],l=n(s),u=n(c);l<u?(i.push(s),a++):l>u?(i.push(c),o++):(i.push(r(s,c)),a++,o++)}for(;a<e.length;)i.push(e[a]),a++;for(;o<t.length;)i.push(t[o]),o++;return i}function nb(e,t){let n=new N,r=e.createDecorationsCollection();return n.add(gc({debugName:()=>`Apply decorations from ${t.debugName}`},e=>{let n=t.read(e);r.set(n)})),n.add({dispose:()=>{r.clear()}}),n}function rb(e,t){return e.appendChild(t),k(()=>{t.remove()})}function ib(e,t){return e.prepend(t),k(()=>{t.remove()})}var ab=class extends B{get width(){return this._width}get height(){return this._height}get automaticLayout(){return this._automaticLayout}constructor(e,t){super(),this._automaticLayout=!1,this.elementSizeObserver=this._register(new u(e,t)),this._width=I(this,this.elementSizeObserver.getWidth()),this._height=I(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange(e=>Ao(e=>{this._width.set(this.elementSizeObserver.getWidth(),e),this._height.set(this.elementSizeObserver.getHeight(),e)})))}observe(e){this.elementSizeObserver.observe(e)}setAutomaticLayout(e){this._automaticLayout=e,e?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}};function ob(e,t,n){let r=t.get(),i=r,a=r,o=I(`animatedValue`,r),s=-1,c;n.add(Ns({changeTracker:{createChangeSummary:()=>({animate:!1}),handleChange:(e,n)=>(e.didChange(t)&&(n.animate=n.animate||e.change),!0)}},(n,o)=>{c!==void 0&&(e.cancelAnimationFrame(c),c=void 0),i=a,r=t.read(n),s=i===r?Date.now()-300:Date.now()-(o.animate?0:300),l()}));function l(){let t=Date.now()-s;a=Math.floor(sb(t,i,r-i,300)),t<300?c=e.requestAnimationFrame(l):a=r,o.set(a,void 0)}return o}function sb(e,t,n,r){return e===r?t+n:n*(-(2**(-10*e/r))+1)+t}var cb=class extends B{constructor(e,t,n){super(),this._register(new ub(e,n)),this._register(db(n,{height:t.actualHeight,top:t.actualTop}))}},lb=class{get afterLineNumber(){return this._afterLineNumber.get()}constructor(e,t){this._afterLineNumber=e,this.heightInPx=t,this.domNode=document.createElement(`div`),this._actualTop=I(this,void 0),this._actualHeight=I(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=e=>{this._actualTop.set(e,void 0)},this.onComputedHeight=e=>{this._actualHeight.set(e,void 0)}}},ub=class e{static{this._counter=0}constructor(t,n){this._editor=t,this._domElement=n,this._overlayWidgetId=`managedOverlayWidget-${e._counter++}`,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}};function db(e,t){return j(n=>{for(let[r,i]of Object.entries(t))i&&typeof i==`object`&&`read`in i&&(i=i.read(n)),typeof i==`number`&&(i=`${i}px`),r=r.replace(/[A-Z]/g,e=>`-`+e.toLowerCase()),e.style[r]=i})}function fb(e,t,n,r){let i=new N,a=[];return i.add(Ta((i,o)=>{let s=t.read(i),c=new Map,l=new Map;n&&n(!0),e.changeViewZones(e=>{for(let t of a)e.removeZone(t),r?.delete(t);a.length=0;for(let t of s){let n=e.addZone(t);t.setZoneId&&t.setZoneId(n),a.push(n),r?.add(n),c.set(t,n)}}),n&&n(!1),o.add(Ns({changeTracker:{createChangeSummary(){return{zoneIds:[]}},handleChange(e,t){let n=l.get(e.changedObservable);return n!==void 0&&t.zoneIds.push(n),!0}}},(t,r)=>{for(let e of s)e.onChange&&(l.set(e.onChange,c.get(e)),e.onChange.read(t));n&&n(!0),e.changeViewZones(e=>{for(let t of r.zoneIds)e.layoutZone(t)}),n&&n(!1)}))})),i.add({dispose(){n&&n(!0),e.changeViewZones(e=>{for(let t of a)e.removeZone(t)}),r?.clear(),n&&n(!1)}}),i}function pb(e,t){let n=Fa(t,t=>t.original.startLineNumber<=e.lineNumber);if(!n)return S.fromPositions(e);if(n.original.endLineNumberExclusive<=e.lineNumber){let t=e.lineNumber-n.original.endLineNumberExclusive+n.modified.endLineNumberExclusive;return S.fromPositions(new Dn(t,e.column))}if(!n.innerChanges)return S.fromPositions(new Dn(n.modified.startLineNumber,1));let r=Fa(n.innerChanges,t=>t.originalRange.getStartPosition().isBeforeOrEqual(e));if(!r){let t=e.lineNumber-n.original.startLineNumber+n.modified.startLineNumber;return S.fromPositions(new Dn(t,e.column))}if(r.originalRange.containsPosition(e))return r.modifiedRange;{let t=mb(r.originalRange.getEndPosition(),e);return S.fromPositions(t.addToPosition(r.modifiedRange.getEndPosition()))}}function mb(e,t){return e.lineNumber===t.lineNumber?new Ps(0,t.column-e.column):new Ps(t.lineNumber-e.lineNumber,t.column-1)}function hb(e,t){let n;return e.filter(e=>{let r=t(e,n);return n=e,r})}var gb=class{static create(e,t=void 0){return new _b(e,e,t)}static createWithDisposable(e,t,n=void 0){let r=new N;return r.add(t),r.add(e),new _b(e,r,n)}},_b=class extends gb{constructor(e,t,n){super(),this.object=e,this._disposable=t,this._debugOwner=n,this._refCount=1,this._isDisposed=!1,this._owners=[],n&&this._addOwner(n)}_addOwner(e){e&&this._owners.push(e)}createNewRef(e){return this._refCount++,e&&this._addOwner(e),new vb(this,e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._decreaseRefCount(this._debugOwner))}_decreaseRefCount(e){if(this._refCount--,this._refCount===0&&this._disposable.dispose(),e){let t=this._owners.indexOf(e);t!==-1&&this._owners.splice(t,1)}}},vb=class extends gb{constructor(e,t){super(),this._base=e,this._debugOwner=t,this._isDisposed=!1}get object(){return this._base.object}createNewRef(e){return this._base.createNewRef(e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._base._decreaseRefCount(this._debugOwner))}},yb=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},bb=function(e,t){return function(n,r){t(n,r,e)}},xb=Ga(`diff-review-insert`,q.add,L(113,`Icon for 'Insert' in accessible diff viewer.`)),Sb=Ga(`diff-review-remove`,q.remove,L(114,`Icon for 'Remove' in accessible diff viewer.`)),Cb=Ga(`diff-review-close`,q.close,L(115,`Icon for 'Close' in accessible diff viewer.`)),wb=class extends B{static{this._ttPolicy=tt(`diffReview`,{createHTML:e=>e})}constructor(e,t,n,r,i,a,o,s,c){super(),this._parentNode=e,this._visible=t,this._setVisible=n,this._canClose=r,this._width=i,this._height=a,this._diffs=o,this._models=s,this._instantiationService=c,this._state=V(this,e=>{let t=this._visible.read(e);if(this._parentNode.style.visibility=t?`visible`:`hidden`,!t)return null;let n=e.store.add(this._instantiationService.createInstance(Tb,this._diffs,this._models,this._setVisible,this._canClose));return{model:n,view:e.store.add(this._instantiationService.createInstance(Pb,this._parentNode,n,this._width,this._height,this._models))}}).recomputeInitiallyAndOnChange(this._store)}next(){Ao(e=>{let t=this._visible.get();this._setVisible(!0,e),t&&this._state.get().model.nextGroup(e)})}prev(){Ao(e=>{this._setVisible(!0,e),this._state.get().model.previousGroup(e)})}close(){Ao(e=>{this._setVisible(!1,e)})}};wb=yb([bb(8,w)],wb);var Tb=class extends B{constructor(e,t,n,r,i){super(),this._diffs=e,this._models=t,this._setVisible=n,this.canClose=r,this._accessibilitySignalService=i,this._groups=I(this,[]),this._currentGroupIdx=I(this,0),this._currentElementIdx=I(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map((e,t)=>this._groups.read(t)[e]),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map((e,t)=>this.currentGroup.read(t)?.lines[e]),this._register(j(e=>{let t=this._diffs.read(e);if(!t){this._groups.set([],void 0);return}let n=Db(t,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());Ao(e=>{let t=this._models.getModifiedPosition();if(t){let r=n.findIndex(e=>t?.lineNumber<e.range.modified.endLineNumberExclusive);r!==-1&&this._currentGroupIdx.set(r,e)}this._groups.set(n,e)})})),this._register(j(e=>{let t=this.currentElement.read(e);t?.type===Ob.Deleted?this._accessibilitySignalService.playSignal(Cs.diffLineDeleted,{source:`accessibleDiffViewer.currentElementChanged`}):t?.type===Ob.Added&&this._accessibilitySignalService.playSignal(Cs.diffLineInserted,{source:`accessibleDiffViewer.currentElementChanged`})})),this._register(j(e=>{let t=this.currentElement.read(e);if(t&&t.type!==Ob.Header){let e=t.modifiedLineNumber??t.diff.modified.startLineNumber;this._models.modifiedSetSelection(S.fromPositions(new Dn(e,1)))}}))}_goToGroupDelta(e,t){let n=this.groups.get();!n||n.length<=1||ic(t,t=>{this._currentGroupIdx.set(Ws.ofLength(n.length).clipCyclic(this._currentGroupIdx.get()+e),t),this._currentElementIdx.set(0,t)})}nextGroup(e){this._goToGroupDelta(1,e)}previousGroup(e){this._goToGroupDelta(-1,e)}_goToLineDelta(e){let t=this.currentGroup.get();!t||t.lines.length<=1||Ao(n=>{this._currentElementIdx.set(Ws.ofLength(t.lines.length).clip(this._currentElementIdx.get()+e),n)})}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(e){let t=this.currentGroup.get();if(!t)return;let n=t.lines.indexOf(e);n!==-1&&Ao(e=>{this._currentElementIdx.set(n,e)})}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);let e=this.currentElement.get();e&&(e.type===Ob.Deleted?this._models.originalReveal(S.fromPositions(new Dn(e.originalLineNumber,1))):this._models.modifiedReveal(e.type===Ob.Header?void 0:S.fromPositions(new Dn(e.modifiedLineNumber,1))))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};Tb=yb([bb(4,ac)],Tb);var Eb=3;function Db(e,t,n){let r=[];for(let i of Za(e,(e,t)=>t.modified.startLineNumber-e.modified.endLineNumberExclusive<2*Eb)){let e=[];e.push(new Ab);let a=new U(Math.max(1,i[0].original.startLineNumber-Eb),Math.min(i[i.length-1].original.endLineNumberExclusive+Eb,t+1)),o=new U(Math.max(1,i[0].modified.startLineNumber-Eb),Math.min(i[i.length-1].modified.endLineNumberExclusive+Eb,n+1));Ia(i,(t,n)=>{let r=new U(t?t.original.endLineNumberExclusive:a.startLineNumber,n?n.original.startLineNumber:a.endLineNumberExclusive),i=new U(t?t.modified.endLineNumberExclusive:o.startLineNumber,n?n.modified.startLineNumber:o.endLineNumberExclusive);r.forEach(t=>{e.push(new Nb(t,i.startLineNumber+(t-r.startLineNumber)))}),n&&(n.original.forEach(t=>{e.push(new jb(n,t))}),n.modified.forEach(t=>{e.push(new Mb(n,t))}))});let s=i[0].modified.join(i[i.length-1].modified),c=i[0].original.join(i[i.length-1].original);r.push(new kb(new ws(s,c),e))}return r}var Ob;(function(e){e[e.Header=0]=`Header`,e[e.Unchanged=1]=`Unchanged`,e[e.Deleted=2]=`Deleted`,e[e.Added=3]=`Added`})(Ob||={});var kb=class{constructor(e,t){this.range=e,this.lines=t}},Ab=class{constructor(){this.type=Ob.Header}},jb=class{constructor(e,t){this.diff=e,this.originalLineNumber=t,this.type=Ob.Deleted,this.modifiedLineNumber=void 0}},Mb=class{constructor(e,t){this.diff=e,this.modifiedLineNumber=t,this.type=Ob.Added,this.originalLineNumber=void 0}},Nb=class{constructor(e,t){this.originalLineNumber=e,this.modifiedLineNumber=t,this.type=Ob.Unchanged}},Pb=class extends B{constructor(t,n,r,i,a,o){super(),this._element=t,this._model=n,this._width=r,this._height=i,this._models=a,this._languageService=o,this.domNode=this._element,this.domNode.className=`monaco-component diff-review monaco-editor-background`;let s=document.createElement(`div`);s.className=`diff-review-actions`,this._actionBar=this._register(new e(s)),this._register(j(e=>{this._actionBar.clear(),this._model.canClose.read(e)&&this._actionBar.push(di({id:`diffreview.close`,label:L(116,`Close`),class:`close-diff-review `+pr.asClassName(Cb),enabled:!0,run:async()=>n.close()}),{label:!1,icon:!0})})),this._content=document.createElement(`div`),this._content.className=`diff-review-content`,this._content.setAttribute(`role`,`code`),this._scrollbar=this._register(new qi(this._content,{})),ne(this.domNode,this._scrollbar.getDomNode(),s),this._register(j(e=>{this._height.read(e),this._width.read(e),this._scrollbar.scanDomNode()})),this._register(k(()=>{ne(this.domNode)})),this._register(db(this.domNode,{width:this._width,height:this._height})),this._register(db(this._content,{width:this._width,height:this._height})),this._register(Ta((e,t)=>{this._model.currentGroup.read(e),this._render(t)})),this._register(Mc(this.domNode,`keydown`,e=>{(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),this._model.goToNextLine()),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),this._model.goToPreviousLine()),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),this._model.close()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),this._model.revealCurrentElementInEditor())}))}_render(e){let t=this._models.getOriginalOptions(),n=this._models.getModifiedOptions(),r=document.createElement(`div`);r.className=`diff-review-table`,r.setAttribute(`role`,`list`),r.setAttribute(`aria-label`,L(117,`Accessible Diff Viewer. Use arrow up and down to navigate.`)),tr(r,n.get(59)),ne(this._content,r);let i=this._models.getOriginalModel(),a=this._models.getModifiedModel();if(!i||!a)return;let o=i.getOptions(),s=a.getOptions(),c=n.get(75),l=this._model.currentGroup.get();for(let u of l?.lines||[]){if(!l)break;let d;if(u.type===Ob.Header){let e=document.createElement(`div`);e.className=`diff-review-row`,e.setAttribute(`role`,`listitem`);let t=l.range,n=this._model.currentGroupIndex.get(),r=this._model.groups.get().length,i=e=>e===0?L(118,`no lines changed`):e===1?L(119,`1 line changed`):L(120,`{0} lines changed`,e),a=i(t.original.length),o=i(t.modified.length);e.setAttribute(`aria-label`,L(121,`Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}`,n+1,r,t.original.startLineNumber,a,t.modified.startLineNumber,o));let s=document.createElement(`div`);s.className=`diff-review-cell diff-review-summary`,s.appendChild(document.createTextNode(`${n+1}/${r}: @@ -${t.original.startLineNumber},${t.original.length} +${t.modified.startLineNumber},${t.modified.length} @@`)),e.appendChild(s),d=e}else d=this._createRow(u,c,this._width.get(),t,i,o,n,a,s);r.appendChild(d);let f=V(e=>this._model.currentElement.read(e)===u);e.add(j(e=>{let t=f.read(e);d.tabIndex=t?0:-1,t&&d.focus()})),e.add(z(d,`focus`,()=>{this._model.goToLine(u)}))}this._scrollbar.scanDomNode()}_createRow(e,t,n,r,i,a,o,s,c){let l=r.get(165),u=l.glyphMarginWidth+l.lineNumbersWidth,d=o.get(165),f=10+d.glyphMarginWidth+d.lineNumbersWidth,p=`diff-review-row`,m=``,h=null;switch(e.type){case Ob.Added:p=`diff-review-row line-insert`,m=` char-insert`,h=xb;break;case Ob.Deleted:p=`diff-review-row line-delete`,m=` char-delete`,h=Sb;break}let g=document.createElement(`div`);g.style.minWidth=n+`px`,g.className=p,g.setAttribute(`role`,`listitem`),g.ariaLevel=``;let _=document.createElement(`div`);_.className=`diff-review-cell`,_.style.height=`${t}px`,g.appendChild(_);let v=document.createElement(`span`);v.style.width=u+`px`,v.style.minWidth=u+`px`,v.className=`diff-review-line-number`+m,e.originalLineNumber===void 0?v.innerText=`\xA0`:v.appendChild(document.createTextNode(String(e.originalLineNumber))),_.appendChild(v);let y=document.createElement(`span`);y.style.width=f+`px`,y.style.minWidth=f+`px`,y.style.paddingRight=`10px`,y.className=`diff-review-line-number`+m,e.modifiedLineNumber===void 0?y.innerText=`\xA0`:y.appendChild(document.createTextNode(String(e.modifiedLineNumber))),_.appendChild(y);let ee=document.createElement(`span`);if(ee.className=`diff-review-spacer`,h){let e=document.createElement(`span`);e.className=pr.asClassName(h),e.innerText=`\xA0\xA0`,ee.appendChild(e)}else ee.innerText=`\xA0\xA0`;_.appendChild(ee);let b;if(e.modifiedLineNumber!==void 0){let t=this._getLineHtml(s,o,c.tabSize,e.modifiedLineNumber,this._languageService.languageIdCodec);wb._ttPolicy&&(t=wb._ttPolicy.createHTML(t)),_.insertAdjacentHTML(`beforeend`,t),b=s.getLineContent(e.modifiedLineNumber)}else{let t=this._getLineHtml(i,r,a.tabSize,e.originalLineNumber,this._languageService.languageIdCodec);wb._ttPolicy&&(t=wb._ttPolicy.createHTML(t)),_.insertAdjacentHTML(`beforeend`,t),b=i.getLineContent(e.originalLineNumber)}b.length===0&&(b=L(122,`blank`));let te=``;switch(e.type){case Ob.Unchanged:te=e.originalLineNumber===e.modifiedLineNumber?L(123,`{0} unchanged line {1}`,b,e.originalLineNumber):L(124,`{0} original line {1} modified line {2}`,b,e.originalLineNumber,e.modifiedLineNumber);break;case Ob.Added:te=L(125,`+ {0} modified line {1}`,b,e.modifiedLineNumber);break;case Ob.Deleted:te=L(126,`- {0} original line {1}`,b,e.originalLineNumber);break}return g.setAttribute(`aria-label`,te),g}_getLineHtml(e,t,n,r,i){let a=e.getLineContent(r),o=t.get(59),s=t.get(117).verticalScrollbarSize,c=ut.createEmpty(a,i),l=yt.isBasicASCII(a,e.mightContainNonBasicASCII()),u=yt.containsRTL(a,l,e.mightContainRTL());return te(new Kt(o.isMonospace&&!t.get(40),o.canUseHalfwidthRightwardsArrow,a,!1,l,u,0,c,[],n,0,o.spaceWidth,o.middotWidth,o.wsmiddotWidth,t.get(133),t.get(113),t.get(108),t.get(60)!==Xr.OFF,null,null,s)).html}};Pb=yb([bb(5,Xe)],Pb);var Fb=class{constructor(e){this.editors=e}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(e){this.editors.original.revealRange(e),this.editors.original.setSelection(e),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(e){e&&(this.editors.modified.revealRange(e),this.editors.modified.setSelection(e)),this.editors.modified.focus()}modifiedSetSelection(e){this.editors.modified.setSelection(e)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){return this.editors.modified.getPosition()??void 0}};fe(`diffEditor.move.border`,`#8b8b8b9c`,L(153,`The border color for text that got moved in the diff editor.`)),fe(`diffEditor.moveActive.border`,`#FFA500`,L(154,`The active border color for text that got moved in the diff editor.`)),fe(`diffEditor.unchangedRegionShadow`,{dark:`#000000`,light:`#737373BF`,hcDark:`#000000`,hcLight:`#737373BF`},L(155,`The color of the shadow around unchanged region widgets.`));var Ib=Ga(`diff-insert`,q.add,L(156,`Line decoration for inserts in the diff editor.`)),Lb=Ga(`diff-remove`,q.remove,L(157,`Line decoration for removals in the diff editor.`)),Rb=cc.register({className:`line-insert`,description:`line-insert`,isWholeLine:!0,linesDecorationsClassName:`insert-sign `+pr.asClassName(Ib),marginClassName:`gutter-insert`}),zb=cc.register({className:`line-delete`,description:`line-delete`,isWholeLine:!0,linesDecorationsClassName:`delete-sign `+pr.asClassName(Lb),marginClassName:`gutter-delete`}),Bb=cc.register({className:`line-insert`,description:`line-insert`,isWholeLine:!0,marginClassName:`gutter-insert`}),Vb=cc.register({className:`line-delete`,description:`line-delete`,isWholeLine:!0,marginClassName:`gutter-delete`}),Hb=cc.register({className:`char-insert`,description:`char-insert`,shouldFillLineOnLineBreak:!0}),Ub=cc.register({className:`char-insert`,description:`char-insert`,isWholeLine:!0}),Wb=cc.register({className:`char-insert diff-range-empty`,description:`char-insert diff-range-empty`}),Gb=cc.register({className:`char-delete`,description:`char-delete`,shouldFillLineOnLineBreak:!0}),Kb=cc.register({className:`char-delete`,description:`char-delete`,isWholeLine:!0}),qb=cc.register({className:`char-delete diff-range-empty`,description:`char-delete diff-range-empty`}),Jb=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Yb=function(e,t){return function(n,r){t(n,r,e)}},Xb,Zb=xi(`diffProviderFactoryService`),Qb=class{constructor(e){this.instantiationService=e}createDiffProvider(e){return this.instantiationService.createInstance($b,e)}};Qb=Jb([Yb(0,w)],Qb),E(Zb,Qb,1);var $b=class{static{Xb=this}static{this.diffCache=new Map}constructor(e,t,n){this.editorWorkerService=t,this.telemetryService=n,this.onDidChangeEventEmitter=new F,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm=`advanced`,this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(e)}dispose(){this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.onDidChangeEventEmitter.dispose()}async computeDiff(e,t,n,r){if(typeof this.diffAlgorithm!=`string`)return this.diffAlgorithm.computeDiff(e,t,n,r);if(e.isDisposed()||t.isDisposed())return{changes:[],identical:!0,quitEarly:!1,moves:[]};if(e.getLineCount()===1&&e.getLineMaxColumn(1)===1)return t.getLineCount()===1&&t.getLineMaxColumn(1)===1?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new Dc(new U(1,2),new U(1,t.getLineCount()+1),[new oc(e.getFullModelRange(),t.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};let i=JSON.stringify([e.uri.toString(),t.uri.toString()]),a=JSON.stringify([e.id,t.id,e.getAlternativeVersionId(),t.getAlternativeVersionId(),JSON.stringify(n)]),o=Xb.diffCache.get(i);if(o&&o.context===a)return o.result;let s=hc.create(),c=await this.editorWorkerService.computeDiff(e.uri,t.uri,n,this.diffAlgorithm),l=s.elapsed();if(this.telemetryService.publicLog2(`diffEditor.computeDiff`,{timeMs:l,timedOut:c?.quitEarly??!0,detectedMoves:n.computeMoves?c?.moves.length??0:-1}),r.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!c)throw Error(`no diff result available`);return Xb.diffCache.size>10&&Xb.diffCache.delete(Xb.diffCache.keys().next().value),Xb.diffCache.set(i,{result:c,context:a}),c}setOptions(e){let t=!1;e.diffAlgorithm&&this.diffAlgorithm!==e.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=e.diffAlgorithm,typeof e.diffAlgorithm!=`string`&&(this.diffAlgorithmOnDidChangeSubscription=e.diffAlgorithm.onDidChange(()=>this.onDidChangeEventEmitter.fire())),t=!0),t&&this.onDidChangeEventEmitter.fire()}};$b=Xb=Jb([Yb(1,nn),Yb(2,va)],$b);function ex(e,t,n,r){return t||=e=>e!=null,new Promise((i,a)=>{let o=!0,s=!1,c=e.map(e=>({isFinished:t(e),error:n?n(e):!1,state:e})),l=j(e=>{let{isFinished:t,error:n,state:r}=c.read(e);(t||n)&&(o?s=!0:l.dispose(),n?a(n===!0?r:n):i(r))});if(r){let e=r.onCancellationRequested(()=>{l.dispose(),e.dispose(),a(new Ri)});if(r.isCancellationRequested){l.dispose(),e.dispose(),a(new Ri);return}}o=!1,s&&l.dispose()})}function tx(e,t,n=bo.ofCaller()){return new nx(typeof e==`string`?e:new ps(e,void 0,void 0),t,n)}var nx=class extends Hs{constructor(e,t,n){super(n),this.event=t,this.handleEvent=()=>{Ao(e=>{for(let t of this._observers)e.updateObserver(t,this),t.handleChange(this,void 0)},()=>this.debugName)},this.debugName=typeof e==`string`?e:e.getDebugName(this)??`Observable Signal From Event`}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}},rx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ix=function(e,t){return function(n,r){t(n,r,e)}},ax=class extends B{setActiveMovedText(e){this._activeMovedText.set(e,void 0)}constructor(e,t,n){super(),this.model=e,this._options=t,this._diffProviderFactoryService=n,this._isDiffUpToDate=I(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=I(this,void 0),this.diff=this._diff,this._unchangedRegions=I(this,void 0),this.unchangedRegions=V(this,e=>this._options.hideUnchangedRegions.read(e)?this._unchangedRegions.read(e)?.regions??[]:(Ao(e=>{for(let t of this._unchangedRegions.read(void 0)?.regions||[])t.collapseAll(e)}),[])),this.movedTextToCompare=I(this,void 0),this._activeMovedText=I(this,void 0),this._hoveredMovedText=I(this,void 0),this.activeMovedText=V(this,e=>this.movedTextToCompare.read(e)??this._hoveredMovedText.read(e)??this._activeMovedText.read(e)),this._cancellationTokenSource=new sr,this._diffProvider=V(this,e=>{let t=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(e)});return{diffProvider:t,onChangeSignal:tx(`onDidChange`,t.onDidChange)}}),this._register(k(()=>this._cancellationTokenSource.cancel()));let r=hi(`contentChangedSignal`),i=this._register(new $o(()=>r.trigger(void 0),200));this._register(j(t=>{let n=this._unchangedRegions.read(t);if(!n||n.regions.some(e=>e.isDragged.read(t)))return;let r=n.originalDecorationIds.map(t=>e.original.getDecorationRange(t)).map(e=>e?U.fromRangeInclusive(e):void 0),i=n.modifiedDecorationIds.map(t=>e.modified.getDecorationRange(t)).map(e=>e?U.fromRangeInclusive(e):void 0),a=n.regions.map((e,n)=>!r[n]||!i[n]?void 0:new ux(r[n].startLineNumber,i[n].startLineNumber,r[n].length,e.visibleLineCountTop.read(t),e.visibleLineCountBottom.read(t))).filter(Zr),o=[],s=!1;for(let e of Za(a,(e,n)=>e.getHiddenModifiedRange(t).endLineNumberExclusive===n.getHiddenModifiedRange(t).startLineNumber))if(e.length>1){s=!0;let t=e.reduce((e,t)=>e+t.lineCount,0),n=new ux(e[0].originalLineNumber,e[0].modifiedLineNumber,t,e[0].visibleLineCountTop.read(void 0),e[e.length-1].visibleLineCountBottom.read(void 0));o.push(n)}else o.push(e[0]);if(s){let t=e.original.deltaDecorations(n.originalDecorationIds,o.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:`unchanged`}}))),r=e.modified.deltaDecorations(n.modifiedDecorationIds,o.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:`unchanged`}})));Ao(e=>{this._unchangedRegions.set({regions:o,originalDecorationIds:t,modifiedDecorationIds:r},e)})}}));let a=(t,n,r)=>{let i=ux.fromDiffs(t.changes,e.original.getLineCount(),e.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(r),this._options.hideUnchangedRegionsContextLineCount.read(r)),a,o=this._unchangedRegions.get();if(o){let t=o.originalDecorationIds.map(t=>e.original.getDecorationRange(t)).map(e=>e?U.fromRangeInclusive(e):void 0),n=o.modifiedDecorationIds.map(t=>e.modified.getDecorationRange(t)).map(e=>e?U.fromRangeInclusive(e):void 0),i=hb(o.regions.map((e,r)=>{if(!t[r]||!n[r])return;let i=t[r].length;return new ux(t[r].startLineNumber,n[r].startLineNumber,i,Math.min(e.visibleLineCountTop.get(),i),Math.min(e.visibleLineCountBottom.get(),i-e.visibleLineCountTop.get()))}).filter(Zr),(e,t)=>!t||e.modifiedLineNumber>=t.modifiedLineNumber+t.lineCount&&e.originalLineNumber>=t.originalLineNumber+t.lineCount).map(e=>new ws(e.getHiddenOriginalRange(r),e.getHiddenModifiedRange(r)));i=ws.clip(i,U.ofLength(1,e.original.getLineCount()),U.ofLength(1,e.modified.getLineCount())),a=ws.inverse(i,e.original.getLineCount(),e.modified.getLineCount())}let s=[];if(a)for(let e of i){let t=a.filter(t=>t.original.intersectsStrict(e.originalUnchangedRange)&&t.modified.intersectsStrict(e.modifiedUnchangedRange));s.push(...e.setVisibleRanges(t,n))}else s.push(...i);let c=e.original.deltaDecorations(o?.originalDecorationIds||[],s.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:`unchanged`}}))),l=e.modified.deltaDecorations(o?.modifiedDecorationIds||[],s.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:`unchanged`}})));this._unchangedRegions.set({regions:s,originalDecorationIds:c,modifiedDecorationIds:l},n)};this._register(e.modified.onDidChangeContent(t=>{this._diff.get()&&(La.fromModelContentChanges(t.changes),this._lastDiff,e.original,e.modified),this._isDiffUpToDate.set(!1,void 0),i.schedule()})),this._register(e.original.onDidChangeContent(t=>{this._diff.get()&&(La.fromModelContentChanges(t.changes),this._lastDiff,e.original,e.modified),this._isDiffUpToDate.set(!1,void 0),i.schedule()})),this._register(j(async t=>{let n=t.store;this._options.hideUnchangedRegionsMinimumLineCount.read(t),this._options.hideUnchangedRegionsContextLineCount.read(t),i.cancel(),r.read(t);let o=this._diffProvider.read(t);o.onChangeSignal.read(t),this._isDiffUpToDate.set(!1,void 0);let s=[];n.add(e.original.onDidChangeContent(e=>{let t=La.fromModelContentChanges(e.changes);s=zc(s,t)}));let c=[];n.add(e.modified.onDidChangeContent(e=>{let t=La.fromModelContentChanges(e.changes);c=zc(c,t)}));let l=await o.diffProvider.computeDiff(e.original,e.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(t),maxComputationTimeMs:this._options.maxComputationTimeMs.read(t),computeMoves:this._options.showMoves.read(t)},this._cancellationTokenSource.token).catch(Xt);!l||this._cancellationTokenSource.token.isCancellationRequested||e.original.isDisposed()||e.modified.isDisposed()||(l=ox(l,e.original,e.modified),l=(e.original,e.modified,l),l=(e.original,e.modified,l),Ao(e=>{a(l,e),this._lastDiff=l;let t=cx.fromDiffResult(l);this._diff.set(t,e),this._isDiffUpToDate.set(!0,e);let n=this.movedTextToCompare.read(void 0);this.movedTextToCompare.set(n?this._lastDiff.moves.find(e=>e.lineRangeMapping.modified.intersect(n.lineRangeMapping.modified)):void 0,e)}))}))}ensureModifiedLineIsVisible(e,t,n){if(this.diff.get()?.mappings.length===0)return;let r=this._unchangedRegions.get()?.regions||[];for(let i of r)if(i.getHiddenModifiedRange(void 0).contains(e)){i.showModifiedLine(e,t,n);return}}ensureOriginalLineIsVisible(e,t,n){if(this.diff.get()?.mappings.length===0)return;let r=this._unchangedRegions.get()?.regions||[];for(let i of r)if(i.getHiddenOriginalRange(void 0).contains(e)){i.showOriginalLine(e,t,n);return}}async waitForDiff(){await ex(this.isDiffUpToDate,e=>e,void 0,this._cancellationTokenSource.token).catch(Xt)}serializeState(){return{collapsedRegions:this._unchangedRegions.get()?.regions.map(e=>({range:e.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(e){let t=e.collapsedRegions?.map(e=>U.deserialize(e.range)),n=this._unchangedRegions.get();!n||!t||Ao(e=>{for(let r of n.regions)for(let n of t)if(r.modifiedUnchangedRange.intersect(n)){r.setHiddenModifiedRange(n,e);break}})}};ax=rx([ix(2,Zb)],ax);function ox(e,t,n){return{changes:e.changes.map(e=>new Dc(e.original,e.modified,e.innerChanges?e.innerChanges.map(e=>sx(e,t,n)):void 0)),moves:e.moves,identical:e.identical,quitEarly:e.quitEarly}}function sx(e,t,n){let r=e.originalRange,i=e.modifiedRange;return r.startColumn===1&&i.startColumn===1&&(r.endColumn!==1||i.endColumn!==1)&&r.endColumn===t.getLineMaxColumn(r.endLineNumber)&&i.endColumn===n.getLineMaxColumn(i.endLineNumber)&&r.endLineNumber<t.getLineCount()&&i.endLineNumber<n.getLineCount()&&(r=r.setEndPosition(r.endLineNumber+1,1),i=i.setEndPosition(i.endLineNumber+1,1)),new oc(r,i)}var cx=class e{static fromDiffResult(t){return new e(t.changes.map(e=>new lx(e)),t.moves||[],t.identical,t.quitEarly)}constructor(e,t,n,r){this.mappings=e,this.movedTexts=t,this.identical=n,this.quitEarly=r}},lx=class{constructor(e){this.lineRangeMapping=e}},ux=class e{static fromDiffs(t,n,r,i,a){let o=Dc.inverse(t,n,r),s=[];for(let t of o){let o=t.original.startLineNumber,c=t.modified.startLineNumber,l=t.original.length,u=o===1&&c===1,d=o+l===n+1&&c+l===r+1;(u||d)&&l>=a+i?(u&&!d&&(l-=a),d&&!u&&(o+=a,c+=a,l-=a),s.push(new e(o,c,l,0,0))):l>=a*2+i&&(o+=a,c+=a,l-=a*2,s.push(new e(o,c,l,0,0)))}return s}get originalUnchangedRange(){return U.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return U.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(e,t,n,r,i){this.originalLineNumber=e,this.modifiedLineNumber=t,this.lineCount=n,this._visibleLineCountTop=I(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=I(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=V(this,e=>this.visibleLineCountTop.read(e)+this.visibleLineCountBottom.read(e)===this.lineCount&&!this.isDragged.read(e)),this.isDragged=I(this,void 0);let a=Math.max(Math.min(r,this.lineCount),0),o=Math.max(Math.min(i,this.lineCount-r),0);Oi(r===a),Oi(i===o),this._visibleLineCountTop.set(a,void 0),this._visibleLineCountBottom.set(o,void 0)}setVisibleRanges(t,n){let r=[],i=new Da(t.map(e=>e.modified)).subtractFrom(this.modifiedUnchangedRange),a=this.originalLineNumber,o=this.modifiedLineNumber,s=this.modifiedLineNumber+this.lineCount;if(i.ranges.length===0)this.showAll(n),r.push(this);else{let t=0;for(let c of i.ranges){let l=t===i.ranges.length-1;t++;let u=(l?s:c.endLineNumberExclusive)-o,d=new e(a,o,u,0,0);d.setHiddenModifiedRange(c,n),r.push(d),a=d.originalUnchangedRange.endLineNumberExclusive,o=d.modifiedUnchangedRange.endLineNumberExclusive}}return r}shouldHideControls(e){return this._shouldHideControls.read(e)}getHiddenOriginalRange(e){return U.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}getHiddenModifiedRange(e){return U.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}setHiddenModifiedRange(e,t){let n=e.startLineNumber-this.modifiedLineNumber,r=this.modifiedLineNumber+this.lineCount-e.endLineNumberExclusive;this.setState(n,r,t)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(e=10,t){let n=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e,n),t)}showMoreBelow(e=10,t){let n=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+e,n),t)}showAll(e){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),e)}showModifiedLine(e,t,n){let r=e+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),i=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-e;t===0&&r<i||t===1?this._visibleLineCountTop.set(this._visibleLineCountTop.get()+r,n):this._visibleLineCountBottom.set(this._visibleLineCountBottom.get()+i,n)}showOriginalLine(e,t,n){let r=e-this.originalLineNumber,i=this.originalLineNumber+this.lineCount-e;t===0&&r<i||t===1?this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+i-r,this.getMaxVisibleLineCountTop()),n):this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+r-i,this.getMaxVisibleLineCountBottom()),n)}collapseAll(e){this._visibleLineCountTop.set(0,e),this._visibleLineCountBottom.set(0,e)}setState(e,t,n){e=Math.max(Math.min(e,this.lineCount),0),t=Math.max(Math.min(t,this.lineCount-e),0),this._visibleLineCountTop.set(e,n),this._visibleLineCountBottom.set(t,n)}};function dx(e){let{domNode:t,renderLinesResult:n,diffEntry:r,originalModel:i,clipboardService:a}=e,o=new N;return o.add(z(t,`copy`,e=>{e.preventDefault();let o=t.ownerDocument.getSelection();if(!o||o.rangeCount===0)return;let s=o.getRangeAt(0);if(!s||s.collapsed)return;let c=s.startContainer.nodeType===Node.TEXT_NODE?s.startContainer.parentElement:s.startContainer,l=s.endContainer.nodeType===Node.TEXT_NODE?s.endContainer.parentElement:s.endContainer;if(!c||!l)return;let u=n.getModelPositionAt(c,s.startOffset),d=n.getModelPositionAt(l,s.endOffset);if(!u||!d)return;let f=u.delta(r.original.startLineNumber-1),p=d.delta(r.original.startLineNumber-1),m=p.isBefore(f)?S.fromPositions(p,f):S.fromPositions(f,p),h=i.getValueInRange(m);a.writeText(h)})),o}var fx=class extends B{get visibility(){return this._visibility}set visibility(e){this._visibility!==e&&(this._visibility=e,this._diffActions.style.visibility=e?`visible`:`hidden`)}constructor(e,t,n,r,i,a,o,s,c,l){super(),this._getViewZoneId=e,this._marginDomNode=t,this._deletedCodeDomNode=n,this._modifiedEditor=r,this._diff=i,this._editor=a,this._renderLinesResult=o,this._originalTextModel=s,this._contextMenuService=c,this._clipboardService=l,this._visibility=!1,this._marginDomNode.style.zIndex=`10`,this._diffActions=document.createElement(`div`),this._diffActions.className=pr.asClassName(q.lightBulb)+` lightbulb-glyph`,this._diffActions.style.position=`absolute`;let u=this._modifiedEditor.getOption(75);this._diffActions.style.right=`0px`,this._diffActions.style.visibility=`hidden`,this._diffActions.style.height=`${u}px`,this._diffActions.style.lineHeight=`${u}px`,this._marginDomNode.appendChild(this._diffActions);let d=0,f=r.getOption(144)&&!ll,p=(e,t,n)=>{this._contextMenuService.showContextMenu({domForShadowRoot:f?r.getDomNode()??void 0:void 0,getAnchor:()=>e,onHide:n,getActions:()=>{let e=[],t=i.modified.isEmpty;return e.push(new Il(`diff.clipboard.copyDeletedContent`,t?i.original.length>1?L(128,`Copy deleted lines`):L(129,`Copy deleted line`):i.original.length>1?L(130,`Copy changed lines`):L(131,`Copy changed line`),void 0,!0,async()=>{let e=this._originalTextModel.getValueInRange(i.original.toExclusiveRange());await this._clipboardService.writeText(e)})),i.original.length>1&&e.push(new Il(`diff.clipboard.copyDeletedLineContent`,t?L(132,`Copy deleted line ({0})`,i.original.startLineNumber+d):L(133,`Copy changed line ({0})`,i.original.startLineNumber+d),void 0,!0,async()=>{let e=this._originalTextModel.getLineContent(i.original.startLineNumber+d);e===``&&(e=this._originalTextModel.getEndOfLineSequence()===0?`
|
|
420
|
+
`:`\r
|
|
421
|
+
`),await this._clipboardService.writeText(e)})),r.getOption(104)||e.push(new Il(`diff.inline.revertChange`,L(134,`Revert this change`),void 0,!0,async()=>{this._editor.revert(this._diff)})),e},autoSelectFirstItem:!0})};this._register(Mc(this._diffActions,`mousedown`,e=>{if(!e.leftButton)return;let{top:t,height:n}=Hc(this._diffActions),r=Math.floor(u/3);e.preventDefault(),p({x:e.posx,y:t+n+r})})),this._register(r.onMouseMove(e=>{(e.target.type===8||e.target.type===5)&&e.target.detail.viewZoneId===this._getViewZoneId()?(d=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,u),this.visibility=!0):this.visibility=!1})),this._register(dx({domNode:this._deletedCodeDomNode,diffEntry:i,originalModel:this._originalTextModel,renderLinesResult:this._renderLinesResult,clipboardService:l}))}_updateLightBulbPosition(e,t,n){let{top:r}=Hc(e),i=t-r,a=Math.floor(i/n),o=a*n;if(this._diffActions.style.top=`${o}px`,this._renderLinesResult.viewLineCounts){let e=0;for(let t=0;t<this._renderLinesResult.viewLineCounts.length;t++)if(e+=this._renderLinesResult.viewLineCounts[t],a<e)return t}return a}},px=tt(`diffEditorWidget`,{createHTML:e=>e});function mx(e,t,n,r,i=!1){tr(r,t.fontInfo);let a=n.length>0,o=new $r(1e4),s=0,c=0,l=[],u=[];for(let r=0;r<e.lineTokens.length;r++){let d=r+1,f=e.lineTokens[r],p=e.lineBreakData[r],m=Yr.filter(n,d,1,2**53-1);if(p){let n=0;for(let r of p.breakOffsets){let l=f.sliceAndInflate(n,r,0),d=yx(c,l,Yr.extractWrapped(m,n,r),a,e.mightContainNonBasicASCII,e.mightContainRTL,t,o,i);s=Math.max(s,d.maxCharWidth),u.push(new vx(d.output.characterMapping,d.output.containsForeignElements,n)),c++,n=r}l.push(p.breakOffsets.length)}else{l.push(1);let n=yx(c,f,m,a,e.mightContainNonBasicASCII,e.mightContainRTL,t,o,i);s=Math.max(s,n.maxCharWidth),u.push(new vx(n.output.characterMapping,n.output.containsForeignElements,0)),c++}}s+=t.scrollBeyondLastColumn;let d=o.build();r.innerHTML=px?px.createHTML(d):d;let f=s*t.typicalHalfwidthCharacterWidth;return new _x(c,f,l,u,e)}var hx=class{constructor(e,t=e.map(e=>null),n=!0,r=!0){this.lineTokens=e,this.lineBreakData=t,this.mightContainNonBasicASCII=n,this.mightContainRTL=r}},gx=class e{static fromEditor(t){let n=t.getOptions(),r=n.get(59),i=n.get(165);return new e(t.getModel()?.getOptions().tabSize||0,r,n.get(40),r.typicalHalfwidthCharacterWidth,n.get(118),n.get(75),i.decorationsWidth,n.get(133),n.get(113),n.get(108),n.get(60),n.get(117).verticalScrollbarSize)}constructor(e,t,n,r,i,a,o,s,c,l,u,d,f=!0){this.tabSize=e,this.fontInfo=t,this.disableMonospaceOptimizations=n,this.typicalHalfwidthCharacterWidth=r,this.scrollBeyondLastColumn=i,this.lineHeight=a,this.lineDecorationsWidth=o,this.stopRenderingLineAfter=s,this.renderWhitespace=c,this.renderControlCharacters=l,this.fontLigatures=u,this.verticalScrollbarSize=d,this.setWidth=f}withSetWidth(t){return new e(this.tabSize,this.fontInfo,this.disableMonospaceOptimizations,this.typicalHalfwidthCharacterWidth,this.scrollBeyondLastColumn,this.lineHeight,this.lineDecorationsWidth,this.stopRenderingLineAfter,this.renderWhitespace,this.renderControlCharacters,this.fontLigatures,this.verticalScrollbarSize,t)}withScrollBeyondLastColumn(t){return new e(this.tabSize,this.fontInfo,this.disableMonospaceOptimizations,this.typicalHalfwidthCharacterWidth,t,this.lineHeight,this.lineDecorationsWidth,this.stopRenderingLineAfter,this.renderWhitespace,this.renderControlCharacters,this.fontLigatures,this.verticalScrollbarSize,this.setWidth)}},_x=class{constructor(e,t,n,r,i){this.heightInLines=e,this.minWidthInPx=t,this.viewLineCounts=n,this._renderOutputs=r,this._source=i}getModelPositionAt(e,t){let n=e;for(;n&&!n.classList.contains(`view-line`);)n=n.parentElement;if(!n)return;let r=n.parentElement;if(!r)return;let i=r.querySelectorAll(`.view-line`),a=-1;for(let e=0;e<i.length;e++)if(i[e]===n){a=e;break}if(a===-1||a>=this._renderOutputs.length)return;let o=1,s=a;for(let e=0;e<this.viewLineCounts.length;e++){if(s<this.viewLineCounts[e]){o=e+1;break}s-=this.viewLineCounts[e]}if(o>this._source.lineTokens.length)return;let c=this._renderOutputs[a];if(!c)return;let l=Le(c.characterMapping,e,t)+c.offset;return new Dn(o,l)}},vx=class extends ar{constructor(e,t,n){super(e,t),this.offset=n}};function yx(e,t,n,r,i,a,o,s,c){s.appendString(`<div class="view-line`),!c&&!r&&s.appendString(` char-delete`),s.appendString(`" style="top:`),s.appendString(String(e*o.lineHeight)),o.setWidth?s.appendString(`px;width:1000000px;">`):s.appendString(`px;">`);let l=t.getLineContent(),u=yt.isBasicASCII(l,i),d=yt.containsRTL(l,u,a),f=kl(new Kt(o.fontInfo.isMonospace&&!o.disableMonospaceOptimizations,o.fontInfo.canUseHalfwidthRightwardsArrow,l,!1,u,d,0,t,n,o.tabSize,0,o.fontInfo.spaceWidth,o.fontInfo.middotWidth,o.fontInfo.wsmiddotWidth,o.stopRenderingLineAfter,o.renderWhitespace,o.renderControlCharacters,o.fontLigatures!==Xr.OFF,null,null,o.verticalScrollbarSize),s);return s.appendString(`</div>`),{output:f,maxCharWidth:f.characterMapping.getHorizontalOffset(f.characterMapping.length)}}var bx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},xx=function(e,t){return function(n,r){t(n,r,e)}},Sx=class extends B{constructor(e,t,n,r,i,a,o,s,c,l){super(),this._targetWindow=e,this._editors=t,this._diffModel=n,this._options=r,this._diffEditorWidget=i,this._canIgnoreViewZoneUpdateEvent=a,this._origViewZonesToIgnore=o,this._modViewZonesToIgnore=s,this._clipboardService=c,this._contextMenuService=l,this._originalTopPadding=I(this,0),this._originalScrollOffset=I(this,0),this._originalScrollOffsetAnimated=ob(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=I(this,0),this._modifiedScrollOffset=I(this,0),this._modifiedScrollOffsetAnimated=ob(this._targetWindow,this._modifiedScrollOffset,this._store);let u=I(`invalidateAlignmentsState`,0),d=this._register(new $o(()=>{u.set(u.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones(e=>{this._canIgnoreViewZoneUpdateEvent()||d.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(e=>{this._canIgnoreViewZoneUpdateEvent()||d.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(e=>{(e.hasChanged(166)||e.hasChanged(75))&&d.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(e=>{(e.hasChanged(166)||e.hasChanged(75))&&d.schedule()}));let f=this._diffModel.map(e=>e?Ii(this,e.model.original.onDidChangeTokens,()=>e.model.original.tokenization.backgroundTokenizationState===2):void 0).map((e,t)=>e?.read(t)),p=V(e=>{let t=this._diffModel.read(e),n=t?.diff.read(e);if(!t||!n)return null;u.read(e);let r=this._options.renderSideBySide.read(e);return Cx(this._editors.original,this._editors.modified,n.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,r)}),m=V(e=>{let t=this._diffModel.read(e)?.movedTextToCompare.read(e);if(!t)return null;u.read(e);let n=t.changes.map(e=>new lx(e));return Cx(this._editors.original,this._editors.modified,n,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function h(){let e=document.createElement(`div`);return e.className=`diagonal-fill`,e}let g=this._register(new N);this.viewZones=V(this,e=>{g.clear();let t=p.read(e)||[],n=[],r=[],a=this._modifiedTopPadding.read(e);a>0&&r.push({afterLineNumber:0,domNode:document.createElement(`div`),heightInPx:a,showInHiddenAreas:!0,suppressMouseDown:!0});let o=this._originalTopPadding.read(e);o>0&&n.push({afterLineNumber:0,domNode:document.createElement(`div`),heightInPx:o,showInHiddenAreas:!0,suppressMouseDown:!0});let s=this._options.renderSideBySide.read(e),c=s?void 0:this._editors.modified._getViewModel()?.createLineBreaksComputer({getLineContent:e=>this._editors.original.getModel().getLineContent(e),getLineInjectedText:e=>null});if(c){let e=this._editors.original.getModel();for(let i of t)if(i.diff)for(let t=i.originalRange.startLineNumber;t<i.originalRange.endLineNumberExclusive;t++){if(t>e.getLineCount())return{orig:n,mod:r};c?.addRequest(t,null)}}let l=c?.finalize()??[],u=0,d=this._editors.modified.getOption(75),_=this._diffModel.read(e)?.movedTextToCompare.read(e),v=this._editors.original.getModel()?.mightContainNonBasicASCII()??!1,y=this._editors.original.getModel()?.mightContainRTL()??!1,ee=gx.fromEditor(this._editors.modified);for(let a of t)if(a.diff&&!s&&(!this._options.useTrueInlineDiffRendering.read(e)||!Tx(a.diff))){if(!a.originalRange.isEmpty){f.read(e);let t=document.createElement(`div`);t.classList.add(`view-lines`,`line-delete`,`line-delete-selectable`,`monaco-mouse-cursor-text`);let i=this._editors.original.getModel();if(a.originalRange.endLineNumberExclusive-1>i.getLineCount())return{orig:n,mod:r};let o=new hx(a.originalRange.mapToLineArray(e=>i.tokenization.getLineTokens(e)),a.originalRange.mapToLineArray(e=>l[u++]),v,y),s=[];for(let e of a.diff.innerChanges||[])s.push(new kc(e.originalRange.delta(-(a.diff.original.startLineNumber-1)),Gb.className,0));let c=mx(o,ee,s,t),p=document.createElement(`div`);if(p.className=`inline-deleted-margin-view-zone`,tr(p,ee.fontInfo),this._options.renderIndicators.read(e))for(let e=0;e<c.heightInLines;e++){let t=document.createElement(`div`);t.className=`delete-sign ${pr.asClassName(Lb)}`,t.setAttribute(`style`,`position:absolute;top:${e*d}px;width:${ee.lineDecorationsWidth}px;height:${d}px;right:0;`),p.appendChild(t)}let m;g.add(new fx(()=>cr(m),p,t,this._editors.modified,a.diff,this._diffEditorWidget,c,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let e=0;e<c.viewLineCounts.length;e++){let t=c.viewLineCounts[e];t>1&&n.push({afterLineNumber:a.originalRange.startLineNumber+e,domNode:h(),heightInPx:(t-1)*d,showInHiddenAreas:!0,suppressMouseDown:!0})}r.push({afterLineNumber:a.modifiedRange.startLineNumber-1,domNode:t,heightInPx:c.heightInLines*d,minWidthInPx:c.minWidthInPx,marginDomNode:p,setZoneId(e){m=e},showInHiddenAreas:!0,suppressMouseDown:!1})}let t=document.createElement(`div`);t.className=`gutter-delete`,n.push({afterLineNumber:a.originalRange.endLineNumberExclusive-1,domNode:h(),heightInPx:a.modifiedHeightInPx,marginDomNode:t,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let t=a.modifiedHeightInPx-a.originalHeightInPx;if(t>0){if(_?.lineRangeMapping.original.delta(-1).deltaLength(2).contains(a.originalRange.endLineNumberExclusive-1))continue;n.push({afterLineNumber:a.originalRange.endLineNumberExclusive-1,domNode:h(),heightInPx:t,showInHiddenAreas:!0,suppressMouseDown:!0})}else{if(_?.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(a.modifiedRange.endLineNumberExclusive-1))continue;function n(){let t=document.createElement(`div`);return t.className=`arrow-revert-change `+pr.asClassName(q.arrowRight),e.store.add(z(t,`mousedown`,e=>e.stopPropagation())),e.store.add(z(t,`click`,e=>{e.stopPropagation(),i.revert(a.diff)})),P(`div`,{},t)}let o;a.diff&&a.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(e)&&(o=n()),r.push({afterLineNumber:a.modifiedRange.endLineNumberExclusive-1,domNode:h(),heightInPx:-t,marginDomNode:o,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(let t of m.read(e)??[]){if(!_?.lineRangeMapping.original.intersect(t.originalRange)||!_?.lineRangeMapping.modified.intersect(t.modifiedRange))continue;let e=t.modifiedHeightInPx-t.originalHeightInPx;e>0?n.push({afterLineNumber:t.originalRange.endLineNumberExclusive-1,domNode:h(),heightInPx:e,showInHiddenAreas:!0,suppressMouseDown:!0}):r.push({afterLineNumber:t.modifiedRange.endLineNumberExclusive-1,domNode:h(),heightInPx:-e,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:n,mod:r}});let _=!1;this._register(this._editors.original.onDidScrollChange(e=>{e.scrollLeftChanged&&!_&&(_=!0,this._editors.modified.setScrollLeft(e.scrollLeft),_=!1)})),this._register(this._editors.modified.onDidScrollChange(e=>{e.scrollLeftChanged&&!_&&(_=!0,this._editors.original.setScrollLeft(e.scrollLeft),_=!1)})),this._originalScrollTop=Ii(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=Ii(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register(j(e=>{let t=this._originalScrollTop.read(e)-(this._originalScrollOffsetAnimated.read(void 0)-this._modifiedScrollOffsetAnimated.read(e))-(this._originalTopPadding.read(void 0)-this._modifiedTopPadding.read(e));t!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(t,1)})),this._register(j(e=>{let t=this._modifiedScrollTop.read(e)-(this._modifiedScrollOffsetAnimated.read(void 0)-this._originalScrollOffsetAnimated.read(e))-(this._modifiedTopPadding.read(void 0)-this._originalTopPadding.read(e));t!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(t,1)})),this._register(j(e=>{let t=this._diffModel.read(e)?.movedTextToCompare.read(e),n=0;if(t){let e=this._editors.original.getTopForLineNumber(t.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.read(void 0);n=this._editors.modified.getTopForLineNumber(t.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.read(void 0)-e}n>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(n,void 0)):n<0?(this._modifiedTopPadding.set(-n,void 0),this._originalTopPadding.set(0,void 0)):setTimeout(()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)},400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.read(void 0)-n,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.read(void 0)+n,void 0,!0)}))}};Sx=bx([xx(8,Ec),xx(9,ji)],Sx);function Cx(e,t,n,r,i,a){let o=new sc(wx(e,r)),s=new sc(wx(t,i)),c=e.getOption(75),l=t.getOption(75),u=[],d=0,f=0;function p(e,t){for(;;){let n=o.peek(),r=s.peek();if(n&&n.lineNumber>=e&&(n=void 0),r&&r.lineNumber>=t&&(r=void 0),!n&&!r)break;let i=n?n.lineNumber-d:Number.MAX_VALUE,a=r?r.lineNumber-f:Number.MAX_VALUE;i<a?(o.dequeue(),r={lineNumber:n.lineNumber-d+f,heightInPx:0}):i>a?(s.dequeue(),n={lineNumber:r.lineNumber-f+d,heightInPx:0}):(o.dequeue(),s.dequeue()),u.push({originalRange:U.ofLength(n.lineNumber,1),modifiedRange:U.ofLength(r.lineNumber,1),originalHeightInPx:c+n.heightInPx,modifiedHeightInPx:l+r.heightInPx,diff:void 0})}}for(let t of n){let n=t.lineRangeMapping;p(n.original.startLineNumber,n.modified.startLineNumber);let r=!0,i=n.modified.startLineNumber,m=n.original.startLineNumber;function h(e,n,a=!1){if(e<m||n<i)return;if(r)r=!1;else if(!a&&(e===m||n===i))return;let d=new U(m,e),f=new U(i,n);if(d.isEmpty&&f.isEmpty)return;let p=o.takeWhile(t=>t.lineNumber<e)?.reduce((e,t)=>e+t.heightInPx,0)??0,h=s.takeWhile(e=>e.lineNumber<n)?.reduce((e,t)=>e+t.heightInPx,0)??0;u.push({originalRange:d,modifiedRange:f,originalHeightInPx:d.length*c+p,modifiedHeightInPx:f.length*l+h,diff:t.lineRangeMapping}),m=e,i=n}if(a)for(let t of n.innerChanges||[]){t.originalRange.startColumn>1&&t.modifiedRange.startColumn>1&&h(t.originalRange.startLineNumber,t.modifiedRange.startLineNumber);let n=e.getModel(),r=t.originalRange.endLineNumber<=n.getLineCount()?n.getLineMaxColumn(t.originalRange.endLineNumber):2**53-1;t.originalRange.endColumn<r&&h(t.originalRange.endLineNumber,t.modifiedRange.endLineNumber)}h(n.original.endLineNumberExclusive,n.modified.endLineNumberExclusive,!0),d=n.original.endLineNumberExclusive,f=n.modified.endLineNumberExclusive}return p(Number.MAX_VALUE,Number.MAX_VALUE),u}function wx(e,t){let n=[],r=[],i=e.getOption(166).wrappingColumn!==-1,a=e._getViewModel().coordinatesConverter,o=e.getOption(75);if(i)for(let t=1;t<=e.getModel().getLineCount();t++){let e=a.getModelLineViewLineCount(t);e>1&&r.push({lineNumber:t,heightInPx:o*(e-1)})}for(let r of e.getWhitespaces()){if(t.has(r.id))continue;let e=r.afterLineNumber===0?0:a.convertViewPositionToModelPosition(new Dn(r.afterLineNumber,1)).lineNumber;n.push({lineNumber:e,heightInPx:r.height})}return tb(n,r,e=>e.lineNumber,(e,t)=>({lineNumber:e.lineNumber,heightInPx:e.heightInPx+t.heightInPx}))}function Tx(e){return e.innerChanges?e.innerChanges.every(e=>Ex(e.modifiedRange)&&Ex(e.originalRange)||e.originalRange.equalsRange(new S(1,1,1,1))):!1}function Ex(e){return e.startLineNumber===e.endLineNumber}var Dx=class e extends B{static{this.movedCodeBlockPadding=4}constructor(t,n,r,i,a){super(),this._rootElement=t,this._diffModel=n,this._originalEditorLayoutInfo=r,this._modifiedEditorLayoutInfo=i,this._editors=a,this._originalScrollTop=Ii(this,this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=Ii(this,this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=tx(`onDidChangeViewZones`,this._editors.modified.onDidChangeViewZones),this.width=I(this,0),this._modifiedViewZonesChangedSignal=tx(`modified.onDidChangeViewZones`,this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=tx(`original.onDidChangeViewZones`,this._editors.original.onDidChangeViewZones),this._state=V(this,t=>{this._element.replaceChildren();let n=this._diffModel.read(t),r=n?.diff.read(t)?.movedTexts;if(!r||r.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(t);let i=this._originalEditorLayoutInfo.read(t),a=this._modifiedEditorLayoutInfo.read(t);if(!i||!a){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(t),this._originalViewZonesChangedSignal.read(t);let o=r.map(e=>{function n(e,t){return(t.getTopForLineNumber(e.startLineNumber,!0)+t.getTopForLineNumber(e.endLineNumberExclusive,!0))/2}let r=n(e.lineRangeMapping.original,this._editors.original),i=this._originalScrollTop.read(t),a=n(e.lineRangeMapping.modified,this._editors.modified),o=this._modifiedScrollTop.read(t),s=r-i,c=a-o;return{range:new Ws(Math.min(r,a),Math.max(r,a)),from:s,to:c,fromWithoutScroll:r,toWithoutScroll:a,move:e}});o.sort(nl(Oa(e=>e.fromWithoutScroll>e.toWithoutScroll,aa),Oa(e=>e.fromWithoutScroll>e.toWithoutScroll?e.fromWithoutScroll:-e.toWithoutScroll,uo)));let s=Ox.compute(o.map(e=>e.range)),c=i.verticalScrollbarWidth,l=(s.getTrackCount()-1)*10+20,u=c+l+(a.contentLeft-e.movedCodeBlockPadding),d=0;for(let e of o){let r=s.getTrack(d),i=c+10+r*10,o=u,l=a.glyphMarginWidth+a.lineNumbersWidth,f=document.createElementNS(`http://www.w3.org/2000/svg`,`rect`);f.classList.add(`arrow-rectangle`),f.setAttribute(`x`,`${o-l}`),f.setAttribute(`y`,`${e.to-18/2}`),f.setAttribute(`width`,`${l}`),f.setAttribute(`height`,`18`),this._element.appendChild(f);let p=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),m=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);m.setAttribute(`d`,`M 0 ${e.from} L ${i} ${e.from} L ${i} ${e.to} L ${o-15} ${e.to}`),m.setAttribute(`fill`,`none`),p.appendChild(m);let h=document.createElementNS(`http://www.w3.org/2000/svg`,`polygon`);h.classList.add(`arrow`),t.store.add(j(t=>{m.classList.toggle(`currentMove`,e.move===n.activeMovedText.read(t)),h.classList.toggle(`currentMove`,e.move===n.activeMovedText.read(t))})),h.setAttribute(`points`,`${o-15},${e.to-15/2} ${o},${e.to} ${o-15},${e.to+15/2}`),p.appendChild(h),this._element.appendChild(p),d++}this.width.set(l,void 0)}),this._element=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`),this._element.setAttribute(`class`,`moved-blocks-lines`),this._rootElement.appendChild(this._element),this._register(k(()=>this._element.remove())),this._register(j(t=>{let n=this._originalEditorLayoutInfo.read(t),r=this._modifiedEditorLayoutInfo.read(t);!n||!r||(this._element.style.left=`${n.width-n.verticalScrollbarWidth}px`,this._element.style.height=`${n.height}px`,this._element.style.width=`${n.verticalScrollbarWidth+n.contentLeft-e.movedCodeBlockPadding+this.width.read(t)}px`)})),this._register(Ei(this._state));let o=V(e=>{let t=this._diffModel.read(e)?.diff.read(e);return t?t.movedTexts.map(e=>({move:e,original:new lb(en(e.lineRangeMapping.original.startLineNumber-1),18),modified:new lb(en(e.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register(fb(this._editors.original,o.map(e=>e.map(e=>e.original)))),this._register(fb(this._editors.modified,o.map(e=>e.map(e=>e.modified)))),this._register(Ta((e,t)=>{let n=o.read(e);for(let e of n)t.add(new kx(this._editors.original,e.original,e.move,`original`,this._diffModel.get())),t.add(new kx(this._editors.modified,e.modified,e.move,`modified`,this._diffModel.get()))}));let s=tx(`original.onDidFocusEditorWidget`,e=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>e(void 0),0))),c=tx(`modified.onDidFocusEditorWidget`,e=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>e(void 0),0))),l=`modified`;this._register(Ns({changeTracker:{createChangeSummary:()=>void 0,handleChange:(e,t)=>(e.didChange(s)&&(l=`original`),e.didChange(c)&&(l=`modified`),!0)}},e=>{s.read(e),c.read(e);let t=this._diffModel.read(e);if(!t)return;let n=t.diff.read(e),r;if(n&&l===`original`){let t=this._editors.originalCursor.read(e);t&&(r=n.movedTexts.find(e=>e.lineRangeMapping.original.contains(t.lineNumber)))}if(n&&l===`modified`){let t=this._editors.modifiedCursor.read(e);t&&(r=n.movedTexts.find(e=>e.lineRangeMapping.modified.contains(t.lineNumber)))}r!==t.movedTextToCompare.read(void 0)&&t.movedTextToCompare.set(void 0,void 0),t.setActiveMovedText(r)}))}},Ox=class e{static compute(t){let n=[],r=[];for(let e of t){let t=n.findIndex(t=>!t.intersectsStrict(e));t===-1&&(n.length>=6?t=Xa(n,Oa(t=>t.intersectWithRangeLength(e),uo)):(t=n.length,n.push(new hs))),n[t].addRange(e),r.push(t)}return new e(n.length,r)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}},kx=class extends cb{constructor(t,n,r,i,a){let o=K(`div.diff-hidden-lines-widget`);super(t,n,o.root),this._editor=t,this._move=r,this._kind=i,this._diffModel=a,this._nodes=K(`div.diff-moved-code-block`,{style:{marginRight:`4px`}},[K(`div.text-content@textContent`),K(`div.action-bar@actionBar`)]),o.root.appendChild(this._nodes.root);let s=Ii(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register(db(this._nodes.root,{paddingRight:s.map(e=>e.verticalScrollbarWidth)}));let c;c=r.changes.length>0?this._kind===`original`?L(147,`Code moved with changes to line {0}-{1}`,this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):L(148,`Code moved with changes from line {0}-{1}`,this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):this._kind===`original`?L(149,`Code moved to line {0}-{1}`,this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):L(150,`Code moved from line {0}-{1}`,this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);let l=this._register(new e(this._nodes.actionBar,{highlightToggledItems:!0})),u=new Il(``,c,``,!1);l.push(u,{icon:!1,label:!0});let d=new Il(``,`Compare`,pr.asClassName(q.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===r?void 0:this._move,void 0)});this._register(j(e=>{let t=this._diffModel.movedTextToCompare.read(e)===r;d.checked=t})),l.push(d,{icon:!1,label:!0})}},Ax=class extends B{constructor(e,t,n,r){super(),this._editors=e,this._diffModel=t,this._options=n,this._decorations=V(this,e=>{let t=this._diffModel.read(e),n=t?.diff.read(e);if(!n)return null;let r=this._diffModel.read(e).movedTextToCompare.read(e),i=this._options.renderIndicators.read(e),a=this._options.showEmptyDecorations.read(e),o=[],s=[];if(!r)for(let r of n.mappings)if(r.lineRangeMapping.original.isEmpty||o.push({range:r.lineRangeMapping.original.toInclusiveRange(),options:i?zb:Vb}),r.lineRangeMapping.modified.isEmpty||s.push({range:r.lineRangeMapping.modified.toInclusiveRange(),options:i?Rb:Bb}),r.lineRangeMapping.modified.isEmpty||r.lineRangeMapping.original.isEmpty)r.lineRangeMapping.original.isEmpty||o.push({range:r.lineRangeMapping.original.toInclusiveRange(),options:Kb}),r.lineRangeMapping.modified.isEmpty||s.push({range:r.lineRangeMapping.modified.toInclusiveRange(),options:Ub});else{let n=this._options.useTrueInlineDiffRendering.read(e)&&Tx(r.lineRangeMapping);for(let e of r.lineRangeMapping.innerChanges||[])if(r.lineRangeMapping.original.contains(e.originalRange.startLineNumber)&&o.push({range:e.originalRange,options:e.originalRange.isEmpty()&&a?qb:Gb}),r.lineRangeMapping.modified.contains(e.modifiedRange.startLineNumber)&&s.push({range:e.modifiedRange,options:e.modifiedRange.isEmpty()&&a&&!n?Wb:Hb}),n){let n=t.model.original.getValueInRange(e.originalRange);s.push({range:e.modifiedRange,options:{description:`deleted-text`,before:{content:n,inlineClassName:`inline-deleted-text`},zIndex:1e5,showIfCollapsed:!0}})}}if(r)for(let e of r.changes){let t=e.original.toInclusiveRange();t&&o.push({range:t,options:i?zb:Vb});let n=e.modified.toInclusiveRange();n&&s.push({range:n,options:i?Rb:Bb});for(let t of e.innerChanges||[])o.push({range:t.originalRange,options:Gb}),s.push({range:t.modifiedRange,options:Hb})}let c=this._diffModel.read(e).activeMovedText.read(e);for(let e of n.movedTexts)o.push({range:e.lineRangeMapping.original.toInclusiveRange(),options:{description:`moved`,blockClassName:`movedOriginal`+(e===c?` currentMove`:``),blockPadding:[Dx.movedCodeBlockPadding,0,Dx.movedCodeBlockPadding,Dx.movedCodeBlockPadding]}}),s.push({range:e.lineRangeMapping.modified.toInclusiveRange(),options:{description:`moved`,blockClassName:`movedModified`+(e===c?` currentMove`:``),blockPadding:[4,0,4,4]}});return{originalDecorations:o,modifiedDecorations:s}}),this._register(nb(this._editors.original,this._decorations.map(e=>e?.originalDecorations||[]))),this._register(nb(this._editors.modified,this._decorations.map(e=>e?.modifiedDecorations||[])))}},jx=class e{static equals(e,t){return e.x===t.x&&e.y===t.y}constructor(e,t){this.x=e,this.y=t}add(t){return new e(this.x+t.x,this.y+t.y)}deltaX(t){return new e(this.x+t,this.y)}deltaY(t){return new e(this.x,this.y+t)}toString(){return`(${this.x},${this.y})`}subtract(t){return new e(this.x-t.x,this.y-t.y)}scale(t){return new e(this.x*t,this.y*t)}mapComponents(t){return new e(t(this.x),t(this.y))}isZero(){return this.x===0&&this.y===0}withThreshold(e){return this.mapComponents(t=>t>e?t-e:t<-e?t+e:0)}};function Mx(e){return Nx.get(e)}var Nx=class e extends B{static{this._map=new Map}static get(t){let n=e._map.get(t);if(!n){n=new e(t),e._map.set(t,n);let r=t.onDidDispose(()=>{let n=e._map.get(t);n&&(e._map.delete(t),n.dispose(),r.dispose())})}return n}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&(this._currentTransaction=new Tc(()=>{}))}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){let e=this._currentTransaction;this._currentTransaction=void 0,e.finish()}}constructor(e){super(),this.editor=e,this._sawZeroLineWidth=!1,this._onDidContainerResize=Yn({owner:this,getTransaction:()=>this._currentTransaction},e=>{let t=this.editor.getContainerDomNode(),n=new ResizeObserver(()=>{this._sawZeroLineWidth&&(this._sawZeroLineWidth=!1,this.editor.resetLineWidthCaches()),e(void 0)});return n.observe(t),{dispose:()=>n.disconnect()}},()=>({})),this._updateCounter=0,this._currentTransaction=void 0,this._model=I(this,this.editor.getModel()),this.model=this._model,this.isReadonly=Yn({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidChangeConfiguration,()=>this.editor.getOption(104)),this._versionId=ka({owner:this,lazy:!0},this.editor.getModel()?.getVersionId()??null),this.versionId=this._versionId,this._selections=ka({owner:this,equalsFn:Ji(so(Ie.selectionsEqual)),lazy:!0},this.editor.getSelections()??null),this.selections=this._selections,this.positions=Pa({owner:this,equalsFn:Ji(so(Dn.equals))},e=>this.selections.read(e)?.map(e=>e.getStartPosition())??null),this.isFocused=Yn({owner:this,getTransaction:()=>this._currentTransaction},e=>{let t=this.editor.onDidFocusEditorWidget(e),n=this.editor.onDidBlurEditorWidget(e);return{dispose(){t.dispose(),n.dispose()}}},()=>this.editor.hasWidgetFocus()),this.isTextFocused=Yn({owner:this,getTransaction:()=>this._currentTransaction},e=>{let t=this.editor.onDidFocusEditorText(e),n=this.editor.onDidBlurEditorText(e);return{dispose(){t.dispose(),n.dispose()}}},()=>this.editor.hasTextFocus()),this.inComposition=Yn({owner:this,getTransaction:()=>this._currentTransaction},e=>{let t=this.editor.onDidCompositionStart(()=>{e(void 0)}),n=this.editor.onDidCompositionEnd(()=>{e(void 0)});return{dispose(){t.dispose(),n.dispose()}}},()=>this.editor.inComposition),this.value=Ja(this,e=>(this.versionId.read(e),this.model.read(e)?.getValue()??``),(e,t)=>{let n=this.model.get();n!==null&&e!==n.getValue()&&n.setValue(e)}),this.valueIsEmpty=V(this,e=>(this.versionId.read(e),this.editor.getModel()?.getValueLength()===0)),this.cursorSelection=Pa({owner:this,equalsFn:Ji(Ie.selectionsEqual)},e=>this.selections.read(e)?.[0]??null),this.cursorPosition=Pa({owner:this,equalsFn:Dn.equals},e=>this.selections.read(e)?.[0]?.getPosition()??null),this.cursorLineNumber=V(this,e=>this.cursorPosition.read(e)?.lineNumber??null),this.onDidType=hi(this),this.onDidPaste=hi(this),this.scrollTop=Yn({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidScrollChange,()=>this.editor.getScrollTop()),this.scrollLeft=Yn({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidScrollChange,()=>this.editor.getScrollLeft()),this.layoutInfo=Yn({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidLayoutChange,()=>this.editor.getLayoutInfo()),this.layoutInfoContentLeft=this.layoutInfo.map(e=>e.contentLeft),this.layoutInfoDecorationsLeft=this.layoutInfo.map(e=>e.decorationsLeft),this.layoutInfoWidth=this.layoutInfo.map(e=>e.width),this.layoutInfoHeight=this.layoutInfo.map(e=>e.height),this.layoutInfoMinimap=this.layoutInfo.map(e=>e.minimap),this.layoutInfoVerticalScrollbarWidth=this.layoutInfo.map(e=>e.verticalScrollbarWidth),this.contentWidth=Yn({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidContentSizeChange,()=>this.editor.getContentWidth()),this.contentHeight=Yn({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidContentSizeChange,()=>this.editor.getContentHeight()),this._onDidChangeViewZones=tx(this,this.editor.onDidChangeViewZones),this._onDidHiddenAreasChanged=tx(this,this.editor.onDidChangeHiddenAreas),this._onDidLineHeightChanged=tx(this,this.editor.onDidChangeLineHeight),this._widgetCounter=0,this.openedPeekWidgets=I(this,0),this._register(this.editor.onBeginUpdate(()=>this._beginUpdate())),this._register(this.editor.onEndUpdate(()=>this._endUpdate())),this._register(this.editor.onDidChangeModel(()=>{this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidType(e=>{this._beginUpdate();try{this._forceUpdate(),this.onDidType.trigger(this._currentTransaction,e)}finally{this._endUpdate()}})),this._register(this.editor.onDidPaste(e=>{this._beginUpdate();try{this._forceUpdate(),this.onDidPaste.trigger(this._currentTransaction,e)}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeModelContent(e=>{this._beginUpdate();try{this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,e),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeCursorSelection(e=>{this._beginUpdate();try{this._selections.set(this.editor.getSelections(),this._currentTransaction,e),this._forceUpdate()}finally{this._endUpdate()}})),this.domNode=V(e=>(this.model.read(e),this.editor.getDomNode()))}transaction(e){this._beginUpdate();try{return e(this._currentTransaction)}finally{this._endUpdate()}}forceUpdate(e){this._beginUpdate();try{return this._forceUpdate(),e?e(this._currentTransaction):void 0}finally{this._endUpdate()}}_forceUpdate(){this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,void 0),this._selections.set(this.editor.getSelections(),this._currentTransaction,void 0)}finally{this._endUpdate()}}getOption(e,t=bo.ofCaller()){return Ii(this,t=>this.editor.onDidChangeConfiguration(n=>{n.hasChanged(e)&&t(void 0)}),()=>this.editor.getOption(e),t)}setDecorations(e){let t=new N,n=this.editor.createDecorationsCollection();return t.add(gc({owner:this,debugName:()=>`Apply decorations from ${e.debugName}`},t=>{let r=e.read(t);n.set(r)})),t.add({dispose:()=>{n.clear()}}),t}createOverlayWidget(e){let t=`observableOverlayWidget`+this._widgetCounter++,n={getDomNode:()=>e.domNode,getPosition:()=>e.position.get(),getId:()=>t,allowEditorOverflow:e.allowEditorOverflow,getMinContentWidthInPx:()=>e.minContentWidthInPx.get()};this.editor.addOverlayWidget(n);let r=j(t=>{e.position.read(t),e.minContentWidthInPx.read(t),this.editor.layoutOverlayWidget(n)});return k(()=>{r.dispose(),this.editor.removeOverlayWidget(n)})}createContentWidget(e){let t=`observableContentWidget`+this._widgetCounter++,n={getDomNode:()=>e.domNode,getPosition:()=>e.position.get(),getId:()=>t,allowEditorOverflow:e.allowEditorOverflow};this.editor.addContentWidget(n);let r=j(t=>{e.position.read(t),this.editor.layoutContentWidget(n)});return k(()=>{r.dispose(),this.editor.removeContentWidget(n)})}observeLineOffsetRange(e,t){let n=this.observePosition(e.map(e=>new Dn(e.startLineNumber,1)),t),r=this.observePosition(e.map(e=>new Dn(e.endLineNumberExclusive+1,1)),t);return V(t=>{n.read(t),r.read(t);let i=e.read(t),a=this.model.read(t)?.getLineCount(),o=(a!==void 0&&i.startLineNumber>a?this.editor.getBottomForLineNumber(a):this.editor.getTopForLineNumber(i.startLineNumber))-this.scrollTop.read(t);return new Ws(o,i.isEmpty?o:this.editor.getBottomForLineNumber(i.endLineNumberExclusive-1)-this.scrollTop.read(t))})}getLeftOfPosition(e,t){this.layoutInfo.read(t),this.value.read(t);let n=this.editor.getOffsetForColumn(e.lineNumber,e.column);if(n===-1){let t=this.editor.getOption(59).typicalHalfwidthCharacterWidth;n=e.column*t}return n}observePosition(e,t){let n=e.get(),r=ka({owner:this,debugName:()=>`topLeftOfPosition${n?.toString()}`,equalsFn:Ji(jx.equals)},new jx(0,0)),i=`observablePositionWidget`+this._widgetCounter++,a=document.createElement(`div`),o={getDomNode:()=>a,getPosition:()=>n?{preference:[0],position:e.get()}:null,getId:()=>i,allowEditorOverflow:!1,useDisplayNone:!0,afterRender:(e,t)=>{let i=this._model.get();i&&n&&n.lineNumber>i.getLineCount()?r.set(new jx(0,this.editor.getBottomForLineNumber(i.getLineCount())-this.scrollTop.get()),void 0):r.set(t?new jx(t.left,t.top):null,void 0)}};return this.editor.addContentWidget(o),t.add(j(t=>{n=e.read(t),this.editor.layoutContentWidget(o)})),t.add(k(()=>{this.editor.removeContentWidget(o)})),r}isTargetHovered(e,t){let n=I(`isInjectedTextHovered`,!1);return t.add(this.editor.onMouseMove(t=>{let r=e(t);n.set(r,void 0)})),t.add(this.editor.onMouseLeave(e=>{n.set(!1,void 0)})),n}observeLineHeightForPosition(e){return V(t=>{let n=e instanceof Dn?e:e.read(t);return n===null?null:(this.getOption(75).read(t),this.editor.getLineHeightForPosition(n))})}observeLineHeightForLine(e){return typeof e==`number`?this.observeLineHeightForPosition(new Dn(e,1)):V(t=>{let n=e.read(t);return n===null?null:this.observeLineHeightForPosition(new Dn(n,1)).read(t)})}observeLineHeightsForLineRange(e){return V(t=>{let n=e instanceof U?e:e.read(t),r=[];for(let e=n.startLineNumber;e<n.endLineNumberExclusive;e++)r.push(this.observeLineHeightForLine(e).read(t));return r})}getWidthOfLine(e,t){this.layoutInfo.read(t),this.value.read(t),this.scrollTop.read(t);let n=this.editor.getWidthOfLine(e);return this._onDidContainerResize.read(t),n===0&&(this._sawZeroLineWidth=!0),n}observeTopForLineNumber(e){return V(t=>(this.layoutInfo.read(t),this._onDidChangeViewZones.read(t),this._onDidHiddenAreasChanged.read(t),this._onDidLineHeightChanged.read(t),this._versionId.read(t),this.editor.getTopForLineNumber(e)))}},Px=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Fx=function(e,t){return function(n,r){t(n,r,e)}},Ix,Lx=class extends B{static{Ix=this}static{this.ONE_OVERVIEW_WIDTH=15}static{this.ENTIRE_DIFF_OVERVIEW_WIDTH=this.ONE_OVERVIEW_WIDTH*2}constructor(e,t,n,r,i,o,c){super(),this._editors=e,this._rootElement=t,this._diffModel=n,this._rootWidth=r,this._rootHeight=i,this._modifiedEditorLayoutInfo=o,this._themeService=c,this.width=Ix.ENTIRE_DIFF_OVERVIEW_WIDTH;let l=Ii(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),u=V(e=>{let t=l.read(e);return{insertColor:t.getColor(zi)||(t.getColor(vi)||Mt).transparent(2),removeColor:t.getColor(Qn)||(t.getColor(a)||ki).transparent(2)}}),d=s(document.createElement(`div`));d.setClassName(`diffViewport`),d.setPosition(`absolute`);let f=K(`div.diffOverview`,{style:{position:`absolute`,top:`0px`,width:Ix.ENTIRE_DIFF_OVERVIEW_WIDTH+`px`}}).root;this._register(rb(f,d.domNode)),this._register(Mc(f,H.POINTER_DOWN,e=>{this._editors.modified.delegateVerticalScrollbarPointerDown(e)})),this._register(z(f,H.MOUSE_WHEEL,e=>{this._editors.modified.delegateScrollFromMouseWheelEvent(e)},{passive:!1})),this._register(rb(this._rootElement,f)),this._register(Ta((e,t)=>{let n=this._diffModel.read(e),r=this._editors.original.createOverviewRuler(`original diffOverviewRuler`);r&&(t.add(r),t.add(rb(f,r.getDomNode())));let i=this._editors.modified.createOverviewRuler(`modified diffOverviewRuler`);if(i&&(t.add(i),t.add(rb(f,i.getDomNode()))),!r||!i)return;let a=tx(`viewZoneChanged`,this._editors.original.onDidChangeViewZones),o=tx(`viewZoneChanged`,this._editors.modified.onDidChangeViewZones),s=tx(`hiddenRangesChanged`,this._editors.original.onDidChangeHiddenAreas),c=tx(`hiddenRangesChanged`,this._editors.modified.onDidChangeHiddenAreas);t.add(j(e=>{a.read(e),o.read(e),s.read(e),c.read(e);let t=u.read(e),l=n?.diff.read(e)?.mappings;function d(e,t,n){let r=n._getViewModel();return r?e.filter(e=>e.length>0).map(e=>{let n=r.coordinatesConverter.convertModelPositionToViewPosition(new Dn(e.startLineNumber,1)),i=r.coordinatesConverter.convertModelPositionToViewPosition(new Dn(e.endLineNumberExclusive,1)),a=i.lineNumber-n.lineNumber;return new v(n.lineNumber,i.lineNumber,a,t.toString())}):[]}let f=d((l||[]).map(e=>e.lineRangeMapping.original),t.removeColor,this._editors.original),p=d((l||[]).map(e=>e.lineRangeMapping.modified),t.insertColor,this._editors.modified);r?.setZones(f),i?.setZones(p)})),t.add(j(e=>{let t=this._rootHeight.read(e),n=this._rootWidth.read(e),a=this._modifiedEditorLayoutInfo.read(e);if(a){let n=Ix.ENTIRE_DIFF_OVERVIEW_WIDTH-2*Ix.ONE_OVERVIEW_WIDTH;r.setLayout({top:0,height:t,right:n+Ix.ONE_OVERVIEW_WIDTH,width:Ix.ONE_OVERVIEW_WIDTH}),i.setLayout({top:0,height:t,right:0,width:Ix.ONE_OVERVIEW_WIDTH});let o=this._editors.modifiedScrollTop.read(e),s=this._editors.modifiedScrollHeight.read(e),c=this._editors.modified.getOption(117),l=new fa(c.verticalHasArrows?c.arrowSize:0,c.verticalScrollbarSize,0,a.height,s,o);d.setTop(l.getSliderPosition()),d.setHeight(l.getSliderSize())}else d.setTop(0),d.setHeight(0);f.style.height=t+`px`,f.style.left=n-Ix.ENTIRE_DIFF_OVERVIEW_WIDTH+`px`,d.setWidth(Ix.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}};Lx=Ix=Px([Fx(6,se)],Lx);var Rx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},zx=function(e,t){return function(n,r){t(n,r,e)}},Bx=class extends B{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,n,r,i,a,o,s){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=n,this._argCodeEditorWidgetOptions=r,this._createInnerEditor=i,this._contextKeyService=a,this._instantiationService=o,this._keybindingService=s,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new F),this.modifiedScrollTop=Ii(this,this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=Ii(this,this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedObs=Mx(this.modified),this.originalObs=Mx(this.original),this.modifiedModel=this.modifiedObs.model,this.modifiedSelections=Ii(this,this.modified.onDidChangeCursorSelection,()=>this.modified.getSelections()??[]),this.modifiedCursor=Pa({owner:this,equalsFn:Dn.equals},e=>this.modifiedSelections.read(e)[0]?.getPosition()??new Dn(1,1)),this.originalCursor=Ii(this,this.original.onDidChangeCursorPosition,()=>this.original.getPosition()??new Dn(1,1)),this.isOriginalFocused=Mx(this.original).isFocused,this.isModifiedFocused=Mx(this.modified).isFocused,this.isFocused=V(this,e=>this.isOriginalFocused.read(e)||this.isModifiedFocused.read(e)),this._argCodeEditorWidgetOptions=null,this._register(Ns({changeTracker:{createChangeSummary:()=>({}),handleChange:(e,t)=>(e.didChange(n.editorOptions)&&Object.assign(t,e.change.changedOptions),!0)}},(e,t)=>{n.editorOptions.read(e),this._options.renderSideBySide.read(e),this.modified.updateOptions(this._adjustOptionsForRightHandSide(e,t)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(e,t))}))}_createLeftHandSideEditor(e,t){let n=this._adjustOptionsForLeftHandSide(void 0,e),r=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,n,t),i=this._contextKeyService.createKey(`isInDiffLeftEditor`,r.hasWidgetFocus());return this._register(r.onDidFocusEditorWidget(()=>i.set(!0))),this._register(r.onDidBlurEditorWidget(()=>i.set(!1))),r}_createRightHandSideEditor(e,t){let n=this._adjustOptionsForRightHandSide(void 0,e),r=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,n,t),i=this._contextKeyService.createKey(`isInDiffRightEditor`,r.hasWidgetFocus());return this._register(r.onDidFocusEditorWidget(()=>i.set(!0))),this._register(r.onDidBlurEditorWidget(()=>i.set(!1))),r}_constructInnerEditor(e,t,n,r){let i=this._createInnerEditor(e,t,n,r);return this._register(i.onDidContentSizeChange(e=>{let t=this.original.getContentWidth()+this.modified.getContentWidth()+Lx.ENTIRE_DIFF_OVERVIEW_WIDTH,n=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:n,contentWidth:t,contentHeightChanged:e.contentHeightChanged,contentWidthChanged:e.contentWidthChanged})})),i}_adjustOptionsForLeftHandSide(e,t){let n=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(n.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},n.wordWrapOverride1=this._options.diffWordWrap.get()):(n.wordWrapOverride1=`off`,n.wordWrapOverride2=`off`,n.stickyScroll={enabled:!1},n.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),n.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(n.ariaLabel=t.originalAriaLabel),n.ariaLabel=this._updateAriaLabel(n.ariaLabel),n.readOnly=!this._options.originalEditable.get(),n.dropIntoEditor={enabled:!n.readOnly},n.extraEditorClassName=`original-in-monaco-diff-editor`,n}_adjustOptionsForRightHandSide(e,t){let n=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(n.ariaLabel=t.modifiedAriaLabel),n.ariaLabel=this._updateAriaLabel(n.ariaLabel),n.wordWrapOverride1=this._options.diffWordWrap.get(),n.revealHorizontalRightPadding=ft.revealHorizontalRightPadding.defaultValue+Lx.ENTIRE_DIFF_OVERVIEW_WIDTH,n.scrollbar.verticalHasArrows=!1,n.extraEditorClassName=`modified-in-monaco-diff-editor`,n}_adjustOptionsForSubEditor(e){let t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.allowVariableLineHeights=!1,t.allowVariableFonts=!1,t.allowVariableFontsInAccessibilityMode=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){e||=``;let t=L(127,` use {0} to open the accessibility help.`,this._keybindingService.lookupKeybinding(`editor.action.accessibilityHelp`)?.getAriaLabel());return this._options.accessibilityVerbose.get()?e+t:e?e.replaceAll(t,``):``}};Bx=Rx([zx(5,D),zx(6,w),zx(7,rl)],Bx);var Vx=class{resetSash(){this._sashRatio.set(void 0,void 0)}constructor(e,t){this._options=e,this.dimensions=t,this.sashLeft=Ja(this,e=>{let t=this._sashRatio.read(e)??this._options.splitViewDefaultRatio.read(e);return this._computeSashLeft(t,e)},(e,t)=>{let n=this.dimensions.width.get();this._sashRatio.set(e/n,t)}),this._sashRatio=I(this,void 0)}_computeSashLeft(e,t){let n=this.dimensions.width.read(t),r=Math.floor(this._options.splitViewDefaultRatio.read(t)*n),i=this._options.enableSplitViewResizing.read(t)?Math.floor(e*n):r;return n<=200?r:i<100?100:i>n-100?n-100:i}},Hx=class extends B{constructor(e,t,n,r,i,a){super(),this._domNode=e,this._dimensions=t,this._enabled=n,this._boundarySashes=r,this.sashLeft=i,this._resetSash=a,this._sash=this._register(new Fi(this._domNode,{getVerticalSashTop:e=>0,getVerticalSashLeft:e=>this.sashLeft.get(),getVerticalSashHeight:e=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart(()=>{this._startSashPosition=this.sashLeft.get()})),this._register(this._sash.onDidChange(e=>{this.sashLeft.set(this._startSashPosition+(e.currentX-e.startX),void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._resetSash())),this._register(j(e=>{let t=this._boundarySashes.read(e);t&&(this._sash.orthogonalEndSash=t.bottom)})),this._register(j(e=>{let t=this._enabled.read(e);this._sash.state=t?3:0,this.sashLeft.read(e),this._dimensions.height.read(e),this._sash.layout()}))}},Ux=class e extends B{constructor(){super(...arguments),this._id=++e.idCounter,this._onDidDispose=this._register(new F),this.onDidDispose=this._onDidDispose.event}static{this.idCounter=0}getId(){return this.getEditorType()+`:v2:`+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t=`api`){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t=`api`){this._targetEditor.setSelection(e,t)}setSelections(e,t=`api`){this._targetEditor.setSelections(e,t)}revealLines(e,t,n=0){this._targetEditor.revealLines(e,t,n)}revealLinesInCenter(e,t,n=0){this._targetEditor.revealLinesInCenter(e,t,n)}revealLinesInCenterIfOutsideViewport(e,t,n=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,n)}revealLinesNearTop(e,t,n=0){this._targetEditor.revealLinesNearTop(e,t,n)}revealRange(e,t=0,n=!1,r=!0){this._targetEditor.revealRange(e,t,n,r)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,n){this._targetEditor.trigger(e,t,n)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}};function Wx(e,t){return jt(e,(e,n)=>n??t(e))}var Gx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Kx=function(e,t){return function(n,r){t(n,r,e)}},qx=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=I(this,0),this._screenReaderMode=Ii(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=V(this,e=>this._options.read(e).renderSideBySide&&this._diffEditorWidth.read(e)<=this._options.read(e).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=V(this,e=>this._options.read(e).renderOverviewRuler),this.renderSideBySide=V(this,e=>this.compactMode.read(e)&&this.shouldRenderInlineViewInSmartMode.read(e)?!1:this._options.read(e).renderSideBySide&&!(this._options.read(e).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(e)&&!this._screenReaderMode.read(e))),this.readOnly=V(this,e=>this._options.read(e).readOnly),this.shouldRenderOldRevertArrows=V(this,e=>!(!this._options.read(e).renderMarginRevertIcon||!this.renderSideBySide.read(e)||this.readOnly.read(e)||this.shouldRenderGutterMenu.read(e))),this.shouldRenderGutterMenu=V(this,e=>this._options.read(e).renderGutterMenu),this.renderIndicators=V(this,e=>this._options.read(e).renderIndicators),this.enableSplitViewResizing=V(this,e=>this._options.read(e).enableSplitViewResizing),this.splitViewDefaultRatio=V(this,e=>this._options.read(e).splitViewDefaultRatio),this.ignoreTrimWhitespace=V(this,e=>this._options.read(e).ignoreTrimWhitespace),this.maxComputationTimeMs=V(this,e=>this._options.read(e).maxComputationTime),this.showMoves=V(this,e=>this._options.read(e).experimental.showMoves&&this.renderSideBySide.read(e)),this.isInEmbeddedEditor=V(this,e=>this._options.read(e).isInEmbeddedEditor),this.diffWordWrap=V(this,e=>this._options.read(e).diffWordWrap),this.originalEditable=V(this,e=>this._options.read(e).originalEditable),this.diffCodeLens=V(this,e=>this._options.read(e).diffCodeLens),this.accessibilityVerbose=V(this,e=>this._options.read(e).accessibilityVerbose),this.diffAlgorithm=V(this,e=>this._options.read(e).diffAlgorithm),this.showEmptyDecorations=V(this,e=>this._options.read(e).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=V(this,e=>this._options.read(e).onlyShowAccessibleDiffViewer),this.compactMode=V(this,e=>this._options.read(e).compactMode),this.trueInlineDiffRenderingEnabled=V(this,e=>this._options.read(e).experimental.useTrueInlineView),this.useTrueInlineDiffRendering=V(this,e=>!this.renderSideBySide.read(e)&&this.trueInlineDiffRenderingEnabled.read(e)),this.hideUnchangedRegions=V(this,e=>this._options.read(e).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=V(this,e=>this._options.read(e).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=V(this,e=>this._options.read(e).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=V(this,e=>this._options.read(e).hideUnchangedRegions.minimumLineCount),this._model=I(this,void 0),this.shouldRenderInlineViewInSmartMode=this._model.map(this,e=>Wx(this,t=>{let n=e?.diff.read(t);return n?Jx(n,this.trueInlineDiffRenderingEnabled.read(t)):void 0})).flatten().map(this,e=>!!e),this.inlineViewHideOriginalLineNumbers=this.compactMode;let n={...e,...Zx(e,_g)};this._options=I(this,n)}updateOptions(e){let t=Zx(e,this._options.get()),n={...this._options.get(),...e,...t};this._options.set(n,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}setModel(e){this._model.set(e,void 0)}};qx=Gx([Kx(1,Tn)],qx);function Jx(e,t){return e.mappings.every(e=>Yx(e.lineRangeMapping)||Xx(e.lineRangeMapping)||t&&Tx(e.lineRangeMapping))}function Yx(e){return e.original.length===0}function Xx(e){return e.modified.length===0}function Zx(e,t){return{enableSplitViewResizing:zr(e.enableSplitViewResizing,t.enableSplitViewResizing),splitViewDefaultRatio:oi(e.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:zr(e.renderSideBySide,t.renderSideBySide),renderMarginRevertIcon:zr(e.renderMarginRevertIcon,t.renderMarginRevertIcon),maxComputationTime:nt(e.maxComputationTime,t.maxComputationTime,0,1073741824),maxFileSize:nt(e.maxFileSize,t.maxFileSize,0,1073741824),ignoreTrimWhitespace:zr(e.ignoreTrimWhitespace,t.ignoreTrimWhitespace),renderIndicators:zr(e.renderIndicators,t.renderIndicators),originalEditable:zr(e.originalEditable,t.originalEditable),diffCodeLens:zr(e.diffCodeLens,t.diffCodeLens),renderOverviewRuler:zr(e.renderOverviewRuler,t.renderOverviewRuler),diffWordWrap:Js(e.diffWordWrap,t.diffWordWrap,[`off`,`on`,`inherit`]),diffAlgorithm:Js(e.diffAlgorithm,t.diffAlgorithm,[`legacy`,`advanced`,`advanced-external`,`advanced-wasm`],{smart:`legacy`,experimental:`advanced`}),accessibilityVerbose:zr(e.accessibilityVerbose,t.accessibilityVerbose),experimental:{showMoves:zr(e.experimental?.showMoves,t.experimental.showMoves),showEmptyDecorations:zr(e.experimental?.showEmptyDecorations,t.experimental.showEmptyDecorations),useTrueInlineView:zr(e.experimental?.useTrueInlineView,t.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:zr(e.hideUnchangedRegions?.enabled??e.experimental?.collapseUnchangedRegions,t.hideUnchangedRegions.enabled),contextLineCount:nt(e.hideUnchangedRegions?.contextLineCount,t.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:nt(e.hideUnchangedRegions?.minimumLineCount,t.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:nt(e.hideUnchangedRegions?.revealLineCount,t.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:zr(e.isInEmbeddedEditor,t.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:zr(e.onlyShowAccessibleDiffViewer,t.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:nt(e.renderSideBySideInlineBreakpoint,t.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:zr(e.useInlineViewWhenSpaceIsLimited,t.useInlineViewWhenSpaceIsLimited),renderGutterMenu:zr(e.renderGutterMenu,t.renderGutterMenu),compactMode:zr(e.compactMode,t.compactMode)}}var Qx=xi(`IActionViewItemService`);E(Qx,class{constructor(){this._providers=new Map,this._onDidChange=new F,this.onDidChange=this._onDidChange.event}dispose(){this._onDidChange.dispose()}lookUp(e,t){return this._providers.get(this._makeKey(e,t))}_makeKey(e,t){return`${e.id}/${t instanceof ye?t.id:t}`}},1);var $x=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},eS=function(e,t){return function(n,r){t(n,r,e)}},tS=class extends P_{constructor(e,t,n,r,i,a,o,s){super(e,i,{getKeyBinding:e=>a.lookupKeybinding(e.id)??void 0,...t,allowContextMenu:!0,skipTelemetry:typeof t?.telemetrySource==`string`}),this._options=t,this._menuService=n,this._contextKeyService=r,this._contextMenuService=i,this._keybindingService=a,this._commandService=o,this._sessionDisposables=this._store.add(new N);let c=t?.telemetrySource;c&&this._store.add(this.actionBar.onDidRun(e=>s.publicLog2(`workbenchActionExecuted`,{id:e.action.id,from:c})))}setActions(e,t=[],n){this._sessionDisposables.clear();let r=e.slice(),i=t.slice(),a=[],o=0,s=[],c=!1;if(this._options?.hiddenItemStrategy!==-1)for(let e=0;e<r.length;e++){let t=r[e];if(t instanceof gt){s[e]=t;continue}!(t instanceof il)&&!(t instanceof Ve)||t.hideActions&&(a.push(t.hideActions.toggle),t.hideActions.toggle.checked&&o++,t.hideActions.isHidden&&(c=!0,r[e]=void 0,this._options?.hiddenItemStrategy!==0&&(s[e]=t)))}if(this._options?.overflowBehavior!==void 0){let e=_a(new Set(this._options.overflowBehavior.exempted),G.map(r,e=>e?.id)),t=this._options.overflowBehavior.maxItems-e.size,n=0;for(let i=0;i<r.length;i++){let a=r[i];a&&(n++,!e.has(a.id)&&n>=t&&(r[i]=void 0,s[i]=a))}}vc(r),vc(s),super.setActions(gt.clean(r),gt.join(gt.clean(s),i)),(a.length>0||r.length>0)&&this._sessionDisposables.add(z(this.getElement(),`contextmenu`,e=>{let t=new ie(x(this.getElement()),e),r=this.getItemAction(t.target);if(!r)return;t.preventDefault(),t.stopPropagation();let i=[];if(r instanceof il&&r.menuKeybinding)i.push(r.menuKeybinding);else if(!(r instanceof Ve||r instanceof F_)){let e=!!this._keybindingService.lookupKeybinding(r.id);i.push(qd(this._commandService,this._keybindingService,r.id,void 0,e))}if(a.length>0){let e=!1;if(o===1&&this._options?.hiddenItemStrategy===0){e=!0;for(let e=0;e<a.length;e++)if(a[e].checked){a[e]=di({id:r.id,label:r.label,checked:!0,enabled:!1,run(){}});break}}if(!e&&(r instanceof il||r instanceof Ve)){if(!r.hideActions)return;i.push(r.hideActions.hide)}else i.push(di({id:`label`,label:L(1701,`Hide`),enabled:!1,run(){}}))}let s=gt.join(i,a);this._options?.resetMenu&&!n&&(n=[this._options.resetMenu]),c&&n&&(s.push(new gt),s.push(di({id:`resetThisMenu`,label:L(1702,`Reset Menu`),run:()=>this._menuService.resetHiddenStates(n)}))),s.length!==0&&this._contextMenuService.showContextMenu({getAnchor:()=>t,getActions:()=>s,menuId:this._options?.contextMenu,menuActionOptions:{renderShortTitle:!0,...this._options?.menuOptions},skipTelemetry:typeof this._options?.telemetrySource==`string`,contextKeyService:this._contextKeyService})}))}};tS=$x([eS(2,Er),eS(3,D),eS(4,ji),eS(5,rl),eS(6,$t),eS(7,va)],tS);var nS=class extends tS{get onDidChangeMenuItems(){return this._onDidChangeMenuItems.event}constructor(e,t,n,r,i,a,o,s,c,l,u){super(e,{resetMenu:t,...n,actionViewItemProvider:(r,i)=>{let a=l.lookUp(t,r instanceof Ve?r.item.submenu.id:r.id);return a||=n?.actionViewItemProvider,a?.(r,i,u,x(e).vscodeWindowId)||Ds(u,r,i)}},r,i,a,o,s,c),this._onDidChangeMenuItems=this._store.add(new F),this._container=e,this._menuOptions=n?.menuOptions,this._toolbarOptions=n?.toolbarOptions,this._menu=this._store.add(r.createMenu(t,i,{emitEventsForSubmenuChanges:!0,eventDebounceDelay:n?.eventDebounceDelay})),this._store.add(this._menu.onDidChange(()=>{this._updateToolbar(),this._onDidChangeMenuItems.fire(this)})),this._store.add(l.onDidChange(e=>{e===t&&this._updateToolbar()})),this._updateToolbar()}_updateToolbar(){let{primary:e,secondary:t}=uc(this._menu.getActions(this._menuOptions),this._toolbarOptions?.primaryGroup,this._toolbarOptions?.shouldInlineSubmenu,this._toolbarOptions?.useSeparatorsInPrimaryActions);this._container.classList.toggle(`has-no-actions`,e.length===0&&t.length===0),super.setActions(e,t)}setActions(){throw new _i(`This toolbar is populated from a menu.`)}};nS=$x([eS(3,Er),eS(4,D),eS(5,ji),eS(6,rl),eS(7,$t),eS(8,va),eS(9,Qx),eS(10,w)],nS);var rS=class extends ia{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}getLineLength(e){return this._textModel.getLineLength(e)}get length(){let e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new Ps(e-1,t)}},iS=class extends ce{constructor(e){super(),this._getContext=e}runAction(e,t){let n=this._getContext();return super.runAction(e,n)}},aS=class extends B{constructor(e,t,n){super(),this._editor=e,this._domNode=t,this.itemProvider=n,this.scrollTop=Ii(this,this._editor.onDidScrollChange,e=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(e=>e===0),this.modelAttached=Ii(this,this._editor.onDidChangeModel,e=>this._editor.hasModel()),this.editorOnDidChangeViewZones=tx(`onDidChangeViewZones`,this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=tx(`onDidContentSizeChange`,this._editor.onDidContentSizeChange),this.domNodeSizeChanged=hi(`domNodeSizeChanged`),this.views=this._register(new Pc),this._domNode.className=`gutter monaco-editor`;let r=this._domNode.appendChild(K(`div.scroll-decoration`,{role:`presentation`,ariaHidden:`true`,style:{width:`100%`}}).root),i=new ResizeObserver(()=>{Ao(e=>{this.domNodeSizeChanged.trigger(e)})});i.observe(this._domNode),this._register(k(()=>i.disconnect())),this._register(j(e=>{r.className=this.isScrollTopZero.read(e)?``:`scroll-decoration`})),this._register(j(e=>this.render(e)))}dispose(){super.dispose(),ne(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);let t=this.scrollTop.read(e),n=this._editor.getVisibleRanges(),r=new Set(this.views.keys()),i=Ws.ofStartAndLength(0,this._domNode.clientHeight);if(!i.isEmpty)for(let a of n){let n=new U(a.startLineNumber,a.endLineNumber+1),o=this.itemProvider.getIntersectingGutterItems(n,e);Ao(e=>{for(let a of o){if(!a.range.intersect(n))continue;r.delete(a.id);let o=this.views.get(a.id);if(o)o.item.set(a,e);else{let e=document.createElement(`div`);this._domNode.appendChild(e);let t=I(`item`,a);o=new oS(t,this.itemProvider.createView(t,e),e),this.views.set(a.id,o)}let s=a.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(a.range.startLineNumber,!0)-t:a.range.startLineNumber>1?this._editor.getBottomForLineNumber(a.range.startLineNumber-1,!1)-t:0,c=(a.range.endLineNumberExclusive===1?Math.max(s,this._editor.getTopForLineNumber(a.range.startLineNumber,!1)-t):Math.max(s,this._editor.getBottomForLineNumber(a.range.endLineNumberExclusive-1,!0)-t))-s;o.domNode.style.top=`${s}px`,o.domNode.style.height=`${c}px`,o.gutterItemView.layout(Ws.ofStartAndLength(s,c),i)}})}for(let e of r)this.views.deleteAndDispose(e)}},oS=class{constructor(e,t,n){this.item=e,this.gutterItemView=t,this.domNode=n}dispose(){this.gutterItemView.dispose(),this.domNode.remove()}},sS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},cS=function(e,t){return function(n,r){t(n,r,e)}},lS=[],uS=35,dS=class extends B{constructor(e,t,n,r,i,a,o,s,c){super(),this._diffModel=t,this._editors=n,this._options=r,this._sashLayout=i,this._boundarySashes=a,this._instantiationService=o,this._contextKeyService=s,this._menuService=c,this._menu=this._register(this._menuService.createMenu(ye.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=Ii(this,this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(e=>e.length>0),this._showSash=V(this,e=>this._options.renderSideBySide.read(e)&&this._hasActions.read(e)),this.width=V(this,e=>this._hasActions.read(e)?uS:0),this.elements=K(`div.gutter@gutter`,{style:{position:`absolute`,height:`100%`,width:`35px`}},[]),this._currentDiff=V(this,e=>{let t=this._diffModel.read(e);if(!t)return;let n=t.diff.read(e)?.mappings,r=this._editors.modifiedCursor.read(e);if(r)return n?.find(e=>e.lineRangeMapping.modified.contains(r.lineNumber))}),this._selectedDiffs=V(this,e=>{let t=this._diffModel.read(e)?.diff.read(e);if(!t)return lS;let n=this._editors.modifiedSelections.read(e);if(n.every(e=>e.isEmpty()))return lS;let r=new Da(n.map(e=>U.fromRangeInclusive(e))),i=t.mappings.filter(e=>e.lineRangeMapping.innerChanges&&r.intersects(e.lineRangeMapping.modified)).map(e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter(e=>n.some(t=>S.areIntersecting(e.modifiedRange,t)))}));return i.length===0||i.every(e=>e.rangeMappings.length===0)?lS:i}),this._register(ib(e,this.elements.root)),this._register(z(this.elements.root,`click`,()=>{this._editors.modified.focus()})),this._register(db(this.elements.root,{display:this._hasActions.map(e=>e?`block`:`none`)})),Fc(this,t=>this._showSash.read(t)?new Hx(e,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,Ja(this,e=>this._sashLayout.sashLeft.read(e)-uS,(e,t)=>this._sashLayout.sashLeft.set(e+uS,t)),()=>this._sashLayout.resetSash()):void 0).recomputeInitiallyAndOnChange(this._store);let l=V(this,e=>{let t=this._diffModel.read(e);if(!t)return[];let n=t.diff.read(e);if(!n)return[];let r=this._selectedDiffs.read(e);if(r.length>0)return[new fS(Dc.fromRangeMappings(r.flatMap(e=>e.rangeMappings)),!0,ye.DiffEditorSelectionToolbar,void 0,t.model.original.uri,t.model.modified.uri)];let i=this._currentDiff.read(e);return n.mappings.map(e=>new fS(e.lineRangeMapping.withInnerChangesFromLineRanges(),e.lineRangeMapping===i?.lineRangeMapping,ye.DiffEditorHunkToolbar,void 0,t.model.original.uri,t.model.modified.uri))});this._register(new aS(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(e,t)=>l.read(t),createView:(e,t)=>this._instantiationService.createInstance(pS,e,t,this)})),this._register(z(this.elements.gutter,H.MOUSE_WHEEL,e=>{this._editors.modified.getOption(117).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(e)},{passive:!1}))}computeStagedValue(e){let t=e.innerChanges??[],n=new rS(this._editors.modifiedModel.get()),r=new rS(this._editors.original.getModel());return new Mo(t.map(e=>e.toTextEdit(n))).apply(r)}layout(e){this.elements.gutter.style.left=e+`px`}};dS=sS([cS(6,w),cS(7,D),cS(8,Er)],dS);var fS=class{constructor(e,t,n,r,i,a){this.mapping=e,this.showAlways=t,this.menuId=n,this.rangeOverride=r,this.originalUri=i,this.modifiedUri=a}get id(){return this.mapping.modified.toString()}get range(){return this.rangeOverride??this.mapping.modified}},pS=class extends B{constructor(e,t,n,r){super(),this._item=e,this._elements=K(`div.gutterItem`,{style:{height:`20px`,width:`34px`}},[K(`div.background@background`,{},[]),K(`div.buttons@buttons`,{},[])]),this._showAlways=this._item.map(this,e=>e.showAlways),this._menuId=this._item.map(this,e=>e.menuId),this._isSmall=I(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;let i=this._register(r.createInstance($n,`element`,{instantHover:!0},{position:{hoverPosition:1}}));this._register(rb(t,this._elements.root)),this._register(j(e=>{let t=this._showAlways.read(e);this._elements.root.classList.toggle(`noTransition`,!0),this._elements.root.classList.toggle(`showAlways`,t),setTimeout(()=>{this._elements.root.classList.toggle(`noTransition`,!1)},0)})),this._register(Ta((e,t)=>{this._elements.buttons.replaceChildren();let a=t.add(r.createInstance(nS,this._elements.buttons,this._menuId.read(e),{orientation:1,hoverDelegate:i,toolbarOptions:{primaryGroup:e=>e.startsWith(`primary`)},overflowBehavior:{maxItems:this._isSmall.read(e)?1:3},hiddenItemStrategy:0,actionRunner:t.add(new iS(()=>{let e=this._item.read(void 0),t=e.mapping;return{mapping:t,originalWithModifiedChanges:n.computeStagedValue(t),originalUri:e.originalUri,modifiedUri:e.modifiedUri}})),menuOptions:{shouldForwardArgs:!0}}));t.add(a.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let n=this._elements.buttons.clientHeight;this._isSmall.set(this._item.get().mapping.original.startLineNumber===1&&e.length<30,void 0),n=this._elements.buttons.clientHeight;let r=e.length/2-n/2,i=n,a=e.start+r,o=Ws.tryCreate(i,t.endExclusive-i-n),s=Ws.tryCreate(e.start+i,e.endExclusive-n-i);s&&o&&s.start<s.endExclusive&&(a=o.clip(a),a=s.clip(a)),this._elements.buttons.style.top=`${a-e.start}px`}};pS=sS([cS(3,w)],pS);var mS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},hS=function(e,t){return function(n,r){t(n,r,e)}},gS,_S=class extends B{static{gS=this}static{this._breadcrumbsSourceFactory=I(this,()=>({dispose(){},getBreadcrumbItems(e,t){return[]},getAt:()=>[]}))}static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,n,r){super(),this._editors=e,this._diffModel=t,this._options=n,this._instantiationService=r,this._modifiedOutlineSource=Fc(this,e=>{let t=this._editors.modifiedModel.read(e),n=gS._breadcrumbsSourceFactory.read(e);return!t||!n?void 0:n(t,this._instantiationService)}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(e=>{if(e.reason===1)return;let t=this._diffModel.get();Ao(e=>{for(let n of this._editors.original.getSelections()||[])t?.ensureOriginalLineIsVisible(n.getStartPosition().lineNumber,0,e),t?.ensureOriginalLineIsVisible(n.getEndPosition().lineNumber,0,e)})})),this._register(this._editors.modified.onDidChangeCursorPosition(e=>{if(e.reason===1)return;let t=this._diffModel.get();Ao(e=>{for(let n of this._editors.modified.getSelections()||[])t?.ensureModifiedLineIsVisible(n.getStartPosition().lineNumber,0,e),t?.ensureModifiedLineIsVisible(n.getEndPosition().lineNumber,0,e)})}));let i=this._diffModel.map((e,t)=>{let n=e?.unchangedRegions.read(t)??[];return n.length===1&&n[0].modifiedLineNumber===1&&n[0].lineCount===this._editors.modifiedModel.read(t)?.getLineCount()?[]:n});this.viewZones=V(this,e=>{let t=this._modifiedOutlineSource.read(e);if(!t)return{origViewZones:[],modViewZones:[]};let n=[],r=[],a=this._options.renderSideBySide.read(e),o=this._options.compactMode.read(e),s=i.read(e);for(let i=0;i<s.length;i++){let c=s[i];if(!c.shouldHideControls(e)&&!(o&&(i===0||i===s.length-1)))if(o){{let t=new lb(V(this,e=>c.getHiddenOriginalRange(e).startLineNumber-1),12);n.push(t),e.store.add(new vS(this._editors.original,t,c,!a))}{let t=new lb(V(this,e=>c.getHiddenModifiedRange(e).startLineNumber-1),12);r.push(t),e.store.add(new vS(this._editors.modified,t,c))}}else{{let r=new lb(V(this,e=>c.getHiddenOriginalRange(e).startLineNumber-1),24);n.push(r),e.store.add(new yS(this._editors.original,r,c,c.originalUnchangedRange,!a,t,e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0),this._options))}{let n=new lb(V(this,e=>c.getHiddenModifiedRange(e).startLineNumber-1),24);r.push(n),e.store.add(new yS(this._editors.modified,n,c,c.modifiedUnchangedRange,!1,t,e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0),this._options))}}}return{origViewZones:n,modViewZones:r}});let a={description:`unchanged lines`,className:`diff-unchanged-lines`,isWholeLine:!0},o={description:`Fold Unchanged`,glyphMarginHoverMessage:new Vn(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(L(140,`Fold Unchanged Region`)),glyphMarginClassName:`fold-unchanged `+pr.asClassName(q.fold),zIndex:10001};this._register(nb(this._editors.original,V(this,e=>{let t=i.read(e),n=t.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:a}));for(let r of t)r.shouldHideControls(e)&&n.push({range:S.fromPositions(new Dn(r.originalLineNumber,1)),options:o});return n}))),this._register(nb(this._editors.modified,V(this,e=>{let t=i.read(e),n=t.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:a}));for(let r of t)r.shouldHideControls(e)&&n.push({range:U.ofLength(r.modifiedLineNumber,1).toInclusiveRange(),options:o});return n}))),this._register(j(e=>{let t=i.read(e);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(t.map(t=>t.getHiddenOriginalRange(e).toInclusiveRange()).filter(Zr)),this._editors.modified.setHiddenAreas(t.map(t=>t.getHiddenModifiedRange(e).toInclusiveRange()).filter(Zr))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(e=>{if(!e.event.rightButton&&e.target.position&&e.target.element?.className.includes(`fold-unchanged`)){let t=e.target.position.lineNumber,n=this._diffModel.get();if(!n)return;let r=n.unchangedRegions.get().find(e=>e.modifiedUnchangedRange.contains(t));if(!r)return;r.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}})),this._register(this._editors.original.onMouseUp(e=>{if(!e.event.rightButton&&e.target.position&&e.target.element?.className.includes(`fold-unchanged`)){let t=e.target.position.lineNumber,n=this._diffModel.get();if(!n)return;let r=n.unchangedRegions.get().find(e=>e.originalUnchangedRange.contains(t));if(!r)return;r.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}}))}};_S=gS=mS([hS(3,w)],_S);var vS=class extends cb{constructor(e,t,n,r=!1){let i=K(`div.diff-hidden-lines-widget`);super(e,t,i.root),this._unchangedRegion=n,this._hide=r,this._nodes=K(`div.diff-hidden-lines-compact`,[K(`div.line-left`,[]),K(`div.text@text`,[]),K(`div.line-right`,[])]),i.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register(j(e=>{if(!this._hide){let t=this._unchangedRegion.getHiddenModifiedRange(e).length,n=L(141,`{0} hidden lines`,t);this._nodes.text.innerText=n}}))}},yS=class extends cb{constructor(e,t,n,r,i,a,o,s){let c=K(`div.diff-hidden-lines-widget`);super(e,t,c.root),this._editor=e,this._unchangedRegion=n,this._unchangedRegionRange=r,this._hide=i,this._modifiedOutlineSource=a,this._revealModifiedHiddenLine=o,this._options=s,this._nodes=K(`div.diff-hidden-lines`,[K(`div.top@top`,{title:L(142,`Click or drag to show more above`)}),K(`div.center@content`,{style:{display:`flex`}},[K(`div@first`,{style:{display:`flex`,justifyContent:`center`,alignItems:`center`,flexShrink:`0`}},[P(`a`,{title:L(143,`Show Unchanged Region`),role:`button`,onclick:()=>{this._unchangedRegion.showAll(void 0)}},...Ho(`$(unfold)`))]),K(`div@others`,{style:{display:`flex`,justifyContent:`center`,alignItems:`center`}})]),K(`div.bottom@bottom`,{title:L(144,`Click or drag to show more below`),role:`button`})]),c.root.appendChild(this._nodes.root),this._hide?ne(this._nodes.first):this._register(db(this._nodes.first,{width:Mx(this._editor).layoutInfoContentLeft})),this._register(j(e=>{let t=this._unchangedRegion.visibleLineCountTop.read(e)+this._unchangedRegion.visibleLineCountBottom.read(e)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle(`canMoveTop`,!t),this._nodes.bottom.classList.toggle(`canMoveBottom`,this._unchangedRegion.visibleLineCountBottom.read(e)>0),this._nodes.top.classList.toggle(`canMoveTop`,this._unchangedRegion.visibleLineCountTop.read(e)>0),this._nodes.top.classList.toggle(`canMoveBottom`,!t);let n=this._unchangedRegion.isDragged.read(e),r=this._editor.getDomNode();r&&(r.classList.toggle(`draggingUnchangedRegion`,!!n),n===`top`?(r.classList.toggle(`canMoveTop`,this._unchangedRegion.visibleLineCountTop.read(e)>0),r.classList.toggle(`canMoveBottom`,!t)):n===`bottom`?(r.classList.toggle(`canMoveTop`,!t),r.classList.toggle(`canMoveBottom`,this._unchangedRegion.visibleLineCountBottom.read(e)>0)):(r.classList.toggle(`canMoveTop`,!1),r.classList.toggle(`canMoveBottom`,!1)))}));let l=this._editor;this._register(z(this._nodes.top,`mousedown`,e=>{if(e.button!==0)return;this._nodes.top.classList.toggle(`dragging`,!0),this._nodes.root.classList.toggle(`dragging`,!0),e.preventDefault();let t=e.clientY,n=!1,r=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set(`top`,void 0);let i=x(this._nodes.top),a=z(i,`mousemove`,e=>{let i=e.clientY-t;n||=Math.abs(i)>2;let a=Math.round(i/l.getOption(75)),o=Math.max(0,Math.min(r+a,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(o,void 0)}),o=z(i,`mouseup`,e=>{n||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle(`dragging`,!1),this._nodes.root.classList.toggle(`dragging`,!1),this._unchangedRegion.isDragged.set(void 0,void 0),a.dispose(),o.dispose()})})),this._register(z(this._nodes.bottom,`mousedown`,e=>{if(e.button!==0)return;this._nodes.bottom.classList.toggle(`dragging`,!0),this._nodes.root.classList.toggle(`dragging`,!0),e.preventDefault();let t=e.clientY,n=!1,r=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set(`bottom`,void 0);let i=x(this._nodes.bottom),a=z(i,`mousemove`,e=>{let i=e.clientY-t;n||=Math.abs(i)>2;let a=Math.round(i/l.getOption(75)),o=Math.max(0,Math.min(r-a,this._unchangedRegion.getMaxVisibleLineCountBottom())),s=this._unchangedRegionRange.endLineNumberExclusive>l.getModel().getLineCount()?l.getContentHeight():l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(o,void 0);let c=this._unchangedRegionRange.endLineNumberExclusive>l.getModel().getLineCount()?l.getContentHeight():l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);l.setScrollTop(l.getScrollTop()+(c-s))}),o=z(i,`mouseup`,e=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!n){let e=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);let t=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);l.setScrollTop(l.getScrollTop()+(t-e))}this._nodes.bottom.classList.toggle(`dragging`,!1),this._nodes.root.classList.toggle(`dragging`,!1),a.dispose(),o.dispose()})})),this._register(j(e=>{let t=[];if(!this._hide){let r=n.getHiddenModifiedRange(e).length,i=L(145,`{0} hidden lines`,r),a=P(`span`,{title:L(146,`Double click to unfold`)},i);a.addEventListener(`dblclick`,e=>{e.button===0&&(e.preventDefault(),this._unchangedRegion.showAll(void 0))}),t.push(a);let o=this._unchangedRegion.getHiddenModifiedRange(e),s=this._modifiedOutlineSource.getBreadcrumbItems(o,e);if(s.length>0){t.push(P(`span`,void 0,`\xA0\xA0|\xA0\xA0`));for(let e=0;e<s.length;e++){let n=s[e],r=K(`div.breadcrumb-item`,{style:{display:`flex`,alignItems:`center`}},[g(ua.toIcon(n.kind)),`\xA0`,n.name,...e===s.length-1?[]:[g(q.chevronRight)]]).root;t.push(r),r.onclick=()=>{this._revealModifiedHiddenLine(n.startLineNumber)}}}}ne(this._nodes.others,...t)}))}},bS=[],xS=class extends B{constructor(e,t,n,r){super(),this._editors=e,this._diffModel=t,this._options=n,this._widget=r,this._selectedDiffs=V(this,e=>{let t=this._diffModel.read(e)?.diff.read(e);if(!t)return bS;let n=this._editors.modifiedSelections.read(e);if(n.every(e=>e.isEmpty()))return bS;let r=new Da(n.map(e=>U.fromRangeInclusive(e))),i=t.mappings.filter(e=>e.lineRangeMapping.innerChanges&&r.intersects(e.lineRangeMapping.modified)).map(e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter(e=>n.some(t=>S.areIntersecting(e.modifiedRange,t)))}));return i.length===0||i.every(e=>e.rangeMappings.length===0)?bS:i}),this._register(Ta((e,t)=>{if(!this._options.shouldRenderOldRevertArrows.read(e))return;let n=this._diffModel.read(e),r=n?.diff.read(e);if(!n||!r||n.movedTextToCompare.read(e))return;let i=[],a=this._selectedDiffs.read(e),o=new Set(a.map(e=>e.mapping));if(a.length>0){let n=this._editors.modifiedSelections.read(e),r=t.add(new SS(n[n.length-1].positionLineNumber,this._widget,a.flatMap(e=>e.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(r),i.push(r)}for(let e of r.mappings)if(!o.has(e)&&!e.lineRangeMapping.modified.isEmpty&&e.lineRangeMapping.innerChanges){let n=t.add(new SS(e.lineRangeMapping.modified.startLineNumber,this._widget,e.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(n),i.push(n)}t.add(k(()=>{for(let e of i)this._editors.modified.removeGlyphMarginWidget(e)}))}))}},SS=class e extends B{static{this.counter=0}getId(){return this._id}constructor(t,n,r,i){super(),this._lineNumber=t,this._widget=n,this._diffs=r,this._revertSelection=i,this._id=`revertButton${e.counter++}`,this._domNode=K(`div.revertButton`,{title:this._revertSelection?L(151,`Revert Selected Changes`):L(152,`Revert Change`)},[g(q.arrowRight)]).root,this._register(z(this._domNode,H.MOUSE_DOWN,e=>{e.button!==2&&(e.stopPropagation(),e.preventDefault())})),this._register(z(this._domNode,H.MOUSE_UP,e=>{e.stopPropagation(),e.preventDefault()})),this._register(z(this._domNode,H.CLICK,e=>{this._diffs instanceof ws?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),e.stopPropagation(),e.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:Yi.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}},CS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},wS=function(e,t){return function(n,r){t(n,r,e)}},TS=class extends Ux{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(e,t,r,i,a,o,s,c){super(),this._domElement=e,this._parentContextKeyService=i,this._parentInstantiationService=a,this._codeEditorService=o,this._accessibilitySignalService=s,this._editorProgressService=c,this.elements=K(`div.monaco-diff-editor.side-by-side`,{style:{position:`relative`,height:`100%`}},[K(`div.editor.original@original`,{style:{position:`absolute`,height:`100%`}}),K(`div.editor.modified@modified`,{style:{position:`absolute`,height:`100%`}}),K(`div.accessibleDiffViewer@accessibleDiffViewer`,{style:{position:`absolute`,height:`100%`}})]),this._diffModelSrc=this._register(n(this,void 0)),this._diffModel=V(this,e=>this._diffModelSrc.read(e)?.object),this.onDidChangeModel=W.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new Wa([D,this._contextKeyService]))),this._boundarySashes=I(this,void 0),this._accessibleDiffViewerShouldBeVisible=I(this,!1),this._accessibleDiffViewerVisible=V(this,e=>this._options.onlyShowAccessibleDiffViewer.read(e)?!0:this._accessibleDiffViewerShouldBeVisible.read(e)),this._movedBlocksLinesPart=I(this,void 0),this._layoutInfo=V(this,e=>{let t=this._rootSizeObserver.width.read(e),n=this._rootSizeObserver.height.read(e);this._rootSizeObserver.automaticLayout?this.elements.root.style.height=`100%`:this.elements.root.style.height=n+`px`;let r=this._sash.read(e),i=this._gutter.read(e),a=i?.width.read(e)??0,o=this._overviewRulerPart.read(e)?.width??0,s,c,l,u,d;if(r){let n=r.sashLeft.read(e),i=this._movedBlocksLinesPart.read(e)?.width.read(e)??0;s=0,c=n-a-i,d=n-a,l=n,u=t-l-o}else{d=0;let n=this._options.inlineViewHideOriginalLineNumbers.read(e);s=a,c=n?0:Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read(e)),l=a+c,u=t-l-o}return this.elements.original.style.left=s+`px`,this.elements.original.style.width=c+`px`,this._editors.original.layout({width:c,height:n},!0),i?.layout(d),this.elements.modified.style.left=l+`px`,this.elements.modified.style.width=u+`px`,this._editors.modified.layout({width:u,height:n},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((e,t)=>e?.diff.read(t)),this.onDidUpdateDiff=W.fromObservableLight(this._diffValue),this._codeEditorService.willCreateDiffEditor(),this._contextKeyService.createKey(`isInDiffEditor`,!0),this._domElement.appendChild(this.elements.root),this._register(k(()=>this.elements.root.remove())),this._rootSizeObserver=this._register(new ab(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout(t.automaticLayout??!1),this._options=this._instantiationService.createInstance(qx,t),this._register(j(e=>{this._options.setWidth(this._rootSizeObserver.width.read(e))})),this._contextKeyService.createKey(ot.isEmbeddedDiffEditor.key,!1),this._register(eb(ot.isEmbeddedDiffEditor,this._contextKeyService,e=>this._options.isInEmbeddedEditor.read(e))),this._register(eb(ot.comparingMovedCode,this._contextKeyService,e=>!!this._diffModel.read(e)?.movedTextToCompare.read(e))),this._register(eb(ot.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,e=>this._options.couldShowInlineViewBecauseOfSize.read(e))),this._register(eb(ot.diffEditorInlineMode,this._contextKeyService,e=>!this._options.renderSideBySide.read(e))),this._register(eb(ot.hasChanges,this._contextKeyService,e=>(this._diffModel.read(e)?.diff.read(e)?.mappings.length??0)>0)),this._editors=this._register(this._instantiationService.createInstance(Bx,this.elements.original,this.elements.modified,this._options,r,(e,t,n,r)=>this._createInnerEditor(e,t,n,r))),this._register(eb(ot.diffEditorOriginalWritable,this._contextKeyService,e=>this._options.originalEditable.read(e))),this._register(eb(ot.diffEditorModifiedWritable,this._contextKeyService,e=>!this._options.readOnly.read(e))),this._register(eb(ot.diffEditorOriginalUri,this._contextKeyService,e=>this._diffModel.read(e)?.model.original.uri.toString()??``)),this._register(eb(ot.diffEditorModifiedUri,this._contextKeyService,e=>this._diffModel.read(e)?.model.modified.uri.toString()??``)),this._overviewRulerPart=Fc(this,e=>this._options.renderOverviewRuler.read(e)?this._instantiationService.createInstance($y(Lx),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(e=>e.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store);let l={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map((e,t)=>e-(this._overviewRulerPart.read(t)?.width??0))};this._sashLayout=new Vx(this._options,l),this._sash=Fc(this,e=>{let t=this._options.renderSideBySide.read(e);return this.elements.root.classList.toggle(`side-by-side`,t),t?new Hx(this.elements.root,l,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,()=>this._sashLayout.resetSash()):void 0}).recomputeInitiallyAndOnChange(this._store);let u=Fc(this,e=>this._instantiationService.createInstance($y(_S),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);Fc(this,e=>this._instantiationService.createInstance($y(Ax),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);let d=new Set,f=new Set,p=!1,m=Fc(this,e=>this._instantiationService.createInstance($y(Sx),x(this._domElement),this._editors,this._diffModel,this._options,this,()=>p||u.read(void 0).isUpdatingHiddenAreas,d,f)).recomputeInitiallyAndOnChange(this._store),h=V(this,e=>{let t=m.read(e).viewZones.read(e).orig,n=u.read(e).viewZones.read(e).origViewZones;return t.concat(n)}),g=V(this,e=>{let t=m.read(e).viewZones.read(e).mod,n=u.read(e).viewZones.read(e).modViewZones;return t.concat(n)});this._register(fb(this._editors.original,h,e=>{p=e},d));let _;this._register(fb(this._editors.modified,g,e=>{p=e,p?_=jc.capture(this._editors.modified):(_?.restore(this._editors.modified),_=void 0)},f)),this._accessibleDiffViewer=Fc(this,e=>this._instantiationService.createInstance($y(wb),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(e,t)=>this._accessibleDiffViewerShouldBeVisible.set(e,t),this._options.onlyShowAccessibleDiffViewer.map(e=>!e),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((e,t)=>e?.diff.read(t)?.mappings.map(e=>e.lineRangeMapping)),new Fb(this._editors))).recomputeInitiallyAndOnChange(this._store);let v=this._accessibleDiffViewerVisible.map(e=>e?`hidden`:`visible`);this._register(db(this.elements.modified,{visibility:v})),this._register(db(this.elements.original,{visibility:v})),this._createDiffEditorContributions(),this._codeEditorService.addDiffEditor(this),this._register(k(()=>{this._codeEditorService.removeDiffEditor(this)})),this._gutter=Fc(this,e=>this._options.shouldRenderGutterMenu.read(e)?this._instantiationService.createInstance($y(dS),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0),this._register(Ei(this._layoutInfo)),Fc(this,e=>new($y(Dx))(this.elements.root,this._diffModel,this._layoutInfo.map(e=>e.originalEditor),this._layoutInfo.map(e=>e.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,e=>{this._movedBlocksLinesPart.set(e,void 0)}),this._register(W.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,e=>this._handleCursorPositionChange(e,!0))),this._register(W.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,e=>this._handleCursorPositionChange(e,!1)));let y=this._diffModel.map(this,(e,t)=>{if(e)return e.diff.read(t)===void 0&&!e.isDiffUpToDate.read(t)});this._register(Ta((e,t)=>{if(y.read(e)===!0){let e=this._editorProgressService.show(!0,1e3);t.add(k(()=>e.done()))}})),this._register(Ta((e,t)=>{t.add(new($y(xS))(this._editors,this._diffModel,this._options,this))})),this._register(Ta((e,t)=>{let n=this._diffModel.read(e);if(n)for(let e of[n.model.original,n.model.modified])t.add(e.onWillDispose(e=>{Oc(new _i(`TextModel got disposed before DiffEditorWidget model got reset`)),this.setModel(null)}))})),this._register(j(e=>{this._options.setModel(this._diffModel.read(e))}))}_createInnerEditor(e,t,n,r){return e.createInstance(o,t,n,r)}_createDiffEditorContributions(){let e=Qs.getDiffEditorContributions();for(let t of e)try{this._register(this._instantiationService.createInstance(t.ctor,this))}catch(e){Oc(e)}}get _targetEditor(){return this._editors.modified}getEditorType(){return Ti.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){return{original:this._editors.original.saveViewState(),modified:this._editors.modified.saveViewState(),modelState:this._diffModel.get()?.serializeState()}}restoreViewState(e){if(e&&e.original&&e.modified){let t=e;this._editors.original.restoreViewState(t.original),this._editors.modified.restoreViewState(t.modified),t.modelState&&this._diffModel.get()?.restoreSerializedState(t.modelState)}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(ax,e,this._options)}getModel(){return this._diffModel.get()?.model??null}setModel(e){let t=e?`model`in e?gb.create(e).createNewRef(this):gb.create(this.createViewModel(e),this):null;this.setDiffModel(t)}setDiffModel(e,t){let n=this._diffModel.get();!e&&n&&this._accessibleDiffViewer.get().close(),this._diffModel.get()!==e?.object&&ic(t,t=>{let n=e?.object;Ii.batchEventsGlobally(t,()=>{this._editors.original.setModel(n?n.model.original:null),this._editors.modified.setModel(n?n.model.modified:null)});let r=this._diffModelSrc.get()?.createNewRef(this);this._diffModelSrc.set(e?.createNewRef(this),t),setTimeout(()=>{r?.dispose()},0)})}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){let e=this._diffModel.get()?.diff.get();return e?ES(e):null}getDiffComputationResult(){let e=this._diffModel.get()?.diff.get();return e?{changes:this.getLineChanges(),changes2:e.mappings.map(e=>e.lineRangeMapping),identical:e.identical,quitEarly:e.quitEarly}:null}revert(e){let t=this._diffModel.get();!t||!t.isDiffUpToDate.get()||(this._editors.modified.pushUndoStop(),this._editors.modified.executeEdits(`diffEditor`,[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}]),this._editors.modified.pushUndoStop())}revertRangeMappings(e){let t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;let n=e.map(e=>({range:e.modifiedRange,text:t.model.original.getValueInRange(e.originalRange)}));this._editors.modified.pushUndoStop(),this._editors.modified.executeEdits(`diffEditor`,n),this._editors.modified.pushUndoStop()}revertFocusedRangeMappings(){let e=this._diffModel.get();if(!e||!e.isDiffUpToDate.get())return;let t=this._diffModel.get()?.diff.get()?.mappings;if(!t||t.length===0)return;let n=this._editors.modified;if(!n.hasTextFocus())return;let r=n.getPosition().lineNumber,i=n.getSelection(),a=U.fromRange(i||new S(r,0,r,0)),o=t.filter(e=>e.lineRangeMapping.modified.intersect(a));n.pushUndoStop(),n.executeEdits(`diffEditor`,o.map(t=>({range:t.lineRangeMapping.modified.toExclusiveRange(),text:e.model.original.getValueInRange(t.lineRangeMapping.original.toExclusiveRange())}))),n.pushUndoStop()}_goTo(e){this._editors.modified.setPosition(new Dn(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){let t=this._diffModel.get()?.diff.get()?.mappings;if(!t||t.length===0)return;let n=this._editors.modified.getPosition().lineNumber,r;r=e===`next`?this._editors.modified.getModel().getLineCount()===n?t[0]:t.find(e=>e.lineRangeMapping.modified.startLineNumber>n)??t[0]:Fa(t,e=>e.lineRangeMapping.modified.startLineNumber<n)??t[t.length-1],this._goTo(r),r.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(Cs.diffLineDeleted,{source:`diffEditor.goToDiff`}):r.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(Cs.diffLineInserted,{source:`diffEditor.goToDiff`}):r&&this._accessibilitySignalService.playSignal(Cs.diffLineModified,{source:`diffEditor.goToDiff`})}revealFirstDiff(){let e=this._diffModel.get();e&&this.waitForDiff().then(()=>{let t=e.diff.get()?.mappings;!t||t.length===0||this._goTo(t[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){let e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){let e=this._editors.modified.hasWidgetFocus(),t=e?this._editors.modified:this._editors.original,n=e?this._editors.original:this._editors.modified,r,i=t.getSelection();if(i){let t=this._diffModel.get()?.diff.get()?.mappings.map(t=>e?t.lineRangeMapping.flip():t.lineRangeMapping);if(t){let e=pb(i.getStartPosition(),t),n=pb(i.getEndPosition(),t);r=S.plusRange(e,n)}}return{destination:n,destinationSelection:r}}switchSide(){let{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){let e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){let e=this._diffModel.get()?.unchangedRegions.get();e&&Ao(t=>{for(let n of e)n.collapseAll(t)})}showAllUnchangedRegions(){let e=this._diffModel.get()?.unchangedRegions.get();e&&Ao(t=>{for(let n of e)n.showAll(t)})}_handleCursorPositionChange(e,t){if(e?.reason===3){let n=this._diffModel.get()?.diff.get()?.mappings.find(n=>t?n.lineRangeMapping.modified.contains(e.position.lineNumber):n.lineRangeMapping.original.contains(e.position.lineNumber));n?.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(Cs.diffLineDeleted,{source:`diffEditor.cursorPositionChanged`}):n?.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(Cs.diffLineInserted,{source:`diffEditor.cursorPositionChanged`}):n&&this._accessibilitySignalService.playSignal(Cs.diffLineModified,{source:`diffEditor.cursorPositionChanged`})}}};TS=CS([wS(3,D),wS(4,w),wS(5,$s),wS(6,ac),wS(7,ir)],TS);function ES(e){return e.mappings.map(e=>{let t=e.lineRangeMapping,n,r,i,a,o=t.innerChanges;return t.original.isEmpty?(n=t.original.startLineNumber-1,r=0,o=void 0):(n=t.original.startLineNumber,r=t.original.endLineNumberExclusive-1),t.modified.isEmpty?(i=t.modified.startLineNumber-1,a=0,o=void 0):(i=t.modified.startLineNumber,a=t.modified.endLineNumberExclusive-1),{originalStartLineNumber:n,originalEndLineNumber:r,modifiedStartLineNumber:i,modifiedEndLineNumber:a,charChanges:o?.map(e=>({originalStartLineNumber:e.originalRange.startLineNumber,originalStartColumn:e.originalRange.startColumn,originalEndLineNumber:e.originalRange.endLineNumber,originalEndColumn:e.originalRange.endColumn,modifiedStartLineNumber:e.modifiedRange.startLineNumber,modifiedStartColumn:e.modifiedRange.startColumn,modifiedEndLineNumber:e.modifiedRange.endLineNumber,modifiedEndColumn:e.modifiedRange.endColumn}))}})}var DS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},OS=function(e,t){return function(n,r){t(n,r,e)}},kS,AS=class{static{kS=this}static{this._ttpTokenizer=tt(`tokenizeToString`,{createHTML(e){return e}})}constructor(e,t){this._configurationService=e,this._languageService=t}async renderCodeBlock(e,t,n){let r=xa(n.context)?n.context:void 0,i;e?i=this._languageService.getLanguageIdByLanguageName(e):r&&(i=r.getModel()?.getLanguageId()),i||=ke;let a=await Ts(this._languageService,t,i),o=kS._ttpTokenizer?kS._ttpTokenizer.createHTML(a)??a:a,s=document.createElement(`span`);s.innerHTML=o;let c=s.querySelector(`.monaco-tokenized-source`);return gn(c)?(tr(c,this.getFontInfo(r)),s):document.createElement(`span`)}getFontInfo(e){return e?e.getOption(59):Jo({fontFamily:this._configurationService.getValue(`editor`).fontFamily},1)}};AS=kS=DS([OS(0,C),OS(1,Xe)],AS);var jS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},$=function(e,t){return function(n,r){t(n,r,e)}},MS=0,NS=!1;function PS(e){if(!e){if(NS)return;NS=!0}In(e||ba.document.body)}var FS=class extends o{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){let h={...t};h.ariaLabel=h.ariaLabel||gr.editorViewAccessibleLabel,super(e,h,{},n,r,i,a,c,l,u,d,f,m),s instanceof Fy?this._standaloneKeybindingService=s:this._standaloneKeybindingService=null,PS(h.ariaContainerElement),Kr((e,t)=>n.createInstance($n,e,{instantHover:t},{})),le(o),p.setDefaultCodeBlockRenderer(n.createInstance(AS))}addCommand(e,t,n){if(!this._standaloneKeybindingService)return console.warn(`Cannot add command because the editor is configured with an unrecognized KeybindingService`),null;let r=`DYNAMIC_`+ ++MS,i=T.deserialize(n);return this._standaloneKeybindingService.addDynamicKeybinding(r,e,t,i),r}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if(typeof e.id!=`string`||typeof e.label!=`string`||typeof e.run!=`function`)throw Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn(`Cannot add keybinding because the editor is configured with an unrecognized KeybindingService`),B.None;let t=e.id,n=e.label,r=T.and(T.equals(`editorId`,this.getId()),T.deserialize(e.precondition)),i=e.keybindings,a=T.and(r,T.deserialize(e.keybindingContext)),o=e.contextMenuGroupId||null,s=e.contextMenuOrder||0,c=(t,...n)=>Promise.resolve(e.run(this,...n)),l=new N,u=this.getId()+`:`+t;if(l.add(Et.registerCommand(u,c)),o){let e={command:{id:u,title:n},when:r,group:o,order:s};l.add(Ir.appendMenuItem(ye.EditorContext,e))}if(Array.isArray(i))for(let e of i)l.add(this._standaloneKeybindingService.addDynamicKeybinding(u,e,c,a));let d=new pl(u,n,n,void 0,r,(...t)=>Promise.resolve(e.run(this,...t)),this._contextKeyService);return this._actions.set(t,d),l.add(k(()=>{this._actions.delete(t)})),l}_triggerCommand(e,t){if(this._codeEditorService instanceof kd)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};FS=jS([$(2,w),$(3,$s),$(4,$t),$(5,D),$(6,Vi),$(7,rl),$(8,se),$(9,Be),$(10,Tn),$(11,Pr),$(12,O),$(13,Nr),$(14,Tr)],FS);var IS=class extends FS{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v={...t};Uy(u,v,!1);let y=c.registerEditorContainer(e);typeof v.theme==`string`&&c.setTheme(v.theme),v.autoDetectHighContrast!==void 0&&c.setAutoDetectHighContrast(!!v.autoDetectHighContrast);let ee=v.model;delete v.model,super(e,v,n,r,i,a,o,s,c,l,d,m,h,g,_),this._configurationService=u,this._standaloneThemeService=c,this._register(y);let b;if(ee===void 0){let e=p.getLanguageIdByMimeType(v.language)||v.language||`plaintext`;b=RS(f,p,v.value||``,e,void 0),this._ownsModel=!0}else b=ee,this._ownsModel=!1;if(this._attachModel(b),b){let e={oldModelUrl:null,newModelUrl:b.uri};this._onDidChangeModel.fire(e)}}updateOptions(e){Uy(this._configurationService,e,!1),typeof e.theme==`string`&&this._standaloneThemeService.setTheme(e.theme),e.autoDetectHighContrast!==void 0&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};IS=jS([$(2,w),$(3,$s),$(4,$t),$(5,D),$(6,Vi),$(7,rl),$(8,e_),$(9,Be),$(10,C),$(11,Tn),$(12,Ut),$(13,Xe),$(14,Pr),$(15,O),$(16,Nr),$(17,Tr)],IS);var LS=class extends TS{constructor(e,t,n,r,i,a,o,s,c,l,u,d){let f={...t};Uy(s,f,!0);let p=a.registerEditorContainer(e);typeof f.theme==`string`&&a.setTheme(f.theme),f.autoDetectHighContrast!==void 0&&a.setAutoDetectHighContrast(!!f.autoDetectHighContrast),super(e,f,{},r,n,i,d,l),this._configurationService=s,this._standaloneThemeService=a,this._register(p)}updateOptions(e){Uy(this._configurationService,e,!0),typeof e.theme==`string`&&this._standaloneThemeService.setTheme(e.theme),e.autoDetectHighContrast!==void 0&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_createInnerEditor(e,t,n){return e.createInstance(FS,t,n)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,n){return this.getModifiedEditor().addCommand(e,t,n)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};LS=jS([$(2,w),$(3,D),$(4,$s),$(5,e_),$(6,Be),$(7,C),$(8,ji),$(9,ir),$(10,Ec),$(11,ac)],LS);function RS(e,t,n,r,i){if(n||=``,!r){let r=n.indexOf(`
|
|
422
|
+
`),a=n;return r!==-1&&(a=n.substring(0,r)),zS(e,n,t.createByFilepathOrFirstLine(i||null,a),i)}return zS(e,n,t.createById(r),i)}function zS(e,t,n,r){return e.createModel(t,n,r)}fe(`multiDiffEditor.headerBackground`,{dark:`#262626`,light:`tab.inactiveBackground`,hcDark:`tab.inactiveBackground`,hcLight:`tab.inactiveBackground`},L(158,`The background color of the diff editor's header`)),fe(`multiDiffEditor.background`,za,L(159,`The background color of the multi file diff editor`)),fe(`multiDiffEditor.border`,{dark:`sideBarSectionHeader.border`,light:`#cccccc`,hcDark:`sideBarSectionHeader.border`,hcLight:`#cccccc`},L(160,`The border color of the multi file diff editor`));var BS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},VS=function(e,t){return function(n,r){t(n,r,e)}},HS=class{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}},US=class extends B{constructor(e,t,n,r,i){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=n,this._instantiationService=r,this._viewModel=I(this,void 0),this._collapsed=V(this,e=>this._viewModel.read(e)?.collapsed.read(e)),this._editorContentHeight=I(this,500),this.contentHeight=V(this,e=>(this._collapsed.read(e)?0:this._editorContentHeight.read(e))+this._outerEditorHeight),this._modifiedContentWidth=I(this,0),this._modifiedWidth=I(this,0),this._originalContentWidth=I(this,0),this._originalWidth=I(this,0),this.maxScroll=V(this,e=>{let t=this._modifiedContentWidth.read(e)-this._modifiedWidth.read(e),n=this._originalContentWidth.read(e)-this._originalWidth.read(e);return t>n?{maxScroll:t,width:this._modifiedWidth.read(e)}:{maxScroll:n,width:this._originalWidth.read(e)}}),this._elements=K(`div.multiDiffEntry`,[K(`div.header@header`,[K(`div.header-content`,[K(`div.collapse-button@collapseButton`),K(`div.file-path`,[K(`div.title.modified.show-file-icons@primaryPath`,[]),K(`div.status.deleted@status`,[`R`]),K(`div.title.original.show-file-icons@secondaryPath`,[])]),K(`div.actions@actions`)])]),K(`div.editorParent`,[K(`div.editorContainer@editor`)])]),this.editor=this._register(this._instantiationService.createInstance(TS,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode,fixedOverflowWidgets:!0},{})),this.isModifedFocused=Mx(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=Mx(this.editor.getOriginalEditor()).isFocused,this.isFocused=V(this,e=>this.isModifedFocused.read(e)||this.isOriginalFocused.read(e)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new N),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;let a=this._register(new to(this._elements.collapseButton,{}));this._register(j(e=>{a.element.className=``,a.icon=this._collapsed.read(e)?q.chevronRight:q.chevronDown})),this._register(a.onDidClick(()=>{this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._workbenchUIElementFactory.headerClickToCollapse&&(this._elements.header.tabIndex=0,this._elements.header.setAttribute(`role`,`button`),this._register(z(this._elements.header,H.CLICK,e=>{let t=e.target;t instanceof Element&&(t.closest(`.actions`)||t.closest(`.collapse-button`)||this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0))})),this._register(z(this._elements.header,H.KEY_DOWN,e=>{if(e.key===`Enter`||e.key===` `){let t=e.target;if(t instanceof Element&&(t.closest(`.actions`)||t.closest(`.collapse-button`)))return;e.preventDefault(),this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)}}))),this._register(j(e=>{let t=this._collapsed.read(e);this._elements.editor.style.display=t?`none`:`block`,this._workbenchUIElementFactory.headerClickToCollapse&&this._elements.header.setAttribute(`aria-expanded`,String(!t))})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(e=>{let t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(e=>{let t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)})),this._register(this.editor.onDidContentSizeChange(e=>{Ss(t=>{this._editorContentHeight.set(e.contentHeight,t),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),t),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),t)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(e=>{if(this._isSettingScrollTop||!e.scrollTopChanged||!this._data)return;let t=e.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(t)})),this._register(j(e=>{let t=this._viewModel.read(e)?.isActive.read(e);this._elements.root.classList.toggle(`active`,t)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(i.createScoped(this._elements.actions));let o=this._register(this._instantiationService.createChild(new Wa([D,this._contextKeyService])));this._register(o.createInstance(nS,this._elements.actions,ye.MultiDiffEditorFileToolbar,{actionRunner:this._register(new iS(()=>this._viewModel.get()?.modifiedUri??this._viewModel.get()?.originalUri)),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:e=>e.startsWith(`navigation`)},actionViewItemProvider:(e,t)=>Ds(o,e,t)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){this._data=e;function t(e){return{...e,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:`hidden`,horizontal:`hidden`,handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(!e){Ss(e=>{this._viewModel.set(void 0,e),this.editor.setDiffModel(null,e),this._dataStore.clear()});return}let n=e.viewModel.documentDiffItem;if(Ss(r=>{this._resourceLabel?.setUri(e.viewModel.modifiedUri??e.viewModel.originalUri,{strikethrough:e.viewModel.modifiedUri===void 0});let i=!1,a=!1,o=!1,s=``;e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(s=`R`,i=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(s=`A`,o=!0):(s=`D`,a=!0),this._elements.status.classList.toggle(`renamed`,i),this._elements.status.classList.toggle(`deleted`,a),this._elements.status.classList.toggle(`added`,o),this._elements.status.innerText=s,this._resourceLabel2?.setUri(i?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,r),this.editor.setDiffModel(e.viewModel.diffEditorViewModelRef,r),this.editor.updateOptions(t(n.options??{}))}),n.onOptionsDidChange&&this._dataStore.add(n.onOptionsDidChange(()=>{this.editor.updateOptions(t(n.options??{}))})),e.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,e=>{e||this.setData(void 0)}),e.viewModel.documentDiffItem.contextKeys)for(let[t,n]of Object.entries(e.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(t,n)}render(e,t,n,r){this._elements.root.style.visibility=`visible`,this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position=`absolute`;let i=e.length-this._headerHeight,a=Math.max(0,Math.min(r.start-e.start,i));this._elements.header.style.transform=`translateY(${a}px)`,Ss(n=>{this.editor.layout({width:t-16-2,height:e.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=n,this.editor.getOriginalEditor().setScrollTop(n)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle(`shadow`,a>0||n>0),this._elements.header.classList.toggle(`collapsed`,a===i)}hide(){this._elements.root.style.top=`-100000px`,this._elements.root.style.visibility=`hidden`}};US=BS([VS(3,w),VS(4,D)],US);var WS=class{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){let t;if(this._unused.size===0)t=this._create(e),this._itemData.set(t,e);else{let n=[...this._unused.values()];t=n.find(t=>this._itemData.get(t).getId()===e.getId())??n[0],this._unused.delete(t),this._itemData.set(t,e),t.setData(e)}return this._used.add(t),{object:t,dispose:()=>{this._used.delete(t),this._unused.size>5?t.dispose():this._unused.add(t)}}}dispose(){for(let e of this._used)e.dispose();for(let e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}},GS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},KS=function(e,t){return function(n,r){t(n,r,e)}},qS=class extends B{constructor(e,t,n,r,i,a){super(),this._element=e,this._dimension=t,this._viewModel=n,this._workbenchUIElementFactory=r,this._parentContextKeyService=i,this._parentInstantiationService=a,this._scrollableElements=K(`div.scrollContent`,[K(`div@content`,{style:{overflow:`hidden`}}),K(`div.monaco-editor@overflowWidgetsDomNode`,{})]),this._scrollable=this._register(new bl({forceIntegerValues:!1,scheduleAtNextAnimationFrame:e=>dt(x(this._element),e),smoothScrollDuration:100})),this._scrollableElement=this._register(new Uc(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=K(`div.monaco-component.multiDiffEditor`,{},[K(`div`,{},[this._scrollableElement.getDomNode()]),K(`div.placeholder@placeholder`,{},[K(`div`)])]),this._sizeObserver=this._register(new ab(this._element,void 0)),this._objectPool=this._register(new WS(e=>{let t=this._instantiationService.createInstance(US,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return t.setData(e),t})),this.scrollTop=Ii(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=Ii(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=V(this,e=>{let t=this._viewModel.read(e);if(!t)return{items:[],getItem:e=>{throw new _i}};let n=t.items.read(e),r=new Map;return{items:n.map(t=>{let n=e.store.add(new YS(t,this._objectPool,this.scrollLeft,e=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+e})})),i=this._lastDocStates?.[n.getKey()];return i&&Ao(e=>{n.setViewState(i,e)}),r.set(t,n),n}),getItem:e=>r.get(e)}}),this._viewItems=this._viewItemsInfo.map(this,e=>e.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(e,t)=>e.reduce((e,n)=>e+n.contentHeight.read(t)+this._spaceBetweenPx,0)),this.activeControl=V(this,e=>{let t=this._viewModel.read(e)?.activeDiffItem.read(e);if(t)return this._viewItemsInfo.read(e).getItem(t).template.read(e)?.editor}),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new Wa([D,this._contextKeyService]))),this._contextKeyService.createKey(ot.inMultiDiffEditor.key,!0),this._lastDocStates={},this._register(Ta((e,t)=>{let n=this._viewModel.read(e);if(n&&n.contextKeys)for(let[e,r]of Object.entries(n.contextKeys)){let n=this._contextKeyService.createKey(e,void 0);n.set(r),t.add(k(()=>n.reset()))}}));let o=this._parentContextKeyService.createKey(ot.multiDiffEditorAllCollapsed.key,!1);this._register(j(e=>{let t=this._viewModel.read(e);if(t){let n=t.items.read(e).every(t=>t.collapsed.read(e));o.set(n)}})),this._register(j(e=>{let t=this._dimension.read(e);this._sizeObserver.observe(t)}));let s=V(e=>{if(this._viewItems.read(e).length>0)return;let t=this._viewModel.read(e);return!t||t.isLoading.read(e)?L(161,`Loading...`):L(162,`No Changed Files`)});this._register(j(e=>{let t=s.read(e);this._elements.placeholder.innerText=t??``,this._elements.placeholder.classList.toggle(`visible`,!!t)})),this._scrollableElements.content.style.position=`relative`,this._register(j(e=>{let t=this._sizeObserver.height.read(e);this._scrollableElements.root.style.height=`${t}px`;let n=this._totalHeight.read(e);this._scrollableElements.content.style.height=`${n}px`;let r=this._sizeObserver.width.read(e),i=r,a=Lc(this._viewItems.read(e),Oa(t=>t.maxScroll.read(e).maxScroll,uo));a&&(i=r+a.maxScroll.read(e).maxScroll),this._scrollableElement.setScrollDimensions({width:r,height:t,scrollHeight:n,scrollWidth:i})})),e.replaceChildren(this._elements.root),this._register(k(()=>{e.replaceChildren()})),this._register(j(e=>{let t=this._viewModel.read(e);if(t&&!t.isLoading.read(e)){if(t.items.read(e).length===0||t.activeDiffItem.read(e))return;this.goToNextChange()}})),this._register(this._register(j(e=>{Ss(t=>{this.render(e)})})))}reveal(e,t){let n=this._viewItems.get(),r=n.findIndex(t=>t.viewModel.originalUri?.toString()===e.original?.toString()&&t.viewModel.modifiedUri?.toString()===e.modified?.toString());if(r===-1)throw new _i(`Resource not found in diff editor`);let i=n[r];this._viewModel.get().activeDiffItem.setCache(i.viewModel,void 0);let a=0;for(let e=0;e<r;e++)a+=n[e].contentHeight.get()+this._spaceBetweenPx;this._scrollableElement.setScrollPosition({scrollTop:a});let o=i.template.get()?.editor,s=`original`in e?o?.getOriginalEditor():o?.getModifiedEditor();s&&t?.range&&(s.revealRangeInCenter(t.range),JS(s,t.range))}goToNextChange(){this._navigateToChange(`next`)}_navigateToChange(e){let t=this._viewItems.get();if(t.length===0)return;let n=this._viewModel.get()?.activeDiffItem.get(),r=n?t.findIndex(e=>e.viewModel===n):-1;if(r===-1){this._goToFile(0,`first`);return}let i=t[r];i.viewModel.collapsed.get()&&i.viewModel.collapsed.set(!1,void 0);let a=i.template.get()?.editor;if(a?.getDiffComputationResult()?.changes2?.length){let t=a.getModifiedEditor().getPosition()?.lineNumber||1,n=a.getDiffComputationResult().changes2;if(e===`next`?n.some(e=>e.modified.startLineNumber>t):n.some(e=>e.modified.endLineNumberExclusive<=t)){a.goToDiff(e);return}}let o=(r+(e===`next`?1:-1)+t.length)%t.length;this._goToFile(o,e===`next`?`first`:`last`)}_goToFile(e,t){let n=this._viewItems.get()[e];n.viewModel.collapsed.get()&&n.viewModel.collapsed.set(!1,void 0),this.reveal({original:n.viewModel.originalUri,modified:n.viewModel.modifiedUri});let r=n.template.get()?.editor;if(r?.getDiffComputationResult()?.changes2?.length)if(t===`first`)r.revealFirstDiff();else{let e=r.getDiffComputationResult().changes2.at(-1),t=r.getModifiedEditor();t.setPosition({lineNumber:e.modified.startLineNumber,column:1}),t.revealLineInCenter(e.modified.startLineNumber)}r?.focus()}render(e){let t=this.scrollTop.read(e),n=0,r=0,i=0,a=this._sizeObserver.height.read(e),o=Ws.ofStartAndLength(t,a),s=this._sizeObserver.width.read(e);for(let c of this._viewItems.read(e)){let l=c.contentHeight.read(e),u=Math.min(l,a),d=Ws.ofStartAndLength(r,u),f=Ws.ofStartAndLength(i,l);if(f.isBefore(o))n-=l-u,c.hide();else if(f.isAfter(o))c.hide();else{let e=Math.max(0,Math.min(o.start-f.start,l-u));n-=e;let r=Ws.ofStartAndLength(t+n,a);c.render(d,e,s,r)}r+=u+this._spaceBetweenPx,i+=l+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(t+n)}px)`}};qS=GS([KS(4,D),KS(5,w)],qS);function JS(e,t){let n=e.getModel(),r=e.createDecorationsCollection([{range:t,options:{description:`symbol-navigate-action-highlight`,className:`symbolHighlight`}}]);setTimeout(()=>{e.getModel()===n&&r.clear()},350)}var YS=class extends B{constructor(e,t,r,i){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=r,this._deltaScrollVertical=i,this._templateRef=this._register(n(this,void 0)),this.contentHeight=V(this,e=>this._templateRef.read(e)?.object.contentHeight?.read(e)??this.viewModel.lastTemplateData.read(e).contentHeight),this.maxScroll=V(this,e=>this._templateRef.read(e)?.object.maxScroll.read(e)??{maxScroll:0,scrollWidth:0}),this.template=V(this,e=>this._templateRef.read(e)?.object),this._isHidden=I(this,!1),this._isFocused=V(this,e=>this.template.read(e)?.isFocused.read(e)??!1),this.viewModel.setIsFocused(this._isFocused,void 0),this._register(j(e=>{let t=this._scrollLeft.read(e);this._templateRef.read(e)?.object.setScrollLeft(t)})),this._register(j(e=>{let t=this._templateRef.read(e);t&&this._isHidden.read(e)&&(t.object.isFocused.read(e)||this._clear())}))}dispose(){this._clear(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.documentDiffItem.modified?.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);let n=this.viewModel.lastTemplateData.get(),r=e.selections?.map(Ie.liftSelection);this.viewModel.lastTemplateData.set({...n,selections:r},t);let i=this._templateRef.get();i&&r&&i.object.editor.setSelections(r)}_updateTemplateData(e){let t=this._templateRef.get();t&&this.viewModel.lastTemplateData.set({contentHeight:t.object.contentHeight.get(),selections:t.object.editor.getSelections()??void 0},e)}_clear(){let e=this._templateRef.get();e&&Ao(t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)})}hide(){this._isHidden.set(!0,void 0)}render(e,t,n,r){this._isHidden.set(!1,void 0);let i=this._templateRef.get();if(!i){i=this._objectPool.getUnusedObj(new HS(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(i,void 0);let e=this.viewModel.lastTemplateData.get().selections;e&&i.object.editor.setSelections(e)}i.object.render(e,n,t,r)}},XS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ZS=function(e,t){return function(n,r){t(n,r,e)}},QS=class extends B{constructor(e,t,n){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=n,this._dimension=I(this,void 0),this._viewModel=I(this,void 0),this._widgetImpl=V(this,e=>e.store.add(this._instantiationService.createInstance($y(qS),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory))),this._register(Ei(this._widgetImpl))}};QS=XS([ZS(2,w)],QS);function $S(e,t,n){return Q.initialize(n||{}).createInstance(IS,e,t)}function eC(e){return Q.get($s).onCodeEditorAdd(t=>{e(t)})}function tC(e){return Q.get($s).onDiffEditorAdd(t=>{e(t)})}function nC(){return Q.get($s).listCodeEditors()}function rC(){return Q.get($s).listDiffEditors()}function iC(e,t,n){return Q.initialize(n||{}).createInstance(LS,e,t)}function aC(e,t){return new QS(e,{},Q.initialize(t||{}))}function oC(e){if(typeof e.id!=`string`||typeof e.run!=`function`)throw Error("Invalid command descriptor, `id` and `run` are required properties!");return Et.registerCommand(e.id,e.run)}function sC(e){if(typeof e.id!=`string`||typeof e.label!=`string`||typeof e.run!=`function`)throw Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");let t=T.deserialize(e.precondition),n=(n,...r)=>Ht.runEditorCommand(n,r,t,(t,n,r)=>Promise.resolve(e.run(n,...r))),r=new N;if(r.add(Et.registerCommand(e.id,n)),e.contextMenuGroupId){let n={command:{id:e.id,title:e.label},when:t,group:e.contextMenuGroupId,order:e.contextMenuOrder||0};r.add(Ir.appendMenuItem(ye.EditorContext,n))}if(Array.isArray(e.keybindings)){let n=Q.get(rl);if(!(n instanceof Fy))console.warn(`Cannot add keybinding because the editor is configured with an unrecognized KeybindingService`);else{let i=T.and(t,T.deserialize(e.keybindingContext));r.add(n.addDynamicKeybindings(e.keybindings.map(t=>({keybinding:t,command:e.id,when:i}))))}}return r}function cC(e){return lC([e])}function lC(e){let t=Q.get(rl);return t instanceof Fy?t.addDynamicKeybindings(e.map(e=>({keybinding:e.keybinding,command:e.command,commandArgs:e.commandArgs,when:T.deserialize(e.when)}))):(console.warn(`Cannot add keybinding because the editor is configured with an unrecognized KeybindingService`),B.None)}function uC(e,t,n){let r=Q.get(Xe),i=r.getLanguageIdByMimeType(t)||t;return RS(Q.get(Ut),r,e,i,n)}function dC(e,t){let n=Q.get(Xe),r=n.getLanguageIdByMimeType(t)||t||`plaintext`;e.setLanguage(n.createById(r))}function fC(e,t,n){e&&Q.get(ng).changeOne(t,e.uri,n)}function pC(e){Q.get(ng).changeAll(e,[])}function mC(e){return Q.get(ng).read(e)}function hC(e){return Q.get(ng).onMarkerChanged(e)}function gC(e){return Q.get(Ut).getModel(e)}function _C(){return Q.get(Ut).getModels()}function vC(e){return Q.get(Ut).onModelAdded(e)}function yC(e){return Q.get(Ut).onModelRemoved(e)}function bC(e){return Q.get(Ut).onModelLanguageChanged(t=>{e({model:t.model,oldLanguage:t.oldLanguageId})})}function xC(e){return zl(Q.get(Ut),Q.get(Ur),e)}function SC(e,t){let n=Q.get(Xe),r=Q.get(e_);return pu.colorizeElement(r,n,e,t).then(()=>{r.registerEditorContainer(e)})}function CC(e,t,n){let r=Q.get(Xe);return Q.get(e_).registerEditorContainer(ba.document.body),pu.colorize(r,e,t,n)}function wC(e,t,n=4){return Q.get(e_).registerEditorContainer(ba.document.body),pu.colorizeModelLine(e,t,n)}function TC(e){return vr.get(e)||{getInitialState:()=>Lt,tokenize:(t,n,r)=>Ks(e,r)}}function EC(e,t){vr.getOrCreate(t);let n=TC(t),r=$i(e),i=[],a=n.getInitialState();for(let e=0,t=r.length;e<t;e++){let t=r[e],o=n.tokenize(t,!0,a);i[e]=o.tokens,a=o.endState}return i}function DC(e,t){Q.get(e_).defineTheme(e,t)}function OC(e){Q.get(e_).setTheme(e)}function kC(){Hi.clearAllFontInfos()}function AC(e,t){return Et.registerCommand({id:e,handler:t})}function jC(e){return Q.get(Oe).registerOpener({async open(t){return typeof t==`string`&&(t=Xo.parse(t)),e.open(t)}})}function MC(e){return Q.get($s).registerCodeEditorOpenHandler(async(t,n,r)=>{if(!n)return null;let i=t.options?.selection,a;return i&&typeof i.endLineNumber==`number`&&typeof i.endColumn==`number`?a=i:i&&(a={lineNumber:i.startLineNumber,column:i.startColumn}),await e.openCodeEditor(n,t.resource,a)?n:null})}function NC(){return{create:$S,getEditors:nC,getDiffEditors:rC,onDidCreateEditor:eC,onDidCreateDiffEditor:tC,createDiffEditor:iC,addCommand:oC,addEditorAction:sC,addKeybindingRule:cC,addKeybindingRules:lC,createModel:uC,setModelLanguage:dC,setModelMarkers:fC,getModelMarkers:mC,removeAllMarkers:pC,onDidChangeMarkers:hC,getModels:_C,getModel:gC,onDidCreateModel:vC,onWillDisposeModel:yC,onDidChangeModelLanguage:bC,createWebWorker:xC,colorizeElement:SC,colorize:CC,colorizeModelLine:wC,tokenize:EC,defineTheme:DC,setTheme:OC,remeasureFonts:kC,registerCommand:AC,registerLinkOpener:jC,registerEditorOpener:MC,AccessibilitySupport:Or,ContentWidgetPositionPreference:Fn,CursorChangeReason:ns,DefaultEndOfLine:b,EditorAutoIndentStrategy:pn,EditorOption:Cn,EndOfLinePreference:Kn,EndOfLineSequence:et,MinimapPosition:pi,MinimapSectionHeaderStyle:lt,MouseTargetType:Gt,OverlayWidgetPositionPreference:Pi,OverviewRulerLane:Ci,GlyphMarginLane:Ot,RenderLineNumbersType:c,RenderMinimap:Ba,ScrollbarVisibility:bs,ScrollType:wc,TextEditorCursorBlinkingStyle:Ca,TextEditorCursorStyle:is,TrackedRangeStickiness:Nc,WrappingIndent:Na,InjectedTextCursorStops:Rl,PositionAffinity:rr,ShowLightbulbIconMode:nc,TextDirection:mc,ConfigurationChangedEvent:re,BareFontInfo:gi,FontInfo:Li,TextModelResolvedOptions:Cl,FindMatch:lo,ApplyUpdateResult:jl,EditorZoom:Xn,createMultiFileDiffEditor:aC,EditorType:Ti,EditorOptions:ft}}function PC(e,t){if(!t||!Array.isArray(t))return!1;for(let n of t)if(!e(n))return!1;return!0}function FC(e,t){return typeof e==`boolean`?e:t}function IC(e,t){return typeof e==`string`?e:t}function LC(e){let t={};for(let n of e)t[n]=!0;return t}function RC(e,t=!1){t&&(e=e.map(function(e){return e.toLowerCase()}));let n=LC(e);return t?function(e){return n[e.toLowerCase()]!==void 0&&n.hasOwnProperty(e.toLowerCase())}:function(e){return n[e]!==void 0&&n.hasOwnProperty(e)}}function zC(e,t,n){t=t.replace(/@@/g,``);let r=0,i;do i=!1,t=t.replace(/@(\w+)/g,function(n,r){i=!0;let a=``;if(typeof e[r]==`string`)a=e[r];else if(e[r]&&e[r]instanceof RegExp)a=e[r].source;else if(e[r]===void 0)throw Y(e,`language definition does not contain attribute '`+r+`', used at: `+t);else throw Y(e,`attribute reference '`+r+`' must be a string, used at: `+t);return Gl(a)?``:`(?:`+a+`)`}),r++;while(i&&r<5);t=t.replace(/\x01/g,`@`);let a=(e.ignoreCase?`i`:``)+(e.unicode?`u`:``);if(n&&t.match(/\$[sS](\d\d?)/g)){let n=null,r=null;return i=>r&&n===i?r:(n=i,r=new RegExp(Xl(e,t,i),a),r)}return new RegExp(t,a)}function BC(e,t,n,r){if(r<0)return e;if(r<t.length)return t[r];if(r>=100){r-=100;let e=n.split(`.`);if(e.unshift(n),r<e.length)return e[r]}return null}function VC(e,t,n,r){let i=-1,a=n,o=n.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);o&&(o[3]&&(i=parseInt(o[3]),o[2]&&(i+=100)),a=o[4]);let s=`~`,c=a;!a||a.length===0?(s=`!=`,c=``):/^\w*$/.test(c)?s=`==`:(o=a.match(/^(@|!@|~|!~|==|!=)(.*)$/),o&&(s=o[1],c=o[2]));let l;if((s===`~`||s===`!~`)&&/^(\w|\|)*$/.test(c)){let t=RC(c.split(`|`),e.ignoreCase);l=function(e){return s===`~`?t(e):!t(e)}}else if(s===`@`||s===`!@`){let n=e[c];if(!n)throw Y(e,`the @ match target '`+c+`' is not defined, in rule: `+t);if(!PC(function(e){return typeof e==`string`},n))throw Y(e,`the @ match target '`+c+`' must be an array of strings, in rule: `+t);let r=RC(n,e.ignoreCase);l=function(e){return s===`@`?r(e):!r(e)}}else if(s===`~`||s===`!~`)if(c.indexOf(`$`)<0){let t=zC(e,`^`+c+`$`,!1);l=function(e){return s===`~`?t.test(e):!t.test(e)}}else l=function(t,n,r,i){return zC(e,`^`+Yl(e,c,n,r,i)+`$`,!1).test(t)};else if(c.indexOf(`$`)<0){let t=Kl(e,c);l=function(e){return s===`==`?e===t:e!==t}}else{let t=Kl(e,c);l=function(n,r,i,a,o){let c=Yl(e,t,r,i,a);return s===`==`?n===c:n!==c}}return i===-1?{name:n,value:r,test:function(e,t,n,r){return l(e,e,t,n,r)}}:{name:n,value:r,test:function(e,t,n,r){let a=BC(e,t,n,i);return l(a||``,e,t,n,r)}}}function HC(e,t,n){if(!n)return{token:``};if(typeof n==`string`)return n;if(n.token||n.token===``){if(typeof n.token!=`string`)throw Y(e,`a 'token' attribute must be of type string, in rule: `+t);{let r={token:n.token};if(n.token.indexOf(`$`)>=0&&(r.tokenSubst=!0),typeof n.bracket==`string`)if(n.bracket===`@open`)r.bracket=1;else if(n.bracket===`@close`)r.bracket=-1;else throw Y(e,`a 'bracket' attribute must be either '@open' or '@close', in rule: `+t);if(n.next){if(typeof n.next!=`string`)throw Y(e,`the next state must be a string value in rule: `+t);{let i=n.next;if(!/^(@pop|@push|@popall)$/.test(i)&&(i[0]===`@`&&(i=i.substr(1)),i.indexOf(`$`)<0&&!Ql(e,Yl(e,i,``,[],``))))throw Y(e,`the next state '`+n.next+`' is not defined in rule: `+t);r.next=i}}return typeof n.goBack==`number`&&(r.goBack=n.goBack),typeof n.switchTo==`string`&&(r.switchTo=n.switchTo),typeof n.log==`string`&&(r.log=n.log),typeof n.nextEmbedded==`string`&&(r.nextEmbedded=n.nextEmbedded,e.usesEmbedded=!0),r}}else if(Array.isArray(n)){let r=[];for(let i=0,a=n.length;i<a;i++)r[i]=HC(e,t,n[i]);return{group:r}}else if(n.cases){let r=[],i=!1;for(let a in n.cases)if(n.cases.hasOwnProperty(a)){let o=HC(e,t,n.cases[a]);a===`@default`||a===`@`||a===``?r.push({test:void 0,value:o,name:a}):a===`@eos`?r.push({test:function(e,t,n,r){return r},value:o,name:a}):r.push(VC(e,t,a,o)),i||=!Bt(o)&&(o.hasEmbeddedEndInCases||[`@pop`,`@popall`].includes(o.nextEmbedded||``))}let a=e.defaultToken;return{hasEmbeddedEndInCases:i,test:function(e,t,n,i){for(let a of r)if(!a.test||a.test(e,t,n,i))return a.value;return a}}}else throw Y(e,`an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: `+t)}var UC=class{constructor(e){this.regex=RegExp(``),this.action={token:``},this.matchOnlyAtLineStart=!1,this.name=``,this.name=e}setRegex(e,t){let n;if(typeof t==`string`)n=t;else if(t instanceof RegExp)n=t.source;else throw Y(e,`rules must start with a match string or regular expression: `+this.name);this.matchOnlyAtLineStart=n.length>0&&n[0]===`^`,this.name=this.name+`: `+n,this.regex=zC(e,`^(?:`+(this.matchOnlyAtLineStart?n.substr(1):n)+`)`,!0)}setAction(e,t){this.action=HC(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}};function WC(e,t){if(!t||typeof t!=`object`)throw Error(`Monarch: expecting a language definition object`);let n={languageId:e,includeLF:FC(t.includeLF,!1),noThrow:!1,maxStack:100,start:typeof t.start==`string`?t.start:null,ignoreCase:FC(t.ignoreCase,!1),unicode:FC(t.unicode,!1),tokenPostfix:IC(t.tokenPostfix,`.`+e),defaultToken:IC(t.defaultToken,`source`),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},r=t;r.languageId=e,r.includeLF=n.includeLF,r.ignoreCase=n.ignoreCase,r.unicode=n.unicode,r.noThrow=n.noThrow,r.usesEmbedded=n.usesEmbedded,r.stateNames=t.tokenizer,r.defaultToken=n.defaultToken;function i(e,a,o){for(let s of o){let o=s.include;if(o){if(typeof o!=`string`)throw Y(n,`an 'include' attribute must be a string at: `+e);if(o[0]===`@`&&(o=o.substr(1)),!t.tokenizer[o])throw Y(n,`include target '`+o+`' is not defined at: `+e);i(e+`.`+o,a,t.tokenizer[o])}else{let t=new UC(e);if(Array.isArray(s)&&s.length>=1&&s.length<=3)if(t.setRegex(r,s[0]),s.length>=3)if(typeof s[1]==`string`)t.setAction(r,{token:s[1],next:s[2]});else if(typeof s[1]==`object`){let e=s[1];e.next=s[2],t.setAction(r,e)}else throw Y(n,`a next state as the last element of a rule can only be given if the action is either an object or a string, at: `+e);else t.setAction(r,s[1]);else{if(!s.regex)throw Y(n,`a rule must either be an array, or an object with a 'regex' or 'include' field at: `+e);s.name&&typeof s.name==`string`&&(t.name=s.name),s.matchOnlyAtStart&&(t.matchOnlyAtLineStart=FC(s.matchOnlyAtLineStart,!1)),t.setRegex(r,s.regex),t.setAction(r,s.action)}a.push(t)}}}if(!t.tokenizer||typeof t.tokenizer!=`object`)throw Y(n,`a language definition must define the 'tokenizer' attribute as an object`);n.tokenizer=[];for(let e in t.tokenizer)if(t.tokenizer.hasOwnProperty(e)){n.start||=e;let r=t.tokenizer[e];n.tokenizer[e]=[],i(`tokenizer.`+e,n.tokenizer[e],r)}if(n.usesEmbedded=r.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw Y(n,`the 'brackets' attribute must be defined as an array`)}else t.brackets=[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}];let a=[];for(let e of t.brackets){let t=e;if(t&&Array.isArray(t)&&t.length===3&&(t={token:t[2],open:t[0],close:t[1]}),t.open===t.close)throw Y(n,`open and close brackets in a 'brackets' attribute must be different: `+t.open+`
|
|
423
|
+
hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof t.open==`string`&&typeof t.token==`string`&&typeof t.close==`string`)a.push({token:t.token+n.tokenPostfix,open:Kl(n,t.open),close:Kl(n,t.close)});else throw Y(n,`every element in the 'brackets' array must be a '{open,close,token}' object or array`)}return n.brackets=a,n.noThrow=!0,n}function GC(e){ze.registerLanguage(e)}function KC(){let e=[];return e=e.concat(ze.getLanguages()),e}function qC(e){return Q.get(Xe).languageIdCodec.encodeLanguageId(e)}function JC(e,t){return Q.withServices(()=>{let n=Q.get(Xe).onDidRequestRichLanguageFeatures(r=>{r===e&&(n.dispose(),t())});return n})}function YC(e,t){return Q.withServices(()=>{let n=Q.get(Xe).onDidRequestBasicLanguageFeatures(r=>{r===e&&(n.dispose(),t())});return n})}function XC(e,t){if(!Q.get(Xe).isRegisteredLanguageId(e))throw Error(`Cannot set configuration for unknown language ${e}`);return Q.get(Pr).register(e,t,100)}var ZC=class{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,n){if(typeof this._actual.tokenize==`function`)return QC.adaptTokenize(this._languageId,this._actual,e,n);throw Error(`Not supported!`)}tokenizeEncoded(e,t,n){let r=this._actual.tokenizeEncoded(e,n);return new vo(r.tokens,[],r.endState)}},QC=class e{constructor(e,t,n,r){this._languageId=e,this._actual=t,this._languageService=n,this._standaloneThemeService=r}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){let n=[],r=0;for(let i=0,a=e.length;i<a;i++){let a=e[i],o=a.startIndex;i===0?o=0:o<r&&(o=r),n[i]=new cl(o,a.scopes,t),r=o}return n}static adaptTokenize(t,n,r,i){let a=n.tokenize(r,i),o=e._toClassicTokens(a.tokens,t),s;return s=a.endState.equals(i)?i:a.endState,new pe(o,s)}tokenize(t,n,r){return e.adaptTokenize(this._languageId,this._actual,t,r)}_toBinaryTokens(e,t){let n=e.encodeLanguageId(this._languageId),r=this._standaloneThemeService.getColorTheme().tokenTheme,i=[],a=0,o=0;for(let e=0,s=t.length;e<s;e++){let s=t[e],c=r.match(n,s.scopes)|1024;if(a>0&&i[a-1]===c)continue;let l=s.startIndex;e===0?l=0:l<o&&(l=o),i[a++]=l,i[a++]=c,o=l}let s=new Uint32Array(a);for(let e=0;e<a;e++)s[e]=i[e];return s}tokenizeEncoded(e,t,n){let r=this._actual.tokenize(e,n),i=this._toBinaryTokens(this._languageService.languageIdCodec,r.tokens),a;return a=r.endState.equals(n)?n:r.endState,new vo(i,[],a)}};function $C(e){return typeof e.getInitialState==`function`}function ew(e){return`tokenizeEncoded`in e}function tw(e){return e&&typeof e.then==`function`}function nw(e){let t=Q.get(e_);if(e){let n=[null];for(let t=1,r=e.length;t<r;t++)n[t]=Ha.fromHex(e[t]);t.setColorMapOverride(n)}else t.setColorMapOverride(null)}function rw(e,t){return ew(t)?new ZC(e,t):new QC(e,t,Q.get(Xe),Q.get(e_))}function iw(e,t){let n=new Ki(async()=>{let n=await Promise.resolve(t.create());return n?$C(n)?rw(e,n):new uu(Q.get(Xe),Q.get(e_),e,WC(e,n),Q.get(C)):null});return vr.registerFactory(e,n)}function aw(e,t){if(!Q.get(Xe).isRegisteredLanguageId(e))throw Error(`Cannot set tokens provider for unknown language ${e}`);return tw(t)?iw(e,{create:()=>t}):vr.register(e,rw(e,t))}function ow(e,t){return tw(t)?iw(e,{create:()=>t}):vr.register(e,(t=>new uu(Q.get(Xe),Q.get(e_),e,WC(e,t),Q.get(C)))(t))}function sw(e,t){return Q.get(O).referenceProvider.register(e,t)}function cw(e,t){return Q.get(O).renameProvider.register(e,t)}function lw(e,t){return Q.get(O).newSymbolNamesProvider.register(e,t)}function uw(e,t){return Q.get(O).signatureHelpProvider.register(e,t)}function dw(e,t){return Q.get(O).hoverProvider.register(e,{provideHover:async(e,n,r,i)=>{let a=e.getWordAtPosition(n);return Promise.resolve(t.provideHover(e,n,r,i)).then(e=>{if(e)return!e.range&&a&&(e.range=new S(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn)),e.range||=new S(n.lineNumber,n.column,n.lineNumber,n.column),e})}})}function fw(e,t){return Q.get(O).documentSymbolProvider.register(e,t)}function pw(e,t){return Q.get(O).documentHighlightProvider.register(e,t)}function mw(e,t){return Q.get(O).linkedEditingRangeProvider.register(e,t)}function hw(e,t){return Q.get(O).definitionProvider.register(e,t)}function gw(e,t){return Q.get(O).implementationProvider.register(e,t)}function _w(e,t){return Q.get(O).typeDefinitionProvider.register(e,t)}function vw(e,t){return Q.get(O).codeLensProvider.register(e,t)}function yw(e,t,n){return Q.get(O).codeActionProvider.register(e,{providedCodeActionKinds:n?.providedCodeActionKinds,documentation:n?.documentation,provideCodeActions:(e,n,r,i)=>{let a=Q.get(ng).read({resource:e.uri}).filter(e=>S.areIntersectingOrTouching(e,n));return t.provideCodeActions(e,n,{markers:a,only:r.only,trigger:r.trigger},i)},resolveCodeAction:t.resolveCodeAction})}function bw(e,t){return Q.get(O).documentFormattingEditProvider.register(e,t)}function xw(e,t){return Q.get(O).documentRangeFormattingEditProvider.register(e,t)}function Sw(e,t){return Q.get(O).onTypeFormattingEditProvider.register(e,t)}function Cw(e,t){return Q.get(O).linkProvider.register(e,t)}function ww(e,t){return Q.get(O).completionProvider.register(e,t)}function Tw(e,t){return Q.get(O).colorProvider.register(e,t)}function Ew(e,t){return Q.get(O).foldingRangeProvider.register(e,t)}function Dw(e,t){return Q.get(O).declarationProvider.register(e,t)}function Ow(e,t){return Q.get(O).selectionRangeProvider.register(e,t)}function kw(e,t){return Q.get(O).documentSemanticTokensProvider.register(e,t)}function Aw(e,t){return Q.get(O).documentRangeSemanticTokensProvider.register(e,t)}function jw(e,t){return Q.get(O).inlineCompletionsProvider.register(e,t)}function Mw(e,t){return Q.get(O).inlayHintsProvider.register(e,t)}function Nw(){return{register:GC,getLanguages:KC,onLanguage:JC,onLanguageEncountered:YC,getEncodedLanguageId:qC,setLanguageConfiguration:XC,setColorMap:nw,registerTokensProviderFactory:iw,setTokensProvider:aw,setMonarchTokensProvider:ow,registerReferenceProvider:sw,registerRenameProvider:cw,registerNewSymbolNameProvider:lw,registerCompletionItemProvider:ww,registerSignatureHelpProvider:uw,registerHoverProvider:dw,registerDocumentSymbolProvider:fw,registerDocumentHighlightProvider:pw,registerLinkedEditingRangeProvider:mw,registerDefinitionProvider:hw,registerImplementationProvider:gw,registerTypeDefinitionProvider:_w,registerCodeLensProvider:vw,registerCodeActionProvider:yw,registerDocumentFormattingEditProvider:bw,registerDocumentRangeFormattingEditProvider:xw,registerOnTypeFormattingEditProvider:Sw,registerLinkProvider:Cw,registerColorProvider:Tw,registerFoldingRangeProvider:Ew,registerDeclarationProvider:Dw,registerSelectionRangeProvider:Ow,registerDocumentSemanticTokensProvider:kw,registerDocumentRangeSemanticTokensProvider:Aw,registerInlineCompletionsProvider:jw,registerInlayHintsProvider:Mw,DocumentHighlightKind:Ko,CompletionItemKind:Rr,CompletionItemTag:Ue,CompletionItemInsertTextRule:ol,SymbolKind:ta,SymbolTag:js,IndentAction:hr,CompletionTriggerKind:Ne,SignatureHelpTriggerKind:Oo,InlayHintKind:ue,InlineCompletionTriggerKind:qr,CodeActionTriggerType:xe,NewSymbolNameTag:tc,NewSymbolNameTriggerKind:Ft,PartialAcceptTriggerKind:Wi,HoverVerbosityAction:tn,InlineCompletionEndOfLifeReasonKind:ri,InlineCompletionHintStyle:vt,FoldingRangeKind:io,SelectedSuggestionInfo:vl,EditDeltaInfo:Qa}}ft.wrappingIndent.defaultValue=0,ft.glyphMargin.defaultValue=!1,ft.autoIndent.defaultValue=3,ft.overviewRulerLanes.defaultValue=2,Sc.setFormatterSelector((e,t,n)=>Promise.resolve(e[0]));var Pw=gl();Pw.editor=NC(),Pw.languages=Nw();var Fw=Pw.CancellationTokenSource,Iw=Pw.Emitter,Lw=Pw.KeyCode,Rw=Pw.KeyMod,zw=Pw.Position,Bw=Pw.Range,Vw=Pw.Selection,Hw=Pw.SelectionDirection,Uw=Pw.MarkerSeverity,Ww=Pw.MarkerTag,Gw=Pw.Uri,Kw=Pw.Token,qw=Pw.editor,Jw=Pw.languages,Yw=Zs(),Xw=globalThis;(Yw?.globalAPI||typeof Xw.define==`function`&&Xw.define.amd)&&(Xw.monaco=Pw),Xw.require!==void 0&&typeof Xw.require.config==`function`&&Xw.require.config({ignoreDuplicateModules:[`vscode-languageserver-types`,`vscode-languageserver-types/main`,`vscode-languageserver-textdocument`,`vscode-languageserver-textdocument/main`,`vscode-nls`,`vscode-nls/vscode-nls`,`jsonc-parser`,`jsonc-parser/main`,`vscode-uri`,`vscode-uri/index`,`vs/basic-languages/typescript/typescript`]});export{Fw as CancellationTokenSource,Iw as Emitter,Lw as KeyCode,Rw as KeyMod,Uw as MarkerSeverity,Ww as MarkerTag,zw as Position,Bw as Range,Vw as Selection,Hw as SelectionDirection,Kw as Token,Gw as Uri,qw as editor,Jw as languages};
|